Lion Cipher Lab

Prove a machine's integrity to a remote party with TPM 2.0 remote attestation

Why it matters

Encryption answers 'can an eavesdropper read this?' Attestation answers a harder, newer question that zero-trust architectures live or die on: 'before I hand this machine a secret or let it onto my network, can it PROVE it booted software I trust — not a tampered kernel, not a rootkitted bootloader, not an attacker's clone?' A password or a TLS client cert proves the machine holds a key; it says nothing about the STATE of the machine holding it. TPM remote attestation closes that gap: the machine's boot chain is measured into hardware registers (PCRs), and the TPM will sign a fresh,…

What you'll learn

Steps in this lab

  1. Remote attestation vs local sealing: the mental model
  2. Stand up a software TPM with swtpm and point tpm2-tools at it
  3. On the ATTESTER: create an EK, an AK, and read the PCRs
  4. The trust root: bind the AK to a REAL EK (credential activation)
  5. VERIFIER issues a fresh nonce; ATTESTER produces a quote
  6. VERIFIER verifies the quote — and compares to a known-good baseline
  7. Attack #1 — REPLAY: why a fresh nonce is the whole game
  8. Attack #2 — TAMPER: change a PCR, re-quote, watch trust fail
  9. The named failure modes and advanced depth
  10. The judgment: when to attest remotely, and the do-it-better

Open the full interactive lab →