Enhancing Systemd Security Using TPM 2.0
Talkat Linux Security Summit North America 2024 · on Friday, 2024-04-19· at 15:50· Terrace Suite 1+2·
summary
Systemd initially reads LUKS DEKs from TPM 2.0 in cleartext (systemd v248), making I2C/bus MiTM theft trivial and demonstrated by TPM Genie. An attempted fix in v251 enables TPM sessions but fails to verify the TPM public key, still allowing MitM. A practical patch sequence adds a bind key, then a HMAC-SHA256 PBKDF salt stored in LUKS metadata, and finally binds sessions to the storage root key (SRK) via tpm2 TSS enhanced API. Deployments on systemd v254+ remove the MiTM vector.
AI-written summary · about
chapters (9)
- 0:00TPM 2.0 and systemd intro
- 3:21TPM 2.0 security issues
- 7:53TPM session encryption pitfalls
- 10:29systemd TPM fixes timeline
- 16:07Quick bind key fix
- 18:57Proper TPM session encryption
- 22:09Performance and deployment issues
- 23:36Future work and SPDM
- 25:40Q&A
related talks
47msystemd and TPM2
01h 18mSystemd & TPMs
42mRecent TPM Security Enhancements to the Linux Kernel
39mTPM Is No Silver Bullet: Pitfalls in Embedded Device Security
51mApplications of TPM 2.0
51mSecuring Embedded Linux Systems with TPM 2.0
28mThe TPM as an everyday security tool
25mOverview and Recent Developments: TPM
