Trusted Domain Extensions for Secure Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization systems lack a comprehensive solution to prevent page remapping attacks on virtual machine memory address spaces, compromising the confidentiality and integrity of virtual machine execution, especially in cloud environments where a malicious or exploited Virtual Machine Monitor (VMM) can alter memory mappings.

Innovation Solution

The introduction of Trusted Domain Extensions (TDX) with Secure Extended Page Tables (SEPTs) managed by a Trusted Domain Resource Manager (TDRM) using special processor instructions, ensuring that page mappings for Trusted Domains (TDs) cannot be altered without proper authorization, and employing memory encryption to maintain integrity and confidentiality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a VMM is used to manage virtual machine memory, then memory resource allocation and management is improved, but the system becomes vulnerable to page remapping attacks that compromise memory confidentiality and integrity

Engineering Contradiction:
Improvememory managementVSAvoidmemory security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the memory management system into two distinct components: a trusted execution environment (TEE) that securely manages memory mappings and page tables, and an untrusted VMM that handles high-level virtualization tasks. This segmentation isolates the critical memory mapping functions in a protected domain, preventing the VMM from performing malicious page remapping attacks while preserving its memory management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a trusted execution environment as an intermediary between the VMM and the hardware memory management structures. This TEE acts as a mediator that the VMM must interact with to modify memory mappings, ensuring that all page table modifications are authorized and verified by the trusted environment, thus preventing unauthorized remapping attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory encryption is implemented to protect VM memory, then confidentiality is improved, but access control and memory management complexity increases

Engineering Contradiction:
Improvememory confidentialityVSAvoidaccess control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The trusted execution environment implements self-service mechanisms for memory encryption and decryption, automatically managing cryptographic keys and encrypted memory pages without requiring complex external access control infrastructure. The TEE handles key generation, storage, and usage internally, reducing the overall system complexity while maintaining strong confidentiality protections.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent adds a new dimension of security by implementing encryption at the memory page level within the trusted execution environment, rather than relying solely on traditional access control lists or permission bits. This dimensional shift from coarse-grained access control to fine-grained cryptographic protection enables stronger confidentiality with manageable complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP3629540B1Apparatus and method for secure memory access using trust domains
Publication Date: 2024.02.07 INTEL CORP
  • EP3629540B1 patent drawingFigure 1A
  • EP3629540B1 patent drawingFigure 1B
  • EP3629540B1 patent drawingFigure 2A

AI summary

Examples include an apparatus which accesses secure pages in a trust domain using secure lookups in first and second sets of page tables. For example, one embodiment of the processor comprises: a decoder to decode a plurality of instructions including instructions related to a trusted domain; execution circuitry to execute a first one or more of the instructions to establish a first trusted domain using a first trusted domain key, the trusted domain key to be used to encrypt memory pages within the first trusted domain; and the execution circuitry to execute a second one or more of the instructions to associate a first process address space identifier (PASID) with the first trusted domain, the first PASID to uniquely identify a first execution context associated with the first trusted domain.