Memory Access Control via Hardware-Mediated Trust Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing access control methods in computer systems are inefficient and costly due to the need for context switches and remote procedure calls to manage access to sensitive data, particularly when untrusted processes require access to secure data.

Innovation Solution

Implementing a memory management unit (MMU) that distinguishes between trusted and untrusted code pages, allowing only trusted code to access sensitive data through local function calls and hardware-mediated checks, eliminating the need for context switches and remote communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If context switches and remote procedure calls are used to manage access to sensitive data, then access control can be implemented, but system overhead and access time increase significantly

Engineering Contradiction:
Improveaccess controlVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the access control logic from the operating system kernel and relocates it to hardware-level memory management units (MMU). This extraction eliminates the need for context switches and remote procedure calls by implementing access control checks directly in the memory access path, thereby resolving the contradiction between reliable access control and fast access time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of modified page table entries and memory management unit extensions that mediate between memory access requests and actual memory operations. This intermediary layer performs access control checks locally without requiring OS intervention, thus maintaining security while reducing access time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If context switches are used for access control checks, then secure access can be enforced, but system overhead and complexity increase

Engineering Contradiction:
Improveaccess control securityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical software-based context switch mechanism with a hardware-based memory management unit that performs access control checks automatically. This substitution eliminates the complex overhead of context switches while maintaining security, as the MMU handles access control as an inherent part of memory management rather than as a separate software process.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If untrusted processes are allowed to access sensitive data through traditional methods, then data accessibility is maintained, but security risks increase

Engineering Contradiction:
Improvedata accessibilityVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by implementing fine-grained access control at the memory page level rather than at the process level. Each memory page can have its own access control attributes, allowing untrusted processes to access only specific authorized pages while maintaining security. This localized approach enables data accessibility where needed while preventing security risks in unauthorized areas.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10101936B2Memory access control
Publication Date: 2018.10.16 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10101936B2 patent drawing
  • US10101936B2 patent drawing
  • US10101936B2 patent drawing

AI summary

Techniques disclosed herein relate to a method performed on a computing device in response to a request to identify a segment of memory. The method includes determining a desired sensitivity value for the request and determining a desired trust value for the request. The method also includes producing a memory segment identification result based on the desired sensitivity value and based on the desired trust value.