Secure software and hardware association technique
First Claim
1. A method for authenticating and associating a program code with an equipment, the method comprising:
- associating critical security information with an original equipment manufacturer (OEM) of the equipment by encrypting the critical security information using a unique secret value, the unique secret value identifying the OEM of the equipment associated with the critical security information, the critical security information programmed in a memory during equipment manufacturing, the critical security information including a device authentication key, a redundant device authentication key, a chip encryption key, and one or more image authentication keys;
loading critical security information associated with the OEM of the equipment from the memory at an initial startup time;
retrieving the chip encryption key and the one or more image authentication keys stored in the critical security information associated with the OEM of the equipment in the memory by decrypting the critical security information using the unique secret value;
authenticating the program code using the chip encryption key and the one or more image authentication keys; and
transferring ownership of the equipment to a new owner by updating at least one of the device authentication key of the critical security information and the redundant device authentication key of the critical security information with at least one public key of the new owner.
6 Assignments
0 Petitions
Accused Products
Abstract
Authenticated hardware and authenticated software are cryptographically associated using symmetric and asymmetric cryptography. Cryptographically binding the hardware and software ensures that original equipment manufacturer (OEM) hardware will only run OEM software. Cryptographically binding the hardware and software protects the OEM binary code so it will only run on the OEM hardware and cannot be replicated or altered to operate on unauthorized hardware. In one embodiment, critical security information associated with the equipment is loaded from a memory at startup time. The critical security information is stored in the memory, in encrypted form, using a unique secret value. The secret value is used to retrieve a chip encryption key and one or more image authentication keys that can be used to associate program code with an original equipment manufacturer. These keys are used to authenticate the program code.
-
Citations
40 Claims
-
1. A method for authenticating and associating a program code with an equipment, the method comprising:
-
associating critical security information with an original equipment manufacturer (OEM) of the equipment by encrypting the critical security information using a unique secret value, the unique secret value identifying the OEM of the equipment associated with the critical security information, the critical security information programmed in a memory during equipment manufacturing, the critical security information including a device authentication key, a redundant device authentication key, a chip encryption key, and one or more image authentication keys; loading critical security information associated with the OEM of the equipment from the memory at an initial startup time; retrieving the chip encryption key and the one or more image authentication keys stored in the critical security information associated with the OEM of the equipment in the memory by decrypting the critical security information using the unique secret value; authenticating the program code using the chip encryption key and the one or more image authentication keys; and transferring ownership of the equipment to a new owner by updating at least one of the device authentication key of the critical security information and the redundant device authentication key of the critical security information with at least one public key of the new owner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for authenticating and associating a program code with an equipment, the method comprising:
-
associating critical security information with an original equipment manufacturer (OEM) of the equipment by encrypting the critical security information using a unique secret value, the unique secret value identifying the OEM of the equipment associated with the critical security information, the critical security information programmed in a memory during equipment manufacturing, the critical security information including a chip encryption key and one or more image authentication keys; loading the critical security information associated with the OEM of the equipment from the memory at an initial startup time; retrieving the chip encryption key and the one or more image authentication keys stored in the critical security information associated with the OEM of the equipment in the memory by decrypting the critical security information using the unique secret value; authenticating the program code using the chip encryption key and the one or more image authentication keys; and assigning the one or more image authentication keys to corresponding vendors to allow running of program code associated with other vendors under limited trusted ownership.
-
-
21. A system for authenticating and associating a program code with an equipment, the system comprising:
-
a memory; an associater that associates critical security information with an original equipment manufacturer (OEM) of the equipment by encrypting the critical security information using a unique secret value, the unique secret value identifying the OEM of the equipment associated with the critical security information, the critical security information programmed in the memory during equipment manufacturing, the critical security information including a device authentication key, a redundant device authentication key, a chip encryption key, and one or more image authentication keys; a loader that loads the critical security information associated with the OEM of the equipment from the memory at an initial a startup time; a retriever that retrieves the chip encryption key and the one or more image authentication keys stored in the critical security information associated with the OEM of the equipment in the memory by decrypting the critical security information using the unique secret value; and an authenticator that authenticates the program code using the chip encryption key and the one or more image authentication keys; and a transferor that transfers ownership of the equipment to a new owner by updating at least one of the device authentication key of the critical security information and the redundant device authentication key of the critical security information with public keys of the new owner. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A system for authenticating and associating a program code with an equipment, the system comprising:
-
a memory; an associater that associates critical security information with an original equipment manufacturer (OEM) of the equipment by encrypting the critical security information using a unique secret value, the unique secret value identifying the OEM of the equipment associated with the critical security information, the critical security information programmed in the memory during equipment manufacturing, the critical security information including a chip encryption key and one or more image authentication keys; a loader that loads the critical security information associated with the OEM of the equipment from the memory at an initial a startup time; a retriever that retrieves the chip encryption key and the one or more image authentication keys stored in the critical security information associated with the OEM of the equipment in the memory by decrypting the critical security information using the unique secret value; and an authenticator that authenticates the program code using the chip encryption key and the one or more image authentication keys; and an assigner that assigns the one or more image authentication keys to corresponding vendors to allow running of program code associated with other vendors under limited trusted ownership.
-
Specification