我现在正在处理 TPM,但不明白为什么需要额外的签名密钥。相反,人们也可以使用证明身份密钥 (AIK) 之一进行签名?!使用不同的键应该是一个很好的做法,但我想更详细地了解这个问题。
我发现一个优点是签名密钥可以迁移。因此,更改平台/tpm 不一定会以撤销创建的证书而告终。
单独的签名密钥是否还有其他原因?
我现在正在处理 TPM,但不明白为什么需要额外的签名密钥。相反,人们也可以使用证明身份密钥 (AIK) 之一进行签名?!使用不同的键应该是一个很好的做法,但我想更详细地了解这个问题。
我发现一个优点是签名密钥可以迁移。因此,更改平台/tpm 不一定会以撤销创建的证书而告终。
单独的签名密钥是否还有其他原因?
AIK 只允许执行两种基于签名的操作:
TPM_Quote,它使用 AIK 生成 PCR 状态的签名声明;这是远程证明中使用的操作。TPM_CertifyKey,它会生成一个签名声明,表明另一个密钥(不是AIK)在 TPM 的存储层次结构中并且不可迁移。(显然,经过如此认证的密钥必须具有这些属性。)特别是,AIK 不能用于TPM_Sign,这意味着不可能签署任意数据。否则,可能会生成虚假报价,远程证明将被破坏。
(相反,TPM_Quote 必须使用 AIK;它不能使用签名密钥。)
TL;DR:如果您需要密钥来签署任意数据,请使用签名密钥。如果您要进行远程证明,请使用 AIK。