Cerisier: A Program Logic for Attestation in a Capability Machine

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Rousseau, June, Carnier, Denis, Van Strydonck, Thomas, Keuchel, Steven, Devriese, Dominique, Birkedal, Lars
Natura: Preprint
Pubblicazione: 2026
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866915940208214016
author Rousseau, June
Carnier, Denis
Van Strydonck, Thomas
Keuchel, Steven
Devriese, Dominique
Birkedal, Lars
author_facet Rousseau, June
Carnier, Denis
Van Strydonck, Thomas
Keuchel, Steven
Devriese, Dominique
Birkedal, Lars
contents A key feature in trusted computing is attestation, which allows encapsulated components (enclaves) to prove their identity to (local or remote) distrusting components. Reasoning about software that uses the technique requires tracking how trust evolves after successful attestation. This process is security-critical and non-trivial, but no existing formal verification technique supports modular reasoning about attestation of enclaves and their clients, or proving end-to-end properties for systems combining trusted, untrusted and attested code. We contribute Cerisier, the first program logic for modular reasoning about trusted, untrusted and attested code, fully mechanized in the Iris separation logic and the Rocq Prover. We formalize a recent proposal, CHERI-TrEE, to extend capability machines with enclave primitives, as an extension to the Cerise capability machine and program logic. Our program logic comes with a universal contract for untrusted code, which captures both capability safety and local enclave attestation. Like Cerise, this universal contract is phrased in terms of a logical relation defining capabilities' authority. We demonstrate Cerisier by proving end-to-end properties for three representative applications of trusted computing: secure outsourced computation, mutual attestation and a modeled trusted sensor component.
format Preprint
id arxiv_https___arxiv_org_abs_2604_13638
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Cerisier: A Program Logic for Attestation in a Capability Machine
Rousseau, June
Carnier, Denis
Van Strydonck, Thomas
Keuchel, Steven
Devriese, Dominique
Birkedal, Lars
Programming Languages
A key feature in trusted computing is attestation, which allows encapsulated components (enclaves) to prove their identity to (local or remote) distrusting components. Reasoning about software that uses the technique requires tracking how trust evolves after successful attestation. This process is security-critical and non-trivial, but no existing formal verification technique supports modular reasoning about attestation of enclaves and their clients, or proving end-to-end properties for systems combining trusted, untrusted and attested code. We contribute Cerisier, the first program logic for modular reasoning about trusted, untrusted and attested code, fully mechanized in the Iris separation logic and the Rocq Prover. We formalize a recent proposal, CHERI-TrEE, to extend capability machines with enclave primitives, as an extension to the Cerise capability machine and program logic. Our program logic comes with a universal contract for untrusted code, which captures both capability safety and local enclave attestation. Like Cerise, this universal contract is phrased in terms of a logical relation defining capabilities' authority. We demonstrate Cerisier by proving end-to-end properties for three representative applications of trusted computing: secure outsourced computation, mutual attestation and a modeled trusted sensor component.
title Cerisier: A Program Logic for Attestation in a Capability Machine
topic Programming Languages
url https://arxiv.org/abs/2604.13638