和斌濤, 王尚平, 劉麗華
(1. 西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院, 陜西 西安710048;2. 陜西理工大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院, 陜西 漢中 723001)
車載自組織網(wǎng)絡(luò)(VANETs)是智能交通系統(tǒng)的重要組成部分。在 VANETs 中,每輛車都配備了車載單元(OBU),OBU之間可以通過V2V模式進(jìn)行通信交互,OBU 也可以與路邊單元 (RSU) 等其他基礎(chǔ)設(shè)施進(jìn)行V2I模式通信交互[1-2]。 VANETs在給我們帶來便利的同時(shí)也由于其支持無線通信而更容易遭受攻擊,攻擊者可以攔截、竊聽、篡改通信消息,發(fā)布虛假信息,甚至泄露用戶的身份隱私信息,危害駕駛?cè)藛T安全。因此,在VANETs中設(shè)計(jì)安全高效的隱私保護(hù)方案非常重要。VANETs中通常有四種隱私保護(hù)方法:基于證書的隱私保護(hù)方案[3]、基于群簽名的隱私保護(hù)方案[4]、基于假名的隱私保護(hù)方案[5]、基于環(huán)簽名的隱私保護(hù)方案[6-7]。
與證書方案相比,環(huán)簽名方案不需要證書權(quán)威,無需存儲(chǔ)大量的證書;與基于群簽名的隱私保護(hù)方案相比,環(huán)簽名成員地位平等,不需要管理員;雖然基于假名的隱私保護(hù)方案在單次使用時(shí)比較方便,但是假名的生成、更新和撤銷過程都需要與可信中心進(jìn)行大量的通信交互,大大增加了各方的存儲(chǔ)和通信負(fù)擔(dān)[8-9]。
由于環(huán)簽名具有靈活性、自發(fā)性、匿名性和成員身份平等的優(yōu)點(diǎn),利用環(huán)簽名可以在VANETs中設(shè)計(jì)出實(shí)用性較強(qiáng)的隱私保護(hù)方案[10]。環(huán)簽名方案本身只能保護(hù)通信雙方的身份隱私,并不能保證所傳遞信息的機(jī)密性,而環(huán)簽密技術(shù)可以將環(huán)簽名和加密功能集成到一起,在保護(hù)通信雙方身份隱私的同時(shí)保證信息傳遞的機(jī)密性,只有信息接收者才有權(quán)對(duì)傳遞信息進(jìn)行解密,環(huán)簽密使得VANETs中的通信安全得到加強(qiáng)[11-12]。然而,環(huán)簽密在保護(hù)合法用戶身份隱私的同時(shí),也給攻擊者留下了可乘之機(jī),由于所有成員的身份都是完全匿名的,即使敵手發(fā)送虛假或者非法信息也不會(huì)得到懲罰。為了杜絕這種完全匿名性所帶來的安全隱患,賦予監(jiān)管權(quán)威在必要時(shí)追蹤用戶真實(shí)身份的權(quán)利是非常必要的。條件隱私保護(hù)方案可以保證合法用戶的身份隱私,必要時(shí)追蹤非法用戶的真實(shí)身份,同時(shí)實(shí)現(xiàn)匿名認(rèn)證和可追蹤特性[13-15]。
一般的環(huán)簽密方案并不具有追蹤功能,不能實(shí)現(xiàn)條件隱私保護(hù),一些文獻(xiàn)通過在環(huán)簽密中增加追蹤標(biāo)簽來實(shí)現(xiàn)對(duì)非法簽密者真實(shí)身份的追蹤。趙楠等[16]在VANETs中設(shè)計(jì)了基于環(huán)簽密的可認(rèn)證隱私保護(hù)方案,通過在環(huán)簽密中加入追蹤標(biāo)簽可以實(shí)現(xiàn)條件隱私保護(hù),但其追蹤標(biāo)簽和環(huán)成員數(shù)相關(guān),隨著環(huán)成員數(shù)的增加,追蹤標(biāo)簽將大大增加環(huán)簽密的通信開銷和計(jì)算開銷,而且追蹤非法簽密者真實(shí)身份的過程需要所有參與環(huán)簽名成員進(jìn)行誠(chéng)實(shí)交互和計(jì)算,方案的實(shí)用性不強(qiáng)。2020年,Cai等[17]也利用環(huán)簽密在VANETs中設(shè)計(jì)了條件隱私保護(hù)方案,在追蹤時(shí)采用遍歷算法對(duì)所有環(huán)成員的公鑰進(jìn)行排查,當(dāng)環(huán)成員數(shù)較多時(shí),需要付出較大的計(jì)算和通信開銷。非交互式零知識(shí)證明可以在不泄露某個(gè)秘密值的情況下,無需多次交互就可以使驗(yàn)證者相信證明者掌握該秘密。文獻(xiàn)[18]利用非交互式零知識(shí)證明來保證交易的有效性,大大提高了交易驗(yàn)證的效率。文獻(xiàn)[19]利用非交互式零知識(shí)證明設(shè)計(jì)了可審計(jì)的隱私保護(hù)方案,減少了交易雙方的通信開銷。文獻(xiàn)[20]利用非交互式零知識(shí)證明保證了自主生成假名過程的合法性。
區(qū)塊鏈具有公開透明、防竄改、分布式等良好特性,區(qū)塊鏈技術(shù)是實(shí)現(xiàn)去中心化的有力工具。2021年,Tang等[21]在智能電網(wǎng)中提出了基于區(qū)塊鏈的多授權(quán)可追溯環(huán)簽名方案,設(shè)計(jì)了多中心的分布式密鑰生成方案,但該環(huán)簽名未考慮對(duì)明文消息的加密,不滿足傳遞信息的機(jī)密性。2022年,黃丹[22]將區(qū)塊鏈與環(huán)簽密結(jié)合構(gòu)造了電子證據(jù)認(rèn)證方案,利用區(qū)塊鏈設(shè)計(jì)了多中心的環(huán)簽密方案,但該方案的密鑰生成需要所有弱中心的同時(shí)參與,缺乏靈活性。沈華杰[23]用路邊單元聯(lián)盟維護(hù)的聯(lián)盟區(qū)塊鏈取代中心化的證書生成中心,采用了門限密鑰生成方式,使得密鑰生成過程更加靈活。
分析VANETs中現(xiàn)有的環(huán)簽名方案不難發(fā)現(xiàn),大部分環(huán)簽名方案都需要完全可信的密鑰生成中心,容易陷入單點(diǎn)失敗問題。現(xiàn)有的環(huán)簽名方案為了實(shí)現(xiàn)追蹤功能,需要付出較多的通信開銷和計(jì)算開銷。為解決上述問題,基于文獻(xiàn)[20]和[23],本文在VANETs中構(gòu)造一個(gè)基于環(huán)簽密和非交互式零知識(shí)證明的條件隱私保護(hù)方案。主要?jiǎng)?chuàng)新如下:
1) 針對(duì)現(xiàn)有環(huán)簽名方案中心化的密鑰生成方式容易陷入單點(diǎn)失敗的問題,本文設(shè)計(jì)了聯(lián)盟區(qū)塊鏈,用來記錄和發(fā)布公鑰及各種公開參數(shù),由路邊單元聯(lián)盟為車載單元生成多個(gè)私鑰份額,車載單元利用門限機(jī)制自行合成系統(tǒng)可驗(yàn)證的私鑰,使得密鑰生成過程更加安全和靈活。
2) 針對(duì)現(xiàn)有環(huán)簽密方案中實(shí)現(xiàn)追蹤功能所需的通信和計(jì)算開銷較大的問題,本文首次將非交互式零知識(shí)證明和環(huán)簽密相結(jié)合,利用非交互式零知識(shí)證明來生成追蹤標(biāo)簽,只需較小的通信和計(jì)算開銷即可實(shí)現(xiàn)對(duì)非法簽密者真實(shí)身份的追蹤。
3) 分析了所提方案的正確性、安全性以及通信和計(jì)算開銷,并與相關(guān)方案進(jìn)行比較。分析結(jié)果表明,所提方案比同類環(huán)簽密方案安全性更好,由于引入了非交互式零知識(shí)證明,使得本方案在追蹤上更加高效,和其他支持條件隱私保護(hù)的環(huán)簽密方案相比,本方案在通信開銷和計(jì)算開銷兩方面都具有優(yōu)勢(shì)。
設(shè)G1,G2是兩個(gè)階為q的循環(huán)群,P為群G1的生成元,定義雙線性映射e:G1×G1→G2滿足如下性質(zhì):
2) 非退化性:?P1,P2∈G1,使得e(P1,P2)≠1G2。
3) 可計(jì)算性:?P1,P2∈G1,存在有效算法來計(jì)算e(P1,P2)。
在零知識(shí)證明中,證明者P向驗(yàn)證者V證明其知道秘密w這一陳述,除了證明該陳述是真的之外,不會(huì)向驗(yàn)證者V透露任何關(guān)于w的內(nèi)容。應(yīng)用 Fiat-Shamir非交互式零知識(shí)證明[24],證明者P可以通過給驗(yàn)證者V發(fā)送一個(gè)證明信息,不需多次交互就可以完成證明過程。
證明者選用與哈希(Hash)函數(shù)近似的模擬隨機(jī)預(yù)言機(jī),如圖 1 所示,證明者P保持秘密w,公開W=w·P,隨機(jī)選擇r,生成承諾值com=r·P,計(jì)算com和W的哈希值c=hash(com,W),計(jì)算證據(jù)π=r+c·w,然后證明者P發(fā)送c、π給驗(yàn)證者V,驗(yàn)證者V重新計(jì)算com1=π·P-c·W,c1=hash(com1,W),判斷c1=c是否成立。如果成立,則驗(yàn)證者V接受證明者P知道秘密w這一陳述。該非交互式零知識(shí)證明可以記作:NIZK{(w):W=w·P}。
圖1 非交互式零知識(shí)證明Fig.1 Non-interactive zero-knowledge proof
如圖2所示,本方案主要包括4 個(gè)實(shí)體:路邊單元(RSU)、聯(lián)盟區(qū)塊鏈、車載單元(OBU)和監(jiān)管權(quán)威(TRA)。
1) 路邊單元(road side unit, RSU):RSU是半可信的基礎(chǔ)設(shè)施,安裝在道路兩側(cè),RSU 具有足夠的處理性能、存儲(chǔ)空間和良好的網(wǎng)絡(luò)連接,RSU之間通過無線通信的方式共同維護(hù)區(qū)塊鏈。
2) 車載單元(on board unit, OBU):網(wǎng)絡(luò)中的每輛車都配備了可與其他設(shè)備進(jìn)行交互的車載單元,車載單元需要向系統(tǒng)進(jìn)行注冊(cè),兩個(gè)車載單元可以通過V2V的通信模式進(jìn)行交互,或者與路邊單元等其他基礎(chǔ)設(shè)施進(jìn)行V2I模式的通信。
3) 聯(lián)盟區(qū)塊鏈:本方案為了實(shí)現(xiàn)去中心化的目標(biāo),由k個(gè)RSU來初始化聯(lián)盟區(qū)塊鏈,共同商定系統(tǒng)參數(shù)設(shè)置,k個(gè)RSU將自己的公鑰和聯(lián)合生成的系統(tǒng)公鑰作為系統(tǒng)公共參數(shù)在區(qū)塊鏈公開,監(jiān)管權(quán)威的監(jiān)管公鑰也發(fā)布在區(qū)塊鏈中,車載單元的真實(shí)身份信息和公鑰之間的綁定關(guān)系也記錄在聯(lián)盟區(qū)塊鏈中。
4) 監(jiān)管權(quán)威(trace authority, TRA):監(jiān)管權(quán)威負(fù)責(zé)監(jiān)督路邊單元聯(lián)盟進(jìn)行系統(tǒng)建立和維護(hù)。本文假定監(jiān)管權(quán)威完全可信,監(jiān)管權(quán)威不參與車載單元的注冊(cè)、密鑰生成及環(huán)簽密過程,只有在必要時(shí),監(jiān)管權(quán)威才會(huì)對(duì)涉嫌非法簽密者的真實(shí)身份進(jìn)行追蹤。
圖2 環(huán)簽密系統(tǒng)模型Fig.2 System model of ring signcryption
1) 匿名性:在正常通信情況下,消息發(fā)送者和消息接收者的真實(shí)身份都保持匿名,只有在必要時(shí)消息發(fā)送者的真實(shí)身份才能被追蹤到。
2) 機(jī)密性:通信雙方以密文形式進(jìn)行通信,只有消息接收者才有權(quán)對(duì)傳遞信息進(jìn)行正確解密。
3) 可認(rèn)證性:系統(tǒng)成員身份的合法性、簽密者追蹤標(biāo)簽生成的正確性、傳遞消息的完整性、環(huán)簽密的正確性都可認(rèn)證。
4) 去中心化:系統(tǒng)不需要密鑰生成中心,由k個(gè)RSU共同確定系統(tǒng)的主密鑰,OBU私鑰的第一項(xiàng)也是由OBU通過門限機(jī)制自行合成的。
5) 防偽造性:敵手不能偽造OBU的身份進(jìn)行通信,也不能偽造環(huán)簽密來通過接收者的驗(yàn)證。
6) 不可鏈接性:敵手不能從消息發(fā)送者的多次簽密鏈接到同一簽密者。
7) 可追蹤性:執(zhí)法權(quán)威TRA在必要時(shí)有權(quán)追蹤到涉嫌非法行為簽密者的真實(shí)身份。
(1)
系統(tǒng)公鑰可以通過式(2)計(jì)算:
(2)
系統(tǒng)公鑰pk、監(jiān)管公鑰tpk和每個(gè)RSUi的部分公鑰rpki都作為公開參數(shù)公布到區(qū)塊鏈中,則系統(tǒng)的公共參數(shù)為:params={q,G1,G2,P,e,H0,H1,H2,H3,H4,k,t,rpki{i=1,2,…,k},pk,tpk}。
每個(gè)車載單元OBUj需要向RSU聯(lián)盟進(jìn)行注冊(cè)以獲得自己的公私鑰對(duì)。
e(pski,j,P)=e(H0(UIDj,Wj),rpki)
(3)
如果式(3)不成立,則要求RSUi重新發(fā)送,如果式(3)成立,按照Pedersen秘密共享方案,當(dāng)OBUj收集到來自RSU聯(lián)盟的t個(gè)私鑰份額后,可以生成自己私鑰的第一項(xiàng):
(4)
由此,OBUj的私鑰為(uskj,wj),公鑰為(Qj,Wj)。
設(shè)消息發(fā)送方OBUs和消息接收方OBUr的身份信息分別為UIDs和UIDr。發(fā)送方OBUs公鑰為(Qs,Ws),私鑰為(usks,ws), 接收方OBUr公鑰為(Qr,Wr),私鑰為 (uskr,wr)。Qs和usks用于環(huán)簽名的生成和驗(yàn)證;ws、Wr和Qr用于對(duì)傳遞的明文消息m進(jìn)行加密;Ws、uskr和wr用于對(duì)環(huán)簽名中的消息密文進(jìn)行解密;Ws加密后用于生成追蹤標(biāo)簽;ws用于對(duì)Ws加密正確性的零知識(shí)證明。
環(huán)簽密過程分為環(huán)簽名準(zhǔn)備、傳遞消息m加密、簽密者的Ws加密、Ws加密的零知識(shí)證明生成、完整環(huán)簽密生成5個(gè)步驟。
1) 環(huán)簽名準(zhǔn)備
R0=r0·P
(5)
Uj=rj·P
(6)
hj=H1(m,Uj,L,R0,Qr)
(7)
(8)
hs=H1(m,Us,L,R0,Qr)
(9)
V=(hs+α)usks
(10)
2) 傳遞消息m加密
為了保證傳遞消息的機(jī)密性,OBUs用自己的ws和接收者的公鑰(Qr,Wr)、系統(tǒng)公鑰pk和參數(shù)r0對(duì)明文消息m進(jìn)行加密,得到明文消息m的密文C。
R′=e(r0·pk,Qr)
(11)
b=H2(R′)
(12)
C=m⊕H3(b,wsWr)
(13)
3) 簽密者的Ws加密
Cs=(ρ·P,Ws+ρ·tpk)
(14)
4)Ws加密的零知識(shí)證明生成
為了向接收者證明Ws加密的真實(shí)性和正確性,OBUs采用非交互式零知識(shí)證明:NIZK{(ws,ρ)∶C1=ρ·P∧C2=Ws+ρ·tpk}其中Ws=ws·P。在不泄露ws和ρ的情況下,OBUs向接收者證明確實(shí)選用了參數(shù)ρ和監(jiān)管公鑰tpk對(duì)Ws進(jìn)行了正確加密,而且加密內(nèi)容的確是和簽密者OBUs私鑰中的ws所對(duì)應(yīng)的Ws。該非交互式零知識(shí)證明過程如圖3所示。
圖3 Ws加密的非交互式零知識(shí)證明Fig.3 Non-interactive zero-knowledge proof of Ws encryption
com1=ρ1·P+ρ2·tpk
(15)
com2=ρ2·P
(16)
c=H4(com1,com2,Cs)
(17)
π1=ρ1+c·ws
(18)
π2=ρ2+c·ρ
(19)
式(18)可以向驗(yàn)證者證明簽密者知道與Ws對(duì)應(yīng)的私鑰部分是ws,從而證明EL-Gamal 加密的內(nèi)容確實(shí)是Ws。式(19)可以向驗(yàn)證者證明簽密者知道EL-Gamal 加密所選取的參數(shù)是ρ,可以保證EL-Gamal加密過程是誠(chéng)實(shí)執(zhí)行的,沒有欺詐行為。把該非交互式零知識(shí)證明過程生成的證明記做proof=(c,π1,π2),把Ws的密文Cs和對(duì)應(yīng)的證明proof進(jìn)行綁定,生成追蹤標(biāo)簽tag:
tag=(Cs,proof)
(20)
5) 完整環(huán)簽密生成
OBUs最終生成關(guān)于明文消息m的環(huán)簽密σ=(C,L,R0,{Uj}j=1,…,n,V,tag,T),其中C為明文消息m的密文,tag為追蹤標(biāo)簽,T為簽密當(dāng)前時(shí)間戳,最后簽密者OBUs發(fā)送完整的簽密σ給接收者OBUr,等待OBUr對(duì)傳遞消息進(jìn)行解密,并對(duì)環(huán)簽密過程進(jìn)行驗(yàn)證。
消息接收者OBUr收到環(huán)簽密σ后進(jìn)行解簽密操作。解簽密過程分為簽密時(shí)效性驗(yàn)證、Ws加密的零知識(shí)證明驗(yàn)證、解密傳遞消息和環(huán)簽密驗(yàn)證4個(gè)步驟。
1) 簽密的時(shí)效性驗(yàn)證
消息接收者OBUr接收到環(huán)簽密σ后首先解析出簽密時(shí)間戳T,并判斷|T-Tc|≤ΔT是否成立,其中Tc為當(dāng)前時(shí)間,ΔT為消息有效的最大時(shí)間間隔。這樣可以保證攻擊者無法通過攔截重放帶有新的時(shí)間戳的消息,可以實(shí)現(xiàn)抗重放攻擊。
2)Ws加密的零知識(shí)證明驗(yàn)證
OBUr作為圖3 中非交互式零知識(shí)證明的驗(yàn)證者,從簽密σ中解析出追蹤標(biāo)簽中的Cs=(C1,C2)和proof=(c,π1,π2),并按照?qǐng)D3重新計(jì)算:
(21)
(22)
(23)
OBUr判斷c′=c是否成立,若c′=c,則可以確認(rèn)簽密者OBUs是用監(jiān)管公鑰tpk對(duì)Ws進(jìn)行了誠(chéng)實(shí)加密,可保證監(jiān)管權(quán)威在必要時(shí)能追蹤到簽密者OBUs的真實(shí)身份。若c′≠c,則OBUr拒絕接受簽密消息。
3) 解密傳遞消息
OBUr用自己的私鑰(uskr,wr)解密σ中所傳遞的密文C,得到明文m′。
b′=H2(e(R0,uskr))
(24)
m′=C⊕H3(b′,Wswr)
(25)
4) 環(huán)簽密驗(yàn)證
(26)
(27)
若式(27)成立,OBUr接受簽密者的環(huán)簽密,并確認(rèn)m′就是簽密者所發(fā)送的明文消息m;若式(27)不成立,則解簽密失敗,拒絕接受簽密內(nèi)容。
當(dāng)消息接收者OBUr發(fā)現(xiàn)簽密者OBUs發(fā)送非法信息時(shí),可以向監(jiān)管權(quán)威申請(qǐng)追蹤消息發(fā)送者的真實(shí)身份。監(jiān)管權(quán)威從簽密σ中提取追蹤標(biāo)簽tag,獲取Ws的密文Cs,并利用監(jiān)管私鑰tsk解密得到Ws。
(28)
由于在注冊(cè)時(shí)OBUs的真實(shí)身份UIDs和Ws已經(jīng)綁定,監(jiān)管權(quán)威利用Ws就可以追蹤到簽密者的真實(shí)身份UIDs。
4.1.1私鑰份額的正確性
(29)
4.1.2傳遞消息的正確性
消息接收者OBUr可以重新計(jì)算:
(30)
(31)
當(dāng)b′=b,m′=m時(shí),傳遞消息正確。
4.1.3Ws加密的零知識(shí)證明正確性
(32)
4.1.4環(huán)簽密的正確性
(33)
4.2.1匿名性
本方案可以保證信息交互雙方的匿名通信。簽密者OBUs利用自己的私鑰和包括自身在內(nèi)的n個(gè)環(huán)成員的公鑰集合進(jìn)行環(huán)簽密。消息接收者只能通過驗(yàn)證確認(rèn)簽密者是環(huán)中的某一個(gè)成員,但無法通過簽密內(nèi)容來確定簽密者的具體身份。隨著環(huán)規(guī)模的增大,簽密者的匿名性將得到不斷增強(qiáng)。環(huán)簽密σ中不透漏消息接收者OBUr公鑰的任何信息,只是通過式(11)和式(13)將消息接收者的公鑰隱藏在消息的密文C中,攻擊者無法通過截獲σ來計(jì)算或者推測(cè)消息接收者OBUr的真實(shí)身份,從而確保了消息接收者身份的匿名性。
4.2.2機(jī)密性
通信雙方所傳遞的消息m是以密文C的形式出現(xiàn)在環(huán)簽密σ中,消息接收者OBUr通過計(jì)算b′和m′來進(jìn)行解密,得到明文m′=m。本方案中只有同時(shí)擁有私鑰(uskr,wr)兩個(gè)部分的消息接收者才能正確解密出傳遞的明文信息,因此本方案可以確保環(huán)簽密中消息傳遞的機(jī)密性。
4.2.3可認(rèn)證性
本方案中OBU私鑰是由兩部分組成,即OBU自己選擇的秘密值和RSU聯(lián)盟產(chǎn)生的私鑰份額經(jīng)OBU合成后的部分私鑰。在注冊(cè)時(shí),聯(lián)盟中的RSU可以對(duì)OBU身份的真實(shí)性進(jìn)行認(rèn)證,OBU也可對(duì)RSU發(fā)送的部分私鑰份額進(jìn)行認(rèn)證。消息接收者在收到環(huán)簽密σ后可以通過驗(yàn)證c′=c對(duì)簽密者自覺加密Ws的正確性進(jìn)行認(rèn)證,通過計(jì)算
和式(27),對(duì)傳遞消息的完整性和環(huán)簽密的正確性進(jìn)行全面認(rèn)證。環(huán)簽密過程中,對(duì)其任何一項(xiàng)進(jìn)行篡改都將無法通過驗(yàn)證。
4.2.4去中心化
本方案的系統(tǒng)主密鑰sk是由RSU聯(lián)盟通過Pedersen秘密共享方案生成的,每個(gè)RSU只知道自己的部分私鑰,都不掌握系統(tǒng)的主密鑰,Pedersen (t,k)門限方案使得系統(tǒng)最多可以容忍t-1個(gè) RSU 被腐化,與中心化的密鑰生成方式相比,可以有效防止單點(diǎn)失敗問題,增強(qiáng)了系統(tǒng)的安全性和可靠性。
圖4 當(dāng)k=12時(shí)Pedersen(t,k)門限方案的安全性Fig.4 Security of Pedersen(t,k)threshold scheme when k=12
4.2.5防偽造性
簽密者的私鑰(usks,ws)由兩部分組成,usks需要RSU聯(lián)盟認(rèn)證才能生成,ws由簽密者秘密選取,除了簽密者自身,任何實(shí)體都不掌握ws,要從Ws計(jì)算出ws屬于離散對(duì)數(shù)困難問題,簽密者在掌握ws的前提下,使用非交互式零知識(shí)證明來展示對(duì)Ws加密的正確性,該零知識(shí)證明使用文獻(xiàn)[26]中的隨機(jī)預(yù)言模型,而攻擊者只能通過偽造承諾的隨機(jī)數(shù)來偽造零知識(shí)證明,在離散對(duì)數(shù)假設(shè)下,這種偽造發(fā)生的概率可以忽略不計(jì)。因此,敵手在不掌握簽密者私鑰的情況下,不可能偽造簽密者的身份進(jìn)行交互,也無法偽造出通過信息接收者驗(yàn)證的環(huán)簽密。
4.2.6不可鏈接性
4.2.7可追蹤性
本方案在環(huán)簽密σ中增加了追蹤標(biāo)簽tag=(Cs,proof),proof=(c,π1,π2)。其中Cs為Ws在監(jiān)管公鑰tpk加密下的密文。π1為簽密者OBUs掌握ws的證據(jù),π2為簽密者掌握加密選取參數(shù)ρ的證據(jù),通過非交互式零知識(shí)證明來保證簽密者是用監(jiān)管公鑰對(duì)關(guān)聯(lián)簽密者身份的Ws進(jìn)行了誠(chéng)實(shí)加密。接收者則通過c′=c來驗(yàn)證簽密者OBUs對(duì)Ws加密的正確性,從而保證監(jiān)管權(quán)威可以追蹤到簽密者的真實(shí)身份。
表1對(duì)幾種方案的安全性進(jìn)行了綜合比較。文獻(xiàn)[16]、 [17]所提方案均需要可信中心,容易造成單點(diǎn)失敗,文獻(xiàn)[21]的方案沒有對(duì)消息進(jìn)行加密,不能保證消息的機(jī)密性。所有方案都可以實(shí)現(xiàn)匿名性、可認(rèn)證性、防偽造性、不可鏈接性和可追蹤性。本方案同時(shí)具有上述所有安全特性,并實(shí)現(xiàn)了去中心化(由多個(gè)RSU通過分布式門限密鑰生成方法共同決定系統(tǒng)的主密鑰),在保證安全性的同時(shí),具有更好的靈活性。
表1 不同方案的安全性能比較Tab.1 Comparison of security performance of different schemes
表2 不同方案的簽密通信開銷比較Tab.2 Comparison of signcryption communication overhead of different schemes
圖5中,當(dāng)環(huán)成員數(shù)n=4時(shí),本方案通信開銷為1 176 bytes,略高于文獻(xiàn)[17]的1 156 bytes,但小于其他兩個(gè)方案的通信開銷;當(dāng)n=8時(shí),本方案環(huán)簽密通信開銷為1 688 bytes,通信開銷最小。
圖5 n=4和n=8兩種情況下各方案環(huán)簽密通信開銷Fig.5 Ring signcryption communication overhead of each scheme in the two cases of n=4 andn=8
圖6 不同方案環(huán)簽密通信開銷隨環(huán)成員數(shù)的變化Fig.6 Ring signcryption communication overhead of different schemes varies with the number of ring members
本文所提方案在聯(lián)盟區(qū)塊鏈的初始化和密鑰生成過程中計(jì)算開銷都偏高,但由于系統(tǒng)初始化和密鑰生成在一段時(shí)間內(nèi)都只需執(zhí)行一次,后續(xù)的多次環(huán)簽密過程均無需額外的計(jì)算開銷,因此本文只討論簽密、驗(yàn)證、追蹤這三個(gè)階段各方案所需的計(jì)算開銷。在硬件為Intel(R) Core(TM) i3-10100,主頻為3.60 GHz,內(nèi)存16GB,Windows 10 操作系統(tǒng)中,選用PBC代碼庫(kù)對(duì)常用的幾種運(yùn)算操作的耗時(shí)進(jìn)行多次實(shí)驗(yàn)并取平均值,得到測(cè)試結(jié)果為Tmul≈1.85ms ,Tp≈4.32 ms,Th≈5.86ms。其中Tmul為群上的標(biāo)量乘法計(jì)算耗時(shí),Tp為雙線性映射的計(jì)算耗時(shí),Th為映射到群中點(diǎn)元素的哈希函數(shù)計(jì)算耗時(shí)。相比其他運(yùn)算,上述三種操作的耗時(shí)為主要計(jì)算開銷,因此,本文通過對(duì)比這三種運(yùn)算的耗時(shí)來評(píng)估各方案的計(jì)算開銷,如表3所示。
表3 各環(huán)簽密方案計(jì)算開銷對(duì)比Tab.3 Computational cost comparison of each ring signcryption scheme
1) 環(huán)簽密計(jì)算開銷
本方案環(huán)簽密計(jì)算開銷為(2n+8)Tmul+Tp,約為3.7n+19.12 ms。計(jì)算開銷主要包括:計(jì)算消息密文C時(shí)需要的2次群上的標(biāo)量乘法運(yùn)算ws·Wr、r0·pk,一次雙線性映射運(yùn)算R′=e(r0·pk,Qr),計(jì)算R0中需要的一次群上的標(biāo)量乘法運(yùn)算R0=r0·P,計(jì)算{Uj}j=1,…,n中需要的2n-1次群上的標(biāo)量乘法運(yùn)算,計(jì)算V中需要的一次群上的標(biāo)量乘法運(yùn)算,對(duì)Ws加密生成密文Cs需要的2次群上的標(biāo)量乘法運(yùn)算,生成零知識(shí)證明proof需要的3次群上的標(biāo)量乘法運(yùn)算。其中只有計(jì)算{Uj}j=1,…,n時(shí)的2n-1次群上的標(biāo)量乘法運(yùn)算和環(huán)成員數(shù)n有關(guān),其他的計(jì)算開銷均為固定值。本方案在環(huán)簽密階段的固定計(jì)算開銷約為19.12 ms,而文獻(xiàn)[17]的固定計(jì)算開銷約為4.32 ms,在環(huán)成員數(shù)較小時(shí),文獻(xiàn)[17]在本階段計(jì)算開銷最小,為3nTmul+Tp≈5.55n+4.32 ms。這是因?yàn)槲墨I(xiàn)[17]在簽密階段的計(jì)算開銷和環(huán)成員數(shù)n之間有著3nTmul的關(guān)系,而本方案在簽密階段的計(jì)算開銷和環(huán)成員數(shù)n之間有著2nTmul的關(guān)系,故隨著環(huán)成員數(shù)的增加,本方案固定開銷較大的劣勢(shì)將隨著n的逐步增大而被抵消掉。從環(huán)成員數(shù)n=8開始,本方案在環(huán)簽密階段的計(jì)算開銷將逐步達(dá)到最小(相較其他幾種方案),且環(huán)成員數(shù)越大,本方案的優(yōu)勢(shì)越明顯。
2) 解簽密計(jì)算開銷
本方案解簽密計(jì)算開銷為(n+6)Tmul+3Tp,約為1.85n+24.06 ms。計(jì)算開銷主要包括:零知識(shí)證明驗(yàn)證中需要的5次群上的標(biāo)量乘法、解密所傳遞消息的密文時(shí)需要的1次群上的標(biāo)量乘法和一次雙線性映射運(yùn)算、在驗(yàn)證環(huán)簽名時(shí)需要的n次群上的標(biāo)量乘法和2次雙線性映射運(yùn)算。文獻(xiàn)[17]的解簽密計(jì)算開銷最小,為nTmul+3Tp≈1.85n+12.96 ms,相比文獻(xiàn)[17],本方案多了6次群上的標(biāo)量乘法運(yùn)算。這是因?yàn)?在追蹤Ws加密正確性的非交互式零知識(shí)證明過程中,多了5次群上的標(biāo)量乘法運(yùn)算,在解密傳遞消息時(shí),多了1次群上的標(biāo)量乘法運(yùn)算。但文獻(xiàn)[17]還有兩次額外的異或運(yùn)算未計(jì)算在內(nèi),且文獻(xiàn)[17]在解簽密階段采用的是先驗(yàn)證環(huán)簽名再進(jìn)行解密明文消息的方法,其解密出的明文消息并未經(jīng)過環(huán)簽名驗(yàn)證流程的驗(yàn)證。
3) 追蹤計(jì)算開銷
在追蹤階段,文獻(xiàn)[16]和文獻(xiàn)[21]的計(jì)算開銷都為nTmul+4nTp≈19.13nms,追蹤的計(jì)算開銷較大,且追蹤過程需要系統(tǒng)所有成員進(jìn)行誠(chéng)實(shí)交互。文獻(xiàn)[17]追蹤的計(jì)算開銷為2nTmul≈3.70nms,需要采用遍歷算法對(duì)所有環(huán)成員的公鑰進(jìn)行排查。隨著環(huán)成員數(shù)n的增加,其他幾個(gè)方案的追蹤開銷都隨著n線性增加。本方案在追蹤階段計(jì)算開銷優(yōu)勢(shì)明顯,只需要從追蹤標(biāo)簽tag中提取密文Cs,利用EL-Gamal解密就可以得到Ws,從而確定簽密者的真實(shí)身份,本方案追蹤的計(jì)算開銷為Tmul≈1.85ms,且追蹤開銷和環(huán)成員數(shù)n無關(guān),因此在VANETs中,無論環(huán)成員數(shù)如何增加,當(dāng)有用戶發(fā)布虛假或者非法信息時(shí),非法者的真實(shí)身份都可以在第一時(shí)間被監(jiān)管權(quán)威快速追蹤到。
4) 總計(jì)算開銷
圖7展示了當(dāng)n=8時(shí),各方案在環(huán)簽密階段、解簽密階段、追蹤階段的計(jì)算開銷和總的計(jì)算開銷。由圖7可以看出,當(dāng)n=8時(shí),本方案和文獻(xiàn)[17]在簽密階段具有最小的計(jì)算開銷,在追蹤階段本方案的計(jì)算開銷優(yōu)勢(shì)明顯,而且本方案有著最小的總計(jì)算開銷。
圖7 n=8時(shí)各簽密方案不同階段計(jì)算開銷比較Fig.7 Computation cost comparison of each signcryption scheme in stages when n=8
圖8模擬了幾種方案的總計(jì)算開銷隨環(huán)成員數(shù)n的變化情況。由表3可知,文獻(xiàn)[16]的總計(jì)算開銷為(6n+2)Tmul+(6n+4)Tp+2Th,約為37.02n+32.7ms,文獻(xiàn)[17]的總計(jì)算開銷為6nTmul+4Tp≈11.1n+17.28 ms,文獻(xiàn)[21]的總計(jì)算開銷為(6n+3)Tmul+(4n+4)Tp+Th,約為28.38n+28.69ms,本文所提方案的總計(jì)算開銷為(3n+15)Tmul+4Tp≈5.55n+45.03ms。由于本文方案中存在環(huán)簽密階段對(duì)Ws加密的零知識(shí)證明生成和解簽密階段對(duì)Ws加密的零知識(shí)證明驗(yàn)證以及追蹤階段對(duì)Ws的解密追蹤,這些步驟的計(jì)算開銷都是固定的,和環(huán)成員數(shù)n無關(guān)。當(dāng)環(huán)成員數(shù)較少時(shí),這些計(jì)算開銷仍然存在,所以當(dāng)環(huán)成員數(shù)n<5時(shí),本方案的計(jì)算開銷略高于計(jì)算開銷最小的文獻(xiàn)[17],但優(yōu)于其他兩個(gè)方案。除本方案之外,其他3個(gè)方案為了實(shí)現(xiàn)追蹤功能,在環(huán)簽密和追蹤階段都需要付出和環(huán)成員數(shù)n相關(guān)的計(jì)算開銷,因而從n=5 開始,本方案總計(jì)算開銷達(dá)到最優(yōu),而且隨著環(huán)成員數(shù)n的增加,本方案的總計(jì)算開銷的優(yōu)勢(shì)將會(huì)越來越顯著,說明本方案更適用于車流量較大的VANETs環(huán)境。
圖8 不同方案環(huán)簽密總計(jì)算開銷隨環(huán)成員數(shù)的變化Fig.8 Total computation cost of ring signcryption for different schemes varying with the number of ring members
本文基于環(huán)簽密和非交互式零知識(shí)證明技術(shù),在VANETs中設(shè)計(jì)了條件隱私保護(hù)方案。非交互式零知識(shí)證明的引入保證了用戶身份加密的正確性,并在環(huán)簽密中實(shí)現(xiàn)了追蹤功能,從而實(shí)現(xiàn)了條件隱私保護(hù);同時(shí),方案還具有防偽造性、去中心化、不可鏈接性、所有環(huán)節(jié)可認(rèn)證等安全特性。相比同類方案,本方案具有較小的通信和計(jì)算開銷。
本文只考慮了單一監(jiān)管權(quán)威的情形,為了防止監(jiān)管濫用,可以采用分布式密鑰生成技術(shù),由多個(gè)監(jiān)管權(quán)威共享監(jiān)管密鑰來增強(qiáng)系統(tǒng)的安全性。
西安理工大學(xué)學(xué)報(bào)2023年3期