非授权的基于无证书的强指定验证者签名体制的制作方法

文档序号:9435838阅读:150来源:国知局
非授权的基于无证书的强指定验证者签名体制的制作方法
【技术领域】
[0001] 本发明涉及密码学领域,具体讲是涉及一种非授权的基于无证书的强指定验证者 签名体制的构造方法。
【背景技术】
[0002] 在1996年,Jakobsson等人首次提出指定验证者签名的概念。指定验证者签名和 传统的数字签名的最大区别就是不能进行公开验证,而是只有签名者指定的某个验证者能 够对签名进行验证操作,其他第三方都没有能力去验证签名的正确性,其原因就是指定的 验证者可以生成对第三方来说和签名者生成的签名不可区分的模拟签名副本。指定验证者 签名可以在一定程度上保护签名者的隐私,正因如此,指定验证者签名经常被用于电子投 票、电子投标以及软件销售许可等实际场景中。最初标准的指定验证者签名所必需的安全 属性有不可伪造性、非传递性和签名者身份隐私性。但在2005年,Limppa等人提出了授权 攻击这一新的攻击方法,使得很多签名方案都因为不能抵抗该攻击模型而变得不安全。直 到2012年和2013年,Tian等人分别提出一个基于椭圆曲线的强指定验证者签名方案和一 个基于身份的强指定验证者签名方案,这两个方案都结合了Schnorr数字签名技术和零知 识的用户身份认证技术,被证明是目前为止唯二的可以抵抗授权攻击的签名方案。
[0003] 另外,现有的指定验证者签名方案大多是基于公钥证书和基于身份的。基于公钥 证书的方案由于需要证书管理使得方案并不高效,而基于身份的方案由于密钥托管问题则 不够安全。在2003年,Al-Riyami等人提出无证书密码学,在该体制中不涉及公钥证书,且 用户的完整私钥的生成被分为两部分,一部分是由密钥生成中心为用户生成并托管,另一 部分由用户自己生成并保存。这样,既减少了证书管理工作提高了效率,又提高了方案的安 全性。在2006年,Huang等人首次提出无证书的指定验证者签名方案,但之后被证明不能抵 抗恶意密钥生成中心攻击和授权攻击。随后又出现了几个无证书的指定验证者签名方案, 也都没有很好地解决方案易遭受授权攻击的问题。

【发明内容】

[0004] 为了克服上述现有技术的不足,本发明提供了一种满足非授权性质的基于无证书 的强指定验证者签名方案。
[0005] 本发明所采用的技术方案是:在对用户进行密钥分配的方式上,本发明采用无证 书密码学的方法。无证书密码学没有公钥证书的参与,从而大大减少了证书管理上的资源 消耗。同时,在无证书密码学中,用户的完整密钥生成被分成两部分,一部分由用户自身生 成,另一部分则由密钥生成中心帮用户生成,这样也解决了基于身份密码学的密钥托管问 题。为使得指定验证者签名能够抵抗授权攻击,本发明在构造中结合了标准DSA签名和零 知识的用户身份认证方法,避免了过去方案中因使用的公共参数值泄露而引起的授权攻 击。
[0006] 与现有技术相比,本发明的有益效果是采用无证书密码体制来生成用户公私钥 对,避免了基于证书密码学和基于身份密码学的先天不足带来的低效性和不安全性,同时 构造本发明时利用零知识的用户身份认证技术,避免了出现导致方案授权性的公共参数 值,从而使发明具备了非授权性。
【具体实施方式】
[0007] 本发明实施方式包含以下八个算法。
[0008] (1)初始化:假设p是一个大素数,Fp是一个有限域,在域中随机选择a,bGrFp 两个元素来定义一个抽象的椭圆曲线E。选取椭圆曲线上的一个点PG#来作为以q为阶 的群G的生成元。另外,定义三个安全的抗碰撞哈希函数:獨傳紋礙變和 1爾a得到的系统参数sp即为(Fp,a,b,P,q,氏,H2,H3),密钥生成中心随机选择 斧赛作为系统主密钥并保持它的机密性。
[0009] (2)部分私钥生成:这个算法接受一个用户身份ID# {〇, 1厂,iGA,B的输入,首 先计算A=H3 (IDJ,然后计算并输出用户的部分私钥Si=sQi。
[0010] (3)秘密值设置:用户随机选取f.g并输出Xl,iGA,B来作为秘密值。也就是 说,发送者Alice和指定验证者Bob的秘密值分别为专爲和箱具篤.《
[0011] (4)私钥设置:输入Alice和Bob的部分私钥和秘密值,输出他们的完整私钥为skA -(Xa,Sa)和skB -(xg^Sg) 〇
[0012] (5)公钥设置:本算法首先计算yA=xAP和yB=xBP,然后输出Alice和Bob对应 的公钥pkA=(yA,QA)和pkB=(yB,QB)。
[0013] (6)签名生成:假定将待签名的消息表示为m,签名者Alice选择两个值 然后计算A= 1P,C0=rP,C! =H2 (m,A),C=Qj+Q=(cx,cy),V=(氏(m) +xAcx) / 1,R=ryB,t=氏(R),〇 =H3(t,SAQB),最终得到签名S是三元组(C,V,〇 )。
[0014] (7)签名验证:验证者Bob-旦接收到签名5,计算A' = (HiOiOP+CxyJ/VA/ = H2(m,A),C。' =C-C/,R' =xBC。',t' =氏(1?'),〇' =H3(t',QASB),最后验证^^# 是否相等。
[0015] (8)签名副本生成:验证者Bob选取CGRG和F&,计算A=(氏(m)P+cxyA) / V,(V=H2(m,A),(V=C-C/,R,=xBC。,,t,=^0?,),〇,=H3(t,,QASB),最终 得到签名副本的S'为三元组(C,V,〇 )。
[0016] 本发明安全性分析如下文。
[0017] 1、正确性:验证算法的正确性可由下面等式验证: A1 =(Hi(m)P+cxyA)/s=(Hi(m)P+cxxAP)/s=P(Hi(m) +cxxA)/s=PI=A, Rr =XhCq' =xBrP=ryB=R〇
[0018] 2、抗第一类敌手(公钥替换攻击):由于在无证书密码学中不存在公钥证书,因此 敌手4可以使用任意值来替换签名者公钥。假定敌手Ai使用(y/,xA')来替换签名者 公私钥对(yA,xA),也就是说敌手心得到了签名者的秘密值。这样,敌手以在签名生成 阶段计算V=(Hi(m) +xA'cx) /I从而得到V。然而,由于4无法拿到系统的主密钥S的值, 它将无法知道密钥生成中心为用户生成的部分私钥一,的值,也无法计算〇 =H3(t,SaQb)。 因此,本发明是可以抵抗公钥替换攻击的。
[0019] 3、抗第二类敌手(恶意密钥生成中心攻击):敌手4可以得到系统的主密钥S,也 就可以通过计算SA=SQA来得到签名者的部分私钥,但却没有权利用任意值替换签名者公 私钥对(yA,XA)。正因为A2无法得到签名者秘密值XA,也就无法通过计算V=(Hi(m)+xAcx) / 1得到V的值。由于椭圆曲线离散对数困难问题难以解决,对于等式yA=xAP,给出yjPP 的值,敌手A2要想计算出xA是不可行的。基于本方案在签名阶段必须用到签名者的秘密值 ^这一特点,可以证明本发明可以抵抗恶意密钥生成中心攻击。
[0020] 4、非授权性:在本发明中,运用零知识的用户身份认证技术,签名者和验证者的秘 密值在签名和验证签名阶段是分别被单独使用的,这就使得本发明不存在公共值(xAxBP) 被泄露而导致的授权性所带来的危害。虽然另一个公共值(QAQBs)可能被泄露给第三方,但 由于攻击者不能计算V=饵〇11)+^(^)/1,这仍然限制了攻击者伪造一个合法的签名。换 句话说,本发明的非授权性依赖于用户秘密值的机密性,授权攻击只有在秘密值和公共值 (QAQBs)同时被泄露的情况下才可以发生,但这个概率是微乎其微的。因此,本发明是满足 非授权性的。
[0021] 5、身份隐私性:本发明在随机预言模型下具备签名者身份隐私性,即第三方在得 到消息签名对(m,5),签名者完整私钥(Xa,Sa),验证者完整私钥(xB,SB)后,仍然不能区分 该消息签名对是由签名者生成的还是验证者生成的。其原因就是以下两个等式是恒等的: R=ryB=xBC〇, 〇 =H3(t,SAQB) =H3((t,sQAQB) =H3(t,QASB) 〇
【主权项】
1. 一种满足非授权性的基于无证书的强指定验证者签名体制,其特征是在构造中利用 了无证书密码体制和零知识的用户身份认证技术,使其在效率和安全性方面分别优于现有 的基于公钥证书的签名方案和基于身份的签名方案,同时使得发明具备良好的非授权性, 本方案共有以下八个步骤: (1) 初始化:为系统生成公共参数和主密钥; (2) 部分私钥生成:密钥生成中心利用主密钥为用户生成部分私钥; (3) 秘密值设置:用户为自身设置秘密值; (4) 私钥设置:用户利用部分私钥和自身秘密值设置完整私钥; (5) 公钥设置:用户利用完整私钥为自身设置公钥; (6) 签名生成:签名者为指定验证者生成指定验证者签名; (7) 签名验证:指定验证者收到签名后对签名进行验证; (8) 签名副本生成:指定验证者生成同签名者生成的签名不可区分的签名副本。2. 根据权利要求1所述的满足非授权性的无证书强指定验证者签名体制,其特征在 于:所述体制具体包含以下步骤: (1) 初始化:假设P是一个大素数,Fp是一个有限域,在域中随机选择a,b e RFP两 个元素来定义一个抽象的椭圆曲线E ;选取椭圆曲线上的一个点P e RE来作为以q为阶 的群G的生成元;另外,定义三个安全的抗碰撞哈希函数:和得到的系统参数sp即为(Fp,a,b,P,q,H 1, H2, H3),密钥生成中心随机选择 曼fg作为系统主密钥并保持它的机密性; (2) 部分私钥生成:这个算法接受一个用户身份ID1G {〇, 1}% i e A,B的输入, 首先计算Q1 = H 3 (ID1),然后计算并输出用户的部分私钥S1 = sQ i; (3) 秘密值设置:用户随机选取并输出Xi,i e A,B来作为秘密值,也就是说,发 送者Alice和指定验证者Bob的秘密值分别为(4) 私钥设置:输入Alice和Bob的部分私钥和秘密值,输出他们的完整私钥为skA= (Xa,Sa)矛口 skB - (x Sg); (5) 公钥设置:本算法首先计算yA= xAP和yB= xBP,然后输出Alice和Bob对应的公 钥 pkA= (y a,Qa)和 pkB= (y B,Qb); (6) 签名生成:假定将待签名的消息表示为m,签名者Alice选择两个值r,/h <然 后计算 A = 1P,C。= rP,。!= H2 (m,A),C = Ct^C1= (cx,cy),V = (H1(IiiHxaCx)ZXR = ryB, t = H1(R),〇 = H3(t,SaQb),最终得到签名δ是三元组(C,V,〇 ); (7) 签名验证:验证者Bob -旦接收到签名δ,计算f = (HiOiOP+CxyJ/A^C/ = H2 (m,A),〇/ =C-C/,R' =xB<V,t' =H1G^ ),σ' =H3 (t',QaSb), 最后验证:.0^一是否相等; (8) 签名副本生成:验证者Bob选取C e RG和= H2(m,A),C。,=C-C/,R' =xBC。,,t' =H1OT ),〇,=H3(t,,QASB),最终得到签 名副本的δ '为三元组(C,V,σ )。
【专利摘要】本发明公开了一种满足非授权性质的基于无证书的强指定验证者签名体制。其特征在于在构造中利用了无证书密码体制和零知识的用户身份认证技术,使其在效率和安全性方面分别优于现有的基于公钥证书的方案和基于身份的方案,同时使得发明具备良好的非授权性。本发明共有以下八个步骤:初始化、部分私钥生成、秘密值设置、私钥设置、公钥设置、签名生成、签名验证、签名副本生成。
【IPC分类】H04L9/32, H04L29/06
【公开号】CN105187208
【申请号】CN201510323165
【发明人】秦志光, 赵洋, 岳峰, 王士雨, 吴世坤, 陈阳, 任化强, 包文意
【申请人】电子科技大学
【公开日】2015年12月23日
【申请日】2015年6月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1