Trusted Execution Environment Bootloader for Cloud Workload Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud environments face vulnerabilities in their security models, leading to unauthorized access, data leakage, and financial damage due to shared resources among virtual machines, which existing technologies have not adequately addressed.
Innovation Solution
A method involving a trusted execution environment where encrypted secrets are decrypted using bootloader decryption keys, stored, and used to execute applications, with a proof record created for authenticity, ensuring secure execution and isolation from other environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud environments share physical resources among virtual machines, then resource utilization efficiency is improved, but security vulnerabilities increase leading to unauthorized access and data leakage
Solution Approach 1:
The system segments the shared cloud environment into isolated trusted execution environments (TEEs) for each application. Each TEE is a protected enclave that logically divides the physical resources, ensuring that while resources are shared at the hardware level, security boundaries are maintained through segmentation of the execution context. This allows high resource utilization while preventing unauthorized access between tenants.
Solution Approach 2:
The bootloader acts as an intermediary component that mediates between the untrusted cloud environment and the application. It performs decryption of secrets, creates proof records, and manages the transition into the TEE. This intermediary layer protects the application from direct exposure to the untrusted hypervisor and cloud infrastructure, maintaining security while enabling resource sharing.
2Adaptability or versatility
If decryption keys are stored for secret decryption, then application execution flexibility is improved, but security is worsened due to potential key exposure
Solution Approach 1:
The bootloader performs preliminary decryption of secrets using embedded keys before the application executes. The decryption keys are embedded in the bootloader rather than being stored separately, and the decryption operation is completed before the application gains access to the decrypted secrets. This preliminary action ensures that flexible application execution is enabled while the keys themselves never exist in a vulnerable state during application runtime.
Solution Approach 2:
The decryption keys are discarded after use - they are embedded in the bootloader for the specific purpose of decryption and then eliminated. The system recovers the secrets (which are then stored securely in the TEE) but the keys themselves are not retained in a form that could be exposed. This follows the principle of using keys temporarily and discarding them after their function is fulfilled.
3Reliability
If proof records are created and stored for authenticity verification, then security verification capability is improved, but storage requirements and system complexity increase
Solution Approach 1:
The system creates a proof record that is a cryptographic copy or representation of the trusted execution state. Rather than storing and verifying complex trust relationships, the system generates a compact proof record (such as a measurement hash or attestation token) that can be verified externally. This copying approach provides strong security verification capability while keeping the additional data structures minimal and manageable.
Data Source
AI summary
The present disclosure relates to a computer implemented method for executing an application. The method comprises: executing a bootloader in a trusted execution environment, wherein the executing comprises: decrypting received encrypted secrets using decryption keys of the boot loader, storing the decrypted secrets in a storage accessible by the application, creating a proof record indicating the application, the secrets and the trusted execution environment, storing the proof record in the storage, and deleting the decryption keys. The application may be executed in the trusted execution environment using the decrypted secrets. The proof record may be provided by the application for proving authenticity.


