PROGRAMMING ON-CHIP NON-VOLATILE MEMORY IN A SECURE PROCESSOR USING A SEQUENCE NUMBER
First Claim
1. A device comprising:
- on-chip non-volatile (NV) memory including;
a secret seed random number;
on-chip writable memory including;
a stored sequence number;
a means for initializing a state variable to an initial value;
a means for computing a key as a function of the secret seed random number and the sequence number;
a means for incrementing the sequence number;
a means for storing the incremented sequence number;
a means for generating a random number as a function of a key and the state variable;
a means for incrementing the state variable.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved secure programming technique involves reducing the size of bits programmed in on-chip secret non-volatile memory, at the same time enabling the typical secure applications supported by secure devices. A technique for secure programming involves de-coupling chip manufacture from the later process of connecting to ticket servers to obtain tickets. A method according to the technique may involve sending a (manufacturing) server signed certificate from the device prior to any communication to receive tickets. A device according to the technique may include chip-internal non-volatile memory to store the certificate along with the private key, in the manufacturing process.
113 Citations
4 Claims
-
1. A device comprising:
-
on-chip non-volatile (NV) memory including; a secret seed random number; on-chip writable memory including; a stored sequence number; a means for initializing a state variable to an initial value; a means for computing a key as a function of the secret seed random number and the sequence number; a means for incrementing the sequence number; a means for storing the incremented sequence number; a means for generating a random number as a function of a key and the state variable; a means for incrementing the state variable.
-
-
2. The device of claim 15 further comprising a means for generating a random number using the key and incremented state variable.
-
3. The device of claim 15, wherein the function used for generating the key and for generating the random number is selected from the group consisting of cryptographically strong encryption, decryption, and hash functions.
-
4. A method comprising:
-
initializing a state variable to an initial value; computing a key as a function of a secret seed random number and a sequence number; incrementing the sequence number; generating a random number as a function of a key and the state variable; incrementing the state variable; generating a random number using the key and incremented state variable.
-
Specification