專利名稱:一種模糊性可明確廢除的并發(fā)簽名方法
技術領域:
本發(fā)明屬于數(shù)字簽名領域,涉及網(wǎng)絡環(huán)境中的并發(fā)簽名機制,特別涉及一種模糊
性可明確廢除的并發(fā)簽名方法。
背景技術:
網(wǎng)絡環(huán)境中公平交換數(shù)字簽名是密碼學領域廣泛研究的問題,其典型應用包括合同簽訂、支付系統(tǒng)、電子商務和可認證電子郵件等。傳統(tǒng)的解決方案有秘密逐步釋放 (G. Garay, C. Pomerance. Timed fair exchange of standardsignatures. In Proc.Financial Cryptography 2003, LNCS 2742, 190-207, 2003.)和基于在線或離線的半可信第三方(G. Ateniese. Verifiable encryption of digitalsignatures and applications,ACM Transactions on Information and SystemSecurity,7(1) :1—20,2004.)兩禾中。
秘密逐步釋放(gradual secret releasing)在協(xié)議參與者計算能力有較大差異時無法做到嚴格公平;而基于在線或離線的半可信第三方需要第三方的參與,并且公平性依賴于其半可信性。 Chen等人提出的并發(fā)簽名(L. Chen, C. Kudla and K. G. Paterson. Concurrentsignatures. In Advances in Cryptology-Eurocrypt 2004, LNCS 3027,287-305,2004.)
在許多應用中可避免上述問題,其基本思想是首先由協(xié)議一方選擇一種稱為keystone的特殊信息,并計算出keystone印記;然后協(xié)議雙方由keystone印記產(chǎn)生簽名并進行交換。由于簽名的產(chǎn)生使用了環(huán)簽名技術,使得簽名具有了模糊性,任何第三方只能斷定模糊簽名由兩個簽名者之一產(chǎn)生,而無法準確判定簽名者身份,因此不會產(chǎn)生不公平的后果。最后公布keystone,第三方根據(jù)keystone印記產(chǎn)生的單向性可推斷產(chǎn)生模糊簽名的簽名者身份。 并發(fā)簽名的新穎性使其受到廣泛研究,這些研究成果主要是發(fā)現(xiàn)并彌補了并發(fā)簽名存在的各種各樣的安全漏洞(W. Susilo, Y. Mu and F. Zhang, PerfectConcurrent Signature Schemes, ICICS 2004, LNCS 3269,14-27,2004 ;W.Susilo,Y. Mu, Tripartite concurrent signatures, IFIP/SEC' 05,425_441,2005 ;D.Tonien,W.Susilo, R. Safavi—Naini. Multi—party Concurrent Signatures, ISC06, LNCS 4176,131-145, 2006 ;G丄Wang, F. Bao and J. Y. Zhou. TheFairness of Perfect ConcurrentSignature. ICICS 2006, LNCS 4307, 435-451, 2006.),其主要思想是在產(chǎn)生并發(fā)簽名時由雙方各產(chǎn)生一個keystone,來盡可能提高安全性。然而最近的研究(YF Li, DK He, XHUi. Accountability ofPerfect Concurrent Signature. Proc. of 2008InternationalConference onComputer and Electrical Engineering, 773-777,2008 ;CT Shieh.FairMulti-partyConcurrent Signatures. Master' s Thesis,National Central Universityin Taiwan, 2008.)發(fā)現(xiàn)上述解決安全性的方案仍存在不同方面的安全漏洞。
這些方案之所以存在安全問題,根源在于取消簽名模糊性時所運用的方法存在缺陷。在這些方案中,當keystone發(fā)布后,雙方簽名實際上仍然維持模糊性;而當?shù)谌叫枰_定簽名者身份的時候也僅能通過推斷的方式來確定。其推斷方式為由于產(chǎn)生模糊簽名時需要使用keystone印記,而keystone印記只能通過keystone獲得,現(xiàn)在某個簽名者公布了該keystone,則必然說明一個模糊簽名由該簽名者產(chǎn)生,而另一個模糊簽名必然由另一方產(chǎn)生。但是這種推斷過程中的必然性在上述方案中并沒有嚴謹?shù)刈C明,因此帶來了各種攻擊的可能性。比如在提出的方案(W.Susilo, Y.Mu and F. Zhang, PerfectCo酒rrentSignature Schemes, ICICS 2004,LNCS 3269, 14-27, 2004)中,初始簽名者選擇keystone k及隨機數(shù)t,并產(chǎn)生keystone印記s2。而匹配簽名者再利用s2及t產(chǎn)生keystone印記Sl。雙方根據(jù)各自產(chǎn)生的keystone印記進行簽名,以防止不公平情況的發(fā)生。然而攻擊者可以根據(jù)s工與S2及t的數(shù)學關系,公布一個新的keystone k' ^k,并且根據(jù)k'可以計算出相同的keystone印記s2,其結果是匹配簽名者的簽名與身份綁定,而自己的簽名并不與身份綁定,造成了不公平的結果。 Nguyen提出的非對稱并發(fā)簽名(K. Nguyen. Asymmetric concurrentsignatures.Proc.of 7th International Conference on Information andCommunicationsSecurity (ICICS 2005), LNCS 3783, 181-193, 2005.),在某種程度上也是解決并發(fā)簽名方案的上述缺陷,但該方案要求交換雙方采用不同的算法產(chǎn)生簽名,不僅不便于實現(xiàn),而且為攻擊者推測雙方的身份提供了一定的線索。
發(fā)明內(nèi)容
本發(fā)明解決的問題在于提供一種模糊性可明確廢除的并發(fā)簽名方法,該方法稱為可廢除并發(fā)簽名(Revocable Concurrent Signature,簡稱RCS) , RCS提供了廢除算法,根據(jù)公布的keystone可以明確地廢除簽名的模糊性,從而使雙方交換的簽名具備了標準簽名的性質,提高了并發(fā)簽名的安全性。
本發(fā)明是通過以下技術方案來實現(xiàn) —種可明確驗證的并發(fā)簽名方法,初始簽名者Pi和匹配簽名者Pj之間的數(shù)字簽名交換包括以下步驟 l)Pi選擇某個信息k作為keystone,并計算keystone印記f = KGEN(k, iv nij),然后產(chǎn)生針對信息mi的模糊簽名o i = 〈Li, Ui, f> = ASIGN(yi, Xi, y」,iv f),并將o丄發(fā)送給Pj ;其中yi、 yj分別為Pi、 Pj的公鑰,而Xi為Pi的私鑰; 2)收到o i之后,Pj首先驗證AVERIFY( o i,m》=l,在成立的情況下Pj產(chǎn)生針對信息mj的模糊簽名o j = 〈Lj, Uj, f> = ASIGN(yj, Xj, yi, mj, f),并將o j發(fā)送給Pi,其中Xj為Pj的私鑰; 若AVERIFY( o i, m》=1不成立則退出協(xié)議或者等待Pt再次發(fā)送o i ; 3)收到Oj之后,Pi確定Oj是否包含與Oi相同的f,并驗證AVERIFY(。 j,nij)=
l,在均成立的情況下Pi向Pj發(fā)送keystone k ; 若AVERIFY( o i, 111》=1不成立則退出協(xié)議或者等待Pj再次發(fā)送o j ;
4化根據(jù)JUDGE(yj,。」,k, iv 111》=1確定簽名者Pj的身份;
Pj根據(jù)JUDGE(yi, o i, k, iv mj) = 1確定簽名者Pi的身份; 上述步驟涉及的參數(shù)是由參數(shù)設置算法SETUP建立,該算法是一個輸入是安全參數(shù)A的概率算法,輸出包括參與者集合:P、信息空間7W、簽名空間cS、keystone空間/C、keystone印記空間jT、每個參與者Pi的公鑰yi和私鑰Xi,以及系統(tǒng)參數(shù)S ;其中參與者集合7^= (^12z'SA^,N與A呈多項式關系,keystone印記空間JT的產(chǎn)生函數(shù)為KGEN :而A e《,信息mi、my e7W,/e7;當參與者為Pt和P」時,其公鑰分別為yi和yj,其
私鑰分別為Xi和Xj;在上述步驟中涉及的算法為 簽名算法ASIGN是一個概率算法,其輸入為〈yi, Xi, yj, m, f>,而輸出是信息meA4的模糊簽名o :〈L,U,f〉;其中L: {yi,yj}或(yj,yJ,是參與者Pi、Pj的公鑰列表,Xi為簽名者Pi的私鑰,而C/eS,/e7; 驗證簽名算法AVERIFY是一個確定性算法,輸入為〈o , m〉,其中o = 〈L, U, f>,
me;W,輸出為l或o,l表示簽名有效的,o表示簽名無效; 確定簽名者身份算法JUDGE是一個確定性算法JUDGE,輸入為《,。,k, iv m,,
其中&e/C, o = 〈L, U, f>, yi G L,并滿足f = KGEN(k, iv nij)及AVERIFY (o , m) = 1 ;輸
出為1或0,1表示簽名o是由擁有公鑰yi的參與者所產(chǎn)生,而O則表示不是。 所述的模糊性可明確廢除的并發(fā)簽名方法,任何第三方對于雙方簽名的驗證為輸入k、mi、nij和待驗證簽名。,然后驗證f = KGEN(k, iv nij) 、 AVERIFY ( o , m》=
1 若成立,則進一步判斷JUDGE(yi, o , k, iv nij) = 1是否成立,若成立則輸出l,否則輸出0 ; 1表示簽名o是由擁有公鑰yi的參與者所產(chǎn)生,而0則表示不是,從而確定簽名者的身份。 所述的模糊性可明確廢除的并發(fā)簽名方法,包括以下步驟 對于安全參數(shù)A ,參數(shù)設置算法SETUP選擇兩個大質數(shù)p和q,使得滿足q | (p_l),q > 2A ,設Gq是Z;上階為q的子群,并且生成元為g ; 在此基礎上選擇;^ = {0, 1}*,<5=/0=^,7=(^,以及^811函數(shù)H" H2:
{0, 1}*—Z9 ,并將函數(shù)KGEN定義為KGEN(A:,m,.,附》-g巧(別— )mod; ,其中"l I"
表示拼接; 為每個參與者Pi隨機選擇私鑰x,.e Z《,計算公鑰乂二g^'mod p,并通過秘密信道將Xi發(fā)送給Pi ;最后公布系統(tǒng)參數(shù)S = 〈p, q, g> ; ASIGN算法為對于輸入〈yi,Xi,yj,iv f〉,簽名者Pi選擇對于{i, j}的隨機排列ji, 以l/2概率將i, j映射為i, j或者j,i,并由此得到公鑰列表L二 {yna),yn(j)} ^選取隨機數(shù)aj, A e Zg ,作如下計算 F-"mod; (Fl)
& = g~ mod; ,5) = /力mod/ hj = H2 (LI I mi | | f | | F | | Rj | | S》及,modp,& =尸'尸_~ modp
7
hi = H2 (LI I mi | | f | | F | | & | | S》 t = a^aj+Xihi mod q 最后Pi得到發(fā)給參與者Pj的簽名為o = 〈L,U,f〉 = 〈L,R^),S^),I^(j),S^.),
hii (i) , (j) , t, F, f> ; AVERIFY算法為輸入簽名o = 〈L, &, R」,S」,^, h」,t, F, f>及信息iv其中L
={yi, y, , Pj在驗證了 hphj的正確性后判斷以下兩式是否成立^碼;^,mod; (F2)/=&5y^'F~modp (F3) 如果F2、 F3均成立則輸出1,否則輸出0 ; JUDGE算法為輸入信息mi的簽名o = 〈L, &, R」,S」,^, h」,t, F, f>及收到的 交換信息nij,其中L = {yi, yj};在滿足/ = g的(爭'》"mod p及AVERIFY(。 , m》=1 的情況下,驗證尸二乂Wi(^^h')modp是否成立;
如果成立則輸出l,否則輸出0。 所述的簽名為o = 〈L,R^),S^i),R^.),S^.),t,F(xiàn),f〉。 所述的模糊性可明確廢除的并發(fā)簽名方法,當必要的時候,任何第三方對于雙方 簽名的驗證為 輸入k、信息mp待驗證簽名o = 〈L, &, Si5 R」,S」,^, h」,t, F, f>及其收到的交換 信息nij,其中L二 {yi,yj};在滿足/= g幼(利一附乂.)modp及AVERIFY(。,mi) = 1的情況
下,驗證/^少f^一 ')mod/7是否成立,如果成立則輸出l,否則輸出o ; 1表示簽名o是由擁有公鑰yi的參與者所產(chǎn)生,而0則表示不是,從而確定簽名 者的身份。 與現(xiàn)有技術相比,本發(fā)明具有以下有益的技術效果 1、本發(fā)明提供的模糊性可明確廢除的并發(fā)簽名方法,雙方交換簽名時只需要產(chǎn)生 一個keystone,在keystone公布之后可以明確地廢除并發(fā)簽名的模糊性,從而使雙方交換 的簽名具備了標準簽名的性質,消除了針對并發(fā)簽名模糊性方面的各種可能攻擊,使得簽 名的安全性得到大大的提高。 2、本發(fā)明所指的簽名的安全性包括正確性、不可偽造性、模糊性和公平性;本發(fā)明 提供的方法能夠明確的實現(xiàn)對于上述特性進行了定義,并在隨機預言模型下證明,基于DDH 假設和DL假設,本發(fā)明提供的方案是安全的。 3、如果在必要的時候,任何第三方可以通過確定的廢除算法公開驗證簽名者的身 份;而不是采用缺乏嚴謹性的推斷方式來推定簽名者的身份,實現(xiàn)網(wǎng)絡環(huán)境中數(shù)字簽名的 公平性。 4、與并發(fā)簽名相比,RCS要求keystone印記f由k, iv nij三者共同產(chǎn)生而不是只 由k產(chǎn)生,其目的是防止攻擊者利用f再產(chǎn)生對其它信息的模糊簽名,并替換自己原來產(chǎn)生 的模糊簽名,從而造成不公平的情況;另一方面,在交換簽名時,雙方針對均已經(jīng)明確的交 換信息mi和mj,因此上述keystone印記的產(chǎn)生方法也是合理的;而且對于交換雙方的多次 交易,包含信息mi和mj的簽名也排除了交易與交易之間錯誤綁定的可能,盡可能的實現(xiàn)簽名的公平; 與其他消除并發(fā)簽名的模糊性的方法相比,在保證簽名的安全性的情況下,本發(fā) 明提供的方法在交換簽名時雙方只需產(chǎn)生一個keystone,簡化了簽名交換協(xié)議。
與采用不同的算法產(chǎn)生簽名解決交換模糊性廢除的方法相比,本發(fā)明提供的方法 在交換簽名時采用相同的簽名算法,更加方便了并發(fā)簽名的應用;而且減少了攻擊者的攻 擊機會,盡可能的保證了簽名的安全性。
圖1為模糊性可明確廢除的并發(fā)簽名方法實現(xiàn)簽名交換的流程圖;
圖2為第三方對簽名驗證的的流程圖。
具體實施例方式
本發(fā)明公開了可廢除并發(fā)簽名的方法(Revocable Concurrent Signature,簡稱 RCS) ,RCS提供了廢除算法,根據(jù)公布的keystone可以明確地廢除簽名的模糊性,而不是采 用不嚴謹?shù)耐茢喾绞?,從而使雙方交換的簽名具備了標準簽名的性質;消除了針對并發(fā)簽 名模糊性方面的各種可能攻擊。下面結合附圖對本發(fā)明做進一步詳細描述,所述是對本發(fā) 明的解釋而不是限定。 可廢除并發(fā)簽名RCS包含參數(shù)設定、數(shù)字簽名、驗證簽名、確定簽名的步驟,其具 體設定為 RCS方法中涉及的參數(shù)是由參數(shù)設定算法SETUP產(chǎn)生的,該算法是一個概率算法, 其輸入是安全參數(shù)A ,而輸出包括 參與者集合7,信息空間人4,簽名空間& keystone空間/C, keystone印記空間7, 以及系統(tǒng)參數(shù)S ; keystone印記產(chǎn)生函數(shù)KGEN :/CxA^^W — 7,設參與者集合卩={尸」1 ^ /SA^,N與A呈多項式關系,并且為每個參與者Pi輸出其公鑰yi和私鑰Xi。
RCS方法中的數(shù)字簽名是由簽名算法ASIGN產(chǎn)生的,ASIGN算法是一個概率算法, 其輸入為〈yi, Xi, yj, rv f〉,其中yi、 yj為參與者Pi、 Pj的公鑰,Xi為簽名者Pi的私鑰,而 /e7:是keystone印記; 輸出由私鑰Xi決定的關于信息m, e;W的模糊簽名o 二〈L,U,f〉,其中L二 {yi, yj}或(yj,yJ,是參與者Pi、Pj的公鑰列表,而t/e&ye7。 RCS方法中的驗證簽名是通過驗證簽名算法AVERIFY來驗證,AVERIFY算法是一個 確定性算法,其輸入為〈o , m〉,其中o = 〈L, U, f〉,而輸出為表示簽名有效的1或表示簽
名有效的o。 RCS方法中的確定簽名是由確定簽名算法JUDGE產(chǎn)生的,JUDGE算法是一個確定性 算法,其輸入為〈yi, o , k,ivmj〉,其中A:e/C, o = 〈L, U, f>, yi g L,并滿足f = KGEN(k, IV mj)及AVERIFY(o , m) = 1。算法輸出為1或0,表示簽名o是否由簽名者Pi(擁有公 鑰y》產(chǎn)生,mi和mj是交換雙方分別擁有的、簽名所針對的公開信息,簽名雙方通過上述方 法來實現(xiàn)包含mi和mj信息的簽名交換。 參見圖l,本發(fā)明以具體的算法來說明初始簽名者Pi和匹配簽名者Pj之間欲交換信息m,, myeA^的簽名,通過以下歩驟來實現(xiàn) 選擇兩個大質數(shù)p和q,滿足q | (p_l) , q > 2A ,設Gq是Z;上階為q的子群,生成元 為g ; 參數(shù)設置SETUP算法選擇hash函數(shù)&, H2 :{0, 1}* —Z《,將_/^、 ^、 /C和7分 別定義為《^ = {0, l"sS:/0^,:^^G^,公布系統(tǒng)參數(shù)S =〈p,q,g>; 而函數(shù)KGEN定義為KGEN(A, w,, wy) -gM^—^^modp,其中"I I "表示拼 接;并為每個參與者Pi隨機選擇私鑰x,.e Z《,計算公鑰乂.-g^ mod/ ,并通過秘密信道將
Xi發(fā)送給Pi。 ASIGN的算法為對于輸入<yi, Xi, y」,iv f〉,簽名者P;選擇對于U, j}的隨機排 歹lj ji, Ji以l/2概率將i,j映射為i,j或者j,i,并由此得到公鑰列表L二 (Lw,L(j))。
Pi選取隨機數(shù)aj.,化e Z《,作如下計算 F-尸'mod戶 (Fl)
A = g07 mod ,5} = /。' mod ; hj = H2 (LI I mi | | f | | F | | R」| | S》 V產(chǎn)mod= modp hi = H2(L| lmj |f | |F| | & | | S》
t = a^aj+Xihi mod q 得到的簽名為o = 〈L,U,f〉 = 〈L,R^),Swi),R^),S^.),l^w,h^.),t,F(xiàn),f〉;
其中使用隨機排列的目的是隱藏簽名者的身份,使得攻擊者無法根據(jù)公鑰排 列次序判定簽名者身份;簽名中的h^)、hn(j)可以省略,以減少簽名長度。
根據(jù)以上設定,Pi選擇k作為keystone,并計算keystone印記f = KGEN(k, tv m,.),然后產(chǎn)生信息mi的模糊簽名o i = 〈Li, Ui, f> = ASIGN(yi, Xi, yj, iv f) = 〈L, ^ (i), S n (i) , R"j) , Sn (j) , hn (i) , h n (j) , t , F, f 〉,并將o (發(fā)送給P。 AVERIFY的算法為輸入簽名o = 〈L, &, R,., Sj, h」,t, F, f>及信息iv其 中L = {yi, yjh驗證者驗證hi、hj的正確性后判斷以下兩式是否成立 # =碼.3;, ;;, mod p (F2) [麵]/=&& mod/ (F3) 如果F2、 F3均成立則輸出1,否則輸出0。 根據(jù)以上設定,收到o i之后,Pj首先驗證AVERIFY( o i,m》=l,在成立的情況下 P.,.產(chǎn)生信息mj的模糊簽名o = 〈Lj, Uj, f> = ASIGN (y,., Xj, yi, mj, f) = 〈L, Rn (j) , (j), R"i),S"i),h叫),h"i),t,F(xiàn),f〉,并將o j發(fā)送給Pi ; 若AVERIFY ( o t, 111》二 1不成立則退出協(xié)議或者等待Pi再次發(fā)送o ,; JUDGE的算法為輸入信息mi的簽名o = 〈L, &, S丄,R」,S」,h」,t, F, f>及收到
的交換信息mj,其中L: {^,^},在滿足/= g附WM )mod p及AVERIFY ( o ,m》=1 的情況下,驗證F"f"咖川附"modp是否成立;
10
如果成立則輸出l,否則輸出0。 Pi根據(jù)JUDGE(yj,?!梗琸, iv nij) = 1確定簽名者P」的身份; Pj根據(jù)JUDGE(yi, o i, k, iv mj) = 1確定簽名者Pt的身份。 參見圖2,當必要的時候,任何第三方對于雙方簽名的驗證為 輸入k、信息mi及其簽名o = 〈L,R^),S^),R^.),S^.),h^),、(j),t,F(xiàn),f〉和
信息nij,其中L = {yi, 7」},在滿足/= g的(別叫一)mod; 及AVERIFY(0 , m) = 1的情況
下,算法驗證等式尸-;;^W^ )modp是否成立;
若成立則輸出l,否則輸出0。 為了驗證本發(fā)明公開的RCS的安全性,下面首先給出安全性的定義,并在具體的 模型給予安全性的證實。 若可廢除并發(fā)簽名RCS具有正確性、不可偽造性模糊性和公平性,則稱其為安全 的。 a、正確性的定義 對于任意yi、yj、Xi、nii和f ,如果滿足以下兩個條件,則RCS是正確的
(l)AVERIFY(ASIGN(yi, Xi, y」,iv f) , m》=1 ; (2)存在W/ eA1,有f = KGEN(k, iv nij),貝U JUDGE (y丄,ASIGN(y丄,Xi, y」,iv f) , k, nii , nij) = 1 。 b、不可偽造性的定義 考慮由概率多項式時間(PPT)攻擊者乂和挑戰(zhàn)者C執(zhí)行的實驗-初始化C執(zhí)行SETUP (1 A ),產(chǎn)生p、 乂W、 《S、 /C、 f、 KGEN和系統(tǒng)參數(shù)S ,以
及每個Pi的公鑰和私鑰yi、 Xi,公鑰均輸出給乂,而私鑰由C保存。-查詢乂可執(zhí)行以下查詢操作 (1)印記查詢乂向C提交信息附,',Wy,e;W,C選擇一個keystone y^/C,并返回f =KGEN(k, iv nij) 。 C存放元組〈f, IV nij, k>到印記查詢列表中,以便實現(xiàn)Keystone查詢。
(2)Keystone查詢乂向C提交元組〈f, IV m,,若C在印記查詢列表中找到元組 〈f, iv mj, k〉,則C輸出A:e/C,否則C輸出無效。 (3)私鑰查詢乂提交任意公鑰yi,若yi為C.產(chǎn)生的公鑰,則C返回相應的私鑰xit)
(4)簽名查詢^4提交形式為〈yi, yj, iv f>的信息,其中yi和yj為任意參與者公 鑰,并且yi^yj。 C返回模糊簽名o = 〈L,U,f〉 = ASIGN(yi,Xi,yj,ivf)。 ^4可用AVERIFY 算法驗證返回結果。-輸出最終乂輸出簽名o 二〈L,U,f〉,其中L二 (yi,yjh若AVERIFY(。 ,m》=
l,并且^4沒有針對〈yi, yj., iv f>或〈yj, yi, iv f>進行過簽名查詢,也沒有針對yi和yj進
行過私鑰查詢,但可以通過印記查詢得到f,甚至乂可以再通過keystone查詢得到A: e/C, 使得存在信息W/ e7W, f = KGEN(k, iv nij),則乂在本次實驗中獲勝。 若任何攻擊者乂在實驗中獲勝概率相對于安全參數(shù)A可忽略,則RCS具有自適應 選擇消息攻擊下的存在性不可偽造性。 上述定義只包含了外部攻擊的情況,即攻擊者在不知道雙方私鑰的情況下,根據(jù) 已公布或自行產(chǎn)生的keystone,或者在只知道keystone印記的情況下偽造任一方的模糊簽名;而對于內(nèi)部攻擊的情況則包含在公平性的定義中。
c、模糊性的定義 考慮以下由PPT攻擊者乂和挑戰(zhàn)者C執(zhí)行的實驗
_初始化、第一階段查詢同定義b。-挑戰(zhàn)乂選擇元組〈yi, yj,mi〉作為向C發(fā)送的挑戰(zhàn),要求^4沒有針對yi和yj進行
過私鑰查詢。C隨機選擇AeK,^/ e7W,計算f = KGEN(k, iv nij),并隨機選擇b G {0, 1},
若b = O,則C輸出簽名o。 = 〈L。,U。,f〉 = ASIGN(yi,Xi,yj,ivf),否則輸出o工=〈L"U丄,
f> = ASIGN(yj,Xj,yi,iv f),并將。b交給《4。 _第二階段查詢同定義b,同樣要求乂不能
針對yi和yj進行過私鑰查詢,并且乂不能針對f進行keystone查詢。-輸出乂輸出對b的猜測b',若b二b',則^4在本次實驗中獲勝。 定義攻擊者乂獲勝的優(yōu)勢為獲勝概率大于猜測概率(1/2)的部分,則如果任何攻
擊者乂在實驗中的獲勝的優(yōu)勢相對于安全參數(shù)A是可忽略的,則RCS具有模糊性。 模糊性的含義是指任何一個外部攻擊者(不知道雙方私鑰)無法分辨產(chǎn)生模
糊簽名的簽名者身份。該定義與文獻(L. Chen, C. Kudla and K. G. Paterson. Concurrent
signatures. In Advances in Cryptology-Eurocrypt 2004, LNCS 3027,287-305,2004.)
的不同之處是要求攻擊者不能獲得產(chǎn)生模糊簽名的keystone,否則可通過JUDGE算法廢除
模糊性。由于簽名只需要在keystone公布前具有模糊性,因此要求是合理的。 d、公平性的定義 考慮以下由PPT攻擊者乂和挑戰(zhàn)者C執(zhí)行的實驗
_初始化、查詢同定義b。-輸出乂選擇元組〈yj, yi, iv f〉,輸出簽名o = 〈L, U, f〉及信息mj,使得 AVERIFY(。 , m》=1,要求乂沒有針對yi進行私鑰查詢,并且滿足以下兩個條件之一,則乂 在本次實驗中獲勝 (l)f是以前印記查詢的輸出,S卩C的印記查詢列表中存在元組〈f, IV mj, k〉,但乂 沒有針對f進行過Keystone查詢,并有JUDGE (y」,o , k, iv nij) = 0 ; (2) 乂可以針對f進行過Keystone查詢,以便得到k。在乂輸出簽名o后,C使用 相同的f產(chǎn)生信息mj的簽名o' =〈L' ,U' , f> = ASIGN(yi, Xi, yj,nij, f),其中L'與L 包含相同公鑰(但次序可不同)。^L得到o ',在驗證AVERIFY(o ' ,mj) = 1的情況下輸 出A e/C,使得f = KGEN(k, iv mj),并且有JUDGE (yj, o , k, iv nij) = 0, JUDGE (yi, o ' , k, nii , nij) = 1 。 如果任何攻擊者乂在實驗中獲勝的概率相對于安全參數(shù)A是可忽略的,則RCS具 有公平性。 □ 上述定義中的條件(1)要求作為匹配簽名者的攻擊者不能產(chǎn)生一個有效的模糊
簽名,使得keystone發(fā)布后,JUDGE算法無法判定攻擊者就是簽名者,維護了初始簽名者的
公平性。條件(2)要求在雙方使用相同印記產(chǎn)生模糊簽名后,作為初始簽名者的攻擊者,不
能只將一個模糊簽名與匹配簽名者綁定,維護了匹配簽名者的公平性。公平性也排除了內(nèi)
部偽造的情況,即一方無法偽造一個模糊簽名,并使之與對方的身份綁定。 根據(jù)上述定義對RCS的正確性及安全性的證明如下 可廢除簽名算法RCS的正確性容易驗證,因為有以下兩式成立
<formula>formula see original document page 13</formula> <formula>formula see original document page 13</formula> 因此(F2)成立,同樣可驗證(F3)成立,說明ASIGN與AVERIFY的正確性。另夕卜, y"拳,狗)=(g",)歷WW^ =尸'',故JUDGE算法也是正確的。 可廢除簽名算法的安全性由以下的定理1至3保證。證明過程采用隨機預言模型, 將Hp H2對應的隨機Oracle分別稱為H「0racle、 H2_0racle。
定理l(模糊性) 在隨機預言模型下,假定存在PPT攻擊者^4,在定義4的實驗中在限定時間t內(nèi)獲 得了不可忽略的優(yōu)勢e ,則存在另一個攻擊者6,在時間《T+(Qf+Qh+Qs) Th+QsTst
內(nèi),以不可忽略優(yōu)勢s'^ - (2a+gffXa+1))(l -"&)f解決DDH問題,其中Qf 、Qh和Qs分
別表示印記查詢(H「Oracle查詢)、H廠Oracle查詢和簽名查詢次數(shù),t h、 t s表示H廠Oracle 查詢和簽名查詢的時間。 證明B模擬挑戰(zhàn)者C與乂交互,利用乂解決DDH問題。給定DDH問題實例〈g,ga,
ge , gY>及隨機數(shù)g",5隨機選擇b g {o, 1}及參與者尸"。、尸 ,,將其公鑰設置為:^ =g"、
>^=5^,并按照定義0應答乂的查詢。當乂給出挑戰(zhàn)元組〈yi,yj,mi〉時,若i,j g {u。,ul} 時(概率為^iy),6將f和F的值設置為ge、gY,并且當乂的輸出b' 二b時6輸出l,否
則輸出O,表示丑判斷gY = gae成立和不成立。對于DDH問題實例〈g, ga, ge, g",當gY =ga e立時,則A 、 f和F滿足(Fl),因此^4輸出的b' = b正確判斷了簽名者,則6以同 樣概率正確判斷DDH問題;而當gY = gae不成立時,若乂輸出b' = l-b,5輸出的0也是 正確判斷。由于P為隨機數(shù),因此計算6正確判斷的概率分為兩種情況第一,以1/q的概率 g^成立,此時乂正確判斷了簽名者;第二,以(1-1/q)的概率^^g^:不成立,此時 少場、f和F,或者J^ 、 f和F都不滿足(Fl) ,乂只能猜測簽名者。因此6對〈g, ga , ge , gY>
正確判斷的概率為= (士 + S)士+((士 + S巧+ 士(l一含))士2士 + f ,即g正確解決DDH
問題的優(yōu)勢大于f ,考慮6在模擬C的過程中可能停機的概率,因而得證。 [One] 定理2(不可偽造性) 在隨機預言模型下,假定存在PPT攻擊者乂,在定義3的實驗中,在限定時間t 之內(nèi)以不可忽略概率g21^(1,^+2⑤2偽造了一個有效的RCS簽名,則可在期望時間
144823^(0*—1)(r+^a)^ Hh奶七m M曰玩
--Z內(nèi)解決DL問題。 證明本發(fā)明提出的RCS簽名在形式上完全符合一般環(huán)簽名的要求,因此可適用 Forking弓|理(J. Herranz,G. Saez. Forking lemmas for ring signatureschemes. Proc. of Indocrypt'03,LNCS 2904, 266-279, 2003.)。運用Forking引理,通過重放攻擊者乂,使乂輸 出針對某個信息mi的兩個有效的RCS簽名〈L, Ri, Si, R」,S」,^, h」,t, F, f>及〈L, &, R」, Sj,h' i,h' j,t' ,F(xiàn),f〉(為了簡單起見,將設為恒等映射)。若hi = h' i,hj^h' j,
根據(jù)(F2)有g'=碼.乂'々,g,'=碼乂W),則g"' = =,("),故可計算出xy ^"mod《。而當hj.二h' j,hi^h' i時,同樣可計算出Xi。這意味著攻擊者由參
與者公鑰可計算出對應私鑰,故解決了 DL問題。
定理3(公平性) 不存在PPT攻擊者能夠在定義d的實驗中以不可忽略的概率勝出。
證明對于定義d的情況(1),由于mi的簽名o = 〈L, Ri, Si, R」,S」,^, h」,t, F, f〉(其中L二 {yi, yj})經(jīng)過算法AVERIFY驗證,而且乂不知道私鑰Xi,則乂只能用私鑰 Xj產(chǎn)生簽名,否則違背定理2。又由于JUDGE(yj, o , k, iv nij) = 0,則存在xs - Xj,使得 F = modp。根據(jù)Forking引理,乂可產(chǎn)生mi的兩個有效的簽名〈L, &, R」,S」,^, hj, t, F,f〉及〈L,Ri,Si,Rj,Sj,h' i,h' j,t' ,F(xiàn),f〉,并且hi = h' i,hj-h' j,否則^4可計算出
私鑰Xi。由于hj -h' j,因此可得到勺=mod《。而根據(jù)(F3)有/ = S^yF^'F^ , = F一 ,則可計算出& = "^"mod《,因此有& = XJ,與假設矛盾。情況(2)
可類似證明。 因此在隨機預言模型下證明,基于DDH假設和DL假設,可廢除并發(fā)簽名RCS方案 是安全的。
權利要求
一種模糊性可明確廢除的并發(fā)簽名方法,其特征在于,初始簽名者Pi和匹配簽名者Pj之間,針對信息mi和mj的數(shù)字簽名交換包括以下步驟1)Pi選擇某個信息k作為keystone,并計算keystone印記f=KGEN(k,mi,mj),然后產(chǎn)生針對信息mi的模糊簽名σi=<Li,Ui,f>=ASIGN(yi,xi,yj,mi,f),并將σi發(fā)送給Pj;其中yi、yj分別為Pi、Pj的公鑰,而xi為Pi的私鑰;2)收到σi之后,Pj首先驗證AVERIFY(σi,mi)=1,在成立的情況下Pj產(chǎn)生針對信息mj的模糊簽名σj=<Lj,Uj,f>=ASIGN(yj,xj,yi,mj,f),并將σj發(fā)送給Pi,其中xj為Pj的私鑰;若AVERIFY(σi,mi)=1不成立則退出協(xié)議或者等待Pi再次發(fā)送σi;3)收到σj之后,Pi確定σj是否包含與σi相同的f,并驗證AVERIFY(σj,mj)=1,在均成立的情況下Pi向Pj發(fā)送keystone k;若AVERIFY(σi,mi)=1不成立則退出協(xié)議或者等待Pj再次發(fā)送σj;4)Pi根據(jù)JUDGE(yj,σj,k,mi,mj)=1確定簽名者Pj的身份;Pj根據(jù)JUDGE(yi,σi,k,mi,mj)=1確定簽名者Pi的身份;上述步驟涉及的參數(shù)是由參數(shù)設置算法SETUP建立,該算法是一個輸入是安全參數(shù)λ的概率算法,輸出包括參與者集合信息空間簽名空間keystone空間keystone印記空間每個參與者Pi的公鑰yi和私鑰xi,以及系統(tǒng)參數(shù)δ;其中參與者集合N與λ呈多項式關系,keystone印記空間的產(chǎn)生函數(shù)為KGEN而信息mi、當參與者為Pi和Pj時,其公鑰分別為yi和yj,其私鑰分別為xi和xj;在上述步驟中涉及的算法為簽名算法ASIGN是一個概率算法,其輸入為<yi,xi,yj,m,f>,而輸出是信息的模糊簽名σ=<L,U,f>;其中L={yi,yj}或{yj,yi},是參與者Pi、Pj的公鑰列表,xi為簽名者Pi的私鑰,而驗證簽名算法AVERIFY是一個確定性算法,輸入為<σ,m>,其中σ=<L,U,f>,輸出為1或0,1表示簽名有效的,0表示簽名無效;確定簽名者身份算法JUDGE是一個確定性算法JUDGE,輸入為<yi,σ,k,mi,mj>,其中σ=<L,U,f>,yi∈L,并滿足f=KGEN(k,mi,mj)及AVERIFY(σ,m)=1;輸出為1或0,1表示簽名σ是由擁有公鑰yi的參與者所產(chǎn)生,而0則表示不是。F2009102191248C0000011.tif,F2009102191248C0000012.tif,F2009102191248C0000013.tif,F2009102191248C0000014.tif,F2009102191248C0000015.tif,F2009102191248C0000016.tif,F2009102191248C0000017.tif,F2009102191248C0000018.tif,F2009102191248C0000019.tif,F2009102191248C00000110.tif,F2009102191248C00000111.tif,F2009102191248C00000112.tif,F2009102191248C00000113.tif,F2009102191248C00000114.tif,F2009102191248C0000021.tif,F2009102191248C0000022.tif
2. 如權利要求1所述的模糊性可明確廢除的并發(fā)簽名方法,其特征在于,任何第三方 對于雙方簽名的驗證為輸入k、mi、nij和待驗證簽名o ,然后驗證f = KGEN(k, iv nij) 、 AVERIFY ( o , m》=1 若成立,則進一步判斷JUDGE (yi, o , k, iv mj) = 1是否成立,若成立則輸出l,否則輸 出0 ;l表示簽名o是由擁有公鑰yi的參與者所產(chǎn)生,而O則表示不是,從而確定簽名者的 身份。
3. 如權利要求1所述的模糊性可明確廢除的并發(fā)簽名方法,其特征在于對于安全參數(shù)A ,參數(shù)設置算法SETUP選擇兩個大質數(shù)p和q,使得滿足q | (p_l), q > 2 A ,設Gq是Z;上階為q的子群,并且生成元為g ;在此基礎上選擇M = {0, 1}*, <S= /C=Z《,A,以及hash函數(shù)&, H2 :{0, i}* —^ ,并將函數(shù)kgen定義為KGEN(&,淤,,附》-gM^—H^modp,其中"II "表示拼接;為每個參與者Pi隨機選擇私鑰x(.e Z9 ,計算公鑰乂=^^ mod p,并通過秘密信道將Xi發(fā)送給Pi ;最后公布系統(tǒng)參數(shù)S = 〈p, q, g> ;ASIGN算法為對于輸入〈yi, Xi, yj, !V f〉,簽名者Pi選擇對于{i, j}的隨機排列, 以1/2概率將i, j映射為i, j或者j, i,并由此得到公鑰列表L二 {yn(i), yn(j)} ^選 取隨機數(shù)aj, A e Z《,作如下計算F = "modp (Fl)= gay modp,S = /"乂 modphj = H2(L II mi II f II F II Rj II Sj)A=gV, modp,&=/a'F-~mod/7h = H2(L II mi II f II F II & II t = 3i+aj+Xihi mod q最后Pi得到發(fā)給參與者Pj的簽名為o = 〈L, U, f > = 〈L, Rn (i) , Sn (i) , Rn (j) , Sn (j) , hn (i), t, F, f> ;AVERIFY算法為輸入簽名o = 〈L, &, R」,S」,^, h」,t, F, f>及信息iv其中L = {yi, yj} , Pj在驗證了 hi、hj的正確性后判斷以下兩式是否成立g、碼:^mod/7 (F2)m— (F3)如果F2、F3均成立則輸出l,否則輸出0 ;JUDGE算法為輸入信息mi的簽名o = 〈L, &, R」,S」,^, h」,t, F, f>及收到的交換 信息nij,其中L = {yi, yj};在滿足/ = g刷利叫一)mod ; 及AVERIFY(o , m》=1的情況下,驗證F = ;;^WWh')mod p是否成立; 如果成立則輸出l,否則輸出0。
4. 如權利要求3所述的模糊性可明確廢除的并發(fā)簽名方法,其特征在于所述的簽名 為o = 〈L, Rn (i), Sn (i), Rn (j), Sn (j), t, F, f>。
5. 如權利要求3所述的模糊性可明確廢除的并發(fā)簽名方法,其特征在于,任何第三方 對于雙方簽名的驗證為輸入k、信息mp待驗證簽名o = 〈L, Ri, Si, Rj, S」,^, h」,t, F, f>及其收到的交換信息mj,其中L: {yi,yj};在滿足/= g刷利叫h)mod; 及AVERIFY(0 ,m》=l的情況下,驗證F-yf"利^ ')mod/ 是否成立,如果成立則輸出i,否則輸出o ;l表示簽名o是由擁有公鑰yi的參與者所產(chǎn)生,而O則表示不是,從而確定簽名者的 身份。
全文摘要
本發(fā)明公開了一種模糊性可明確廢除的并發(fā)簽名方法,該方法稱為可廢除并發(fā)簽名(RCS),RCS提供了廢除算法,可廢除并發(fā)簽名RCS包含參數(shù)設定、簽名產(chǎn)生、驗證簽名、確定簽名者身份等步驟。該方法在雙方交換簽名時只需要產(chǎn)生一個keystone,根據(jù)公布的keystone可以明確地廢除簽名的模糊性,從而使雙方交換的簽名具備了標準簽名的性質,消除了針對并發(fā)簽名模糊性方面的各種可能攻擊,使得簽名的安全性得到大大的提高。
文檔編號H04L9/32GK101729258SQ20091021912
公開日2010年6月9日 申請日期2009年11月24日 優(yōu)先權日2009年11月24日
發(fā)明者李保紅, ?;鄯? 趙銀亮, 鄭坤 申請人:西安交通大學