Trusted Execution Environment Bootloader for Cloud Workload Isolation

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

VSEngineering 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

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveapplication execution flexibilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If proof records are created and stored for authenticity verification, then security verification capability is improved, but storage requirements and system complexity increase

Engineering Contradiction:
Improvesecurity verification capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11755721B2Trusted workload execution
Publication Date: 2023.09.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11755721B2 patent drawing
  • US11755721B2 patent drawing
  • US11755721B2 patent drawing

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.