Virtual TPM Binding to Physical Host for Remote Attestation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing remote attestation mechanisms face challenges in managing and maintaining a large and unbounded whitelist of software components, which complicates the verification of software integrity in target computer systems, especially in systems with multiple binaries and virtual machines.
Innovation Solution
The proposed solution involves using a trusted platform module (TPM) to generate cryptographic quotes based on software components' checksums and order of execution, along with an event log and metadata database, allowing for efficient verification of software integrity without the need for a large whitelist, and extends this to virtual machines by coupling virtual TPMs with physical TPMs using asymmetric key pairs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a whitelist of software components and checksums is maintained by the verifier, then software integrity verification is enabled, but the whitelist becomes large and difficult to manage and maintain
Solution Approach 1:
The patent extracts the whitelist management burden from the verifier by having the target system generate and provide a curated event log that includes only the software components actually executed. This eliminates the need for the verifier to maintain a comprehensive whitelist of all possible software components, as the event log serves as a self-contained verification artifact.
Solution Approach 2:
The target system performs preliminary actions by measuring and recording software component checksums in the event log before verification occurs. The TPM measures each software component's checksum and records it in the event log during system operation, preparing the verification data in advance so the verifier only needs to validate the provided measurements against the event log without needing a pre-existing whitelist.
2Reliability
If checksums of multiple software components are measured and stored, then software integrity verification is improved, but storage requirements and computational burden increase
Solution Approach 1:
The patent segments the verification data into individual software component measurements recorded in the event log, with each measurement being independently verified. The TPM measures each software component separately and records its checksum along with identification information in the event log, allowing the verifier to process and validate measurements incrementally rather than handling all data at once, thus reducing computational burden.
3Reliability
If remote attestation is performed for virtual machines, then trust in virtualized environments is established, but the complexity of binding virtual TPMs to physical hosts increases
Solution Approach 1:
The patent implements a nested structure where a virtual TPM (vTPM) is embedded within the virtual machine environment, which itself runs on a physical host with a physical TPM. The vTPM inherits and extends the trust properties of the physical TPM, creating a nested trust hierarchy. The vTPM measures virtual software components and records them in a virtual event log, while maintaining cryptographic bindings to the physical host's TPM through shared key material, allowing remote verification without exposing the complexity of the virtualization layer.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach enables efficient and trusted authentication of software configurations, reducing storage and computational burdens on attestation servers and ensuring trustworthiness of both host and virtual machines by eliminating the need for extensive whitelisting, while maintaining the integrity of software components.
Implementation Method 1
The TPM measures the software running on a target system by calculating and storing checksums of software components
Implementation Method 2
coupling virtual TPMs with physical TPMs using asymmetric key pairs
Data Source
AI summary
An example method of authenticating software executing in a computer system includes verifying first software executing on the computer system, the software including a hypervisor, verifying second software executing in a virtual machine (VM) managed by the hypervisor, generating a binding key having public and private portions, signing an object to identifies the VM using the private portion of the binding key, and verifying a signature of the object using a public portion of the binding key.


