Patent US6141756A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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)

US5748940A Cited
US5844986A Cited
US5937063A Cited
US5901225A Cited

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag