sandbox-tee: check a TDX quote's PCK chain to a pinned Intel root #415
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/tdx-pck-chain"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
#399 made
verify_tdxtrust only a PCK key the verifier pins, but left the pinning itself to the deployment: a hand pin, with nothing checking the quote's certificate chain to Intel's root. The SEV-SNP side hasamd_kdsfor exactly this job.sandbox-tee::intel_pcs(featureintel-pcs)verify_pck_chain(trusted_root_der, chain_pem, now_unix)checks the chain a quote carries (the PCK leaf, then its issuing CA, optionally ending in the root) to the pinned root:now.A presented root must equal the pinned one byte for byte, and a longer chain is refused. It returns the PCK key, the
TeeAnchor::Tdxa quote is verified by.pck_from_quotederives that anchor from the quote's own chain, checked to the root. The trust comes from the root, never from the quote.Not checked: revocation lists. Consulting them is the deployment's job, as the module states.
CI gap closed
The
sandbox-rsCI job now runscargo test -p sandbox-tee --features amd-kds,intel-pcs. Theamd-kdstests had never run in CI, because a plaincargo testdoesn't enable the feature.Verification (build host)
-D warningsis clean.🤖 Generated with Claude Code