IP Library › Granted Patent US 12,147,540
Granted Patent B2
US 12,147,540 · App. 17/975,695 · Granted Nov 19, 2024

System and method to implement a secure boot event with one of a plurality of candidate public key infrastructure authentication key sets

Inventor: Brian Farrell (Troy, MI)
Assignee: GM Global Technology Operations LLC
G06F21/575G06F9/4401G06F21/572H04L9/30H04L9/3242G06F2221/034
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,147,540
App. No.
17/975,695
Granted
Nov 19, 2024
Kind
B2
Abstract

A system for implementing a secure boot event includes a system on a chip (SoC). The SoC includes key hashes stored within one-time programmable memory. Each of the key hashes is configured for use with one of a plurality of candidate authentication key sets. The SoC further includes firmware stored within RAM. The firmware includes a secondary bootloader, a plurality of public keys, and corresponding signatures. The public keys and corresponding signatures are configured for use with one of the key sets. The SoC further includes a primary bootloader utilizing fuses stored within the programmable memory. The fuses activate a selected key hash based upon an ecosystem in which the system is to operate. The selected hash and a corresponding public key and signature define an active authentication key set. During the event, the primary bootloader utilizes the active authentication key set to authenticate a downloaded update to the firmware.

Claims (68)

1. A system for implementing a secure boot event, comprising:

a circuit board including:

a system on a chip (SoC) including:

one-time programmable memory configured for storing computerized programming;

a plurality of public key hashes stored within the one-time programmable memory, wherein each of the plurality of public key hashes is configured for use with one of a plurality of candidate firmware image authentication key sets;

random-access memory (RAM) configured for storing a firmware image;

the firmware image configured for being executed by the SoC and stored within the RAM including:

a secondary bootloader;

a plurality of public keys, wherein each of the plurality of public keys is configured for use with one of the plurality of candidate firmware image authentication key sets; and

a plurality of signatures stored, wherein each of the plurality of signatures is configured for use with one of the plurality of candidate firmware image authentication key sets; and

a primary bootloader stored within the one-time programmable memory and utilizing a plurality of fuses configured for selectively activating a selected public key hash from the plurality of public key hashes; and

wherein the selected public key hash is selected based upon an ecosystem in which the system is to operate;

wherein the ecosystem in which the system is to operate includes a geographic region in which the system is to operate;

wherein the selected public key hash is utilized to select an active public key from the plurality of public keys;

wherein the selected public key hash is utilized to select an active signature from the plurality of signatures;

wherein the selected public key hash, the active public key, and the active signature define an active firmware image authentication key set from the plurality of candidate firmware image authentication key sets;

wherein the SoC is configured for executing an update to the firmware image through an external flash; and

wherein, during the secure boot event, the primary bootloader utilizes the active firmware image authentication key set to authenticate the firmware image.

2. The system of claim 1 , wherein the ecosystem in which the system is to operate includes a company to which the system is being sold.

3. The system if claim 1 , wherein one of the public key hashes is selected as an initially active public key hash; and

wherein, during an initial secure boot event, the initially active public key hash and a corresponding one of the plurality of public keys are used to establish a default root of trust between the primary bootloader and the secondary bootloader.

4. The system of claim 3 , wherein, after the selected public key hash is selected from the plurality of public key hashes, a remainder of the plurality of public key hashes are revoked.

5. The system of claim 1 , wherein the firmware image further includes a signature table including a second plurality of signatures, wherein the second plurality of signatures is configured for authenticating one of a hypervisor module, an operating system bootloader module, or an operating system kernel module.

6. A system for implementing a secure boot event, comprising:

a device including a circuit board including:

a system on a chip (SoC) including:

one-time programmable memory configured for storing computerized programming;

a plurality of public key hashes stored within the one-time programmable memory, wherein each of the plurality of public key hashes is configured for use with one of a plurality of candidate firmware image authentication key sets;

random-access memory (RAM) configured for storing a firmware image;

the firmware image configured for being executed by the SoC and stored within the RAM including:

a secondary bootloader;

a plurality of public keys, wherein each of the plurality of public keys is configured for use with one of the plurality of candidate firmware image authentication key sets; and

a plurality of signatures, wherein each of the plurality of signatures is configured for use with one of the plurality of candidate firmware image authentication key sets; and

a primary bootloader stored within the one-time programmable memory and utilizing a plurality of fuses configured for selectively activating a selected public key hash from the plurality of public key hashes; and

wherein the selected public key hash is selected based upon an ecosystem in which the system is to operate;

wherein the ecosystem in which the system is to operate includes a geographic region in which the system is to operate;

wherein the selected public key hash is utilized to select an active public key from the plurality of public keys;

wherein the selected public key hash is utilized to select an active signature from the plurality of signatures;

wherein the selected public key hash, the active public key, and the active signature define an active firmware image authentication key set from the plurality of candidate firmware image authentication key sets;

wherein the SoC is configured for executing an update to the firmware image through an external flash; and

wherein, during the secure boot event, the primary bootloader utilizes the active firmware image authentication key set to authenticate the firmware image.

7. The system of claim 6 , wherein the device includes a vehicle.

8. The system of claim 6 , wherein the ecosystem in which the system is to operate includes a company to which the system is being sold.

9. The system if claim 6 , wherein one of the public key hashes is selected as an initially active public key hash; and

wherein, during an initial secure boot event, the initially active public key hash and a corresponding one of the plurality of public keys are used to establish a default root of trust between the primary bootloader and the secondary bootloader.

10. The system of claim 9 , wherein, after the selected public key hash is selected from the plurality of public key hashes, a remainder of the plurality of public key hashes are revoked.

11. The system of claim 6 , wherein the firmware image further includes a signature table including a second plurality of signatures, wherein the second plurality of signatures is configured for authenticating one of a hypervisor module, an operating system bootloader module, or an operating system kernel module.

12. A method for implementing a secure boot event, the method comprising:

within one-time programmable memory of a system on a chip (SoC), storing a plurality of public key hashes within the one-time programmable memory, wherein each of the plurality of public key hashes is configured for use with one of a plurality of candidate firmware image authentication key sets;

within random-access memory (RAM) of the SoC, storing a firmware image, wherein the firmware image is configured for being executed by the SoC and includes:

a secondary bootloader;

a plurality of public keys, wherein each of the plurality of public keys is configured for use with one of the plurality of candidate firmware image authentication key sets; and

a plurality of signatures, wherein each of the plurality of signatures is configured for use with one of the plurality of candidate firmware image authentication key sets;

within the one-time programmable memory, additionally storing a primary bootloader utilizing a plurality of fuses within the SoC configured for selectively activating a selected public key hash from the plurality of public key hashes;

activating the selected public key hash based upon an ecosystem in which the system is to operate;

wherein the ecosystem in which the system is to operate includes a geographic region in which the system is to operate;

utilizing the selected public key hash to select an active public key from the plurality of public keys;

utilizing the selected public key hash to select an active signature from the plurality of signatures;

defining an active firmware image authentication key set from the plurality of candidate firmware image authentication key sets based upon the selected public key hash, the active public key, and the active signature define;

executing an update to the firmware image through an external flash; and

during the secure boot event, operating the primary bootloader to utilize the active firmware image authentication key set to authenticate the firmware image.

13. The method of claim 12 , wherein the ecosystem in which the system is to operate includes a company to which the system is being sold.

14. The method of claim 12 , further comprising:

selecting one of the plurality of public key hashes as an initially active public key hash; and

during an initial secure boot event, utilizing the initially active public key hash and a corresponding one of the plurality of public keys to establish a default root of trust between the primary bootloader and the secondary bootloader.

15. The method of claim 14 , further comprising, after the selected public key hash is selected from the plurality of public key hashes, revoking a remainder of the plurality of public key hashes.

16. The method of claim 14 , wherein the firmware image further includes a signature table including a second plurality of signatures; and

further comprising utilizing the second plurality of signatures to authenticate one of a hypervisor module, an operating system bootloader module, or an operating system kernel module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2022
From: FARRELL, BRIAN
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 061575/0037 →
Continuity (1)
Related Publication 20240143772A1 · May 2, 2024