Patent ID: 8209542

Claim:
A method for authenticating software, the method comprising: retrieving an encrypted version of a cryptographic key from nonvolatile memory of a processing system to a processing unit of the processing system during a boot process; decrypting the cryptographic key in the processing unit; retrieving a predetermined authentication code for software of the processing system; using the cryptographic key to compute a current authentication code for the software before executing any instructions from the software; and determining whether the software should be trusted, based at least in part on a comparison of the predetermined authentication code with the current authentication code. wherein (a) decrypting the cryptographic key in the processing unit comprises using a key stored in nonvolatile storage in the processing unit to decrypt the encrypted version of the cryptographic key; and (b) retrieving the encrypted version of the cryptographic key from the nonvolatile memory comprises retrieving the encrypted version of the cryptographic key from a component other than a trusted platform module (TPM).