TPM:签名密钥或证明身份密钥?

信息安全 可信计算 tpm 远程认证
2021-08-17 07:59:23

我现在正在处理 TPM,但不明白为什么需要额外的签名密钥。相反,人们也可以使用证明身份密钥 (AIK) 之一进行签名?!使用不同的键应该是一个很好的做法,但我想更详细地了解这个问题。

我发现一个优点是签名密钥可以迁移。因此,更改平台/tpm 不一定会以撤销创建的证书而告终。

单独的签名密钥是否还有其他原因?

1个回答

AIK 只允许执行两种基于签名的操作:

  • TPM_Quote,它使用 AIK 生成 PCR 状态的签名声明;这是远程证明中使用的操作。
  • TPM_CertifyKey,它会生成一个签名声明,表明另一个密钥(不是AIK)在 TPM 的存储层次结构中并且不可迁移。(显然,经过如此认证的密钥必须具有这些属性。)

特别是,AIK 不能用于TPM_Sign,这意味着不可能签署任意数据。否则,可能会生成虚假报价,远程证明将被破坏。

(相反,TPM_Quote 必须使用 AIK;它不能使用签名密钥。)

TL;DR:如果您需要密钥来签署任意数据,请使用签名密钥。如果您要进行远程证明,请使用 AIK。