IP Library Granted Patent US 11,783,043
Granted Patent B2
US 11,783,043 · App. 17/533,305 · Granted Oct 10, 2023

Methods for authentication of firmware images in embedded systems

Inventors: Oscar Alfredo Perez (Pflugerville, TX); John Woo (Austin, TX)
Assignee: ZT GROUP INT'L, INC.
G06F21/575G06F21/572
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 11,783,043
App. No.
17/533,305
Granted
Oct 10, 2023
Kind
B2
Abstract

A method is provided for authenticating firmware images in an embedded system. The method may include loading and executing a trusted firmware using a pre-existing Secure Boot on a baseboard management controller (BMC). The BMC is configured as a master for an embedded system including System On Chips (SOCs) configured as slaves, out-of-band interfaces between the BMC and the SOCs, and flash storages in electrical communication with the SOCs. The method may also include pushing or uploading, by the BMC, a secure SOC firmware image to one of the SOCs using one of the out-of-band interfaces, verifying a digital signature extracted from the SOC firmware image by using a hash code calculated from the SOC firmware image and decrypted using a public key stored on the BMC and notifying a user about verification of the digital signature.

Claims (50)

1. A computer-implemented method for authenticating firmware images in an embedded system, the method comprising:

loading and executing a trusted firmware using a pre-existing Secure Boot on a baseboard management controller (BMC), wherein the BMC is configured as a master for an embedded system comprising a plurality of System On Chips (SOCs) configured as slaves, out-of-band interfaces between the BMC and the plurality of SOCs, and a plurality of flash storages in electrical communication with the plurality of SOCs;

pushing or uploading, by the BMC, a secure firmware image from a first storage device coupled to the BMC, to the one of the plurality of SOCs using one of the out-of-band interfaces such that a SOC firmware on the one of the plurality of SOCs is executed by the one of the plurality of SOCs;

receiving, by the BMC, a digital signature extracted from a SOC firmware image from a second storage device coupled to the one of the plurality of SOCs by the SOC firmware on the one of the plurality of SOCs;

verifying, by the BMC, the digital signature extracted from the SOC firmware image by using a hash code calculated from the SOC firmware image;

decrypting the digital signature, by the BMC, using a public key stored on the BMC; and

notifying, by the BMC, a user about verification of the digital signature.

2. The computer-implemented method of claim 1 , wherein the out-of-band interface is one selected from a group consisting of JTAG, UART, LPC, SPI, eSPI, and I2C.

3. The computer-implemented method of claim 1 , further comprises:

reading, by the SOC firmware on the one of the plurality of SOCs, the SOC firmware image from the second storage device comprising one of the plurality of flash storages;

calculating, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image;

encrypting, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image to form an encrypted hash code; and

sending, by the SOC firmware on the one of the plurality of SOCs, the digital signature and encrypted hash code to the BMC.

4. The computer-implemented method of claim 1 , wherein the SOC firmware image is a BootStrap image.

5. The computer-implemented method of claim 1 , wherein notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs is authentic if the digital signature is valid.

6. The computer-implemented method of claim 1 , wherein notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs fails the verification if the digital signature is invalid.

7. The computer-implemented method of claim 6 , further comprising stopping the one of the plurality of SOCs from executing an untrusted firmware.

8. A system comprising:

a storage device configured to store instructions;

a processor configured to execute the instructions and cause the processor to:

load and execute a trusted firmware use a pre-existing Secure Boot on a baseboard management controller (BMC), wherein the BMC is configured as a master for an embedded system comprising a plurality of System On Chips (SOCs) configured as slaves, out-of-band interfaces between the BMC and the plurality of SOCs, and a plurality of flash storages in electrical communication with the plurality of SOCs, push or uploading, by the BMC, a secure firmware image from a first storage device coupled to the BMC to the one of the plurality of SOCs using one of the out-of-band interfaces such that a SOC firmware on the one of the plurality of SOCs is executed by the one of the plurality of SOCs;

receive, by the BMC, a digital signature extracted from a SOC firmware image from a second storage device coupled to the one of the plurality of SOCs by the SOC firmware on the one of the plurality of SOCs;

verify, by the BMC, the digital signature extracted from the SOC firmware image by use a hash code calculated from the SOC firmware image;

decrypting the digital signature, by the BMC; and notify, by the BMC, a user about verification of the digital signature.

9. The system of claim 8 , wherein the out-of-band interface is one selected from a group consisting of JTAG, UART, LPC, SPI, eSPI, and I2C.

10. The system of claim 8 , wherein the processor is configured to execute the instructions and cause the processor to:

read, by the SOC firmware on the one of the plurality of SOCs, the SOC firmware image from the second storage device comprising one of the plurality of flash storages;

calculate, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image;

encrypt, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image to form an encrypted hash code; and

send, by the SOC firmware on the one of the plurality of SOCs, the digital signature and encrypted hash code to the BMC.

11. The system of claim 8 , wherein the SOC firmware image is a BootStrap image.

12. The system of claim 8 , wherein notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs is authentic if the digital signature is valid.

13. The system of claim 8 , wherein notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs fails the verification if the digital signature is invalid.

14. The system of claim 13 , wherein the processor is configured to execute the instructions and cause the processor to: stop the one of the plurality of SOCs from execute an untrusted firmware.

15. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to:

load and execute a trusted firmware use a pre-existing Secure Boot on a baseboard management controller (BMC), wherein the BMC is configured as a master for an embedded system comprising a plurality of System On Chips (SOCs) configured as slaves, out-of-band interfaces between the BMC and the plurality of SOCs, and a plurality of flash storages in electrical communication with the plurality of SOCs;

push or uploading, by the BMC, a secure firmware image from a first storage device coupled to the BMC to the one of the plurality of SOCs using one of the out-of-band interfaces such that a SOC firmware on the one of the plurality of SOCs is executed by the one of the plurality of SOCs;

receive, by the BMC, a digital signature extracted from a SOC firmware image from a second storage device coupled to the one of the plurality of SOCs by the SOC firmware on the one of the plurality of SOCs;

verify, by the BMC, the digital signature extracted from the SOC firmware image by use a hash code calculated from the SOC firmware image;

decrypting the digital signature, by the BMC; and

notify, by the BMC, a user about verification of the digital signature.

16. The computer readable medium of claim 15 , wherein the out-of-band interface is one selected from a group consisting of JTAG, UART, LPC, SPI, eSPI, and I2C.

17. The computer readable medium of claim 15 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to:

read, by the SOC firmware on the one of the plurality of SOCs, the SOC firmware image from the second storage device comprising one of the plurality of flash storages;

calculate, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image;

encrypt, by the SOC firmware on the one of the plurality of SOCs, the hash code of the SOC firmware image to form an encrypted hash code; and

send, by the SOC firmware on the one of the plurality of SOCs, the digital signature and encrypted hash code to the BMC.

18. The computer readable medium of claim 15 , the SOC firmware image is a BootStrap image.

19. The computer readable medium of claim 15 , notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs is authentic if the digital signature is valid.

20. The computer readable medium of claim 15 , notifying a user about verification of the digital signature further comprises notifying the user that the SOC firmware image of one of the plurality of SOCs fails the verification if the digital signature is invalid.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2025
From: ZT GROUP INT’L, INC. DBA ZT SYSTEMS
To: AMD DESIGN, LLC
Reel/Frame 072625/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2021
From: PEREZ, OSCAR ALFREDO; WOO, JOHN
To: ZT GROUP INT'L, INC. DBA ZT SYSTEMS
Reel/Frame 058256/0206 →
Continuity (1)
Related Publication 20230161881A1 · May 25, 2023
Cited By (2)
US 12,282,561 US 12,578,970