IP Library Granted Patent US 12712743
Granted Patent B2
US 12712743 · App. 18/553,864 · Granted Aug 18, 2026

Protection environment for attestation and sealing using a device identifier composition engine

Inventor: Darren David Krahn (Saratoga, CA)
Assignee: Google LLC
H04L9/3268H04L9/0877H04L9/3226
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 12712743
App. No.
18/553,864
Granted
Aug 18, 2026
Kind
B2
Abstract

Apparatus and methods related to receiving, by a secure component and from a client computing device via a secure communication channel, input data for a task associated with the client computing device, wherein the task is based on a device identifier composition engine (DICE) protocol, and wherein the secure component is to perform a cryptographic subtask of the task; receiving, by the secure component and from the client computing device via the secure communication channel, context data associated with the cryptographic subtask; executing, by the secure component, the cryptographic subtask based on the input data and the context data; and providing, by the secure component and to the client computing device via tiie secure communication channel, an output of the cryptographic subtask.

Claims (60)

1 . A computer-implemented method, comprising:

receiving, by a secure component and from a client computing device via a secure communication channel, input data for a task associated with the client computing device, wherein the task is based on a device identifier composition engine (DICE) protocol, and wherein the secure component is to perform a cryptographic subtask of the task;

receiving, by the secure component and from the client computing device via the secure communication channel, context data associated with the cryptographic subtask, wherein the context data indicates an internal state of the secure component, the internal state being related to the cryptographic subtask, and wherein the secure component manages one or more policies associated with the context data to prevent unauthorized access or leakage;

executing, by the secure component, the cryptographic subtask based on the input data and the context data; and

providing, by the secure component and to the client computing device via the secure communication channel, an output of the cryptographic subtask.

2 . The computer-implemented method of claim 1 , further comprising:

accelerating, at the secure component, the cryptographic subtask.

3 . The computer-implemented method of claim 1 , further comprising:

implementing, at the secure component, a versioned key derivation function (KDF) for sealing, wherein one or more version clamps are set during boot, and enforced for sealing key derivation.

4 . The computer-implemented method of claim 1 , wherein the secure component is one of: a system on a chip (SoC), a software application on a secure hardware element of the computing device, a software application in a trusted environment of the computing device, or an application on a virtual machine.

5 . The computer-implemented method of claim 1 , further comprising:

identifying the task during a system boot process of the DICE protocol.

6 . The computer-implemented method of claim 1 , further comprising:

identifying that a trusted execution environment (TEE) has been initialized for the secure component, and

wherein the executing of the cryptographic subtask comprises executing the DICE protocol at the secure component within the TEE.

7 . The computer-implemented method of claim 1 , wherein the context data is a single use data, and wherein the context data is bound to a single session of the task.

8 . The computer-implemented method of claim 1 , further comprising:

performing data rotation of the context data, wherein the data rotation comprises invalidating existing context data for a current session to prevent use in a future session.

9 . The computer-implemented method of claim 1 , wherein the cryptographic subtask relates to an initialization of an additional DICE context, a software application policy, or both.

10 . The computer-implemented method of claim 1 , wherein the cryptographic subtask relates to a generation of an attestation certificate for a software application of a plurality of software applications on the computing device.

11 . The computer-implemented method of claim 10 , wherein the generation of the attestation certificate is associated with an internal attribute.

12 . The computer-implemented method of claim 1 , wherein the cryptographic subtask further comprises:

sealing a password into the secure component.

13 . The computer-implemented method of claim 12 , wherein the sealing is bound to one or more version clamps for a software application of a plurality of software applications on the computing device.

14 . The computer-implemented method of claim 13 , wherein the sealing is bound to one or more internal versions.

15 . The computer-implemented method of claim 12 , wherein the sealing is associated with one or more internal attributes.

16 . The computer-implemented method of claim 1 , wherein the cryptographic subtask relates to message encoding.

17 . The computer-implemented method of claim 1 , wherein the cryptographic subtask relates to secure communication.

18 . The computer-implemented method of claim 1 , wherein the receiving of the context data comprises receiving the context data in an encrypted format, wherein a decrypting of the encrypted format is restricted to the secure component, and the method further comprising:

decrypting, by the secure component, the context data in the encrypted format.

19 . The computer-implemented method of claim 1 , further comprising:

deleting, by the secure component, the context data subsequent to the executing of the cryptographic subtask.

20 . The computer-implemented method of claim 1 , wherein the secure component is a second computing device communicatively linked to the client computing device.

21 . The computer-implemented method of claim 1 , wherein the secure component is hosted in a secured environment in the client computing device.

22 . The computer-implemented method of claim 1 , further comprising:

identifying, by the secure component, that the client computing device is initiating the DICE protocol; and

establishing, by the secure component and in response to the identifying, the secure communication channel.

23 . The computer-implemented method of claim 1 , wherein the secure component stores a unique device secret (UDS) associated with the client computing device.

24 . The computer-implemented method of claim 1 , wherein the output of the cryptographic subtask is a compound device identifier (CDI) certificate.

25 . The computer-implemented method of claim 1 , wherein the input data comprises one or more of code data, authority data, configuration data, mode decision, or a hidden input data.

26 . The computer-implemented method of claim 1 , wherein the input data comprises code data and configuration data, and wherein the executing of the cryptographic subtask comprises generating an attestation compound device identifier based on the input data.

27 . The computer-implemented method of claim 1 , wherein the input data comprises authority data, mode decision, and a hidden input data, and wherein the executing of the cryptographic subtask comprises generating a sealing compound device identifier based on the input data.

28 . The computer-implemented method of claim 1 , wherein the executing of the cryptographic subtask comprises generating a compound device identifier (CDI) based on the input data, and wherein the output of the cryptographic subtask is a CDI certificate, and the method further comprising:

storing, in the secure component, the CDI, one or more cryptographic keys associated with the CDI, and one or more private certificate keys associated with the CDI certificate, and

wherein the providing of the output of the cryptographic subtask comprises providing the CDI certificate to the client computing device.

29 . The computer-implemented method of claim 1 , wherein the one or more policies associated with the context data relates to the DICE protocol.

30 . The computer-implemented method of claim 1 , wherein the context data is an opaque handle or an encrypted data object that the secure component can interpret.

31 . The computer-implemented method of claim 1 , wherein the context data is a single-use data bound to a single session, and managed by the secure component to prevent reuse.

32 . A computing device, comprising:

one or more processors; and

data storage, wherein the data storage has stored thereon computer-executable instructions that, when executed by the one or more processors, cause the computing device to carry out functions comprising:

receiving, by a secure component and from a client computing device via a secure communication channel, input data for a task associated with the client computing device, wherein the task is based on a device identifier composition engine (DICE) protocol, and wherein the secure component is to perform a cryptographic subtask of the task;

receiving, by the secure component and from the client computing device via the secure communication channel, context data associated with the cryptographic subtask, wherein the context data indicates an internal state of the secure component, the internal state being related to the cryptographic subtask, and wherein the secure component manages one or more policies associated with the context data to prevent unauthorized access or leakage;

executing, by the secure component, the cryptographic subtask based on the input data and the context data; and

providing, by the secure component and to the client computing device via the secure communication channel, an output of the cryptographic subtask.

33 . An article of manufacture comprising one or more non-transitory computer readable media having computer-readable instructions stored thereon that, when executed by one or more processors of a computing device, cause the computing device to carry out functions comprising:

receiving, by a secure component and from a client computing device via a secure communication channel, input data for a task associated with the client computing device, wherein the task is based on a device identifier composition engine (DICE) protocol, and wherein the secure component is to perform a cryptographic subtask of the task;

receiving, by the secure component and from the client computing device via the secure communication channel, context data associated with the cryptographic subtask, wherein the context data indicates an internal state of the secure component, the internal state being related to the cryptographic subtask, and wherein the secure component manages one or more policies associated with the context data to prevent unauthorized access or leakage;

executing, by the secure component, the cryptographic subtask based on the input data and the context data; and

providing, by the secure component and to the client computing device via the secure communication channel, an output of the cryptographic subtask.