謝佳,劉仕釗,王露,高軍濤,王保倉(cāng)
1.河南財(cái)經(jīng)政法大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,鄭州450046
2.西安電子科技大學(xué) 通信工程學(xué)院,西安710071
環(huán)簽名作為一種特殊的群簽名是由Rivest 等人于2001年在如何匿名身份的情況下提出的數(shù)字簽名方案[1]。但環(huán)簽名方案不同于群簽名的特點(diǎn)是在進(jìn)行簽名時(shí),簽名者無(wú)需成員環(huán)中其他成員的幫助(協(xié)作),甚至可以不讓環(huán)中其他成員知曉,只需要用自己的私鑰和其他成員的公鑰就能實(shí)現(xiàn);在驗(yàn)證簽名時(shí)環(huán)簽名僅可驗(yàn)證簽名來(lái)自群組成員,但是無(wú)法區(qū)分某個(gè)具體成員。
環(huán)簽名因其沒(méi)有可信中心以及其無(wú)條件匿名性等特點(diǎn)一經(jīng)提出便引發(fā)了數(shù)字簽名領(lǐng)域的研究熱潮。在早期環(huán)簽名研究中,門限環(huán)簽名是一個(gè)重要的研究方向。2002年,Bresson等人提出的t-out-of-N門限環(huán)簽名[2]是結(jié)合了Rivest等人提出的環(huán)簽名方案和Desmedt[3]提出的門限思想,進(jìn)而形成的一種新簽名方案,它也是首個(gè)門限環(huán)簽名。同年,Naor基于環(huán)簽名的隱私保護(hù)思想,提出了不可否認(rèn)性的環(huán)認(rèn)證方案[4]。Liu等人于2003年提出了一個(gè)可分離的門限環(huán)簽名[5],它的創(chuàng)新之處是允許同時(shí)使用基于RSA和基于離散對(duì)數(shù)(discrete logarithm,DL)的公鑰。2004年,Tsang等人設(shè)計(jì)出一種可分離的可鏈接性門限環(huán)簽名方案[6],因其具有可鏈接性,任何人都可以確定兩個(gè)環(huán)簽名是否由同一個(gè)簽名者生成。2004年,王繼林等人提出了基于環(huán)簽名思想的一種類群簽名方案[7]。此方案的特點(diǎn)在于以下三方面:一是管理員的權(quán)限得到了限制,他必須和簽名接收方合作才能共同追蹤簽名者的身份;二是簽名者可以靈活地、主動(dòng)地選擇匿名范圍,即他可以任意選取t個(gè)合法的公鑰說(shuō)明自己在其中;三是用戶加入和撤銷特別方便,管理員僅需在公告牌上公布和刪除該成員的相關(guān)數(shù)據(jù)。2005年,Awasthi 等人利用雙線性對(duì)提出了基于身份的環(huán)簽名和代理環(huán)簽名方案[8],此方案通過(guò)優(yōu)化簽名驗(yàn)證中所需要的配對(duì)操作使效率提高。2006年,Hayashi 等人首次提出了匿名加密和環(huán)簽名加密方案[9]。同年,楊少春等人提出了一種基于身份和雙線性對(duì)的代理環(huán)簽名方案[10],該方案能夠有效地防止授權(quán)人冒充代理簽名者對(duì)消息進(jìn)行簽名,因此代理人的利益得到了很好的保護(hù)。吳問(wèn)娣等人利用雙線性對(duì)構(gòu)造了一個(gè)無(wú)證書的環(huán)簽名方案,又首次利用多線性形式構(gòu)造了一個(gè)基于身份的廣播多重簽名方案[11]。此階段環(huán)簽名方案按屬性分類大致可分為門限環(huán)簽名、代理環(huán)簽名、無(wú)證書環(huán)簽名等。因上述簽名設(shè)計(jì)思想大部分源自Rivest等人的環(huán)簽名理念,所以不妨將此階段劃分為前量子密碼學(xué)中環(huán)簽名的初始發(fā)展階段。
2007年,羅大文等人通過(guò)改進(jìn)文獻(xiàn)[12]和文獻(xiàn)[13]方案提出了一種基于雙線性對(duì)的代理環(huán)簽名方案[14],此方案的特點(diǎn)在于簽名生成時(shí)不需要使用雙線性對(duì)運(yùn)算。同年,王玲玲等人通過(guò)使用累加器技術(shù)以及雙線性對(duì)而提出了一種簽名長(zhǎng)度固定的基于身份的環(huán)簽名方案[15]。此方案的特點(diǎn)在于簽名長(zhǎng)度與環(huán)成員個(gè)數(shù)無(wú)關(guān)。Liu等人提出了一種可撤銷環(huán)簽名方案[16],該簽名允許真實(shí)簽名者任意形成環(huán),同時(shí)允許一組授權(quán)者撤銷真實(shí)簽名者的匿名性。2008年,Jeong等人提出了一種弱可鏈接環(huán)簽名[17],此方案可以用來(lái)構(gòu)造選擇性可鏈接環(huán)簽名方案、高效的可轉(zhuǎn)換(可驗(yàn)證)環(huán)簽名方案和高效的可扣除環(huán)簽名方案。張躍宇等人利用Diffie-Hellman假設(shè)以及Waters構(gòu)造私鑰的方法[18]提出了一個(gè)基于身份的環(huán)簽名方案[19],此方案簽名過(guò)程中利用較短的公開參數(shù),使簽名的效率得到提高。同年,桑永宣等人對(duì)Herranz 等人提出的基于身份的分布環(huán)簽名方案[20]在不同使用場(chǎng)景做出了改進(jìn),并提出了兩種無(wú)證書的分布環(huán)簽名方案[21]。其中,第一種方案是利用雙線性對(duì)構(gòu)造的,可用于一般的分布環(huán)簽名的情形。第二種方案利用的是Shamir 的秘密共享方案,可用于門限可進(jìn)入結(jié)構(gòu)的情形。2009年,Chang等人提出了一種無(wú)證書門限環(huán)簽名[22],該方案進(jìn)行簽名驗(yàn)證時(shí)僅需要固定數(shù)量的雙線性對(duì)運(yùn)算,因此效率得到了極大的提高。吳磊等人結(jié)合代理簽名和環(huán)簽名的優(yōu)點(diǎn),以雙線性對(duì)為基礎(chǔ)提出了一種高效的基于身份代理環(huán)簽名方案[23]。此方案的特點(diǎn)是將開銷較大的雙線性對(duì)運(yùn)算降到常數(shù)次,因此提高了計(jì)算效率。同年,劉振華等人通過(guò)在已知消息的簽名時(shí)能夠偽造任何消息的有效環(huán)簽名的問(wèn)題證明了文獻(xiàn)[19]方案是不安全的,并提出了一種基于身份的環(huán)簽名方案[24]。2010年,楊銘熙等人改進(jìn)了BGLS方案[25],提出了基于雙線性映射的多源網(wǎng)絡(luò)編碼環(huán)簽名方案[26]。其特點(diǎn)是它可以用于多源網(wǎng)絡(luò)編碼機(jī)制抵御污染攻擊。王鳳和等人基于格上小整數(shù)解(short integral solution,SIS)問(wèn)題的困難性假設(shè)提出了格上基于盆景樹模型的環(huán)簽名[27]。Wang改進(jìn)了Brakerski 等人的方案[28]提出了一個(gè)基于格的環(huán)簽名和一個(gè)基于身份的環(huán)簽名[29]。這兩個(gè)方案比文獻(xiàn)[28]方案效率更高。同年,陳少真通過(guò)改進(jìn)文獻(xiàn)[30]方案提出了一種在隨機(jī)預(yù)言機(jī)模型和一種在標(biāo)準(zhǔn)模型下安全的高效的基于屬性的環(huán)簽名方案[31]。新方案與文獻(xiàn)[30]方案相比具有更短的公開參數(shù),簽名長(zhǎng)度減少了1/3,運(yùn)算所需的雙線性對(duì)減少了1/3。因此,簽名和驗(yàn)證的效率都有很大提高。黃大威等人基于身份密碼體制和雙線性對(duì)技術(shù)提出了一種可撤銷匿名性的環(huán)簽名方案[32]。2011年,黎宏偉對(duì)Nguyen的環(huán)簽名算法[33]進(jìn)行了詳盡的分析,設(shè)計(jì)出了一個(gè)改進(jìn)的固定長(zhǎng)度基于身份的環(huán)簽名方案[34]。綜合上述方案分析發(fā)現(xiàn),在此階段內(nèi)的環(huán)簽名方案根據(jù)其不同屬性可以細(xì)分為門限環(huán)簽名、基于身份的環(huán)簽名、可撤銷匿名性的環(huán)簽名和無(wú)證書環(huán)簽名這四大類,這些方案中大部分是基于大整數(shù)因數(shù)分解、離散對(duì)數(shù)、雙線性對(duì)與橢圓曲線等困難數(shù)學(xué)難題設(shè)計(jì)出來(lái)的。因?yàn)榇穗A段以對(duì)之前方案的安全性以及效率等方面不斷改進(jìn)的方案居多,所以不妨將此階段劃分為前量子密碼學(xué)中環(huán)簽名發(fā)展的中期階段。
2012年,田苗苗等人指出了王鳳和等人和Wang方案[27,29]效率低、安全性弱的不足,并提出了高效的基于格的環(huán)簽名方案[35]。Wu等人提出了基于格的帶誤差學(xué)習(xí)問(wèn)題的環(huán)簽名方案[36],該方案與之前基于格的簽名相比因其簽名大小幾乎是線性的,所以開銷顯著減少。同年,劉彪對(duì)兩種典型環(huán)簽名方案[37]進(jìn)行分析與改進(jìn),并設(shè)計(jì)了基于雙線性對(duì)的具有可驗(yàn)證性的環(huán)簽名方案[38]。2013年,孫華等人將盲環(huán)簽名和無(wú)證書密碼體制相結(jié)合,充分利用兩者的優(yōu)勢(shì),提出了一種有效的無(wú)證書盲環(huán)簽名方案[39]。李玉海等人利用文獻(xiàn)[35]的思想,提出一種標(biāo)準(zhǔn)模型下基于身份的格上環(huán)簽名方案[40],該方案的安全性基于格中SIS困難假設(shè)。2012年,Albrecht等人提出了首個(gè)基于多變量的門限環(huán)簽名方案[41]。2016年,張姣等人對(duì)李曉琳等人的可驗(yàn)證環(huán)簽名方案[42]分析改進(jìn),使改進(jìn)后的方案[43]能夠滿足不可否認(rèn)性,提高了可驗(yàn)證環(huán)簽名方案的安全性。楊華杰等人鑒于無(wú)證書密碼體制的優(yōu)點(diǎn),提出一種高效的無(wú)證書可追蹤環(huán)簽名方案[44]。2015年,程小剛等人利用群結(jié)構(gòu)保持簽名和Groth-Sahai證明系統(tǒng)提出了一種匿名性可撤銷的高效環(huán)簽名[45]。王曉蘭提出了一個(gè)基于多變量公鑰密碼體制(multivariate public key cryptosystem,MPKCs)的可撤銷匿名性的環(huán)簽名方案[46],基于多變量的公鑰密碼體制的簽名相比傳統(tǒng)的數(shù)字簽名在面對(duì)量子計(jì)算機(jī)的攻擊時(shí),其安全性更高。在此階段內(nèi)的環(huán)簽名方案根據(jù)其不同屬性大致分為門限環(huán)簽名、可撤銷匿名性的環(huán)簽名和無(wú)證書環(huán)簽名。據(jù)統(tǒng)計(jì),在2012—2015年,基于傳統(tǒng)困難數(shù)學(xué)問(wèn)題的環(huán)簽名研究在逐年減少,而使用能抵抗量子攻擊的格以及多變量等技術(shù)的方案在逐年增多,因此不妨將此階段劃分為前量子密碼學(xué)中環(huán)簽名發(fā)展的后期階段,也是研究抗量子攻擊的后量子密碼學(xué)中環(huán)簽名方案發(fā)展的初始階段。
2016年,熱娜·艾合買提提出了基于Schnorr 思想的身份門限環(huán)簽名方案[47],此方案利用Hash 函數(shù)縮短了簽名長(zhǎng)度,從而減少運(yùn)算時(shí)間提高了效率。2017年,賈小英等人提出了格上高效的基于身份的環(huán)簽名[48],此方案通過(guò)利用固定維數(shù)的格基委派技術(shù)和拒絕采樣技術(shù)使其具有更高的計(jì)算效率、更低的通信和存儲(chǔ)開銷,更具有實(shí)用性。2018年,郭秋玲等人提出的基于多變量公鑰密碼體制的門限環(huán)簽名方案[49]是運(yùn)用公平劃分的思想,將文獻(xiàn)[50]方案轉(zhuǎn)化而來(lái)的。此方案具有運(yùn)算速度快、對(duì)計(jì)算資源的要求不高的特點(diǎn)。同年,Torres等人提出了隨機(jī)預(yù)言機(jī)模型下的第一個(gè)格上的可鏈接環(huán)簽名[51],該方案是構(gòu)成后量子安全加密貨幣(如Hcash)中隱私保護(hù)協(xié)議的基礎(chǔ)。Baum等人提出了基于SIS和LWE(learning with errors)困難數(shù)學(xué)問(wèn)題的可鏈接環(huán)簽名[52]。2019年,Deng 等人提出了基于身份的可鏈接環(huán)簽名方案[53],此方案避免了證書管理,比之前的基于身份的可鏈接環(huán)簽名更加高效。Gao 等人提出了第一個(gè)基于格的非交互式可否認(rèn)環(huán)簽名方案[54]。2018年,Lu等人在CH+(Chameleon Hash plus)困難假設(shè)下,提出了第一個(gè)實(shí)用的基于格的可鏈接環(huán)簽名方案[55]。2020年,陳江山提出了格上無(wú)陷門的門限環(huán)簽名方案[56]。此方案的特點(diǎn)是基于格上最短向量問(wèn)題的,既不使用高斯采樣技術(shù)也不使用陷門技術(shù)。2021年,Tang 等人提出了格上基于身份的可鏈接環(huán)簽名方案[57],方案利用陷門生成算法和拒絕采樣技術(shù),降低了簽名生成和驗(yàn)證的時(shí)間開銷。范家幸提出了帶時(shí)間排序的門限環(huán)簽名方案[58]。此方案的特點(diǎn)在于簽名更新時(shí)可以利用舊簽名。同年,莊立爽等人提出了一種基于格的可鏈接門限環(huán)簽名方案[59],并在此基礎(chǔ)上提出一種新的電子投票協(xié)議,該協(xié)議可解決多類別投票問(wèn)題。范青等人為了推動(dòng)國(guó)產(chǎn)密碼算法在區(qū)塊鏈系統(tǒng)的應(yīng)用,提出了基于SM2 數(shù)字簽名算法的環(huán)簽名方案[60],同時(shí)介紹了SM2 可鏈接環(huán)簽名方案的兩種變型。2022年,Lin 等人提出第一個(gè)對(duì)數(shù)大小的可否認(rèn)環(huán)簽名方案[61],這意味著簽名和否認(rèn)的大小在環(huán)大小中僅以對(duì)數(shù)方式增長(zhǎng)。結(jié)合上述環(huán)簽名的研究成果來(lái)看,環(huán)簽名在后量子密碼時(shí)代的發(fā)展也進(jìn)入了新的階段,在此階段內(nèi)的環(huán)簽名方案根據(jù)其不同屬性可以細(xì)分為門限環(huán)簽名、可鏈接環(huán)簽名、可否認(rèn)環(huán)簽名以及基于身份的環(huán)簽名等。在多種屬性中又以可鏈接環(huán)簽名和門限環(huán)簽名為主要研究方向。
對(duì)于環(huán)簽名技術(shù)發(fā)展影響較大的因素主要可以分為內(nèi)在因素和外在因素兩方面。
內(nèi)在因素主要是因?yàn)榄h(huán)簽名方案在不同應(yīng)用場(chǎng)景時(shí)所需要的要求不同,例如在軍用領(lǐng)域所需要安全性較高,因此在設(shè)計(jì)方案時(shí)安全性作為首要考慮因素;而對(duì)于民用領(lǐng)域更加注重速度,因此在設(shè)計(jì)方案時(shí)對(duì)效率以及開銷更為關(guān)注。另一方面,不同的需求也就會(huì)對(duì)側(cè)重的屬性有所區(qū)別,這也是環(huán)簽名可以基于不同屬性進(jìn)行詳細(xì)分類的原因。
在外在因素中最為突出的就是量子攻擊所影響的安全性問(wèn)題。密碼學(xué)界在很早就開始研究抵抗量子攻擊的密碼算法。1978年出現(xiàn)的McEliece算法就是一種基于代數(shù)編碼理論的不對(duì)稱加密算法,其安全性是基于一般譯碼問(wèn)題的NP(non-deterministic polynomial)困難性。雖然McEliece算法可以抵抗量子計(jì)算機(jī)的攻擊,但與當(dāng)時(shí)眾多使用RSA 算法的簽名相比,McEliece 算法所占密鑰量大,碼率低,而且當(dāng)時(shí)量子計(jì)算機(jī)對(duì)密碼算法的威脅并沒(méi)有很明確,因此并未投入到實(shí)際的使用過(guò)程中。2012年,美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(the National Institute of Standards and Technology,NIST)啟動(dòng)了后量子密碼的研究工作,并于2016 年2 月啟動(dòng)了全球范圍內(nèi)的后量子密碼標(biāo)準(zhǔn)征集,在2017 年11 月截止了草案提交。同年,NIST 后量子密碼團(tuán)隊(duì)負(fù)責(zé)人Dustin Moody 在AsiaCrypt 2017會(huì)議上的發(fā)言可概括為公鑰密碼算法需要使用后量子密碼算法替代,而對(duì)稱密碼算法暫時(shí)不需要被新算法替代,但也需要通過(guò)調(diào)節(jié)參數(shù)來(lái)解決被量子計(jì)算機(jī)攻擊的問(wèn)題。2022年2月8日,美國(guó)白宮總統(tǒng)行政辦公室發(fā)布了最新修訂的《關(guān)鍵和新興技術(shù)(CET)清單》,其中就包括了后量子密碼這一技術(shù)。就公鑰體制而言,能夠抵御量子計(jì)算機(jī)攻擊的公鑰密碼體制包括了基于編碼的公鑰密碼體制、基于Hash的公鑰密碼體制、基于格的公鑰密碼體制、基于多變量的公鑰密碼體制。哈佛大學(xué)的Barak教授[62]將公鑰密碼的底層問(wèn)題分成了兩大類:一類是RSA 和離散對(duì)數(shù)類的代數(shù)問(wèn)題;另一類是格和編碼的問(wèn)題。但第一類困難問(wèn)題的量子困難性已經(jīng)被Shor算法否定。2022年7月5日,NIST公布了后量子密碼標(biāo)準(zhǔn)化項(xiàng)目的第三輪篩選結(jié)果,根據(jù)NIST 官網(wǎng)信息可知被選中的算法包括Kyber、Dilithium、Falcon 與Sphincs+這四種算法。以上四種算法中有三種是基于格理論的,只有Sphincs+是基于Hash的,因此從基于的困難數(shù)學(xué)問(wèn)題上來(lái)看,研究基于格的密碼是后量子密碼時(shí)代的主流研究方向。
定義1環(huán)簽名能夠?qū)崿F(xiàn)無(wú)條件匿名性,普通的環(huán)簽名算法是由概率多項(xiàng)式時(shí)間(probabilistic polynomial time,PPT)算法和確定性算法所構(gòu)成的。假設(shè)現(xiàn)有N個(gè)用戶:
密鑰生成KeyGen:該算法需輸入一個(gè)安全參數(shù)k,然后對(duì)每一個(gè)用戶ui(1 ≤i≤N)生成一個(gè)密鑰對(duì)(SKi,PKi),且不同用戶的公私鑰對(duì)可能來(lái)自于不同的公鑰體制,如可來(lái)自基于RSA的公鑰體制,也可來(lái)自基于DL的公鑰體制。
簽名Sign:該算法將需要加密的消息m以及某一環(huán)成員uj(1 ≤j≤N)的私鑰SKj和N個(gè)環(huán)成員的公鑰集合L={PK1,PK2,…,PKN}輸入后,對(duì)需要加密的消息m生成一個(gè)簽名σ,其中簽名σ中的某個(gè)參數(shù)根據(jù)一定的規(guī)則呈環(huán)狀。
驗(yàn)證Verify:該算法是一個(gè)確定性算法,其需要輸入公鑰集合L={PK1,PK2,…,PKN}和消息m以及簽名σ,如果驗(yàn)證通過(guò)則輸出“接受”,否則輸出“拒絕”。
定義2相較于上述所概括的普通環(huán)簽名算法的形式化定義,門限環(huán)簽名因?yàn)槠涫墙Y(jié)合了門限簽名的思想而產(chǎn)生的新的環(huán)簽名,所以其形式化定義主要包括4 個(gè)算法也突出強(qiáng)調(diào)了門限思想。假設(shè)現(xiàn)有N個(gè)用戶,門限值是t:
建立系統(tǒng)Setup:該算法以輸入一個(gè)較大的數(shù)作為安全參數(shù)k,輸出包含公共參數(shù)和門限參數(shù)的參數(shù)集合(k,N,t)來(lái)構(gòu)建參數(shù)框架。
密鑰提取KeyGen:該算法是對(duì)每一個(gè)用戶ui(1 ≤i≤N),生成一個(gè)密鑰對(duì)(SKi,PKi)用于使每個(gè)成員在整個(gè)成員群體中擁有獨(dú)特的身份。
簽名Sign:該算法是一種交互式的協(xié)議,選擇t個(gè)用戶組成一個(gè)集合,然后選擇N-t個(gè)用戶來(lái)提取公鑰,輸入信息m和環(huán)成員uj(1 ≤j≤N)的私鑰SKj,然后得到門限環(huán)簽名σ。
驗(yàn)證Verify:該算法是一個(gè)確定性算法,其需要輸入消息m以及簽名σ。如果驗(yàn)證通過(guò)則輸出“接受”,否則輸出“拒絕”。
定義3可鏈接環(huán)簽名最主要的作用在于可鏈接性。與普通環(huán)簽名方案相比,可鏈接環(huán)簽名可以匿名檢測(cè)兩個(gè)簽名是否由同一簽名者生成,其形式化定義也更加復(fù)雜:
建立系統(tǒng)Setup:輸入一個(gè)安全參數(shù)k,輸出一個(gè)參數(shù)集params。
密鑰提取KeyGen:需要輸入建立系統(tǒng)算法所得到的參數(shù)集params,對(duì)每一個(gè)用戶ui(1 ≤i≤N)輸出生成的密鑰對(duì)(SKi,PKi)。
簽名Sign:輸入?yún)?shù)集params,消息m,公鑰集合L={PK1,PK2,…,PKN},簽名者的私鑰SKj(1 ≤j≤N),輸出簽名以及鏈接標(biāo)簽ε。
驗(yàn)證Verify:輸入?yún)?shù)集params,消息m,公鑰集合L={PK1,PK2,…,PKN} 以及簽名生成算法中生成的簽名,如果驗(yàn)證通過(guò)則輸出“接受”,否則輸出“拒絕”。
關(guān)聯(lián)性驗(yàn)證算法:對(duì)兩個(gè)消息/簽名對(duì)進(jìn)行比較,輸出“1”或者“0”分別代表滿足關(guān)聯(lián)性和不滿足關(guān)聯(lián)性。
環(huán)簽名沒(méi)有可信中心和群的建立,可作為一種簡(jiǎn)化的群簽名。對(duì)于需要長(zhǎng)期保護(hù)的匿名信息而言,一個(gè)好的環(huán)簽名必須要滿足無(wú)條件匿名性、不可偽造性、穩(wěn)健性、正確性。需要滿足無(wú)條件匿名性的原因在于,即使攻擊者獲得了簽名成員中所有人的公鑰,也只能去猜測(cè)誰(shuí)是真正的簽名者,而猜到真正簽名者的概率只有1/N。Rivest等人在How to Leak a Secrect[1]一文中提出的內(nèi)閣成員Bob欲向記者舉報(bào)首相貪污的問(wèn)題,若在使用環(huán)簽名的情況下將變得非常簡(jiǎn)單,因?yàn)槭紫酂o(wú)法在匿名條件下找出舉報(bào)者。需要滿足不可偽造性的原因在于,即使攻擊者獲得了消息m的簽名,若是攻擊者不知道環(huán)內(nèi)成員的私鑰,也無(wú)法構(gòu)造一個(gè)合法的簽名。簽名方案具有穩(wěn)健性的意義在于,即使內(nèi)部某個(gè)參與簽名者有不良行為,此時(shí)的環(huán)簽名方案依舊是安全的。環(huán)簽名也必須具備正確性,因?yàn)槿绻痪邆湔_性,則環(huán)簽名將不能被其他人所驗(yàn)證,同時(shí)這也是環(huán)外成員偽造出的環(huán)簽名不合法的原因。
綜合近幾年的研究,從屬性角度分析,不同屬性的環(huán)簽名研究進(jìn)度也是有極大差異的,相較于可撤銷匿名性環(huán)簽名、可否認(rèn)的環(huán)簽名、代理環(huán)簽名、無(wú)證書環(huán)簽名來(lái)說(shuō),門限環(huán)簽名以及可鏈接環(huán)簽名因其屬性優(yōu)勢(shì),二者目前是環(huán)簽名領(lǐng)域的主流研究方向;從技術(shù)角度分析,抗量子攻擊的環(huán)簽名因其安全性高而占據(jù)主導(dǎo)地位,雖然在量子攻擊下基于傳統(tǒng)數(shù)論問(wèn)題的環(huán)簽名是不安全的,但現(xiàn)在還沒(méi)有真正意義上的量子計(jì)算機(jī),且量子計(jì)算機(jī)的研發(fā)還需要很長(zhǎng)時(shí)間。對(duì)于民用來(lái)說(shuō),基于傳統(tǒng)數(shù)論問(wèn)題的環(huán)簽名方案還是安全的,因此還有研究的意義。
1990 年德國(guó)數(shù)學(xué)家和密碼學(xué)家Schnorr 提出的Schnorr機(jī)制[63]是一種基于離散對(duì)數(shù)難題的知識(shí)證明機(jī)制,這種知識(shí)證明機(jī)制具有實(shí)現(xiàn)簡(jiǎn)單、驗(yàn)證速度較快等優(yōu)點(diǎn)。Schnorr機(jī)制的本質(zhì)是是一種零知識(shí)證明技術(shù),它允許在任何擁有相同生成元(指在離散對(duì)數(shù)問(wèn)題中)的協(xié)議參與者雙方證明某一方擁有私鑰而不需要直接交換它。熱娜·艾合買提利用了Pointcheval 所提出的一般環(huán)簽名的分叉引理[64]求解了Diffie-Hellman 問(wèn)題并提出了基于Schnorr 機(jī)制的方案[47]。且文獻(xiàn)[47]方案對(duì)任意的固定信息m和固定群L,簽名的分布是線性無(wú)關(guān)的,即無(wú)論是哪些成員參加簽名,都會(huì)是均勻分布。由于Schnorr機(jī)制的特性,使基于Schnorr思想的身份門限環(huán)簽名方案[47]具有高效率和低復(fù)雜度方面的優(yōu)勢(shì),同時(shí)由于Hash 函數(shù)的引進(jìn)可將任意長(zhǎng)度的信息轉(zhuǎn)化為一個(gè)等長(zhǎng)的字符串,縮短了原始簽名的長(zhǎng)度,節(jié)約了簽名的時(shí)間成本。簽名過(guò)程用到一個(gè)雙線性對(duì),驗(yàn)證用到兩個(gè)雙線性對(duì),雙線性對(duì)的個(gè)數(shù)固定不會(huì)隨著簽名群的増加而增加,假設(shè)環(huán)成員共有N人,門限值為t,進(jìn)行一次雙線性運(yùn)算的耗時(shí)為TP,在橢圓曲線群上進(jìn)行一次點(diǎn)乘運(yùn)算與一次模指數(shù)運(yùn)算的耗時(shí)分別為TE、TN,則生成簽名耗時(shí)(N+3t)TE+TP,驗(yàn)證簽名耗時(shí)為TN+2TP,與Deng等人和Chung等人提出的基于身份門限環(huán)簽名[65-66]相比,簽名所需要的時(shí)間明顯減少。
在醫(yī)療數(shù)據(jù)共享系統(tǒng)中,一個(gè)病人把自己的身體健康記錄存入到區(qū)塊鏈上,把患者、主治醫(yī)師、護(hù)士和醫(yī)院的管理員分別添加到區(qū)塊鏈中并創(chuàng)建t-outof-N門限環(huán)簽名。當(dāng)患者再次來(lái)體檢時(shí),新的護(hù)士應(yīng)在患者的健康記錄上簽名,并將t-out-of-N簽名更改為t+1-out-of-N簽名。傳統(tǒng)的門限環(huán)簽名從t-out-of-N更新為t+1-out-of-N時(shí),需要讓先前的簽名者再一次對(duì)信息簽名,但這次簽名顯然是冗余的。范家幸提出的帶時(shí)間排序的門限環(huán)簽名方案[58]具有簽名有效更新和公鑰時(shí)間排序的功能,恰好能解決上述問(wèn)題。文獻(xiàn)[58]方案是對(duì)Yuen 等人的環(huán)簽名方案[67]的重要擴(kuò)展,它和一般的門限環(huán)簽名方案有兩點(diǎn)不同:其一是在密鑰提取后,在所有公私鑰對(duì)內(nèi)都嵌入一個(gè)時(shí)間參數(shù)并按照時(shí)間參數(shù)排序輸出公鑰集合;其二就是需要重簽名時(shí),只需要直接在重簽名算法中輸入舊的環(huán)簽名、新加入的簽名者的公私鑰對(duì)、上次簽名使用的公鑰集合以及新的門限值。此方案的構(gòu)造使用了合數(shù)階雙線性群,因?yàn)橛?jì)算性Diffie-Hellman(computational Diffie-Hellman,CDH)問(wèn)題在循環(huán)子群上是困難的,所以在群上也是困難的,該方案通過(guò)說(shuō)明CDH 假設(shè)以及子群隱藏假設(shè)在群上的成立,證明了方案的不可偽造性和無(wú)條件匿名性。
為了解決在進(jìn)行大群體的電子投票時(shí)存在的選票碰撞、選票合法性、多次投票以及代替投票等影響公平性的問(wèn)題,先后出現(xiàn)了使用群簽名、盲簽名等諸多數(shù)字簽名的方案,但是依然不能避免非匿名、二次投票、效率過(guò)低等問(wèn)題。2003年,陳曉峰等人利用群簽名設(shè)計(jì)的方案[68]雖然可以有效地解決選票碰撞,但是它是非匿名性的,因?yàn)樵摲桨缚梢酝ㄟ^(guò)選票去找到投票者,顯然這是不適用的。2016年,Chillotti 等人提出基于格密碼的電子投票方案[69],雖然此方案簡(jiǎn)化了正確性、隱私性和可驗(yàn)證性的證明,但是仍沒(méi)有解決選票的合法性判定以及效率低的問(wèn)題;2018 年吳宸提出的新方案[70]雖然效率提高了,但是仍然存在二次投票問(wèn)題。上述方案都在不斷改進(jìn),但是仍然存在各種各樣的紕漏。莊立爽等人在2021 年提出基于格密碼的增加了抗量子性、應(yīng)用消息塊共享技術(shù)、填充排列技術(shù)和可鏈接性質(zhì)構(gòu)造的門限環(huán)[59],使得簽名在應(yīng)用于電子投票時(shí)同時(shí)滿足不可重復(fù)性、可驗(yàn)證性、無(wú)條件匿名性、不可否認(rèn)性、實(shí)用性和抗量子性。
2020 年陳江山提出的方案[56]與莊立爽提出的方案[59]都是基于格上的環(huán)簽名方案結(jié)合了消息分塊共享技術(shù)而形成的一種全新的簽名方案。而陳江山提出的簽名方案的核心技術(shù)在于沒(méi)有使用傳統(tǒng)的陷門函數(shù)的技術(shù),他是利用填充-置換方法在消息分塊之前先對(duì)消息進(jìn)行了預(yù)處理,它更加靈活,不需要重新為用戶分配密鑰,且簽名比較短,即使門限值的改變對(duì)簽名的長(zhǎng)度影響不大。在使用簽名時(shí)它與一般形式化定義的方法差異在于普通的門限簽名是在密鑰生成算法后直接進(jìn)行簽名算法,而此方案則是密鑰生成后進(jìn)行填充-置換算法(即對(duì)消息進(jìn)行預(yù)處理)。在填充-置換算法中先是填充,其具體填充方法為:設(shè)消息m的比特長(zhǎng)度為g,將消息m劃分為d=個(gè)消息塊,環(huán)上用戶數(shù)為N,進(jìn)行有效簽名的人數(shù)的門限值為t,還有一個(gè)公開的哈希函數(shù)為H0,計(jì)算出w=×d,r=H0(m)。用0 填充消息m到w個(gè)比特長(zhǎng)度得到新的消息m'。對(duì)于m',從w比特位置換集合中隨機(jī)選擇一個(gè)均勻置換進(jìn)行置換,置換后將消息m'分成d塊,給每一個(gè)簽名者一個(gè)消息塊以及r。因其利用了消息分塊共享技術(shù),所以可以確保消息是完全來(lái)自環(huán)成員的,且結(jié)合Aguilar-Melchor 等人的環(huán)簽名方案[71]來(lái)看,格上無(wú)陷門的環(huán)簽名是統(tǒng)計(jì)不可區(qū)分源隱藏的。當(dāng)環(huán)成員和門限值一樣的情況下,因?yàn)槲墨I(xiàn)[56]方案和文獻(xiàn)[59]方案使用的都是“填充-置換”方法,所以兩種方案的簽名尺寸相差無(wú)幾。兩種方案所涉及的運(yùn)算都是由哈希函數(shù)、向量抽樣和向量?jī)?nèi)積以及比特的填充等運(yùn)算構(gòu)成的。它們與Cayrel等人提出的CLRS方案、T-CLRS方案[72]和Bettaieb等人提出的改進(jìn)的基于格的門限環(huán)簽名方案[73]相比,在環(huán)成員人數(shù)一樣時(shí),簽名尺寸更小,且簽名尺寸并不會(huì)因改變門限值而發(fā)生明顯變化,當(dāng)環(huán)簽名上的人數(shù)N不斷變化且進(jìn)行簽名的人數(shù)恒為t=2時(shí),其具體簽名所占大小情況如表1。
表1 簽名大小對(duì)比(t=2)Table 1 Comparison of signature size (t=2)
2004年,Liu等人首次提出具有自發(fā)性的可鏈接環(huán)簽名概念,并提出第一個(gè)可鏈接環(huán)簽名方案[74]。2006 年Au 等人基于累加器技術(shù)提出了簽名尺寸為常數(shù)的可鏈接環(huán)簽名[75]。可鏈接環(huán)簽名是由于其能夠匿名檢測(cè)兩個(gè)可鏈接環(huán)簽名是否由同一簽名人簽名的區(qū)分能力而備受關(guān)注的。正因如此,它是目前應(yīng)用最為廣泛的環(huán)簽名類型。在上述章節(jié)分析影響環(huán)簽名發(fā)展的因素時(shí)已經(jīng)提到了由于量子計(jì)算技術(shù)將會(huì)使基于數(shù)論難題(例如大整數(shù)因子分解難題、有限域離散對(duì)數(shù)難題)的密碼體制被攻破。若環(huán)簽名仍采用基于數(shù)論難題進(jìn)行構(gòu)造,在后量子時(shí)代環(huán)簽名的安全性將難以保證,因此可鏈接環(huán)簽名也必須結(jié)合格或多變量等體制來(lái)實(shí)現(xiàn)才能保證安全。2018年,Torres等人提出了隨機(jī)預(yù)言機(jī)模型下第一個(gè)基于格的一次可鏈接環(huán)簽名[51]。隨后,他們又在過(guò)去的環(huán)簽名方案的基礎(chǔ)上進(jìn)行擴(kuò)展,給出了支持多輸入、多輸出的可鏈接環(huán)簽名方案[76]。同年,Baum等人給出了格上更加簡(jiǎn)單、高效的可鏈接環(huán)簽名方案[52]。2021年,Tang 等人在Torres 等人和Baum 等人的基礎(chǔ)上,提出了格上基于身份的可鏈接環(huán)簽名方案[57]。同年,范青等人提出基于SM2數(shù)字簽名算法的環(huán)簽名方案[60]。
Torres 等人提出的基于格的環(huán)上加密交易——Lattice RingCT 是構(gòu)成后量子安全加密貨幣(如Hcash)中隱私保護(hù)協(xié)議的基礎(chǔ)。Lattice RingCT是由Torres 等人提出的隨機(jī)預(yù)言機(jī)模型下基于格的一次可鏈接環(huán)簽名方案[51]拓展而來(lái)的,此方案是對(duì)一個(gè)基于格的數(shù)字簽名方案[77]的拓展。不同的是,此方案實(shí)現(xiàn)了無(wú)條件匿名性,即該方案即使讓攻擊者擁有無(wú)限的計(jì)算資源和時(shí)間,它能夠猜出真實(shí)簽名人的概率仍為1/N。Torres 的方案不僅能夠驗(yàn)證兩個(gè)或多個(gè)簽名是否由同一個(gè)簽名者簽名,同時(shí)也保證了簽名者的匿名性。此方案為了防止惡意攻擊,在建立系統(tǒng)算法時(shí),公共參數(shù)A和H是由兩個(gè)固定但不同的常數(shù)經(jīng)過(guò)加密哈希函數(shù)H2計(jì)算后得到的。同時(shí),Torres 的方案還采用了基于拒絕采樣技術(shù)的概率測(cè)試,也正是這個(gè)特性可以使私鑰獨(dú)立分布并對(duì)任何對(duì)手完全隱藏私鑰。
Baum 等人提出的方案[51]是一個(gè)基于SIS 和帶差錯(cuò)的學(xué)習(xí)(LWE)問(wèn)題的可鏈接環(huán)簽名方案,它的簽名尺寸是線性的。與文獻(xiàn)[78]方案和文獻(xiàn)[79]方案相比,此方案避免了實(shí)現(xiàn)可鏈接性的標(biāo)準(zhǔn)解決方案,該解決方案涉及使用大量的零知識(shí)機(jī)制對(duì)偽隨機(jī)函數(shù)進(jìn)行正確評(píng)估的證明。其具體方法是將公鑰分為兩部分,其中一個(gè)公鑰在簽名生成之前作為環(huán)的一部分發(fā)布,另一個(gè)公鑰附加到簽名上。因此,在不同的公共參數(shù)下,與簽名者的密鑰相對(duì)應(yīng)的另一個(gè)公鑰可以作為可鏈接性標(biāo)簽。由于這兩種公鑰共用相同的代數(shù)結(jié)構(gòu),簽名者的兩個(gè)公鑰(即實(shí)際公鑰和可鏈接性標(biāo)記)可以綁定在一起,而不需要在簽名上附加另一個(gè)非交互式零知識(shí)證明。
Lu等人提出的一種基于格的可鏈接環(huán)簽名方案[55]具有重大意義,因?yàn)樵诖酥八岢龅幕诟竦目涉溄迎h(huán)簽名都沒(méi)有進(jìn)行具體的實(shí)現(xiàn),而Lu 等人在提出此方案時(shí),便對(duì)方案進(jìn)行了實(shí)現(xiàn)。此方案與其他基于格的可鏈接環(huán)簽名方案在框架結(jié)構(gòu)上有區(qū)別,過(guò)去所用到的框架是通過(guò)單向陷門置換實(shí)現(xiàn)的,而此方案卻是利用CH+實(shí)現(xiàn)的,這種框架也正是可以將可鏈接環(huán)簽名實(shí)例化的根本原因。
Tang等人提出的方案[57]優(yōu)點(diǎn)在于以下兩點(diǎn):其一是利用陷門生成算法和拒絕采樣算法來(lái)生成用戶私鑰和簽名,這種方法提高了生成用戶私鑰以及簽名的效率;其二是將所提出的可鏈接環(huán)簽名方案的不可偽造性歸約到格上SIS 困難假設(shè)。相對(duì)于一般基于數(shù)字證書的可鏈接環(huán)簽名,基于身份的可鏈接環(huán)簽名能夠在保護(hù)用戶身份隱私的同時(shí),還能有效解決復(fù)雜的用戶證書管理問(wèn)題。該方案也使基于身份的可鏈接環(huán)簽名能夠抵抗量子攻擊,其核心思想是把基于身份的密碼學(xué)引入在Torres 等人提出的基于格的可鏈接環(huán)簽名方案中,與一般的可鏈接環(huán)簽名相比在系統(tǒng)建立階段該方案是通過(guò)使用陷門生成算法獲取系統(tǒng)主密鑰以及公共參數(shù);其次是在密鑰提取階段釆用高斯采樣技術(shù)來(lái)生成用戶的私鑰;然后是在簽名生成階段采用拒絕采樣技術(shù)先算出可鏈接標(biāo)簽,按照分布隨機(jī)選取向量;最終以一定的概率生成簽名。
將上述四種可鏈接環(huán)簽名方案[51-52,55,57]放在一起對(duì)其簽名所占用的存儲(chǔ)空間進(jìn)行分析可以得出表2。表中內(nèi)容分為公鑰長(zhǎng)度、私鑰長(zhǎng)度兩部分,其中變量n、q分別是用來(lái)表示公鑰的向量的維度以及一個(gè)作為安全參數(shù)的大素?cái)?shù),k是一個(gè)小整數(shù)。在文獻(xiàn)[51]方案中,公鑰被定義為一個(gè)多項(xiàng)式,私鑰與環(huán)上的k個(gè)多項(xiàng)式相匹配。因此,公鑰的大小是nlbq,私鑰的大小是knlbq。在文獻(xiàn)[52]方案中,公鑰與環(huán)上的k個(gè)多項(xiàng)式相關(guān),私鑰與環(huán)上的一個(gè)小多項(xiàng)式匹配。因此,公鑰的大小是knlbq,私鑰的大小是nlbq。在文獻(xiàn)[55]方案中,公鑰被定義為環(huán)上的一個(gè)多項(xiàng)式,私鑰與環(huán)上的九個(gè)小多項(xiàng)式匹配。因此,公鑰的大小是nlbq,私鑰的大小是9nlbq。在方案[57]中,公鑰被定義為一個(gè)n維的向量,私鑰與環(huán)上的4個(gè)多項(xiàng)式匹配,因此公鑰的大小是nlbq,私鑰的大小是4nlbq。綜合對(duì)比上述四種方案的公私鑰并進(jìn)行分析,四種方案的簽名大小是有區(qū)別的,但都是隨著成員個(gè)數(shù)的變化,呈線性增長(zhǎng)趨勢(shì)的。
表2 存儲(chǔ)開銷對(duì)比Table 2 Storage overhead comparison
分析完存儲(chǔ)開銷后,將上述四種可鏈接環(huán)簽名方案[51-52,55,57]放在一起對(duì)其應(yīng)用所需要的時(shí)間開銷以及所基于的困難假設(shè)進(jìn)行分析可以得出表3。表中內(nèi)容分為簽名開銷、驗(yàn)證開銷以及方案所基于的困難假設(shè)三部分,其中變量n、x、k分別用來(lái)表示公鑰的向量的維度、環(huán)成員數(shù)、一個(gè)小整數(shù);變量TSD、TRS、TMUL分別表示進(jìn)行一次高斯采樣算法(Sample-Dom)、拒絕采樣算法(Reject Sampling)、多項(xiàng)式相乘算法所消耗的時(shí)間。需要說(shuō)明的是,在分析時(shí)間開銷時(shí),因?yàn)楣_\(yùn)算、矩陣加法運(yùn)算、多項(xiàng)式加法運(yùn)算等的時(shí)間開銷較小,以至于基本不會(huì)影響方案整體的時(shí)間,便在此處忽略不計(jì)。在文獻(xiàn)[51]方案中,生成簽名需要使用kx次高斯采樣、(2x+1)k2次多項(xiàng)式相乘算法以及k次拒絕采樣算法。因此,此方案在簽名生成時(shí)的時(shí)間開銷為nxkTSD+(2x+1)nk2TMUL+nkTRS。在簽名驗(yàn)證時(shí),文獻(xiàn)[51]方案主要進(jìn)行了2xk2次多項(xiàng)式相乘運(yùn)算。因此,該方案的簽名驗(yàn)證開銷為2nxk2TMUL。在文獻(xiàn)[52]方案中,生成簽名需要使用x次高斯采樣、(2x-1)k次多項(xiàng)式相乘算法以及一次拒絕采樣算法。因此,此方案在簽名生成時(shí)的時(shí)間開銷為nxTSD+(2x-1)nkTMUL+nTRS。在簽名驗(yàn)證時(shí),文獻(xiàn)[52]方案主要進(jìn)行了2kx次多項(xiàng)式相乘運(yùn)算。因此,該方案的簽名驗(yàn)證開銷為2nxkTMUL。在文獻(xiàn)[55]方案中,生成簽名需要使用2(x+1)次高斯采樣、2(x+1)次多項(xiàng)式相乘算法。因此,此方案在簽名生成時(shí)的時(shí)間開銷為2(x+1)nTSD+2(x+1)nTMUL。在簽名驗(yàn)證時(shí),文獻(xiàn)[55]方案主要進(jìn)行了2x次多項(xiàng)式相乘運(yùn)算。因此,該方案的簽名驗(yàn)證開銷為2nxTMUL。在文獻(xiàn)[57]方案中,生成簽名使用了2x次高斯采樣算法、x+1 次多項(xiàng)式相乘算法以及一次拒絕采樣算法(使用了兩個(gè)向量)。因此,該方案在簽名生成時(shí)的開銷為2nxTSD+(x+1)nTMul+2nTRS。在簽名驗(yàn)證時(shí),文獻(xiàn)[57]方案主要進(jìn)行了x次多項(xiàng)式相乘算法。因此,該方案的簽名驗(yàn)證開銷為nxTMUL。綜合對(duì)比上述方案,可以發(fā)現(xiàn)文獻(xiàn)[57]方案在簽名生成時(shí)更高效,且在驗(yàn)證開銷時(shí),效率明顯提高一倍。
表3 時(shí)間開銷和困難假設(shè)對(duì)比Table 3 Comparison of time cost and difficult assumptions
不同于上述方案所用技術(shù)的方案還有很多。例如,2021 年范青等人提出的基于SM2 數(shù)字簽名算法的環(huán)簽名方案[60]。SM2 與普通的基于有限域上困難問(wèn)題的數(shù)字簽名相比,SM2 數(shù)字簽名的密碼復(fù)雜度更高、儲(chǔ)存空間更小、簽名的速度更快。以RSA 與SM2 的對(duì)比為例,SM2 的算法結(jié)構(gòu)是基于橢圓曲線(elliptic curve cryptography,ECC),RSA 的算法結(jié)構(gòu)是基于特殊的可逆模冪運(yùn)算;SM2 的計(jì)算復(fù)雜度是完全指數(shù)級(jí),RSA的計(jì)算復(fù)雜度是亞指數(shù)級(jí);SM2的存儲(chǔ)空間是192~256 bit,RSA 的存儲(chǔ)空間是2 048~4 096 bit;而且SM2的秘鑰生成速度以及解密速度更是較RSA 算法快得多。對(duì)文獻(xiàn)[60]方案進(jìn)行效率分析,假設(shè)環(huán)簽名成員人數(shù)為x,通過(guò)計(jì)算循環(huán)群G上的點(diǎn)乘點(diǎn)加、H1運(yùn)算以及Zq上逆運(yùn)算的計(jì)算量統(tǒng)計(jì)計(jì)算復(fù)雜度。首先計(jì)算鏈接標(biāo)簽Qπ需要1次Hp運(yùn)算、1次G上點(diǎn)乘運(yùn)算;然后計(jì)算cπ+1包含2次點(diǎn)乘運(yùn)算、1次H1運(yùn)算,計(jì)算其他n-1個(gè)ci(1 ≤i<n)時(shí)總共包含4n-4 次點(diǎn)乘、2n-2 次點(diǎn)加和n-1次H1運(yùn)算,最后生成sπ時(shí)包含一次zq上的逆運(yùn)算;可鏈接環(huán)簽名驗(yàn)證過(guò)程包含一次Hp運(yùn)算、4n次G上點(diǎn)乘、2n次點(diǎn)加和n次H1運(yùn)算。
在數(shù)字經(jīng)濟(jì)時(shí)代中,數(shù)據(jù)資源顯得愈發(fā)重要。區(qū)塊鏈因其可以公開可驗(yàn)證、記錄難以篡改的技術(shù)特性,使得區(qū)塊鏈網(wǎng)絡(luò)的參與方對(duì)數(shù)據(jù)的驗(yàn)證的時(shí)間成本與經(jīng)濟(jì)成本大幅降低。且由于區(qū)塊鏈采用的是P2P(peer to peer)的網(wǎng)絡(luò)結(jié)構(gòu),這就使得基于區(qū)塊鏈的系統(tǒng)天生具有“去中心”的特點(diǎn),有效減少了非必要的中間環(huán)節(jié),提升行業(yè)供需有效對(duì)接效率,進(jìn)而促進(jìn)實(shí)體經(jīng)濟(jì)降本增效。2021年3月公布的《中華人民共和國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十四個(gè)五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》中,提到了將區(qū)塊鏈列為七大新興數(shù)字產(chǎn)業(yè)之一。由此可見(jiàn),區(qū)塊鏈在各個(gè)應(yīng)用場(chǎng)景的重要性呈與日俱增的趨勢(shì)。而作為新興技術(shù)的區(qū)塊鏈,其隱私保護(hù)機(jī)制則是一個(gè)重要的研究熱點(diǎn),環(huán)簽名因其具有匿名性這一特點(diǎn)也成為了區(qū)塊鏈的一個(gè)極為重要的隱私保護(hù)機(jī)制。近些年來(lái),由于國(guó)家政策的推動(dòng),區(qū)塊鏈的研究進(jìn)展也取得了極大的突破,基于區(qū)塊鏈的應(yīng)用也逐漸滲透到各個(gè)行業(yè),例如在匿名投票、醫(yī)療數(shù)據(jù)共享以及車聯(lián)網(wǎng)等應(yīng)用場(chǎng)景中,由于基于環(huán)簽名隱私保護(hù)機(jī)制的區(qū)塊鏈的加入,不僅保障了應(yīng)用時(shí)數(shù)據(jù)的安全性,也比傳統(tǒng)的方案節(jié)省成本。
4.1.1 匿名投票
利用環(huán)簽名進(jìn)行投票時(shí),參與投票的成員對(duì)投票信息進(jìn)行環(huán)簽名,并通過(guò)可信機(jī)構(gòu)將簽名信息和投票結(jié)果寫到鏈上。當(dāng)其他人在鏈上驗(yàn)證簽名時(shí),僅可獲取發(fā)布投票到鏈上的機(jī)構(gòu),卻無(wú)法獲取投票者身份信息。通俗來(lái)講,假設(shè)某國(guó)家要罷免總統(tǒng),利用常規(guī)的投票技術(shù)會(huì)暴露投票者的身份信息,為了避免投票者遭到報(bào)復(fù),通過(guò)利用環(huán)簽名進(jìn)行投票,在保證投票合法性的同時(shí)會(huì)使投票者匿名,進(jìn)而避免了危險(xiǎn),而且還可以解決重復(fù)投票等其他問(wèn)題。在一次基于環(huán)簽名隱私保護(hù)機(jī)制的匿名投票中,通常由信任機(jī)構(gòu)CA、投票用戶、投票箱合約、公鑰管理合約和計(jì)票合約幾部分組成,其具體投票過(guò)程如圖1 所示。
圖1 環(huán)簽名應(yīng)用于匿名投票的流程Fig.1 Process of applying ring signature to anonymous voting
4.1.2 醫(yī)療數(shù)據(jù)共享
醫(yī)療數(shù)據(jù)的流通如果沒(méi)有安全作為保障,數(shù)據(jù)的價(jià)值便只能停留在紙面上。醫(yī)療數(shù)據(jù)尤其需要慎重,事關(guān)人命和健康,更不可兒戲。醫(yī)療數(shù)據(jù)共享的實(shí)質(zhì)就是通過(guò)區(qū)塊鏈共享賬本使得患者的電子病歷在得到授權(quán)情況下在不同的醫(yī)療機(jī)構(gòu)間共享。其中主要的工作在于構(gòu)建基于環(huán)簽名的醫(yī)療隱私存儲(chǔ)協(xié)議,利用環(huán)簽名在區(qū)塊鏈公開透明的環(huán)境下保障醫(yī)療信息和簽名者身份隱私的安全性。環(huán)簽名因其特性在隱私保護(hù)上有著得天獨(dú)厚的優(yōu)勢(shì),因此目前許多實(shí)現(xiàn)醫(yī)療數(shù)據(jù)共享的醫(yī)院所使用的核心技術(shù)也都與環(huán)簽名息息相關(guān)。而環(huán)簽名在醫(yī)療數(shù)據(jù)共享中的電子病歷這一方面應(yīng)用的實(shí)現(xiàn)流程如圖2所示。
圖2 環(huán)簽名應(yīng)用于醫(yī)療數(shù)據(jù)共享的流程Fig.2 Process of applying ring signature to medical data sharing
4.1.3 車聯(lián)網(wǎng)
在區(qū)塊鏈和云計(jì)算等技術(shù)的迅速發(fā)展的背景下,車聯(lián)網(wǎng)作為移動(dòng)自組織網(wǎng)絡(luò)是智能交通領(lǐng)域的一種具體應(yīng)用。車聯(lián)網(wǎng)可以使車輛與車輛以及車輛與路側(cè)單元進(jìn)行實(shí)時(shí)通信,以此來(lái)避免由于私家車越來(lái)越多所造成的交通堵塞、交通事故以及滿足車主對(duì)周邊環(huán)境的了解。車聯(lián)網(wǎng)中的隱私保護(hù)問(wèn)題一直是車聯(lián)網(wǎng)研究的重點(diǎn)之一,如何設(shè)計(jì)出更高效率以及更強(qiáng)安全性的車聯(lián)網(wǎng)通信協(xié)議是目前主要的研究方向,而目前許多環(huán)簽名[80-81]都可以實(shí)現(xiàn)在保證用戶的隱私情況下,又能保證監(jiān)管單位保障交通安全,實(shí)現(xiàn)了隱私保護(hù)與交通監(jiān)管之間矛盾關(guān)系的平衡。目前有多種車聯(lián)網(wǎng)的模型,以車聯(lián)網(wǎng)中的VANET 模型(圖3)為例,其主要由以下部分構(gòu)成:
圖3 車聯(lián)網(wǎng)的VANET模型Fig.3 VANET model of Internet of vehicles
(1)信任機(jī)構(gòu)(trust authority,TA):在負(fù)責(zé)車輛登記時(shí),TA充當(dāng)著一個(gè)完全可信的注冊(cè)中心。當(dāng)OBU完成匿名認(rèn)證后,TA沒(méi)有任何關(guān)于OBU假名的額外信息,也不能獨(dú)立地披露OBU 的身份。因此,當(dāng)OBU 作惡時(shí),TA 需要向環(huán)成員發(fā)送追蹤請(qǐng)求,當(dāng)接收到環(huán)成員的響應(yīng)時(shí),TA可以判斷真實(shí)簽名者。
(2)路邊單元(road side unit,RSU):RSU只是一個(gè)傳遞信息的中間人,它存儲(chǔ)了一些經(jīng)常使用的信息。
(3)車載單元(on board unit,OBU):每輛車安裝一個(gè)OBU,它配備計(jì)算、存儲(chǔ)和通信功能,車輛將通過(guò)這些功能獲得更好的駕駛服務(wù)。在本文提及的機(jī)制中,車輛通過(guò)RSU向TA發(fā)送請(qǐng)求匿名身份驗(yàn)證的消息來(lái)負(fù)責(zé)它們的隱私。
(4)驗(yàn)證節(jié)點(diǎn)(validation node,VN):驗(yàn)證節(jié)點(diǎn)是一個(gè)預(yù)先設(shè)定好的可信機(jī)構(gòu)集團(tuán),具有更高的計(jì)算和存儲(chǔ)資源。VN具有區(qū)塊鏈完整副本,負(fù)責(zé)驗(yàn)證來(lái)自車輛的匿名認(rèn)證請(qǐng)求,通過(guò)協(xié)商一致算法在區(qū)塊鏈中記錄請(qǐng)求。公共分類賬由每個(gè)訪問(wèn)者進(jìn)行監(jiān)督,在發(fā)生糾紛時(shí)可作為證據(jù)。
(5)匿名區(qū)塊鏈網(wǎng)絡(luò)(anoymous blockchain network,ABN):車聯(lián)網(wǎng)中的路邊單元、驗(yàn)證節(jié)點(diǎn)和車輛都可以訪問(wèn)ABN,車輛和RSU 只對(duì)ABN 具有訪問(wèn)權(quán)限,VN則負(fù)責(zé)對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行維護(hù)。
在VANET模型中,當(dāng)一個(gè)車載單元OBU想加入到此模型中,必須先在TA上進(jìn)行注冊(cè)。當(dāng)車載單元OBU 加入到VANET 中時(shí),VANET 模型中的車載單元OBU 需要定期向附近車輛廣播車輛狀態(tài)信息(包括位置、速度、方向、消息產(chǎn)生時(shí)的時(shí)間戳等),這些信息對(duì)周圍的所有車輛都是公開的。當(dāng)發(fā)送的信息涉及車輛所有人身份等這些敏感性信息則需要先使用環(huán)簽名進(jìn)行信息加密再發(fā)送,其具體工作流程如圖4所示。
圖4 環(huán)簽名應(yīng)用于車聯(lián)網(wǎng)的流程Fig.4 Process of applying ring signature to Internet of vehicles
4.1.4 虛擬貨幣
虛擬貨幣的種類有很多,Bytecoin是最早引入環(huán)簽名和隱身地址的加密貨幣。DarkNetCoin 就是在Bytecoin基礎(chǔ)之上進(jìn)行開發(fā)和創(chuàng)新的。Bytecoin不支持Tor,通訊未加密,無(wú)法隱匿上網(wǎng)地址,容易被協(xié)議監(jiān)聽(tīng),從而分析錢包地址和IP 地址的對(duì)應(yīng)關(guān)系。其他幾個(gè)電子貨幣:Moreno 與Bytecoin 一樣支持環(huán)簽名和隱身地址,并在Bytecoin 基礎(chǔ)上發(fā)展了GPU 挖礦。Boolberry來(lái)自Bytecoin,一樣支持環(huán)簽名和隱身地址,但不支持Tor 和TRR,它沒(méi)有任何匿名應(yīng)用。StealthCoin 通過(guò)StealthSend 技術(shù)采用環(huán)簽名。XCurrency的通訊加密,支持環(huán)簽名,不支持隱身地址。
環(huán)簽名方案不僅在區(qū)塊鏈上被廣泛應(yīng)用,在其他領(lǐng)域也頗受歡迎。例如在SIP云呼叫、構(gòu)建Ad Hoc網(wǎng)絡(luò)等方面,環(huán)簽名都起著至關(guān)重要的作用。
4.2.1 SIP云呼叫協(xié)議
語(yǔ)音通話技術(shù)(voice over IP,VoIP)是一種語(yǔ)音通話技術(shù),經(jīng)過(guò)網(wǎng)際協(xié)議來(lái)達(dá)成語(yǔ)音通話與多媒體會(huì)議,也就是經(jīng)由互聯(lián)網(wǎng)來(lái)進(jìn)行通信。會(huì)話發(fā)起協(xié)議(session initiation protocol,SIP)是建立VoIP 連接的IETF 標(biāo)準(zhǔn)。SIP 是一種與HTTP(客戶-服務(wù)器協(xié)議)相似的應(yīng)用層控制協(xié)議,用于和一個(gè)或多個(gè)參與者創(chuàng)建、修改和終止會(huì)話。當(dāng)代理服務(wù)器需要SIP云服務(wù)器提供服務(wù)時(shí),需要在SIP云服務(wù)器上標(biāo)注自己的所屬企業(yè)或部門進(jìn)行注冊(cè)。如圖5 中所示,a 想要給b匿名撥打電話。若a之前沒(méi)有注冊(cè),首先,a需要經(jīng)過(guò)服務(wù)器A注冊(cè)到云服務(wù)器;當(dāng)a注冊(cè)后,服務(wù)器驗(yàn)證簽名是否屬于A的環(huán)簽名;驗(yàn)證通過(guò)后根據(jù)驗(yàn)證信息隨機(jī)分配一個(gè)新的電話號(hào)碼然后呼叫b。B收到呼叫后只能發(fā)現(xiàn)來(lái)自A環(huán),但無(wú)法知道具體是誰(shuí)撥打的。
圖5 SIP云呼叫模型Fig.5 SIP cloud call model
4.2.2 Ad Hoc網(wǎng)絡(luò)
移動(dòng)自組織(Ad Hoc)網(wǎng)絡(luò)是由一組帶有無(wú)線收發(fā)裝置的移動(dòng)終端組成的一個(gè)多跳臨時(shí)性自治系統(tǒng),移動(dòng)終端具有路由功能,可以通過(guò)無(wú)線連接構(gòu)成任意的網(wǎng)絡(luò)拓?fù)?,這種網(wǎng)絡(luò)可以獨(dú)立工作,也可以與Internet 或蜂窩無(wú)線網(wǎng)絡(luò)連接。由于Ad Hoc 網(wǎng)絡(luò)具有無(wú)中心、自組織性、動(dòng)態(tài)拓?fù)洹⒆詣?dòng)配置網(wǎng)絡(luò)的特點(diǎn),使其在洪水、地震等嚴(yán)重災(zāi)難后造成基礎(chǔ)通訊設(shè)備不完善的地區(qū)以及軍事應(yīng)用領(lǐng)域有十分重要的意義。如圖6所示,因?yàn)锳和B之間使用的網(wǎng)絡(luò)是動(dòng)態(tài)拓樸結(jié)構(gòu),所以在Ad Hoc 網(wǎng)絡(luò)中設(shè)備A 和B 之間進(jìn)行數(shù)據(jù)交換時(shí),容易遭受竊聽(tīng)、剝奪睡眠等網(wǎng)絡(luò)攻擊。且因?yàn)锳到B要經(jīng)過(guò)多個(gè)節(jié)點(diǎn)的跳轉(zhuǎn),所以A向B傳遞的信息更要注重加密、訪問(wèn)控制、認(rèn)證、密鑰管理等安全性問(wèn)題。由于環(huán)簽名方案與Ad Hoc網(wǎng)絡(luò)在無(wú)中心、自組織性上有相同的優(yōu)勢(shì),且環(huán)簽名方案可以提高Ad Hoc 網(wǎng)絡(luò)中信息傳遞時(shí)的安全性,環(huán)簽名在Ad Hoc 網(wǎng)絡(luò)中被廣泛應(yīng)用。雖然現(xiàn)有的Ad Hoc網(wǎng)絡(luò)環(huán)簽名方案可以抵抗傳統(tǒng)網(wǎng)絡(luò)攻擊,并實(shí)現(xiàn)用戶自由組織,用戶間無(wú)需交互與合作等功能,但還存在一定的缺陷,如無(wú)條件匿名性,計(jì)算量大,易受到合謀攻擊、適應(yīng)性選擇密文攻擊和選擇明文攻擊等。
圖6 Ad Hoc網(wǎng)絡(luò)的信息傳遞模型Fig.6 Information transfer model of Ad Hoc network
經(jīng)過(guò)對(duì)環(huán)簽名技術(shù)近幾年的研究進(jìn)行總結(jié)分析,發(fā)現(xiàn)環(huán)簽名方案目前還存在這些問(wèn)題:
(1)許多環(huán)簽名方案在進(jìn)行簽名時(shí),如果環(huán)內(nèi)成員人數(shù)很多,環(huán)簽名的效率就會(huì)很低。尤其是在一些基于身份的環(huán)簽名中,當(dāng)需要對(duì)環(huán)成員信息進(jìn)行描述時(shí),簽名的長(zhǎng)度會(huì)嚴(yán)重受到環(huán)成員個(gè)數(shù)的影響。
(2)目前環(huán)簽名方案的研究雖然在理論上取得了極大的進(jìn)步,但在實(shí)現(xiàn)與應(yīng)用方面還有很大的不足。
(3)環(huán)簽名方案在研究時(shí)也應(yīng)該考慮到環(huán)成員的變動(dòng),因?yàn)槿绻黾有鲁蓡T就需要進(jìn)行重簽名,那么效率就會(huì)比較低。
(4)能抵抗量子攻擊的環(huán)簽名算法基本上都建立在底層問(wèn)題的假想量子困難性之上,無(wú)法判斷哪個(gè)更困難,而且基于格的環(huán)簽名都有一個(gè)共同的缺點(diǎn)就是驗(yàn)證密鑰的尺寸非常大。
根據(jù)上述提出的問(wèn)題,以下幾個(gè)是對(duì)環(huán)簽名技術(shù)未來(lái)研究領(lǐng)域的分析:
(1)構(gòu)造效率更高的環(huán)簽名方案。例如在以前的研究方案中,簽名長(zhǎng)度取決于環(huán)成員個(gè)數(shù),而陳江山提出的格上無(wú)陷門的數(shù)字簽名以及莊立爽提出的基于格的可鏈接環(huán)簽名,使用到了“填充-置換”方法取代了傳統(tǒng)方法,則不會(huì)因環(huán)成員個(gè)數(shù)的改變而對(duì)簽名長(zhǎng)度造成影響。
(2)環(huán)簽名方案的可實(shí)例化應(yīng)用也應(yīng)該是研究的重點(diǎn)。目前許多環(huán)簽名方案雖然在效率上都有很大的提高,但無(wú)法實(shí)例化應(yīng)用仍是目前環(huán)簽名研究領(lǐng)域的痛點(diǎn)。其中,基于格的環(huán)簽名方案走向?qū)嵗^(guò)程中面臨的最大障礙是效率太低的問(wèn)題。如何盡可能地通過(guò)壓縮陷門尺寸和引入更高效的簽名技術(shù)提高格基環(huán)簽名效率是未來(lái)亟待解決的問(wèn)題。
(3)多元化研究不同屬性的環(huán)簽名。因?yàn)閼?yīng)用場(chǎng)景的不同,環(huán)簽名方案設(shè)計(jì)時(shí)所側(cè)重的屬性也不同。目前可鏈接環(huán)簽名和門限環(huán)簽名的研究最多,不可否認(rèn)環(huán)簽名、代理環(huán)簽名等屬性的環(huán)簽名方案研究較少。且隨著更多應(yīng)用場(chǎng)景的出現(xiàn),能滿足不同應(yīng)用需求的具有特殊屬性的環(huán)簽名方案將應(yīng)運(yùn)而生。
(4)在上述介紹后量子時(shí)代環(huán)簽名的研究時(shí)已經(jīng)提出了現(xiàn)有的四種能抵抗量子計(jì)算機(jī)攻擊的簽名體制,包括:基于編碼的公鑰密碼體制、基于hash的公鑰密碼體制、基于格的公鑰密碼體制、基于多變量的公鑰密碼體制。這四種公鑰密碼體制理論上的持續(xù)發(fā)展必然會(huì)給后量子時(shí)代環(huán)簽名的發(fā)展帶來(lái)新的契機(jī)。