于 璇,侯書會(huì)
隨著信息社會(huì)的到來,計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)迅猛發(fā)展,給日常工作和生活帶來了便利。為保證互聯(lián)網(wǎng)中信息傳遞的真實(shí)性和有效性,數(shù)字簽名技術(shù)應(yīng)運(yùn)而生。為使數(shù)字簽名滿足匿名性和可追蹤性,1991年D.Chaum和Evan.Heyst提出了群簽名方案[1]。在群簽名方案中,群成員可以匿名代表整個(gè)群對(duì)消息簽名,同時(shí)具備不可偽造性、可追蹤性、不關(guān)聯(lián)性和防陷害性等特征。
2004年,陳澤文提出了一種基于中國剩余定理的群簽名方案[2],解決了群成員撤銷難題;2006年,李鳳銀基于RSA問題提出了一種群簽名方案[3],高效實(shí)現(xiàn)了群成員的增加和撤銷;同年,為改進(jìn)陳澤文方案的不可鏈接性,胡斌提出了改進(jìn)的基于中國剩余定理的群簽名方案[4];2008年,姜燕對(duì)李鳳銀方案進(jìn)行改進(jìn)[5],并使新方案能夠滿足前向安全性;2009年,朱瑩以DSA簽名算法為基礎(chǔ),引入了成員標(biāo)簽,對(duì)李鳳銀方案提出了另一種改進(jìn)方案[6];2010年,張建中對(duì)姜燕方案進(jìn)行了安全性分析[7],證明了姜燕方案不能抵抗陷害攻擊。
為進(jìn)一步提高群簽名的安全性和簽名效率,2015年白永祥提出了一種高效的群簽名方案[8](以下簡稱BaiYX方案)。本文對(duì)其安全性進(jìn)行分析,證明此方案容易被攻擊或陷害,并針對(duì)其漏洞提出了新的群簽名方案。具體地,將BaiYX方案中的兩個(gè)群管理員縮減為一個(gè),增設(shè)公鑰狀態(tài)列表,實(shí)現(xiàn)動(dòng)態(tài)地增加和撤銷群成員,提高執(zhí)行效率;利用橢圓曲線上離散對(duì)數(shù)問題的難解性,在群成員私鑰保密的前提下,實(shí)現(xiàn)群管理員對(duì)群成員私鑰的管理與控制,增強(qiáng)抗合謀性能;利用雙線性映射性質(zhì),實(shí)現(xiàn)群管理員對(duì)群成員的身份認(rèn)證,提高方案的安全性。
白永祥基于ElGamal簽名方案構(gòu)造了一種群簽名方案,把群管理員分為兩部分——GM1和GM2,GM1負(fù)責(zé)群成員的加入和群成員私鑰的分發(fā),GM2負(fù)責(zé)群簽名的追蹤。整個(gè)方案分為群的建立、群成員的加入、簽名、驗(yàn)證和追蹤5個(gè)部分。
設(shè)m為待簽名的消息,Ui為群成員,H∶{0,1}*→{0,1}t為一個(gè)安全的Hash函數(shù)。
在群初始化過程中,兩個(gè)群管理員分別為該群設(shè)置公鑰和自己的私鑰。
(1)GM1選擇足夠大的素?cái)?shù) p、q,計(jì)算n=p·q。QR(n)為二次剩余群,選定其循環(huán)子群G,而g為G的一個(gè)生成元。
選擇x∈RG作為自己的私鑰,計(jì)算y=gx(mod n),并把y作為公鑰。
(2)GM2選擇足夠大的素?cái)?shù)P、Q,計(jì)算N=P·Q,使得N<n。然后,選擇E∈RZ*N,計(jì)算D,使其滿足E·D≡1(modφ(N)),并將D作為自己的私鑰保存。
最終,群管理員GM1的私鑰為x,GM2的私鑰為D,同時(shí)公布群公共參數(shù)Y={n,g,l,t,H}和群公鑰{y,E,N}。
Ui申請(qǐng)加入群時(shí),進(jìn)行如下操作。GM1隨機(jī)選擇xi∈RG,計(jì)算xi'=x-xi與yi=gxi(mod n),然后把xi發(fā)送給群成員Ui,把(Ui,xi',yi)發(fā)送給群管理員GM2,并將(Ui,xi',yi)作為群成員Ui的群簽名證書。
群成員Ui對(duì)消息m進(jìn)行簽名時(shí),進(jìn)行如下操作:
(1)群成員Ui首先隨機(jī)選擇ri∈RG,計(jì)算ci=H(Time||yi||g||gri||m)和si=ri-cixi,這里Time為時(shí)間戳。然后,將(Ui,m,ci,si,Time)發(fā)送給GM2。
(2)GM2接收到(Ui,m,ci,si,Time)后,首先檢驗(yàn)Time與當(dāng)前時(shí)間是否一致,以及Ui是否存在。若時(shí)間一致且Ui存在,查找與Ui對(duì)應(yīng)的yi(=gxi),檢驗(yàn)ci=H(Time||yi||g||gsiyici||m)是否成立。若成立,GM2隨機(jī)選擇ri'∈RG,并獲取當(dāng)前時(shí)間Time',計(jì)算:
然后發(fā)送(T ime ' ||si'||c ' ||c)給群成員Ui,并把(Ui||m ||T ime||T ime ' ||ci||si||ri' ||c)存儲(chǔ)到與Ui對(duì)應(yīng)的簽名追蹤列表中。
(3)群成員Ui接收到(Time'||si'||c'||c)后,檢驗(yàn)c=(c')E(mod N)是否成立。若成立,計(jì)算s=si'+ri-cxi,公布消息m的群簽名為(T ime,T ime',c,c',s)。
驗(yàn)證者接收到簽名(T ime,T ime',c,c',s)后,檢驗(yàn) c = (c ')E(mod N )是否成立。若成立,則檢驗(yàn)c = H(T ime||T ime ' ||y||g || ycgs)(mod N )是否成立。若兩式均成立,接受(T ime,T ime',c,c',s)為消息m的群簽名;否則,不接受。
追蹤群簽名時(shí),GM1要打開簽名確定簽名者的身份,這時(shí)要向GM2發(fā)送請(qǐng)求。GM2根據(jù)簽名追蹤列表中的( Ui||m ||T ime||T ime ' ||ci||si||ri' ||c)信息,查找對(duì)應(yīng)的(Ui,c),可得到簽名群成員的身份并告知GM1。
本節(jié)證明BaiYX方案不能抵抗合謀攻擊,且群成員容易被陷害。
在BaiYX方案中,群成員Ui的私鑰xi由GM1分發(fā),而不是由Ui自己生成,使得群管理員GM1可以冒充群成員。群成員Ui簽名使用的ri是隨機(jī)選取的,由于BaiYX方案缺乏身份認(rèn)證機(jī)制,GM1可以隨機(jī)選取ri,使用xi對(duì)消息m進(jìn)行簽名,即群管理員GM1可以冒充群成員Ui簽名,且群管理員GM2無法辨別簽名者是Ui還是GM1。
群建立過程中,密鑰分發(fā)時(shí)使用如下等式:
群管理員GM2擁有xi',群成員擁有xi,二者合謀計(jì)算xi+xi'可得到群管理員GM1的私鑰x。所以,群管理員GM1的私鑰x是不安全的。
在BaiYX方案中,GM1和GM2兩名群管理員分工明確,GM1負(fù)責(zé)群成員的加入和群成員私鑰的發(fā)行,GM2則負(fù)責(zé)群簽名的追蹤。一旦上述合謀攻擊情況發(fā)生,則GM1的存在將失去意義,GM2或者其合謀的群成員可代替GM1任意添加群成員并合法分發(fā)密鑰。
鑒于上述問題,本文提出了一種高效安全的群簽名方案。
本文方案中存在4類實(shí)體,分別為公鑰狀態(tài)列表(PKSL)、群管理員GM、可信時(shí)間戳機(jī)構(gòu)(TSA)和群成員Ui。其中,公鑰狀態(tài)列表中顯示當(dāng)前群成員的身份信息IDi、公鑰yi、授權(quán)簽名起始時(shí)間Ts和TE;GM則負(fù)責(zé)群成員的加入、群簽名的追蹤以及實(shí)時(shí)更新維護(hù),并向所有群成員廣播最新的PKSL;可信時(shí)間戳機(jī)構(gòu)負(fù)責(zé)向群管理員及群成員提供時(shí)間戳服務(wù);群成員Ui負(fù)責(zé)完成群簽名。
類似于BaiYX方案,本文方案包含群的建立、群成員的加入、簽名、驗(yàn)證和追蹤五個(gè)步驟。
群初始化過程中,群管理員GM首先為群設(shè)置公鑰,并獲取自己的私鑰,操作如下。
(1)群管理員GM選擇足夠大的素?cái)?shù)p、q,計(jì)算n=pq,選擇二次剩余群QR(n)中的循環(huán)子群G1(其生成元為g),選擇x∈RG1作為私鑰。選擇E∈RZn*,計(jì)算D使其滿足E·D≡1(modφ(n)),將D作為私鑰保存,即GM的私鑰為(x,D)。
(2)GM生成群公共參數(shù)。選定hash函數(shù)H1(·):{0,1}*→G2,G2為有限域上橢圓曲線E的點(diǎn)構(gòu)成的加法循環(huán)群;在橢圓曲線E上選取一個(gè)素?cái)?shù)階q的點(diǎn)Q,計(jì)算Qpub=xQ;e為雙線性映射:G2×G2→G3,其中G3為r階乘法循環(huán)群。
(3)最終,群管理員GM的私鑰為(x,D),公布群公共參數(shù)Y={n,g,l,r,H1,G1,G2,G3,e}和群公鑰{E,Q,Qpub}。
Ui申請(qǐng)加入群時(shí),進(jìn)行如下操作:
(1)群成員Ui隨機(jī)選取兩個(gè)數(shù)ai,bi∈,計(jì)算 Xi=aiH1(IDi),Yi=aibiH1(IDi),Zi=biQ,Wi=aibiQ,發(fā)送(Xi,Yi,Zi,Wi,IDi)給GM。
(2)GM計(jì)算H1(IDi),并檢驗(yàn):
若式(5)成立,則GM驗(yàn)證了IDi的有效性。GM 計(jì)算 Vi=xYi,PKi=xZi,將 (Vi,PKi)發(fā)送給群成員Ui。
(3)群成員Ui收到 ()后, 檢驗(yàn)e(Vi,Q)=e ()和e(PKi,Q)=e ()。 若成立,計(jì)算x=a?1V= bxH(ID)作為私鑰,計(jì)算yi=xiQ作為公鑰,并公布身份 IDi。顯然,e()=e(x,yi)成立,則將()發(fā)送給群管理員GM;
(4)群管理員GM收到(IDi, yi)后,將其存儲(chǔ)到公鑰狀態(tài)列表PKSL中,并予以公布。PKSL采取如表1所示的形式。
表1 公鑰狀態(tài)列表
當(dāng)群成員公鑰有效時(shí),其撤銷時(shí)間取一個(gè)足夠大的值,如9999年12月31日。公鑰狀態(tài)列表PKSL的實(shí)時(shí)維護(hù)由群管理員GM負(fù)責(zé),每有群成員加入或撤銷,都要實(shí)時(shí)更新PKSL,并向所有群成員廣播最新的PKSL,同時(shí)將(IDi,yi,Ti-start,Ti-end)發(fā)送給群成員Ui,作為群成員Ui的群簽名證書。
群成員Ui對(duì)消息m進(jìn)行簽名時(shí),操作如下:
(1)群成員Ui隨機(jī)選擇ri∈RG,并向可信時(shí)間戳機(jī)構(gòu)TSA請(qǐng)求當(dāng)前時(shí)間Time,計(jì)算:
(2)群管理員GM檢查Time和當(dāng)前時(shí)間是否一致,訪問PKSL查看Ui在當(dāng)前時(shí)間是否存在。若時(shí)間一致且群成員存在,查找與Ui對(duì)應(yīng)的yi( = xiQ),驗(yàn)證 e(xi, Qpub) = e (x,yi)是否成立。若成立,則驗(yàn)證了群成員Ui的身份,接著驗(yàn)證式(7)是否成立:
若成立,則接受ci,選擇 ri' ∈RG,并獲取當(dāng)前時(shí)間 T ime',進(jìn)行如下運(yùn)算:
表2 簽名追蹤列表
(3)收到(Time'||si'||c'||c)后,群成員檢驗(yàn)c=(c')E(mod n)是否成立。若成立,計(jì)算:
公布(Time,Time',c,c',s)為消息m的簽名。
驗(yàn)證簽名時(shí),根據(jù)(Time,Time',c,c',s)檢驗(yàn)c =(c ' )E(modn)是否成立。若成立,計(jì)算:
若式(8)成立,接受(Time,Time',c,c',s)為群簽名;若不成立,則不接受簽名。
追蹤簽名時(shí),群管理員GM打開消息m的群簽名(Time,Time',c,c',s),根據(jù)c,對(duì)應(yīng)追蹤列表中的查找相應(yīng)的(IDi,c),追蹤到簽名者的身份信息IDi。
群建立過程中增加了驗(yàn)證機(jī)制,群管理員和群成員需要進(jìn)行雙向驗(yàn)證。
(1)GM驗(yàn)證IDi的有效性
群成員Ui隨機(jī)選取ai,bi∈,計(jì)算Xi=aiH1(IDi),Yi=aibiH1(IDi),Zi=biQ,Wi=aibiQ,發(fā)送(Xi,Yi,Zi,Wi,IDi)給群管理員GM。群管理員GM計(jì)算H1(IDi),根據(jù)雙線性映射的性質(zhì)驗(yàn)證
可知 e (Xi, Zi) = e(H1(I Di) ,Wi) = e (Yi,Q)成立,即證明了IDi的有效性。
(2)群成員Ui驗(yàn)證群管理員GM
群建立過程中,GM完成對(duì)群成員驗(yàn)證后,計(jì)算Vi=xYi,PKi=xZi,將(Vi,PKi)發(fā)送給群成員Ui,Ui需要驗(yàn)證GM的身份,即驗(yàn)證 e(Vi,Q ) = e (),e(P Ki,Q ) = e ()是否成立。
因?yàn)椋?/p>
所以e(Vi,Q ) = e (Yi, Qpub)、e(P Ki,Q ) = e(Zi, Qpub)兩等式成立,即驗(yàn)證了群管理員GM的身份。
(3)簽名時(shí)GM對(duì)群成員Ui的驗(yàn)證
簽名是由群成員Ui和群管理員GM協(xié)作完成的。群管理員GM確認(rèn)Time和Ui在當(dāng)前時(shí)間存在后,需要驗(yàn)證Ui身份。簽名時(shí),群成員Ui已經(jīng)將發(fā)送給GM,GM需要驗(yàn)證 e= e (x,yi)是否成立。
若式(20)成立,則證明發(fā)送方為群成員Ui。
(4)簽名的正確性
驗(yàn)證等式(7)中ci的有效性,即驗(yàn)證:
只需驗(yàn)證 riQ = siQ + ciyi。
驗(yàn)證簽名時(shí),群公鑰{E,Q,Qpub}和群公共參數(shù)Y={n,g,l,r,H1,G1,G2,G3,e}是已知的。驗(yàn)證c=(c')E(mod n)后,需要驗(yàn)證簽名是否有效,即驗(yàn)證:
通過上述證明,本文簽名方案是正確的。
從以下幾個(gè)方面論述方案的安全性。
(1)匿名性。(Time,Time',c,c',s)為消息m的群簽名,驗(yàn)證時(shí)僅使用了群管理員GM的公鑰來計(jì)算c=(c')E(mod n),沒有涉及群成員Ui的身份信息。所以,本文方案是匿名的。
(2)抗合謀性。本文方案中,利用橢圓曲線上離散對(duì)數(shù)問題的難解性,群管理員GM通過xi=bixH1(IDi)來控制群成員Ui私鑰,但無法直接獲取Ui的私鑰,而群成員更無法得到群管理員GM的私鑰。另一方面,不同的群成員私鑰完全保密,且各不相關(guān)。所以,方案在抗合謀攻擊方面,安全性要強(qiáng)于BaiYX方案。
(4)不可偽造性。只有群成員可以代表群生成有效的群簽名,本文方案中利用橢圓曲線上離散對(duì)數(shù)問題的難解性,可有效防止群管理員對(duì)群成員的冒充,并抵抗合謀攻擊。
(5)不可關(guān)聯(lián)性。(Time,Time',c,c',s)沒有涉及任何群成員信息,所以通過計(jì)算判斷兩個(gè)不同的群簽名是否為同一人所簽是不可實(shí)現(xiàn)的,可見所提方案滿足不可關(guān)聯(lián)性。
(6)防陷害性。群管理員GM和群成員Ui都不能代表其他群成員對(duì)消息m進(jìn)行簽名。本方案中,GM和所有群成員均擁有完全保密的私鑰,在不泄漏的前提下,方案滿足防陷害性。
(7)前向安全性。群成員被撤銷后,在有效期內(nèi)完成的群簽名是安全的、可被驗(yàn)證的。
基于白永祥提出的群簽名方案,提出了一個(gè)高效安全的群簽名方案。與原方案相比,所提方案執(zhí)行效率高,抗合謀性能強(qiáng),可以方便地增加和撤銷群成員,并給出了理論分析與證明。下一步將在具體應(yīng)用方面加強(qiáng)研究,尤其是在仿真實(shí)驗(yàn)和代碼實(shí)現(xiàn)等方面進(jìn)行設(shè)計(jì),使其在生產(chǎn)生活實(shí)際中發(fā)揮作用。
[1] Chaum,Heyst.Group Signatures[M].Berlin:Spring Verlog,1991:257-265.
[2] 陳澤文.一種基于中國剩余定理的群簽名方案[J].電子學(xué)報(bào),2004,32(07):1062-1065.CHEN Ze-wen.A Group Signature Scheme Based on Chinese Remainder Theorem[J].ACTA Electronica Sinica,2004,32(07):1062-1065.
[3] 李鳳銀.一種基于RSA的群簽名方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,27(16):2955-2957.LI Feng-yin.A Group Signature Scheme Based on RSA[J].Computer Engineering and Design,2008,27(16):2955-2957.
[4] 胡斌.一種改進(jìn)的基于中國剩余定理的群簽名方案[J].計(jì)算機(jī)工程與應(yīng)用,2006(24):114-116.HU Bin.An Improved Group Signature Scheme Based on Chinese Remainder Theorem[J].Computer Engineering and Applications,2006(24):114-116.
[5] 姜燕.基于RSA的群簽名方案的缺陷及改進(jìn)方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(07):1655-1658.JIANG Yan.Flaw and Improved Scheme of Group Signature Scheme Based on RSA[J].Computer Engineering and Design,2008,29(07):1655-1658.
[6] 朱瑩.一種基于RSA群簽名方案的安全性分析及改進(jìn)[J].湖北工業(yè)大學(xué)學(xué)報(bào),2009,24(01):68-71.ZHU Ying.Cryptanalysis and Improvement of Group Signature Scheme Based on RSA[J].Journal of Hubei University of Technology,2009,24(01):68-71.
[7] 張建中.基于RSA群簽名方案的安全性分析[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(22):121-123.ZHANG Jian-zhong.Security Analysis of Group Signature Scheme Based on RSA.Computer Engineering and Applications,2010,46(22):121-123.
[8] 白永祥.一種高效群簽名方案的設(shè)計(jì)與分析[J].通信技術(shù),2015,48(02):214-218.BAI Yong-xiang.Design and Analysis of Efficient Group-Signature Scheme[J].Communications Technology,2015,48(02):214-218.
[9] 周素芳.一種加強(qiáng)的基于中國剩余定理的群簽名[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(11):175-181.ZHOU Su-fang.An Enhanced Group Signature Scheme Based on Chinese Remainder Theorem[J].Computer Technology and Development,2014,24(11):175-181.
[10] 程小剛.群簽名成員撤銷綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(11):2520-2526.CHENG Xiao-gang.Survey on Membership Revocation for Group Signature[J].Journal of Chinese Computer Systems,2016,37(11):2520-2526.