我知道TPM包括ROM、非易失性(例如EEPROM)和易失性(例如SRAM)存储器。可执行固件存储在ROM中,例如各种驱动程序和命令。
但是这一次,我想知道如何保护ROM中的固件不被篡改。
例如,我听说在固件更新期间,设备身份验证可以保护TPM免受篡改和其他故障的影响。内存通常使用什么类型的ROM?一次性编程,
或面具编程,使它不可能改变内容后,制造?
发布于 2016-11-30 00:20:11
这是个相当复杂的问题。
首先:如果它实际上是ROM,它是防篡改的.从电上来说,ROM是只读存储器.它是无法改变的。
现在,TPM芯片完全有可能运行固件,实际上是在可写内存中运行。
有很多可以保护的方法:例如,只通过从固件本身发出的命令访问固件内存--在这种情况下,固件有责任检查固件更新是否被接受,例如。通过检查谁试图更新固件的电子签名。
可加载固件也可以,通过ROM -驻留引导加载程序,检查,例如,数字签名匹配制造商的钥匙在一片ROM。
其他方法包括只在CPU处于SMM (系统管理模式,通常只有UEFI才能进入)时才从CPU获得特殊的信号线。
TPMs通常使用哪种ROM?一次编程,还是掩膜编程,使得制作后不可能改变内容?
我甚至不能告诉你它是否真的是ROM,正如你在上面看到的。这是一个实现细节,我相信您可以从他们的数据表中了解制造商选择的不同方法。
https://security.stackexchange.com/questions/106246
复制相似问题