Cryptographic Address Translation for Memory Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face security vulnerabilities through predictable mapping of virtual addresses to physical addresses in memory management units, allowing hackers to introduce malicious code by modifying this mapping, which prior security measures fail to prevent.
Innovation Solution
A method and system that enforce a predefined mapping by generating an intermediate address space using a cryptographic function of both physical and virtual addresses, ensuring that only the correct intermediate address can be converted back to the corresponding physical address, thus preventing unauthorized modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a memory management unit maps virtual addresses to physical addresses in a predictable manner, then system operation is simplified and efficient, but security is compromised allowing hackers to predict physical addresses and introduce malicious code
Solution Approach 1:
The patent introduces an intermediate address space that acts as a mediator between virtual addresses and physical addresses. The MMU maps virtual addresses to intermediate addresses, and a separate cryptographic module converts intermediate addresses to physical addresses using cryptographic functions. This intermediary layer prevents hackers from directly predicting physical addresses while maintaining efficient address translation.
Solution Approach 2:
The address translation process is segmented into two distinct stages: first, the MMU translates virtual addresses to intermediate addresses using traditional paging mechanisms; second, a cryptographic module transforms intermediate addresses to physical addresses using cryptographic functions. This segmentation allows each component to optimize for its specific function while collectively providing both efficiency and security.
2Object-affected harmful factors
If cryptographic functions are used to transform physical addresses to intermediate addresses, then security is improved by preventing prediction of physical addresses, but device complexity increases
Solution Approach 1:
The cryptographic module serves as an intermediary that adds security without significantly complicating the overall system. It receives intermediate addresses from the MMU, applies cryptographic transformation using stored cryptographic parameters, and outputs physical addresses. This modular approach isolates the complexity within a dedicated component while maintaining simplicity in the overall address translation workflow.
Solution Approach 2:
Cryptographic parameters are pre-computed and stored in the cryptographic module before runtime address translation occurs. The cryptographic transformation uses these pre-prepared parameters to efficiently convert intermediate addresses to physical addresses, avoiding the need for complex real-time cryptographic key management or computation during address translation operations.
3Object-affected harmful factors
If the mapping from virtual address to physical address is made unpredictable through cryptographic transformation, then security is improved, but the time required for address translation increases
Solution Approach 1:
The address translation process is divided into two segments: the MMU performs rapid virtual-to-intermediate address translation using hardware paging tables, and the cryptographic module performs the security-critical intermediate-to-physical address transformation. This segmentation allows the time-consuming cryptographic operation to be isolated and optimized separately, minimizing its impact on overall translation performance.
Solution Approach 2:
Cryptographic parameters are pre-computed and cached in the cryptographic module, allowing rapid transformation of intermediate addresses to physical addresses during runtime. The cryptographic function uses these pre-prepared parameters rather than performing full cryptographic computations each time an address translation is needed, significantly reducing translation time.
Data Source
AI summary
A system and a method are disclosed for enforcing a predetermined mapping of addresses in a physical address space to addresses in a virtual address space in a data processing system including a processor in the virtual address space and a memory in a physical address space. During the compilation and linking of an application to be run on the data processing system, in at least one embodiment, the mapping table is generated linking the virtual addresses to physical addresses. This mapping table is kept secret. A second mapping table is generated using a cryptographic function of the physical address with the virtual address as a key to link virtual addresses to intermediate addresses. The second mapping table is loaded into the memory management unit. The data processing system further includes cryptographic hardware to convert the intermediate address to the physical address using the inverse of the cryptographic function which was used to calculate the intermediate address.


