在 TPM 中签署 TLS 握手:守护机器身份

Signing TLS handshakes inside a TPM

我在做机密虚拟机的远程证明工作时发现,将私钥存储在文件中并非真正的机器身份,而是一张随时可能被窃取的可转移凭证。一旦攻击者获得读取权限,他们就能通过内存转储或核心文件获取密钥,从而冒充该机器访问所有受信任的服务。为了解决这个问题,我利用 TPM 在内部完成 TLS 握手签名,确保私钥永远不离开硬件,且无需额外凭证即可访问。这种方法不仅避免了将密钥暴露在内存中,还消除了对远程 KMS 的依赖,让机器身份真正不可窃取。

存储在文件中的密钥并非真正的机器身份,它只是一张恰好存放在机器上的凭证,任何读取它的人都能在任何地方冒充这台机器。

同日更多故事

2026-09-07