摘要:在離散對數和單向Hash函數安全性前提下,基于分組秘密共享方案設計了一種新的門限簽名方案#65377;該方案生成有效簽名的t個成員不具有任意性,而是分別來自系統中不同群組的成員,他們能代表整個系統為某個消息生成有效的群簽名;同時只要有一組成員不參與,即便成員數目再多也無法為消息生成有效的群簽名(即任意一組成員對消息的簽名均有表決權)#65377;一旦消息有效的群簽名生成,就代表著整個系統的利益,從而確保整個系統良性#65380;高效地運作#65377;
關鍵詞:門限群簽名; 分組秘密共享; 離散對數; 合謀攻擊
中圖分類號:TP309文獻標志碼:A
文章編號:10013695(2007)04012502
1991年Desmedt and Frankel[1]首次提出基于RSA的(t,n)門限簽名方案#65377;在這個方案中,群組織的t個或多于t個成員能代表整個系統為消息生成有效的群簽名#65377;至此,門限簽名得到了廣泛的應用,形成了各種各樣的門限簽名方案[2]#65377;這些方案都是基于秘密共享方案的,即群密鑰是群中任意t個或多于t個成員共享的秘密#65377;這樣,群中t個或多于t個成員合謀就可以恢復出群密鑰,利用公開的成員身份,他們就可以恢復出所有成員的密鑰,從而任何一組成員都可以合謀假冒別的一組成員生成有效的群簽名,并偽造身份追查方程[3,4]#65377;一種性能良好的門限簽名方案應該具有如下特點[5]:群簽名特性#65380;門限特性#65380;簽名驗證的簡單性和匿名性#65380;身份可追查性#65380;系統的穩定性和強壯性#65377;如果用這些標準衡量目前的門限簽名方案,均存在著不同程度的缺陷[6]#65377;因此設計出性能良好的門限簽名方案一直是密碼學者夢寐以求的事#65377;
在現實生活中,一個系統不同部門的員工數量是不同的,又加之權利與義務分配的不同,可能系統賦予每個員工的權力大小也不一樣#65377;但各個部門的相互協作是整個系統良性#65380;高效地運作所必需的,所以看起來并不重要的一個部門,與其他部門一樣均會影響整個系統的正常運作#65377;這好比機器上一個螺絲釘,沒有它,性能良好的機器也無法正常運轉#65377;因此制定一個具體計劃或方案時往往要考慮所有部門的利害關系,只有所有部門共同參與才能順利實現#65377;
本文給出一種新的(t,n)門限簽名方案#65377;它是基于分組秘密共享方案的[7],每組秘密分割是均衡的,但不同組內由于成員人數不同,秘密分割不同#65377;恢復出群密鑰的t個成員不具有任意性,而是分別來自系統中不同群組的成員#65377;有效群簽名的生成必須是來自系統中不同群組的t個成員共同簽署的,缺少任意一組成員參與,均無法產生一個有效的群簽名#65377;
1分組秘密共享方案
n是該系統成員的數目,它被可信中心分為r個小組#65377;其中每個小組有Ni個成員,即N1+N2+…+Nr=n,代表系統生成有效群簽名的t個成員分別來自系統所有r個群組#65377;其中第i個小組有ti個成員參與,即有t1+t2+…+tr=t#65377;分組秘密共享方案的基本思想是:取兩個大素數p和q,滿足p=2q+1,g是GF(p)中q階生成元#65377;群中每個小組共享一個子秘密 fi(0)mod q(i=1,2,…,r),而群秘密是f(0)=∑ri=1fi(0)mod q#65377;為了使符合條件的t個成員能夠生成代表群的簽名,可信中心還應該構造r個秘密多項式#65377;其中第i個多項式的次數為ti-1, fi(x)=∑ti-1j=0aijxj(mod q),并任取此方程的Ni對不同的根(IDij∈Z*q,xij∈Z*q)(j=1,2,…,Ni),作為第i組每個成員的身份和密鑰,這r個秘密多項式滿足所有的共享秘密fi(0)≠0, fi(0)≠fj(0)(i≠j)#65377;按照此法可以為系統所有成員分配身份和密鑰#65377;然后構造多項式f(x)=∑ri=1fi(x)(mod q)滿足f(0)≠0#65377;
每個小組的密鑰為fi(0)mod q,公鑰為yi=gfi(0) mod p#65377;
整個系統的群密鑰為f(0)mod q,群公鑰為y=gf(0) mod p#65377;
IDij和xij為群中成員Uij的身份和密鑰,其對應的公鑰為yij=gxij mod p(i=1,2,…,r, j=1,2,…,Ni)#65377;
2新的(t,N)門限群簽名方案
下面利用前面的分組秘密共享方案設計一種(t,n)門限群簽名方案#65377;這個方案需要r個群組秘書和一個群管理員,他們分別負責本組和整個系統成員信息及簽名生成,要求他們必須足夠誠實#65377;n是該系統成員的總數目,t個符合條件的成員可以產生一個有效的群簽名#65377;
該方案由系統初始化#65380;組內個體簽名的生成#65380;個體簽名的驗證和群組部分簽名的生成#65380;群組部分簽名的驗證和群簽名的生成#65380;群簽名的驗證五部分組成#65377;設群中n個成員為Uij(i=1,2,…,r, j=1,2,…,Ni)#65377;
2.1系統初始化
由可信中心按照分組秘密共享方案產生以下參數:
(1)取兩個大素數p和q,滿足p=2q+1,g是GF(p)上階為q的生成元#65377;
(2)H是單向安全的Hash函數[8]#65377;
(3)將系統成員分為r個小組,其中每個小組有Ni個成員#65377;構造r個秘密多項式,其中第i個多項式的次數為ti-1, fi(x)=∑ti-1j=0aijxj(mod q),并任取此方程的Ni對不同的根(IDij∈Z*q,xij∈Z*q)(j=1,2,…,Ni)作為第i組每個成員的身份和密鑰,其對應的公鑰為yij=gxij mod p#65377;該組的密鑰為fi(0)mod q,公鑰為yi=gfi(0)mod p#65377;
(4)構造秘密多項式f(x)=∑ri=1fi(x)(mod q),系統群密鑰為f(0)mod q,群公鑰為y=gf(0)mod p#65377;
(5)可信中心通過秘密信道把xij發送給Uij(i=1,2,…,r, j=1,2,…,Ni)#65377;
在只有指定的群組秘書DCi可以查閱的公告欄中公布(IDij,yij);在只有指定的群管理員DC可以查閱的公告欄中公布(i,yi);并在任何人可以查閱的公告欄中公布(p,q,g,H,y)#65377;
2.2組內個體簽名的生成
假定第i組參與群簽名的ti個成員為(Ui1,Ui2,…,Uiti),m為要簽名的消息#65377;
(1)每個Uij任取kij∈Z*q,并計算rij=gkijmod p,把rij發送給群組秘書DCi#65377;
(2)群組秘書DCi計算ri=∏tij=1rij mod p,并把ri發送給群管理員DC#65377;
(3)群管理員DC計算R=∏rj=1ri mod p,并把R發送給群組秘書DCi和Uij#65377;
(4)每個Uij由
xij∏tis=1,s≠j[(0-IDis)/(IDij-IDis)]=[R+H(m,RR mod p)]kij+sij(mod q)
計算sij,生成個體簽名(rij,sij)#65377;將(m,rij,sij,IDij)發送給群組秘書DCi#65377;
2.3個體簽名的驗證和群組部分簽名的生成
群組秘書DCi收到本組內的ti個個體簽名(m,rij,sij,IDij)后,根據下式驗證其合法性:
yij∏tis=1,s≠j[(0-IDis)/(IDij-IDis)]=rR+H(m,RRmod p)ijgsij(mod p)
若方程成立,則計算si=∑tij=1sij mod q#65377;將(m,R,ri,si,i)發送給群管理員DC#65377;
2.4群組部分簽名的驗證和群簽名的生成
群管理員DC收到群組秘書DCi發來的(m,R,ri,si,i)后,根據下式驗證其合法性:
yi=rR+H(m,RRmod p)igsi mod p
若方程成立,計算c=H(m,RR mod p),S=∑ri=1si mod q#65377;則(m,R,S,c)為消息m的群簽名#65377;
2.5群簽名的驗證
任何人根據c=H(m,y/(Rcgs)mod p)是否成立可以驗證群簽名的有效性#65377;
這個結論的正確性如下:
3方案性能分析
3.1不可偽造性
(1)惡意攻擊者無法通過偽造個人簽名獲得群簽名#65377;若惡意攻擊者知道kij和xij,則可以偽造個體簽名消息(rij,sij),必能通過驗證式的驗證#65377;但是從rij和yij中求出kij和xij是離散對數問題,是不可行的#65377;
(2)任何一組成員無法冒充其他組成員生成有效的群簽名#65377;由群組部分簽名(m,R,ri,si,i)的生成及其驗證式可以知道,它包含ti個本組成員的密鑰xij和其選擇的隨機數kij,要求出它們也是離散對數問題#65377;
(3)任何惡意攻擊者無法生成有效的群簽名#65377;有效的群簽名包含t個本系統成員的密鑰xij和其選擇的隨機數kij,要生成有效的群簽名通過方程的驗證也是計算上不可行的#65377;
3.2合謀攻擊
根據秘密多項式f(x)的構造過程可知,群中任何一組無法獲得其他組的共享秘密#65377;系統中≤r-1個組合謀無法獲取任何有效的系統參數,包括群密鑰,因此他們無法假冒其他小組生成有效的群簽名#65377;
3.3多參與性和多代表性
每一個有效的群簽名來自t個本系統成員,分別來自系統中不同群組,代表本組簽署文件#65377;一旦群簽名成功簽署,不同群組的利益均被考慮,因而整個系統就會良性#65380;高效地運作#65377;當然,如果有某個文件只代表部分組的利益,那么其他組就會拒絕參與該文件的簽署#65377;
3.4驗證的匿名性和身份的可追查性
從群簽名驗證式可以看出,任何驗證者只需利用群公鑰驗證群簽名#65377;他們不清楚具體是哪些人參與了簽名,因而具有簽名驗證的匿名性;如果發生糾紛,本方案可以通過r個群組秘書和群管理員追查簽名者,從而可知哪些成員參與了簽名#65377;
4結束語
本文給出的(t,n)門限簽名方案,使所有不同部門的成員能代表本部門利益,各部門一起參與生成有效的群簽名#65377;缺少任何一個或數個部門的參與均無法生成有效的群簽名#65377;這種現象在現實世界中是經常遇到的,因而本方案是很實用的#65377;
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。