首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TPM中的背书密钥和认证标识密钥之间有什么区别?

TPM中的背书密钥和认证标识密钥之间有什么区别?
EN

Security用户
提问于 2020-07-24 21:55:59
回答 1查看 7.1K关注 0票数 9

我试着记录下TPM和它的作用。更具体地说,我看的是3对RSA密钥:“认可密钥”、“存储根密钥”和“认证标识密钥”。

这就是我到目前为止所写的:

“背书密钥”是RSA密钥对,其中发送到另一个设备的任何数据都使用私钥加密,接收设备用公钥对其进行解密,因此它知道数据是可信的。这是在制造TPM时创建的(不是特定于用户的)。

“存储根密钥”是TPM中的一对RSA密钥,用于保护应用程序创建并存储在TPM之外的TPM保护密钥,因此没有TPM就不能使用这些密钥。它是在获得TPM的所有权时创建的(如果用户更改,则键也会更改)。

然而,我现在正试图研究认证身份密钥的使用,但不明白它与背书密钥有何不同?如果有人能简单地解释,因为这对我来说都是新的,我会非常感激的:)

EN

回答 1

Security用户

发布于 2020-07-29 20:59:04

不幸的是,关于证明并没有一个单一的真理来源。我会尽量把它说清楚,并在必要时引用。

TL;DR:背书密钥被用来证明你在和一个真正的TPM交谈。但是,它不能用于签署。AK可以用于签名,并与EK相关联。

批注密钥

您可以考虑每个TPM固定的背书密钥(EK)。实际上,EK是背书等级体系的主要关键。因此,它取决于批注主种子(EPS),这是真正固定的TPM的寿命和一个所谓的模板,例如,确定EK是RSA或ECC密钥。

代码语言:javascript
复制
              EPS (random, can never be changed)
               |
            +-----+
template  ->| KDF |
            +-----+
               |
               V
               EK

假设您使用默认模板,则EK对于TPM是唯一的且不可更改。你永远改变不了它。这引起了对隐私的关注,我稍后会谈到这些问题。还请注意,EK私钥永远不会被TPM披露。

此外,TPM通常提供一个批注证书(链),该证书保存在TPM存储上(例如,ECC证书: NV索引0x01c0000a,参见TCG证书简介)。此EK证书包含EK公钥,并由制造商签名。通过该证书,您可以验证EK公钥是否与制造商生产的真正硬件TPM相关联。

我之前提到过,公开EK公钥会侵犯我们的隐私(因为我们永远无法改变它)。因此,TPM将不允许我们使用EK进行签署。这就是为什么我们需要一个认证密钥(AK),以前也称为认证标识密钥(AIK)。

存储根键

存储根键(SRK)很容易。它是所有者层次结构的主键,即“所有(正常)键之父”。TPM所有者用于签名和加密的所有密钥通常与所有者层次结构相关联,因此与子代(或孙辈等)相关联。SRK的。事实上,作为SRK的子级意味着SRK在内部被加密(=包装)。

认证密钥

现在出现了棘手的部分。术语认证密钥(AK),以前的认证标识密钥(AIK)定义非常松散。基本上,任何(受限的)签名密钥都可以是AK。

TPM规范第1、25.3.1部分

在本规范中,有限制的签名密钥有时被称为证明密钥或认证密钥。

AK的目的是签署数据(例如PCR值),以证明它们来自真实的TPM (没有被篡改)。请记住,我们不能使用EK直接签署。

我知道有两种类型的AK。

AK与AK with 5一式两份

首先,TPM规范第1、9.5.3.1部分中指定的AK。基本上,有一个可信任的第三方,称为Attestation,具有自己的根密钥和根证书。认证CA通过其EK证书验证TPM是否真实;如果TPM是真实的,则颁发AK证书。

现在,不同的AK及其相应的AK证书可以用于不同服务(如Google、Facebook)的认证。服务提供者使用Attestation根证书来验证TPM是否是真的。

称为“认证CA”的外部实体证明了TPM中的非对称密钥对AK,以确保密钥受到身份不明但真实的TPM的保护,并且具有特殊的属性。此认证采用凭据AK证书的形式,该凭证用于提供信息,包括密钥对的公钥。

通常,这种类型的AK是与所有者层次结构相关联的,因此是一个孩子(或孙辈等)。SRK的。

我认为本教程可能会有帮助。

AK与背书层次结构

相关联

对于AK还有第二种方法。正如我解释过的,不能直接使用EK签署。然而,它可以用于包装(=加密)其他密钥。因此,您可以创建与背书层次结构关联的签名密钥(AK)。

同样,服务提供者需要一种机制来证明TPM与良好的EK / EK证书相关联。在这种情况下,所使用的AK由EK加密(=包装)。只有当一个TPM能够在其唯一的EK下加载(=解密) AK并使用它对数据进行签名时,它才是真正的TPM。在这种情况下,TPM失去了它的匿名性,因为服务提供商需要知道它的EK。

这种方法在在LCA 2020上的讲话中作了简要描述。

票数 15
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/235148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档