Keylime is a CNCF project, originating at MIT Lincoln Laboratory, that turns the raw cryptographic primitives of the TPM into an operable remote attestation system for fleets of Linux machines. Its mission is narrow but important: given that a TPM can produce a signed quote over PCR values, and that IMA can accumulate a runtime measurement log into PCR 10, Keylime provides the infrastructure to continuously collect those quotes from many machines, verify them against policy, react to failures, and gate secret delivery on attestation success — without requiring operators to understand TPM protocols directly.
Keylime’s architecture follows the IETF RATS model and consists of four components with distinct roles. The Agent runs on each machine to be attested: it communicates with the local TPM, generates attestation keys, collects UEFI event logs and IMA measurement logs, and serves quotes to the verifier. The Registrar is an enrollment database: agents register themselves at boot by submitting their TPM Endorsement Key (EK) and a freshly generated Attestation Key (AK); the registrar performs a credential activation challenge to cryptographically confirm the AK belongs to a genuine TPM before recording the agent’s identity. The Verifier is the continuous attestation engine: it polls registered agents, requests TPM quotes over a configurable set of PCRs, replays the UEFI event log and IMA measurement log against those PCR values to confirm their integrity, and checks every IMA entry against an operator-supplied allowlist of approved file hashes. If any check fails — an unexpected PCR value, an unrecognised file hash, a missing quote — the verifier raises a revocation event. The Tenant is a CLI and API for operators: it enrolls agents with the verifier, sets policies, and can deliver a secure payload (an encrypted ZIP containing secrets, certificates, or bootstrap scripts) to a node, with decryption gated on the node having passed its first attestation — providing a TPM-anchored secret injection mechanism analogous to what Trustee provides for confidential VMs.
Keylime is the canonical attestation solution for TPM-equipped Linux hosts and is complementary rather than competing with Trustee: Keylime operates on conventional (non-TEE) hardware using the TPM as its trust anchor, whereas Trustee is designed for confidential computing guests where the TEE hardware itself is the root of trust. In both cases the underlying attestation flow is the same — collect hardware evidence, verify it against reference values, release secrets only to those who pass — but the evidence type, the trust anchor, and the threat model differ. Keylime integrates naturally with IMA-based runtime monitoring, GRUB-measured boot (PCR 8/9), and Secure Boot state (PCR 7), making it the operational glue that turns a measured boot stack into a continuously monitored one.
