是什么让 TPM 芯片背书密钥不可迁移?

信息安全 tpm
2021-08-20 17:35:53

我知道 TPM 的背书密钥 (EK) 存储在非易失性存储器(例如 EEPROM)中,不可迁移到 TPM 之外。与 EK 一样,存储根密钥 (SRK) 也是不可迁移的。

是什么让它们不可迁移?是通过一些保护代码还是内部IC结构的设计来实现的?

3个回答

小心,这里的术语真的很可疑。

我知道这个错误是一个诚实的错误,但即使询问这些密钥的可迁移性也是没有意义的。

Endorsement Key不是“不可迁移的” 迁移的想法甚至不适用于此键。它很特别。它的私有部分在 TPM 之外是完全不可访问的。恕我直言,讨论其移民候选资格显然是不正确的。

也就是说,你的问题变得模棱两可。

如果您问“为什么我不能将 EK 转移到另一个 TPM”,这是由 TCG 的 TPM 规范强制执行的,那么设计抽象地将此密钥视为分立芯片的根标识。

如果您问“TPM 如何保证这个特殊密钥的安全”,那么其他答案解决了这个问题;实施是特定于供应商的。物理 IC TPM 可能会设计为以某种方式对密钥进行物理保护,而软件 TPM 显然将具有(我希望经过良好测试)不提供输出密钥的代码路径的代码。

编辑:我在上面编辑了我的答案,只讨论了 EK。以前我也将 SRK 包含在这些术语中。然而,在可信计算实用指南第 3 章中,作者确实从不可迁移的角度讨论了 SRK。然而,他们并没有用这些术语来讨论 EK,正如我所建议的那样,这表明这个密钥是独一无二的。

固件(TPM 内运行的软件)的工作是实施约束,例如不可迁移性。TPM 应该受到物理保护,因此提取密钥的唯一方法是使用它实现的命令。如果软件实现的命令都没有返回 EK,则 EK 是不可迁移的。

你可以说它是两者的结合。硬件保护使所有密钥不可通过硬件方式迁移。在保护边界内运行的软件使一些密钥可迁移;它的设计使 EK 不包括在内。但实际上,“是什么让 EK 不可迁移”的有用答案是实现策略的组件,也就是软件。

那是特定于实现的,取决于制造商。

  • 物理 TPM 可能会使用物理保护;
  • 基于软件的 TPM 将使用代码逻辑。
    • 例如,英特尔的 TPM 在平台控制器集线器 (PCH) 中实现为管理引擎 (ME) 应用程序。