Skip to content
STIMSMITH

Capability Architecture

Concept WIKI v1 · 7/3/2026

A capability architecture is a hardware/software design that augments ordinary memory references with unforgeable, bounded capability tokens to enforce fine-grained memory access control and compartmentalization. The concept is implemented in research systems such as CHERI, RISC-V-based RV-CURE, and the Morello capability-enhanced Arm prototype, and has been extended to embedded/RTOS settings to mitigate threats from application, kernel, and peripheral sources.

Capability Architecture

Overview

A capability architecture is a computer system design in which memory references are represented as capabilities: unforgeable, bounded tokens that combine an address with permissions (and typically bounds, type, and validity metadata). Capabilities are used to enforce fine-grained memory access control, support software compartmentalization, and provide strong memory-safety primitives at the hardware level. The capability-architecture concept subsumes a family of concrete designs, including the CHERI capability-system architecture, capability-enhanced instruction-set extensions for RISC-V and Arm, and token-capability approaches for embedded platforms.

Definition and Core Properties

A capability architecture associates each protected reference with hardware-checked metadata so that any memory access must be authorized by a capability rather than by an arbitrary address. Common architectural ingredients include:

  • A capability representation (often a fat pointer carrying bounds, permissions, and a tag bit).
  • Architectural state (registers, instruction encodings) that propagate and transform capabilities under hardware enforcement.
  • Compiler and runtime support for deriving, restricting, and revoking capabilities.
  • Operating-system and hypervisor support for partitioning address spaces and isolating software components.

Capability architectures are typically described as hybrid when they extend an existing commodity ISA (e.g., RISC-V or AArch64) with capability extensions rather than replacing it.

Notable Capability Architectures

  • CHERI — A hybrid capability-system architecture that introduces capability-based protection for scalable software compartmentalization (Watson et al., 2015).
  • RV-CURE — A RISC-V capability architecture that implements full-system memory safety through a data-pointer tagging (DPT) compiler technique and lightweight BOOM-based hardware extensions. Reported SPEC 2017 C/C++ slowdown is 10.8% with strong memory-safety guarantees, evaluated on an FPGA prototype running Linux.
  • Morello — A capability-enhanced prototype Arm architecture, the subject of formal verification efforts demonstrating the feasibility of verified security for capability hardware (Bauereiss et al., 2021).
  • Embedded/RTOS token capabilities — A capability architecture for embedded systems that combines a token-capability approach suitable for untrusted OS construction with protections against malicious peripherals, evaluated on an FPGA around legacy hardware components.

Threat Model and Use Cases

Capability architectures have been proposed to address several classes of vulnerability:

  1. Memory safety violations in application and system software, which remain persistent despite decades of mitigation effort.
  2. Software compartmentalization, where mutually distrustful components must be isolated within a single address space.
  3. Embedded-device threats spanning application bugs, OS-kernel bugs, and malicious peripherals; recent designs aim to cover all three vectors simultaneously.

Formal Verification of Capability Architectures

Because capability hardware mediates security-critical invariants, several capability-architecture designs have been targets of formal verification and ISA-specification research, including:

  • End-to-end formal verification of a RISC-V processor extended with capability pointers (Gao, FMCAD 2021).
  • Verified security for the Morello capability-enhanced prototype Arm architecture (Bauereiss, UCAM 2021).
  • ISA-specification and machine-verification techniques that provide building blocks for formally specifying capability instructions.

These efforts use architectural semantics frameworks (operational ARMv8 models, executable x86 simulators, CakeML verified compilation, and validated ISA models) to reason about the soundness of capability enforcement.

Design Considerations

Across concrete designs, recurring design considerations include:

  • Performance overhead vs. memory-safety coverage (RV-CURE reports ~10.8% SPEC 2017 slowdown while enforcing capability checks on every tagged-pointer access).
  • Hardware integration cost, e.g., implementing a capability-execution pipeline in parallel with the existing memory-execution pipeline to avoid intrusive modifications.
  • Compatibility with existing ISAs, toolchains, and OSes, motivating hybrid extensions over clean-slate designs.
  • TCB minimization, particularly in embedded settings where subsystems (scheduler, allocator, DMA drivers, peripherals) are treated as fully untrusted components.

See Also

CITATIONS

9 sources
9 citations
[1] Memory safety violations remain persistent and problematic in modern systems despite decades of mitigation effort. RV-CURE: A RISC-V Capability Architecture for Full Memory Safety
[2] RV-CURE is a RISC-V capability architecture that implements full-system support for full memory safety using a data-pointer tagging (DPT) compiler technique and lightweight BOOM-based hardware extensions. RV-CURE: A RISC-V Capability Architecture for Full Memory Safety
[3] RV-CURE achieves strong memory safety at a 10.8% slowdown across the SPEC 2017 C/C++ workloads on an FPGA prototype running Linux. RV-CURE: A RISC-V Capability Architecture for Full Memory Safety
[4] A capability-execution pipeline can be implemented in parallel with the existing memory-execution pipeline without intrusive modifications. RV-CURE: A RISC-V Capability Architecture for Full Memory Safety
[5] Existing computer-architectural defenses consider at most two of the threat vectors (application software, OS kernel, peripherals) in their security model. Trust Nothing: RTOS Security without Run-Time Software TCB (Extended Version)
[6] A token-capability approach combined with peripheral protection enables an RTOS built without a run-time software TCB by disaggregating subsystems into mutually isolated, fully untrusted components. Trust Nothing: RTOS Security without Run-Time Software TCB (Extended Version)
[7] CHERI is a hybrid capability-system architecture for scalable software compartmentalization. CHERI: A hybrid capability-system architecture for scalable software compartmentalization
[8] End-to-end formal verification has been performed for a RISC-V processor extended with capability pointers. End-to-end formal verification of a RISC-V processor extended with capability pointers
[9] Verified security has been demonstrated for the Morello capability-enhanced prototype Arm architecture. Verified security for the Morello capability-enhanced prototype Arm architecture