李子健,章國安,陳葳葳
(南通大學信息科學技術學院,江蘇南通 226019)
隨著第五代移動通信技術的快速發(fā)展,車聯(lián)網(Internet of Vehicles,IoV)通過不斷降低車與車(Vehicle-to-Vehicle,V2V)、車與道路基礎設施(Vehicle-to-Infrastructure,V2I)之間的通信時延,為道路交通安全與暢通提供了有效保障,但由于車輛的高速移動性和動態(tài)性,使得網絡拓撲不斷變化,極易遭受惡意節(jié)點入侵與攻擊,影響整個車聯(lián)網系統(tǒng)的安全。近年來,車聯(lián)網安全問題受到越來越多學者的關注。傳統(tǒng)解決方案采用公鑰基礎設施(Public Key Infrastructure,PKI)對車輛身份進行認證[1-3],利用加密[4-6]、數(shù)字簽名[7]等技術對車輛身份及交互信息進行管控。為提高隱私保護能力,車輛周期性接收到證書機構所產生的假名,并用假名在車聯(lián)網環(huán)境中進行匿名通信。利用上述技術能夠有效防止身份偽裝及隱私泄露,抵御篡改、女巫等攻擊[8-9],但由于車聯(lián)網點對點(Peer-to-Peer,P2P)的交互模式,無法抵御內部惡意節(jié)點的攻擊。內部惡意車輛節(jié)點在注冊身份后,以合法身份越過靜態(tài)信任機制認證,對車聯(lián)網環(huán)境中的其他車輛節(jié)點進行信息欺騙等攻擊[10-11],會對車聯(lián)網安全造成危害。通過將信任機制引入點對點網絡,雙方通過歷史行為軌跡對對方進行信任評估,能夠有效排查出環(huán)境內部的惡意節(jié)點。文獻[12]提出基于貝葉斯的信任模型,利用概率評估可信度。文獻[13]綜合考量交易總數(shù)、交易滿意度、反饋信任度等與信任有關的參數(shù),提出一種基于信任的P2P 信任模型。近幾年,許多學者將車聯(lián)網中的安全技術與信任機制相結合,構建車輛節(jié)點間的信任關系。文獻[14]通過將本地與全局信任相結合來構建一個反攻擊的信任體系。文獻[15]提出基于人為因素的車輛信息估計算法,通過車輛間信任和基于OSN 信任的融合,綜合估計車輛的總體信任值。文獻[16]在車聯(lián)網中建立信任模型,將可信性檢查和鄰節(jié)點推薦相結合,抵御中間人攻擊。但上述方案并沒有給出完整的車聯(lián)網信任機制,如何有效地在車聯(lián)網中實施信任評估并對評估節(jié)點及其信任值進行管理,成為車聯(lián)網亟待解決的安全問題。
區(qū)塊鏈[17-18]作為比特幣的核心技術,因去中心化、開放性、防篡改性、匿名性、可追溯性等特點成為近年來的熱門研究方向。區(qū)塊鏈技術的各種特性與車聯(lián)網安全十分契合,能夠為車聯(lián)網中車輛身份和交互信息的驗證和保存提供全新的思路。文獻[19]將SDN 與區(qū)塊鏈技術相結合來存儲車輛視頻信息,并提出一種信任管理機制來扼制惡意節(jié)點發(fā)送虛假信息。文獻[20]利用將位置證明替換工作量證明的區(qū)塊鏈來保存更新車輛的信用值。文獻[21]使用PoW 及PoS 共識機制將含有信任值的區(qū)塊上傳到區(qū)塊鏈。文獻[22]采用聯(lián)盟鏈中的PBFT 機制及公有鏈中的PoW 機制來選擇Leader 節(jié)點。文獻[23]提出一種基于聯(lián)盟鏈的車聯(lián)網管理方法,利用改進的DPoS 共識對車輛數(shù)據的安全分享提供保障,但是沒有對車輛的可靠性進行分析,進而影響了對礦工的判定。上述文獻通過聯(lián)盟鏈與車聯(lián)網的結合,在一定程度上解決了車聯(lián)網內部信任及信息存儲問題,但是多數(shù)文獻將公有鏈中的共識機制應用于聯(lián)盟鏈,造成了巨大的算力資源浪費,并且網絡性能較差。本文設計一種基于區(qū)塊鏈的車聯(lián)網安全通信策略,采用基于橢圓曲線的加密技術對車聯(lián)網外部攻擊進行防御,利用基于Beta 分布的直接信任和基于PageRank 算法的推薦信任相結合的信任評估對車聯(lián)網內部攻擊進行防御,使用智能合約技術實現(xiàn)車輛信息上鏈、查詢以及信任評估功能,通過RAFT 共識機制降低車聯(lián)網時延并提高吞吐量。
基于區(qū)塊鏈的車聯(lián)網安全通信系統(tǒng)模型如圖1所示,由證書頒發(fā)機構(CA)、路側單元(RSU)和車載單元(OBU)構成。CA 負責為進入車聯(lián)網的合法車輛進行身份注冊,產生公私鑰對,頒發(fā)身份證書。RSU 是分布在路邊的設備,通過長期演進技術(Long Term Evolution,LTE)與車輛上的OBU 進行信息傳遞,還負責將收集到的數(shù)據上傳到區(qū)塊。OBU 是車聯(lián)網的參與者,能夠與其他參與車聯(lián)網的車輛、路側單元、證書頒發(fā)機構進行通信,并向RSU上傳車輛信息。
圖1 基于區(qū)塊鏈的車聯(lián)網安全通信系統(tǒng)模型Fig.1 System model of blockchain-based IoV secure communication
基于區(qū)塊鏈的車聯(lián)網安全通信系統(tǒng)模型包括數(shù)據傳輸層、數(shù)據共識層和數(shù)據儲存層。數(shù)據傳輸層由車輛和RSU 組成。RSU 負責收集車輛上傳的歷史信任數(shù)據,并將其共識存儲至區(qū)塊鏈網絡。車輛作為用戶節(jié)點,駛入RSU 通信覆蓋范圍,與RSU 進行交互。為保證V2V 通信安全,車輛間利用信任模型進行信任評估,從而進行安全消息傳遞。數(shù)據共識層由RSU組成,RSU 將接收到的信息上浮至數(shù)據共識層,通過共識機制進行Leader 選舉并對信息進行排序共識。數(shù)據儲存層根據選出的Leader 將這一時間段的信息進行排序共識,并將數(shù)據上傳到區(qū)塊鏈。
根據上文系統(tǒng)模型,提出基于區(qū)塊鏈的車聯(lián)網安全通信策略,策略流程如圖2 所示。接入車聯(lián)網的RSU 節(jié)點與車輛節(jié)點通過CA 機構進行身份注冊得到注冊信息,并將注冊信息存儲至區(qū)塊鏈。在車輛間通信時,通過檢索區(qū)塊鏈查驗交互對方信息是否屬實,并計算對方車輛在此階段的信任值判別其可靠性,同時將本次計算的信任值存入區(qū)塊鏈。如果某一車輛的信任值多次低于某個設定的信任閾值,則將此車輛假名置于撤銷列表,車輛需重新向CA 申請身份注冊。
圖2 基于區(qū)塊鏈的車聯(lián)網安全通信策略流程Fig.2 Strategy procedure of blockchain-based IoV secure communication
區(qū)塊鏈通常采用PoW 共識機制來完成對信息的上傳,雖然PoW 去中心化程度及安全性能高,但是挖礦記賬將浪費大量資源及時間,系統(tǒng)性能較差,無法滿足車聯(lián)網節(jié)點的高速移動性及低時延要求。本文策略使用RAFT 作為區(qū)塊鏈的共識機制,具有如下優(yōu)勢:
1)復雜度僅為O(n),優(yōu)于PBFT 的O(n2)。
2)可容忍(n?1)/2 個故障節(jié)點,有效防止RSU 宕機產生的數(shù)據丟失等問題。
3)對于車聯(lián)網,Leader 選舉機制能較好地避免資源被浪費,數(shù)據信息上傳速度快且不會出現(xiàn)分叉。
RAFT 算法中的所有節(jié)點包含Leader、Candidate、Follower 等3 種角色,作為強一致性算法,選舉出的Leader 角色能夠決定信息的上鏈。RAFT 共識機制的具體過程如下:
1)一開始區(qū)塊鏈系統(tǒng)中的所有RSU 節(jié)點都為Follower 節(jié)點,如果Follower 節(jié)點在一段任期(Term)中沒有收到Leader 或者是Candidate 的響應,則自動增加任期,轉變?yōu)镃andidate 節(jié)點,對其他節(jié)點發(fā)起投票。當?shù)闷睌?shù)超過一半時,則說明此節(jié)點被選舉為Leader。如果另一個Candidate 節(jié)點贏得選舉,則此節(jié)點返回為Follower 節(jié)點。RAFT 選舉流程如圖3所示。
圖3 RAFT 選舉流程Fig.3 Procedure of RAFT election
2)Leader 節(jié)點將接收到的信息以區(qū)塊形式打包并廣播給其他節(jié)點。區(qū)塊中的區(qū)塊頭摒棄了公鏈需要的隨機數(shù)(Nonce),并增加了任期,如圖4 所示。其他節(jié)點收到區(qū)塊后對區(qū)塊內容中的時間戳和任期進行驗證,并復制一份作為存證。
圖4 區(qū)塊結構Fig.4 Structure of block
3)在得到超過半數(shù)節(jié)點的響應后,Leader 節(jié)點將區(qū)塊上鏈。
策略設計由基于橢圓曲線算法的身份注冊、信任評估、安全通信等3 個部分構成。身份注冊和安全通信中的符號說明如表1 所示。
表1 符號說明Table 1 Symbol description
所有參與車聯(lián)網的RSU 及車輛都需要向CA 進行身份注冊,RSU 將自己身份ID 提交給CA。CA 利用橢圓曲線加密算法對接入車聯(lián)網的車輛及RSU 生成公私鑰對及證書。CA 產生一個橢圓曲線Ep(a,b):y2=x3+ax+b(modp),必須滿足4a3+27b2≠0,且在橢圓曲線上取一個基點G(x,y),其中,p為素數(shù)域內點的個數(shù),a和b為兩個大數(shù)。RSU 與車輛的注冊流程如圖5 所示。
圖5 RSU 與車輛的注冊流程Fig.5 Procedure of RSU and vehicle registration
2.1.1 RSU 注冊
所有參與車聯(lián)網的RSU 都需要向CA 進行身份注冊,RSU 將自己身份ID 提交給CA,具體步驟如下:
步驟1RSU 向CA 發(fā)送注冊請求{RIDr,kr},可以抵御中間人攻擊。
步驟2CA 接受RSU 的發(fā)送注冊請求并驗證RSU 身份,在確認身份信息無誤后產生一個授權證書Certr,選擇一個橢圓曲線Ep(a,b)并隨機選取一個基點G(x,y)。CA 將RSU 發(fā)送的kr作為RSU 的私鑰PRIr,用私鑰PRIr產 生RSU 公 鑰PUBr=PRIr×G。在產生公私鑰對后,將RSU 注冊完成時間戳TSr及PUBr向全網廣播。
步驟3CA 將{TSr,PUBr,PRIr,Certr}通過安全通道傳輸給等待注冊的RSU,RSU 收到CA 消息后RSU 注冊流程結束。
2.1.2 車輛注冊
在車輛接入車聯(lián)網系統(tǒng)前,需要向CA 發(fā)起身份注冊申請,具體步驟如下:
步驟1車輛向CA 發(fā)送注冊請求{RIDv,TSv},其中TSv為車輛申請時的時間戳。
步驟2CA 接受車輛的注冊申請請求并驗證車輛身份,確認身份信息無誤后,CA 產生一個隨機數(shù)kv作為車輛私鑰PRIv,選擇一個橢圓曲線Ep(a,b),并在橢圓曲線上取一個基點G(x,y)。CA 將自身產生的隨機數(shù)kv作為RSU 的私鑰PRIv,使用私鑰PRIv產生RSU 公鑰PUBv=PRIv×G。然后,CA 為車輛產生假名PIDv=h(RIDv||kv),CA 根據TSv為車輛頒發(fā)含有注冊失效時間的授權證書Certv并賦予車輛一個初始的直接信任值DTdefault。
步驟3CA 將{PIDv,PUBv,PRIv,Certv,DTdefault}通過安全通道傳輸給等待注冊的車輛并上傳至區(qū)塊鏈,車輛收到CA 信息后車輛注冊流程結束。
在注冊身份完成后,車輛節(jié)點依舊有可能會進行惡意攻擊,對車聯(lián)網信息系統(tǒng)進行破壞。本文策略在車輛通信時增加了信任評估機制,計算出的信任值將由車輛上傳至附近的RSU,RSU 通過共識機制將信任值等信息上傳到區(qū)塊鏈中進行存儲。
2.2.1 直接信任值
計算在t+1 時段車輛節(jié)點j的直接信任值,主要考慮之前時段車輛節(jié)點i與j的交互情況。利用Beta分布對車輛節(jié)點i與j進行直接信任值計算,如式(1)所示:
其中:S(i,j)表示車輛節(jié)點i和j交互成功次數(shù);F(i,j)表示車輛節(jié)點i和j交互失敗次數(shù);D(i,j)能夠反映兩個車輛節(jié)點之間交互的情況。
但是,僅依賴車輛節(jié)點交互成功率不能保證節(jié)點在獲得信任后會發(fā)送真實信息,因此增加反饋評價度C,表示在交互成功的前提下車輛節(jié)點i對j的可信度評價,如式(2)所示:
其中:t(i,j)表示車輛節(jié)點i發(fā)送消息中真實信息的個數(shù);n(i,j)表示車輛節(jié)點i發(fā)送信息的總數(shù),發(fā)送的真實信息數(shù)越多,反饋評價度越高。
在t+1 時段車輛節(jié)點j的直接信任值計算如式(3)所示:
其中:N為交互次數(shù)。如果車輛沒有交互,那么直接信任值為注冊時CA 分發(fā)的初始信任值,但是如果節(jié)點進行搖擺攻擊,即積累信任值,然后發(fā)動攻擊,那么很難計算直接信任值。引入時間影響度δ(Δt),表示上一時段節(jié)點信任值對當前節(jié)點信任值的影響,如式(4)所示:
其中:Δt=tn+1?tn;λ為調節(jié)系數(shù),λ越小,時間影響度越大,意味著上一時段的直接信任值對這一時段的直接信任值的影響越大。當上一時段信任值減少時,λ小幅增加;當連續(xù)減少3 次及以上時,λ大幅增加。
將時間影響度考慮在內的直接信任值計算如式(5)所示:
2.2.2 推薦信任值
當兩個車輛節(jié)點沒有直接交互或者直接交互次數(shù)過少時,車輛節(jié)點i需要通過獲取在車聯(lián)網中其他與i進行交互過的節(jié)點j的信任評價來計算推薦信任值。惡意詆毀攻擊通常發(fā)生在推薦信任值計算時,攻擊方式有2 種:1)對同樣是惡意節(jié)點的車輛節(jié)點進行過高評價,使得惡意車輛節(jié)點能夠繼續(xù)維持一個較高的信任值,得以在車聯(lián)網中繼續(xù)運作;2)對交互過的正常車輛節(jié)點進行差評,使得正常車輛節(jié)點的信任值下降,從而破壞信任模型。
通過改進PageRank 算法[24]進行車輛的推薦信任值計算,如式(6)所示:
其中:PR(u)為所計算的網頁u的PageRank 值;P為網頁總數(shù);α是阻尼系數(shù),一般取0.85;Bu為頁面u的入鏈集合;PR(Pv)為網頁Pv的PageRank 值;L(Pv)為Pv鏈出頁面的數(shù)量。
通過對PageRank 算法進行改進,評估車輛的推薦信任值。所計算的推薦信任值也可看作是對系統(tǒng)環(huán)境內車輛交互積極性的信任值獎勵,如果在一段時間內車輛進入車聯(lián)網系統(tǒng)但不與任何其他車輛進行交互,那么只能得到一個較小的推薦信任值。與其他車輛節(jié)點交互越多,相應的推薦信任值在一定程度上會越大。改進PageRank 算法的推薦信任值計算如式(7)所示:
其中:K(k1,k2,…,kn)表示在n時段與車輛節(jié)點j交互過的所有節(jié)點的集合;PR 表示在n時段車輛節(jié)點k的PageRank 值;L(k)表示車輛節(jié)點k在n時段的總交互次數(shù);M表示此時段的車輛總數(shù)。車輛節(jié)點的推薦信任值由與車輛節(jié)點j交互過的車輛節(jié)點集合K(k1,k2,…,kn)共同決定。如果有車輛節(jié)點在當前時段離開車聯(lián)網或者是因為信用問題被強制注銷,那么此節(jié)點不包括在K集合中。同樣地,如果在當前時段有新的車輛節(jié)點加入并與j發(fā)生交互,那么對j的推薦要等到下一時段才能生效。
在推薦信任值計算過程中加入節(jié)點相似度的概念,能夠更好地抵御惡意詆毀攻擊。節(jié)點相似度計算如式(8)所示:
其中:Set(i,k)為節(jié)點i與k都交互過的節(jié)點集合;N(Set(i,k))為此集合的節(jié)點數(shù)量;C(i,x)為節(jié)點i對此集合中節(jié)點x的反饋評價;C(k,x)為節(jié)點k對此集合中節(jié)點x的反饋評價。兩個車輛節(jié)點對同一車輛的反饋評價越接近,兩個車輛節(jié)點的相似度越高。
推薦信任值計算公式如式(9)所示:
當總交互次數(shù)小于等于1 次時,系統(tǒng)只賦予一個較小的推薦信任值。
2.2.3 綜合信任值
將直接信任值和推薦信任值相結合計算綜合信任值,如式(10)所示:
其中:?為信任調節(jié)權重,能夠調節(jié)直接信任值和推薦信任值的比例。在產生車輛的信任值后,將車輛的假名、信任值、產生時間戳、其他信息以及此時RSU 的服務范圍傳給附近RSU 寫入區(qū)塊中。
車與車、車與RSU 在通信前必須對車輛身份進行驗證,驗證流程如圖6 所示。
圖6 車輛身份驗證流程Fig.6 Procedure of vehicle identity authentication
車輛節(jié)點的身份驗證步驟具體如下:
1)車輛到RSU 的認證申請
在車輛進入RSU 管轄范圍后,對自身的假名、公鑰、證書以及信任值{PIDv,PUBv,Certv}使用Hash 函數(shù)產生摘要DIG1=h({PIDv,PUBv,Certv})。使用車輛私鑰PRIv對此摘要進行簽名,產生數(shù)字簽名SIG=sig(DIG1)。車輛將SIG 以及{PIDv,PUBv,Certv}一起發(fā)送給RSU。
2)RSU 驗證
步驟1RSU 收到車輛發(fā)送的信息后,用PUBv驗證簽名SIG 得到DIG1,將收到的{PIDv,PUBv,Certv}使用同樣的Hash函數(shù)計算得到DIG2。如果DIG1=DIG2,則發(fā)送的信息沒有被篡改,則執(zhí)行步驟2。
步驟2RSU 提取車輛假名PID,調用智能合約Search Information()函數(shù),在區(qū)塊鏈中進行查詢:若PID 存在,則說明此車輛經CA 授權;若驗證沒有通過,則將此車輛的證書撤回,車輛需要重新在CA 中進行身份注冊。
步驟3若車輛合法,則返回認證成功消息。車輛向RSU 上傳信息。
3)車輛A 到車輛B 的認證申請
車輛A 向車輛B 發(fā)送通信請求{PIDv,PUBv,Certv}。對{PIDv,PUBv,Certv}使用Hash 函數(shù)產生摘要DIG3=h({PIDv,PUBv,Certv}),使用車輛私鑰PRIv對此摘要進行簽名產生數(shù)字簽名SIG。車輛B 將SIG 和{PIDv,PUBv,Certv}一起發(fā)送給車輛B。
4)車輛B 驗證
步驟1車輛B 收到車輛A 發(fā)送的信息后,使用PUBv驗證簽名SIG 得到DIG3。將收到的{PIDv,PUBv,Certv}使用同樣的Hash 函數(shù)計算得到另外一個數(shù)字摘要DIG4。如果DIG3=DIG4,則可保證信息的完整性。
步驟2車輛B 接受請求申請,首先查驗車輛A證書是否到期,如果到期則拒絕通信。接著車輛B 根據車輛A 的假名,調用智能合約Search Information()在區(qū)塊鏈中查找車輛A 的信任值,如果信任值低于某一閾值,則拒絕通信。
步驟3車輛B 如果接受通信請求,則將{PIDv,PUBv,Certv}發(fā)給車輛A。車輛A 同樣按照上述步驟對車輛B 進行認證。在接受通信后,雙方對本次通信對方的信任值進行計算并就近上傳至RSU,由RSU 寫入區(qū)塊。
5)全局通信安全
每過一段時間,車聯(lián)網中管理員會通過智能合約Revoke Information()來遍歷區(qū)塊鏈,找到被其他車輛認定信任值低于閾值的車輛假名并置于撤銷列表。
安全通信涉及的區(qū)塊鏈賬本操作均通過智能合約完成。智能合約主要包括信息上鏈、身份信息驗證、信任評估等3 種功能。智能合約根據不同的場景需求制定相關策略,通過代碼方式寫入區(qū)塊鏈,在觸發(fā)條件后能夠自動完成合約上的預設。本文采用智能合約對車輛信任值及信息進行管理,可以實現(xiàn)對車輛信任值的上鏈、更改與更新,以及查找出信任值不符合規(guī)定的所有車輛。
1)Upload Information()智能合約
Upload Information()智能合約收集車輛上傳給RSU 的信息,車輛信息包括假名、時間戳、所需提交的RSUID、車輛公鑰、信任值及其他信息,利用賬本數(shù)據狀態(tài)操作API 中GetState 及PutState 方法對信息狀態(tài)進行操作。
2)Search Information()智能合約
Search Information()智能合約為用戶提供已上鏈車輛信息的查詢功能。當用戶有查詢需求時,需要輸入車輛的假名以此獲取車輛的所有信息。利用賬本數(shù)據狀態(tài)操作API中的GetState方法對信息狀態(tài)進行操作。
Revoke Information()智能合約可對車聯(lián)網系統(tǒng)中信任值較低的車輛節(jié)點進行排查,對于排查出的多次被其他車輛認定信任值較低的車輛,能夠根據車輛的假名以及公鑰在CA 中進行證書的撤回。
測試在5 個車輛節(jié)點交互的情況下車輛節(jié)點綜合信任值的變化情況。初始綜合信任值設為0.5,?設為0.7。如圖7 所示,隨著時段的增加,正常車輛綜合信任值不斷增加,惡意車輛綜合信任值不斷減小。
圖7 車輛綜合信任值評估Fig.7 Evaluation of vehicle comprehensive trust value
為測試本文策略的可行性,利用Hyperledger Fabric 組件搭建基于區(qū)塊鏈的信任評估系統(tǒng)(簡稱為本文系統(tǒng))模擬車輛信息的上鏈查詢過程,部署多個節(jié)點模擬RSU 進行區(qū)塊鏈仿真。仿真環(huán)境配置為Ubuntu 16.04 操作系統(tǒng)、Hyperledger Fabric 1.4.3 測試環(huán)境、Docker 應用容器引擎、Golang 編程語言。仿真主要對系統(tǒng)吞吐量和平均時延進行壓力測試。模擬車輛終端向系統(tǒng)發(fā)送5 000 筆交易,通過改變交易發(fā)送速率,觀察系統(tǒng)性能的變化。
在較低交易發(fā)送速率的情況下,在上鏈過程中系統(tǒng)吞吐量和平均時延的變化如圖8(a)、圖8(b)所示。在上鏈過程中,交易發(fā)送速率由25 transaction/s增加至150 transaction/s,每次疊加25 transaction/s 對系統(tǒng)進行測試。在查詢過程中系統(tǒng)吞吐量和平均時延的變化如圖8(c)、圖8(d)所示。在查詢過程中,交易發(fā)送速率由50 transaction/s增加至300 transaction/s,每次疊加50 transaction/s 對系統(tǒng)進行測試?;趨^(qū)塊鏈的信任評估系統(tǒng)相比文獻[17]模型在較低交易發(fā)送速率的情況下具有較高的吞吐量以及較低的時延。
圖8 低交易發(fā)送速率下的吞吐量與平均時延對比Fig.8 Comparison of throughput and average time delay under low transaction sending rate
在較高交易發(fā)送速率的情況下,上鏈及查詢過程的系統(tǒng)吞吐量及平均時延變化如圖9、圖10 所示,兩個過程的交易發(fā)送速率均從100 transaction/s 增加至1 000 transaction/s,每次疊加100 transaction/s。由圖9 可以看出,在交易發(fā)送速率為400 transaction/s之后,上鏈過程吞吐量穩(wěn)定保持在373.8 transaction/s左右。在交易發(fā)送速率為700 transaction/s 之后,查詢過程吞吐量穩(wěn)定保持在665.1 transaction/s 左右,均能滿足車聯(lián)網需求。由圖10 可以看出,隨著交易發(fā)送頻率的提高,查詢與上鏈過程的平均時延都有所提高,但是上鏈過程的響應時延均在7 s 之內,查詢過程的響應時延均在3 s 之內。因為查詢過程不需要與Hyperledger Fabric 中的節(jié)點進行通信,所以查詢過程的平均時延及吞吐量均要優(yōu)于上鏈過程。
圖9 高交易發(fā)送速率下的吞吐量對比Fig.9 Comparison of throughput under high transmission sending rate
圖10 高交易發(fā)送速率下的平均時延對比Fig.10 Comparison of average time delay under high transmission sending rate
綜上所述,本文設計的基于區(qū)塊鏈的信任評估系統(tǒng)在高交易發(fā)送速率及低交易發(fā)送速率下均具有較高的吞吐量及較低的時延,可滿足車聯(lián)網實時通信需求,同時保證數(shù)據傳輸?shù)陌踩煽啃浴?/p>
本文從車輛節(jié)點身份注冊與信任評估兩方面入手,提出基于區(qū)塊鏈的車聯(lián)網安全通信策略。利用橢圓曲線加密算法為車輛及RSU 生成通信所需的證書等信息,并對外部攻擊進行抵抗,保證通信節(jié)點的真實性。運用直接信任和推薦信任相結合的方式對車輛信任值進行量化判斷,將其與車輛的其他信息共同寫入區(qū)塊鏈,利用區(qū)塊鏈去中心化、可追溯等特點為車聯(lián)網提供分布式存儲系統(tǒng)。同時,通過智能合約上鏈查詢信息,對惡意車輛進行評估監(jiān)管,實現(xiàn)對內部攻擊的抵抗。仿真結果驗證了該策略具有較高的系統(tǒng)吞吐量及較低的平均時延,能夠滿足車聯(lián)網實時安全通信需求。后續(xù)將改進RAFT 選舉機制,通過提升RAFT 共識機制的去中心化程度以及區(qū)塊鏈系統(tǒng)的吞吐量,增強車聯(lián)網整體性能。