Techniques are described for using unique features of a storage medium for
authentication of data as originating from the storage medium, and also
for installing software and data to a storage medium in a way which
inhibits unauthorized copying of the software and data to another storage
medium. Cryptoprocessing keys are created using unique features of the
storage medium such as location information related to storage of
selected elements of a software installation on the storage medium, or
alternatively defective block information relating to the storage medium.
The cryptoprocessing keys are used to encrypt data for transmission to a
remote server. The remote server uses the cryptoprocessing keys to
decrypt the data and authenticates the data as having been encrypted with
the correct keys. In order to control operation of software on a storage
medium, location information unique to the storage medium is employed to
create links between software modules comprising the software. If the
software is copied to a different storage medium, the location
information used in the links will be incorrect and the links between the
modules will contain inaccurate information, preventing the software from
operating properly. Location information unique to a storage medium can
also be used to create cryptoprocessing keys for protection of data. If
data encrypted using the keys is copied to a new storage medium, the
location information in the new storage medium will not be the same as
was used to create the original keys and the data will not be able to be
decrypted at the new location.