US 7,571,329 B2
Method of storing unique constant values
Ernie F. Brickell, Portland, Oreg. (US); Alberto J. Martinez, El Dorado Hills, Calif. (US); David W. Grawrock, Aloha, Oreg. (US); James A. Sutton, II, Portland, Oreg. (US); and Clifford D. Hall, Orangevale, Calif. (US)
Assigned to Intel Corporation, Santa Clara, Calif. (US)
Filed on Jul. 14, 2004, as Appl. No. 10/891,699.
Prior Publication US 2006/0015751 A1, Jan. 19, 2006
Int. Cl. G06F 12/14 (2006.01); G06F 11/30 (2006.01)
U.S. Cl. 713—193  [713/167] 21 Claims
OG exemplary drawing
 
1. A method comprising:
obtaining a unique value associated with a device of a processing system, via the unique value the device is identifiable; and
securely storing the unique value in the processing system without exposing outside the device a unique identifier of the device, wherein securely storing the unique value comprises
generating an encryption key based at least in part on a secret value securely stored in the device;
generating an initialization vector having a plurality of pseudo-randomly or randomly generated bits;
encrypting the unique value associated with the device using both the encryption key and the initialization vector as inputs to form an encrypted data structure;
storing the encrypted data structure in a memory of the processing system that is external to the device; and
periodically replacing the encrypted data structure with a modified encrypted data structure formed from encrypting the unique value using both the encryption key and a new initialization vector having a plurality of pseudo-randomly or randomly generated bits, wherein
periodically replacing the encrypted data structure occurs every N accesses of the unique value by the device, where N is a positive integer.