Trust Domain Memory Encryption for Virtualized Workload Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computing systems face challenges in protecting data in memory from attacks, especially in virtualized environments where data is vulnerable due to plaintext storage and the exposure of sensitive information in cloud-based hosting services.
Innovation Solution
The implementation of a Trust Domain (TD) architecture with Memory Encryption via a Multi-key Total Memory Encryption (MK-TME) engine, a Trust Domain Resource Manager (TDRM), and CPU-managed Memory Ownership Table (MOT) provides cryptographic isolation and resource management to secure tenant workloads from untrusted cloud service provider software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If data is stored in plaintext in memory for easy access, then ease of operation is improved, but data security deteriorates as attackers can retrieve sensitive information through memory scanning and probing
Solution Approach 1:
The patent segments memory into multiple encryption domains, each protected by its own encryption key. This allows different portions of memory to be encrypted independently, enabling selective decryption for access while maintaining security for other regions. The segmentation principle resolves the contradiction by organizing memory into secure segments that can be accessed controllably without exposing the entire memory space to attacks.
Solution Approach 2:
The patent changes the encryption state parameter of memory from unencrypted to encrypted, and dynamically adjusts encryption/decryption states based on access requirements. By changing the cryptographic parameters (encryption keys, cipher states) rather than the physical memory structure, the system maintains data accessibility for authorized operations while protecting against unauthorized access through mathematical security.
2Productivity
If cloud service providers are given full access to manage virtualized workloads, then productivity and service management are improved, but trust and security isolation deteriorate as CSP software may compromise tenant data confidentiality
Solution Approach 1:
The patent extracts the trust requirement from the CSP software environment and places it in a hardware-based Trust Domain. By taking out the critical security function (trust verification) from the untrusted CSP software layer and embedding it in hardware, the system allows CSPs to manage workloads productively while ensuring that data confidentiality is protected by hardware-enforced isolation that CSP software cannot compromise.
Solution Approach 2:
The patent introduces a hardware-based Trust Domain as an intermediary between tenant workloads and CSP software. This intermediary enforces security policies and manages cryptographic protection independently of CSP software, allowing efficient workload management by the CSP while maintaining reliable confidentiality through the hardware mediator that neither party can bypass or compromise.
3Object-affected harmful factors
If encryption is applied to all memory to protect data confidentiality, then data security is improved, but processing speed and system performance deteriorate due to decryption overhead
Solution Approach 1:
The patent applies partial encryption by encrypting only specific memory regions that contain sensitive data, rather than encrypting entire memory spaces. This selective approach reduces the decryption overhead to only the necessary portions, maintaining high processing speed for non-sensitive data while providing adequate security protection for confidential information, thus resolving the speed-security tradeoff.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
Implementations describe providing isolation in virtualized systems using trust domains. In one implementation, an apparatus comprises: a memory to store a data structure including a key identifier corresponding to an encryption key assigned to a first tenant workload, a guest physical address corresponding to a host physical memory page assigned to the first tenant workload, and metadata attributes for the host physical memory page; and a processor. The processor includes: an instruction decoder to decode a plurality of instructions, the plurality of instructions including a first instruction to create a tenant workload control structure and a second instruction to create a tenant workload thread control structure; and one or more execution units to execute one or more of the plurality of instructions to create a first tenant workload control structure for managing metadata of the first tenant workload, create a first tenant workload thread control structure for maintaining execution state of the first tenant workload. The data structure is access-controlled against software access. The first tenant workload thread control structure is access-controlled against software access. The host physical memory page is encrypted with the encryption key. The one or more execution units, when executing the first tenant workload using the guest physical address, are to reference the data structure to obtain the key identifier to allow the apparatus to access and decrypt the host physical memory page.