Protected Memory Access Instructions for Data Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face security vulnerabilities due to potential erroneous or malicious changes in page table data, which can lead to inappropriate sharing of private memory regions containing sensitive data, despite the use of memory management units and protection units.

Innovation Solution

The introduction of protected and less-protected memory access instructions with distinct encodings, where protected instructions enforce more restrictive access conditions and less-protected instructions allow for less restrictive access, helping to prevent accidental or malicious data sharing by ensuring appropriate access control based on shared/private flags and encryption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory management units are programmed with permission data to control memory accesses, then memory protection is improved, but security vulnerabilities remain due to erroneous or malicious changes in page table data

Engineering Contradiction:
Improvememory protectionVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The instruction set is segmented into two distinct types: protected memory access instructions and less-protected memory access instructions. This segmentation allows the system to differentiate between operations that require strict security enforcement and those that can tolerate more permissive access conditions, thereby addressing the security vulnerability while maintaining necessary memory protection functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different security protection levels are applied to different memory access operations based on their specific requirements. Protected instructions enforce strict permission checks and prevent access to shared memory regions, while less-protected instructions allow more flexible access. This local quality approach ensures that security measures are applied precisely where needed without unnecessarily restricting legitimate memory operations.

Inventive Principle:
Principle #3Local quality

2Object-affected harmful factors

If protected memory access instructions enforce restrictive access conditions, then data security is improved, but instruction set complexity increases

Engineering Contradiction:
Improvedata securityVSAvoidinstruction set complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The security enforcement logic is extracted from the general memory access path and specifically integrated into the protected memory access instruction execution flow. This extraction allows the decoder to identify protected instructions and route them through enhanced security checks, while less-protected instructions follow the standard memory access path, thereby managing complexity by isolating security-critical operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The decoder performs preliminary identification of protected memory access instructions by examining specific encoding bits before the memory access operation is executed. This preliminary action allows the system to prepare appropriate security enforcement measures in advance, ensuring that protected instructions receive the necessary security treatment without adding significant overhead to the instruction execution pipeline.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If all memory access instructions use the same encoding format, then instruction decoding is simplified, but security differentiation between protected and less-protected operations cannot be achieved

Engineering Contradiction:
Improveinstruction decodingVSAvoidaccess control accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The encoding formats for protected and less-protected memory access instructions are made asymmetric by utilizing different values for specific encoding bits. This asymmetry enables the decoder to easily distinguish between the two instruction types through simple bit comparison, maintaining decoding simplicity while achieving reliable security differentiation. The asymmetric encoding ensures that protected instructions can be identified and handled with appropriate security measures.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentUS11669467B2Memory access instructions
Publication Date: 2023.06.06 ARM LTD
  • US11669467B2 patent drawing
  • US11669467B2 patent drawing
  • US11669467B2 patent drawing

AI summary

Processing circuitry performs processing operations specified by program instructions, and a decoder decodes memory access instructions to generate control signals to control the processing circuitry to perform memory access operations. The memory access instructions have respective encodings specifying protected memory access instructions corresponding to protected memory access operations and less-protected memory access instructions corresponding to less-protected memory access operations. The less-protected memory access operations are associated with less restrictive memory access conditions than the protected memory access operations.