如何保护 TPM 固件不被篡改?

信息安全 可信计算 tpm
2021-09-08 01:44:43

我知道 TPM 包括 ROM、非易失性(例如 EEPROM)和易失性(例如 SRAM)存储器。可执行固件存储在 ROM 中,例如各种驱动程序和命令。

但这一次,我想知道如何保护ROM中的固件不被篡改。
例如,我听说设备身份验证可以保护 TPM 在固件更新期间免受篡改和其他故障。TPM 通常使用什么样的 ROM?一次性烧写,
还是掩膜烧写,制作后无法更改内容?

1个回答

这是一个相当复杂的问题。

首先:如果它真的是 ROM,它是防篡改的。ROM 在电气上是只读存储器。它不能改变。

现在,TPM 芯片完全有可能运行固件,实际上是在可写内存中。

有很多方法可以保护:例如,仅通过来自固件本身的命令使固件存储器可访问 - 在这种情况下,固件有工作检查是否接受固件更新,例如。通过检查谁试图更新固件的电子签名。

可加载固件还可以通过驻留在 ROM 中的引导加载程序进行检查,例如是否有与 ROM 中的制造商密钥匹配的数字签名。

其他方法包括从 CPU 获取仅在 CPU 处于 SMM(系统管理模式,通常只有 UEFI 可以进入的模式)时才高的特殊信号线。

TPM 通常使用什么样的 ROM?一次性烧写,还是掩膜烧写,制作后无法更改内容?

正如你在上面看到的,我什至不能告诉你它是否真的是 ROM。这是一个实现细节,我相信您可以了解制造商从他们的数据表中选择的不同方法。