RSS订阅信息安全技术跟踪与研究:技术、平台、会议、论文、产业
你现在的位置:首页 / 学术研究 / 正文

TCG TPM 2.0规范研读之:可信平台特征-认证密钥AK

0 学术研究 | 2014年12月30日
转载申明:本站原创,欢迎转载。但转载时请保留原文地址。
原文地址:http://www.vonwei.com/post/attestationKey.html

Attestation Key,AK,TPM 2.0中的受保护密钥,主要用于签名,如TPM2_Certify和TPM2_Quote操作基本使用认证密钥AK。

认证密钥AK的使用:

         TPM生成的消息总以一个特殊的值(称为TPM_GENERATED_VALUE)作为消息头。当TPM对外部提供的消息进行摘要(digest)计算操作时,它首先检查消息的头部,保证其没有TPM_GENERATED_VALUE这样的值;摘要计算完成后,TPM会生成一个票据(ticket),指示该消息并不是以TPM_GENERATED_VALUE开头。当一个认证密钥AK用于对摘要值进行签名时,调用者(caller)需要提供票据ticket,这样TPM就可以确定用来生成该摘要值的消息并不是伪造的TPM认证数据。

         注意,票据ticket中的摘要值必须与AK签名的摘要值一致。如果一个攻击者产生一个消息块,与TPM产生的quote完全一致,那么该消息块将以TPM_GENERATED_VALUE开头来指示其是一个正确的TPM quote。当TPM对该消息块执行摘要计算时,其会注意到开头的值为TPM_GENERATED_VALUE,这样TPM就不会为其生成票据ticket,因此AK也不会用于对该摘要值进行签名。类似地,检测AK生成的认证消息的实体,必须验证签名的消息以TPM_GENERATED_VALUE开头,来确保消息确实是TPM生成的Quote

         认证密钥AK签名的值可以反应TPM状态,不过AKs也可以用于通用的签名目的。

         最后,如果一个AK无法与其代表的平台进行关联,那么该AK提供给远程挑战者的值显然是不够的。这个关联需要使用一个身份证明(identify certification)过程才行。下面介绍一下身份证明过程。

AK身份证明

         任何能使用TPM创建密钥的用户都可以创建一个受限的签名密钥(通常为AK)。

         密钥创建者可以要求一个可信第三方,如认证CAAttestation CA),为该密钥提供一个证书。认证CA可以向调用者caller请求一些关于该密钥的证据,即证据可以表明正在被认证的密钥确实来自TPM(即TPM-resident key)。

         要证明该AK确实来自TPM,需要使用同一个TPM上已经被证明过的一个其它密钥(该密钥证书之前已经生成)。通常EK证书或者平台证书可以提供这个证据

         如果一个被证明的密钥可以签名(如AK),那么其可以用于证明位于同一个TPM上的其它对象。这使得新生成的AK可以与一个已经被证明的密钥进行关联(TPM2_Certify)。CA可以使用来自TPM的这种证明为新AK生成一个传统证书

         如果被证明的密钥是一个解密密钥,无法签名(如EK),那需要使用另外的方法来使得新的密钥或者数据对象能被可靠的证明。对于这种证明方法,被证明对象的身份以及解密密钥(如一个EK)的证书被提供给CA。从解密密钥的证书,CA可以确定解密密钥的公钥,然后CA为要被证明的对象生成一个条件证书。条件证书是指对证书执行了某个操作(如对称加密)。这个过程生成一个证书限定符(credential qualifier),该限定符需要发送给TPM(包含解密密钥和正在被认证密钥的TPM)。通用的证书限定符是加密证书的一个对称密钥。证书限定符需要被保护,这依赖解密密钥的类型:通用的保护方法在TPM 2.0规范的第24章描述;适合RSA密钥的保护方法在附录B.10.4中描述;适合ECC密钥的保护方法在附录C.7.4中描述。保护方法会生成一个加密的blob,一个针对该blobHMAC以及一个秘密值(只有解密密钥能恢复的秘密值)。

         TPM2_ActivateCredential()命令可以用来访问证书限定符,TPM恢复出秘密值并使用其生成能够解密和验证HMAC以及加密blob的密钥。如果证书限定符成果的恢复,被证明的AK密钥会被加载到TPM中,而且其证书限定符的内容也会返回给调用者caller。调用者就可以使用获得的值完成密钥证明。

         注意,保护证书限定符的过程与key import过程几乎相同,为了防止误用,在密钥恢复阶段需要使用一个特定的值。对于证书限定符,其KDF过程使用“IDENTITY”标签,KDF从一个种子值产生HMAC和对称加密需要的密钥。

         TPM2_ActivateCredential()这个命令还可以将一个证书(或者凭证credential)与任何对象进行关联。而对于对象属性的选择的由CA自由裁决。由于该对象的一个唯一标识包含在其完整性哈希值中,TPM可以强制对其凭证credential的访问,当且仅当对象满足CA设定的准则时,才能访问。



  • ------------------分隔线----------------

  • 如果感兴趣,欢迎关注本站微信号,跟踪最新博文信息,手机微信扫一扫下面的二维码,即可关注!
  • 微月信公众号
  • 推荐您阅读更多有关于“ 可信计算  可信平台模块  TPM  信任根   ”的文章

    请填写你的在线分享代码
    上一篇:TCG TPM 2.0规范研读之:可信平台特征-认证下一篇:TCG TPM 2.0规范研读之:可信平台特征-保护区域

    猜你喜欢

    评论列表:

    发表评论

    必填

    选填

    选填

    必填,不填不让过哦,嘻嘻。

    记住我,下次回复时不用重新输入个人信息

    本站介绍
    最近发表
    本年最热文章
    本月最热文章
    网站分类
    文章归档