DICE Protection Environment for Secure Boot Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard Device Identifier Composition Engine (DICE) implementations face challenges such as design and security disadvantages, performance issues during boot processes, and vulnerabilities to data leakage and unauthorized access, particularly in complex systems where cryptographic tasks increase and DICE secrets can be exfiltrated or spoofed.

Innovation Solution

A DICE Protection Environment (DPE) is configured to manage policies for context data, protect DICE secrets, and accelerate cryptographic tasks by caching inputs and providing crypto-acceleration early in the boot process, using techniques like versioned key derivation and secure communication channels to prevent data leakage and unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard DICE computations are performed using firmware or software components, then cryptographic tasks can be executed, but security vulnerabilities arise allowing DICE secrets to be exfiltrated or spoofed

Engineering Contradiction:
ImprovesecurityVSAvoiddata leakage and unauthorized access
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system segments cryptographic operations into two distinct parts: a secure hardware-based DICE engine that generates and protects secrets, and a separate software layer that performs cryptographic computations. This segmentation isolates the secret generation in hardware (preventing exfiltration) while allowing flexible software-based processing, thus resolving the security vulnerability without sacrificing cryptographic functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A protected environment acts as an intermediary between the hardware DICE engine and the software cryptographic operations. This intermediary layer manages the secure communication channel, receives computations from software, executes them in a protected environment using cached inputs, and returns results. This mediator prevents direct access to DICE secrets while enabling necessary cryptographic tasks, resolving the contradiction between security and functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cryptographic tasks are performed during boot process, then system initialization can proceed, but performance issues arise due to increased computational load

Engineering Contradiction:
Improveboot process speedVSAvoidcomputational time during boot
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by caching cryptographic inputs in the protected environment before the boot process begins. During boot, when cryptographic computations are required, the system can immediately use these pre-cached inputs without requiring additional time for data preparation or access to secure storage, thus significantly reducing boot time while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional mechanical/crypto-intensive operations during boot with a software-based cryptographic computation system that runs in a protected environment. This substitution allows for more efficient processing by using software optimizations and cached data, reducing the computational time required during boot while maintaining the security properties of hardware-based cryptography.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If DICE secrets are made accessible for cryptographic operations, then cryptographic tasks can be performed, but security risks increase allowing unauthorized access and spoofing

Engineering Contradiction:
Improvecryptographic task executionVSAvoidprotection of DICE secrets
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The protected environment serves as an intermediary that enables cryptographic operations without exposing DICE secrets. Software-based cryptographic computations send requests to the protected environment, which executes them using cached inputs from the hardware DICE engine. The intermediary returns only the computation results, never the secrets themselves, thus maintaining both ease of operation and security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates and uses copies of cryptographic inputs in the protected environment rather than accessing the original DICE secrets directly. The hardware DICE engine generates secrets, which are then copied into the protected environment as cached inputs for software-based computations. This copying mechanism allows cryptographic operations to proceed easily while the original secrets remain protected in hardware, preventing unauthorized access and spoofing.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240187260A1Protection Environment for Attestation and Sealing Using a Device Identifier Composition Engine
Publication Date: 2024.06.06 GOOGLE LLC
  • US20240187260A1 patent drawing
  • US20240187260A1 patent drawing
  • US20240187260A1 patent drawing

AI summary

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.