楊育東, 張建中
(1.陜西師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院, 陜西 西安 710062;2.陜西理工學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院, 陜西 漢中 723000)
1996年,Mambo等[1]提出了代理簽名。一個代理簽名方案,允許由原始簽名者委托的代理簽名者代表原始簽名者給文件簽名,而任何人都能驗(yàn)證其簽名,這很好地解決了代理委托的問題。通常代理委托可分為4種類型:完全委托、部分委托、授權(quán)完全委托、授權(quán)部分委托。在這4種委托類型中,最后一種被認(rèn)為是較好的選擇,因?yàn)樗C合了部分委托和授權(quán)委托的優(yōu)點(diǎn),并且確認(rèn)授權(quán)和驗(yàn)證簽名在同一個步驟中同時(shí)完成。
為了實(shí)際應(yīng)用,如在線信用卡交易、合同簽署等,代理簽名方案通常需要滿足以下基本性質(zhì)[2]:不可否認(rèn)性、不可偽造性。同時(shí),隨著代理簽名方案應(yīng)用的日益廣泛,一些新的問題也逐漸暴露出來,例如代理簽名者濫用職權(quán)[3]。因此,一個好的代理簽名方案還需要能夠有效地防止代理權(quán)濫用。
近幾年來,橢圓曲線上的雙線性對密碼系統(tǒng)逐漸引起了密碼學(xué)研究者的注意,有些研究者構(gòu)建的基于雙線性對的簽名方案[4]解決了代理委托的問題,滿足一些交易的安全性要求,已經(jīng)得到了實(shí)際應(yīng)用,如在線代理行為或合同簽署。
綜合考慮部分委托和授權(quán)委托的優(yōu)點(diǎn),本文采用授權(quán)部分委托來構(gòu)建一個基于雙線性對的代理簽名方案。在該方案中,原始簽名者可根據(jù)需要將自己的簽名權(quán)有限度地委托給不同的代理簽名者。方案滿足不可偽造性,除被委托的代理簽名者外的任何人,都不能在多項(xiàng)式時(shí)間內(nèi)以不可忽略的概率偽造一個合法的代理簽名;方案同時(shí)滿足不可否認(rèn)性,原始簽名者不能否認(rèn)他做出的委托,代理簽名者也不能否認(rèn)他代表原始簽名者產(chǎn)生的簽名;另外,方案采用授權(quán)部分委托來構(gòu)建,能有效地防止代理權(quán)濫用。
該方案主要只涉及一個Hash函數(shù)運(yùn)算和一個雙線性對運(yùn)算,尤其在代理委托過程中不涉及運(yùn)算量大的雙線性對運(yùn)算,具有較高的計(jì)算效率,極有利于實(shí)際應(yīng)用。在實(shí)際應(yīng)用中,原始簽名者可能需要把他的簽名權(quán)委托給不同的代理簽名者,在這種情況下,本文的方案具有最優(yōu)的計(jì)算效率,對原始簽名者來說是最優(yōu)的選擇之一。
為便于讀者閱讀和理解,首先介紹本文所涉及到的一些基本知識,然后介紹方案的結(jié)構(gòu)及正確性概念。
設(shè)(G1,+)和(G2,×)是兩個q階循環(huán)群,其中q為大素?cái)?shù)。e:G1×G1→G2是一個雙線性映射,滿足以下性質(zhì):
(1)雙線性性 ?P,Q,R∈G1,e(P+Q,R)=e(P,R)e(Q,R),e(P,Q+R)=e(P,Q)e(P,R);
(2)非退化性 如果P是G1的生成元,則e(P,P)是G2的生成元;
(3)可計(jì)算性 ?P,Q∈G1,存在一個有效的多項(xiàng)式時(shí)間算法來計(jì)算e(P,Q)。
一個代理簽名方案主要有三個當(dāng)事人:一個原始簽名者、一個代理簽名者和一個驗(yàn)證者。原始簽名者通過發(fā)布授權(quán)文件把他的簽名權(quán)委托給代理簽名者,然后代理簽名者能夠代表原始簽名者簽名,最后驗(yàn)證者能夠確認(rèn)授權(quán)和驗(yàn)證簽名。
若代理簽名者能夠代表原始簽名者產(chǎn)生一個合法的代理簽名,則這個代理簽名方案是正確的。
系統(tǒng)機(jī)構(gòu)(SA)選擇兩個q階循環(huán)群(G1,+)和(G2,×),其中q為大素?cái)?shù),且在G1和G2上的離散對數(shù)問題都是難解的。設(shè)P是G1的一個生成元,e:G1×G1→G2是一個雙線性映射,h:{0,1}*×G1→Zq是一個安全的Hash函數(shù)。系統(tǒng)的公共參數(shù)為Params={G1,G2,q,P,e,h}。
每個用戶Ui選擇自己的私鑰xi∈Zq,并計(jì)算相應(yīng)的公鑰Yi=xiP。
原始簽名者U0要把簽名權(quán)委托給代理簽名者Up,先制定含有原始簽名者、代理簽名者、委托權(quán)限及有效期等信息的授權(quán)文件mw。然后,原始簽名者U0選擇一個隨機(jī)數(shù)r0∈Zq,計(jì)算
R0=r0P,μ=h(mw,R0),σ=x0+r0μ(modq),
并將(R0,σ,mw)發(fā)送給代理簽名者Up。
代理簽名者Up收到(R0,σ,mw)后,首先計(jì)算μ=h(mw,R0),然后驗(yàn)證等式σP=Y0+μR0是否成立,如果等式不能成立,則要求U0重新發(fā)送。
為了代表原始簽名者U0給一份文件m∈{0,1}*簽名,代理簽名者Up首先選擇一個隨機(jī)數(shù)rp∈Zq,然后計(jì)算
Rp=rpP,S=(h(m,Rp)+xp+σ)-1Rp,
則代理簽名為(Rp,S,R0,mw,m)。
驗(yàn)證者先檢查授權(quán)文件mw,核實(shí)代理簽名者及代理簽名的合法性,然后計(jì)算μ=h(mw,R0),并驗(yàn)證等式
e(h(m,Rp)P+Yp+Y0+μR0,S)=e(P,Rp)
是否成立,如果等式不成立,則拒絕承認(rèn)此代理簽名。
本文的方案是正確的,且滿足不可偽造性、不可否認(rèn)性等安全性要求,同時(shí)還能夠有效地防止代理權(quán)的濫用。
3.1.1 正確性
代理委托驗(yàn)證式
σP=(x0+μY0)P=x0P+μY0P=Y0+μR0。
代理簽名驗(yàn)證式
e(h(m,Rp)P+Yp+Y0+μR0,S)=
e((h(m,Rp)+xp+σ)P,(h(m,Rp)+xp+σ)-1Rp)=e(P,Rp)。
3.1.2 不可偽造性
得到xp,則這是一個難解的離散對數(shù)問題。因此,原始簽名者U0不能在多項(xiàng)式時(shí)間內(nèi),以不可忽略的概率偽造一個合法的代理簽名。而其他人掌握的信息比U0還要少,因此也不能偽造一個合法的代理簽名。于是,只有被委托的代理簽名者才能產(chǎn)生合法的代理簽名,即方案滿足不可偽造性。
3.1.3 不可否認(rèn)性
如果原始簽名者U0不誠實(shí),在代理委托階段提供虛假信息,如計(jì)算μ時(shí)用的不是發(fā)布的授權(quán)文件mw,或者計(jì)算σ時(shí)不用自己的私鑰x0,則它不能通過代理委托驗(yàn)證。而一旦U0把簽名權(quán)委托給了代理簽名者Up,因?yàn)樽詈笾挥杏盟墓€Y0才能通過代理簽名驗(yàn)證,所以原始簽名者U0不能否認(rèn)自己做出的代理委托。
同樣,由于只有被委托的代理簽名者才能產(chǎn)生合法的代理簽名,因此,一旦原始簽名者U0把簽名權(quán)委托給了代理簽名者Up,則代理簽名者Up不能否認(rèn)他代表原始簽名者U0產(chǎn)生的簽名。
3.1.4 防止代理權(quán)濫用
因?yàn)槭跈?quán)文件mw已經(jīng)明確了原始簽名者、代理簽名者、授權(quán)權(quán)限范圍以及授權(quán)期限等信息,所以驗(yàn)證者只要檢查授權(quán)文件的內(nèi)容就可以確定代理簽名者是否合法以及是否在授權(quán)權(quán)限范圍和授權(quán)期限內(nèi)行事。一旦出現(xiàn)代理簽名者假冒、逾越權(quán)限范圍或者超過授權(quán)期限等問題,驗(yàn)證者可以當(dāng)場宣布其代理簽名的非法性。
表1 雙線性對運(yùn)算次數(shù)的比較
本文的方案滿足不可偽造性、不可否認(rèn)性等安全性要求,并且能夠有效地防止代理權(quán)濫用。與其它的代理簽名方案[4-5]相比,本文的方案具有較高的計(jì)算效率,尤其在代理委托階段不涉及運(yùn)算量大的雙線性對運(yùn)算,極有利于實(shí)際應(yīng)用。方案的比較結(jié)果如表1所示。
為便于實(shí)際應(yīng)用,本文采用授權(quán)部分委托來構(gòu)建基于雙向性對的代理簽名方案。方案滿足一般代理簽名方案需要滿足的不可偽造性和不可否認(rèn)性,并且能夠有效的防止代理權(quán)濫用。
與其它代理簽名方案相比,本文的方案具有較高的計(jì)算效率,尤其在代理委托階段不涉及運(yùn)算量大的雙線性對運(yùn)算,這極有利于實(shí)際應(yīng)用。特別地,當(dāng)原始簽名者需要把簽名權(quán)委托給多個代理簽名者時(shí),本文的方案是最優(yōu)的選擇之一。
[參考文獻(xiàn)]
[1] MAMBO M,USUDA K,OKAMOTO E.Proxy signatures: delegation of the power to sign messages[J].IEICE Transactions on Fundamentals of Electronic Communications and Computer Science,1996,79(9):1338-1354.
[2] 樊睿,王彩芬,藍(lán)才會,等.新的無證書的代理簽名方案[J].計(jì)算機(jī)應(yīng)用,2008,28(4):915-917.
[3] 張建中,魏春艷.一種新的無證書代理簽名方案[J].計(jì)算機(jī)工程,2010,36(10):168-172.
[4] WANG Qin,CAO Zhen-fu.Efficient ID-based proxy signature and proxy signcryption from bilinear Pairings[C]//Computational Intelligence and Security.Berlin:Springer-Verlag,2005:167-172.
[5] 舒蕾,陳再興.一種高效的基于身份的代理簽名方案[J].軟件導(dǎo)刊,2009,8(10):164-166.
[6] 王琴.一種基于身份的代理簽密體制[J].計(jì)算機(jī)工程,2011,37(19):120-125.
[7] 劉樹棟,梁向前,許金芳.安全有效的代理可驗(yàn)證加密簽名方案[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(28):77-79.
[8] 王會歌,王彩芬,曹浩,等.基于離散對數(shù)的無證書代理簽名方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(10):3284-3286.
[9] 鄧勝國.基于身份無可信中心的簽名體制研究[D].南寧:廣西民族大學(xué),2011.
[10] 劉雯.幾類代理盲簽名方案的研究[D].西安:陜西師范大學(xué),2012.
[11] 吳磊,孔凡玉.一種高效的基于身份代理環(huán)簽名方案[J].山東大學(xué)學(xué)報(bào):理學(xué)版,2009,44(1):40-43.