← back to crypto

Remote Attestation

Wikipedia (CC BY-SA 4.0) ยท wpRemote attestation

Remote attestation lets a remote party verify what code is running on a machine, without trusting the machine's operator. The hardware hashes the running code, signs the hash with a key burned into the chip, and the verifier checks the signature against a known-good measurement. The attestation proves the code, not the person.

Enclave running code HW key measure hash(code) sign attestation Verifier checks sig + hash known-good hash compare

What gets measured

At launch time, the hardware measures the code loaded into the enclave: the binary, its initial data, and the launch configuration. This measurement is a cryptographic hash. If a single byte of the code changes, the hash changes completely. It is deterministic: the same code always produces the same hash.

Scheme

The hardware-bound key

The signing key is fused into the chip at manufacturing time. The operator cannot extract it, even with physical access. The chip manufacturer certifies the key, creating a chain of trust: chip manufacturer signs chip key, chip key signs attestation. The verifier traces the chain back to the manufacturer.

Scheme

What attestation proves (and does not prove)

Attestation proves what code is running, not what the code does. A verifier must independently audit the source code, compile it reproducibly, and compare the hash. Attestation closes the gap between "I audited this source" and "that source is what's actually running on that machine." Without attestation, the operator could run different code.

Scheme
Neighbors

This series

  • Crypto Ch.3 โ€” hashing: the measurement is a hash
  • Crypto Ch.8 โ€” digital signatures: the attestation is signed

Foundations (Wikipedia)