于 璇,侯書會
隨著信息社會的到來,計算機和互聯網技術迅猛發展,給日常工作和生活帶來了便利。為保證互聯網中信息傳遞的真實性和有效性,數字簽名技術應運而生。為使數字簽名滿足匿名性和可追蹤性,1991年D.Chaum和Evan.Heyst提出了群簽名方案[1]。在群簽名方案中,群成員可以匿名代表整個群對消息簽名,同時具備不可偽造性、可追蹤性、不關聯性和防陷害性等特征。
2004年,陳澤文提出了一種基于中國剩余定理的群簽名方案[2],解決了群成員撤銷難題;2006年,李鳳銀基于RSA問題提出了一種群簽名方案[3],高效實現了群成員的增加和撤銷;同年,為改進陳澤文方案的不可鏈接性,胡斌提出了改進的基于中國剩余定理的群簽名方案[4];2008年,姜燕對李鳳銀方案進行改進[5],并使新方案能夠滿足前向安全性;2009年,朱瑩以DSA簽名算法為基礎,引入了成員標簽,對李鳳銀方案提出了另一種改進方案[6];2010年,張建中對姜燕方案進行了安全性分析[7],證明了姜燕方案不能抵抗陷害攻擊。
為進一步提高群簽名的安全性和簽名效率,2015年白永祥提出了一種高效的群簽名方案[8](以下簡稱BaiYX方案)。本文對其安全性進行分析,證明此方案容易被攻擊或陷害,并針對其漏洞提出了新的群簽名方案。具體地,將BaiYX方案中的兩個群管理員縮減為一個,增設公鑰狀態列表,實現動態地增加和撤銷群成員,提高執行效率;利用橢圓曲線上離散對數問題的難解性,在群成員私鑰保密的前提下,實現群管理員對群成員私鑰的管理與控制,增強抗合謀性能;利用雙線性映射性質,實現群管理員對群成員的身份認證,提高方案的安全性。
白永祥基于ElGamal簽名方案構造了一種群簽名方案,把群管理員分為兩部分——GM1和GM2,GM1負責群成員的加入和群成員私鑰的分發,GM2負責群簽名的追蹤。整個方案分為群的建立、群成員的加入、簽名、驗證和追蹤5個部分。
設m為待簽名的消息,Ui為群成員,H∶{0,1}*→{0,1}t為一個安全的Hash函數。
在群初始化過程中,兩個群管理員分別為該群設置公鑰和自己的私鑰。
(1)GM1選擇足夠大的素數 p、q,計算n=p·q。QR(n)為二次剩余群,選定其循環子群G,而g為G的一個生成元。
選擇x∈RG作為自己的私鑰,計算y=gx(mod n),并把y作為公鑰。
(2)GM2選擇足夠大的素數P、Q,計算N=P·Q,使得N<n。然后,選擇E∈RZ*N,計算D,使其滿足E·D≡1(modφ(N)),并將D作為自己的私鑰保存。
最終,群管理員GM1的私鑰為x,GM2的私鑰為D,同時公布群公共參數Y={n,g,l,t,H}和群公鑰{y,E,N}。
Ui申請加入群時,進行如下操作。GM1隨機選擇xi∈RG,計算xi'=x-xi與yi=gxi(mod n),然后把xi發送給群成員Ui,把(Ui,xi',yi)發送給群管理員GM2,并將(Ui,xi',yi)作為群成員Ui的群簽名證書。
群成員Ui對消息m進行簽名時,進行如下操作:
(1)群成員Ui首先隨機選擇ri∈RG,計算ci=H(Time||yi||g||gri||m)和si=ri-cixi,這里Time為時間戳。然后,將(Ui,m,ci,si,Time)發送給GM2。
(2)GM2接收到(Ui,m,ci,si,Time)后,首先檢驗Time與當前時間是否一致,以及Ui是否存在。若時間一致且Ui存在,查找與Ui對應的yi(=gxi),檢驗ci=H(Time||yi||g||gsiyici||m)是否成立。若成立,GM2隨機選擇ri'∈RG,并獲取當前時間Time',計算:

然后發送(T ime ' ||si'||c ' ||c)給群成員Ui,并把(Ui||m ||T ime||T ime ' ||ci||si||ri' ||c)存儲到與Ui對應的簽名追蹤列表中。
(3)群成員Ui接收到(Time'||si'||c'||c)后,檢驗c=(c')E(mod N)是否成立。若成立,計算s=si'+ri-cxi,公布消息m的群簽名為(T ime,T ime',c,c',s)。
驗證者接收到簽名(T ime,T ime',c,c',s)后,檢驗 c = (c ')E(mod N )是否成立。若成立,則檢驗c = H(T ime||T ime ' ||y||g || ycgs)(mod N )是否成立。若兩式均成立,接受(T ime,T ime',c,c',s)為消息m的群簽名;否則,不接受。
追蹤群簽名時,GM1要打開簽名確定簽名者的身份,這時要向GM2發送請求。GM2根據簽名追蹤列表中的( Ui||m ||T ime||T ime ' ||ci||si||ri' ||c)信息,查找對應的(Ui,c),可得到簽名群成員的身份并告知GM1。
本節證明BaiYX方案不能抵抗合謀攻擊,且群成員容易被陷害。
在BaiYX方案中,群成員Ui的私鑰xi由GM1分發,而不是由Ui自己生成,使得群管理員GM1可以冒充群成員。群成員Ui簽名使用的ri是隨機選取的,由于BaiYX方案缺乏身份認證機制,GM1可以隨機選取ri,使用xi對消息m進行簽名,即群管理員GM1可以冒充群成員Ui簽名,且群管理員GM2無法辨別簽名者是Ui還是GM1。
群建立過程中,密鑰分發時使用如下等式:

群管理員GM2擁有xi',群成員擁有xi,二者合謀計算xi+xi'可得到群管理員GM1的私鑰x。所以,群管理員GM1的私鑰x是不安全的。
在BaiYX方案中,GM1和GM2兩名群管理員分工明確,GM1負責群成員的加入和群成員私鑰的發行,GM2則負責群簽名的追蹤。一旦上述合謀攻擊情況發生,則GM1的存在將失去意義,GM2或者其合謀的群成員可代替GM1任意添加群成員并合法分發密鑰。
鑒于上述問題,本文提出了一種高效安全的群簽名方案。
本文方案中存在4類實體,分別為公鑰狀態列表(PKSL)、群管理員GM、可信時間戳機構(TSA)和群成員Ui。其中,公鑰狀態列表中顯示當前群成員的身份信息IDi、公鑰yi、授權簽名起始時間Ts和TE;GM則負責群成員的加入、群簽名的追蹤以及實時更新維護,并向所有群成員廣播最新的PKSL;可信時間戳機構負責向群管理員及群成員提供時間戳服務;群成員Ui負責完成群簽名。
類似于BaiYX方案,本文方案包含群的建立、群成員的加入、簽名、驗證和追蹤五個步驟。
群初始化過程中,群管理員GM首先為群設置公鑰,并獲取自己的私鑰,操作如下。
(1)群管理員GM選擇足夠大的素數p、q,計算n=pq,選擇二次剩余群QR(n)中的循環子群G1(其生成元為g),選擇x∈RG1作為私鑰。選擇E∈RZn*,計算D使其滿足E·D≡1(modφ(n)),將D作為私鑰保存,即GM的私鑰為(x,D)。
(2)GM生成群公共參數。選定hash函數H1(·):{0,1}*→G2,G2為有限域上橢圓曲線E的點構成的加法循環群;在橢圓曲線E上選取一個素數階q的點Q,計算Qpub=xQ;e為雙線性映射:G2×G2→G3,其中G3為r階乘法循環群。
(3)最終,群管理員GM的私鑰為(x,D),公布群公共參數Y={n,g,l,r,H1,G1,G2,G3,e}和群公鑰{E,Q,Qpub}。
Ui申請加入群時,進行如下操作:
(1)群成員Ui隨機選取兩個數ai,bi∈,計算 Xi=aiH1(IDi),Yi=aibiH1(IDi),Zi=biQ,Wi=aibiQ,發送(Xi,Yi,Zi,Wi,IDi)給GM。
(2)GM計算H1(IDi),并檢驗:

若式(5)成立,則GM驗證了IDi的有效性。GM 計算 Vi=xYi,PKi=xZi,將 (Vi,PKi)發送給群成員Ui。
(3)群成員Ui收到 ()后, 檢驗e(Vi,Q)=e ()和e(PKi,Q)=e ()。 若成立,計算x=a?1V= bxH(ID)作為私鑰,計算yi=xiQ作為公鑰,并公布身份 IDi。顯然,e()=e(x,yi)成立,則將()發送給群管理員GM;
(4)群管理員GM收到(IDi, yi)后,將其存儲到公鑰狀態列表PKSL中,并予以公布。PKSL采取如表1所示的形式。

表1 公鑰狀態列表
當群成員公鑰有效時,其撤銷時間取一個足夠大的值,如9999年12月31日。公鑰狀態列表PKSL的實時維護由群管理員GM負責,每有群成員加入或撤銷,都要實時更新PKSL,并向所有群成員廣播最新的PKSL,同時將(IDi,yi,Ti-start,Ti-end)發送給群成員Ui,作為群成員Ui的群簽名證書。
群成員Ui對消息m進行簽名時,操作如下:
(1)群成員Ui隨機選擇ri∈RG,并向可信時間戳機構TSA請求當前時間Time,計算:

(2)群管理員GM檢查Time和當前時間是否一致,訪問PKSL查看Ui在當前時間是否存在。若時間一致且群成員存在,查找與Ui對應的yi( = xiQ),驗證 e(xi, Qpub) = e (x,yi)是否成立。若成立,則驗證了群成員Ui的身份,接著驗證式(7)是否成立:

若成立,則接受ci,選擇 ri' ∈RG,并獲取當前時間 T ime',進行如下運算:


表2 簽名追蹤列表
(3)收到(Time'||si'||c'||c)后,群成員檢驗c=(c')E(mod n)是否成立。若成立,計算:

公布(Time,Time',c,c',s)為消息m的簽名。
驗證簽名時,根據(Time,Time',c,c',s)檢驗c =(c ' )E(modn)是否成立。若成立,計算:

若式(8)成立,接受(Time,Time',c,c',s)為群簽名;若不成立,則不接受簽名。
追蹤簽名時,群管理員GM打開消息m的群簽名(Time,Time',c,c',s),根據c,對應追蹤列表中的查找相應的(IDi,c),追蹤到簽名者的身份信息IDi。
群建立過程中增加了驗證機制,群管理員和群成員需要進行雙向驗證。
(1)GM驗證IDi的有效性
群成員Ui隨機選取ai,bi∈,計算Xi=aiH1(IDi),Yi=aibiH1(IDi),Zi=biQ,Wi=aibiQ,發送(Xi,Yi,Zi,Wi,IDi)給群管理員GM。群管理員GM計算H1(IDi),根據雙線性映射的性質驗證


可知 e (Xi, Zi) = e(H1(I Di) ,Wi) = e (Yi,Q)成立,即證明了IDi的有效性。
(2)群成員Ui驗證群管理員GM
群建立過程中,GM完成對群成員驗證后,計算Vi=xYi,PKi=xZi,將(Vi,PKi)發送給群成員Ui,Ui需要驗證GM的身份,即驗證 e(Vi,Q ) = e (),e(P Ki,Q ) = e ()是否成立。
因為:

所以e(Vi,Q ) = e (Yi, Qpub)、e(P Ki,Q ) = e(Zi, Qpub)兩等式成立,即驗證了群管理員GM的身份。
(3)簽名時GM對群成員Ui的驗證
簽名是由群成員Ui和群管理員GM協作完成的。群管理員GM確認Time和Ui在當前時間存在后,需要驗證Ui身份。簽名時,群成員Ui已經將發送給GM,GM需要驗證 e= e (x,yi)是否成立。

若式(20)成立,則證明發送方為群成員Ui。
(4)簽名的正確性
驗證等式(7)中ci的有效性,即驗證:

只需驗證 riQ = siQ + ciyi。

驗證簽名時,群公鑰{E,Q,Qpub}和群公共參數Y={n,g,l,r,H1,G1,G2,G3,e}是已知的。驗證c=(c')E(mod n)后,需要驗證簽名是否有效,即驗證:


通過上述證明,本文簽名方案是正確的。
從以下幾個方面論述方案的安全性。
(1)匿名性。(Time,Time',c,c',s)為消息m的群簽名,驗證時僅使用了群管理員GM的公鑰來計算c=(c')E(mod n),沒有涉及群成員Ui的身份信息。所以,本文方案是匿名的。
(2)抗合謀性。本文方案中,利用橢圓曲線上離散對數問題的難解性,群管理員GM通過xi=bixH1(IDi)來控制群成員Ui私鑰,但無法直接獲取Ui的私鑰,而群成員更無法得到群管理員GM的私鑰。另一方面,不同的群成員私鑰完全保密,且各不相關。所以,方案在抗合謀攻擊方面,安全性要強于BaiYX方案。
(4)不可偽造性。只有群成員可以代表群生成有效的群簽名,本文方案中利用橢圓曲線上離散對數問題的難解性,可有效防止群管理員對群成員的冒充,并抵抗合謀攻擊。
(5)不可關聯性。(Time,Time',c,c',s)沒有涉及任何群成員信息,所以通過計算判斷兩個不同的群簽名是否為同一人所簽是不可實現的,可見所提方案滿足不可關聯性。
(6)防陷害性。群管理員GM和群成員Ui都不能代表其他群成員對消息m進行簽名。本方案中,GM和所有群成員均擁有完全保密的私鑰,在不泄漏的前提下,方案滿足防陷害性。
(7)前向安全性。群成員被撤銷后,在有效期內完成的群簽名是安全的、可被驗證的。
基于白永祥提出的群簽名方案,提出了一個高效安全的群簽名方案。與原方案相比,所提方案執行效率高,抗合謀性能強,可以方便地增加和撤銷群成員,并給出了理論分析與證明。下一步將在具體應用方面加強研究,尤其是在仿真實驗和代碼實現等方面進行設計,使其在生產生活實際中發揮作用。
[1] Chaum,Heyst.Group Signatures[M].Berlin:Spring Verlog,1991:257-265.
[2] 陳澤文.一種基于中國剩余定理的群簽名方案[J].電子學報,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].計算機工程與設計,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].計算機工程與應用,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].計算機工程與設計,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].湖北工業大學學報,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].計算機工程與應用,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] 白永祥.一種高效群簽名方案的設計與分析[J].通信技術,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] 周素芳.一種加強的基于中國剩余定理的群簽名[J].計算機技術與發展,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].小型微型計算機系統,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.