吴晨煌,李天旭,陈智雄,2
(1.莆田学院数学与应用数学系,福建莆田351100;2.福建师范大学网络安全与密码重点实验室,福建福州350007)
2个基于身份代理签名方案的安全性分析及改进
吴晨煌1,李天旭1,陈智雄1,2
(1.莆田学院数学与应用数学系,福建莆田351100;2.福建师范大学网络安全与密码重点实验室,福建福州350007)
通过对向新银等提出的强指定验证人代理签名方案进行分析,指出该签名方案存在安全缺陷,即代理签名人能够得到原始签名人的私钥,从而代理签名人能做原始签名人所能做的任何事情.同样的安全缺陷还存在于张学军等给出的基于身份无可信中心的代理签名方案中.最后,对该签名方案进行了改进,改进后的签名方案的安全性是基于CDH问题的.
基于身份;代理签名;强指定验证人;CDH问题
代理签名(proxy signatures)[1]的概念是由Maobo等于1996年提出的,这种签名在电子商务、电子货币和移动通信等领域有良好的应用背景,因此也得到众多学者的广泛研究.强指定验证人签名(strong designated verifier signature)[2]的概念是由Jakobsson等人提出来的,强指定验证人签名具有这样的特点,只有特定的指定验证人才能验证签名并相信签名的有效性,而其他的任何第3方都无法验证签名的有效性,并且指定验证人无法向其他任何第3方证明该签名是代理签名人签的.
最近,向新银等[3]给出了一个新的基于身份的强代理指定验证人代理签名方案,张学军等[4]也给出了一个新的基于身份的无可信中心的代理签名方案,他们都声称签名方案是安全的.本文对这2个签名方案进行了分析,指出了这2个签名方案存在安全缺陷.具体来说就是在代理密钥的生成过程中,代理签名人能够计算得到原始签名人的私钥,从而代理签名人可以做原始签名人所能做的任何事情.最后,本文对向新银等人的签名方案进行了改进,改进后签名方案的安全性是基于CDH问题的,同样的改进方法也适用于张学军等人的签名方案,所以本文就不给出对该签名方案的具体改进方法.
假设G1和G2是2个q阶循环群,q为大素数,其中G1是一加法群,而G2是一个乘法群,P为G1的生成元,并且假设G1和G2上的离散对数问题是困难的.映射e:G1×G1→G2称为双线性对,如果它满足下面几个性质.
1)双线性性.对任意的P,Q∈G1,a,b∈Zq,有e(aP,bQ)=e(P,Q)ab.
2)非退化性.如果P为G1的生成元,则e(P,P)是G2的生成元.
3)实效性.存在对所有的P,Q∈G1计算e(P,Q)的有效算法.
群G1上定义以下几个密码学中的困难问题.
1)离散对数问题(DLP).对任意的Q∈G1,求满足Q=nP的n∈Z*q.
2)计算Diffie-Hellman问题(CDHP).对任意的P,aP,bP∈G1,其中a,b∈Z*q,计算abP.
3)判定Diffie-Hellman问题(DDHP).对任意的P,aP,bP,cP∈G1,其中a,b,c∈Z*q,判断ab≡c mod q是否成立.
2.1 向新银等提出的强指定验证人代理签名方案
2.1.1 系统设置
私钥生成中心PKG选取椭圆曲线上阶为q的加法循环群G1,其生成元是P,椭圆曲线上阶为q的乘法循环群G2,并随机选择s∈Z*q作为系统主密钥,计算Ppub=sP作为系统公钥,令H1:G2×{0,1}*→为密码学单向哈希函数,PKG公开系统的参数为{G1,G2,e,q,P,Ppub,H1,H2,H3}.
2.1.2 密钥的提取
原始签名人A,代理签名人B,指定验证人C分别向私钥生成中心PKG提交自己的身份IDA,IDB,IDC,则其公钥分别为QA=H2(IDA),QB= H2(IDB),QC=H2(IDC).PKG验证其身份,若身份相符,分别计算A,B,C的私钥SA=sQA,SB=sQB,SC=sQC,并通过安全信道分别发给A,B,C.
2.1.3 方案的过程
1)原始签名人A用他的私钥对授权信息mw(包括原始和代理签名人的身份ID,签名授权的有效期限,需要签名的信息范围等)进行签名,A随机选取k∈Z*q计算R=kP,V=H3(mw,QB,R),Sw=VSA,然后将签名对(mw,R,Sw)通过安全信道返回给B.
2)B接收到A的签名之后,计算V=H3(mw,QB,R),并验证e(Sw,P)=e(VQA,Ppub),若等式不成立,则签名无效;若等式成立,则签名有效.代理签名人B计算其密钥对为SPw=Sw+SB,QPw=VQA+QB,其中SPw,QPw分别是代理签名人B的代理私钥和公钥.
3)B计算r=e(QC,SPW),则生成的签名为σ= H1(m,r),然后将此签名发给C.
4)C接收到签名之后,通过验证σ=H1(m,e(QPw,SC))是否成立时,若等式成立,则接受此签名.否则,拒绝签名.
2.2 对强指定验证人代理签名方案的攻击
经过分析发现,在上述代理签名方案中的代理密钥生成阶段存在一个严重的安全性问题,因为代理签名人B收到(mw,R,Sw)后,B可以计算得到A的私钥,具体方法如下,首先注意到,V=H3(mw,QB,R)∈Z*q,则容易计算得到V的乘法逆元V-1∈Z*q,那么通过如下计算即得原始签名人的私钥:
事实上,这里代理密钥的生成算法是采用文献[5]中的短签名方案.但是,作者并没有注意到,在文献[5]中,H3(mw,QB,R)∈G1,而SA∈Z*q,那么此时由SAH3(mw,QB,R)∈G1求得SA,这显然是G1上的离散对数问题.因此,两者是不一样的.
这里要特别指出的是,同样的安全性问题也存在于张学军等[4]的签名方案中.
2.3 对强指定验证人代理签名方案的改进
2.3.1 代理密钥的改进
注意到,之所以代理签名人B可以恢复出A的私钥,原因就是设计者犯了上述的错误.其实可以在生成代理密钥的过程当中通过增加随机数的方法来保护签名人A的私钥,具体的方法如下:这里的系统参数与原来签名方案中的一样.假设代理签名人B要对消息m签名,具体步骤如下.
这里我们基于已有的一个可证明安全的签名方案[6]对代理密钥进行改进,具体步骤如下:
1)A选取r∈RZ*q并计算W=rQA,h= H3(mw,QB,W)∈Z*q,计算Sw=(r+h)SA,最后把(Sw,W,mw)发送给B.
2)B收到(Sw,W,mw)后对其进行验证,首先计算h=H3(mw,QB,W),并验证等式:e(P,Sw)= e(Ppub,W+hQA)是否成立.若成立,B计算:SPw= Sw+hSB,QPw=h(QA+QB),其中SPw,QPw分别作为B的代理私钥和公钥.
2.3.2 代理签名方案的改进
接下来对代理签名方案进行改进.假设代理签名人B要生成消息m的代理签名,具体步骤如下.
1)计算r=e(SPw,QC);
2)计算σ=H1(m,r),则(m,σ)即为代理签名人对消息m的签名.
指定验证人C收到签名(m,σ)后,可通过如下步骤验证签名的有效性.
1)计算QA=H2(IDA),QB=H2(IDB)和h= H3(mw,QB,W),然后计算r'=e(W+h(QA+ QB),SC);
2)验证σ=H1(m,r')是否成立.若成立,则接收签名,否则拒绝.
2.4 改进后代理签名方案的安全性分析
1)正确性.注意到,要验证改进后的代理签名方案的正确性,只需验证r'是否等于r.显然,
r'=e(W+h(QA+QB),SC)=
e(rQA+hQA+hQB,SC)=e((r+h)QA+hQB,sQC)= e((r+h)SA+hSB,QC)=e(SPw,QC)=r.
2)代理密钥的不可伪造性.注意到,改进后的代理密钥的生成算法是基于文献[6]中的签名方案,而文献[6]中的签名方案是可证明安全的,其安全性是基于CDHP的,故这里的代理密钥同样是不可伪造的,从而克服了原签名方案中的安全问题.
3)强不可伪造性.注意到,在签名的过程中,最重要的就是要生成r,而r=e(SPw,QC)=e(W+ h(QA+QB),SC)=r',显然只有知道SPw(或SC)的人才能计算得到r(或r'),即只有代理签名人B和指定验证人C才能计算得到.那么,对于指定验证人C来说,若他并没有生成上述的签名,这只能是代理签名人B生成了该签名.
4)强可验证性.首先,要验证签名的有效性,只有计算出r'=e(W+h(QA+QB),SC)=e(SPw,QC)=r才能验证签名的有效性,即只有代理签名人B和指定验证人C才能验证签名的有效性,因此,该签名方案具有强可验证性.
5)强可识别性.注意到,在代理签名中含有代理授权证书mw,所以指定验证人C可以从代理授权证书mw中确定该签名所对应的代理签名人和原始签名人.
6)不可传递性.指定验证人C并不能向任何第3方(包括原始签名人)证明该签名是代理签名人B生成的,因为由上面的强不可伪造性可知C同样有可能生成该签名.
7)防止签名权利的滥用.由于在代理授权证书mw中含有原始签名人对代理签名人的授权等信息,所以代理签名人B不可以签署不属于授权证书规定范围内的消息,从而使得代理签名人B并不能滥用代理签名权利.当然,原始签名人A同样也不能滥用代理授权证书mw,因为代理密钥的不可伪造性,所以只有代理签名人B知道代理密钥.
本文对向新银等提出的基于身份的强指定验证人代理签名方案进行了安全性分析和改进,并指出同样的安全缺陷也存在于张学军等提出的基于身份的无可信中心的代理签名方案中.改进后的方案是基于CDH问题的.
[1]MAMBO M,USUDAK,OKAMOTO E.Proxy signatures for delegating signing operation[C]//Proc 3rd ACM Conference on Computer and Communications Security.New York:ACM Press,1996:48-57.
[2]JAKOBSSON M,SAKO K,IMPAGLIAZZO R.Designated verifier proofs and their applications[C]//Advances in Cryptology(Proceedings of Eurocrypt’96),Lecture Notes in Computer Science.Berlin:Springer-Verlag,1996,1070:143-154.
[3]向新银,王晓峰,王尚平,等.新的基于身份的强指定验证者代理签名方案[J].计算机工程与应用,2007,43 (1):130-131.
[4]张学军,王育民.基于身份无可信中心的盲签名和代理签名[J].计算机工程与应用,2007,43(1):142-144.
[5]BONEH D,LYNN B,SHACHAM H.Short signature from the Weil pairing[C]//Advances in ASIACRYPT 2001,Lecture Notes in Computer Science.Berlin:Springer-Verlag,2001,2248:514-532.
[6]CHA J,CHEON J.An identity-based signature from gap Diffie-Hellman groups[C]//Advances in PKC 2003,Lecture Notes in Computer Science.Berlin:Springer-Verlag,2003,2567:18-30.
(责任编辑梁志茂)
Cryptanalysis and Improvement of Two Identity-Based Proxy Signature Schemes
WU Chen-huang1,LI Tian-xu1,CHEN Zhi-xiong1,2
(1.Department of Mathematics,Putian University,Putian 351100,China; 2.Key Lab of Network Security and Cryptology,Fujian Normal University,Fuzhou 350007,China)
A new identity-based strong designated verifier signature scheme,which is proposed by Xiang Xinyin,etc.,is analyzed and a serious security flaw is discovered in their scheme,because the private key of the original signer can be recovered by the proxy signer.Therefore,the proxy signer can do what the original signer can do.Unfortunately,the same security flaw is also found in a new identity-based proxy signature scheme without trusted PKG proposed by Zhang Xue-jun.Finally,an improved scheme is proposed,whose security is based on the CDHP.
identity-based;proxy signature;strong designated verifier;CDHP
TP 309.7
A
1672-8513(2012)04-0292-03
10.3969/j.issn.1672-8513.2012.04.015
2012-03-30.
国家自然科学基金(61170246);福建省高校服务海西建设重点项目(2008HX03).
吴晨煌(1981-),男,硕士,讲师.主要研究方向:密码学.