可信平台远程证明的匿名认证算法的制作方法

文档序号:7939912阅读:328来源:国知局
专利名称:可信平台远程证明的匿名认证算法的制作方法
技术领域
本发明涉及信息安全领域,具体讲是一种可信平台远程证明的匿名认证算法。
背景技术
远程证明是可信计算的基本特征之一。可信计算可以通过远程证明实现对接入终端的安全性检验。按照可信计算组织(Trusted Computing Group)提出的规范文档,服务端通过检测远程计算机平台的完整性实现证明从而确定信任。但服务端在进行安全检测时, 接入终端必须提供平台的各种配置信息,这样很容易侵犯到终端用户的隐私。出于这一点的考虑,可信计算组织引入了身份验证密钥AIK (Attestation Identity Keys)来保护可信平台模块的签名密钥EK(Endorsement Key)从而隐藏平台的身份信息。AIK的引入保护了可信平台内部的EK身份安全,但是仍没有考虑平台配置信息的隐私暴露问题。目前现有的解决方案大致有如下两种基于第三方认证模型和零知识证明。基于第三方认证模型具体实施过程如下(1)首先建立一个安全中心,安全中心掌握所有合法的可信平台密钥。(2)当一个可信平台需要向另一方证明自己的可信性与真实性时,就产生AIK密钥对,并将之发送给安全中心。(3)安全中心在密钥列表中查询是否有需要的签名密钥,若有,则在AIK上发放证书,并使用EK加密。(4)只有可信平台拥有正确的EK私钥,才可以解密出安全中心发放的证书,从而用证书证明自己。第三方认证模型存在两个明显的缺点和不足。首先,它难以避免恶意攻击者发起的拒绝服务攻击。出于安全角度考虑,可信平台每次需要证明自己身份时,都不得不重新向安全中心发起AIK认证申请。因此,安全中心不能拒绝短时间内的连续认证请求,而如果有攻击者连续发送大量垃圾AIK证书申请时,就会造成安全中心无法正常工作。并且,第三方认证模型还有一个难题,就是安全中心的运营问题。对于用户来说,安全中心不能由服务提供商运营,否则个人隐私难以得到保证;对于服务提供商而言,安全中心不能由用户运营, 否则合法身份不能得到认证。而另一种解决方案零知识证明,则是基于了 Camenisch-Lysyanskaya签名方案, 吸收了群签名、身份托管等技术的优点,在实现验证用户身份的同时,又保护了用户隐私, 其根本思想是运用了零知识证明(Zero Knowledge Proof)。在零知识证明中,一个人无需揭开某个秘密也可以向其他人证明自己知道这个秘密,其具体实施步骤如下(1)、发行商公布其公钥n,a, b,d,其中η是RSA算法的模数,a、b、c为信息上的签名。满足:ce = axbsd mod η ;(2)、可信平台模块签署公钥DAA = ax mod η, χ是可信平台模块的密钥;(3)、可信平台模块取随机数s',计算c' = Cbs' mod η,将c'发送给验证方;(4)、验证方计算s+es' =8〃,并代入(1 = (^ Ws' mod n,如果等式成立,则说明可信平台模块掌握c,e,s"的内容,即请求方存在可信平台,是安全的,否则,平台身份不安全。这种零知识证明认证方案很好的满足了可信计算的认证要求以及用户信息的保密要求,但由于其计算过程相当复杂,有大量的模幂运算,并且涉及到很多远超1024位的大数运算,然而,可信平台模块资源有限、计算能力有限,一般只能支持最高到1024X1024 的计算。即使采用一些加速签名或解密的算法,也依然很难将大数全部降到1024位以下, 就目前的技术水平来看,在可信平台模块硬件芯片没有突破发展的情况下,基于零知识认证的方案几乎难以实现。综上所述,目前现有的认证技术都难以满足可信平台之间的匿名认证要求。

发明内容
本发明要解决的一个技术问题是,克服现有技术的缺陷,提供一种算法复杂度较低,能够满足可信平台之间的匿名认证要求的可信平台远程证明的匿名认证算法。本发明的技术解决方案是,提供一种可信平台远程证明的匿名认证算法,它包括以下步骤(1)、参数初始化涉及验证双方的可信平台选择两个互异的大素数PRp PR2,设定参数IIa = I3R1PR2, eA= (PR1-I) (PR2-I),设定公共参数gA,gA为不超过nA的正整数,同时通过可信平台的密钥生成器及参数eA生成公私钥对(eA,dA),其中eA为私钥,dA为生成的公钥, 设定安全单向累加器 H,随机序列 X (X1, X2. . . xs_i,xs+1. . .,xt),其中 X1, x2. . . xs_i,xs+1. ... xt 为数值或字符,抗碰撞散列函数h ;(2)、发送方平台选择任意t-Ι个可信平台的公钥,与自身的公钥Ps构成公钥序列 {Pl, P2.......Pj,其中t为匿名等级参数,由发送方平台自行设定t的值;(3)、选择抗碰撞散列函数h,令h= {0,1} {Ο, Γ,Ι =rd,其中r为指定散列化后的比特数,d为块长,1为序列长度,计算yi = h(Xi),i Φ s,得出序列Yl (Yl, y2. . . ys_i, ys+i· · · · y);(4)、将序列Yl中的Yi按每d位一组,划分为r组,得yn,yi2. . . yir, 逐个计算yij =( Υ {0,0}d!=0 i:0),上述公式是指将yij与值为ο、长度为d的比特块做异或运算,若其结果不为零,则将之置为1,反之则为0,重新计算
权利要求
1. 一种可信平台远程证明的匿名认证算法,其特征在于它包括以下步骤(1)、参数初始化涉及验证双方的可信平台选择两个互异的大素数PRi、PR2,设定参数 nA = PR1PR2, eA = (PR1-I) (PR2-I),设定公共参数gA,gA为不超过nA的正整数,同时通过可信平台的密钥生成器及参数eA生成公私钥对(eA,dA),其中eA为私钥,dA为生成的公钥,设定安全单向累加器 H,随机序列 X (X1, X2. . . xs_i,xs+1. . .,xt),其中 X1, x2. . . xs_i,xs+1. ... xt 为数值或字符,抗碰撞散列函数h ;(2)、发送方平台选择任意t-Ι个可信平台的公钥,与自身的公钥Ps构成公钥序列{Pl, P2.......Pj,其中t为匿名等级参数,由发送方平台自行设定t的值;(3)、选择抗碰撞散列函数h,令h={0,1}*- {Ο,Ι}1, I =rd,其中r为指定散列化后的比特数,d为块长,1为序列长度,计算yi = h(Xi),i兴s,得出序列Yl(y1; y2. .. Y^1, Js+i' · · · y);(4)、将序列Yl中的yi按每d位一组,划分为r组,得yn,yi2.. . yir,逐个计算Yij =( Yij {0,0}d!=0 1:0),上述公式是指将yij与值为O、长度为d的比特块做异或运算,若其结果不为 零,则将之置为1,反之则为0,重新计算
全文摘要
本发明提供一种可信平台远程证明的匿名认证算法,采用本发明所述方法,匿名性好,并且既验证了发送方的身份信息,又保障了发送方的隐私信息,而且采用的幂指计算,其计算次数为常数,减少了加密、解密运算的次数,不会随着签名环的规模增大影响方案效率,具有相对来说可信平台能够接受的算法复杂度,综上,基本可以满足可信平台之间直接、匿名的身份验证。
文档编号H04L9/30GK102291396SQ20111021865
公开日2011年12月21日 申请日期2011年8月1日 优先权日2011年8月1日
发明者李海建, 程宏峰 申请人:杭州信雅达数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1