计算平台的证明.pdf

上传人:a3 文档编号:972345 上传时间:2018-03-22 格式:PDF 页数:20 大小:1.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN200780031990.3

申请日:

2007.07.03

公开号:

CN101512535A

公开日:

2009.08.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F21/00; G06F21/24

主分类号:

G06F21/00

申请人:

国际商业机器公司

发明人:

J·卡梅尼西; J·波里茨; R·齐默尔曼

地址:

美国纽约

优先权:

2006.8.31 EP 06119945.1

专利代理机构:

北京市金杜律师事务所

代理人:

冯 谱;李峥宇

PDF下载: PDF下载
内容摘要

提供了用于向验证者(3)证明计算平台(1)的配置的方法和装置。签名密钥(SK)绑定至平台(1)并且绑定至平台(1)的已定义配置。从评价者(2)获得针对该签名密钥(SK)的证书(C(SK),CDAA(SK))。此证书(C(SK),CDAA(SK))证实签名密钥(SK)绑定至未指定的可信平台配置。平台(1)继而可以向验证者(3)表明其使用该签名密钥(SK)对来自验证者(3)的质询进行签名的能力,并且向验证者(3)表明对证书(C(SK),CDAA(SK))的拥有,由此证明平台(1)具有可信的配置,而无需向验证者(3)公开平台配置。可以通过将经过签名的质询返回给验证者(3)来表明对质询进行签名的能力,并且可以通过向验证者(3)发送证书C(SK)来类似地表明对证书的拥有。备选地,证书可以是绑定至签名密钥(SK)的公钥的匿名证书CDAA(SK)。在这种情况下,可以表明对证书CDAA(SK)的拥有以及对质询进行签名的能力,而无需向验证者(3)实际公开证书或者签名密钥(SK)的公钥。还提供了与证明过程中的评价者(2)和验证者(3)的操作有关的相应方法和装置。

权利要求书

1.  一种用于向验证者(3)证明计算平台(1)的配置的方法,所述方法包括:
提供绑定至所述计算平台(1)并且绑定至所述计算平台(1)的已定义配置的签名密钥(SK);
从评价者(2)获得针对所述签名密钥(SK)的证书(C(SK),CDAA(SK)),所述证书证实了所述签名密钥(SK)绑定至未指定的可信平台配置;以及
向所述验证者(3)表明使用所述签名密钥(SK)对来自所述验证者(3)的质询进行签名的能力,并且向所述验证者(3)表明对所述证书(C(SK),CDAA(SK))的拥有,由此证明所述计算平台(1)具有可信配置,而无需向所述验证者(3)公开所述平台配置。

2.
  根据权利要求1所述的方法,包括:
通过使用所述签名密钥(SK)对所述质询进行签名、以及将所述已签名的质询与所述签名密钥(SK)的公钥一起返回给所述验证者(3),来表明对所述质询进行签名的所述能力;以及
通过向所述验证者(3)发送所述证书C(SK),来表明对所述证书C(SK)的拥有。

3.
  根据权利要求1所述的方法,其中所述证书CDAA(SK)是绑定至所述签名密钥(SK)的公钥的匿名证书,所述方法包括通过如下方式来表明对所述质询进行签名的所述能力以及对所述证书CDAA(SK)的拥有:
向所述验证者(3)证明所述证书CDAA(SK)的知识;
向所述验证者(3)证明绑定至所述证书CDAA(SK)的所述密钥与所述签名密钥(SK)的所述公钥的等同性;以及
相对于所述签名密钥(SK)的所述公钥,来向所述验证者(3)证明对所述质询的所述签名的正确知识。

4.
  根据权利要求3所述的方法,其中通过将所述公钥编码为所述证书CDAA(SK)的至少一个属性,来将所述签名密钥(SK)的所述公钥绑定至所述证书CDAA(SK)。

5.
  根据任一在前权利要求所述的方法,用于与包括可信平台模块(4)的计算平台(1)一起使用,其中所述可信平台模块(4)具有用于存储平台配置值的一组寄存器(5),其中所述签名密钥(SK)绑定至所述可信平台模块(4),并且所述已定义配置包括所述寄存器的已定义状态。

6.
  根据权利要求5所述的方法,其中获取所述证书(C(SK),CDAA(SK))的步骤包括:
使用所述可信平台模块(4)的证明身份密钥(AIK)来生成关于所述签名密钥(SK)的证书,所述证书指明所述寄存器(5)的所述已定义状态;以及
将所述证书与所述签名密钥(SK)的所述公钥以及所述证明身份密钥(AIK)的公钥的验证一起发送给所述评价者(2)。

7.
  根据权利要求6所述的方法,包括将所述证明身份密钥(AIK)的所述公钥发送给所述评价者(2),以提供该公钥的所述验证。

8.
  根据权利要求6所述的方法,包括通过表明对所述证明身份密钥(AIK)的所述公钥的证书(C(DDA))的拥有,来发送该公钥的验证。

9.
  一种用于证实计算平台(1)的配置的方法,所述方法包括:
从所述计算平台(1)接收绑定至所述计算平台(1)并且绑定至所述计算平台(1)的已定义配置的签名密钥(SK)的公钥;
从所述计算平台(1)接收表示所述已定义配置的数据(PCRSK);
验证所述已定义配置对应于可信平台配置;以及
向所述计算平台(1)发送针对所述签名密钥(SK)的证书(C(SK),CDAA(SK)),所述证书证实所述签名密钥(SK)绑定至未指定的可信平台配置。

10.
  根据权利要求9所述的方法,其中所述证书CDAA(SK)是绑定至所述签名密钥(SK)的所述公钥的匿名证书。

11.
  根据权利要求10所述的方法,包括:通过将所述公钥编码为所述证书CDAA(SK)的至少一个属性,来将所述证书CDAA(SK)绑定至所述公钥。

12.
  根据权利要求9到11中任一权利要求所述的方法,所述方法用于证实包括可信平台模块(4)的计算平台(1)的配置,其中所述可信平台模块(4)具有用于存储平台配置值的一组寄存器(5),其中所述平台(1)的所述已定义配置包括所述寄存器(5)的已定义状态,所述方法包括:
从所述计算平台(1)接收关于所述签名密钥(SK)的证书,所述证书是使用所述可信平台模块(4)的证明身份密钥(AIK)而生成的,所述证书指明所述寄存器(5)的所述已定义状态;
认证所述证明身份密钥(AIK);以及
验证所述已定义状态对应于可信平台配置。

13.
  一种用于验证计算平台(1)的配置的证明的方法,所述方法包括:
向所述计算平台(1)发送质询;
从所述计算平台(1)接收所述计算平台(1)使用绑定至所述计算平台(1)的签名密钥(SK)对所述质询进行签名的能力的说明,以及所述计算平台(1)对证书(C(SK),CDAA(SK))的拥有的说明,其中所述证书(C(SK),CDAA(SK))证实所述签名密钥(SK)绑定至未指定的可信平台配置;以及
认证所述证书(C(SK),CDAA(SK)),由此验证所述计算平台(1)具有可信平台配置,而无需接收所述平台配置的公开。

14.
  根据权利要求13所述的方法,包括:
从所述计算平台(1)接收使用所述签名密钥(SK)进行签名的所述质询以及所述签名密钥(SK)的公钥,作为对所述质询进行签名的所述能力的说明;以及
从所述计算平台(1)接收所述证书(C(SK)),作为对所述证书的拥有的说明。

15.
  根据权利要求13所述的方法,其中所述证书CDAA(SK)是绑定至所述签名密钥(SK)的公钥的匿名证书,所述方法包括从所述计算平台(1)接收如下内容,作为对所述质询进行签名的所述能力的说明以及对所述证书CDAA(SK)的拥有的说明:
所述计算平台(1)对所述证书CDAA(SK)的知识的证明;
绑定至所述证书CDAA(SK)的所述密钥与所述签名密钥(SK)的所述公钥的等同性的证明;以及
相对于所述签名密钥(SK)的所述公钥的、对所述质询的所述签名的正确知识的证明。

16.
  一种计算机程序,包括用于使计算机执行任一在前权利要求所述方法的程序代码装置。

17.
  一种装置,用于向验证者(3)证明包含所述装置的计算平台(1)的配置,所述装置包括控制逻辑,其适于:
提供绑定至所述计算平台(1)并且绑定至所述计算平台(1)的已定义配置的签名密钥(SK);
从评价者(2)获得针对所述签名密钥(SK)的证书(C(SK),CDAA(SK)),所述证书证实了所述签名密钥(SK)绑定至未指定的可信平台配置;以及
向所述验证者(3)表明使用所述签名密钥(SK)对来自所述验证者(3)的质询进行签名的能力,并且向所述验证者(3)表明对所述证书(C(SK),CDAA(SK))的拥有,由此证明所述平台(1)具有可信配置,而无需向所述验证者(3)公开所述平台配置。

18.
  一种用于证实计算平台(1)的配置的装置,所述装置包括控制逻辑,响应于从所述计算平台(1)接收到、绑定至所述平台(1)并且绑定至所述平台(1)的已定义配置的签名密钥(SK)的公钥、以及接收到表示所述平台的所述已定义配置的数据(PCRSK),所述控制逻辑适于:
验证所述已定义配置对应于可信平台配置;以及
向所述计算平台(1)发送针对所述签名密钥(SK)的证书(C(SK),CDAA(SK)),所述证书证实所述签名密钥(SK)绑定至未指定的可信平台配置。

19.
  一种用于验证计算平台(1)的配置的证明的装置,所述装置包括控制逻辑,其适于:
向所述计算平台(1)发送质询;
从所述计算平台(1)接收所述计算平台(1)使用绑定至所述计算平台(1)的签名密钥(SK)对所述质询进行签名的能力的说明,以及所述计算平台(1)对证书(C(SK),CDAA(SK))的拥有的说明,其中所述证书(C(SK),CDAA(SK))证实所述签名密钥(SK)绑定至未指定的可信平台配置;以及
认证所述证书(C(SK),CDAA(SK)),由此验证所述计算平台(1)具有可信平台配置,而无需接收所述平台配置的公开。

说明书

计算平台的证明
技术领域
本发明总体上涉及计算平台的证明。更具体地,本发明的方面涉及向系统中的验证者证明计算平台的配置的过程中所涉及的方法、装置和计算机程序,其中验证者需要确保计算平台具有可信的平台配置。
背景技术
计算机已经发展为用于多种应用的工具,并且对各种形式的计算机系统的使用而言,其日益成为日常生活中的重要部分。在这些系统中,安全性表现出重要的挑战。全面的安全性特征对于提供可信赖计算环境而言至关重要,在这种可信赖计算环境中,诸如消费者、商家、政府和金融机构的用户可以依赖于对其利益进行保护。一个这样的安全性特征是,允许设备保证其他设备在可信计算环境中运行的机制,其中该可信计算机环境根据针对该环境而制定的信任标准是可信赖的。例如,设备应当能够表明:该设备没有受到导致对其配置进行未授权改变的攻击。这种配置改变可能使设备误用,导致系统安全性的破坏。提供关于设备配置的保证形成了证明过程的本质。
可信计算小组(TCG)是一个这样的组织,创建该组织是为了开发和促进跨过各种计算平台(诸如PC、PDA、移动电话、服务器、网关以及各种其他网络设备和外围设备)的可信计算的开放工业标准。TCG规范促进了被设计以增强针对虚拟攻击和物理攻击的安全性的硬件构建块以及软件接口。可信计算系统的核心是被称为可信平台模块(TPM)的组件。在2003年10月的Trusted Computing Group,TPMv1.2Specification Changes(对于v1.1b TPM Specification的变化概述)(http://www.trustedcomputinggroup.org/groups/tpm/TPM_1_2_Changes_final.pdf)中,详细定义了TPM的结构和操作。简言之,TPM是形式上为构建到各种平台中的专用集成电路的硬件组件。TPM具有防篡改(anti-tamper)能力,提供了用于数字密钥、证书以及密码的安全存储,以及用于各种与安全性相关的操作(诸如,密钥生成、平台证明、隐私保护功能以及加密算法和协议的实现)的功能性。
TPM所提供的平台证明功能基于平台配置值的安全存储和报告。这些值是从对硬件和软件配置的测量得出的,并且被安全地存储在一组平台配置寄存器(PCR)中的TPM内。更具体地,当平台首次建立时,使用哈希算法来根据配置测量生成哈希值。此外,在对平台配置进行改变时生成和存储哈希值,并且维护记录有这些改变的日志。哈希值存储在平台配置寄存器中,因此被称为“PCR值”。在希望证明平台配置时,可以将当前平台配置的PCR值以及日志发送至请求平台配置保证的方(在此,一般地称之为“验证者”)。验证者继而可以确认哈希值是正确计算的,并且该PCR值所表示的配置对应于可信配置。如果不是,可以拒绝与该平台进行进一步事务。
上文简单描述了证明过程。在实践中,该过程中涉及附加的安全性过程。例如,PCR值在验证者可以认证的数字签名下被发送给验证者。根据TPM规范,证明身份密钥(AIK)可以用于该目的。AIK是RSA(Rivest,Shamir,Adleman)密钥配对,并且被特别地用作对PCR数据进行签名的签名密钥。也即,AIK配对的私钥用来对发送给验证者的数据进行签名,该验证者继而通过使用公共AIK密钥而对数据进行验证来认证该签名。公共AIK密钥的有效性可以由验证者信任的某些形式的证书来确保。例如,平台可以从诸如证书机构(CA)的可信第三方(TTP)获取关于AIK的证书。该证书继而可以与公共AIK密钥一起发送给验证者。更复杂的方法包括使用匿名证书系统,诸如在上面参考的TCG规范中定义的直接匿名证明(DAA)协议。简言之,该系统允许平台获取可以用来向验证者证实AIK的匿名证书,而无需实际地将证书或者密钥展现给验证者。这是通过使用特殊的加密算法实现的,该加密算法允许在保持匿名性的同时向验证者进行需要的证明。
上述证明过程的核心是,将平台配置数据(具体地,PCR值和日志)发送给验证者,从而使验证者可以确认平台配置。在此过程中,验证者内在地将了解到平台配置的细节。例如,验证者可以确定哪些具体的程序正在平台上运行。此外,可以对与相同平台配置的多个事务进行链接。实际上,在一些应用中,平台配置可能实际上是唯一的,由此可以标识与该平台进行的所有事务。很明显,这些因素对隐私进行了妥协,而隐私是TCG以及实际上是任何可信赖系统的主要目标之一。
尽管已经在TCG的可信平台模块的环境中描述了基本证明过程,但是各种备选或者修改的过程在本领域内是已知的。这些过程中的一些依赖于使用附加的可信第三方(TTP),而其他则不用,但是所有过程或多或少都受到隐私问题的影响,并且一些过程还存在其他实现和/或效率问题。基于上面TPM系统的证明系统的例子由国际公开的专利申请WO 2005/038634A2和WO 2005/038635A2提供。这些主要解决了在基本TPM证明过程之上进行扩展的系统操作方面的问题。在“Property-based Attestation for Computing Platforms:Caring aboutProperties,not Mechanisms”,Sadeghi等人,NSPW’04:Proceedings ofthe 2004 workshop on New security paradigm(67-77页,ACM出版社)中,讨论了备选方案。其使用TTP来确认平台配置,接收到TPP证书的验证者给出关于平台属性的保证声明。这在一定程度上有助于缓解隐私问题,但是需要在平台和验证者之间的事务协议中包括TTP。该“瓶颈”导致了性能问题,并且该系统不适用于在现有TPM v1.2规范中实现。在公布为US 2005/0229011 A1的美国专利中描述另一修改。在该系统中,PCR值由随机数进行了扩展,并且TTP以证书担保的形式发布关于这些“混乱的”PCR值的保证声明。混乱的PCR值继而与证书一起发送给验证者。由此,验证者仍然接收PCR数据(虽然该数据是混乱的),并且该平台的多个事务是可链接的。
根据上文,希望提供一种证明系统,在该系统中可以减轻与上述已知系统相关联的各种问题。
发明内容
本发明的一个方面提供了一种用于向验证者证明计算平台配置的方法。该方法包括:
提供绑定至平台并且绑定至平台的已定义配置的签名密钥;
从评价者获取针对该签名密钥的证书,该证书证实该签名密钥绑定至未指定的可信平台配置;以及
向验证者表明使用该签名密钥而对来自该验证者的质询进行签名的能力,并且向验证者表明对证书的拥有,由此证明该平台具有可信配置,而无需向验证者公开平台配置。
因此,实现本发明的证明方法是基于使用绑定至平台和已定义平台配置二者的特定签名密钥。其效果在于,签名密钥可以仅与特定的计算平台一起使用,并且仅在计算平台具有已定义配置的情况下使用。诸如TTP的评价者可以验证该已定义配置对应于可信平台配置,并且为此可以发布针对签名密钥的证书。然而,因为签名密钥固有地绑定至已定义配置,配置本身可以保持不在证书中指定。也即,证书无需包括平台配置信息。平台继而可以表明其可以使用签名密钥而对来自验证者的质询进行签名,并且,通过表明关于该签名密钥的证书,平台可以向验证者保证其具有可信的配置,而无需向验证者公开任何具体的配置信息。根据TCG技术术语表,按照期望,“信任”可以定义为可信设备或者可信平台配置将为了特定目的而按照特定方法进行操作。此外,根据TCG技术术语表,“可信计算平台”或者“可信平台配置”可以定义为可以信任来报告其属性的计算平台。
本发明的这一方面表示了相当简单但是高度有效的平台证明系统,其中,可以向验证者给出所需的保证,同时提供针对平台配置细节的完全隐私保护。而且,该系统特别适于在当前TCG规范的环境内实现,允许在基于TCG的系统中容易地采用该证明机制,并且在复杂、高效和广泛接受的可信计算环境内提供该证明过程的优势。
该平台可以如下来表明其对质询进行签名的能力:简单地通过对质询进行签名以及将质询与签名密钥的公钥一起返回给验证者。类似地,可以通过将证书实际发送给验证者来表明对证书的拥有。然而,如果评价者发布的证书是诸如DAA之类证书的匿名证书,则可以提供附加的隐私保护。这里,可以向验证者表明对证书的拥有,而无需向验证者实际公开证书;并且可以表明对质询进行签名的能力,而无需发送已签名的质询或者公开签名密钥的公钥。这将在下文更为详细地阐释。
本发明的其他方面分别涉及在使用上述方法的证明系统中评价者和验证者的操作。由此,本发明的第二方面提供了一种用于证实计算平台的配置的方法。该方法包括以下步骤:从计算平台接收绑定至该平台并且绑定至该平台的已定义配置的签名密钥的公钥;从该计算平台接收表示所述已定义配置的数据;验证所述数据对应于可信平台配置;以及向该计算平台发送针对该签名密钥的证书,该证书证实该签名密钥被绑定至未指定的可信平台配置。本发明的第三方面提供一种用于验证计算平台的配置的证明的方法。该方法包括以下步骤:向计算平台发送质询;从计算平台接收该计算平台使用绑定至该计算平台的签名密钥对所述质询进行签名的能力的说明,以及计算平台对证书的拥有,该证书证实该签名密钥绑定至未指定的可信平台配置;以及认证所述证书,由此验证该计算平台具有可信平台配置,而无需接收该平台配置的公开内容。
在这里参考本发明的一个方面的实施方式描述特征时,可以在本发明的另一方面的实施方式中提供相应的特征。
本发明还提供了一种计算机程序,其包括程序代码装置,用于使计算机执行根据本发明任意前述方面的方法。应该理解,术语“计算机”是在最一般的意义上使用的,并且包括用于实现计算机程序的数据处理能力的任何设备、组件或者系统。而且,实现本发明的计算机程序可以组成独立的程序,或者可以是较大程序的元素,并且例如可以包含在诸如盘或者电子传输的计算机可读介质中提供,以用于在计算机中加载。计算机程序的程序代码装置可以包括意在使计算机直接执行、或者在以下任一或者二者之后执行所考虑方法的指令集的任何语言、代码或者符号的任何表达式:(a)转换为另一语言、代码或者符号;以及(b)以不同的材料形式复制。
本发明的另一方面提供用于向验证者证明计算平台的配置的装置,其中该计算平台包含该装置,该装置包括适于执行根据本发明第一方面的方法的控制逻辑。
本发明的另一方面提供用于证实计算平台配置的装置,该装置包括控制逻辑,其适于响应于从计算平台接收到绑定至该平台并且绑定至该平台的已定义配置的签名密钥的公钥、以及接收到表示该平台的所述已定义配置的数据,该控制逻辑用于:验证所述已定义配置对应于可信平台配置;以及向计算平台发送针对签名密钥的证书,该证书证实该签名密钥绑定至未指定的可信平台配置。
本发明的其他方面提供用于验证计算平台配置的证明的装置,该装置包括适于执行根据本发明第三方面的方法控制逻辑。
附图说明
现在将以示例的方式参考附图来描述本发明的优选实施方式,其中:
图1是示出了实现本发明证明方法的操作中的基本步骤的一个计算系统的表示;
图2是实现本发明的证明方法的一个操作系统接的示意图;
图3示出了对图2的实施方式的修改;以及
图4是实现本发明的另一证明方法的操作细节的示意图。
具体实施方式
图1示出了可以执行实现本发明证明方法的计算系统的一个实施方式的示意图。该系统包括:计算平台1、配置评价者2以及验证者3。计算平台1也表示为用户平台1。配置评价者2也表示为评价者2。这些组件中的每一个包括用于实现将要描述的证明过程的步骤的控制逻辑。总体上,控制逻辑可以通过硬件或软件或其组合来实现,并且组件1到3的具体特性与证明过程的基础操作在很大程度上不相关。然而,为了本示例的目的,将假设由通用计算机来实现系统组件1、2和3的每一个。具体地,这里的平台1由用户PC实现,并且包括可信平台模块(TPM)4形式的安全性模块。TPM 4的结构和操作总体上如先前引用的TCG规范所定义(将其相关内容通过引用在此并入),其具有执行下面描述的证明过程的附加功能。根据这里的描述,该功能的具体实现对于本领域技术人员而言将是易见的。用户平台1中的TPM 4包括一组寄存器5,用于存储如前所述的PCR值。一般地,这组寄存器5可以包括任意数目的独立PCR寄存器,尽管通常TPM芯片包括最少16个寄存器。在此示例中,评价者2和验证者3简单地通过通用计算机来实现,该通用计算机具有使计算机执行证明过程步骤的相应计算机程序。涉及这种系统的一个情境示例是:消费者操作的用户PC 1希望访问由在验证者计算机3上运行的服务器所提供的web服务。为了访问该服务,应当证明用户平台1的配置满足验证者3。在此情境中,配置评价者2表示TTP,也即用户和验证者二者都信任的实体。
在本发明的实施方式中,特殊的签名密钥SK在用户平台1中定义。该签名密钥SK绑定至用户平台1(具体地,其TPM 4)以及还绑定至用户平台1的已定义配置二者。这种绑定的效果在于:签名密钥SK的私钥在TPM4中安全地保存,使得只能由该特定的TPM(也即,SK是不可移植的)来利用该签名密钥、并且仅在用户平台1具有与PCR寄存器5的已定义状态相对应的已定义配置时可以使用该签名密钥。PCR寄存器5的该已定义状态例如可以是:寄存器5包含指定的(一个或多个)PCR值的集合,或者满足已定义条件的已存储PCR值的集合,例如,预定的哈希函数的应用得到指定的哈希值。在任何情况下,在本实施方式的TCG环境中,签名密钥可以由TPM 4使用命令TPM_CreateWrapKEY来创建,并且由SK(TPM,PCR)在图1的TPM4中指定,其中下标表示刚刚描述的绑定。
实现本发明的证明过程包括:计算平台1从评价者2获得针对签名密钥SK的证书。此证书的目的是为了证实密钥SK所绑定的平台配置是可信平台配置。图1中所标出的箭头提供了对将要描述的证明过程操作中的基本步骤的简化表示。箭头A表示:签名密钥SK(具体地,其公钥)以及指明该密钥SK所绑定的特定PCR状态的数据被发送至评价者2。在图中,该数据由PCRSK表示。评价者2继而验证由PCRSK表示的PCR状态对应于可信平台配置,这例如是通过使用日志来检查PCR状态。假设PCR状态被认为是可信赖的,则如箭头B所示,评价者2将针对签名密钥的证书C(SK)发回平台1。该证书可以采用各种形式,但是通常包括评价者对密钥SK的某些形式的签名。这里的要点在于:证书不包括PCRSK或指明关于平台配置的任何信息。随后,当验证者3如箭头C所示向平台1发送质询(例如,消息或者随机数)时,平台可以使用证书C(SK)来证明其配置的有效性。具体地,如箭头D所示,平台向验证者3表明其使用签名密钥SK对质询进行签名的能力,并且表明对证书C(SK)的拥有。验证者3可以通过已知方式对证书进行认证,并且在相信评价者2的情况下,了解到证书是针对与可信PCR状态相对应的密钥SK而发布的。而且,因为密钥SK绑定至评价者2所验证的PCR状态,使用SK对质询进行签名的能力是对用户平台1的配置可信赖的确认。以此方式,证明了用户平台配置满足验证者3,而无需以任何形式向验证者公开PCRCK、PCR值或者说实际上向验证者公开平台配置的任何细节。
图2是实现本发明的证明方法的示意图,其更为详细地示出了所涉及的过程。在此实施方式中,TPM 4使用上文讨论的证明身份密钥(AIK)来生成关于签名密钥SK的证书。具体地,如图所示,TPM 4的AIK的私钥用来对SK的公钥以及SK所绑定至的PCR状态PCRSK进行签名。可以使用TCG命令TPM_CertifyKey(AIK,SK)来执行该证书操作,其中项SK是包含AIK的相同TPM4的不可移植密钥,并且其使用限于由可变PCRSK所定义的PCR状态。继而,将得到的证书与SK的公钥一起发送给评价者2。(这里,由于使用AIK对公共SK密钥进行签名,其必然作为证书的一部分被发送给评价者)。在此实施方式中,公共AIK密钥与证书一起发送给评价者2。评价者2继而对AIK进行认证(例如,通过验证AIK是该评价者已知的可信AIK)。AIK的认证验证了签名密钥SK,并且评价者2继而如已经描述的那样来验证PCR状态PCRSK。继而发布证书C(SK),如图所示,该C(SK)绑定至公共SK密钥。这里,该绑定是通过将公共SK密钥并入证书来实现的,例如,证书可以是评价者2对公共SK密钥的签名。如图所示,平台1继而使用私有SK密钥对验证者3的质询进行签名,并将其与对验证者3的证书(并入了公共SK密钥)一起返回给验证者3。这可以通过TCG TPM_Sign操作来执行。验证者3继而确认质询已经利用证书C(SK)所证实的私钥进行了签名,由此完成证明过程。
上述实施方式中的AIK可以由评价者2通过其他方式来认证。例如,用户平台1可以提供关于评价者2所信任的证书机构(CA)发布的AIK的证书。另一备选方案使用上文提到的DAA协议。这在图3中示意性地示出,其中图3总体上与图2相对应,只是框6示出了DAA协议所引入的修改。这里,用户平台1先前已经从评价者2(或者另一TTP)获得了DAA证书C(DAA)。如图所示,DAA证书C(DAA)绑定至用来获得证书并且受到TPM4保护的DAA密钥的公钥。C(DAA)用来通过使用DAA协议中所定义的特殊算法来向评价者2提供AIK的验证。这些算法无需在此详细描述。理解以下内容足矣:其包括零知识证明,其允许平台1使用证书C(DAA)向验证者2证明其具有对公共AIK密钥的签名,而无需向评价者实际公开AIK密钥或者证书C(DAA)。
根据计算系统中所需的匿名性级别,签名密钥SK可以用于与多个验证者3进行的多个事务、仅与特定验证者3进行的多个事务、或者与给定验证者进行的仅仅单个事务。由此,TPM 4可以提供不止一个签名密钥,以便在平台的事务中使用。这些签名密钥的相应证书C(SK)可以在使用其的事务之前获得,签名密钥与已定义PCR状态的绑定确保了如果平台配置随后遭到破坏,则证书将无法使用。
图4的示意图示出了提供对图2系统的进一步增强的证明系统的另一实施方式。基本系统与图2的系统很相似,这里将讨论仅有的差别。主要的差别在于评价者2针对签名密钥SK所发布的证书的特性。这里,该证书是绑定至SK的公钥的匿名证书。该匿名证书可以是如前所述的DAA类证书,并且其在图中由CDAA(SK)表示。如图所示,该证书绑定至如上文描述的DAA系统中从评价者2获得证书中所使用的DAA类密钥DK的公钥。然而,与通常的DAA证书不同,证书CDAA(SK)不需要绑定至平台1。证书CDAA(SK)通过将SK的公钥编码为证书的属性来绑定至该公钥。(可以通过通常已知的方式完成,属性的使用是本领域内已知的,例如,上文参考的WO 2005/038635A2中所描述的)。
在此实施方式中,证书CDAA(SK)允许平台1向验证者3表明对证书的拥有,而无需向验证者实际公开证书或者签名密钥SK的公钥。平台还可以示出其使用SK对验证者的质询进行签名的能力,而无需将经过签名的质询实际返回给验证者。具体地,平台1可以通过如下来表明对证书CDAA(SK)的拥有,以及其对质询进行签名的能力:(1)证明证书CDAA(SK)的知识;(2)证明证书的属性与SK的公钥的等同性;以及(3)证明对质询的签名的知识相对于SK的公钥的正确性,这将在下文的算法中详细描述。可以利用DAA类协议来完成对证书知识的证明,这对于本领域技术人员而言将是易见的。响应于来自验证者的质询,平台1使用其私有SK密钥计算对质询的RSA签名。注意,RSA签名算法由以下算法定义(细节可以参考RSA PKCS#1规范,RSA实验室,PKCS#1v2.1RSA加密标准,2002,RSA Security公司。ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf,在此通过引用并入其相关内容):
s=H(m)^(1/e)mod n
其中H是哈希函数,m是质询,而n和e定义了公共签名密钥。在实践中,e通常是固定值(2^16+1)。现在,在没有公开公钥的情况下平台证明了:公共签名密钥SK编码在证书CDAA(SK)中,并且在对质询的签名中使用了SK的私钥。由此,平台1计算如下承诺:
Cn=g^n*h^(rn)
Cs=g^s*h^(rs)
其中rs、rn等于随机数,并且例如g=R0、h=S(R0和S是如DAA协议所定义的配置评价者的DAA公钥的元素)。而且,平台生成证明:(1)Cn包含与证书CDAA(SK)相同的n,以及(2)Cs包含相对于n的对m的签名。如图所述,该系统的各方面由此可以被验证者3所验证,其中ZKP表示零知识证明。
图4的系统表示对先前实施方式的进一步改进,因为用户平台1对于验证者3是完全匿名的。由此,相同的签名密钥可以用于与任何验证者进行的多个事务,而不会影响匿名性。从隐私的角度看,用户平台1无需信任评价者2,因为即使评价者2要公开SK及其绑定PCR状态PCRSK,这也无法通过向验证者3公开的信息来链接到用户平台1。在给定的情境中,如果合适,则评价者2可以与验证者3是相同的实体。
当然可以对上述实施方式进行各种修改。例如,根据图4系统中证书CDAA(SK)的最大属性大小,可以将已编码密钥分为多个属性。而且,图3实施方式中用来验证AIK的DAA协议同样可以在图4系统中使用。本发明的实施方式当然可以在不同于图1的特定示例的多种计算系统中使用,并且这种系统中的平台、评价者和验证者可以是不同于所描述的特定示例的任何形式的计算设备。可以对所描述的具体实施方式进行各种其他改变和修改,而不脱离本发明的范围。

计算平台的证明.pdf_第1页
第1页 / 共20页
计算平台的证明.pdf_第2页
第2页 / 共20页
计算平台的证明.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《计算平台的证明.pdf》由会员分享,可在线阅读,更多相关《计算平台的证明.pdf(20页珍藏版)》请在专利查询网上搜索。

提供了用于向验证者(3)证明计算平台(1)的配置的方法和装置。签名密钥(SK)绑定至平台(1)并且绑定至平台(1)的已定义配置。从评价者(2)获得针对该签名密钥(SK)的证书(C(SK),CDAA(SK)。此证书(C(SK),CDAA(SK)证实签名密钥(SK)绑定至未指定的可信平台配置。平台(1)继而可以向验证者(3)表明其使用该签名密钥(SK)对来自验证者(3)的质询进行签名的能力,并且向验证。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1