IP Library Granted Patent US 11,644,984
Granted Patent B2
US 11,644,984 · App. 17/025,925 · Granted May 9, 2023

Securely booting a processing chip to execute securely updated executable code

Inventor: Axel K. Kloth (Pacifica, CA)
Assignee: AXIADO CORPORATION
G06F3/0623G06F3/0655G06F3/0679G06F8/654G06F9/4401G06F9/4403G06F9/4406G06F21/12G06F21/54G06F21/57G06F21/572G06F21/575G06F21/602G06F21/64G06F21/72G06F21/75G06F21/79G06F21/82H04L9/088H04L9/0861H04L9/0894H04L9/14H04L9/3278G06F2221/033G06F2221/034G06F2221/0751G06F2221/0755
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,644,984
App. No.
17/025,925
Granted
May 9, 2023
Kind
B2
Abstract

Techniques in electronic systems, such as in systems including a processing chip and one or more external memory chips, provide improvements in one or more of system security, performance, cost, and efficiency. In some embodiments, the processing chip includes immutable hardware enabled to securely boot one or more CPUs of the processing chip to execute code stored encrypted in a non-volatile one of the memory chips. An encrypted update to the code is written to a portion of one of the memory chips and the immutable hardware copies the update to the non-volatile memory chip. The immutable hardware is then able to securely boot the one or more CPUs to execute the encrypted update stored in the non-volatile memory chip. In further embodiments, the non-volatile memory chip and/or the portion of one of the memory chips are not accessible by the one or more CPUs.

Claims (62)

1. A system, comprising:

a non-volatile memory chip, wherein the non-volatile memory chip contains executable code encrypted with a boot key of one or more keys;

a processing chip, wherein the processing chip comprises:

autonomous hardware that comprises a physically unclonable function;

the one or more keys created at a manufacturing time of the processing chip using the physically unclonable function;

an external boot interface coupled to the non-volatile memory chip;

one or more processors; and

immutable hardware configured to perform a secure boot of the one or more processors to place the processing chip in an operational use with the one or more processors executing a decrypted version of the encrypted executable code stored in the non-volatile memory chip, wherein, during the operational use of the processing chip and subsequent to establishing a connection with a network host to receive updated executable code, the immutable hardware is configured to perform a firmware update operation to store the updated executable code encrypted with the boot key in the non-volatile memory chip,

wherein the immutable hardware is configured to, subsequent to storing the updated executable code encrypted with the boot key in the non-volatile memory chip, perform the secure boot of the one or more processors to place the processing chip in the operational use with the one or more processors executing a decrypted version of the encrypted updated executable code stored in the non-volatile memory chip, and

wherein at least one of the one or more processors is configured to initiate operation of the immutable hardware to perform the firmware update operation, but where none of the one or more processors are able to access the non-volatile memory chip.

2. The system of claim 1 , wherein subsequent to the manufacturing time of the processing chip, the one or more keys are only accessible by the immutable hardware.

3. The system of claim 1 , wherein the updated executable code received from the network host is encrypted with a public portion of the boot key; and

wherein a private portion of the boot key is unique to the processing chip and is stored solely within the processing chip.

4. The system of claim 1 , further comprising a memory coupled to an external memory interface of the processing chip;

wherein the updated executable code received from the network host is written to a portion of the memory; and

wherein the firmware update operation comprises:

reading the written updated executable code from the portion of the memory; and

storing the read updated executable code to the non-volatile memory chip in a form encrypted with the boot key.

5. The system of claim 4 , wherein the updated executable code received from the network host is encrypted with the boot key.

6. The system of claim 5 , wherein the portion of the memory is excluded from an address map used by the one or more processors so that the portion of the memory is inaccessible to the one or more processors.

7. The system of claim 4 , wherein the secure boot of the one or more processors to place the processing chip in the operational use comprises:

reading a current version of the encrypted executable code in the non-volatile memory chip; and

writing the current version of the encrypted executable code to the memory; and

wherein subsequent to the firmware update operation, the current version of the encrypted executable code is the encrypted updated executable code.

8. The system of claim 7 , wherein the secure boot of the one or more processors to place the processing chip in the operational use comprises:

holding the one or more processors of the processing chip in a respective reset state until after at least some of the writing of the current version of the encrypted executable code to the memory;

releasing at least one of the one or more processors from the respective reset state; and

enabling the at least one of the one or more processors to complete an initial instruction fetch referencing a portion of the current version of the encrypted executable code in the memory.

9. The system of claim 1 , wherein the updated executable code received from the network host comprises a bootloader and an operating system kernel.

10. The system of claim 1 , wherein the non-volatile memory chip stores an initial version of the executable code encrypted with the boot key at the manufacturing time of the processing chip.

11. The system of claim 1 , wherein, at the manufacturing time of the processing chip, an on-chip state of the processing chip is changed so as to render at least a portion of the autonomous hardware immutable; and

wherein the immutable hardware comprises the at least a portion of the autonomous hardware.

12. The system of claim 1 , wherein the one or more processors are unable to influence operation of the immutable hardware.

13. A method for performing a secure boot of one or more processors in a processing chip, comprising:

creating one or more keys at a manufacturing time of the processing chip using a physically unclonable function in autonomous hardware in the processing chip;

using immutable hardware in the processing chip, performing the secure boot of the one or more processors in the processing chip to place the processing chip in an operational use with the one or more processors executing a decrypted version of encrypted executable code which is accessed from a non-volatile memory chip via an external boot interface in the processing chip, wherein the encrypted executable code is encrypted using a boot key of the one or more keys that are stored in the processing chip;

during the operational use of the processing chip and subsequent to establishing a connection with a network host to receive updated executable code, performing, using the immutable hardware, a firmware update operation to store the updated executable code encrypted with the boot key in the non-volatile memory chip;

using at least one of the one or more processors, initiating operation of the immutable hardware to perform the firmware update operation, but where none of the one or more processors are able to access the non-volatile memory chip; and

subsequent to storing the updated executable code encrypted with the boot key in the non-volatile memory chip, performing, using the immutable hardware, the secure boot of the one or more processors to place the processing chip in the operational use with the one or more processors executing a decrypted version of the encrypted updated executable code stored in the non-volatile memory chip.

14. An integrated circuit, comprising:

autonomous hardware that comprises a physically unclonable function;

one or more keys created at a manufacturing time of the integrated circuit using the physically unclonable function;

an external boot interface configured to couple to a non-volatile memory chip;

one or more processors; and

immutable hardware configured to perform a secure boot of the one or more processors to place the integrated circuit in an operational use with the one or more processors executing a decrypted version of encrypted executable code stored in the non-volatile memory chip, wherein the encrypted executable code is encrypted using a boot key of one or more keys,

wherein, during the operational use of the integrated circuit and subsequent to establishing a connection with a network host to receive updated executable code, the immutable hardware is configured to perform a firmware update operation to store the updated executable code encrypted with the boot key in the non-volatile memory chip,

wherein the immutable hardware is configured to, subsequent to storing the updated executable code encrypted with the boot key in the non-volatile memory chip, perform the secure boot of the one or more processors to place the integrated circuit in the operational use with the one or more processors executing a decrypted version of the encrypted updated executable code stored in the non-volatile memory chip, and

wherein at least one of the one or more processors is configured to initiate operation of the immutable hardware to perform the firmware update operation, but where none of the one or more processors are able to access the non-volatile memory chip.

15. The integrated circuit of claim 14 , wherein subsequent to the manufacturing time of the integrated circuit, the one or more keys are only accessible by the immutable hardware.

16. The integrated circuit of claim 15 , wherein the updated executable code received from the network host is encrypted with a public portion of the boot key; and

wherein a private portion of the boot key is unique to the integrated circuit and is stored solely within the integrated circuit.

17. The integrated circuit of claim 14 , further comprising a memory coupled to an external memory interface of the integrated circuit;

wherein the updated executable code received from the network host is written to a portion of the memory; and

wherein the firmware update operation comprises:

reading the written updated executable code from the portion of the memory; and

storing the read updated executable code to the non-volatile memory chip in a form encrypted with the boot key.

18. The integrated circuit of claim 17 , wherein the updated executable code received from the network host is encrypted with the boot key.

19. The integrated circuit of claim 18 , wherein the portion of the memory is excluded from an address map used by the one or more processors so that the portion of the memory is inaccessible to the one or more processors.

20. The integrated circuit of claim 17 , wherein the secure boot of the one or more processors to place the integrated circuit in the operational use comprises:

reading a current version of the encrypted executable code in the non-volatile memory chip; and

writing the current version of the encrypted executable code to the memory; and

wherein subsequent to the firmware update operation, the current version of the encrypted executable code is the encrypted updated executable code.

Assignments (3)
SECURITY INTEREST Recorded May 31, 2022
From: AXIADO CORPORATION
To: VENTURE LENDING & LEASING IX, INC.; WTI FUND X, INC.
Reel/Frame 060057/0260 →
MERGER Recorded Feb 16, 2022
From: AXIADO CORP
To: AXIADO CORPORATION
Reel/Frame 059028/0062 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2020
From: KLOTH, AXEL K
To: AXIADO, CORP.
Reel/Frame 053822/0677 →
Continuity (6)
Provisional Application 63068675 · Aug 21, 2020
Provisional Application 63054500 · Jul 21, 2020
Provisional Application 63010326 · Apr 15, 2020
Provisional Application 63007133 · Apr 8, 2020
Provisional Application 63004288 · Apr 2, 2020
Related Publication 20210312057A1 · Oct 7, 2021
Cited By (1)
US 12,278,830