Patent US6141756A successfully refreshed from Google Patents.
US6141756A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus and method of reading a program into a processor
Assignee: Motorola Solutions Inc
•
Filing: 1998-04-27
•
Granted: 2000-10-31
•
Expires: 2018-04-27
Abstract
Abstract The following describes an apparatus for and method of providing a secure method of downloading a program into a processor (101) from a device (103) external to the processor (101). The program may be encrypted (207) prior to its entry into the external device (103). The program may also have authentication information added (203 and 207) to it. Authentication information may be provided on an unencrypted and/or an encrypted program. The processor (101) decrypts (307) and/or successfully authenticates (311) the program before allowing the program to be executed by the processor (101).
Inventors
- 👤 Michael W. Bright
- 👤 Kenneth Carl Fuchs
- 👤 Kelly Jo Marquardt
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 18:45
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6209; G06F21/50; G06F21/57; G06F21/572; G06F21/575; G06F2211/00; G06F2211/007; G06F2211/1097; G06F2221/00; G06F2221/21; G06F2221/2147
Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
88 words
A method comprising the steps of: entering a bootstrap mode of a processor; during the bootstrap mode: reading, into a memory within the processor, a bootstrap program from a device external to the processor; decrypting the bootstrap program using a key embedded inside the processor, yielding a decrypted program; performing authentication verification on the decrypted program; executing, by the processor, the decrypted program only after the decrypted program is authenticated, and when the decrypted program fails to be authenticated, inhibiting execution of the decrypted program by the processor.
Claim 2
Independent Claim
88 words
A method comprising the steps of: entering a bootstrap mode of a processor; during the bootstrap mode: reading, into a memory within the processor, a bootstrap program from a device external to the processor; decrypting the bootstrap program using a key embedded inside the processor, yielding a decrypted program; performing authentication verification on the decrypted program; executing, by the processor, the decrypted program only after the decrypted program is authenticated, and when the decrypted program fails to be authenticated, inhibiting execution of the decrypted program by the processor.
Claim 3
Dependent Claim
34 words
The method of claim 1, further comprising the steps of: determining if the bootstrap program was properly encrypted; when the bootstrap program was not properly encrypted, inhibiting execution of the program by the processor.
Claim 4
Dependent Claim
23 words
The method of claim 1, wherein the bootstrap program is stored as an encrypted bootstrap program in the device external to the processor.
Claim 5
Dependent Claim
40 words
The method of claim 1, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of stopping the processor from executing any code from the decrypted bootstrap program until a restart of the processor.
Claim 6
Dependent Claim
29 words
The method of claim 1, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of entering the processor into an infinite loop.
Claim 7
Dependent Claim
31 words
The method of claim 1, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of indicating the failure to authenticate with an error message.
Claim 8
Dependent Claim
31 words
The method of claim 1, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of starting the process again, beginning with the entering step.
Claim 9
Dependent Claim
24 words
The method of claim 3, wherein a key needed to decrypt the bootstrap program is not stored on the device external to the processor.
Claim 10
Dependent Claim
23 words
The method of claim 3, wherein the step of performing authentication verification comprises the step of performing a checksum on the decrypted program.
Claim 11
Dependent Claim
23 words
The method of claim 3, wherein the step of performing authentication verification comprises the step of performing a hash on the decrypted program.
Claim 12
Dependent Claim
24 words
The method of claim 3, wherein the step of performing authentication verification comprises the step of performing an encrypted checksum on the decrypted program.
Claim 13
Dependent Claim
24 words
The method of claim 3, wherein the step of performing authentication verification comprises the step of checking a digital signature of the decrypted program.
Claim 14
Dependent Claim
17 words
The method of claim 3, wherein the key embedded inside the processor is a public decryption key.
Claim 15
Dependent Claim
17 words
The method of claim 3, wherein the key embedded inside the processor is a private decryption key.
Claim 16
Dependent Claim
17 words
The method of claim 3, wherein the key embedded inside the processor is a symmetric decryption key.
Claim 17
Dependent Claim
24 words
The method of claim 3, wherein the key embedded inside the processor is processed into another key that is used to decrypt the program.
Claim 18
Dependent Claim
36 words
The method of claim 3, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of preventing the processor from exiting the bootstrap mode unless the decrypted program is authenticated.
Claim 19
Dependent Claim
106 words
A processor comprising: a first memory, arranged and constructed to obtain a bootstrap program from a device external to the processor during a bootstrap mode; a decryption processor, operably coupled to the first memory, arranged and constructed to decrypt the bootstrap program utilizing a key stored within the processor during the bootstrap mode; a second memory arranged and constructed to store, during the bootstrap mode, the decrypted program for subsequent execution by the processor; wherein the processor is arranged and constructed to performing authentication verification on the decrypted program and execute the decrypted program only after successful authentication of the decrypted program as an intended program.
Claim 20
Dependent Claim
106 words
A processor comprising: a first memory, arranged and constructed to obtain a bootstrap program from a device external to the processor during a bootstrap mode; a decryption processor, operably coupled to the first memory, arranged and constructed to decrypt the bootstrap program utilizing a key stored within the processor during the bootstrap mode; a second memory arranged and constructed to store, during the bootstrap mode, the decrypted program for subsequent execution by the processor; wherein the processor is arranged and constructed to performing authentication verification on the decrypted program and execute the decrypted program only after successful authentication of the decrypted program as an intended program.
Claim 21
Dependent Claim
23 words
The processor of claim 18, wherein the bootstrap program is stored as an encrypted bootstrap program in the device external to the processor.
Claim 22
Dependent Claim
24 words
The processor of claim 19, wherein a key needed to decrypt the bootstrap program is not stored on the device external to the processor.
Claim 23
Dependent Claim
36 words
The processor of claim 18, wherein the processor is arranged and constructed to inhibit execution of the decrypted program by stopping the processor from executing any code from the decrypted bootstrap program until the processor restarts.
Claim 24
Dependent Claim
25 words
The processor of claim 18, wherein the processor is arranged and constructed to exit the bootstrap mode only after successful authentication of the decrypted program.
Claim 25
Independent Claim
85 words
A method comprising the steps of: entering a bootstrap mode of a processor; during the bootstrap mode: reading, by a first memory within the processor, a bootstrap program stored as an encrypted bootstrap program in a device external to the processor; decrypting the bootstrap program, yielding a decrypted program; performing authentication verification on the decrypted program; when the program is authenticated, executing, by the processor, the decrypted program; when the decrypted program fails to be authenticated, inhibiting execution of the decrypted program by the processor.
Claim 26
Independent Claim
85 words
A method comprising the steps of: entering a bootstrap mode of a processor; during the bootstrap mode: reading, by a first memory within the processor, a bootstrap program stored as an encrypted bootstrap program in a device external to the processor; decrypting the bootstrap program, yielding a decrypted program; performing authentication verification on the decrypted program; when the program is authenticated, executing, by the processor, the decrypted program; when the decrypted program fails to be authenticated, inhibiting execution of the decrypted program by the processor.
Claim 27
Dependent Claim
24 words
The method of claim 23, wherein a key needed to decrypt the bootstrap program is not stored on the device external to the processor.
Claim 28
Dependent Claim
40 words
The method of claim 23, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of stopping the processor from executing any code from the decrypted bootstrap program until a restart of the processor.
Claim 29
Dependent Claim
36 words
The method of claim 23, wherein the step of inhibiting execution of the decrypted program by the processor comprises the step of preventing the processor from exiting the bootstrap mode unless the decrypted program is authenticated.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-10-31 | 2004-05-01 | 2004-10-31 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-10-31 | 2008-05-01 | 2008-10-31 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-10-31 | 2012-05-01 | 2012-10-31 | $7700.00 | Window Closed / Lapsed |