TPM 是否以明文形式发送存储的密钥?

逆向工程 加密 物理攻击
2021-06-22 16:29:42

您可能知道,驻留在 LPC 总线上的 TPM(可信平台模块)允许安全地存储和检索加密密钥和证书。

然而,在这个可信计算概念中,它真的安全吗?(基线问题,请继续阅读)

我发现 TPM 1.1 通过 LPC 总线以纯文本形式传输加密密钥和证书。(1)

对于最近版本的 TPM(1.2、2.0)来说,这是真的吗?如果没有,他们是如何缓解这个问题的?我认为没有办法解决这个问题。

谢谢你。

1:“[带有 TPM 的 LPC MITM 攻击] 的作者(Schellekens 等人)被动地分析了 1.1 版 TPM 与其余平台的通信,并观察到某些操作(如开封)用于在 TPM 上以明文形式传输受 TPM 保护的秘密LPC 总线。” ~ LPC 总线劫机者指南,第 186 页

1个回答

据我所知,TPM 1.2 有一种叫做传输保护/安全的东西来建立一个与 TPM 的安全通道,但很难找到关于它的文档。它很可能是密钥交换的某种变体。

现在当然,安全通道本身是无用的,因为您仍然可以使用经过调整的 TPM 来交换。因此,TPM 带有所谓的背书密钥这个想法是每个 TPM 芯片都有一个由制造商烧毁并且永远不会发布的私钥。当机器组装好时,制造商通常会在 CPU 的 OTP 部分中为这个特定的 TPM 烧录某种签名。这样 CPU 就可以向 TPM 发送质询以确保它是合法的。这与安全通道一起大大减少了硬件攻击面(但不是完全)。请注意,背书密钥存在各种问题,例如您如何知道制造商没有将密钥交给背后的国家安全局。

应该注意的是,有将 TPM 直接放入 CPU/PCH 的趋势,这使得它更难以调节。另一个常见的事情是在基于 SGX (x86) 或 TrustZone (ARM) 的安全环境(如 TEE)中以软件(fTPM)实现 TPM。