基于强素数的零知识身份认证方法

文档序号:7917704阅读:262来源:国知局
专利名称:基于强素数的零知识身份认证方法
技术领域
本发明属于计算机信息安全技术领域,具体涉及一种基于强素数的零知识身份认证方法,能广泛应用于身份认证领域,通过一系列交互过程,能比现有方案有更高的安全性以及更低的性能开销。
背景技术
随着互联网技术的发展和电子政务,电子商务的兴起,如何进行安全的身份认证成为一个的棘手问题。传统的身份认证都要求传输口令或身份信息,用户名密码的身份验证方式早已被认为是弱安全性的,对此人们提出许多新的身份识别方案,但唯一可行的只有基于离散对数难解问题的身份认证方案。由此“零知识证明”在20世纪80年代初由 Goldwasser等人提出。“零知识证明”指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。在Goldwasser等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样的零知识证明被称为“交互零知识证明”。大量事实证明,零知识证明在密码学中非常有用。零知识身份认证的一般过程如下 (I)AaB 证明
声称是A的证明者从预先定义集中选择一个随机元作为他的秘密承诺,并计算相关 (公开)证据发送给验证者B。(2) BaA:挑战
B选择一个挑战发送给A。(3) AaB:响应
A提供他的响应给B,B验证该响应的正确性。现在最著名的零知识身份认证方案是Smorr在1991年提出的零知识身份认证方案以及后来由 Sultan Almuhammadi and Clifford Neuman 针对 khnorr 方案进行改进提出的S. C零知识证明方案。1. Schnorr零知识身份认证方案
Schnorr零知识身份认证方案是零知识证明里最著名的方案,该方案由Schnorr在 1991年提出并在世界上许多国家申请了专利。现在很多的零知识身份认证方案都是由 Schnorr方案变型或者是改进而来,其具体过程如下
用户A’公钥为V,私钥为s,其中v=a_s mod p,a为q阶元。证明者A向验证者B证明其身份的具体过程如下
(1)A任选一随机数re [1,q-1],计算x=armod ρ,然后将χ送给验证者B;
(2)验证者B任选一整数ee[1,21]送给证明者A;
(3)证明者A将y=(r+Se)modq发送给验证者B;(4)验证者B验证X=ay*ve mod ρ是否成立如果成立,则说明证明者A即为用户Α’ ; 否则,证明者A不是用户A’。但是khnorr方案也存在一定的缺点一方面整个认证过程交互次数较多,另一方面在整个认证方案中求模运算较多,对整个系统的性能要求较高。因此能对这个方案进行改进将能使其得到更广的应用。2. Sultan Almuhammadi and Clifford Neuman提出的S. C零知识身份认证方案
Sultan Almuhammadi and Clifford Neuman 针对 Schnorr 方案中交互次数较多的问题于2005年提出了 S. C方案,此方案减少了 Schnorr方案中验证者和证明者之间的交互次数,其具体过程如下
证明者A向验证者B证明他知道满足gx=y (mod ρ)的数χ (但不泄漏χ)
(1)验证者B随机产生一个数b,计算c=gbmod p,将c作为挑战码发给证明者A
(2)证明者A计算r=cxmod p,将r作为应答数据发回给验证者B
(3)验证者B通过验证等式r=ybmod ρ是否成立来证明A是否真正知道χ 如果成立, 则证明者A真正知道X,说明证明者A为即为用户Α’ ;否则,证明者A不是用户Α’。对比S. C方案和khnorr方案可知,S. C方案比Schnorr方案少了一次交互次数。 但S. C方案存在一个缺陷当公钥参数选取不安全时,会大大降低攻击者破解用户A’私钥时求解离散对数的难度。如果公共模数P不是强素数,或者/7虽然是强素数但g不是本原元,且穿的阶为4的唯一质因子分解O^a1sWa2sVMansn中的每个^, /?,gcd(x , dg) Φ \ 时,攻击者可以通过有目的地选取g、b的值来获得用户Α’的若干身份验证信息r,并分别求解离散对数log。r,然后再利用中国剩余定理求解同余方程组来得到用户A’的私有信息
Xo

发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于强素数的零知识身份认证方法,利用可信中心产生的强素数,解决了 S. C方案中的缺陷,具备khnorr方案和S. C方案安全、高效的优点,认证效率比Schnon 方案提高1/3,减少系统开销,提高了安全性。由于“交互式零知识证明”身份认证方式需要证明者和验证者之间进行交互才能完成整个身份认证过程,因此减少交互次数有助于提高系统性能。本发明在S. C方案的基础上,利用可信中心产生的强素数,因此能在保证安全性的同时,将系统交互次数减少一步从而使性能提高了 1/3。本发明解决其技术问题所采用的技术方案是一种基于强素数的零知识身份认证方法,包括如下步骤
第一步、可信中心产生强素数并选取满足条件的强素数
1)可信中心随机抽取数字A7;
2)当办是一个奇素数且满足A)乒 1,4 (mod 7) ,ρ, Φ 7 (mod 10),ρ, Φ 1 (mod 13) 时,选取一个整数 ,满足08 - 2)/12< ρ0 ;
3)P1= 6/70+ !,P2= 2/7! - 1= 12/70+ I, p3= 2mp2+ I, Pi= 2pz~ 1= Amp2+ I, P5= Ipfi-I=Smp2+ 1 ;4)当2_ = 1 (mod P1),2_ = 1 (mod p2 ),= 1 (mod p.),2_2 = 1 (mod pA), 2一2 ^ 1 (mod p5)时,就得到一个强素数P5 ;
5)选取满足条件的强素数P对于P-I的唯一素因子分解P-Pa1s^f*…广、… *ansn,需满足 31* 《* 柏卜广、〈 《 ,且 至少为160位;
第二步、可信中心选取一个q阶乘法元g,用户Α’随机选取一个xe [l,q_l]作为自己的私有信息,计算 ο //7,则y、P则用户Α’的公开信息,用户Α’到SP注册自己的公开信息,注册完成后用户A’具有自己的身份信息M,用户A’将身份信息M及公开信息送交验证系统B,验证系统B根据SP的数字签名来验证用户的公开信息; 第三步、身份认证
1)证明者A向验证系统B提出身份认证请求;
2)验证系统B随机选择一数be[1,q-1],计算c=gb mod p,将c发给证明者A,然后验证系统B计算r’=yb mod ρ;
3)证明者A收到c后计算r=cxmod p,然后将r发回给验证系统B ;
4)验证系统B收到r后验证等式r=r’是否成立如果等式成立,说明证明者A知道用户A’的私有信息X,则证明者A为合法用户。与现有技术相比,本发明的积极效果是
(1)新的基于强素数的零知识身份认证也是建立在求离散对数的困难性的安全性基础上,针对S. C方案的漏洞对模数/7的选取做了严格的限定,所以它完全能够经得起攻击或者有目的选取不同的乘法元^或指数e值后求解离散对数的攻击方法。(2)新方案和Schnorr身份识别方案相比在公钥注册中减少了一步求逆运算。在身份验证时不用计算_7二 (r+^)mod q。虽然它们都需计算三次离散对数但本发明可以将离散对数计算并行化,即在证明者计算r=Zmod/7的同时验证者计算rζ =/ mod ρ,这样虽然计算三次离散对数但却只占用两次时间。而^^1101·!·身份识别方案要连续计算Zmod P,ν mod p,ay mod ρ三次离散对数(不能被并行化)还要进行一次大整数模乘运算,由此将效率提高1/3。
具体实施例方式一种基于强素数的零知识身份认证方法,包括如下步骤 第一步、可信中心产生强素数并选取满足条件的强素数
可信中心类似于公共密码学中的认证中心(CA,certification authority),不过可信中心功能更强,还需要产生强素数,选取用于计算的素数等。在公共密码学中,认证中心认证属于特殊实体(一个人或者网络实体)的公钥。对于一个已认证的公共密钥来说,如果一个人完全相信CA对公钥的认证,那么他也能确定该密钥的所有者。由此可见,在身份认证系统中,可信中心充当着一个协助者的角色,协助需要认证的双方完成身份认证工作。可信中心负责产生强素数,其具体产生过程如下
1)、可信中心根据随机抽取到的数字办,当A7是一个奇素数且满足A1^1,4 (mod 7), 7 (mod 10) ,/ 。兴 l(mod 13)时,
2)、选取一个整数 满足08 - 2)/12< p0,
3)、令A=6/ o+ 1,P2二 2/7! - 1= 12/ 0+ 1,/73= 2 /72+ 1,p4= 2p3~ 1= Amp2+ 1,p5=Ipii- 1=8 /72+ I04)、由波克林顿定理以及普罗兹定理推论可知当26p°(mod Pl), 212p0 ^ 1 (mod p2 ),I2ap2 三 1 (mod ρ,),2_2 三 1 (mod Pi),2一2 三 1 (mod p5)时就能得到一个强素数p5,P5是强素数的理由如下
因为26- 1= 32X 7及所设外乒1 (mod 7),就得到A =6/^ + 1^0 (mod 7);由于^=6/70+1 三 1 乒 0 (mod 3),于是 Q6 - I, P1) = I,
再由条件2^。三l(modA)及6 <(28- 2)/12 < (28" - 2)/12</70)根据波克林顿定理就得到A为素数。同样由 212-1=32X7X5X13,所设/70 乒 4 (mod 7) , P0^ (mod 10) , P0^ 1 (modl3),就有/ 2= I2p0+ 1 乒 0 (mod 7),p2= Up0+ 1^0 (mod 5),p2= 12ρ0+ 1 乒 0 (mod 13),又/72=12/70+1 = 1 ^0 (mod 3),于是 012_1,/ 2) =1,
再由条件2_三1 (mod p2)及12^28-2)/12(^^-2)/120^根据波克林顿定理就得到P2为素数。最后,可以由^2)/120。得到22"- 1< 2、1< 28"- 1< p2 以及 2 < 4 < & < 28w< 4 ip2+ 1)。再由条件a=2mp2+ 1,ρ,= 2p,~ 1= Amp2+ 1,p5= 2Pl - 1= Smp2+ 1,根据普罗兹定理的推论就得到/73、Pi^P5都为素数。因此,p5显然是一个强素数。5)、选取满足条件的强素数ρ
要求P-I的唯一素因子分解$-1= 31* …柏卜广1*…* 311,满足B1sl^a232*-^^" ^ an,且 Eii 至少为 160 位。至此,本方案中的强素数能满足公钥参数的安全性要求。第二步、可信中心选取一个q阶乘法元g,用户A’随机选取一个χ e [1,q-Ι]作为自己的私有信息,计算则y、P则用户Α’的公开信息。用户AlIjSP注册自己的公开信息。注册完成后用户A’具有自己的身份信息M。用户A’将其身份信息M及公开信息送交验证系统B,验证系统B根据SP的数字签名来验证用户的公开信息。第三步、身份认证
1)、证明者A(即待认证者)向验证系统B提出身份认证请求;
2)、验证系统B随机选择一数be [1,q-Ι],并计算c=gb mod p,将c发给证明者A, 然后验证系统B自己计算r’ =yb mod ρ。3)、证明者A收到c后计算r=cx mod p,然后将r发回给验证系统B。4)、验证系统B收到r后验证等式r=r’是否成立。如果等式成立,则说明证明者 A知道私有信息χ,则证明者A为用户A’(即为合法用户)。
权利要求
1. 一种基于强素数的零知识身份认证方法,其特征在于包括如下步骤第一步、可信中心产生强素数并选取满足条件的强素数1)可信中心随机抽取数字A7;2)当办是一个奇素数且满足A)乒 1,4 (mod 7) ,ρ, Φ 7 (mod 10),ρ, Φ 1 (mod 13) 时,选取一个整数 ,满足08 - 2)/12< ρ0 ;3)P1= 6/70+ !,P2= 2/7! - 1= 12/70+ I, p3= 2mp2+ I, Pi= 2pz~ 1= Amp2+ I, P5= Ipfi-I=Smp2+ 1 ;4)当2_ = 1 (mod P1),2_ = 1 (mod p2 ),I2mp2 = 1 (mod ρ,),2_2 = 1 (mod Pi), 2一2 ^ 1 (mod p5)时,就得到一个强素数P5 ;5)选取满足条件的强素数P对于P-I的唯一素因子分解P-Pa1s^f*…广、… *ansn,需满足 31* 《* 柏卜广、〈 《 ,且 至少为160位;第二步、可信中心选取一个q阶乘法元g,用户Α’随机选取一个xe [l,q_l]作为自己的私有信息,计算 ο //7,则y、P则用户Α’的公开信息,用户Α’到SP注册自己的公开信息,注册完成后用户A’具有自己的身份信息M,用户A’将身份信息M及公开信息送交验证系统B,验证系统B根据SP的数字签名来验证用户的公开信息;第三步、身份认证1)证明者A向验证系统B提出身份认证请求;2)验证系统B随机选择一数be[1,q-1],计算c=gb mod p,将c发给证明者A,然后验证系统B计算r’=yb mod ρ;3)证明者A收到c后计算r=cxmod p,然后将r发回给验证系统B ;4)验证系统B收到r后验证等式r=r’是否成立如果等式成立,说明证明者A知道用户A’的私有信息X,则证明者A为合法用户。
全文摘要
本发明公开了一种基于强素数的零知识身份认证方法,针对Schnorr方案交互次数多和S.C方案中存在的缺陷,提出了一种基于一种强素数的零知识身份认证方法,利用可信中心产生的强素数,解决了S.C方案中的缺陷,具备Schnorr方案和S.C方案安全、高效的优点,认证效率比Schnorr方案提高1/3,减少系统开销的同时还提高了安全性。
文档编号H04L9/32GK102231666SQ201110179069
公开日2011年11月2日 申请日期2011年6月29日 优先权日2011年6月29日
发明者佘堃, 莫超 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1