公开/公告号CN104917615A
专利类型发明专利
公开/公告日2015-09-16
原文格式PDF
申请/专利权人 广东电网有限责任公司信息中心;
申请/专利号CN201510203281.5
申请日2015-04-24
分类号H04L9/32(20060101);H04L9/30(20060101);H04L29/06(20060101);
代理机构11362 北京联创佳为专利事务所(普通合伙);
代理人郭防
地址 510000 广东省广州市越秀区东风东路水均岗6号8号十八楼
入库时间 2023-12-18 11:00:03
法律状态公告日
法律状态信息
法律状态
2018-06-01
授权
授权
2015-10-14
实质审查的生效 IPC(主分类):H04L9/32 申请日:20150424
实质审查的生效
2015-09-16
公开
公开
技术领域
本发明涉及一种基于环签名的可信计算平台属性验证方法,属于信息安全技术领域。
背景技术
由于电网系统内网对计算平台的要求较高,在安装各种应用和安全防护软件后还需对安 装的软件进行二次加固,才能使安装的软件被允许接入内网,因此主要考虑内部属性证书, 即由可信芯片和其宿主联合签发的,目的是用来说明当前平台具有某种属性,而不是直接考 虑外部属性证书(直接由生产该软件的厂商签发的证书)。
对于内部属性证书,由于需要真实报告平台的配置信息,因此必须有可信芯片的参与才 能签发。但因为涉及到可信芯片的签名以及平台的配置信息,所以在计算平台验证过程中, 如何保护隐私性是亟待解决的重要问题。
在现有的TCM设计规范中,主要有两种类型的证书:密码模块证书和平台证书。密码 模块证书用于建立密码模块密钥(Endorsement Key,EK)与可信密码模块的绑定关系。一 个可信计算平台可以通过密码模块证书来证明平台可以被信任做出完整性度量报告。密码模 块证书可以提供平台嵌入有合法TCM的证据。在TCM证明自己的身份时,生成另外一对 ECC密钥对–平台身份密钥(Platform Identity Key,PIK)代替EK进行签名,并通过和私有 CA交互确认PIK的正确性来完成身份的证明。而平台证书中的平台身份证书可以提供对平 台环境状态配置信息的证明。TPCM运用PIK对受保护的平台配置寄存器(PCR)内存储的 有关平台配置信息的度量值进行数字签名,平台转发该签名给远程请求者来提供平台完整性 的度量。但是,这种证明方法暴露了本地平台的具体配置信息,使平台更容易遭受攻击。此 外,这种证明方法需要零知识证明,而零知识证明的实现效率较低,因此会影响可信计算平 台的验证效率。
发明内容
本发明的目的在于,提供一种基于环签名的可信计算平台属性验证方法,既能满足计算 平台验证的远程匿名性,保护隐私,又能提高可信计算平台的验证效率。
为解决上述技术问题,本发明采用如下的技术方案:一种基于环签名的可信计算平台属 性验证方法,包括以下步骤:设计算平台A、B为进行平台属性自动验证的双方,属性证书 中的属性P对应平台配置C1,C2,…,CN,计算平台A选择其它t-1个内嵌可信芯片的计算平 台与自身形成环;由计算平台A内嵌的可信芯片A提取存放于对应PCR中的配置信息摘要 值Cr(1≤r≤N),并由可信芯片A随机选择一个私有信息xA,计算属性隐藏值 yA=xA-1(H1(P,C1,C2,…,CN)+dAr)modn以及签名最终值;交互验证阶段,资源提供方即计 算平台B选择的私有信息xB和私钥dB同时参与运算,验证计算平台A是否具有属性P。
前述的基于环签名的可信计算平台属性验证方法,具体包括以下步骤:
(1)参数初始化阶段
设计算平台A、B为进行平台属性自动验证的双方,计算平台A、B分别内嵌可信芯片 A、B,属性证书中属性P对应平台配置C1,C2,…,CN,每个可信芯片拥有一个ECC密钥对 (PIKS,PIKP),其中,PIKS为私钥,PIKP为相应的公钥;
当计算平台A需向计算平台B证明其是合法的可信芯片A拥有者时,计算平台A选择 其它t-1个内嵌可信芯片的计算平台与自身形成环,并通过可信芯片公钥证书获得其他可信 芯片的PIK公钥;设环中成员可信芯片的PIK公钥分别为PIKP1,PIKP2,…,PIKPt,为表示方 便,以下记作Q1,Q2,…,Qt,有限域Fp上的椭圆曲线域参数为T=(p,a,b,G,n,h);
可信芯片A选择私钥dA∈[1,n-1],计算公钥为椭圆曲线上的点,且 QA=dAG,设自身可信芯片A的序号为s,即QA=Qs,dA=ds,此处生成的ECC密钥对即 为PIK密钥,即(dA,QA)就是(PIKSs,PIKPs);
(2)签名阶段
a)可信芯片A随机选择一个私有信息xA(1≤xA≤n-1),提取存放于对应PCR中的配置信息 摘要值Cr(1≤r≤N),计算xAG=(x′,y′)和r=x′modn(r≠0),联合宿主计算属性隐藏值 yA=xA-1(H1(P,C1,C2,…,CN)+dAr)modn且(yA≠0),此时,可信芯片A要签名的信息为 M=(p,a,b,G,n,h,QA,yA,r,P);
b)可信芯片A的宿主计算散列值k=H2(M,Q1,Q2,…,Qt),随机选择初始值v和随机数序列 x1,…,xs-1,xs+1,…,xt,利用椭圆曲线加密算法分别计算出yi=f(xi),i≠s,所使用的公钥分别 为Qi(1≤i≤t,i≠s);
c)可信芯片A选择以下环方程:
式中,Ek()为对称加密算法,k=H2(M,Q1,Q2,…,Qt)为对称加密算法的密钥,为逐比特 异或运算;
d)可信芯片A联合宿主根据式(1)计算出
式中,Dk()为相应的对称解密算法;然后可信芯片A的宿主将ys的值发送到可信芯片A内 部,可信芯片A利用ECC私钥dA(即ds)使用椭圆曲线解密算法计算出xs=g(ys),产生 的(2t+1)维可信芯片A的PIK证书(PIKP1,PIKP2,…,PIKPt;v;x1,x2,…,xt)即为可信芯片A对 信息M=(p,a,b,G,n,h,QA,yA,r,P)签名所产生的自签名证书;
e)计算平台A将信息M和PIK证书(PIKP1,PIKP2,…,PIKPt;v;x1,x2,…,xt)发送给计算平台 B;
(3)交互验证阶段
计算平台B在收到计算平台A发送的消息M及可信芯片A签发的PIK证书后,首先验证 环签名是否合法,若不合法,则丢弃收到的消息;若合法,则计算平台B随机选择一个私 有信息xB(1≤xB≤n-1,)并计算u2=ryA-1modn和 b1=H4(dBG),然后计算k1=H3(b1xB(u1G+u2QA)),并发送xBG给计算平台A,计算平台A 与宿主联合计算b2=H4(QB),并返还k2=H3(b2xA(xBG))给计算平台B,计算平台B通过验 证k1=k2来确定计算平台A是否具有属性P。
上述公式中,u2、u2是代入计算k1的中间值,;H1()、H2()、H3()、H4()均是哈希函 数。
前述的基于环签名的可信计算平台属性验证方法中,所述计算平台B验证环签名的过 程如下:
(1)计算对称密钥k=H2(M,Q1,Q2,…,Qt);
(2)计算yi=f(xi)(1≤i≤t);
(3)验证是否成立,若成立,则接受所述签 名,否则拒绝所述签名。
与现有技术相比,本发明具有以下优点:
1、签名者可以在未经其他成员同意下代表其所属的任意环签名,不需要管理者来生成 签名,也不需要其他成员合作,并且每一位环成员在签名时可以使用不同的算法。
2、验证签名的阶段和环签名一致,验证者只能验证该签名是由环中某成员生成的,只 能确信是环中某一位成员对信息进行了签名,但无法知道具体的签名者身份,不能指出环成 员中哪一位是真正的签名者,因此环签名隐藏了平台身份,不会泄露平台的具体属性,且签 名不可伪造。
在平台属性证明过程中,采用类似于自动信任协商中的属性证书的技术,把多种平台配 置具有的共同属性准确地抽象成属性证书,属性证书中的属性P对应多种平台配置 C1,C2,…,Cn,从而平台的真实属性Cr被很好地掩盖在属性值P中,验证方只能获得属性值 P而无法判断出该平台的具体配置属于哪一种,因此隐藏了平台配置信息。
同时,由可信芯片提取存放于对应PCR中的配置信息摘要值Cr(1≤r≤N),并由可信芯 片随机选择一个私有信息xA,计算属性隐藏值yA=xA-1(H1(P,C1,C2,…,CN)+dAr)modn以及 签名最终值,因此平台不能伪造相应的配置值,并且攻击者不能通过假冒A来获得B提供 的资源。在交互验证阶段,资源提供方B选择的私有信息xB和私钥dB同时参与运算,保证 了计算的随机性和资源提供方B身份的可靠性,使得敌手不能冒充B来为A提供不安全的 资源。
3、匿名证明的计算复杂度直接与所选择的环的大小有关,可信芯片宿主可以根据自己 的隐私性保护需求,自主地选择隐藏身份的环的大小以及成员组成。
4、通过环签名来实现匿名证明,不需要零知识证明,因此本发明的计算、验证效率 高。
5、本发明适用于所有内嵌ECC算法的可信计算模块,由于目前TPM也内嵌了ECC算 法,因此本发明也同样适用于TPM。
具体实施方式
本发明的实施例:一种基于环签名的可信计算平台属性验证方法,包括以下阶段:
1、参数初始化阶段
设计算平台A、B为进行平台属性自动验证的双方,计算平台A、B分别内嵌可信芯片 A、B,属性证书中属性P(是否支持应用隔离、是否具有病毒防护能力、病毒库是否最新 等都可以作为一种属性)对应多种平台配置C1,C2,…,CN,每个可信芯片拥有一个ECC密钥 对(PIKS,PIKP),其中,PIKS为私钥,PIKP为相应的公钥;
当计算平台A需向计算平台B证明其是合法的可信芯片A拥有者时,计算平台A选择 其它t-1个内嵌可信芯片的计算平台与自身形成环,并通过可信芯片公钥证书获得其他可信 芯片的PIK公钥;设环中成员可信芯片的PIK公钥分别为PIKP1,PIKP2,…,PIKPt,为表示方 便,以下记作Q1,Q2,…,Qt,有限域Fp上的椭圆曲线域参数为T=(p,a,b,G,n,h);
可信芯片A选择私钥dA∈[1,n-1],计算公钥为椭圆曲线上的点且 QA=dAG,设自身可信芯片A的序号为s,即QA=Qs,dA=ds,此处生成的ECC密钥对即 为PIK密钥,即(dA,QA)就是(PIKSs,PIKPs)。
2、签名阶段
(1)可信芯片A随机选择一个私有信息xA(1≤xA≤n-1),提取存放于对应PCR中的配 置信息摘要值Cr(1≤r≤N),计算xAG=(x′,y′)和r=x′modn(r≠0),联合宿主计算属性隐藏 值yA=xA-1(H1(P,C1,C2,…,CN)+dAr)modn且(yA≠0),此时,可信芯片A要签名的信息为 M=(p,a,b,G,n,h,QA,yA,r,P);
(2)可信芯片A的宿主计算散列值k=H2(M,Q1,Q2,…,Qt),随机选择初始值v和随机 数序列x1,…,xs-1,xs+1,…,xt,利用椭圆曲线加密算法分别计算出yi=f(xi),i≠s,所使用的公 钥分别为Qi(1≤i≤t,i≠s);
(3)可信芯片A选择以下环方程:
式中,Ek()为对称加密算法(可采用我国标准对称加密算法SM1或SM4), 为对称加密算法的密钥,为逐比特异或运算;
(4)可信芯片A联合宿主根据式(1)计算出
式中,Dk()为相应的对称解密算法;然后可信芯片A的宿主将ys的值发送到可信芯片A内 部,可信芯片A利用ECC私钥dA(即ds)使用椭圆曲线解密算法计算出xs=g(ys),产生 的(2t+1)维可信芯片A的PIK证书(PIKP1,PIKP2,…,PIKPt;v;x1,x2,…,xt)即为可信芯片A对 信息M=(p,a,b,G,n,h,QA,yA,r,P)签名所产生的自签名证书;
(5)计算平台A将信息M和PIK证书(PIKP1,PIKP2,…,PIKPt;v;x1,x2,…,xt)发送给计算 平台B。
3、交互验证阶段
计算平台B在收到计算平台A发送的消息M及可信芯片A签发的PIK证书后,首先验证 环签名是否合法,若不合法,则丢弃收到的消息;若合法,则计算平台B随机选择一个私 有信息xB(1≤xB≤n-1,)并计算u2=ryA-1modn和 b1=H4(dBG),然后计算k1=H3(b1xB(u1G+u2QA)),并发送xBG给计算平台A,计算平台A 与宿主联合计算b2=H4(QB),并返还k2=H3(b2xA(xBG))给计算平台B,计算平台B通过验 证k1=k2来确定计算平台A是否具有属性P。
其中,计算平台B验证环签名的过程如下:
(1)计算对称密钥k=H2(M,Q1,Q2,…,Qt);
(2)计算yi=f(xi)(1≤i≤t);
(3)验证是否成立,若成立,则接受所述签 名,否则拒绝所述签名。
当可信芯片A的宿主(即计算平台A)需要向计算平台B证明自己是合法的可信芯片 A的拥有者时,可信芯片A的宿主选择t-1个其它的可信芯片与自身嵌入的可信芯片形成 环,把自己的身份隐藏在环中,选择待签名信息M,以及环中各TCM的公钥Q1,Q2,…,Qt(其中包含自身拥有的可信芯片,设其序号为s),可信芯片A及其宿主联合生成环签名 TCMSign(M)=(Q1,Q2,…,Qt;v;x1,x2,…xt)。其中非关键数据的生成和计算,如散列函数值 k=H2(M,Q1,Q2,…,Qt),初始值v和随机数序列x1,…,xs-1,xs+1,…,xt以及yi=f(xi),i≠s可以 由可信芯片A的宿主完成,环方程Ck,v(y1,y2,…,yt)=v和xs=g(ys)的计算必须由可信芯片 A完成。验证签名的阶段和环签名一致,验证者只能验证该签名是由环中某成员生成的,但 无法知道具体的签名者身份。很显然,上述匿名证明的计算复杂度直接与所选择的环的大小 有关,可信芯片宿主可以根据自己的隐私性保护需求,自主地选择隐藏身份的环的大小以及 成员组成。
机译: 一种基于属性的安全的云计算身份验证方法
机译: 一种基于生物数据识别的电子文档验证方法和一种基于生物数据完整性的电子签名方法,该方法将电子文档的原始文本与标记,验证码和标记一起使用,并以此为目的进行验证,验证,确认服务器和计算机
机译: 基于插值和探针跟踪的数字运输网络数据库属性信息验证方法