IP Library Granted Patent US 9,842,212
Granted Patent B2
US 9,842,212 · App. 14/930,864 · Granted Dec 12, 2017

System and method for a renewable secure boot

Inventor: William V. Oxford (Austin, TX)
Assignee: Rubicon Labs, Inc.
G06F21/575G06F21/105G06F21/572H04L63/0442H04L63/123G06F2221/0704G06F2221/0724
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 9,842,212
App. No.
14/930,864
Granted
Dec 12, 2017
Kind
B2
Abstract

Embodiments of systems and methods disclosed herein include renewable secure boot systems for renewing and booting a target device. Systems and methods include techniques by which a secure boot may be implemented in a renewable fashion on a reprogrammable device. More specifically, in certain embodiments, systems and methods are described where target devices securely receive an encrypted boot image and one or more authorization codes from a third party. The one or more authorization codes are derivatives of a target device hardware secret, allowing the authorization codes to be changed at will, thus increasing flexibility and security of the system.

Claims (50)

1. A method of securely booting a local device comprising:

the local device receiving an authorization code from a third party;

the local device receiving an encrypted boot image from the third party;

the local device decrypting the encrypted boot image using a first key derived from an embedded secret of the local device;

the local device generating a message authentication code (MAC) using the decrypted boot image and the first key derived from the embedded secret of the local device;

comparing the authorization code received from the third party with the generated MAC;

if the generated MAC matches the authorization code received from the third party, using the decrypted boot image to securely boot the local device;

the local device receiving a second authorization code from the third party;

the local device receiving a second encrypted boot image from the third party; and

the local device decrypting the second encrypted boot image using a second key derived from the embedded secret of the local device, wherein the second key is different from the first key.

2. The method of claim 1 , further comprising the local device receiving an activation precursor from a third party.

3. The method of claim 2 , further comprising generating an activation secret that is derived from the activation precursor and the embedded secret of the local device.

4. The method of claim 1 , wherein the local device is implemented using a field programmable gate array (FPGA) device.

5. The method of claim 4 , further comprising receiving an encrypted FPGA configuration file from the third party.

6. The method of claim 1 , wherein the local device decrypts the encrypted boot image using asymmetric cryptography.

7. The method of claim 1 , wherein the third party is a licensing authority.

8. A renewable secure boot system comprising:

a processor;

a secure controller; and

at least one non-transitory computer-readable storage medium storing computer instructions translatable by the processor to perform:

the secure controller receiving and storing an authorization code from a third party;

the secure controller receiving an encrypted boot image from the third party;

the secure controller decrypting the encrypted boot image using a first key derived from an embedded secret of the secure controller;

the secure controller using a hashing function to generate a message authentication code (MAC) using the decrypted boot image and the first key derived from the embedded secret of the secure controller;

comparing the authorization code received from the third party with the generated MAC;

if the generated MAC matches the authorization code received from the third party, using the decrypted boot image to securely boot the device;

the secure controller receiving a second authorization code from the third party;

the secure controller receiving a second encrypted boot image from the third party; and

the secure controller decrypting the second encrypted boot image using a second key derived from the embedded secret of the local device, wherein the second key is different from the first key.

9. The renewable secure boot system of claim 8 , further comprising the secure controller receiving an activation precursor from the third party.

10. The renewable secure boot system of claim 9 , further comprising generating an activation secret that is derived from the activation precursor and the embedded secret of the secure controller.

11. The renewable secure boot system of claim 8 , wherein the secure controller is implemented using a field programmable gate array (FPGA) device.

12. The renewable secure boot system of claim 11 , further comprising receiving an encrypted FPGA configuration file from the third party.

13. The renewable secure boot system of claim 8 , wherein the secure controller decrypts the encrypted boot image using asymmetric cryptography.

14. The renewable secure boot system of claim 8 , wherein the third party is a licensing authority.

15. A computer program product comprising at least one non-transitory computer-readable storage medium storing computer instructions translatable by one or more processors to perform:

receiving an authorization code from a third party and storing the received authorization code at a local device;

receiving an encrypted boot image from the third party, wherein the encrypted boot image is encrypted using a first key derived from an embedded secret of the local device;

decrypting the encrypted boot image using the first key derived from the embedded secret of the local device;

generating a message authentication code (MAC) using the decrypted boot image and the first key derived from the embedded secret of the local device;

comparing the authorization code received from the third party with the generated MAC;

if the generated MAC matches the authorization code received from the third party, using the decrypted boot image to securely boot the local device;

receiving a second authorization code from the third party;

receiving a second encrypted boot image from the third party; and

decrypting the second encrypted boot image using a second key derived from the embedded secret of the local device, wherein the second key is different from the first key.

16. The computer program product of claim 15 , further comprising receiving an activation precursor from a third party.

17. The computer program product of claim 16 , further comprising generating an activation secret that is derived from the activation precursor and the embedded secret of the local device.

18. The computer program product of claim 15 , wherein the local device is implemented using a field programmable gate array (FPGA) device.

19. The computer program product of claim 18 , further comprising receiving an encrypted FPGA configuration file from the third party.

20. The computer program product of claim 15 , wherein the third party is a licensing authority.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2021
From: RUBICON LABS INC.
To: TORUS VENTURES LLC
Reel/Frame 057761/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2016
From: OXFORD, WILLIAM V.
To: RUBICON LABS, INC.
Reel/Frame 040362/0543 →
Continuity (2)
Provisional Application 62074376 · Nov 3, 2014
Related Publication 20160125187A1 · May 5, 2016