Cryptographic Address Translation for Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveaddress mapping simplicityVSAvoidsecurity vulnerability to hacking
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvesecurity against address predictionVSAvoidaddress translation system complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveunpredictability of address mappingVSAvoidaddress translation time
Core Design Contradiction:
Object-affected harmful factorsVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8347114B2Method and apparatus for enforcing a predetermined memory mapping
Publication Date: 2013.01.01 NAGRAVISION SA
  • US8347114B2 patent drawing
  • US8347114B2 patent drawing
  • US8347114B2 patent drawing

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.