Capability Trust Levels for Secure Memory Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing capability-based architectures lack flexibility in managing capabilities while maintaining security, as they restrict the ability to extend or modify permission flags, which can compromise security benefits.

Innovation Solution

Introduce a capability level of trust associated with each capability, allowing the processing circuitry to generate capabilities with a lower trust level than its current mode, and incorporate this trust level into memory access checks to constrain unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional memory protection mechanisms (page tables, segment tables) are used, then memory access control is achieved, but they cannot provide fine-grained capability-based access control and require complex system support

Engineering Contradiction:
Improveaccess control flexibilityVSAvoidsystem support complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces capabilities as intermediary objects that mediate between memory resources and access requests. Each capability contains a target address and access rights, allowing the memory system to enforce fine-grained access control without requiring complex page tables or segment tables. The capability structure itself becomes the intermediary mechanism that simplifies the overall system by consolidating access control logic into a unified format.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the fundamental parameters of memory access control by using capability-based addressing instead of traditional virtual-to-physical address translation. Each capability specifies both the target physical address and the allowed access operations (read, write, execute), transforming the access control mechanism into a more flexible parameter-driven system that can adapt to different security requirements without increasing system complexity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If capabilities are used for fine-grained memory access control, then access security is improved, but the memory management system becomes more complex

Engineering Contradiction:
Improveaccess securityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments memory access control into discrete capability objects, each representing a specific access right to a particular memory region. This segmentation allows the system to manage access security through individual, manageable units rather than a monolithic system. Each capability can be independently created, transferred, and revoked, simplifying the management of access security while maintaining strong protection guarantees.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs capability copying to transfer access rights. When a capability is copied, the copy contains the same target address and access rights, allowing multiple processes to share access to the same memory region without requiring complex permission checking mechanisms. This copying approach simplifies memory management by using straightforward duplication rather than complex reference counting or permission inheritance systems.

Inventive Principle:
Principle #26Copying

3Object-affected harmful factors

If capability-based access control is implemented, then unauthorized memory access is prevented, but the system requires new hardware and software components

Engineering Contradiction:
Improveunauthorized accessVSAvoidsystem components
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent implements self-service memory protection where the memory system automatically checks capability validity and access rights without requiring external intervention. When a memory access request is made, the system autonomously verifies the capability associated with the request and either permits or blocks the access based on the capability's permissions. This self-service mechanism prevents unauthorized access while avoiding the need for complex hardware traps or software interrupts.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces traditional mechanical memory protection mechanisms (such as hardware memory management units with fixed page table structures) with a more flexible capability-based system. Instead of using rigid hardware tables that require complex translation and validation logic, the system uses capability objects that encode both address and permission information, substituting mechanical translation with a more elegant software-based validation approach that is easier to implement and modify.

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

Data Source

PatentEP4205003B1Technique for constraining access to memory using capabilities
Publication Date: 2026.04.29 ARM LTD
  • EP4205003B1 patent drawingFigure 1
  • EP4205003B1 patent drawingFigure 2A~2B
  • EP4205003B1 patent drawingFigure 3

AI summary

An apparatus and method are provided for constraining access to memory using capabilities. Processing circuitry performs operations during which access requests to memory are generated, with memory addresses for the access requests being generated using capabilities that identify constraining information. Capability checking circuitry performs a capability check operation to determine whether a given access request whose memory address is generated using a given capability is permitted based on the constraining information identified by that given capability. Memory access checking circuitry then further constrains access to the memory by the given access request in dependence on a level of trust associated with the given access request. The given capability has a capability level of trust associated therewith, and the level of trust associated with the given access request is dependent on both the current mode level of trust associated with the current mode of operation of the processing circuitry, and the capability level of trust of the given capability.