US5790663A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for software access to a microprocessor serial number
Assignee: GlobalFoundries Inc
•
Filing: 1996-03-28
•
Granted: 1998-08-04
•
Expires: 2016-03-28
Abstract
Abstract A method and apparatus for software to access a microprocessor serial number. Provision of the serial number allows the manufacturer better control over its product and also permits software vendors to register their products. The serial number is encrypted using a pair of encryption keys to prevent unauthorized changes. At least one of the encryption keys is itself encoded to prevent unauthorized access, while permitting software to access the serial number.
Inventors
- 👤 Sherman Lee
- 👤 James R. Macdonald
- 👤 Michael T. Wisor
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 22:24
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/70; G06F21/71; G06F21/73; G06F11/00; G06F11/006; G06F12/00; G06F12/14; G06F12/1408; G06F2207/00; G06F2207/72; G06F2207/7219; G06F2211/00; G06F2211/007
Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
140 words
A computer system comprising: a central processing unit, wherein said central processing unit comprises at least one register having a storage for a plurality of bytes, wherein said at least one register stores at least one encryption key and an unecrypted microprocessor serial number; a memory unit coupled to said central processing unit to store an encrypted microprocessor serial number; an encryption/decryption circuitry coupled to said at least one register and said memory unit, wherein said encryption/decryption circuitry provides an encryption to said unencryption microprocessor serial number using said at least one encryption key, and wherein said encryption/decryption circuitry further provides a decryption to said encryption microprocessor serial number using said at least one encryption key; and an interface circuitry coupled to said encryption/decryption circuitry and said memory unit to provide said encrypted microprocessor serial number to said memory unit.
Claim 2
Dependent Claim
140 words
A computer system comprising: a central processing unit, wherein said central processing unit comprises at least one register having a storage for a plurality of bytes, wherein said at least one register stores at least one encryption key and an unecrypted microprocessor serial number; a memory unit coupled to said central processing unit to store an encrypted microprocessor serial number; an encryption/decryption circuitry coupled to said at least one register and said memory unit, wherein said encryption/decryption circuitry provides an encryption to said unencryption microprocessor serial number using said at least one encryption key, and wherein said encryption/decryption circuitry further provides a decryption to said encryption microprocessor serial number using said at least one encryption key; and an interface circuitry coupled to said encryption/decryption circuitry and said memory unit to provide said encrypted microprocessor serial number to said memory unit.
Claim 3
Independent Claim
106 words
A method for writing a serial number for a microprocessor using encryption, said method comprising: storing a first key of at least one byte in a first storage location in said microprocessor; encrypting a plurality of bytes of said serial number stored in said first storage location using said first key, thereby providing an encrypted serial number; further storing a second key of at least one byte in said first storage location; and further encrypting said encrypted serial number along with said first key using said second key, thereby writing a double encrypted serial number along with an encrypted first key in said first storage location.
Claim 4
Independent Claim
106 words
A method for writing a serial number for a microprocessor using encryption, said method comprising: storing a first key of at least one byte in a first storage location in said microprocessor; encrypting a plurality of bytes of said serial number stored in said first storage location using said first key, thereby providing an encrypted serial number; further storing a second key of at least one byte in said first storage location; and further encrypting said encrypted serial number along with said first key using said second key, thereby writing a double encrypted serial number along with an encrypted first key in said first storage location.
Claim 5
Dependent Claim
34 words
The method as in claim 2, further comprising: further storing said double encrypted serial number and said encrypted first key with cyclical redundancy checksum bits in a second storage location coupled to said microprocessor.
Claim 6
Dependent Claim
17 words
The method according to claim 3 wherein said second storage location is a non-volatile random access memory.
Claim 7
Independent Claim
101 words
A method of reading an encrypted serial number for a microprocessor, said method comprising: (a) accessing a first key of at least one byte, wherein said first key being stored in a first storage location in said microprocessor; (b) extracting a second key of at least one byte by decrypting a plurality of bytes of said encrypted serial number using said first key, wherein said encrypted serial number being stored in said first storage location; and (c) further decrypting said plurality of bytes of said encrypted serial number using said second key, thereby providing a decrypted serial number for said microprocessor.
Claim 8
Independent Claim
101 words
A method of reading an encrypted serial number for a microprocessor, said method comprising: (a) accessing a first key of at least one byte, wherein said first key being stored in a first storage location in said microprocessor; (b) extracting a second key of at least one byte by decrypting a plurality of bytes of said encrypted serial number using said first key, wherein said encrypted serial number being stored in said first storage location; and (c) further decrypting said plurality of bytes of said encrypted serial number using said second key, thereby providing a decrypted serial number for said microprocessor.
Claim 9
Dependent Claim
18 words
The method as in claim 5, further includes storing said decrypted serial number in said first storage location.
Claim 10
Dependent Claim
42 words
The method as recited in claim 5, wherein step (a) includes storing said first key in said first storage location by decoding an encoded key value via a Decode-Key application programming interface, wherein said encoded key value being stored in said microprocessor.
Claim 11
Dependent Claim
51 words
The method according to claim 5, wherein step(b) further includes: receiving a cyclical redundancy checksum bits encoded serial number from a second storage location coupled to said microprocessor; decoding said cyclical redundancy checksum bits, thereby providing said encrypted serial number; and storing said encrypted serial number in said first storage location.
Claim 12
Dependent Claim
17 words
The method as in claim 8, wherein said second storage location is a non-volatile random access memory.
Claim 13
Independent Claim
190 words
A method of preparing a microprocessor for reprogramming a serial number, said method comprising: storing a first key of at least one byte in a first storage location in said microprocessor; encrypting a plurality of bytes of a first serial number stored in said first storage location using said first key, thereby providing a first encrypted serial number; further storing a second key of at least one byte in said first storage location; further encrypting said first encrypted serial number along with said first key using said second key, thereby providing a first double encrypted serial number along with an encrypted first key in said first storage location; receiving a cyclical redundancy checksum bits encoded serial number from a second storage location coupled to said microprocessor; decoding said cyclical redundancy checksum bits, thereby providing a second double encrypted serial number and an encrypted third key; comparing said second double encrypted serial number and said encrypted third key with said first double encrypted serial number and said encrypted first key in a comparator in said microprocessor; and allowing said microprocessor for reprogramming said serial number when said comparator produces a match.
Claim 14
Independent Claim
190 words
A method of preparing a microprocessor for reprogramming a serial number, said method comprising: storing a first key of at least one byte in a first storage location in said microprocessor; encrypting a plurality of bytes of a first serial number stored in said first storage location using said first key, thereby providing a first encrypted serial number; further storing a second key of at least one byte in said first storage location; further encrypting said first encrypted serial number along with said first key using said second key, thereby providing a first double encrypted serial number along with an encrypted first key in said first storage location; receiving a cyclical redundancy checksum bits encoded serial number from a second storage location coupled to said microprocessor; decoding said cyclical redundancy checksum bits, thereby providing a second double encrypted serial number and an encrypted third key; comparing said second double encrypted serial number and said encrypted third key with said first double encrypted serial number and said encrypted first key in a comparator in said microprocessor; and allowing said microprocessor for reprogramming said serial number when said comparator produces a match.
Claim 15
Independent Claim
124 words
A method of configuring a serialized software through a plurality of application programming interfaces (API) to upgrade its microprocessor serial number, wherein said serialized software being executable in a computer system having a CPU and a memory, said method comprising: (a) reading a serial number for said CPU via a Read-CPU-Serial-Number API command, wherein said serial number is stored in said CPU; (b) retrieving a last CPU serial number stored in said memory via a Get-Previous-CPU-Serial-Number API; (c) remotely seeking an authorization via an Upgrade-CPU-Serial-Number API when said serial number in step(a) and said last CPU serial number in step(b) do not match; and (d) locking said software with said serial number in step(a) via a Lock-with-new-CPU-Serial-Number API upon receiving said authorization in step(c).
Claim 16
Independent Claim
124 words
A method of configuring a serialized software through a plurality of application programming interfaces (API) to upgrade its microprocessor serial number, wherein said serialized software being executable in a computer system having a CPU and a memory, said method comprising: (a) reading a serial number for said CPU via a Read-CPU-Serial-Number API command, wherein said serial number is stored in said CPU; (b) retrieving a last CPU serial number stored in said memory via a Get-Previous-CPU-Serial-Number API; (c) remotely seeking an authorization via an Upgrade-CPU-Serial-Number API when said serial number in step(a) and said last CPU serial number in step(b) do not match; and (d) locking said software with said serial number in step(a) via a Lock-with-new-CPU-Serial-Number API upon receiving said authorization in step(c).
References Cited (Backward Citations)
US4652990A
Cited
US4633388A
Cited
US5068894A
Cited
US5182770A
Cited
US5319705A
Cited
EP0707270A2
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-08-03 | 2002-02-02 | 2002-08-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-08-03 | 2006-02-02 | 2006-08-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-08-03 | 2010-02-02 | 2010-08-04 | $7700.00 | Window Closed / Lapsed |