劉二根 王 霞 周華靜
(華東交通大學(xué)理學(xué)院 江西 南昌 330013) (華東交通大學(xué)系統(tǒng)工程與密碼學(xué)研究所 江西 南昌 330013)
一種無(wú)證書(shū)盲簽名方案的分析與改進(jìn)
劉二根 王 霞*周華靜
(華東交通大學(xué)理學(xué)院 江西 南昌 330013) (華東交通大學(xué)系統(tǒng)工程與密碼學(xué)研究所 江西 南昌 330013)
通過(guò)對(duì)黃茹芬等提出的無(wú)證書(shū)盲簽名方案進(jìn)行安全性分析,發(fā)現(xiàn)該方案存在公鑰替換攻擊的漏洞。針對(duì)該問(wèn)題,提出一個(gè)能夠抵抗公鑰替換這一攻擊的無(wú)證書(shū)盲簽名方案,而且最終證明了改進(jìn)的方案在隨機(jī)預(yù)言機(jī)模型和inv-CDH困難問(wèn)題假設(shè)下對(duì)于適應(yīng)性選擇消息攻擊是存在性不可偽造的。
盲簽名 不可偽造性 隨機(jī)預(yù)言機(jī)模型 盲性
1982年,Chaum[1]首先提出了盲簽名這一概念。所謂盲簽名,即是簽名者雖然對(duì)消息簽了名,但對(duì)他所簽消息的內(nèi)容是 未知的。正是由于這一特點(diǎn),使得盲簽名在電子支付和電子投票中得到廣泛的應(yīng)用。為了解決傳統(tǒng)公鑰密碼體制中公鑰證書(shū)的存儲(chǔ)和管理問(wèn)題,基于身份的密碼體制被Shamir等[2]提出。在基于身份的密碼體制中存在密鑰托管這一問(wèn)題,因?yàn)橛煽尚胖行腒GC生成用戶私鑰。2003年,無(wú)證書(shū)公鑰密碼體制由Al-Riyami等[3]提出,也相繼出現(xiàn)了許多簽名和加密方案[4-6]。在無(wú)證書(shū)密碼體制中,密鑰生成中心只產(chǎn)生用戶的部分私鑰,但卻無(wú)法知道長(zhǎng)期私鑰,解決了該體制中的密鑰托管這一問(wèn)題。將盲簽名與無(wú)證書(shū)公鑰密碼體制相結(jié)合可以產(chǎn)生無(wú)證書(shū)盲簽名,由此許多無(wú)證書(shū)盲簽名方案[7-13]應(yīng)運(yùn)而生。2012年,黃茹芬等[14]提出了一個(gè)基于inv-CDH問(wèn)題和q-SDH問(wèn)題的無(wú)證書(shū)盲簽名方案,但通過(guò)分析發(fā)現(xiàn)其存在公鑰替換攻擊這一漏洞。本文提出了一個(gè)改進(jìn)的方案,新方案不僅具有盲性,而且證明了在隨機(jī)預(yù)言機(jī)模型下是存在性不可偽造的。
1.1 雙線性映射
設(shè)G1、G2分別是由P生成的p階加法群和乘法群,e:G1×G1→G2是滿足下面3個(gè)性質(zhì)的雙線性映射:
(2) 非退化性:有P,Q∈G1,使得e(P,Q)≠1;
(3) 可計(jì)算性:?P,Q∈G1,能夠計(jì)算出e(P,Q)。
1.2 逆計(jì)算Diffie-Hellman困難(inv-CDH)問(wèn)題
1.3 惡意攻擊者模型
在無(wú)證書(shū)簽名方案中,有2種類(lèi)型的攻擊者:
(1) 類(lèi)型1的攻擊者M(jìn)1:無(wú)法知道系統(tǒng)主密鑰,但可以替換用戶公鑰;
(2) 類(lèi)型2的攻擊者M(jìn)2:能夠知道系統(tǒng)主密鑰,但不能替換用戶的公鑰。
2.1 方案回顧
文獻(xiàn)[14]方案包括下面7個(gè)具體算法:
1) 初始化
2) 生成部分私鑰
3) 秘密值生成
4) 私鑰生成
輸入A的部分私鑰DID和秘密值xID,A產(chǎn)生自己的私鑰SKID=(xID,DID)。
5) 公鑰生成
輸入系統(tǒng)公開(kāi)參數(shù)params、秘密值xID和部分私鑰DID,輸出A的公鑰PKID=xID(Ppub+QIDP)。
6) 簽名過(guò)程
輸入系統(tǒng)公開(kāi)參數(shù)params、消息m、A的身份ID和私鑰SKID,具體如下:
(4) 解盲:B得到S=β-1S′,關(guān)于消息m的盲簽名為σ=(S,h)。
7) 驗(yàn)證
對(duì)于給定的消息簽名對(duì)(m,S,h)、簽名者身份ID和公鑰PKID,驗(yàn)證等式h=H2(m,e(S,PKID)g-h)是不是成立,若成立則接受,不成立則拒絕。
2.2 攻擊方法
=H2(m,e(k-1S,kxID(Ppub+QIDP))g-h)
=H2(m,e(β-1(r+βh+α)P,P)g-h)
=H2(m,(Ugα)β-1)=H2(m,V)
那么,σ*=(S*,h)是一個(gè)有效的盲簽名。
4) 解盲:B計(jì)算S*=β-1S′,消息m的盲簽名為σ=(S*,h)。
事實(shí)上,σ*=(S*,h)是一個(gè)有效的盲簽名。因?yàn)椋?/p>
=H2(m,e(β-1S′,ωP-H1(ID)P)g-h)
=H2(m,e(β-1(r+βh+α)P,P)g-h)
=H2(m,(Ugα)β-1)=H2(m,V)
從以上的攻擊方法得知,原方案之所以存在公鑰替換攻擊,是因?yàn)闆](méi)有將用戶公鑰綁定到部分私鑰上。如果用戶公鑰通過(guò)哈希函數(shù)綁定到部分私鑰中,部分私鑰DID是不可偽造的,則不存在公鑰替換攻擊。
只需要修改文獻(xiàn)[14]方案的部分私鑰生成算法、公鑰生成算法、簽名過(guò)程和驗(yàn)證算法,其他三個(gè)算法保持不變。
1) 公鑰生成
2) 部分私鑰生成
3) 簽名
承諾、盲化和解盲與原方案相同,只需修改簽名這一步。
簽名:簽名者計(jì)算S′=(r+h′)xIDDID,把S′發(fā)給用戶。
4) 驗(yàn)證
給定消息簽名對(duì)(m,S,h)、簽名者身份ID和公鑰PKID=(XID,YID),驗(yàn)證等式h=H2(m,e(S,XID+QIDYID)g-h)是不是成立,若成立則接受,否則拒絕。
4.1 方案的正確性
定理1 改進(jìn)的無(wú)證書(shū)盲簽名方案是正確的。
證明:
h=H2(m,e(S,XID+QIDYID)g-h)
=H2(m,e(β-1(r+h′)xIDDID,XID+QIDYID)g-h)
=H2(m,e(β-1(r+βh+α)P,P)g-h)
=H2(m,(Ugα)β-1)=H2(m,V)
4.2 具有盲性
定理2 新方案具有盲性。
證明:給一個(gè)正確的消息簽名對(duì)(m,S,h)和任意一組盲簽名發(fā)布過(guò)程中產(chǎn)生的視圖(U,h′,S′),考慮下列等式:
S=β-1S′
(1)
h′=βh+αmodp
(2)
4.3 安全性分析
定理3 改進(jìn)的無(wú)證書(shū)盲簽名方案不存在公鑰替換攻擊。
由于類(lèi)型2的攻擊更有破壞力,如果攻擊成功其影響將是任何用戶。本文只證明對(duì)類(lèi)型2攻擊下是可證安全的,類(lèi)型1的證明過(guò)程相似(只是詢問(wèn)過(guò)程有些不同)。
定理4 在隨機(jī)預(yù)言機(jī)模型和inv-CDH困難問(wèn)題假設(shè)下,新方案對(duì)攻擊者M(jìn)2在適應(yīng)性選擇消息攻擊條件下是存在性不可偽造的。
證明:假設(shè)M2能以不可忽略的優(yōu)勢(shì)成功攻擊該新方案,構(gòu)造一個(gè)在概率多項(xiàng)式時(shí)間內(nèi)能夠解決inv-CDH問(wèn)題的算法B。
1) 系統(tǒng)設(shè)置:算法B生成系統(tǒng)公開(kāi)參數(shù)params={G1,G2,e,q,P,g,H1,H2},并發(fā)送系統(tǒng)公開(kāi)參數(shù)和主密鑰s給攻擊者M(jìn)2,系統(tǒng)公鑰設(shè)置為Ppub=sP。列表L1、L2、LP、LPK、LSK、LS分別用于應(yīng)對(duì)M2對(duì)預(yù)言機(jī)的H1詢問(wèn)、H2詢問(wèn)、部分密鑰詢問(wèn)、公鑰詢問(wèn)、私鑰詢問(wèn)、簽名詢問(wèn)。B通過(guò)維護(hù)表L1來(lái)響應(yīng)M2的H1詢問(wèn)(M2至多可以做qH1次H1詢問(wèn)),表L1的表結(jié)構(gòu)為(IDi,Xi,Yi,h1i)。B通過(guò)維護(hù)表L2來(lái)響應(yīng)M2的H2詢問(wèn)(M2至多可以做qH2次H2詢問(wèn)),表L2的表結(jié)構(gòu)為(m,V,h2i)。B通過(guò)維護(hù)表LP來(lái)響應(yīng)M2的部分密鑰詢問(wèn)(M2至多可以做qp次部分密鑰詢問(wèn)),表LP的表結(jié)構(gòu)為(IDi,DIDi)。B通過(guò)維護(hù)表LSK來(lái)響應(yīng)M2的私鑰詢問(wèn)(M2至多可以做qsk次私鑰詢問(wèn)),表LSK的表結(jié)構(gòu)為(IDi,xIDi,DIDi)。B通過(guò)維護(hù)表LPK來(lái)響應(yīng)M2的公鑰詢問(wèn)(M2至多可以做qpk次公鑰詢問(wèn)),表LPK的表結(jié)構(gòu)為(IDi,xIDi,XIDi,YIDi)。B通過(guò)維護(hù)列表LS來(lái)響應(yīng)M2關(guān)于(m,IDi)的簽名詢問(wèn)(M2至多可以做qs次簽名詢問(wèn)),表LS的表結(jié)構(gòu)為(m,IDi,S,h2i)。初始化所有表為空。假設(shè)攻擊者M(jìn)2攻擊的目標(biāo)ID為ID*,那么不能詢問(wèn)身份ID*的長(zhǎng)期私鑰,用a-1來(lái)模擬ID*的長(zhǎng)期私鑰,對(duì)應(yīng)的公鑰為XID*=aP、YID*=aPpub。
4) 公鑰詢問(wèn):當(dāng)B收到關(guān)于IDi的公鑰詢問(wèn)時(shí):
(2) 如果IDi=ID*,用a-1來(lái)模擬ID*的長(zhǎng)期私鑰,公鑰XID*=aP、YID*=aPpub,將(ID*,⊥,XID*,YID*)添加到表LPK中并返回(XID*,YID*)給M2。
6) 私鑰詢問(wèn):當(dāng)B收到關(guān)于IDi的私鑰詢問(wèn)時(shí):
(2) 如果IDi=ID*,算法終止。
7) 簽名詢問(wèn):當(dāng)B收到關(guān)于(m,IDi)的簽名詢問(wèn)時(shí):
若算法B沒(méi)有停止,那么M2在沒(méi)有詢問(wèn)ID*的私鑰和(ID*,m*)的簽名的情況下,能夠以一個(gè)不可忽略的概率對(duì)消息m*輸出一個(gè)有效的簽名σ=(S,h)。根據(jù)分叉引理,對(duì)M2哈希重放,B可以得到關(guān)于m*的兩個(gè)有效(ID*,m*,S,h)和(ID*,m*,S′,h′),h≠h′。有效的簽名滿足:e(S,XID*+h*YID*)g-h=V,e(S′,XID*+h*YID*)g-h′=V,其中h*=H1(ID*)。于是有:e(S,XID*+h*YID*)g-h=e(S′,XID*+h*YID*)g-h′。由h≠h′,可以得到:a-1P=(S-S′)(1+h*s)(h-h′)-1。
表1 本方案與其他方案的性能比較
通過(guò)對(duì)黃茹芬等提出的無(wú)證書(shū)盲簽名方案進(jìn)行安全性分析,發(fā)現(xiàn)該方案不能抵抗公鑰替換攻擊。由此提出了一個(gè)改進(jìn)的無(wú)證書(shū)盲簽名方案,將簽名者的公鑰綁定到部分私鑰中,有效地解決了原方案中存在的公鑰替換攻擊的問(wèn)題,并證明了在隨機(jī)預(yù)言機(jī)模型和inv-CDH困難問(wèn)題假設(shè)下對(duì)于適應(yīng)性選擇消息攻擊是存在性不可偽造的。同時(shí)該方案是基于無(wú)證書(shū)密碼體制的,克服了證書(shū)管理和密鑰托管問(wèn)題。
[1]ChaumD.Blindsignaturesforuntraceablepayments[C]//AdvancesinCryptology:ProceedingsofCrypto’82,1983:199-203.
[2]ShamirA.Identity-basedcryptosystemsandsignaturesschemes[C]//ProceedingsofCrypto’84onAdvancesinCryptology.NewYork:Springer-Verlag,1985:47-53.
[3]Al-RiyamiSS,PatersonKG.Certificatelesspublickeycryptography[C]//Proceedingsofthe9thInternationalConferenceontheTheoryandApplicationofCryptologyandInformationSecurity,2003:452-473.
[4]ChoiKY,ParkJH,HwangJY,etal.Efficientcertificatelesssignatureschemes[C]//Proceedingsofthe5thInternationalConferenceonAppliedCryptographyandNetworkSecurity,2007:443-458.
[5] 王圣寶,劉文浩,謝琪.無(wú)雙線性配對(duì)的無(wú)證書(shū)簽名方案[J].通信學(xué)報(bào),2012,33(4):93-98.
[6]ZhangL,ZhangF.Certificatelesssignatureandblindsignature[J].JournalofElectronics(China),2008,25(5):629-635.
[7] 魏萍,陳海濱,楊曉元.一個(gè)安全無(wú)證書(shū)的盲簽名方案[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(5):96-97.
[8] 楊曉元,梁中銀,郭耀,等.一個(gè)高效的無(wú)證書(shū)盲簽名方案[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,29(3):37-42.
[9] 周才學(xué).三個(gè)無(wú)證書(shū)簽名方案的密碼學(xué)分析與改進(jìn)[J].計(jì)算機(jī)工程,2012,38(19):114-118.
[10] 張玉磊,王彩芬,張永潔,等.基于雙線性對(duì)的高效無(wú)證書(shū)簽名方案[J].計(jì)算機(jī)應(yīng)用,2009,29(5):1330-1333.
[11] 文佳駿,左黎明,李彪.一個(gè)高效的無(wú)證書(shū)代理盲簽名方案[J].計(jì)算機(jī)工程與科學(xué),2014,36(3):452-457.
[12] 梁紅梅,黃振杰.高效無(wú)證書(shū)簽名方案的安全性分析和改進(jìn)[J].計(jì)算機(jī)應(yīng)用,2010,30(3):685-687,698.
[13] 何俊杰,王娟,祁傳達(dá).對(duì)一個(gè)無(wú)證書(shū)盲簽名方案的攻擊與改進(jìn)[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2014,44(4):123-128.
[14] 黃茹芬,農(nóng)強(qiáng),黃振杰.一個(gè)高效的無(wú)證書(shū)盲簽名方案[J].計(jì)算機(jī)工程,2013,39(2):130-136.
ANALYSIS AND IMPROVEMENT OF A CERTIFICATELESS BLIND SIGNATURE SCHEME
Liu Ergen Wang Xia*Zhou Huajing
(SchoolofScience,EastChinaJiaotongUniversity,Nanchang330013,Jiangxi,China) (InstituteofSystemEngineeringandCryptography,EastChinaJiaotongUniversity,Nanchang330013,Jiangxi,China)
After analyzing the security of the blind signature scheme without certificates proposed by Huang Rufen et al, it is found that the scheme cannot resist public key replaced attack. Thus, a modified certificateless blind signature scheme which can resist public key attack is proposed, and the scheme is finally proved to be existentially unforgeable against adaptive chosen message in random oracle model and under inv-CDH complexity assumption.
Blind signature Unforgeability Random oracle model Blindness
2015-09-05。國(guó)家自然科學(xué)基金項(xiàng)目(11361024,11261019,61472138,61263032)。劉二根,教授,主研領(lǐng)域:圖論及其優(yōu)化。王霞,碩士生。周華靜,碩士生。
TP309
A
10.3969/j.issn.1000-386x.2017.02.056