Virtual TPM Binding to Physical Host for Remote Attestation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesoftware integrity verificationVSAvoidwhitelist management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If checksums of multiple software components are measured and stored, then software integrity verification is improved, but storage requirements and computational burden increase

Engineering Contradiction:
Improvesoftware integrity verificationVSAvoiddata storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvevirtual machine trust establishmentVSAvoidvirtual TPM binding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

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

Methodology Applied
Scientific EffectCryptographic hashing:

Implementation Method 2

coupling virtual TPMs with physical TPMs using asymmetric key pairs

Methodology Applied
Scientific EffectAsymmetric cryptography:

Data Source

PatentUS10853494B2Binding a trusted virtual machine to a trusted host computer
Publication Date: 2020.12.01 VMWARE INC
  • US10853494B2 patent drawing
  • US10853494B2 patent drawing
  • US10853494B2 patent drawing

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.