摘 要:盲簽名因其具有匿名性等特點,而具有廣泛的應用領域和應用前景,根據盲化對象的不同劃分為盲消息簽名和盲參數簽名。文章利用雙線性對,提出了基于無證書的盲參數簽名方案,方案的簽名密鑰由用戶和密鑰生成中心共同生成,防止簽名偽造,同時解決了復雜的證書管理問題和密鑰托管問題。
關鍵詞:基于無證書密碼體制;盲簽名;盲參數簽名;雙線性對
中圖分類號:TP309 文獻標識碼:A 文章編號:2096-4706(2019)03-0158-02
Certificate-free Blind Parameter Signature Scheme
LIAO Xiaoping
(School of Intelligent Manufacturing,Sichuan University of Arts and Science,Dazhou 635000,China)
Abstract:Because of its anonymity,blind signature has a wide range of application fields and application prospects. It is divided into blind message signature and blind parameter signature according to different blind objects. Based on bilinear pairing,this paper proposes a certificate-free blind parameter signature scheme. The signature key of the scheme is jointly generated by the user and the key generation center to prevent signature forgery. At the same time,it solves complex certificate management problems and key escrow problems.
Keywords:certificate-free cryptosystem;blind signature;blind parameter signature;bilinear pairing
0 引 言
盲簽名的概念由Chaum[1]在1982年首次提出,并基于RSA公鑰密碼系統提出了基于因子分解難題的盲簽名方案[2]。祁明將盲簽名劃分為四種類型:盲消息簽名、盲參數簽名、弱盲簽名和強盲簽名[3]。在盲參數簽名方案中,信息的內容對簽名者是公開的,而簽名是由簽名者執行盲化程序得到盲簽名,因而,簽名者雖然知道信息的簽名結果,由于不知道用于改變簽名數據的具體安全參數,因而無法獲得新的簽名。2003年,Ai-Riyam和Paterson[4]提出了無證書密碼系統,無證書密碼系統不僅很好的結合了傳統公鑰密碼系統和身份密碼系統[5]的優點,同時解決了傳統公鑰密碼系統存在復雜的證書管理問題和身份密碼系統存在密鑰托管等問題。這種密碼系統由用戶和密鑰生成中心KGC共同生成簽名者的簽名密鑰。一般來說,其過程為:KGC利用系統主密鑰s和簽名者的身份信息ID生成部分私鑰DID,然后將部分私鑰DID發送給簽名者。簽名者生成自己的秘密值x,利用x和DID生成自己的簽名密鑰,即KGC并不知道簽名者最后的簽名密鑰,當然也無法偽造簽名者的簽名,而在簽名驗證階段,簽名驗證者不是通過公鑰證書而是通過某種方法來保證簽名者公鑰的真實性,無證書公鑰密碼系統是一種性能優良、便于應用的公鑰密碼系統。
為此,文章提出基于無證書密碼系統的盲參數簽名方案,并討論方案的安全性。
2 新的基于無證書的盲參數簽名方案
將無證書的簽名體制與盲參數簽名方案相結合,構造出基于無證書的盲參數簽名。設定A為信息m的擁有者,B為簽名者,KGC為密鑰生成中心。
2.1 系統參數設定
KGC輸入安全參數1k,生成以下系統參數:循環加法群G1,循環乘法群G2,G1和G2的階均為q,q為素數,G1的生成元為P,雙線性對:ê:G1×G1→G2,選擇兩個安全的哈希函數:H1:{0,1}*→G1,H2:{0,1}*→ Z*q,KGC選擇一個安全的系統主密鑰s,將s秘密保存,計算系統公鑰:Ppub=sp。最后系統公開參數:{G1,G2,ê,q,P,Ppub,H0,H1}。
2.2 部分私鑰生成
簽名人B將自己的身份信息IDB提交給KGC,KGC首先驗證B的身份信息,并計算:QB=H1(IDB),DB=sQB,DB即為部分私鑰,將DB發送給B。
2.3 簽名密鑰生成
B收到部分私鑰DB后,首先驗證等式:ê(DB,P)=ê(QB,Ppub)是否成立,以驗證部分私鑰DB是否合法。若等式成立,B任意選取xB作為自己的秘密值,并計算:PB=xBQB,SB=xBDB,則(PB,SB)就是B的公私鑰對。
2.4 簽名過程
(1)A任意選擇r∈Z*q,計算:R=rP,并將(m,R)發送給簽名者B。
(2)B任意選擇k∈Z*q,計算:R′=kR,S′=k-1(H1(R′)SB+H2(m)Ppub),并將(R′,S′)發送給A。
(3)A收到(R′,S′)后,計算:S=r-1S′,則(R′,S)為消息m的盲參數簽名。
2.5 簽名驗證過程
驗證者通過等式:ê(R′,S)=ê(PB,Ppub)H1(R′)ê(P,Ppub)H2(m)進行驗證,若等式成立,則簽名有效,否則,簽名無效。
3 方案安全性分析
3.1 正確性分析
定理1簽名方案是正確的。
證明:(1)等式ê(DB,P)=ê(QB,Ppub)的正確性驗證如下:
得證,即簽名方案是正確的。
3.2 盲性分析
定理2簽名方案滿足盲性。
證明:一方面簽名者即使掌握了中間變量(R′,S′),但無法得到盲參數r,因為通過等式R=rP得到r就必須求解DLP問題;另一方面,根據S′要想得到原消息也是不可能的,因為面臨求解哈希函數的逆運算,這在計算上是不可行的。因此,在簽名公開以后,簽名者無法將簽名和中間變量進行關聯,方案滿足盲性。
3.3 不可偽造性分析
定理3簽名方案滿足不可偽造性。
證明:首先,系統主密鑰s是秘密保存的,通過系統公鑰Ppub=sp得到s面臨求解DLP問題,所以主密鑰s是安全的;其次,任何攻擊者要想偽造B的合法簽名,他必須得到簽名人的私鑰SB,即使攻擊者截獲了(R′,S)和S′,在簽名方程S′=k-1(H1(R′)SB+H2(m)Ppub)中,存在未知的k,因此,攻擊者先要得到SB是困難的,攻擊者無法偽造合法的簽名;再次,信息m的擁有者A也無法偽造合法的簽名,因為簽名者B的私鑰SB=xBDB=xBsQB=xBsH1(IDB)中即存在系統主密鑰s也包含簽名者B的身份信息IDB,所以A無法偽造簽名;最后,密鑰生成中心KGC無法偽造合法的簽名,因為KGC即使知道QB,DB,而簽名者B最后的私鑰SB=xBDB,存在B的秘密值xB,所以KGC無法模擬簽名者的簽名。
3.4 不可否認性分析
定理4上述基于無證書的盲參數簽名方案滿足不可否認性。
證明:SB=xBDB=xBsQB=xBsH1(IDB),即簽名密鑰SB中包含簽名者B的身份信息IDB,所以,該方案滿足不可否認性,簽名者不能對簽名進行否認。
4 結 論
文章首先介紹了根據盲化對象的不同,將盲簽名劃分為四種類型,其次介紹了無證書密碼系統的一般過程,眾所周知,無證書密碼系統不僅很好的結合了傳統公鑰密碼系統和身份密碼系統的優點,同時解決了傳統公鑰密碼系統存在復雜的證書管理問題和身份密碼系統中的密鑰托管等問題,具有廣闊的應用領域和應用前景,進一步研究的內容很多,文章提出的基于無證書的盲簽名方案經安全性分析證明是安全、可靠的。
參考文獻:
[1] D.Chaum.Blind Signature for Untraceable Payments [J].Advances in Cryptology-CRYPTO’82. New York:Plenum Press,1983:199-233.
[2] D.Chaum.Blind Signatures system [J]. Advances in Cryptology-CRYPTO’83. New York:Plenum Press,1983:153-158.
[3] 祁明,林卓聲.若干盲簽名方案及其在電子商務中的應用 [J].計算機工程與設計,2000(4):39-41+49.
[4] Al-Riyami S S,Paterson K G. Certificateless Public Key Cryptography [J]. Asiacrypt,2003,2894(2):452-473.
[5] Shamir A . Identity-Based Cryptosystems and Signature Schemes [C]// Workshop on the Theory and Application of Cryptographic Techniques. Springer,Berlin,Heidelberg,1984:47-53.
作者簡介:廖小平(1979-),男,四川營山人,講師,碩士研究生,研究方向:信息安全、網絡安全、密碼學。