Application Execution Enclave Hardware Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization and containerization solutions lack secure methods to ensure that applications execute only on authorized hardware machines, as they rely on trusted lower-level programs like OS or hypervisors for verification, which can be compromised by attackers.
Innovation Solution
A method where an execution enclave on a device verifies its authenticity by using sealed data generated with a hardware key from a sealing enclave, ensuring only authorized devices can execute the application by retrieving and verifying cryptographic keys specific to the hardware and enclave identity, preventing interference from rogue OS or hypervisors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the application queries the OS or hypervisor for hardware information to verify machine identity, then the verification process can be performed, but the system becomes vulnerable to rogue OS or hypervisor attacks
Solution Approach 1:
The patent extracts the hardware verification function from the trusted but vulnerable OS/hypervisor layer and places it directly in the application enclave. The enclave independently queries hardware components (CPU, memory, I/O devices) to obtain hardware identifiers, eliminating dependence on the OS or hypervisor for identity verification and thus preventing rogue OS/hypervisor attacks.
Solution Approach 2:
The patent introduces hardware components (CPU, memory, I/O devices) as intermediaries between the application and the verification process. Instead of trusting the OS or hypervisor, the application directly queries these hardware components to obtain hardware identifiers, using the hardware itself as the trusted intermediary for identity verification.
2Adaptability or versatility
If the application is allowed to execute on virtual machines or containers that can be easily moved between hardware systems, then deployment flexibility is improved, but security is compromised as attackers can copy and relocate virtual machines
Solution Approach 1:
The patent performs preliminary binding of the application to specific hardware identifiers during the enclave initialization phase. The application queries hardware components and stores the obtained hardware identifiers before execution begins. This preliminary action ensures that the application is pre-configured to recognize only its authorized hardware environment, preventing attackers from copying or relocating the virtual machine to unauthorized systems.
Solution Approach 2:
The patent creates a cryptographic copy or binding of hardware identifiers within the enclave's memory space. The hardware identifiers obtained from querying physical components are stored and used as a reference for future verification. This creates an immutable record of the authorized hardware environment that the application can compare against during execution to detect unauthorized relocation.
3Reliability
If the application verifies hardware identity continuously, then security against unauthorized execution is improved, but system performance and execution speed deteriorate
Solution Approach 1:
The patent implements periodic verification rather than continuous verification. The application performs hardware identity checks at specific intervals or at critical transition points during execution (e.g., when starting, when resuming from suspension, or at predefined checkpoints). This periodic approach maintains security by regularly verifying the hardware environment while minimizing performance impact by avoiding constant verification overhead.
Data Source
AI summary
Provided is a method for securely executing an application, wherein a memory space of said application comprises an execution enclave configured to access a memory of the second device storing sealed data obtained by a sealing enclave by sealing on a first device a predetermined message with a first hardware key associated to said first device based on a value depending on an identity of said sealing enclave, and comprising, performed by said execution enclave to verify that the second device is authorized to execute the application. Other embodiments disclosed.

