周 浩,馬建峰,劉志全,3,4,王立波,吳永東,范文杰
(1.暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院,廣東 廣州 510632;2.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071;3.廣東省網(wǎng)絡(luò)與信息安全漏洞研究重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510643;4.數(shù)力聚(北京)科技有限公司,北京 100020)
如今,由于車聯(lián)網(wǎng)(Vehicular Ad-hoc NETworks,VANET)在提高道路安全和交通效率方面的巨大潛力,其已經(jīng)成為一個(gè)備受關(guān)注的研究領(lǐng)域[1]。VANET的主要思想是車輛和路側(cè)單元 (Road Side Unit,RSU) 采用先進(jìn)的無線通信技術(shù),以單跳或多跳的方式實(shí)現(xiàn)車輛到車輛(Vehicle-to-Vehicle,V2V)和車輛到路側(cè)單元(Vehicle-to-RSU,V2R)的通信,最終形成一個(gè)高度動(dòng)態(tài)的自組織網(wǎng)絡(luò)[2]。然而,由于大規(guī)模、開放式、分布式、稀疏以及高動(dòng)態(tài)等特性,VANET對(duì)于惡意行為和攻擊是脆弱的。例如,惡意車輛可能散布大量的虛假緊急消息(緊急消息[3]是指報(bào)告嚴(yán)重交通事故(如撞車)的消息,消息接收車輛需要在極短時(shí)間內(nèi)對(duì)該類消息作出反應(yīng),因此要求具有比普通消息信任評(píng)估更低的時(shí)延)以欺騙其他車輛,進(jìn)而對(duì)道路交通的安全性和可靠性造成極大威脅[4]。因此,研究如何讓車輛低時(shí)延且精準(zhǔn)地完成緊急消息評(píng)估是非常必要的。
OSTERMAIER等[5]提出基于投票決策的方法對(duì)消息進(jìn)行評(píng)估,但未考慮消息提供車輛是否可信。SHRESTHA等[6]首先通過集中式服務(wù)器管理并確定每個(gè)車輛的信任級(jí)別,以車輛的信任級(jí)別來計(jì)算消息可信度,然后通過投票結(jié)果判斷消息是否可信。但由于其采用了集中式的信任管理模型,因此存在單點(diǎn)故障的缺陷。
隨著區(qū)塊鏈技術(shù)[7]的蓬勃發(fā)展,其去中心化、分布式存儲(chǔ)以及存儲(chǔ)數(shù)據(jù)不可篡改等特征引起了研究人員關(guān)注,LU等[8]提出了一種基于區(qū)塊鏈的匿名信譽(yù)系統(tǒng),該系統(tǒng)通過車輛的信譽(yù)評(píng)分確定廣播消息的信任等級(jí),并通過獎(jiǎng)懲機(jī)制管理車輛信譽(yù)。LIU等[9]提出了一個(gè)基于區(qū)塊鏈的車聯(lián)網(wǎng)信任管理方案,利用隱馬爾可夫模型對(duì)消息進(jìn)行信任評(píng)估,提高了虛假消息的檢測(cè)準(zhǔn)確率。YANG等[10]提出了一種基于區(qū)塊鏈的分布式車聯(lián)網(wǎng)信任管理系統(tǒng),其中車輛使用貝葉斯推理模型驗(yàn)證從相鄰車輛接收的消息。張海波等[11]提出了一種基于區(qū)塊鏈的車聯(lián)網(wǎng)聲譽(yù)管理方法,通過改進(jìn)的三值主觀邏輯算法評(píng)估車輛的聲譽(yù)值,并利用聲譽(yù)閾值識(shí)別惡意車輛。盡管上述方案基于區(qū)塊鏈技術(shù),實(shí)現(xiàn)了車聯(lián)網(wǎng)中車輛信任值的安全分布式存儲(chǔ),并通過提出的信任評(píng)估模型得到了較高的消息信任評(píng)估準(zhǔn)確率,但都沒有考慮在緊急消息評(píng)估的場(chǎng)景下,信任值查詢時(shí)延和信任評(píng)估時(shí)延如何適應(yīng)該場(chǎng)景下車聯(lián)網(wǎng)對(duì)時(shí)延的高要求。
針對(duì)上述方案在面向車聯(lián)網(wǎng)中緊急消息評(píng)估場(chǎng)景下存在的問題,筆者提出一種車聯(lián)網(wǎng)中區(qū)塊鏈輔助的緊急消息信任評(píng)估方案。貢獻(xiàn)如下:
(1) 采用超級(jí)賬本(Hyperledger Fabric)[12]聯(lián)盟鏈,建立區(qū)塊鏈網(wǎng)絡(luò),實(shí)現(xiàn)了車輛信任值的安全分布式存儲(chǔ)。
(2) 設(shè)計(jì)了一種基于智能合約及緩存策略的信任值查詢算法,能夠有效降低車輛信任值查詢時(shí)延。
(3) 通過設(shè)計(jì)的信任值查詢算法,顯著降低了車輛信任值的查詢時(shí)延,從而使得以車輛信任值、車輛位置和消息新鮮度為參考因子的評(píng)估方法[13]能夠適應(yīng)緊急消息場(chǎng)景對(duì)時(shí)延的要求。
如圖1所示,系統(tǒng)架構(gòu)主要由4部分組成:區(qū)塊鏈網(wǎng)絡(luò)、車輛注冊(cè)中心(Vehicle Registration Center,VRC)、路側(cè)單元及車輛。
(1) 區(qū)塊鏈網(wǎng)絡(luò)的主要通信節(jié)點(diǎn)有客戶端節(jié)點(diǎn)、對(duì)等節(jié)點(diǎn)以及排序節(jié)點(diǎn)。其中客戶端節(jié)點(diǎn)是用戶與區(qū)塊鏈網(wǎng)絡(luò)交互的接入點(diǎn),向指定對(duì)等節(jié)點(diǎn)發(fā)送交易提案,以獲得背書(背書是指對(duì)交易提案進(jìn)行擔(dān)保并簽名)。對(duì)等節(jié)點(diǎn)是區(qū)塊鏈網(wǎng)絡(luò)的主要節(jié)點(diǎn),負(fù)責(zé)維護(hù)賬本(包括一條記錄所有交易的區(qū)塊鏈和一個(gè)記錄交易中所有變量當(dāng)前值的鍵值對(duì)數(shù)據(jù)庫,該數(shù)據(jù)庫也稱世界狀態(tài))和智能合約、響應(yīng)客戶端的交易提案(響應(yīng)過程中對(duì)等節(jié)點(diǎn)會(huì)對(duì)交易提案簽名)以及驗(yàn)證區(qū)塊內(nèi)容。所有的對(duì)等節(jié)點(diǎn)都維護(hù)一個(gè)共同的賬本。排序節(jié)點(diǎn)負(fù)責(zé)對(duì)客戶端獲得背書的交易提案進(jìn)行排序,并生成區(qū)塊發(fā)送給對(duì)等節(jié)點(diǎn)。客戶端節(jié)點(diǎn)與區(qū)塊鏈網(wǎng)絡(luò)的交互過程如圖2所示。

圖2 客戶端與區(qū)塊鏈網(wǎng)絡(luò)交互過程
(2) 車輛注冊(cè)中心是為車輛提供入網(wǎng)登記服務(wù)的機(jī)構(gòu),負(fù)責(zé)為車輛分發(fā)身份標(biāo)識(shí)、密鑰及密碼算法等。同時(shí)其也是區(qū)塊鏈網(wǎng)絡(luò)上的客戶端節(jié)點(diǎn),能夠與區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交互(查詢、更新賬本)。
(3) 路側(cè)單元具備一定的計(jì)算資源和存儲(chǔ)資源,負(fù)責(zé)處理來自車輛的請(qǐng)求。同時(shí)其同樣作為區(qū)塊鏈網(wǎng)絡(luò)的客戶端節(jié)點(diǎn),能夠與區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交互。
(4) 車輛配備了智能車輛單元(On Board Unit,OBU),具有感知、計(jì)算和存儲(chǔ)等功能。車輛通過車輛到車輛、車輛到路側(cè)單元的方式分別與其他車輛、路側(cè)單元通信(本方案中通信過程均進(jìn)行了加密處理)。
各節(jié)點(diǎn)在數(shù)字證書認(rèn)證機(jī)構(gòu)(Certificate Authority,CA)獲取認(rèn)證證書,加入?yún)^(qū)塊鏈網(wǎng)絡(luò)。此外,車輛注冊(cè)中心、路側(cè)單元節(jié)點(diǎn)初始化時(shí)鐘以及一套安全的數(shù)字簽名方案DS,如式(1)所示:
DS=(KeyGen,Sign,Verify) ,
(1)
其中,KeyGen、Sign及Verify分別表示密鑰生成算法、數(shù)字簽名算法及驗(yàn)證算法。當(dāng)新的車輛申請(qǐng)加入車聯(lián)網(wǎng)時(shí),將在車輛注冊(cè)中心處注冊(cè)。車輛注冊(cè)中心首先為其分發(fā)身份標(biāo)識(shí)IDi,并將車輛記為Vi,接著通過KeyGen算法為車輛Vi生成公鑰Pkvi和私鑰Skvi,并以離線的方式在車輛單元中安裝可信平臺(tái)模塊(Trusted Platform Module,TPM)。可信平臺(tái)模塊中秘密地嵌入了車輛Vi的私鑰Skvi、可信時(shí)鐘、坐標(biāo)提取算法、數(shù)字簽名算法Sign、驗(yàn)證算法Verify以及各種密碼算法(如哈希算法),且筆者假設(shè)可信平臺(tái)模塊安全可信。當(dāng)車輛完成注冊(cè)后,車輛注冊(cè)中心與區(qū)塊鏈進(jìn)行交互,將車輛的初始信息寫入賬本中。

(2)

(3)

(4)
2.4.1 車輛信任值查詢

(5)

(6)

2.4.2 緩存策略及信任值查詢算法
在本方案中,為了降低車輛信任值查詢時(shí)延,筆者為路側(cè)單元設(shè)計(jì)了兩種緩存策略。

(7)

(8)

算法1預(yù)緩存策略下緩存信任值算法。
輸入:路側(cè)單元覆蓋范圍內(nèi)車輛{ID1,…,IDn}
輸出:緩存結(jié)果
① for IDj∈{ID1,…,IDn} do
② if isnotinCache(IDj) then
③//調(diào)用智能合約進(jìn)行查詢
④Tj=Chaincode.get(IDj)
⑤//將車輛信任值寫入緩存
⑥ Cache.write=(IDj,Tj,Etime)
⑦ end if
⑧ end for
算法2緩存中查詢信任值算法。
輸入:車輛IDj
輸出:車輛信任值Tj
① if isempty(IDj) then
② return empty
③ else
④//直接讀取緩存內(nèi)容
⑤Tj=Cache.get(IDj)
⑥ returnTj
⑦ end if

算法3查詢后緩存策略下信任值查詢算法。
輸入:車輛IDj
輸出:車輛信任值Tj
① if isempty(IDj) then
② return empty
③ else if isinCache(IDj) then
④//直接讀取緩存內(nèi)容
⑤Tj=Cache.get(IDj)
⑥ else if isinBlockchain(IDj) then
⑦//調(diào)用智能合約進(jìn)行查詢
⑧Tj=Chaincode.get(IDj)
⑨ else
⑩ return empty
2.5.1 緊急消息信任評(píng)估

(9)
其中,參數(shù)λ和θ分別為廣播車輛信任值和環(huán)境信任值在本次消息可信度中所占的權(quán)重,λ+θ=1。環(huán)境信任值Tenv反映的是本次通信中,廣播車輛所廣播消息的真實(shí)情況。考慮環(huán)境信任值受消息的新鮮度和消息生成的地理位置的影響,即消息生成的時(shí)間離事故發(fā)生的時(shí)間越久,環(huán)境信任值越低;消息生成的地理位置離事故發(fā)生的地理位置越遠(yuǎn),環(huán)境信任值越低。Tenv表示如式(10)所示:
Tenv=Tt/2+Td/2 ,
(10)

(11)
(12)
其中,γ是預(yù)設(shè)參數(shù),控制Tt和Td的變化率。Δt-tThr表示消息新鮮度與消息有效時(shí)間閾值之間的差值,Δd-dThr表示消息生成位置與事故發(fā)生位置的距離與消息有效距離閾值之間的差值。

(13)

2.5.2 車輛信任值更新

(14)

(15)
在現(xiàn)有研究方案中,HMM(Hidden Markov Model)[9]方案以智能合約查詢區(qū)塊鏈上信任值,以隱馬爾可夫模型進(jìn)行信任評(píng)估。BIM(Bayesian Inference Model)[10]方案以區(qū)塊鏈存儲(chǔ)信任值,以廣播車輛距事故地的距離作為信任評(píng)估的參考因子,并通過加權(quán)聚合計(jì)算消息可信度。BIM方案和HMM方案均使用區(qū)塊鏈分布式存儲(chǔ)車輛信任值,且信任評(píng)估均面向車聯(lián)網(wǎng)中的消息信任評(píng)估,即場(chǎng)景與筆者所提方案類似,且本方案在上述方案的基礎(chǔ)上分別進(jìn)行了優(yōu)化,因此選擇上述方案作為對(duì)比方案,以驗(yàn)證本方案的優(yōu)越性。
實(shí)驗(yàn)基于Windows10操作系統(tǒng)、11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40 GHz和16 GB內(nèi)存,智能合約部署至Hyperledger Fabric區(qū)塊鏈平臺(tái),使用Go語言與平臺(tái)進(jìn)行交互,使用Python語言進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)置車輛數(shù)100,廣播消息數(shù)分為10組,每組100條,實(shí)驗(yàn)重復(fù)100次取均值。本方案的部分仿真實(shí)驗(yàn)參數(shù)如表1所示。

表1 部分仿真參數(shù)表
為驗(yàn)證本方案在信任值查詢時(shí)的低時(shí)延性,筆者模擬發(fā)生交通事故的場(chǎng)景,對(duì)比了本方案、HMM方案以及BIM方案在事故發(fā)生時(shí)車輛信任值的查詢時(shí)延,平均結(jié)果如圖3所示。圖3中,本方案預(yù)緩存策略曲線和本方案查詢后緩存策略曲線分別表示本方案采用預(yù)緩存策略和查詢后緩存策略的信任值查詢時(shí)延變化情況。查詢后緩存和預(yù)緩存策略下,車輛一次信任值查詢平均時(shí)延分別為4.405 2 ms和1.900 0 ms;在HMM和BIM方案下,車輛一次信任值查詢的平均時(shí)延分別為9.469 5 ms和169.203 0 ms。前兩者查詢效率分別較HMM方案提升約53.5%和79.9%,較BIM方案提升約97.4%和98.9%。且預(yù)緩存策略相比查詢后緩存策略查詢效率提升約56.9%。由此可見,借助于所提的緩存策略,本方案的信任值查詢效率有顯著提升。

圖3 4種方案在不同數(shù)據(jù)組別下的信任值查詢時(shí)延對(duì)比
此外,筆者還設(shè)計(jì)了實(shí)驗(yàn),比較兩種緩存策略下,發(fā)起信任值查詢請(qǐng)求車輛占比分別為1%、5%、10%、20%、30%、40%、50%時(shí),路側(cè)單元收到查詢請(qǐng)求前后的存儲(chǔ)空間開銷變化。
從圖4、圖5可以看到,在路側(cè)單元收到查詢請(qǐng)求前,查詢后緩存策略和預(yù)緩存策略下路側(cè)單元的存儲(chǔ)空間開銷分別穩(wěn)定在2 MB和16 MB左右。在路側(cè)單元收到查詢請(qǐng)求后,查詢后緩存策略下路側(cè)單元的存儲(chǔ)空間開銷隨著發(fā)起信任值查詢請(qǐng)求車輛占比的增加而增加,且發(fā)起信任值查詢請(qǐng)求車輛占比越高,路側(cè)單元在查詢后緩存策略下的存儲(chǔ)空間開銷越接近于預(yù)緩存策略下的存儲(chǔ)空間開銷;預(yù)緩存策略下路側(cè)單元的存儲(chǔ)空間開銷依然穩(wěn)定在16 MB左右。且從圖5可以看到,當(dāng)發(fā)起信任值查詢請(qǐng)求車輛占比分別為1%和50%時(shí),查詢后緩存策略下路側(cè)單元存儲(chǔ)空間開銷相比預(yù)緩存策略減少了13.67 MB和4.08 MB,存儲(chǔ)空間節(jié)省86.2%和23.7%。

圖4 路側(cè)單元收到查詢請(qǐng)求前各請(qǐng)求車輛占比下存儲(chǔ)開銷情況

圖5 路側(cè)單元收到查詢請(qǐng)求后各請(qǐng)求車輛占比下存儲(chǔ)開銷情況
因此,綜合考慮兩種策略下路側(cè)單元的信任值查詢效率與存儲(chǔ)空間開銷,當(dāng)發(fā)起信任值查詢請(qǐng)求車輛占比較低時(shí),路側(cè)單元適用查詢后緩存策略;當(dāng)發(fā)起信任值查詢請(qǐng)求車輛占比較高時(shí),路側(cè)單元適用預(yù)緩存策略。
為驗(yàn)證本方案信任評(píng)估的精準(zhǔn)性,筆者分別在惡意車輛占比為0%、10%、20%、30%、40%等情形下(結(jié)合現(xiàn)實(shí)因素,筆者不考慮惡意車輛占比50%及以上的情況)進(jìn)行實(shí)驗(yàn),對(duì)比本方案、HMM方案以及BIM方案在信任評(píng)估時(shí)的準(zhǔn)確率,平均結(jié)果如圖6所示。從圖6可看到,各惡意車輛占比下,本方案消息信任評(píng)估準(zhǔn)確率相比于BIM方案,分別提高了2.25%、3.47%、4.71%、1.01%、1.77%;相比于HMM方案,分別降低了2%、降低了1.3%、持平、提升了0.8%、降低了0.2%。由此得出,本方案在消息信任評(píng)估準(zhǔn)確率方面優(yōu)于BIM方案。盡管相比HMM方案準(zhǔn)確率仍有待提高,但本方案的準(zhǔn)確率足以滿足實(shí)際場(chǎng)景需求,而且HMM方案在信任評(píng)估時(shí),需要對(duì)近期廣播的歷史消息進(jìn)行訓(xùn)練分析,這會(huì)帶來較高的消息信任評(píng)估時(shí)延。消息信任評(píng)估時(shí)延是消息信任評(píng)估過程中的一個(gè)重要指標(biāo),因此,筆者設(shè)計(jì)實(shí)驗(yàn),對(duì)比本方案、HMM方案以及BIM方案在信任評(píng)估時(shí)的時(shí)延,平均結(jié)果如圖7所示。本方案完成1次消息信任評(píng)估的時(shí)延為0.470 2 ms,HMM方案為503.048 0 ms,BIM方案為0.449 5 ms。本方案的信任評(píng)估時(shí)間較HMM方案節(jié)省約99.9%,與BIM方案相近。

圖6 不同惡意車輛占比下3種方案的消息信任評(píng)估準(zhǔn)確率

圖7 3種方案的消息信任評(píng)估時(shí)延對(duì)比
此外,由于文中所選對(duì)比方案均使用區(qū)塊鏈實(shí)現(xiàn)分布式信任值存儲(chǔ),且本方案的系統(tǒng)評(píng)估時(shí)間滿足車聯(lián)網(wǎng)時(shí)延要求,因此,筆者不考慮引入?yún)^(qū)塊鏈前后對(duì)系統(tǒng)評(píng)估時(shí)間的影響。
筆者提出一種車聯(lián)網(wǎng)中區(qū)塊鏈輔助的緊急消息信任評(píng)估方案。在該方案中,筆者首先利用區(qū)塊鏈技術(shù)分布式存儲(chǔ)車輛信任數(shù)據(jù),實(shí)現(xiàn)了數(shù)據(jù)的可信存儲(chǔ);接著提出兩種緩存策略,并結(jié)合智能合約分別設(shè)計(jì)信任值查詢算法,實(shí)現(xiàn)了信任值的低時(shí)延查詢;最后基于所提查詢算法,引入車輛歷史信任值并結(jié)合車輛位置以及消息新鮮度作為緊急消息信任評(píng)估的參考因子,實(shí)現(xiàn)了低時(shí)延且高精準(zhǔn)的信任評(píng)估。與現(xiàn)有方案相比,所提方案的信任值查詢效率提升了79.9%~98.9%,信任評(píng)估準(zhǔn)確率提升了約4.71%。在下一步工作中,筆者將進(jìn)一步提升信任評(píng)估準(zhǔn)確率,以及平衡兩種緩存策略下路側(cè)單元查詢效率與存儲(chǔ)空間開銷之間的矛盾。