考虑到使用TPM的设备的信任根。
我的理解是,引导加载程序、固件、操作系统、应用程序等都是在启动时通过验证供应商公钥签名来验证的。
TPM批注密钥是特定TPM特有的。在启动软件的验证过程中,这起到了什么作用?如果这是一个不应该公开的完全唯一的密钥,那么公开密钥是否以任何方式在外部使用?提前谢谢。
发布于 2022-03-22 11:39:33
TPM通常用于两个目的:证明系统处于可信状态和密钥的安全存储。
为了第一个目的,有必要证明软件/固件正在与真正的TPM硬件对话,而不是冒充者(例如,在I2C/SMBus上窥探者)。使用了一种类似于HTTPS的机制:每个TPM,就像web服务器一样,具有唯一的EK私有-公共对(以及相关的证书)。
验证代码使用EK的公钥与TPM通信。因为只有TPM知道私钥,只有它才能解码命令并发送正确的响应。
( EK公钥将在提供期间或在验证证书由受信任的制造商签名后从TPM加载到验证器的存储中。
发布于 2022-03-22 13:36:33
批注键(EK)是TPM中背书层次结构的一部分。一般来说,背书密钥的私有部分(EK私有部分)与公共部分(EK public)一起硬连接到TPM (NVRAM)中。这些批注密钥是由制造商和EK私有是不可迁移/可出口的,永远不会离开TPM。可以创建包含EK公钥的EK证书。此EK证书由已知CA或内部CA (私有PKI)签名。现在,通过使用EK证书,可以验证TPM身份并建立对TPM的信任。
注意: EK用于标识平台,因此由于安全性考虑,它只用于有限的过程。例如,EK不是用于签名目的的。
现在,TPM中的信任已经建立,我们可以提供其他密钥,例如,认证密钥,也称为AIK (认证标识密钥)。通常,AIK密钥是用私有EK加密绑定的,例如,用EK public包装AIK密钥,这可以确保AIK与可信的TPM绑定。这些AIK密钥可用于生成签名。其中一个用例是对PCR寄存器的内容进行签名。
AIK也可以由外部或内部CA认证,AIK和EK都可以通过可信的第三方进行加密验证。因此,在可信引导的情况下,可以使用AIK对PCR进行签名,并通过第三方CA和TPM EK对AIK进行密码验证。
总之,TPM EK有助于确保设备、软件/应用程序或系统配置得到可信平台而不是某些冒名顶替者的证实。远程认证使用EK和AIK来建立这样的信任。
注意:可以在不需要签名密钥的情况下实现受信任和安全的引导,例如AIK。这就是所谓的本地认证,这种认证对于系统的自我认证是有用的。虽然,EK仍然可以用来验证TPM来自可信的供应商,而不是回火。
https://security.stackexchange.com/questions/260566
复制相似问题