Unified I/O Key for Secure DMA in Multi-Key Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current Multi-Key Total Memory Encryption (MKTME) engine supports only 64 KeyIDs, leading to security issues during direct memory access (DMA) due to KeyID oversubscription, where a KeyID for one trusted domain (TD) can be reclaimed and reassigned to another TD, potentially allowing unauthorized access to private DMA data.

Innovation Solution

Implementing a single I/O key for all DMA transfers, indexed with a fixed IOKeyID, which is generated uniquely at each platform reset, and using a Memory Ownership Table (MOT) to ensure secure DMA operations by encrypting all DMA data with the same I/O key, preventing reclamation and enhancing security against cross-domain attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple KeyIDs are used for different trusted domains in DMA transfers, then each domain can have its own encryption key for security, but the limited KeyID space (64) causes oversubscription and security vulnerabilities when keys are reclaimed and reassigned

Engineering Contradiction:
ImprovesecurityVSAvoidKeyID management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple domain-specific encryption keys into a single I/O encryption key. Instead of managing separate KeyIDs for each trusted domain, the system uses one unified I/O KeyID that all domains share for DMA operations. This eliminates the oversubscription problem while maintaining security through domain-specific memory encryption keys that are mapped to the unified I/O key.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The I/O KeyID serves multiple functions: it acts as the encryption key for all I/O devices performing DMA transfers, serves as the identifier for the I/O encryption key in the Key Encryption Table, and provides a universal key management mechanism that works across all trusted domains without requiring domain-specific KeyIDs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a single I/O key is used for all DMA transfers, then security against cross-domain attacks is enhanced and KeyID oversubscription is prevented, but the ability to have domain-specific key management is reduced

Engineering Contradiction:
ImprovesecurityVSAvoiddomain-specific key management
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments key management into two layers: a unified I/O KeyID for DMA transfer identification and domain-specific memory encryption keys for actual data protection. The Memory Ownership Table segments memory pages by domain ownership, allowing the system to maintain domain-specific security policies while using a single I/O key for the DMA transfer mechanism itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The I/O KeyID acts as an intermediary between the DMA transfer mechanism and the actual data encryption. It mediates the transfer process by identifying the target domain and facilitating access to the appropriate domain-specific encryption key through the Key Encryption Table, without requiring the I/O device to directly manage multiple domain keys.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If KeyID is reclaimed and reassigned for scalability, then platform scalability is improved, but security is compromised as reclaimed keys may access data from previous domains

Engineering Contradiction:
Improveplatform scalabilityVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation by checking the Memory Ownership Table before allowing DMA access. This preliminary check verifies that the target memory page is actually owned by the domain associated with the I/O device, preventing reclaimed KeyIDs from accessing data from previous domains. The validation occurs before the actual transfer, blocking potential security violations in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Memory Ownership Table provides feedback about domain ownership of memory pages. When a DMA transfer is requested, the system queries the MOT to verify ownership, and this feedback mechanism prevents unauthorized access by reclaimed keys. The feedback loop ensures that even if KeyIDs are reused, the system can detect and block invalid access attempts.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11494523B2Direct memory access mechanism
Publication Date: 2022.11.08 INTEL CORP
  • US11494523B2 patent drawing
  • US11494523B2 patent drawing
  • US11494523B2 patent drawing

AI summary

An apparatus to facilitate security of a shared memory resource is disclosed. The apparatus includes a memory device to store memory data, wherein the memory device comprises a plurality of private memory pages associated with one or more trusted domains and a cryptographic engine to encrypt and decrypt the memory data, including a key encryption table having a key identifier associated with each trusted domain to access a private memory page, wherein a first key identifier is generated to perform direct memory access (DMA) transfers for each of a plurality of input/output (I/O) devices.