Patent ID: 8010804

Claim:
A computer-implementable method for controlling access to program code, comprising: encrypting program code with a first key to generate encrypted program code; calculating the hash value of a digital certificate associated with a second key; binding the first key and the calculated hash value to generate a third key; encrypting the third key with a fourth key; embedding the encrypted third key in the program code to generate an encrypted program code image, the program code comprising the encrypted program code; signing the encrypted program code image with a fifth key to generate a signed and encrypted program code image; associating the digital certificate with the signed and encrypted program code image; verifying the digital certificate associated with the signed and encrypted program code image; verifying the signed and encrypted program code image with the verified digital certificate; decrypting the encrypted third key with a sixth key; calculating the hash value of the digital certificate; using the calculated hash value to extract the first key from the encrypted third key; and decrypting the encrypted program code with the extracted first key; and wherein the binding comprises performing a logical exclusive OR operation on the first key and the calculated hash value to generate the third key, the third key being a binding key; and, the using the calculated hash value to extract the first key from the encrypted third key comprises performing a logical exclusive OR operation on the calculated hash value and the encrypted third key; the first key comprises a private key; the second key comprises a public signature verification key of an asymmetrical public key pair; the fifth key comprises a private signature key of an asymmetrical public key pair; the asymmetrical public key pair is associated with an authorized user of the encrypted program code; the fourth key comprises a public signature verification key of an asymmetrical public key pair; the sixth key comprises a private signature key of an asymmetrical public key pair, and, the asymmetrical public key pair is associated with an application loader.