IP Library › Granted Patent US 10,719,606
Granted Patent B2
US 10,719,606 · App. 15/903,227 · Granted Jul 21, 2020

Security processor for an embedded system

Inventors: Oscar David Sanchez Diaz (Fremont, CA); Jurijus Cizas (Fremont, CA); Jeffrey Kelley (Plymouth, MA); Mark Stafford (Morgan Hill, CA)
Assignee: Infineon Technologies AG
G06F21/575G06F11/1458G06F21/44G06F21/51G06F21/572G06F21/606G06F21/64G06F9/445G06F2201/84G06F2221/033
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,719,606
App. No.
15/903,227
Granted
Jul 21, 2020
Kind
B2
Abstract

Dynamic Trust Manager (DTM) having an interface coupled to an embedded system including an Application Processor (AP), boot media, and security processor. The security processor, at a start of a boot sequence of the AP, prevents the AP from proceeding with the boot sequence, verifies bootloader code stored in the boot media via boot media access, and if the bootloader code verification is successful, allows the AP to proceed using the verified bootloader code. The security processor may also be configured to activate an interrupt request of the AP during runtime, request the AP to execute a Security Monitor Driver (SMD) of the embedded system to measure an integrity information of code/data stored in an embedded system memory, receive from the SMD the measured integrity information of code/data, and verify whether the measured integrity information equals a reference integrity information stored in an integrity table of a DTM memory.

Claims (30)

1. A Dynamic Trust Manager (DTM), comprising:

an interface coupled to an embedded system comprising an application processor and a an embedded system memory configured to store a Security Monitor Driver (SMD);

a DTM memory configured to store an integrity table storing reference integrity information, and to store a security policy table; and

a security processor configured to:

activate an interrupt request of the application processor during runtime;

request the application processor to execute the SMD to measure an integrity information of code or data stored in the embedded system memory;

receive from the SMD the measured integrity information of code or data;

verify whether the measured integrity information equals a reference integrity information stored in the integrity table; and

when the measured integrity information is not equal to the reference integrity information, perform an action indicated by the security policy table, wherein the action indicated by the policy table is an action selected from the group of actions consisting of:

instruct the application processor to execute the SMD to recover the code or data stored in the embedded system memory from a backup,

activate the interrupt request of the application processor, or an interrupt request of another application processor, Direct Memory Access (DMA), or interface, and request the activated application processor, other application processor, DMA or interface to request the SMD to perform a corrective action selected from the group of corrective actions consisting of:

erasing the code or data stored in a boot media of the embedded system;

recovering the code or data stored in the embedded system memory from a trusted or verified source; and

recovering a copy of the code or data stored in the boot media from a trusted or verified source;

restart the code stored in the embedded system memory;

directly access the boot media to erase or recover from a trusted source bootloader code, other code, or data stored therein;

activate a reset of the application processor to cause the application processor to restart and repeat the bootloader verification process;

perform a runtime validation of an application processor critical application, code, or data, wherein each of the application processor critical application, code, or data has a respective security policy within the policy table;

raise a flag via the interrupt request of the application processor to notify application processor of a threat;

restrict use of cryptographic assets; and

erase bootloader code, a runtime application, or data stored in a boot media of the embedded system.

2. The DTM of claim 1 , wherein the integrity table comprises a corresponding reference integrity information for respective code or data.

3. The DTM of claim 2 , wherein the code comprises portions of code, and the integrity table comprises a corresponding reference integrity information for the respective portions of code.

4. The DTM of claim 2 , wherein the code comprises operating system code or application code.

5. The DTM of claim 1 , wherein:

the DTM memory is configured to store a security policy table,

the security processor is configured to, when the application processor running the SMD does not respond to the request within a predetermined period of time, perform an action indicated by the security policy table, the action being activating a reset of the application processor.

6. The DTM of claim 1 , wherein:

the DTM memory is configured to store a security policy table, and

the security processor is configured to, when the application processor running the SMD does not respond to the request within a predetermined period of time, perform an action indicated by the security policy table, the action being blocking access to cryptographic data or a key stored in the DTM memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2018
From: SANCHEZ DIAZ, OSCAR DAVID; CIZAS, JURIJUS; KELLEY, JEFFREY; STAFFORD, MARK
To: INFINEON TECHNOLOGIES AG
Reel/Frame 045015/0913 →
Continuity (1)
Related Publication 20190266331A1 · Aug 29, 2019
Cited By (3)
US 12,271,607 US 12,547,726 US 12,602,333