Lion Cipher Lab

Meet your TPM: read your machine's PCRs and its measured-boot log

Why it matters

Everything the sibling boot-chain lab taught you about Secure Boot answers one question — 'will the machine refuse to run modified early code?' It cannot answer the other question a defender actually has to answer at scale: 'what DID run when this machine started, and can I prove it?' That second question is what the TPM answers, and it answers it with something an attacker on the machine cannot forge. During boot, the firmware and each following stage feed a hash of the code that is about to run into special registers inside a dedicated security chip — the TPM — and those registers can only…

What you'll learn

Steps in this lab

  1. What a TPM is, in plain English
  2. What a PCR is, and the one property that makes it trustworthy
  3. Measured boot vs Secure Boot: RECORD versus ENFORCE
  4. Why anyone cares: attestation, sealing, and catching a bootkit
  5. Before you touch anything: the one real hazard here
  6. WINDOWS — is there a TPM, and is it ready?
  7. WINDOWS — the sealed disk key and the measured-boot log
  8. LINUX — install tpm2-tools and read your PCRs
  9. LINUX — read the measured-boot event log that EXPLAINS those PCRs
  10. LINUX — the payoff: watch a PCR change (safely, on PCR 23)
  11. JUDGMENT — what a TPM proves, and the honest limit of it
  12. What you learned

Open the full interactive lab →