IP Library Granted Patent US 9,953,166
Granted Patent B2
US 9,953,166 · App. 14/322,953 · Granted Apr 24, 2018

Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor

Inventor: G. Richard Newell (Tracy, CA)
Assignee: Microsemi SoC Corporation
G06F21/575G06F21/44G06F2221/2103
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,953,166
App. No.
14/322,953
Granted
Apr 24, 2018
Kind
B2
Abstract

A method for securely booting a target processor in a target system from a secure root of trust includes computing a message authentication code from boot code to be provided to the target processor, including an obfuscated algorithm for recreating the message authentication code in the target processor, serving the boot code to the target processor, executing the boot code to recreate the message authentication code in the target processor, serving the message authentication code back to the root of trust, comparing the returned message authentication code with the message authentication code generated in the root of trust, continuing execution of the boot code data if the returned message authentication code matches the message authentication code, and applying at least one penalty to the target system if the returned message authentication code does not match the message authentication code generated in the root of trust.

Claims (33)

1. A method for securely booting a target processor in a target system from a secure root of trust comprising:

computing in the secure root of trust a message authentication code from boot code to be provided to the target processor, the boot code including an obfuscated algorithm for recreating the message authentication code in the target processor;

serving the boot code to the target processor;

commencing execution of the boot code in the target processor to recreate the message authentication code in the target processor using the received boot code as input;

serving the recreated message authentication code from the target processor back to the root of trust;

comparing in the root of trust the returned message authentication code with the message authentication code generated in the root of trust;

continuing execution of the boot code in the target processor if the returned message authentication code matches the message authentication code generated in the root of trust; and

applying at least one penalty to the target system if the returned message authentication code does not match the message authentication code generated in the root of trust.

2. The method of claim 1 wherein the at least one penalty comprises halting execution of the boot code in the target processor.

3. The method of claim 1 wherein the at least one penalty comprises stopping at least one clock in the target system.

4. The method of claim 1 wherein the at least one penalty comprises interrupting power to at least a part of the target system.

5. The method of claim 1 wherein the at least one penalty comprises erasing contents of at least some memory in the target system.

6. The method of claim 1 wherein the at least one penalty comprises permanently disabling at least a portion of the target system.

7. The method of claim 1 wherein the target processor comprises a field programmable gate array.

8. The method of claim 1 wherein the target processor comprises a processor capable of executing instructions.

9. The method of claim 1 wherein the root of trust comprises a field programmable gate array.

10. The method of claim 1 wherein the target processor is an integrated circuit.

11. The method of claim 1 wherein the boot code contains a public key used by the target processor to establish a session key shared by the target processor and the secure root of trust.

12. The method of claim 1 further comprising:

combining data from a physically unclonable function in the target processor with enrollment data stored in the root of trust device; and

using the combined data to verify that the target processor is the same physical device that was used to create the enrollment data.

13. The method of claim 1 wherein continuing execution of the boot code comprises authenticating a next phase boot code using a cryptographic variable authenticated by the recreated message authentication code.

14. The method of claim 1 wherein including an obfuscated algorithm for recreating the message authentication code in the target processor comprises including an algorithm that computes a message authentication code using whitebox cryptography techniques.

15. The method of claim 1 wherein the message authentication code algorithm used is CBC-MAC.

16. The method of claim 1 wherein at least one secret value is protected by at least one countermeasure against extraction by side channel monitoring attacks.

17. The method of claim 13 wherein the cryptographic variable is protected by at least countermeasure against extraction by side channel monitoring attacks.

18. A method for securely booting a target processor in a target system from a secure root of trust comprising:

serving boot code to the target processor, the boot code including an algorithm and an obfuscated private key for creating a digital signature in the target processor;

commencing execution of the boot code in the target processor to create a digital signature in the target processor using the received boot code as input;

serving the digital signature from the target processor back to the root of trust;

verifying in the root of trust the returned digital signature generated in the target processor, the root of trust using both a public key associated with the private key that was used by the target processor to generate the signature and the boot code served to the target processor;

continuing execution of the boot code in the target processor if the returned digital signature generated in the target processor is valid; and

applying at least one penalty to the target system if the returned digital signature generated in the root of trust is invalid.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.), INC.; MICROSEMI FREQUENCY AND TIME CORPORATION; MICROSEMI COMMUNICATIONS, INC.; MICROSEMI SOC CORP.; MICROSEMI CORP. - POWER PRODUCTS GROUP; MICROSEMI CORP. - RF INTEGRATED SOLUTIONS
Reel/Frame 046251/0391 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC. (F/K/A LEGERITY, INC., ZARLINK SEMICONDUCTOR (V.N.) INC., CENTELLAX, INC., AND ZARLINK SEMICONDUCTOR (U.S.) INC.); MICROSEMI FREQUENCY AND TIME CORPORATION (F/K/A SYMMETRICON, INC.); MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION); MICROSEMI SOC CORP. (F/K/A ACTEL CORPORATION); MICROSEMI CORP. - POWER PRODUCTS GROUP (F/K/A ADVANCED POWER TECHNOLOGY INC.); MICROSEMI CORP. - RF INTEGRATED SOLUTIONS (F/K/A AML COMMUNICATIONS, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037691/0697 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: BANK OF AMERICA, N.A.
To: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAWARE CORPORATION; MICROSEMI SOC CORP., A CALIFORNIA CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CORPORATION; MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWARE CORPORATION; MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), A DELAWARE CORPORATION; MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/A WHITE ELECTRONIC DESIGNS CORPORATION), AN INDIANA CORPORATION
Reel/Frame 037558/0711 →
SECURITY AGREEMENT Recorded Apr 22, 2015
From: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP; MICROSEMI SEMICONDUCTOR (U.S.) INC.; MICROSEMI SOC CORP.; MICROSEMI FREQUENCY AND TIME CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035477/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2014
From: NEWELL, G. RICHARD
To: MICROSEMI SOC CORPORATION
Reel/Frame 033236/0476 →
Continuity (2)
Provisional Application 61842985 · Jul 4, 2013
Related Publication 20150012737A1 · Jan 8, 2015