吳晨煌,李天旭,陳智雄,2
(1.莆田學院數(shù)學與應用數(shù)學系,福建莆田351100;2.福建師范大學網(wǎng)絡安全與密碼重點實驗室,福建福州350007)
2個基于身份代理簽名方案的安全性分析及改進
吳晨煌1,李天旭1,陳智雄1,2
(1.莆田學院數(shù)學與應用數(shù)學系,福建莆田351100;2.福建師范大學網(wǎng)絡安全與密碼重點實驗室,福建福州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階循環(huán)群,q為大素數(shù),其中G1是一加法群,而G2是一個乘法群,P為G1的生成元,并且假設G1和G2上的離散對數(shù)問題是困難的.映射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)離散對數(shù)問題(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 系統(tǒng)設置
私鑰生成中心PKG選取橢圓曲線上階為q的加法循環(huán)群G1,其生成元是P,橢圓曲線上階為q的乘法循環(huán)群G2,并隨機選擇s∈Z*q作為系統(tǒng)主密鑰,計算Ppub=sP作為系統(tǒng)公鑰,令H1:G2×{0,1}*→為密碼學單向哈希函數(shù),PKG公開系統(tǒng)的參數(shù)為{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,并通過安全信道分別發(fā)給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),然后將此簽名發(fā)給C.
4)C接收到簽名之后,通過驗證σ=H1(m,e(QPw,SC))是否成立時,若等式成立,則接受此簽名.否則,拒絕簽名.
2.2 對強指定驗證人代理簽名方案的攻擊
經(jīng)過分析發(fā)現(xiàn),在上述代理簽名方案中的代理密鑰生成階段存在一個嚴重的安全性問題,因為代理簽名人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上的離散對數(shù)問題.因此,兩者是不一樣的.
這里要特別指出的是,同樣的安全性問題也存在于張學軍等[4]的簽名方案中.
2.3 對強指定驗證人代理簽名方案的改進
2.3.1 代理密鑰的改進
注意到,之所以代理簽名人B可以恢復出A的私鑰,原因就是設計者犯了上述的錯誤.其實可以在生成代理密鑰的過程當中通過增加隨機數(shù)的方法來保護簽名人A的私鑰,具體的方法如下:這里的系統(tǒng)參數(shù)與原來簽名方案中的一樣.假設代理簽名人B要對消息m簽名,具體步驟如下.
這里我們基于已有的一個可證明安全的簽名方案[6]對代理密鑰進行改進,具體步驟如下:
1)A選取r∈RZ*q并計算W=rQA,h= H3(mw,QB,W)∈Z*q,計算Sw=(r+h)SA,最后把(Sw,W,mw)發(fā)送給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不可以簽署不屬于授權證書規(guī)定范圍內(nèi)的消息,從而使得代理簽名人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,F(xiàn)ujian Normal University,F(xiàn)uzhou 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-),男,碩士,講師.主要研究方向:密碼學.