Circuit personalization
First Claim
1. A method, comprising:
- associating a first personalization value with a first plurality of generic circuits;
associating a second personalization value with a second plurality of generic circuits, the first and second pluralities of generic circuits being respective subsets of a set of generic circuits;
initiating storage of respective secret decryption keys associated with the first plurality of generic circuits and the second plurality of generic circuits;
encrypting, using one or more configured processing devices, the first personalization value;
encrypting, using the one or more configured processing devices, the second personalization value;
initiating storage of the encrypted first personalization value in the first plurality of generic circuits; and
initiating storage of the encrypted second personalization value in the second plurality of generic circuits, wherein each of the first plurality of generic circuits and each of the second plurality of generic circuits is configured to;
retrieve an encrypted personalization value stored in the respective generic circuit;
decrypt the retrieved encrypted personalization value using a stored secret encryption key associated with the generic circuit; and
use the decrypted personalization value to control execution of software.
0 Assignments
0 Petitions
Accused Products
Abstract
A method distributes personalized circuits to one or more parties. The method distributes a generic circuit to each party, encrypts a unique personalization value using a secret encryption key, and transmits each encrypted personalization value to the corresponding party. Each party then stores the encrypted personalization value in their circuit. The stored encrypted personalization value allows a piece of software to be properly executed by the circuit. A semiconductor integrated circuit is arranged to execute a piece of software that inputs a personalization value as an input parameter. The circuit comprises a personalization memory arranged to store an encrypted personalization value; a key memory for storing a decryption key; a control unit comprising a cryptographic circuit arranged to decrypt the encrypted personalization value using the decryption key; and a processor arranged to receive the decrypted personalization value and execute the software using the decrypted personalization value.
-
Citations
29 Claims
-
1. A method, comprising:
-
associating a first personalization value with a first plurality of generic circuits; associating a second personalization value with a second plurality of generic circuits, the first and second pluralities of generic circuits being respective subsets of a set of generic circuits; initiating storage of respective secret decryption keys associated with the first plurality of generic circuits and the second plurality of generic circuits; encrypting, using one or more configured processing devices, the first personalization value; encrypting, using the one or more configured processing devices, the second personalization value; initiating storage of the encrypted first personalization value in the first plurality of generic circuits; and initiating storage of the encrypted second personalization value in the second plurality of generic circuits, wherein each of the first plurality of generic circuits and each of the second plurality of generic circuits is configured to; retrieve an encrypted personalization value stored in the respective generic circuit; decrypt the retrieved encrypted personalization value using a stored secret encryption key associated with the generic circuit; and use the decrypted personalization value to control execution of software. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
receiving a first plurality of generic circuits; transmitting a first personalization value associated with the first plurality of generic circuits; receiving the first personalization value in an encrypted form; storing the received encrypted first personalization value in the first plurality of generic circuits, wherein each of the first plurality of generic circuits is configured to control execution of a piece of software by retrieving and decrypting the stored encrypted first personalization value, the decrypting the stored encrypted first personalization value including using a secret decryption key common to each of the first plurality of generic circuits; receiving a second plurality of generic circuits; transmitting a second personalization value associated with the second plurality of generic circuits; receiving the second personalization value in an encrypted form; and storing the received encrypted second personalization value in the second plurality of generic circuits, wherein each of the second plurality of generic circuits is configured to control execution of a second piece of software by retrieving and decrypting the stored encrypted second personalization value using a secret key common to the second plurality of generic circuits, the first and second pluralities of generic circuits being respective subsets of a set of generic circuits. - View Dependent Claims (9, 10, 11, 12)
-
-
13. An integrated circuit, comprising:
-
a personalization memory; a key memory configured to store a decryption key common to a first plurality of generic integrated circuits; a personalization controller configured to; control storage of a received encrypted version of a software personalization value, the personalization value being common to the first plurality of generic integrated circuits, in the personalization memory; and decrypt the stored encrypted version of the personalization value using the decryption key stored in the key memory; and a processor configured to control execution of software based on the decrypted software personalization value received from the personalization controller, wherein the integrated circuit is one of the first plurality of generic circuits, the first plurality of generic circuits is one of multiple pluralities of generic circuits each associated with respective decryption keys and personalization values, and each of the multiple pluralities of generic circuits is a respective subset of a set of generic circuits. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A system, comprising:
-
a system memory; a processor configured to execute software; a personalization memory; a key memory; and a personalization controller configured to; control storage of a received encrypted version of a software personalization value in the personalization memory; and decrypt the stored encrypted version of the personalization value using a decryption key stored in the key memory, wherein the processor is configured to control execution of software stored in the system memory based on the decrypted software personalization value, the decryption key and the personalization value are common to a first plurality of generic circuits, the first plurality of generic circuits being one of multiple pluralities of generic circuits each associated with respective decryption keys and personalization values, and each of the multiple pluralities of generic circuits being a respective subset of a set of generic circuits. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification