Associating software with hardware using cryptography
First Claim
1. A method of validating software for hardware, comprising:
- authenticating a certificate with a first public key;
obtaining a signature generated for the software, a first identifier for the software, and a second identifier for the hardware, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware; and
validating the signature with a second public key from the certificate, wherein the association of the software with the hardware is validated if the signature is validated.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for associating software with hardware using cryptography are described. The software is identified by a software identifier (ID), and the hardware is identified by a hardware ID. The software is hashed to obtain a code digest. A code signature is generated for the code digest, software ID, and hardware ID. A code image is formed with the software, software ID, code signature, and a certificate. The certificate contains cryptographic information used to authenticate the certificate and validate the code signature. The code image is loaded onto a device. The device validates the software to hardware association prior to executing the software. For the validation, the device authenticates the certificate with a certificate authority public key embedded within the device. The device also validates the code signature using the cryptographic information contained in the certificate, information in the code image, and the hardware ID embedded within the device.
-
Citations
35 Claims
-
1. A method of validating software for hardware, comprising:
-
authenticating a certificate with a first public key;
obtaining a signature generated for the software, a first identifier for the software, and a second identifier for the hardware, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware; and
validating the signature with a second public key from the certificate, wherein the association of the software with the hardware is validated if the signature is validated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus operable to validate software for hardware, comprising:
-
a first storage unit configured to store a first public key; and
a processor operative to authenticate a certificate with the first public key, obtain a signature generated for the software, a first identifier for the software, and a second identifier for the hardware, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware, and validate the signature with a second public key from the certificate, wherein the association of the software with the hardware is validated if the signature is validated. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An apparatus operable to validate software for hardware, comprising:
-
means for authenticating a certificate with a first public key;
means for obtaining a signature generated for the software, a first identifier for the software, and a second identifier for the hardware, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware; and
means for validating the signature with a second public key from the certificate, wherein the association of the software with the hardware is validated if the signature is validated. - View Dependent Claims (15)
-
-
16. A method of associating software with hardware, comprising:
-
obtaining a first identifier for the software;
obtaining a second identifier for the hardware; and
generating a first signature for the software, the first identifier, and the second identifier using cryptography, wherein the first signature is used to validate an association of the software with the hardware. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. An apparatus operable to associate software with hardware, comprising:
-
a communication unit operative to obtain, from a code generator entity, information for a software code, a first identifier for the software, and a second identifier for the hardware; and
a controller operative to generate a signature for the software, the first identifier, and the second identifier using cryptography, wherein the signature is used to validate an association of the software with the hardware. - View Dependent Claims (24, 25, 26)
-
-
27. An apparatus operable to associate software with hardware, comprising:
-
means for obtaining a first identifier for the software;
means for obtaining a second identifier for the hardware; and
means for generating a first signature for the software, the first identifier, and the second identifier using cryptography, wherein the first signature is used to validate an association of the software with the hardware. - View Dependent Claims (28)
-
-
29. A method of associating software with hardware, comprising:
-
providing information for the software;
providing a first identifier for the software;
providing a second identifier for the hardware;
receiving a signature generated for the software, the first identifier, and the second identifier, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware;
receiving a certificate containing cryptographic information used to validate the signature; and
forming an image comprised of the software, the signature, and the certificate. - View Dependent Claims (30, 31)
-
-
32. An apparatus operable to associate software with hardware, comprising:
-
a communication unit operative to provide information for the software, a first identifier for the software, and a second identifier for the hardware, receive a signature generated for the software, the first identifier, and the second identifier, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware, and receive a certificate containing cryptographic information used to validate the signature; and
a controller operative to form an image comprised of the software, the signature, and the certificate. - View Dependent Claims (33)
-
-
34. An apparatus operable to associate software with hardware, comprising:
-
means for providing information for the software;
means for providing a first identifier for the software;
means for providing a second identifier for the hardware;
means for receiving a signature generated for the software, the first identifier, and the second identifier, wherein the signature is generated using cryptography and is used to validate an association of the software with the hardware;
means for receiving a certificate containing cryptographic information used to validate the signature; and
means for forming an image comprised of the software, the signature, and the certificate. - View Dependent Claims (35)
-
Specification