Key Capability Storage Circuitry for Temporal Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection techniques are coarse-grained and lack the ability to provide temporal safety, as they do not effectively manage temporary access rights and revocation of capabilities within software compartments.

Innovation Solution

Implementing key capability storage circuitry to store key capabilities with specific bounds, allowing only software compartments with the key capability operating privilege to transfer and manipulate these capabilities, thereby controlling temporary access rights and ensuring temporal safety by preventing unauthorized transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If capability-based architecture is implemented to provide fine-grained memory protection, then security against memory exploitation is improved, but device complexity increases due to additional capability storage and checking circuitry

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The capability storage is segmented into two distinct structures: capability storage circuitry for storing regular capabilities, and key capability storage circuitry for storing key capabilities with operating privileges. This segmentation allows the system to separate security-critical operations from general capability management, providing fine-grained control while organizing complexity into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Key capabilities act as an intermediary mechanism between the operating system and regular capabilities. The key capability storage circuitry serves as a mediator that controls which software compartments can create or transfer capabilities, thereby managing security privileges without requiring direct intervention from the operating system for every capability operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If key capability storage circuitry is added to control temporary access rights, then temporal safety is improved, but device complexity increases due to additional storage structures

Engineering Contradiction:
Improvetemporal safetyVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The capability storage is segmented into two distinct structures: capability storage circuitry for storing regular capabilities, and key capability storage circuitry for storing key capabilities with operating privileges. This segmentation allows the system to separate security-critical operations from general capability management, providing fine-grained control while organizing complexity into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary checks by the capability checking circuitry to determine whether a software compartment has the necessary key capability operating privilege before allowing creation or transfer of capabilities. This preliminary action prevents unauthorized operations before they occur, ensuring temporal safety by validating privileges in advance rather than reacting to violations afterward.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If fine-grained capability compartmentalisation is implemented, then resistance to memory exploitation is improved, but ease of operation deteriorates due to restricted capability transfer operations

Engineering Contradiction:
ImprovesecurityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

Key capabilities act as an intermediary mechanism between the operating system and regular capabilities. The key capability storage circuitry serves as a mediator that controls which software compartments can create or transfer capabilities, thereby managing security privileges without requiring direct intervention from the operating system for every capability operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The capability checking circuitry automatically performs privilege verification and enforces transfer restrictions without requiring external intervention. The system self-regulates capability operations by checking whether the executing software compartment has the necessary key capability operating privilege, thereby maintaining security while reducing the need for manual security management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12373611B2Key capability storage
Publication Date: 2025.07.29 ARM LTD
  • US12373611B2 patent drawing
  • US12373611B2 patent drawing
  • US12373611B2 patent drawing

AI summary

Key capability storage circuitry 90 is provided to store a key capability specifying key bounds indicating information indicative of permissible bounds for information specified by any one or more of: a non-capability operand, a capability, or the key capability itself. For a given software compartment executed by the processing circuitry, which lacks a key capability operating privilege associated with at least a portion of the key capability storage circuitry, the processing circuitry is configured to prohibit certain manipulations of the key capability, including a transfer between key capability storage and a memory location selected by the given software compartment. This can help to support temporal safety.