Memory Encryption for Secure DMA in Unified Architectures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Unified memory architectures in computing systems are vulnerable to unauthorized access due to direct memory access capabilities, which can lead to security breaches through code insertion attacks, as existing memory management units do not control DMA operations, and rigid memory reservation approaches limit flexibility and operational flows.
Innovation Solution
Implementing memory encryption to create a secure path between functional units, using access secrets like keys or nonces, and employing a communication protocol to authenticate DMA initiators and manage nonces, allowing only authorized units to access encrypted data, while maintaining unified memory and flexible operational flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If direct memory access is enabled for efficient processor operation, then processing efficiency is improved, but security vulnerability increases due to unauthorized access capability
Solution Approach 1:
The patent introduces a memory encryption mechanism as an intermediary layer between the unified memory and DMA functional units. Encryption keys act as a mediator that controls access rights, allowing efficient DMA operations while preventing unauthorized access. The encryption layer mediates between the need for fast memory access and the need for security protection.
Solution Approach 2:
The patent implements selective memory encryption where different memory regions can have different encryption states. Not all memory is encrypted uniformly, but rather specific sensitive memory areas are protected while others remain accessible. This allows efficient processing for authorized units while maintaining security for protected data.
2Object-affected harmful factors
If memory is reserved for specific functional units to limit access, then security is improved, but memory management flexibility deteriorates
Solution Approach 1:
The patent implements dynamic memory encryption where access rights can be changed at runtime. Instead of static memory reservation, the system can dynamically grant or revoke access to specific memory regions based on the operational context. This allows flexible memory management while maintaining security through dynamic key management.
Solution Approach 2:
The encryption mechanism serves multiple functions simultaneously: it provides security protection, enables flexible access control, and maintains unified memory architecture. The same encryption infrastructure supports both security isolation and flexible memory management for different functional units.
3Reliability
If MMU is used to isolate CPU process access, then memory protection is improved, but DMA security control is lost as hardware units can still access all memory locations
Solution Approach 1:
The patent adds encryption as an additional intermediary layer that operates independently of the MMU. While the MMU handles CPU process isolation, the encryption layer provides DMA security control. This dual-layer approach addresses both memory protection and DMA security vulnerabilities.
Solution Approach 2:
The patent segments the memory access control into two independent mechanisms: MMU for CPU process isolation and encryption for DMA security control. This segmentation allows each mechanism to specialize in its function without interfering with the other, resolving the limitation of using only MMU.
Data Source
AI summary
A functional unit of a device is associated with a secret. Data stored in a memory location of the device is encrypted using the secret. The memory location of the device is accessible to other functional units; but without knowledge of the secret, the stored encrypted data is useless. The sharing of the secret creates a secure path between memory locations and functional units of the device while maintaining a unitary memory architecture. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.


