Host CPU Trust Establishment for Non-Host Device Code Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems lack a secure mechanism to handle non-host devices assigned by a host using a multiprocessing protocol, and there is no existing system to verify the identity and reliability of non-host devices via certificates and digital signatures.
Innovation Solution
The proposed solution involves an information handling system that establishes trust between a host CPU and a non-host device via cryptographic measurements during the pre-boot environment, transfers trust data from the host CPU to a non-CPU processing unit, and executes code associated with the non-host device on the non-CPU processing unit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cryptographic measurements are performed during pre-boot environment, then trust establishment between host CPU and non-host device is improved, but system complexity increases
Solution Approach 1:
The patent performs cryptographic measurements and trust establishment during the pre-boot environment before the operating system loads. This preliminary action ensures that trust is established before any potentially untrusted code executes, allowing the system to verify hardware identities and firmware integrity early in the boot process without adding complexity to the main system operation.
Solution Approach 2:
The patent introduces a Trusted Platform Module (TPM) as an intermediary component that handles cryptographic operations and trust establishment. The TPM acts as a dedicated security module that performs measurements, stores results in platform configuration registers, and manages key pairs, thereby isolating the complexity of cryptographic operations from the main system architecture.
2Reliability
If code measurements are performed prior to execution on non-CPU processing units, then code integrity verification is improved, but execution speed decreases
Solution Approach 1:
The patent performs code measurements and integrity verification during the pre-boot environment before code is transferred to non-CPU processing units. By completing these verification actions beforehand, the system ensures code integrity without delaying the actual execution phase, as the measurements are already stored in the TPM for later reference.
Solution Approach 2:
The patent creates a copy of the measurement results and stores them in platform configuration registers (PCRs) within the TPM. These stored measurement copies can be later retrieved and verified without re-executing the measurement process, allowing rapid verification of code integrity on non-CPU units without repeating time-consuming cryptographic operations.
3Reliability
If trust data is transferred from host CPU to non-CPU processing unit, then secure code execution is improved, but data transmission security risks increase
Solution Approach 1:
The patent uses the TPM as an intermediary that securely stores trust data and measurement results. The TPM provides a secure channel and protected storage mechanism that isolates sensitive trust data from the non-CPU processing units, allowing data transfer while maintaining security through the TPM's cryptographic protection and physical security features.
Solution Approach 2:
The patent extracts sensitive trust establishment operations from the main code execution path and places them in the pre-boot environment and TPM. By separating these critical security operations into a dedicated pre-boot phase with isolated cryptographic operations, the system minimizes the attack surface during data transmission and prevents malicious code from intercepting or modifying trust data.
4Adaptability or versatility
If multiprocessor environments are implemented, then system functionality is improved, but vulnerability to time-of-creation/time-of-use attacks increases
Solution Approach 1:
The patent performs all trust establishment and code integrity verification actions during the pre-boot environment before any multiprocessor code execution begins. This preliminary verification ensures that even in multiprocessor environments where time-of-creation/time-of-use attacks could occur, the system has already established cryptographic trust and verified code integrity before the vulnerable execution phase starts.
Data Source
AI summary
An information handling system may include a host central processing unit (CPU), a non-CPU processing unit, and a non-host device. The information handling system may be configured to, during execution of a pre-boot environment: establish trust between the host CPU and the non-host device via a cryptographic measurement; transfer data regarding the established trust from the host CPU to the non-CPU processing unit; and execute code associated with the non-host device on the non-CPU processing unit.


