摘要 |
A processing unit (300) includes a read-only encryption key (394). Loader co de image (250) is loaded into system memory (205) from non-volatile storage (270). Loader code image (250) includes a prefix value (225) and a suffix value (235). The prefix value (225) is combined with the master key (394) fr om the processing unit (300) to create a random value that is the seed for a hashing algorithm. The hashing algorithm uses the seed value with a signatur e formed from the blocks of code to form a result. During the hashing algorith m, intermediate key values are generated and stored in a memory area inaccessib le by the user. The intermediate key values are used by the loader code after t he loader has been authenticated and loaded. The loader combines one or more of the intermediate key values with prefix and suffix values that correspond to other software modules to authenticate the software, using a hashing algorithm, and load the software upon authentication.
|