Secure Hardware Enclave Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security applications are vulnerable to tampering, as their sensitive datasets can be altered by attackers gaining system-level access, rendering their security functions ineffective.

Innovation Solution

Implementing a secure hardware enclave on a client system to run an integrity verifier, which receives and verifies cryptographic hashes of application datasets, ensuring tampering detection and prevention through isolated and trusted hash computation and verification within the enclave.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sensitive datasets are stored in regular memory accessible by the operating system, then the applications can access and use the data efficiently, but the data becomes vulnerable to tampering by attackers with system-level access

Engineering Contradiction:
Improvedata integrityVSAvoidtampering vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent divides the memory space into regular memory and secure enclave memory. The sensitive dataset is segmented and stored specifically within the secure enclave, separating it from the rest of the system memory. This segmentation ensures that only authorized code within the enclave can access the data, while maintaining efficient access for the application through controlled interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secure enclave acts as an intermediary between the application and the sensitive dataset. Instead of the application directly accessing the data in regular memory, all access must go through the enclave's controlled interfaces. This intermediary layer verifies and controls every access, preventing unauthorized tampering while allowing legitimate operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the integrity verifier runs in user-world code outside the enclave, then it can access the dataset efficiently, but it becomes vulnerable to subversion by attackers

Engineering Contradiction:
Improveverification trustworthinessVSAvoidenclave implementation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The integrity verifier is extracted from the untrusted user-world environment and placed inside the secure enclave. By taking out the verification function from the vulnerable external environment and relocating it to the protected enclave, the patent ensures that the verification process itself cannot be subverted by attackers, even though they may control the rest of the system.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If hash verification is performed continuously to detect tampering, then data integrity is ensured, but system performance degrades due to constant computation

Engineering Contradiction:
Improveintegrity monitoringVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of continuous verification, the patent implements periodic hash verification within the secure enclave. The enclave computes hashes of the dataset at scheduled intervals rather than constantly. This periodic approach maintains adequate integrity monitoring while significantly reducing the computational overhead and performance impact compared to continuous verification.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11170077B2Validating the integrity of application data using secure hardware enclaves
Publication Date: 2021.11.09 VMWARE INC
  • US11170077B2 patent drawing
  • US11170077B2 patent drawing
  • US11170077B2 patent drawing

AI summary

Techniques for verifying the integrity of application data using secure hardware enclaves are provided. In one set of embodiments, a client system can create a secure hardware enclave on the client system and load program code for an integrity verifier into the secure hardware enclave. The client system can further receive a dataset from a server system and store the dataset at a local storage or memory location, and receive, via the integrity verifier, a cryptographic hash of the dataset from the server system and store the received cryptographic hash at a memory location within the secure hardware enclave. Then, on a periodic basis, the integrity verifier can compute a cryptographic hash of the stored dataset, compare the computed cryptographic hash against the stored cryptographic hash, and if the computed cryptographic hash does not match the stored cryptographic hash, determine that the stored dataset has been modified.