CHERI Capability Architecture
The CHERI Capability Architecture is a hardware capability-system architecture that extends conventional instruction set architectures (ISAs) with architectural capabilities — unforgeable, bounded tokens of authority that authorize memory accesses and other privileged operations. Capabilities are intended as a foundation for fine-grained memory safety and software compartmentalization at hardware speed.
Role in the ISA Specification Landscape
CHERI is treated as a first-class ISA in the formal-semantics literature. The Sail-based work "ISA semantics for ARMv8-A, RISC-V, and CHERI-MIPS" (armstrong:popl19:2019) develops machine-checked ISA semantics covering CHERI-MIPS alongside mainstream architectures, and the surrounding "ISA specification" related-work notes catalogue additional CHERI-related entries:
- "CHERI: A hybrid capability-system architecture for scalable software compartmentalization" —
watson:sandp:2015, the foundational CHERI architecture paper. - "Verified security for the Morello capability-enhanced prototype Arm architecture" —
bauereiss:ucam:2021, an industrial instantiation of CHERI on Arm. - "End-to-end formal verification of a RISC-V processor extended with capability pointers" —
gao:fmcad:2021, verification of a CHERI-style RISC-V extension.
These references treat CHERI as both an ISA in its own right and as a capability architecture that can be grafted onto existing ISAs (MIPS, RISC-V, Arm/Morello).
Architectural Relationship
CHERI is an instance of the broader Capability Architecture concept. Within a related-entity graph, the CHERI Capability Architecture has an outgoing PART_OF relation to Capability Architecture, while the Sail ISA-semantics paper armstrong:popl19:2019 has an incoming EVALUATES relation to CHERI (i.e., that paper evaluates/specifies CHERI semantics).
Extensions and Implementations
Recent research has layered additional security features on top of the base CHERI architecture:
- BLACKOUT (2025) extends CHERI with blinded capabilities to enable data-oblivious computation. It is realized on the speculative, out-of-order CHERI-Toooba FPGA softcore, with corresponding support added to the CHERI-enabled Clang/LLVM toolchain and the CheriBSD operating system. Non-data-oblivious operations performed through blinded capabilities explicitly fault, easing the authoring of side-channel-resistant code. The authors report a geometric-mean performance overhead of ~1.5% versus the baseline CHERI-Toooba processor on comparable benchmarks, alongside memory-safety guarantees for memory accessed through blinded capabilities.
Verified Derivative Work
Verification efforts around CHERI-style processors include Gao et al.'s end-to-end formal verification of a RISC-V processor extended with capability pointers and the verified Morello security work for the Arm-based prototype. Such efforts reflect CHERI's positioning as a research vehicle for capability-based hardware security.
Key Properties (as supported by evidence)
- Capability-based, hardware-enforced memory protection and compartmentalization.
- Specified for multiple ISAs including MIPS (CHERI-MIPS), RISC-V, and Arm (Morello).
- Subject of formal ISA semantics in Sail (
armstrong:popl19:2019). - Has been extended with blinded capabilities for data-oblivious programming (BLACKOUT).
- Supported by an ecosystem that includes CHERI-enabled Clang/LLVM and CheriBSD.