IP Library › Granted Patent US 10,984,107
Granted Patent B2
US 10,984,107 · App. 15/960,576 · Granted Apr 20, 2021

Secure boot

Inventor: Yuval Itkin (Zoran, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
G06F21/572G06F21/44G06F21/575G06F21/6209H04L9/30
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 10,984,107
App. No.
15/960,576
Granted
Apr 20, 2021
Kind
B2
Abstract

A method for secure boot includes, in a processor, retrieving from a memory device a firmware boot code for bootstrapping a firmware of the processor. The firmware boot code is authenticated using an authentication key. In response to failing to authenticate the firmware boot code using the authentication key, an attempt is made to authenticate a recovery firmware code, which has reduced functionality relative to the firmware boot code, using a recovery key. Upon successfully authenticating the recovery firmware code using the recovery key, the firmware boot code is restored from a host, the restored firmware boot code is authenticated by executing the recovery firmware code, and the firmware is bootstrapped using the authenticated firmware boot code.

Claims (28)

1. A method for secure boot, comprising:

in a processor, retrieving from a memory device a firmware boot code for bootstrapping a firmware of the processor;

authenticating the firmware boot code using a unique device key (DUK) associated with the processor and programmed during production time;

in response to failing to authenticate the firmware boot code using the DUK, attempting to authenticate, using a recovery key which is distinct from the DUK, a recovery firmware code that has reduced functionality relative to the firmware boot code and that, when executed, restores and authenticates the firmware boot code; and

upon successfully authenticating the recovery firmware code using the recovery key;

restoring the firmware boot code from a host;

authenticating the restored firmware boot code, including authenticating a signature of the firmware boot code using a public key, by executing the recovery firmware code;

upon successfully authenticating the signature of the firmware boot code using the public key, signing the restored firmware boot code with the DUK, and writing the signed firmware boot code to the memory device; and

bootstrapping the firmware using the authenticated firmware boot code.

2. The method according to claim 1 , and comprising, in response to failing to authenticate the recovery firmware code using the recovery key, loading the recovery firmware code from the host.

3. The method of claim 1 , wherein the reduced functionality of the recovery firmware code comprises authentication and signing of firmware boot codes.

4. A computer system, comprising:

a memory device; and

a processor, which is configured to:

retrieve from the memory device a firmware boot code for bootstrapping a firmware of the processor;

authenticate the firmware boot code using a unique device key (DUK) associated with the processor and programmed during production time;

in response to failing to authenticate the firmware boot code using the DUK, attempt to authenticate, using a recovery key which is distinct from the DUK, a recovery firmware code that has reduced functionality relative to the firmware boot code and that, when executed, restores and authenticates the firmware boot code; and

upon successfully authenticating the recovery firmware code using the recovery key;

restore the firmware boot code from a host;

authenticate the restored firmware boot code, including authenticating a signature of the firmware boot code using a public key, by executing the recovery firmware code;

upon successfully authenticating the signature of the firmware boot code using the public key, sign the restored firmware boot code with the DUK, and write the signed firmware boot code to the memory device; and

bootstrap the firmware using the authenticated firmware boot code.

5. The computer system according to claim 4 , wherein, in response to failing to authenticate the recovery firmware code using the recovery key, the processor is configured to load the recovery firmware code from the host.

6. The computer system of claim 4 , wherein the reduced functionality of the recovery firmware code comprises authentication and signing of firmware boot codes.

7. The method according to claim 1 and wherein the DUK is programmed into an electronic fuse unit (EFUSE).

8. The method according to claim 1 , and wherein the processor has a device ID, and the method includes setting the device ID to a recovery ID.

9. The computer system according to claim 4 and wherein the DUK is programmed into an electronic fuse unit (EFUSE).

10. The computer system according to claim 4 , and wherein the processor has a device ID, and the processor is configured to set the device ID to a recovery ID.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2018
From: ITKIN, YUVAL
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 045615/0836 →
Continuity (1)
Related Publication 20190325137A1 · Oct 24, 2019
Cited By (5)
US 12,216,580 US 12,223,051 US 12,289,311 US 12,549,346 US 12,585,589