国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈與云-邊緣計算混合架構的車聯(lián)網(wǎng)數(shù)據(jù)安全存儲與共享方案

2021-11-05 01:29巫光福王影軍
計算機應用 2021年10期
關鍵詞:邊緣共識區(qū)塊

巫光福,王影軍

(江西理工大學信息工程學院,江西贛州 341000)

0 引言

在車聯(lián)網(wǎng)(Internet of Vehicles,IoV)環(huán)境下的車輛配備了先進的車載傳感器和智能電子設備,并進一步配備無線通信裝置車載單元(On Board Unit,OBU),能夠有效完成IoV 內(nèi)部成員之間的交互通信。數(shù)據(jù)信息的傳遞和共享主要通過車對車(Vehicle to Vehicle,V2V)、車對路(Vehicle to Road,V2R)和路對路(Road to Road,R2R)三種方式,利用邊緣計算技術對車輛節(jié)點中的敏感數(shù)據(jù)進行局部處理。同時,非敏感信息通過互聯(lián)網(wǎng)傳輸,實現(xiàn)基于車輛(Vehicle,V)和路側單元(Road Side Unit,RSU)的信息交互。

然而,由于大量設備接入網(wǎng)絡并請求相應的網(wǎng)絡服務,網(wǎng)絡帶寬會被各種智能聯(lián)網(wǎng)設備占用,導致服務器處理任務請求速度慢、效率低下。在過去的云計算模式中,將消息處理工作部署在云端,造成消息處理速度慢、數(shù)據(jù)傳輸延遲、占用高帶寬資源,核心網(wǎng)難以滿足高峰時段回程負荷的延時要求。同時,由于云計算的集中計算特性,會進一步導致節(jié)點分布不均,惡化數(shù)據(jù)傳輸和信息獲取的過程。由于IoV 系統(tǒng)通常運行在無線網(wǎng)絡環(huán)境中,惡意攻擊者可以很容易地截獲、插入、刪除和修改傳輸?shù)男畔ⅰ4送?,如果在通信過程中車輛的身份信息泄露,車輛的位置和運行軌跡等私人信息可能會暴露出來。因為交通信息的安全性和完整性關系到對車內(nèi)人員的保護,一旦傳輸?shù)臄?shù)據(jù)出現(xiàn)錯誤,就有可能造成交通事故和人員傷亡。鑒于上述安全挑戰(zhàn),通信過程中的異常延遲問題亟待解決,保證信息的安全性和完整性至關重要。

區(qū)塊鏈技術是一種共享的分布式賬本技術,它由網(wǎng)絡中的所有節(jié)點管理、維護和監(jiān)督。邊緣計算是在網(wǎng)絡邊緣執(zhí)行計算的一種新的范式,它通過在云計算和智能設備之間搭建橋梁來支持嚴格的移動應用需求[1]。IoV 上的車輛節(jié)點和邊緣計算中的邊緣節(jié)點類似于區(qū)塊鏈中的網(wǎng)絡節(jié)點。因此,區(qū)塊鏈+邊緣計算有望為IoV 上的安全威脅和高延遲問題提供解決方案。

文獻[2]中針對移動邊緣計算中資源有限的問題,通過在線學習使任務延遲最小化;文獻[3]中使用多平臺卸載的智能資源分配算法降低IoV 上計算任務的時延和系統(tǒng)成本,該算法節(jié)省了系統(tǒng)總開銷的80%;文獻[4]中提出了一種聯(lián)合通信和計算資源分配優(yōu)化方案,使用云計算和邊緣計算來提高邊緣云的效率,與傳統(tǒng)的云計算方案相比,該方案具有更好的時延性能;文獻[5]中將移動邊緣計算(Mobile Edge Computing,MEC)與云計算相結合,通過決策和資源分配的聯(lián)合優(yōu)化來實現(xiàn)計算卸載問題。

與上述研究不同,本文提出了一種新的車聯(lián)網(wǎng)信息安全存儲和共享方案,將區(qū)塊鏈技術和邊緣計算技術有機地結合起來。本文的主要工作如下:

1)虛擬地將車輛節(jié)點和路邊單元節(jié)點作為區(qū)塊鏈的網(wǎng)絡節(jié)點,通過區(qū)塊鏈傳遞交通信息,保證數(shù)據(jù)的完整性和安全性。私有鏈和聯(lián)盟鏈的結合使用平衡了分散技術與弱集中的現(xiàn)實之間的矛盾。普通車輛將形成基于聯(lián)盟區(qū)塊鏈的車輛網(wǎng)絡,而專用車輛將單獨形成私有區(qū)塊鏈。

2)采用一種改進的基于身份的數(shù)字簽密算法來避免公鑰證書的缺點,并引入了私鑰生成器(Private Key Generator,PKG);采用基于離散中心二項分布的環(huán)簽名方案,減小簽名長度。

3)在路邊單位和車輛上嵌入邊緣計算設備,可以將傳統(tǒng)的云端數(shù)據(jù)交互形式轉(zhuǎn)化為云-邊緣端。私人敏感數(shù)據(jù)將直接通過本地邊緣設備進行處理,如果需要復雜的計算,通過安全通道傳輸?shù)皆七M行處理。

4)提出了一種基于信譽值的動態(tài)分層的實用拜占庭容錯機制,并在區(qū)塊鏈網(wǎng)絡中部署智能合約,實現(xiàn)聲譽價值管理。

1 相關工作

1.1 區(qū)塊鏈

區(qū)塊鏈是由對等(Peer to Peer,P2P)網(wǎng)絡的節(jié)點維護的分布式數(shù)據(jù)庫。區(qū)塊鏈技術已經(jīng)應用于IoV。區(qū)塊鏈以多方共識、主體對等、安全通信等諸多優(yōu)勢,改善了IoV 的信用安全、成本控制和應用環(huán)境,并通過進一步加大身份權限管理和隱私信息保護力度,實現(xiàn)對非法節(jié)點的識別和對非法入侵的有效防范。區(qū)塊鏈技術使用可編程智能合約自動填寫和執(zhí)行合約。區(qū)塊鏈上的所有實體都可以同步獲取信息并及時進行相應的處理,極大地節(jié)省了時間和管理成本,提高了效率。為了保證交易數(shù)據(jù)的有效性和真實性,讓更多的節(jié)點參與到共識過程中,需要通過一種機制來激發(fā)節(jié)點的積極性。大多數(shù)節(jié)點都經(jīng)過認證,共識機制可以防止數(shù)據(jù)寫入?yún)^(qū)塊鏈賬本后被篡改,保證數(shù)據(jù)的真實性。區(qū)塊鏈分為公有鏈、聯(lián)盟鏈和私有鏈[6]。本文采用聯(lián)盟鏈-私有鏈的雙鏈架構,將普通車輛節(jié)點加入聯(lián)盟鏈,利用特殊車輛節(jié)點構成私有鏈,該架構在保證普通車輛正常需求的基礎下,將給予特殊車輛節(jié)點更多優(yōu)待。

1.2 邊緣計算

邊緣計算是一個高度虛擬化的平臺,在終端設備和云之間提供計算和存儲等網(wǎng)絡服務[7],是云計算的延伸。邊緣計算操作的對象分別為來自云端的下行數(shù)據(jù)和智能設備的上行數(shù)據(jù)[8]。邊緣設備具有相當大的計算能力和閑置資源。如果系統(tǒng)能夠以低延遲的方式處理一些簡單的邊緣設備,那么系統(tǒng)就可以像處理實時任務那樣具有低延遲。在IoV 上,車輛內(nèi)部空間得到了極大的改善,越來越多具有高處理、存儲和計算能力的電子設備裝備在車上。同時,為了更好地為車輛服務,在道路兩側部署了大量高性能的路邊設備。以上結果表明,如果對這種車載設備和路側能夠合理使用,IoV 系統(tǒng)的性能將得到提高。

邊緣計算模型的應用具有以下3個優(yōu)點[9]:

1)在網(wǎng)絡邊緣處理海量的臨時數(shù)據(jù),只有計算復雜度高的數(shù)據(jù)才會上傳到云端,極大地減輕了網(wǎng)絡帶寬和數(shù)據(jù)中心的壓力。

2)在數(shù)據(jù)生產(chǎn)終端附近提供數(shù)據(jù)處理服務,消除了向云計算中心請求響應的步驟,達到了減少系統(tǒng)延遲、增強服務響應的目的。

3)邊緣計算可以防止用戶上傳私有數(shù)據(jù),主要是通過將私有數(shù)據(jù)存儲在網(wǎng)絡邊緣設備中,以降低數(shù)據(jù)泄露的風險。此外,邊緣計算可以基于用戶隱私數(shù)據(jù)提供更個性化的服務,改善用戶體驗。

圖1 顯示了一個通用的邊緣計算框架,它可以分為3 層:1)底層由智能設備組成,包含各種傳感器和本地數(shù)據(jù),這些設備可以使用短程通信技術(如無線、藍牙)連接到位于上層的邊緣節(jié)點。2)邊緣層是終端、智能設備和云層之間的媒體層,由路由器、網(wǎng)關和轉(zhuǎn)換器等邊緣設備組成,這些邊緣設備是構成邊緣計算框架的節(jié)點,每個節(jié)點都有足夠的智能來處理來自終端設備的大量數(shù)據(jù)。3)頂層是云層,需要更大計算能力的節(jié)點將被邊緣層傳輸?shù)皆茖舆M行計算。

圖1 通用邊緣計算框架Fig.1 General edge computing framework

2 本文系統(tǒng)方案

傳統(tǒng)的IoV 包括運輸中心(Transportation Center,TC)、RSU 和V 這3 個部分:TC 控制車輛信息的登記和交通信息的存儲;RSU安裝在道路兩側,主要負責響應車輛的驗證和通信服務;V可通過其車載單元與其他單元通信。與傳統(tǒng)的IoV不同,本文方案對交通信息數(shù)據(jù)進行了更細致的處理。本文方案基于有序的區(qū)塊鏈網(wǎng)絡,主要由以下幾個部分組成:可信云服務提供商(Trusted Cloud Service,TCS)、TC、PKG、邊緣計算設備(Edge Computing Device,ECD)、RSU 和V。TCS 用于存儲車輛運行過程中上傳到網(wǎng)絡的完整信息,數(shù)據(jù)匯總并存儲在區(qū)塊鏈網(wǎng)絡中,以確保信息的完整性和不變性。TC 用于注冊存儲合法的車輛注冊信息。車輛注冊信息可用于生成用戶的公鑰,PKG 用于為用戶創(chuàng)建公鑰對應的私鑰。ECD 可以實時響應終端用戶的服務請求。

2.1 假設

為了保證本系統(tǒng)方案的安全實施,現(xiàn)給出如下假設:

假設1 只要私鑰未泄露,那么基于身份的加密算法可以為系統(tǒng)間各實體的通信提供安全通信信道[10],基于身份的簽名算法可以保證發(fā)送的信息具有不可抵賴性。

假設2 TCS、PKG 和TC 均具有足夠高的安全級別,TCS可以有效地保護已經(jīng)在云端存儲的交通信息數(shù)據(jù),而PKG 和TC 可合理分工,從而對車輛公私鑰與真實身份之間的聯(lián)系進行保存,單一的機構無法獲取完整聯(lián)系。

假設3 分布在道路兩邊的RSU 均配置邊緣計算設備,而車輛中也配備了定制的硬件設備,通過這些設備可大幅提高計算能力。

假設4 攻擊者無法在車聯(lián)網(wǎng)系統(tǒng)中控制超過半數(shù)的車輛[11]。

假設1 是為了確保交通信息數(shù)據(jù)的完整性、真實性和不可抵賴性。在車聯(lián)網(wǎng)中,完全的匿名是不被允許的,假設2 是車聯(lián)網(wǎng)系統(tǒng)匿名性要求和安全性要求的權衡。當發(fā)生事故時,執(zhí)法機構有權從PKG 和TC 中調(diào)取相關車輛的信息,以便對其進行追蹤,同時也能達到收集證據(jù)的目的。為實現(xiàn)邊緣計算框架的部署和隱私數(shù)據(jù)本地化處理,假設3 是必不可少的,若車輛網(wǎng)的算力越高,信息處理速度就越快,越能滿足智能交通實時性需求。由于本文所提系統(tǒng)基于區(qū)塊鏈技術,一旦有人掌控超過全網(wǎng)一半的車輛,那么系統(tǒng)將無安全性可言。系統(tǒng)內(nèi)算力越高,代表著攻擊者付出的代價越大,一旦攻擊者的付出超過收益,攻擊就顯得毫無意義,車聯(lián)網(wǎng)系統(tǒng)也因而提升了自身安全級別。

2.2 系統(tǒng)通信模型

系統(tǒng)通信模型如圖2 所示,在圖2 中存在兩種車輛,分別是普通車輛Vi和特殊車輛SVi。在V2V通信過程中,存在單播或多播兩種傳輸機制,并且只允許車輛參與。V2V 中傳輸?shù)男畔⑼ǔ0ㄋ俣取⒎较蚝徒煌〒矶聰?shù)據(jù)等。在進行目的性通信時,某一車輛發(fā)出的信息只有特定車輛才能解密閱讀。為確保數(shù)據(jù)的可靠性,發(fā)送方需對信息進行數(shù)字簽名,而接收方則需進行相關驗證工作。確認數(shù)據(jù)是真實有效之后,接收車輛將及時地進行數(shù)據(jù)分析,然后根據(jù)分析結果來輔助駕駛員行駛,為駕駛員的人身安全提供保障。在車聯(lián)網(wǎng)中,RSU作為一個固定點存在,只有當車輛進入某一RSU 的固定無線通信范圍內(nèi),才可以進行V2R。由于RSU之間使用有線通信,所以不存在使用無線通信諸多限制。為保證特殊車輛更好地執(zhí)行任務,只有特殊車輛主動向普通車輛發(fā)出通信請求時,普通車輛才可以與之通信,反之則無法通信。

圖2 系統(tǒng)通信模型Fig.2 System communication model

2.3 主動式遠程卸載計算任務模型

RSU 是一個固定的點且通信范圍有限,這限制了配備有邊緣計算設備的RSU的服務范圍。V2R卸載任務時數(shù)據(jù)傳輸速度慢以及邊緣計算設備中的計算任務需要排隊等候,均會使計算時延增加。車輛通常處于高速移動狀態(tài),可能存在RSU 內(nèi)計算任務尚未完成,車輛就已經(jīng)駛離RSU 可通信范圍的狀況。

主動式遠程卸載計算任務可解決上述問題,通過合理利用V2V、V2R 和R2R 通信便可實現(xiàn),具體可見圖3。在本文所述方案中,車輛可通過多跳V2V 方式主動將計算任務卸載到某個遠方RSU 內(nèi)部的邊緣計算設備中進行計算,當車輛駛入該RSU 通信范圍內(nèi),就可以從RSU 中獲得計算好的數(shù)據(jù)。圖中的SV1和V1均是使用該方法進行復雜計算任務的卸載,兩者的不同之處在于,SV1發(fā)出的卸載請求可以在任意特殊車輛和普通車輛中傳播,而V1發(fā)出的請求只能在普通車輛中傳播。為了能及時地在目標RSU 通信范圍內(nèi)接收到數(shù)據(jù)結果,車輛需對多方面信息進行評估,從而預測出目標RSU 的位置。

圖3 主動式遠程卸載計算任務模型Fig.3 Active remote offloading computation task model

2.4 數(shù)據(jù)存儲模型

本文采用二叉樹結構,樹上的葉子節(jié)點值是該葉子節(jié)點所包含的全體子節(jié)點組合的總哈希值,根值則是數(shù)據(jù)區(qū)塊中全體交易的總哈希值。區(qū)塊體的作用則是進行數(shù)據(jù)存儲,數(shù)據(jù)區(qū)塊具體框架如圖4所示。

圖4 數(shù)據(jù)區(qū)塊結構Fig.4 Structure of data block

本文在原有區(qū)塊鏈基礎上,加入了可信的云服務提供商,詳細的數(shù)據(jù)以密文或明文形式存儲在安全級別足夠高的云端存儲器中,而標明元數(shù)據(jù)位置的索引列表存儲在區(qū)塊鏈網(wǎng)絡中。為了給特殊車輛提供更好的隱私服務,與特殊車輛相關的交通信息的索引列表將存在由特殊車輛組成的私有鏈中。首先,特殊車輛存在于普通車輛構成的聯(lián)盟鏈內(nèi);其次,在聯(lián)盟鏈基礎上,特殊車輛構成了自身的私有鏈。這也是特殊車輛可以主動和普通車輛進行通信,而普通車輛無法主動同特殊車輛通信的原因所在。

3 系統(tǒng)的具體實施方案

本文方案中使用的變量說明如表1。

表1 變量說明Tab.1 Variable description

3.1 車輛節(jié)點加入流程

在本文系統(tǒng)中,當有Vi想要加入車聯(lián)網(wǎng)時,需要分別從TC和PKG 獲得相應的公私鑰對,并以此作為類似于傳統(tǒng)網(wǎng)絡中的賬號和登錄密碼,普通車輛節(jié)點加入流程如圖5 所示。如果Vi未在TC 進行登記,那么車輛擁有者需要先將IDi發(fā)送給TC,IDi包括用戶信息和車輛信息,然后TC 會遍歷B,如果IDi存在于B中,則駁回申請信息,車輛注冊失??;如果不存在,則進行下一步,TC 隨機生成xi(xi∈),通過H1(IDi,xi)可獲得將被發(fā)送給Vi并存儲在L中。如果Vi已經(jīng)在TC登記過,那么車輛擁有者可將發(fā)送給PKG,得到后,PKG 首先遍歷L,若L中存在,則PKG 生成并將其發(fā)送給Vi,然后被存儲在S中,車輛注冊成功,流程結束;若L中不存在,則駁回申請信息,車輛注冊失敗。需注意的是,在本文系統(tǒng)中,對于普通車輛,一輛車只能綁定一個用戶,但是同一用戶可以綁定多個車輛,信譽分只綁定于用戶的個人身份信息;對于特殊車輛,一輛車可以綁定多個用戶,而用戶必須是擁有特殊編號的在職人員,SVi加入流程如圖5所示。

圖5 普通車輛節(jié)點加入流程Fig.5 Flowchart of adding ordinary vehicle nodes

3.2 基于身份的多PKG密及驗證

3.2.1 簽密過程

本方案中基于身份的多PKG簽密過程如下:

設置1 定義兩個素數(shù)階均為p的循環(huán)群G1和G2,g為G1的生成元,映射e:G1×G2→G。令H1():{0,1}?→G1,H2():G2→{0,1}t,H3():{0,1}?→為3 個密碼學哈希函數(shù),t表示要簽名和加密的消息的位數(shù)。選取基于密鑰k的加密函數(shù)Ek()和解密函數(shù)Dk(),k由計算獲得,并非固定數(shù)值。設Ring=(ID1,ID2,…,IDn)表示環(huán)成員的集合,c表示在集合中隨機均勻選擇的哈希值。系統(tǒng)公共參數(shù)為{G1,G2,p,g,e,t,H1,H2,H3,Ek,Dk}。

設置2 每個PKGi(i=1,2,…,n)可以隨機選擇si∈作為私鑰并計算出相應公鑰Pi=sig。PKGi的公鑰Pi將會公布出去,而對應的私鑰si則會被秘密保存。

3.2.2 驗證過程

1)簽名算法的正確性。

綜上可知,RingVerify()以壓倒性的概率輸出“1”。因此該簽名方案滿足正確性。

2)加密算法的正確性。

要想驗證V2通過解簽名獲取的信息是否等于原始信息,只需要計算式(2)是否成立:

機密性 假設對手A可以通過有效的概率多項式時間算法來對σ=(c,U1,U2,Ver)進行解簽密。這意味著給A三個值U1=xg,P2=s2g,=bg(需注意,對于A來說,x,s2,b均屬于未知數(shù)),A可以根據(jù)有效的概率多項式時間算法得出δ的值,推導過程如式(3):

顯然,這與決策雙線性Diffie-Hellman 問題(Decisional Bilinear Diffie-Hellman Problem,DBDHP)相反。

不可偽造性 假設對手A可以通過有效的概率多項式時間算法生成密文σ?=進行解密。這意味著當A知道P1=s1g,=ag時(s1,a未知),A可以根據(jù)有效的概率多項式時間算法得出V1的私鑰,推導過程如式(4):

顯然,這與計算雙線性Diffie-Hellman 問題(Computational Bilinear Diffie-Hellman Problem,CBDHP)相反。

3.3 數(shù)據(jù)區(qū)塊的生成

如圖6 所示,一個新的交易產(chǎn)生之后會向全網(wǎng)進行廣播;接著,每個節(jié)點都會將收到的交易信息納入進一個區(qū)塊中,并嘗試在自己的區(qū)塊中找到一個具有難度的隨機數(shù);然后,如果某一節(jié)點找到符合條件的隨機數(shù)時,它會立即公布出這個隨機數(shù),以便其他節(jié)點進行驗證;最后,當該區(qū)塊中的交易被驗證是有效的且未出現(xiàn)過,區(qū)塊將被添加到最長有效合法鏈的末端,其他節(jié)點繼續(xù)沿著該區(qū)塊尋找工作量證明。

圖6 數(shù)據(jù)區(qū)塊的生成過程Fig.6 Process of data block generation

與比特幣網(wǎng)絡采用的工作量證明(Proof of Work,PoW)共識機制相比,實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)算法的共識時延低、效率高,可滿足實時處理和大量通信的需求。此外,PBFT 算法最大允許f=(n-1)/3 的異常節(jié)點的存在而不影響共識結果[12],η為全網(wǎng)總節(jié)點數(shù)。本文基于比特幣網(wǎng)絡的大體框架,采用PBFT算法達成共識,詳細的區(qū)塊生成過程如下。

3.3.1 信息收集階段

預選節(jié)點(PreSelected Node,PSN)對全網(wǎng)進行監(jiān)控,將車輛間生成的交通信息按照時間順序依次存放在本地記錄池中,當記錄池中存儲的信息足夠裝滿整個區(qū)塊時,系統(tǒng)將數(shù)據(jù)打包成區(qū)塊。

3.3.2 構建區(qū)塊階段

為了更大限度地利用區(qū)塊鏈網(wǎng)絡,這里將相關信息的摘要存儲在區(qū)塊體中,完整的信息將存儲在安全級別足夠高的云存儲器中。為了確保信息的可追溯性和防篡改性,區(qū)塊頭中包含有前一區(qū)塊的哈希值以及時間戳,而區(qū)塊本身的哈希值則是由組成區(qū)塊的全體數(shù)據(jù)求得。區(qū)塊構建完成,進行全網(wǎng)廣播,等待共識流程的實現(xiàn)。

3.3.3 實現(xiàn)共識流程階段

通過基于動態(tài)分層和信譽值評估的實用拜占庭容錯機制(Dynamic-layering and Reputation-evaluation Practical Byzantine Fault Tolerant mechanism,DRPBFT),改進了共識系統(tǒng)中的高延遲問題,有效地消除了惡意節(jié)點,提高了共識模型的可信度。接下來對DRPBFT進行詳細描述。

DRPBFT 中的信譽評估算法主要由獎勵機制和懲罰機制兩部分所組成。信譽值主要用來作為優(yōu)先響應車輛信息請求的依據(jù)[13]。有三種行為會得到獎勵:Vi誠實主動地廣播變更消息、Vi可通過舉報傳播虛假信息的車輛來獲得獎勵和Vi積極主動地貢獻閑置算力。受到懲罰的行為有兩種:Vi廣播虛假消息和Vi濫用舉報信息來誹謗其他車輛。具體的信譽評估算法如算法5。

算法5 ReputationEvaluationAlgorithm()。

有以下幾個因素影響獎賞機制和懲罰機制:

1)T表示真實消息的層級。T=1,交通事故信息;T=2,駕駛信息,例如車輛駕駛速度、當前位置;T=3,道路狀況,包括道路擁堵、損壞。

2)F表示虛假信息的等級。F=1,傳播的虛假信息造成交通事故;F=2,傳播的虛假信息造成車輛擁堵;F=3,傳播的虛假信息未造成不良影響。

3)K為傳遞消息的車輛與接收信息的車輛之間的距離。

4)Dv表示接收者附近車輛密度。

5)N表示車輛提供閑置算力的次數(shù)。

在公式中設置獎勵系數(shù)α和懲罰系數(shù)β,以實現(xiàn)如式(5)~(7)所示的三種獎勵機制和式(8)所示的懲罰機制:

當Vi向全網(wǎng)廣播交通信息時,Vi可先獲得上一次廣播交通信息到本次廣播期間主動提供閑置算力的獎勵,即當前信譽值加上R3(K,Dv,N),然后N從0 開始重新計數(shù)。若車輛只提供閑置算力而不廣播交通信息,則經(jīng)過規(guī)定時長后,自動獲得加分。此外,如果沒有車輛舉報Vi,則Vi的信譽值可再加上R1(T,K,Dv)。相反,當有人質(zhì)疑并舉報Vi發(fā)送的交通信息時,TC 有權利對質(zhì)疑進行仲裁,若質(zhì)疑屬實,質(zhì)疑者可在現(xiàn)有信譽值基礎上加上R2(F,K,Dv),發(fā)送虛假信息的Vi將接受懲罰。若質(zhì)疑者是惡意誹謗Vi,質(zhì)疑者接受懲罰。

注意,當消息接收者為特殊車輛時,傳播虛假信息的車輛將在原有懲罰機制上扣除更多的分。相應的,若積極主動地提供特殊車輛所需服務也會給予更多的加分,這可以通過調(diào)整獎勵系數(shù)α和懲罰系數(shù)β實現(xiàn)。輸出的會及時進行全網(wǎng)公布,假設<0,TC 有權將Vi所屬用戶ID放入列表B中,并撤銷所有由該ID 產(chǎn)生的公鑰。用戶若想重新加入到該網(wǎng)絡,必須嚴格按照法律規(guī)章流程辦事,只有達到規(guī)定的條件才有機會從名單B中出來。

根據(jù)車輛節(jié)點的信譽值分成3 個層級,不同級別的節(jié)點有不同的權限:1級節(jié)點優(yōu)先擔任代理節(jié)點;2級節(jié)點在1級節(jié)點不存在時有機會擔任代理節(jié)點,但無優(yōu)先權;3 級節(jié)點無權擔任代理節(jié)點,但是能夠擔任共識節(jié)點。具體節(jié)點權限分類如表2所示。

表2 節(jié)點權限分類Tab.2 Node right classification

具體共識流程如圖7所示。

圖7 DRPBFT共識過程Fig.7 Consensus process of DRPBFT

Request 階段Vi向第一層代理發(fā)送,請求聯(lián)盟鏈執(zhí)行請求。為了避免網(wǎng)絡資源的浪費,使用組播的方法向各層中的其他節(jié)點傳遞消息。Vi向?個代表節(jié)點發(fā)送消息。如果區(qū)塊鏈系統(tǒng)的共識節(jié)點總數(shù)小于或等于?,則不需要分層搜索代理節(jié)點。在這種情況下,PBFT可以直接用于區(qū)塊鏈系統(tǒng)。

Pre-prepare階段 在第1層中,每個代理節(jié)點代表一個區(qū)域。每個Area中有α個節(jié)點,并且可以在Area中執(zhí)行PBFT 算法的Prepare 階段和Commit 階段。代理節(jié)點會向除Area外的所有節(jié)點發(fā)送消息。當Sn接收到該消息時,要確認E和Pn是否與其本地數(shù)據(jù)一致、Vi的Request 消息與Prepared 消息是否一致、M的散列數(shù)據(jù)與H是否相同、Prepare消息的Vc是否在指定的區(qū)間(h,H)內(nèi)。

Commit 階段Sn向其他層節(jié)點發(fā)送E,Vc,H,Sn,Pn。每層節(jié)點接受Commit 消息的條件是H一致、E與節(jié)點當前的E相同、Pn與本地一致。

Reply階段 節(jié)點將內(nèi)部投票結果返回給代理節(jié)點,代理節(jié)點將該區(qū)域的節(jié)點共識結果發(fā)送給Vi。代理節(jié)點必須記錄要返回的層的內(nèi)部結果。Vi可以根據(jù)接收到的Reply 消息總數(shù)是否大于惡意節(jié)點數(shù)f+1來確定是否接收到共識結果。

根據(jù)不同代理節(jié)點代表的不同層級,Vi和整個區(qū)塊鏈都能以更高的信譽度獲得共識結果,從而獲得下一輪共識。至此,共識流程結束,全網(wǎng)達成一致共識,區(qū)塊生成進入下一階段。

3.3.4 區(qū)塊生成階段

當構成的區(qū)塊經(jīng)過共識階段達成共識后,PSN 對全網(wǎng)進行廣播并使用哈希指針將新生成的區(qū)塊鏈接到區(qū)塊鏈的末尾,該區(qū)塊成為區(qū)塊鏈網(wǎng)絡的最后1個區(qū)塊。

4 系統(tǒng)分析和性能評估

4.1 安全分析

1)去中心化。

本文方案采用基于區(qū)塊鏈的分布式存儲方案。該方案并未完全否決受信任的第三方數(shù)據(jù)庫的作用,完整交通信息的明文或密文存儲在第三方數(shù)據(jù)庫中,其摘要信息存儲在區(qū)塊鏈網(wǎng)絡中。區(qū)塊鏈網(wǎng)絡是基于P2P 網(wǎng)絡的基礎建立的,這意味著存儲其中的摘要信息可以被復制,然后分布到全網(wǎng)的各個節(jié)點。上述措施既降低了系統(tǒng)對可信數(shù)據(jù)庫的依賴性,同時也避免了類似于傳統(tǒng)數(shù)據(jù)庫單點故障的發(fā)生。

2)有條件的匿名。

Vi使用公鑰作為假名在系統(tǒng)中進行通信,其他用戶無法從中推導出Vi的信息。為了有效地權衡系統(tǒng)的隱私性和安全性,用戶真實身份同公鑰的聯(lián)系以高安全級別存儲在中心管理員(Central Administrator,CA)中。CA可以追蹤用戶發(fā)布的信息,卻無法破解經(jīng)過加密的信息,因為用戶的私鑰是由PKG 生成的。當發(fā)生爭議時,同時從CA 和PKG 中調(diào)取用戶的公私鑰信息。一輛車只能擁有一對公私鑰,如有需要,用戶可主動在CA更新公鑰,然后在最近的PKG生成私鑰。

3)機密性和不可偽造性。

車輛通信階段,車輛在廣播交通信息前需要對其進行數(shù)字簽名,簽密可以在邏輯步驟中執(zhí)行數(shù)字簽名和公鑰加密[14],與先簽名再加密的密碼算法相比,其計算成本和通信開銷更低。通過檢驗數(shù)字簽名的有效性,可以判斷信息來源于何處,從而保證信息的不可偽造性。通過使用接收方的公鑰進行加密來實現(xiàn)信息的機密性。

4)完整性和不可篡改性。

構建區(qū)塊時需將前一塊的哈希值包含在所構建的區(qū)塊中,然后哈希指針將這些區(qū)塊相連[15]。如果其中一個塊被修改,則此后的所有塊將被重新計算。因此,單個節(jié)點對數(shù)據(jù)庫的修改無效。哈希算法保證了數(shù)據(jù)的完整性,通過將數(shù)據(jù)庫中讀取的數(shù)據(jù)用相同的哈希算法進行摘要處理,再與區(qū)塊鏈上的數(shù)據(jù)摘要進行對比從而確定數(shù)據(jù)是否完整。

4.2 性能評估

本節(jié)對DRPBFT 進行仿真實驗。對于軟件環(huán)境,在Windows 10系統(tǒng)中使用Python和Go Lang編程語言,虛擬機系統(tǒng)采用Ubuntu16.04,仿真環(huán)境采用Hyperledger Fabric V1.1,并使用Docker運行Hyperledger Fabric。

由于仿真環(huán)境中計算量有限,隨機選取40 個車聯(lián)網(wǎng)網(wǎng)關節(jié)點進行仿真實驗。首先,初始化車輛編號、任務編號和資源類型。隨機生成一個開始時間、結束時間和任務,隨機生成每輛車和每項任務的資源需求,各資源需求的生成曲線服從離散中心二項分布。誤差節(jié)點是隨機的,但不能超過13 個。因為滿足3f+1 ≤n,其中n是節(jié)點總數(shù),f是惡意節(jié)點的數(shù)量。每秒事務數(shù)(Transactions Per Second,TPS)為:

TPS=TRA/ξTime

其中:TRA是事務數(shù),ξTime是塊時間。

由圖8可以得出,隨著時間的增加,PBFT和DRPBFT都獲得了更高的事務吞吐量;然而隨著時間的增加,PBFT 的TPS在范圍(97,98)內(nèi)保持相對穩(wěn)定,DRPBFT 的TPS 持續(xù)增長。可以證明在DRPBFT 中加入的激勵機制是有效的,因為獎勵機制會對貢獻了資源的車輛進行利潤獎勵,懲罰機制會對惡意節(jié)點進行懲罰,保證了車輛節(jié)點能積極地參與共識過程,可以有效地消除惡意節(jié)點,降低惡意節(jié)點參與一致性的概率,有效地提高了系統(tǒng)的吞吐量。

圖8 PBFT與DRPBFT的TPS比較Fig.8 TPS comparison between PBFT and DRPBFT

從圖9可以看出,隨著節(jié)點數(shù)量的增加,PBFT 和DRPBFT的時延都有所增加,但是DRPBFT 的時延在6 s 內(nèi),而PBFT 的時延在9 s內(nèi),DRPBFT 比PBFT 具有更低的延遲。DRPBFT 可以用更寬松的延遲約束在一個塊中處理更多事務,因為加入了分級機制,能夠提高共識的效率,有效降低時延。

圖9 PBFT與DRPBFT的時延比較Fig.9 Time delay comparison between PBFT and DRPBFT

5 結語

為了解決車聯(lián)網(wǎng)通信過程中數(shù)據(jù)安全和高時延的問題,本文提出了一種基于區(qū)塊鏈與云-邊緣計算混合架構的車聯(lián)網(wǎng)信息的安全共享與存儲方案。該方案利用聯(lián)盟鏈-私有鏈的去中心化實現(xiàn)了通信數(shù)據(jù)的不可篡改性、有條件的匿名性和不可偽造性,并提出了DRPBFT,提高了系統(tǒng)吞吐量,有效降低了時延,在節(jié)點較多的情況下,車聯(lián)網(wǎng)系統(tǒng)能夠獲得更好的共識性能。通信過程使用基于身份的多PKG 簽密算法和基于離散中心二項分布的環(huán)簽名方案實現(xiàn)了通信數(shù)據(jù)的安全性和完整性,保障了用戶身份的匿名性。該方案通過邊緣計算技術處理私人敏感數(shù)據(jù),并與云計算技術相結合,確保車聯(lián)網(wǎng)系統(tǒng)的實時、高效。隨著吞吐量和時延性能的提升,區(qū)塊鏈的計算與存儲問題也隨之出現(xiàn),這將是我們下一步主要的研究方向。

猜你喜歡
邊緣共識區(qū)塊
共識 共進 共情 共學:讓“溝通之花”綻放
《紅樓夢》的數(shù)字化述評——兼及區(qū)塊鏈的啟示
商量出共識
一場區(qū)塊鏈引發(fā)的全民狂歡
區(qū)塊鏈助力企業(yè)創(chuàng)新
區(qū)塊鏈投機者
一張圖看懂邊緣計算
“慢養(yǎng)孩子”應成社會普遍共識
在邊緣尋找自我
走在邊緣