# US 12,010,144 B2 · End-to-end device attestation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,144 B2
- Document ID: US12010144B2
- Status: Granted
- Kind: B2
- Application number: 17/351,004
- Filed: 2021-06-17
- Published: 2021-10-07
- Granted: 2024-06-11
- Earliest claimed: 2020-06-18
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Ned M. Smith; Jose Benchimol; Andrew Draper
- Web page: https://patentgrep.com/patent/US12010144B2

## CPC

- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04W 12/069: using certificates or pre-shared keys
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/301: {where the computing system is a virtual computing platform, e.g. logically partitioned systems (virtual machines G06F9/45533; logical partitioning of resources G06F9/5077)}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- G06F 11/3409: {for performance assessment}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- H04W 12/66: {Trust-dependent, e.g. using trust scores or trust relationships}
- G06F 11/3055: {Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16)}
- G06F 11/3089: {Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents (software debugging using additional hardware using a specific debug interface G06F11/3656; performance evaluation by tracing or monitoring G06F11/3466)}
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 2201/815: Virtual
- G06F 2201/875: Monitoring of systems including the internet
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various examples of device and system implementations and methods for performing end-to-end attestation operations for multi-layer hardware devices are disclosed. In an example, attestation operations are performed by a verifier, including: obtaining layered attestation evidence regarding a state of a compute device, with the layered attestation evidence including attesting evidence provided from a second hardware layer of the compute device, such that the attesting evidence provided from the second hardware layer is generated from attesting evidence provided from a first hardware layer of the compute device to the second hardware layer of the compute device; obtaining endorsement information relating to the layered attestation evidence for the state of the compute device; determining an appraisal policy for performing attestation of the compute device from the layered attestation evidence; and applying the appraisal policy and the endorsement information to the layered attestation evidence, to perform attestation of the compute device.

## Claims

### Claim 1

A computing system, comprising:
at least one memory to store instructions; and
processing circuitry to execute the instructions to perform operations that verify a state of a hardware device capable to perform compute operations on behalf of the computing system, the instructions to perform operations to:
obtain layered attestation evidence from the hardware device regarding the state of the hardware device, wherein the layered attestation evidence includes attesting evidence from a first hardware layer of the hardware device that is dependent on attesting evidence from a second hardware layer of the hardware device;
obtain endorsement information to be used to evaluate the layered attestation evidence, the endorsement information obtained from a manifest and relating to a third party verification of the state of the hardware device;
determine an appraisal policy to be used to evaluate the layered attestation evidence, the appraisal policy obtained from an expected device definition;
validate attestation of the state of the hardware device by applying the appraisal policy and the endorsement information to evaluate the layered attestation evidence; and
perform compute operations with the hardware device, in response to the attestation of the state of the hardware device.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the attesting evidence provided from the first hardware layer of the hardware device is associated with a hardware component produced by a first entity, and wherein the attesting evidence provided from the second hardware layer of the hardware device is associated with a hardware component produced by a second entity.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein the layered attestation evidence is provided according to a template, the template defining properties for applying the appraisal policy to the layered attestation evidence provided from the first hardware layer and provided from the second hardware layer.

### Claim 4 (depends on 3)

The computing system of claim 3, wherein to validate the attestation of the state of the hardware device includes operations to:
verify that reference values provided in the layered attestation evidence are supplied by an intended owner.

### Claim 5 (depends on 3)

The computing system of claim 3, wherein the properties relate to layered attestation evidence from at least one of: firmware, read-only memory, storage memory, fuses, straps, softstraps, or electronic fuses.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the attesting evidence at each of the first hardware layer and the second hardware layer is produced using a certificate associated with trusted computing base properties, the trusted computing base properties being defined for respective hardware components at the respective layers.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein the attesting evidence provided from the first hardware layer of the hardware device attests a trusted computing base to the second hardware layer of the hardware device.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein to validate the attestation of the state of the hardware device includes operations performed by a verifier entity, and wherein the endorsement information is used to identify a plurality of components among multiple hardware layers of the hardware device.

### Claim 9 (depends on 8)

The computing system of claim 8, wherein the endorsement information corresponds to properties related to: hardware component type, vendor, model, layer, and index.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein the endorsement information is provided from a plurality of endorsement manifests, the plurality of endorsement manifests providing information associated with a plurality of entities associated with hardware components providing hardware features at the respective layers, and a plurality of versions associated with the hardware features at the respective layers.

### Claim 11 (depends on 1)

The computing system of claim 1, wherein the hardware device is a node operating in: an internet of things (IoT) computing system or an edge computing network.

### Claim 12

A non-transitory machine-readable storage medium including instructions, wherein the instructions, when executed by a processing circuitry of a computing system, cause the processing circuitry to perform attestation operations to:
obtain layered attestation evidence regarding a state of a hardware device capable to perform compute operations on behalf of the computing system, wherein the layered attestation evidence includes attesting evidence from a first hardware layer of the hardware device that is dependent on attesting evidence from a second hardware layer of the hardware device;
obtain endorsement information to be used to evaluate the layered attestation evidence, the endorsement information obtained from a manifest and relating to a third party verification of the state of the hardware device;
determine an appraisal policy to be used to evaluate the layered attestation evidence, the appraisal policy obtained from an expected device definition;
validate attestation of the state of the hardware device by applying the appraisal policy and the endorsement information to evaluate the layered attestation evidence; and
perform compute operations with the hardware device, in response to the attestation of the state of the hardware device.

### Claim 13 (depends on 12)

The machine-readable storage medium of claim 12, wherein the attesting evidence provided from the first hardware layer of the hardware device is associated with a hardware component produced by a first entity, and wherein the attesting evidence provided from the second hardware layer of the hardware device is associated with a hardware component produced by a second entity.

### Claim 14 (depends on 12)

The machine-readable storage medium of claim 12, wherein the layered attestation evidence is provided according to a template, the template defining properties for applying the appraisal policy to the layered attestation evidence provided from the first hardware layer and provided from the second hardware layer.

### Claim 15 (depends on 14)

The machine-readable storage medium of claim 14, the attestation operations further to:
verify that reference values provided in the layered attestation evidence are supplied by an intended owner.

### Claim 16 (depends on 14)

The machine-readable storage medium of claim 14, wherein the properties relate to layered attestation evidence from at least one of: firmware, read-only memory, storage memory, fuses, straps, softstraps, or electronic fuses.

### Claim 17 (depends on 12)

The machine-readable storage medium of claim 12, wherein the attesting evidence at each of the first hardware layer and the second hardware layer is produced using a certificate associated with trusted computing base properties, the trusted computing base properties being defined for respective hardware components at the respective layers.

### Claim 18 (depends on 12)

The machine-readable storage medium of claim 12, wherein the attesting evidence provided from the first hardware layer of the hardware device attests a trusted computing base to the second hardware layer of the hardware device.

### Claim 19 (depends on 12)

The machine-readable storage medium of claim 12, wherein the attestation operations are performed by a verifier entity, and wherein the endorsement information is used to identify a plurality of components among multiple hardware layers of the hardware device.

### Claim 20 (depends on 19)

The machine-readable storage medium of claim 19, wherein the endorsement information corresponds to properties related to: hardware component type, vendor, model, layer, and index.

### Claim 21 (depends on 12)

The machine-readable storage medium of claim 12, wherein the endorsement information is provided from a plurality of endorsement manifests, the plurality of endorsement manifests providing information associated with a plurality of entities associated with hardware components providing hardware features at the respective layers, and a plurality of versions associated with the hardware features at the respective layers.

### Claim 22 (depends on 12)

The machine-readable storage medium of claim 12, wherein the hardware device is a node operating in:
an internet of things (IoT) computing system or an edge computing network.

### Claim 23

A method, comprising a plurality of operations executed with a processor and memory of a computing system, to perform attestation operations comprising:
obtaining layered attestation evidence regarding a state of a hardware device capable to perform compute operations on behalf of the computing system, wherein the layered attestation evidence includes attesting evidence from a first hardware layer of the hardware device that is dependent on attesting evidence from a second hardware layer of the hardware device;
obtaining endorsement information to be used to evaluate the layered attestation evidence, the endorsement information obtained from a manifest and relating to a third party verification of the state of the hardware device;
determining an appraisal policy to be used to evaluate the layered attestation evidence, the appraisal policy obtained from an expected device definition;
validating attestation of the state of the hardware device by applying the appraisal policy and the endorsement information to evaluate the layered attestation evidence; and
performing compute operations with the hardware device, in response to the attestation of the state of the hardware device.

### Claim 24 (depends on 23)

The method of claim 23, wherein the attesting evidence provided from the first hardware layer of the hardware device is associated with a hardware component produced by a first entity, and wherein the attesting evidence provided from the second hardware layer of the hardware device is associated with a hardware component produced by a second entity.

### Claim 25 (depends on 23)

The method of claim 23, wherein the layered attestation evidence is provided according to a template, the template defining properties for applying the appraisal policy to the layered attestation evidence provided from the first hardware layer and provided from the second hardware layer, and wherein the properties relate to layered attestation evidence from at least one of: firmware, read-only memory, storage memory, fuses, straps, softstraps, or electronic fuses.

### Claim 26

An apparatus to perform attestation operations, comprising:
means for identifying layered attestation evidence regarding a state of a hardware device capable to perform compute operations on behalf of the apparatus, wherein the layered attestation evidence includes attesting evidence from a first hardware layer of the hardware device that is dependent on attesting evidence from a second hardware layer of the hardware device;
means for identifying endorsement information to be used to evaluate the layered attestation evidence, the endorsement information obtained from a manifest and relating to a third party verification of the state of the hardware device;
means for determining an appraisal policy to be used to evaluate the layered attestation evidence, the appraisal policy obtained from an expected device definition;
means for validating attestation of the state of the hardware device by applying the appraisal policy and the endorsement information to evaluate the layered attestation evidence; and
means for causing compute operations to be performed with the hardware device, in response to the attestation of the state of the hardware device.

### Claim 27 (depends on 26)

The apparatus of claim 26, further comprising:
means for verifying that reference values provided in the layered attestation evidence are supplied by an intended owner.

### Claim 28 (depends on 26)

The apparatus of claim 26, wherein the attesting evidence provided from the first hardware layer of the hardware device provides attestation of a trusted computing means to the second hardware layer of the hardware device.
