一种可信计算环境中的远程证明方法转让专利

申请号 : CN201010506796.X

文献号 : CN101951388B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周洁杨宇肖毅

申请人 : 中国电子科技集团公司第三十研究所

摘要 :

本发明公开了一种可信计算环境中的远程证明方法,基于每个可信计算平台的身份信息为其分配包含可信计算平台私钥的认证卡,任意两个可信计算平台之间基于身份密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证。在专用网络中基于身份的密码体制实现可信计算平台的远程证明,且部署简单、不需要公钥证书,认证过程通信量小。本发明对可信计算技术的应用及推广具有重要意义,在银行系统、国家机关等上下级明确、控制紧密的专用网络中具有较广阔的应用前景。

权利要求 :

1.一种可信计算环境中远程证明方法,其特征在于,基于每个可信计算平台的身份信息为其分配可信计算平台的私钥;

任意两个可信计算平台之间基于身份的密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证;

将两个进行远程证明的可信计算平台简称为发起方和接收方,所述任意两个可信计算平台之间基于身份的密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证的具体过程包括:步骤C1,发起方向接收方发送包含发起方身份信息、发起方产生的随机数和平台配置寄存器PCR请求信息的证明请求,接收方用本端可信计算平台的私钥对发起方身份信息、PCR响应信息和双方产生的随机数进行签名后得到签名信息,将接收方身份信息、PCR响应信息和接收方产生的随机数随同签名信息一起发送给发起方;

步骤C2,发起方查找在线资料库的用户身份列表中是否含有接收方身份信息,若有,则跳转步骤C3,否则流程结束;

步骤C3,发起方用接收方身份信息验证签名信息,若通过验证,则标注接收方身份是真实的,跳转步骤C4;若未通过验证,则标注接收方身份不真实,流程结束;

步骤C4,发起方判断PCR响应信息是否符合预期,若符合,则标注接收方状态是可信的,否则标注接收方状态是不可信的,流程结束;

同理,接收方用同样的流程对发起方的身份和状态进行验证。

2.根据权利要求1所述可信计算环境中远程证明方法,其特征在于,在基于每个可信计算平台的身份信息为其分配可信计算平台的私钥之前,该方法还包括对公钥基础设施中的密钥生产中心进行系统配置,具体包括:步骤A1,选择一个安全参数K,产生第一q阶群G1和第二q阶群G2,第一q阶群的生成元为P,一个双线性映射*

步骤A2,选择两个Hash函数:第一Hash函数H1:{0,1} →G1和第二Hash函数步骤A3,随机选择系统主密钥 计算系统公钥Ppub=s×P,并公开系统公钥Ppub。

3.根据权利要求2所述可信计算环境中远程证明方法,其特征在于,所述基于每个可信计算平台的身份信息为其分配可信计算平台的私钥的具体包括:步骤B1,设可信计算平台的身份信息为ID,通过第一Hash函数计算得到所述身份信息对应的可信计算平台的公钥QID=H1(ID);

步骤B2,计算可信计算平台的私钥dID=s×QID;

步骤B3,将可信计算平台的私钥dID通过认证卡的方式发送到可信计算平台。

4.根据权利要求1所述可信计算环境中远程证明方法,其特征在于,所述PCR请求信息包括发起方需要获取的接收方PCR信息列表,所述PCR响应信息包括发起方需要获取的接收方PCR信息。

5.根据权利要求3所述可信计算环境中远程证明方法,其特征在于,将发起方身份信息、PCR响应信息和双方产生的随机数记为明文m,所述双方产生的随机数包括发起方产生的随机数RA和接收方产生的随机数RB,所述接收方用本端可信计算平台的私钥对发起方身份信息、双方产生的随机数和PCR响应信息进行签名后得到签名信息的具体过程包括:步骤D1,接收方随机选择第二随机数

步骤D2,接收方计算U=RB×QID,h=H2(m,U),V=(RB+h)dID,其中,QID为接收方可信计算平台的公钥,dID为接收方可信计算平台的私钥;

步骤D3,用本端可信计算平台的私钥dID产生签名信息sig=(U,V)。

6.根据权利要求5所述可信计算环境中远程证明方法,其特征在于,所述发起方用接收方身份信息验证签名信息的具体过程包括:步骤E1,发起方接收到签名信息sig=(U,V)后,计算QID=H1(ID),h=H2(m,U),其中ID为接收方身份信息,ID和m是在步骤C1中随签名信息一起发送给发起方的;

步骤E2,发起方验证等式 是否成立,若等式成立,则签名通过

验证,否则签名未通过验证。

说明书 :

一种可信计算环境中的远程证明方法

技术领域

[0001] 本发明涉及可信计算技术领域,尤其涉及一种可信计算环境中的远程证明方法。

背景技术

[0002] 可信计算为终端安全提供了很好的解决方案,是信息安全领域的一个研究热点。当前可信计算相关产业链已经形成,很多厂家都推出了可信终端,包括可信计算机、可信服务器等。但从可信终端出发构建可信网络还存在一些问题,其中就有可信终端之间怎样验证对方身份是否真实和状态是否可信的问题,即可信计算平台远程证明问题。可信计算组织(Trusted Computing Group,简称TCG)提出了可信计算平台基于公钥基础设施(Public Key Infrastructure,简称PKI)的远程证明方法及系统,公钥基础设施框架如图1所示,各个可信计算平台通过注册管理中心与认证中心相连,证书库为注册管理中心和各个可信计算平台提供在线的服务。现有的可信计算平台与TPM(Trusted Platform Module,可信平台模块)绑定,TPM是可信计算平台的可信根,每个TPM都包含了一个唯一的EK(Endorement Key,背书密钥),EK实际是一个公私钥对,通常由厂商创建,固化在TPM内部且不允许修改。
为了保持EK的匿名性,可信计算平台在远程证明中使用AIK(Attestation Identity Key,身份证明密钥),可信计算平台向可信第三方CA(Certificate Authority,认证中心)申请AIK证书的过程为:
[0003] 步骤1,平台所有者使用TPM中的RSA(Rivest,Shamir & Adleman)密钥生成模块生成一个AIK密钥对,然后将这个密钥对的公钥和TPM背书证书、一致性证书和平台证书打包成一个AIK请求发送给可信第三方CA;
[0004] 步骤2,可信第三方CA通过验证证书来验证AIK请求是否有效;
[0005] 步骤3,验证通过后可信第三方CA生成一个AIK证书并用自己的私钥对AIK证书签名,然后把签名后的AIK证书返回给平台。
[0006] 各个可信计算平台之间通过使用AIK私钥进行签名并相互交换签名和AIK证书等信息实现远程证明,但是当前该方法在应用中存在以下两个问题,导致其实际应用很少。
[0007] 第一个问题是该方法及系统本身是面向公共网络的,比如其中使用了AIK证书来保护用户隐私,这在专用网络中没有必要。公共网络中的普通用户在安全和方便的平衡上可能更易于偏向方便,而且公共网络中不能强制每个用户都使用可信终端,再者,公共网络中的恶意用户不会自觉使用可信计算技术约束自己的行为,因此,该方法及系统难以应用和推广;
[0008] 第二个问题是该方法及系统部署比较复杂,费用昂贵。
[0009] 通过上面的分析可知,该方法及系统难以应用和推广,并且该方法及系统本身是面向公共网络的,不适合用于专用网络。,因此,如何在专用网络中进行可信计算平台远程证明从而加强专用网络的安全就成为本领域技术人员亟待解决的问题。

发明内容

[0010] 本发明要解决的技术问题是,提供一种可信计算环境中的远程证明方法,在专用网络中基于身份的密码体制实现可信计算平台的远程证明,且部署简单、通信量小。
[0011] 本发明采用的技术方案是,所述可信计算环境中远程证明方法,包括:
[0012] 基于每个可信计算平台的身份信息为其分配可信计算平台的私钥;
[0013] 任意两个可信计算平台之间基于身份的密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证。
[0014] 进一步的,在基于每个可信计算平台的身份信息为其分配可信计算平台的私钥之前,该方法包括对公钥基础设施中的密钥生产中心进行系统配置,具体包括:
[0015] 步骤A1,选择一个安全参数K,产生第一q阶群G1和第二q阶群G2,第一q阶群的生成元为P,一个双线性映射
[0016] 步骤A2,选择两个Hash函数:第一Hash函数H1:{0,1}*→G1和第二Hash函数H2:
[0017] 步骤A3,随机选择系统主密钥 计算系统公钥Ppub=s×P,并公开系统公钥Ppub。
[0018] 进一步的,所述基于每个可信计算平台的身份信息为其分配可信计算平台的私钥的具体包括:
[0019] 步骤B1,设可信计算平台的身份信息为ID,通过第一Hash函数计算得到所述身份信息对应的可信计算平台的公钥QID=H1(ID);
[0020] 步骤B2,计算可信计算平台的私钥dID=s×QID;
[0021] 步骤B3,将可信计算平台的私钥dID通过认证卡的方式发送到可信计算平台。
[0022] 进一步的,将两个进行远程证明的可信计算平台简称为发起方和接收方,所述任意两个可信计算平台之间基于身份密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证的具体过程包括:
[0023] 步骤C1,发起方向接收方发送包含发起方身份信息、发起方产生的随机数和PCR(Platforrn Configuration Regis-ters,平台配置寄存器)请求信息的证明请求,接收方用本端可信计算平台的私钥对发起方身份信息、PCR响应信息和双方产生的随机数进行签名后得到签名信息,将接收方身份信息、PCR响应信息和接收方产生的随机数随同签名信息一起发送给发起方;
[0024] 步骤C2,发起方查找在线资料库的用户身份列表中是否含有接收方身份信息,若有,则跳转步骤C3,否则流程结束;
[0025] 步骤C3,发起方用接收方身份信息验证签名信息,若通过验证,则标注接收方身份是真实的,跳转步骤C4;若未通过验证,则标注接收方身份不真实,流程结束;
[0026] 步骤C4,发起方判断PCR响应信息是否符合预期,若符合,则标注接收方状态是可信的,否则标注接收方状态是不可信的,流程结束;
[0027] 同理,接收方用同样的流程对发起方的身份和状态进行验证。
[0028] 进一步的,所述PCR请求信息包括发起方需要获取的接收方PCR信息列表,所述PCR响应信息包括发起方需要获取的接收方PCR信息。
[0029] 进一步的,将发起方身份信息、PCR响应信息和双方产生的随机数记为明文m,所述双方产生的随机数包括发起方产生的随机数RA和接收方产生的随机数RB,所述接收方用本端可信计算平台的私钥对发起方身份信息、随机数和PCR响应信息进行签名后得到签名信息的具体过程包括:
[0030] 步骤D1,接收方随机选择第二随机数
[0031] 步骤D2,接收方计算U=RB×QID,h=H2(m,U),V=(RB+h)dID,其中,QID为接收方可信计算平台的公钥,dID为接收方可信计算平台的私钥;
[0032] 步骤D3,用本端可信计算平台的私钥dID产生签名信息sig=(U,V)。
[0033] 进一步的,所述发起方用接收方身份信息验证签名信息的具体过程包括:
[0034] 步骤E1,发起方接收到签名信息sig=(U,V)后,计算QID=H1(ID),h=H2(m,U),其中ID为接收方身份信息,ID和m是在步骤C1中随签名信息一起发送给发起方的;
[0035] 步骤E2,发起方验证等式 是否成立,若等式成立,则签名通过验证,否则签名未通过验证。
[0036] 采用上述技术方案,本发明至少具有下列优点:
[0037] 本发明所述可信计算环境中的远程证明方法,基于每个可信计算平台的身份信息为其分配可信计算平台的私钥,任意两个可信计算平台之间基于身份密码体制和可信计算平台的私钥,对双方身份的真实性和状态的可信性进行验证。在专用网络中基于身份的密码体制实现可信计算平台的远程证明,且部署简单、不需要公钥证书,认证过程通信量小。本发明对可信计算技术的应用及推广具有重要意义。在银行系统、国家机关等上下级明确、控制紧密的专用网络中具有较广阔的应用前景。

附图说明

[0038] 图1为现有技术中公钥基础设施框架示意图;
[0039] 图2为基于身份的可信认证基础设施框架及注册流程示意图;
[0040] 图3为由密钥生产中心完成系统设置的流程图;
[0041] 图4为密钥管理中心基于每个可信计算平台的身份信息为其分配可信计算平台的私钥的流程图;
[0042] 图5为对等的任意两台可信计算平台之间进行远程证明时所涉及的基础设施示意图;
[0043] 图6为对等的任意两台可信计算平台之间进行远程证明的流程图。

具体实施方式

[0044] 为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
[0045] 可信计算平台基于身份的可信认证基础设施主要包括密钥生产中心、注册管理中心、资料库和可信计算平台四个组成部分,如图2所示,基本功能与现有的公钥基础设施类似,但是在本发明使用的可信认证基础设施中,用密钥生产中心代替了认证中心CA,用保存有用户身份列表的资料库代替了证书库,且各组成部分完成的功能与现有技术的公钥基础设施并不相同,具体的,
[0046] 密钥生产中心:拥有主密钥,负责系统参数的初始化,根据提交的平台身份制作认证卡,然后传递给注册管理中心。这里,认证卡是基于身份的可信平台模块TPM,具有符合TCG规范的TPM的功能。认证卡中包含有密钥生产中心基于可信计算平台的身份信息生成的对应私钥。密钥生产中心基于可信计算平台的身份信息生成的对应私钥替代了现有技术TCG规范中TPM的EK公、私钥对。
[0047] TPM是一个含有密码运算部件和存储部件的小型片上系统,具备专用的运算处理器、随机数产生器、独立的内存空间、永久性存储空间和独立的总线输入输出系统。使用符合标准规范的密码算法,对外提供非对称密钥生成运算、非对称算法加解密运算、杂凑函数运算、数字签名运算和随机数产生运算。
[0048] 本发明基于身份的TPM和现有技术中TCG规范的TPM功能结构基本一致,主要区别在于密码运算部件的不同。TCG规范中密码协处理器和密钥生成器都是实现的RSA算法,在本发明基于身份的TPM中实现的是基于身份的密码算法。
[0049] 注册管理中心:接受可信计算平台的注册,代表可信计算平台向密钥生成中心申请认证卡,并将生成的各个认证卡按平台身份发放到各个可信计算平台。
[0050] 资料库:存放全网用户可公开访问的资料,比如在系统中注册的所有可信计算平台的身份列表和用于签名验证的系统参数。资料库通常可以为注册管理中心和众多的可信计算平台提供在线服务,可信计算平台用户在直接访问这些资料时,权限是只读,不能修改或删除。
[0051] 可信计算平台:可信计算平台在加入系统之前必须先在注册管理中心进行注册,最终得到一张由注册管理中心发放的认证卡。认证卡由用户插入可信计算平台设备中,作为可信计算平台的可信根,每个平台应具有唯一的认证卡。
[0052] 需要注意用户身份和可信计算平台身份的区别。在本发明中使用可信计算平台的使用者即用户的身份由可信计算平台自己验证,不在可信计算平台基于身份的可信认证基础设施包含范围内,系统中假定平台都完成了对使用者的身份认证。可信计算平台之间只验证可信计算平台身份的真实性和平可信计算台状态的可信性。
[0053] 密钥生产中心基于可信计算平台的身份信息生成的对应私钥的过程包括:
[0054] 步骤S101,由密钥生产中心完成系统设置,如图3所示,主要执行以下步骤:
[0055] 步骤A1,选择一个安全参数K,产生第一q阶群G1和第二q阶群G2,第一q阶群的生成元为P,一个双线性映射*
[0056] 步骤A2,选择两个Hash函数:第一Hash函数H1:{0,1} →G1和第二Hash函数H2:
[0057] 步骤A3,随机选择系统主密钥 计算系统公钥Ppub=s×P,并公开系统公钥Ppub。
[0058] 步骤S102,由注册管理中心公在资料库中公布系统参数及对它们的描述:G1,G2,P,Ppub,H1,H2。
[0059] 步骤S103,密钥管理中心基于每个可信计算平台的身份信息为其分配可信计算平台的私钥的具体过程如图4所示,包括:
[0060] 步骤B1,设可信计算平台的身份信息为ID,通过第一Hash函数计算得到所述身份信息对应的可信计算平台的公钥QID=H1(ID);
[0061] 步骤B2,计算可信计算平台的私钥dID=s×QID;
[0062] 步骤B3,将可信计算平台的私钥dID通过认证卡的方式发送到可信计算平台用户。
[0063] 图5为可信计算平台在注册管理中心注册成功后,可信计算平台互相之间进行远程证明时所涉及的基础设施。将对等的任意两台可信计算平台分为发起方和接收方,如图6所示,该证明过程包括如下具体步骤:
[0064] 步骤S201,发起方将发起方身份信息IDA、发起方产生的第一随机数RA和第一PCR请求信息Text1发送到接收方;
[0065] 可信计算平台上不同模块的完整性度量值存放在不同的PCR中,总共有16个PCR,应用中根据验证方的安全需求发送PCR里存放的PCR值。本实施例中,第一PCR请求信息Text1就是验证发起方需要接收方提供的接收方的PCR信息。而认证卡可以计算其所在的可信计算平台中的各PCR值,这是本领域公知的技术,故此处不详述。
[0066] 步骤S202,接收方将接收方身份信息IDB、接收方产生的第二随机数RB、第一PCR响应信息PCRB和第二PCR请求信息Text2发送给发起方;
[0067] 同时,接收方用本端可信计算平台的私钥dIDB对发起方身份信息IDA、第一随机数RA、第二随机数RB和第一PCR响应信息PCRB进行签名后得到第一签名信息sig1,将第一签名信息sig1发送给发起方;
[0068] 将发起方身份信息IDA、第一PCR响应信息PCRB、第一随机数RA和第二随机数RB记为明文m。具体的,接收方用本端可信计算平台的私钥dIDB对发起方身份信息IDA、第一随机数RA、第二随机数RB和第一PCR响应信息PCRB进行签名后得到第一签名信息sig1的过程包括:
[0069] D1,接收方随机选择第二随机数
[0070] D2,接收方计算U=RB×QIDB,h=H2(m,U),V=(RB+h)dIDB,其中,QIDB为接收方可信计算平台的公钥,dIDB为接收方可信计算平台的私钥;
[0071] D3,接收方用本端可信计算平台的私钥dIDB产生第一签名信息sig1=(U,V)。
[0072] 步骤S203,发起方查找在线资料库的用户身份列表中是否含有接收方身份信息IDB,若有,则跳转步骤S204,否则流程结束;
[0073] 步骤S204,发起方用接收方身份信息IDB验证第一签名信息sig1,若验证通过,则说明第一签名信息的内容未被篡改,发起方标注接收方身份是真实的;验证未通过,则说明第一签名信息的内容已被篡改,发起方标注接收方身份不真实,流程结束;
[0074] 本步中,发起方用接收方身份信息IDB验证第一签名信息sig1的具体过程如下:
[0075] E1,发起方接收到签名信息sig=(U,V)后,计算QIDB=H1(IDB),h=H2(m,U),其中IDB为接收方身份信息,IDB和m是在步骤S202中已经随同第一签名信息sig1一起发送给发起方的;
[0076] E2,发起方验证等式 是否成立,若等式成立,则签名通过验证,否则签名未通过验证。
[0077] 步骤S205,发起方判断第一PCR响应信息PCRB是否符合预期,若符合,则标注接收方状态是可信的,否则标注接收方状态是不可信的,流程结束;这里,通常是在发起方和接收方中设定一个固定的PCR预期值与收到的PCR响应信息进行比较。
[0078] 同理,接收方可以用同样的流程对发起方的身份和状态进行验证。
[0079] 本发明设计的可信计算平台基于身份的远程证明方法解决了现有的可信计算平台基于PKI的远程证明方法及系统当前应用中存在的两个问题,表现在两方面:
[0080] 一是可信计算平台基于身份的远程证明方法适用于军事系统、国家机关等上下级明确、控制紧密的专用网络,在专用网络中可信计算技术也比较容易推广,其原因如下:
[0081] 1、专用网络中比较重视安全;
[0082] 2、从可信终端出发加强网络安全可能得到大力支持;
[0083] 3、可以强制每个用户都使用可信终端;
[0084] 4、使用可信计算技术可以很好的约束内部用户的行为。
[0085] 二是可信计算平台基于身份的远程证明方法所需基础设施部署简单,费用较少。
[0086] 另外,可信计算平台基于身份的远程证明方法还避免了公钥证书的发放、存储、交换等问题,不需要交换公钥证书使得认证过程中通信量减小。
[0087] 通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。