王春東,郭茹月
天津理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院 天津 300384
隨著各種車載傳感、計(jì)算和通信設(shè)備[1]的發(fā)展,車輛獲得了越來越多的自主權(quán)。所有的基礎(chǔ)設(shè)施和智能車輛構(gòu)成的車聯(lián)網(wǎng)已成為第五代移動(dòng)網(wǎng)絡(luò)的重要場(chǎng)景。車聯(lián)網(wǎng)為車輛提供了一個(gè)可以與鄰居共享道路相關(guān)信息的平臺(tái),例如路況、交通擁堵等信息。這些信息有助于車輛及時(shí)了解交通狀況,從而提高交通安全和效率[2]。
然而,隨著人為因素在車聯(lián)網(wǎng)中的參與,社會(huì)特征和人的行為在很大程度上影響著信息在網(wǎng)絡(luò)中的傳播。因此,對(duì)于駕駛員來說,區(qū)分可信信息和不可信信息是非常重要的[3]。以往的研究大多依賴傳統(tǒng)的安全技術(shù)來建立對(duì)非法車輛的防御[4],例如:公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)。然而,合法車輛仍有可能由于自私或惡意的意圖而發(fā)送不可信的信息。因此,如何有效地識(shí)別惡意車輛是車聯(lián)網(wǎng)中的一個(gè)重要問題。
信任管理系統(tǒng)使車輛能夠判斷接收到的信息是否可信,也為網(wǎng)絡(luò)運(yùn)營商提供了對(duì)特定車輛的獎(jiǎng)懲依據(jù)[5]。通常情況下,車輛的信任值可以通過對(duì)歷史行為的評(píng)分來計(jì)算,這些評(píng)分由相關(guān)節(jié)點(diǎn)生成?,F(xiàn)有的信任管理(trust management,TM)模型可分為集中式和分布式兩類[6]。在集中式TM 模型中,所有信任評(píng)級(jí)都在中央服務(wù)器(如云服務(wù)器)中存儲(chǔ)和處理。由于車輛通常必須在短時(shí)間內(nèi)做出決策,集中式TM模型不能滿足車聯(lián)網(wǎng)嚴(yán)格的服務(wù)質(zhì)量要求,同時(shí)還容易成為攻擊者的攻擊目標(biāo),一旦發(fā)生單點(diǎn)故障,將造成災(zāi)難性的后果。為了克服集中式模型帶來的缺陷,一些研究者提出了分布式TM 模型。其核心是每個(gè)路邊單元(road side unit,RSU)主要負(fù)責(zé)其通信范圍內(nèi)的車輛的信任評(píng)估。分布式TM 模型大大提高了效率,解決了單點(diǎn)故障的問題。然而,由于車聯(lián)網(wǎng)的高速移動(dòng)性和復(fù)雜性,如何有效地在車聯(lián)網(wǎng)中實(shí)施信任評(píng)估并維護(hù)多個(gè)RSU之間的信任值的一致性和即時(shí)更新是一個(gè)不容忽視的問題。
作為比特幣的核心技術(shù),區(qū)塊鏈具有去中心化、開放性、防篡改性、匿名性和可追溯性[7]等特點(diǎn),可以合理地解決車聯(lián)網(wǎng)的信任管理問題。此外,由于區(qū)塊鏈的分布式共識(shí)算法,使得RSUs 可以協(xié)同工作,維護(hù)一致的數(shù)據(jù)庫,以保證信任評(píng)估消息的即時(shí)同步。區(qū)塊鏈在部分節(jié)點(diǎn)被入侵或失效的情況下,仍然能夠保持可靠運(yùn)行,有效抵御RSUs 被攻擊。因此,本文提出了一種基于邏輯回歸與區(qū)塊鏈的車聯(lián)網(wǎng)信任管理方案。主要貢獻(xiàn)如下:
(1)根據(jù)通信車輛的歷史行為,除了考慮目標(biāo)車輛的直接信任值,還考慮了基于PageRank 算法的推薦信任值,并基于邏輯回歸算法計(jì)算該車輛在此階段的綜合信任值來判別其可靠性,最后將車輛的綜合信任值上傳到附近的RSUs。
(2)提出基于權(quán)益證明(proof of stake,PoS)和實(shí)用拜占庭容錯(cuò)(practical Byzantine fault tolerance,PBFT)的混合共識(shí)算法,優(yōu)化礦工節(jié)點(diǎn)的選擇策略,使得權(quán)益越大的RSUs 更容易找到下一個(gè)區(qū)塊而贏得選舉(即更快地發(fā)布信任值變化較大的區(qū)塊),然后礦工將與授權(quán)的RSUs 一起工作驗(yàn)證區(qū)塊的正確性,最終將正確的區(qū)塊存儲(chǔ)到區(qū)塊鏈中。
(3)通過安全性分析及性能仿真表明本文提出的信任管理方案在車聯(lián)網(wǎng)環(huán)境中是有效可行的。
車聯(lián)網(wǎng)中的集中式信任管理使用一個(gè)中央服務(wù)器來收集、計(jì)算和存儲(chǔ)所有車輛的信任值。中央服務(wù)器通常被認(rèn)為是完全受信任的實(shí)體,攻擊者無法破壞它。文獻(xiàn)[8]提出了一種基于聲譽(yù)的車載網(wǎng)絡(luò)公告方案。車輛感知與交通相關(guān)的事件并向相鄰車輛發(fā)布公告。接收者需要評(píng)估信息的可信度并生成反饋報(bào)告,所有的反饋都是由一個(gè)集中的信譽(yù)服務(wù)器收集的?;谶@些數(shù)據(jù),服務(wù)器能夠更新信譽(yù)值,并為網(wǎng)絡(luò)中的所有車輛頒發(fā)證書。文獻(xiàn)[9]提出了一種基于軟件定義信任的深度強(qiáng)化學(xué)習(xí)框架,該框架將深度Q-learning 算法部署到軟件定義網(wǎng)絡(luò)(software defined network,SDN)邏輯集中控制器中。其基本思想是將SDN 控制器作為代理,通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)車輛網(wǎng)絡(luò)環(huán)境中路由路徑的最高信任值,并設(shè)計(jì)信任模型來評(píng)估相鄰車輛轉(zhuǎn)發(fā)報(bào)文的行為。如果信任值大于或等于閾值,則表示信任該車輛。否則,該車輛將被視為惡意車輛。文獻(xiàn)[10]提出了一種抗新來者攻擊、抗開關(guān)攻擊和抗共謀攻擊的信任管理方案來評(píng)估車聯(lián)網(wǎng)中的車輛的可信度。利用基于貝葉斯推理的方法和基于TrustRank算法分別計(jì)算車輛的局部信任值和全局信任值。此外,為了防止車輛的信任值快速上升和快速下降,還采用自適應(yīng)遺忘因子和自適應(yīng)衰減因子更新局部和全局信任值。
以上這些方案都利用一個(gè)完全受信任的中央服務(wù)器進(jìn)行信任管理。然而,隨著智能交通系統(tǒng)的快速發(fā)展,使用一個(gè)集中的節(jié)點(diǎn)來處理大量的車輛是不現(xiàn)實(shí)的,過多的請(qǐng)求可能會(huì)帶來較大的延遲甚至阻塞。此外,單點(diǎn)故障也是集中式網(wǎng)絡(luò)面臨的一大挑戰(zhàn)。
為了解決上述集中化問題,一些學(xué)者引入了分布式系統(tǒng)進(jìn)行信任管理。文獻(xiàn)[11]提出了一種分散式態(tài)勢(shì)感知的車載網(wǎng)絡(luò)信任體系結(jié)構(gòu)。文獻(xiàn)[12]提出了一種針對(duì)自組網(wǎng)的以數(shù)據(jù)為中心的信任管理方案,該方案中每個(gè)節(jié)點(diǎn)首先以分布式的方式計(jì)算信任積分,然后通過特定的算法聚合信任積分。文獻(xiàn)[13]還研究了車載自組網(wǎng)的聯(lián)合隱私和聲譽(yù)保障問題。該方案采用分散式聲譽(yù)管理模型,每個(gè)節(jié)點(diǎn)的聲譽(yù)評(píng)估由其自身及其鄰居共同完成。文獻(xiàn)[14]提出了一種用于車聯(lián)網(wǎng)的去中心化TM方案??紤]到協(xié)作性、誠實(shí)性和責(zé)任性等因素,采用一種基于模糊邏輯的方法,根據(jù)單跳鄰居車輛的行為和其他鄰居的報(bào)告評(píng)估其直接信任。此外,提出了一種Q-learning方法來評(píng)估非直接連接到評(píng)估者的車輛的間接信任,通過平均來自多輛車輛的評(píng)估報(bào)告來進(jìn)行評(píng)估。但是,分布式RSUs中存儲(chǔ)的信任信息可能不一致。以上文獻(xiàn)都與支持信任評(píng)估的去中心化架構(gòu)有關(guān),它滿足了分布式應(yīng)用場(chǎng)景的需求。然而,這些去中心化的方案并不是完全去中心化的,因?yàn)榇蠖鄶?shù)方案都需要中央服務(wù)器的協(xié)助來完成最終的計(jì)算或維護(hù)信任積分。因此,在這種信任管理系統(tǒng)中仍然需要可信的第三方。然而,如果第三方不總是受到所有用戶的信任,則必須采用完全分布式的信任管理體系結(jié)構(gòu)。有鑒于此,一些研究者通過引入?yún)^(qū)塊鏈技術(shù),開創(chuàng)了去中心化信任管理的新方向。
文獻(xiàn)[15]利用將位置證明替換工作量證明的區(qū)塊鏈來保存更新車輛的信譽(yù)值。文獻(xiàn)[16]采用聯(lián)盟鏈中的PBFT機(jī)制及公有鏈中的工作量證明(proof of work,PoW)機(jī)制來選擇主節(jié)點(diǎn)。文獻(xiàn)[17]提出一種基于聯(lián)盟鏈的車聯(lián)網(wǎng)管理方法,利用改進(jìn)的代理權(quán)益證明(delegated proof of stake,DPoS)共識(shí)為車輛數(shù)據(jù)的安全分享提供保障,但是沒有對(duì)車輛的可靠性進(jìn)行分析,進(jìn)而影響了對(duì)礦工的判定。在文獻(xiàn)[18]中,基于車載網(wǎng)絡(luò)中區(qū)塊鏈的分散性提出了一種交通事件驗(yàn)證和信任驗(yàn)證機(jī)制,其中RSUs首先利用車輛的合作交通信息,一旦采集到的數(shù)據(jù)達(dá)到相應(yīng)的閾值,就會(huì)啟動(dòng)所提出的過路車輛之間的事件證明(proof of event,PoE)共識(shí)算法。如果PoE 的結(jié)果被確認(rèn)為事件,RSU 將通過廣播通知相鄰區(qū)域的車輛,存儲(chǔ)在區(qū)塊鏈上的事件將被永久保留,供公眾訪問。此外,文獻(xiàn)[19]研究了一種基于區(qū)塊鏈的可信數(shù)據(jù)管理方案,為解決邊緣計(jì)算環(huán)境下的數(shù)據(jù)信任和安全問題提出了認(rèn)證協(xié)議、靈活共識(shí)、智能合約、交易數(shù)據(jù)管理、區(qū)塊鏈節(jié)點(diǎn)管理和部署方案。
上述文獻(xiàn)通過區(qū)塊鏈與車聯(lián)網(wǎng)的結(jié)合,在一定程度上解決了車聯(lián)網(wǎng)內(nèi)部信任及信息存儲(chǔ)問題,但是由于車聯(lián)網(wǎng)的高速移動(dòng)性和復(fù)雜性,如何保障車輛信任值評(píng)估的可靠性,以及使車聯(lián)網(wǎng)信任值的更新更具有時(shí)效性仍然是具有挑戰(zhàn)性的問題。
本文主要研究的是車聯(lián)網(wǎng)中的信任管理方案,系統(tǒng)模型如圖1所示。其主要流程可以分為三個(gè)階段:首先是信任評(píng)估階段。進(jìn)入車聯(lián)網(wǎng)的車輛可以通過目標(biāo)車輛的歷史行為計(jì)算其直接信任值,如果兩個(gè)車輛節(jié)點(diǎn)之間沒有直接交互或者直接交互次數(shù)過少時(shí),基于PageRank 算法計(jì)算其推薦信任值,然后基于邏輯回歸算法對(duì)車輛的綜合信任值進(jìn)行評(píng)估并上傳到附近的RSU;其次是礦工選舉及區(qū)塊的生成階段。RSU把從車輛得到的信任值進(jìn)行打包,然后基于PoS 和PBFT 的混合共識(shí)機(jī)制,使得權(quán)益越大的RSUs 更容易找到下一個(gè)區(qū)塊而贏得選舉,即更快地發(fā)布信任值變化較大的區(qū)塊;最后是分布式共識(shí)階段。由礦工與授權(quán)的RSUs 一起擔(dān)任共識(shí)節(jié)點(diǎn),驗(yàn)證區(qū)塊的正確性。

圖1 系統(tǒng)模型Fig.1 System model
在該方案中存在以下兩個(gè)實(shí)體。
RSU:RSU 是停留在路邊的固定基礎(chǔ)設(shè)施,在TM系統(tǒng)[20]中具有較好的存儲(chǔ)和計(jì)算能力。RSUs需要收集并更新其通信范圍內(nèi)的車輛的信任值。此外,所有RSUs共同維護(hù)一個(gè)一致的總賬本,部分授權(quán)的RSUs 在構(gòu)建區(qū)塊鏈時(shí)承擔(dān)共識(shí)工作。
車輛:車聯(lián)網(wǎng)中的每輛車都安裝有裝載在車輛上的通信單元(on board unit,OBU),其具有無線通信能力,可以通過專用短程通信(dedicated short-range communication,DSRC)協(xié)議與其他車輛(vehicle-to-vehicle,V2V)和RSU(vehicle-to-RSU,V2R)進(jìn)行通信,共享信息[21]。
(1)惡意車輛:有時(shí)車聯(lián)網(wǎng)中可能存在多個(gè)惡意車輛,他們通常會(huì)進(jìn)行消息欺騙攻擊,即攻擊者可能故意廣播虛假消息,以降低交通安全或交通效率。例如,一輛惡意車輛可能在路上發(fā)現(xiàn)了交通事故,但卻對(duì)附近的車輛廣播一條消息,聲稱“道路暢通!”。
(2)受損的RSUs:RSUs沿道路分布,有時(shí)缺乏網(wǎng)絡(luò)運(yùn)營商的保護(hù)。因此,假定這些實(shí)體是半信任的,可能會(huì)被攻擊者破壞。攻擊者一旦入侵RSUs,就能夠添加、刪除和篡改存儲(chǔ)在其中的數(shù)據(jù)。然而,由于攻擊者的能力有限,大規(guī)模入侵攻擊的可能性極低。此外,由于網(wǎng)絡(luò)運(yùn)營商定期對(duì)RSUs 進(jìn)行安全檢查,因此,被破壞的RSUs 無法長期被攻擊者控制?;谶@些事實(shí),可以假設(shè)只有一小部分RSUs能夠被成功入侵。
去中心化:隨著智能車輛的快速增長,中心化的信任管理方案可能不現(xiàn)實(shí)。因此,信任管理系統(tǒng)需要充分利用分布式節(jié)點(diǎn),即RSUs 和車輛。信任值由通信雙方計(jì)算并存儲(chǔ)在RSUs中。
一致性:由于車輛的高速移動(dòng)性特點(diǎn),其通常需要在多個(gè)RSUs 之間行駛。在這種情況下,如何在車聯(lián)網(wǎng)中交換信任數(shù)據(jù)并保持?jǐn)?shù)據(jù)庫的一致性成為車聯(lián)網(wǎng)去中心化信任管理的一個(gè)難題。
時(shí)效性:在該方案中,信任值是基于車輛的歷史行為對(duì)其進(jìn)行的綜合評(píng)價(jià)。這個(gè)值可能會(huì)隨著時(shí)間的推移,根據(jù)該車輛最近發(fā)送的消息的可信度而變化。除此之外,惡意車輛可能會(huì)到達(dá)不同的區(qū)域,因此需要確保所有區(qū)域的RSUs都有該惡意車輛最新的信任值。
基于邏輯回歸與區(qū)塊鏈的車聯(lián)網(wǎng)信任管理的主要流程可以分為以下三個(gè)步驟:信任值評(píng)估機(jī)制;礦工選舉和區(qū)塊的生成以及分布式共識(shí)算法。
(1)直接信任值。計(jì)算在s時(shí)段車輛節(jié)點(diǎn)i的直接信任值,主要考慮在之前時(shí)間段,車輛節(jié)點(diǎn)i與j的交互情況。因此,當(dāng)前時(shí)段車輛節(jié)點(diǎn)i的直接信任值Rs(i,j)計(jì)算如式(1)所示:
其中,qs(i,j)表示車輛節(jié)點(diǎn)i與j交互的消息總數(shù),cs(i,j)表示其中正確的消息條數(shù)。如果車輛節(jié)點(diǎn)i與j沒有交互,那么其直接信任值為初始信任值,即rs(0)。
(2)推薦信任值。如果兩個(gè)車輛節(jié)點(diǎn)之間沒有直接交互或者直接交互次數(shù)過少時(shí),那么車輛節(jié)點(diǎn)j需要通過在車聯(lián)網(wǎng)中其他與節(jié)點(diǎn)i進(jìn)行交互過的車輛節(jié)點(diǎn)集合來計(jì)算推薦信任值。在這里,推薦信任值也可以看作是對(duì)車聯(lián)網(wǎng)環(huán)境內(nèi)積極交互車輛的信任值獎(jiǎng)勵(lì)。如果在一段時(shí)間內(nèi)車輛進(jìn)入車聯(lián)網(wǎng)系統(tǒng),但是沒有與任何其他車輛交互,那么該車輛只能獲得較小的推薦信任值。如果與其他車輛節(jié)點(diǎn)交互越多,獲得的推薦信任值在一定程度上會(huì)越大[22]。改進(jìn)PageRank 算法的推薦信任值計(jì)算如式(2)所示:
其中,K(k1,k2,…,kn)表示在s-1 時(shí)段與車輛節(jié)點(diǎn)i交互過的所有節(jié)點(diǎn)的集合;α是阻尼系數(shù),PR表示在s-1時(shí)段車輛節(jié)點(diǎn)k的PageRank 值;L(k)表示車輛節(jié)點(diǎn)k在s-1 時(shí)段的總交互次數(shù);M表示此時(shí)段的車輛總數(shù)。車輛節(jié)點(diǎn)的推薦信任值由與車輛節(jié)點(diǎn)i交互過的車輛節(jié)點(diǎn)集合K(k1,k2,…,kn)共同決定。如果有車輛節(jié)點(diǎn)在當(dāng)前時(shí)段離開車聯(lián)網(wǎng)或者是因?yàn)樾抛u(yù)問題被強(qiáng)制注銷,那么此節(jié)點(diǎn)不包括在K集合中。同樣,如果在當(dāng)前s時(shí)段有新的車輛節(jié)點(diǎn)加入并與節(jié)點(diǎn)i進(jìn)行交互,那么對(duì)節(jié)點(diǎn)i的推薦要等到s+1 時(shí)段才能生效。
當(dāng)車輛節(jié)點(diǎn)k在s-1 時(shí)段的總交互次數(shù)小于等于1 次(即L(k)≤1)時(shí),系統(tǒng)只賦予車輛節(jié)點(diǎn)i一個(gè)較小的推薦信任值,即
(3)車輛節(jié)點(diǎn)i的綜合信任值可以用邏輯回歸算法計(jì)算,如式(3)所示:
其中,X表示為如下式(4):
A表示加權(quán)向量,可以用線性最小二乘法求值,A0表示偏差值,其為了調(diào)整車輛的初始信任值rs(0) 。rs-1(i)為車輛節(jié)點(diǎn)i上次計(jì)算的信任值。如果最新計(jì)算的信任值rs(i)低于閾值λ,則該車輛將被標(biāo)記為惡意車輛,同時(shí)標(biāo)志值fs(i)將上升,該標(biāo)志表示發(fā)起者可能存在惡意行為。只有當(dāng)該車輛在一段時(shí)間內(nèi)持續(xù)具有誠實(shí)行為時(shí),標(biāo)志值才會(huì)下降。
由于分布式的網(wǎng)絡(luò)結(jié)構(gòu),不存在固定的中心節(jié)點(diǎn)來管理區(qū)塊鏈。因此,為了生成新的區(qū)塊,會(huì)周期性地從所有RSU中選出一個(gè)礦工節(jié)點(diǎn)?;赑oW的礦工選舉方法通常用于基于區(qū)塊鏈的系統(tǒng),如比特幣。在這些系統(tǒng)中,所有節(jié)點(diǎn)不斷地改變nonce,然后計(jì)算包含nonce的塊的哈希值。得到哈希值低于哈希閾值的那個(gè)節(jié)點(diǎn)被選為礦工,并能夠發(fā)布它的區(qū)塊。所有節(jié)點(diǎn)都具有相同的哈希閾值,使得計(jì)算能力更強(qiáng)的節(jié)點(diǎn)更容易獲得正確的nonce并贏得選舉[23]。本文在PoW的基礎(chǔ)上,采用不同節(jié)點(diǎn)具有不同哈希閾值的PoS算法選取礦工節(jié)點(diǎn),從而實(shí)現(xiàn)不同的塊生成速度。
在該方案中,以相對(duì)信任值的絕對(duì)值之和作為權(quán)益證明來選舉礦工節(jié)點(diǎn),挖礦的難度取決于權(quán)益證明。權(quán)益越大的RSUs可以更容易地找到下一個(gè)區(qū)塊而贏得選舉(即更快地發(fā)布自己的區(qū)塊),從而保證了區(qū)塊鏈中存儲(chǔ)的數(shù)據(jù)的即時(shí)更新。提出的礦工選舉方法如式(5)所示:
其中,Mi是RSUi的哈希閾值。所有RSUs 不斷改變nonce,根據(jù)式(5)計(jì)算哈希值,得到滿足上述條件的nonce的RSU被選為礦工。Mi與Si正相關(guān),Si定義為相對(duì)信任值絕對(duì)值之和,如式(6)所示:
其中,Δr(i)=rs(i)-rs-1(i),Oi是RSUi的當(dāng)前相對(duì)信任值集合。因此,具有較大Si的RSU更有可能贏得選舉,然后公布其區(qū)塊。這樣可以即時(shí)更新區(qū)塊鏈中信任值變化較大的情況。Smax為Si的上界,用于避免具有最大Si的RSU持續(xù)獲勝的情況。因此,RSUs之間實(shí)現(xiàn)了相對(duì)公平。一旦RSU 將區(qū)塊成功添加到區(qū)塊鏈中,就會(huì)清除Oi中的元素。
Mi的結(jié)構(gòu)如圖2所示,Mi是由幾個(gè)連續(xù)的零開始的一組二進(jìn)制序列,其對(duì)每個(gè)RSU 生成區(qū)塊的速度有很大的影響。在本方案中,Mi與Si之間的關(guān)系定義如式(7):

圖2 Mi 的結(jié)構(gòu)Fig.2 Construction of Mi
其中,Nz是在Mi頂部連續(xù)零的個(gè)數(shù);Nm與哈希算法的哈希值位數(shù)有關(guān)(例如,SHA-1 為160,SHA-256 為256,等等)。
區(qū)塊的格式如圖3 所示,由區(qū)塊頭和區(qū)塊體兩部分組成。其中,區(qū)塊頭存儲(chǔ):塊的基本信息,如Block ID、RSU ID、生成時(shí)間;用于將該塊鏈接到現(xiàn)有的區(qū)塊鏈的前一個(gè)區(qū)塊的哈希值;證明該塊有效性的信息,即nonce 和哈希閾值。區(qū)塊體部分主要包含車輛節(jié)點(diǎn)ui在s時(shí)段的綜合信任值rs(i),標(biāo)志值fs(i),相對(duì)信任值Δrs(i)。

圖3 區(qū)塊結(jié)構(gòu)Fig.3 Format of block
基于PoS 完成礦工節(jié)點(diǎn)的選舉后,由授權(quán)的RSUs和礦工節(jié)點(diǎn)RSU(記作leader)基于PBFT算法實(shí)現(xiàn)協(xié)商一致的過程。在這里,由授權(quán)的RSUs充當(dāng)共識(shí)節(jié)點(diǎn)(記作ASUs)。其步驟如下:
步驟1leader將帶時(shí)間戳的塊數(shù)據(jù)(記作Blocknew)、它的簽名和它的權(quán)益證明廣播給ASUs進(jìn)行驗(yàn)證。
步驟2在ASUs 確認(rèn)來自leader 的消息是有效的之后,這些ASUs將用他們的簽名互相廣播他們的審計(jì)結(jié)果。
步驟3ASU 從其他節(jié)點(diǎn)收集審計(jì)結(jié)果,并與其他節(jié)點(diǎn)進(jìn)行比較。如果匹配的審計(jì)結(jié)果個(gè)數(shù)大于2f(f是拜占庭節(jié)點(diǎn)個(gè)數(shù)),則會(huì)向所有ASUs發(fā)送確認(rèn)消息。
步驟4如果任意一個(gè)ASU 收集到超過2f+1 的確認(rèn)消息,則Blocknew可以存儲(chǔ)到區(qū)塊鏈中。如果沒有達(dá)成共識(shí),leader將會(huì)對(duì)審計(jì)結(jié)果進(jìn)行分析,必要時(shí)再進(jìn)行一輪共識(shí)。
(1)數(shù)據(jù)完整性:在基于區(qū)塊鏈的信任管理模型中,記錄在區(qū)塊鏈中的車輛信任數(shù)據(jù)已經(jīng)得到了所有授權(quán)的RSUs的一致認(rèn)可。塊的序列和數(shù)據(jù)通過使用哈希鏈來保護(hù)。每個(gè)塊的哈希值是唯一的,一旦任何塊的任何內(nèi)容被修改[24],其他塊的哈希值將被更改。因此,如果對(duì)手想要執(zhí)行消息修改攻擊,他不僅需要修改當(dāng)前塊的內(nèi)容,還需要重新計(jì)算所有塊的哈希值。
(2)防御受損的RSU:如果有惡意RSU想要向區(qū)塊鏈廣播一個(gè)偽造的塊,在協(xié)商一致階段,每個(gè)被授權(quán)的RSU都會(huì)檢查該塊的有效性,防止非法的塊被寫入?yún)^(qū)塊鏈。此外,攻擊者可能已經(jīng)成功捕獲了多個(gè)授權(quán)的RSU。然而,由于PBFT 對(duì)失敗或惡意節(jié)點(diǎn)的容錯(cuò)率約為33%,即使對(duì)手成功入侵了多個(gè)授權(quán)的RSU,它也不能將錯(cuò)誤的塊存儲(chǔ)到區(qū)塊鏈中。
(3)抵抗重放攻擊:在基于邏輯回歸算法的信任評(píng)估方法中,每個(gè)車輛的信任數(shù)據(jù)都有一個(gè)唯一的時(shí)間參數(shù),它與信任數(shù)據(jù)的內(nèi)容相關(guān)聯(lián)。因此,通過比較參數(shù)與信任數(shù)據(jù)對(duì)應(yīng)的內(nèi)容,可以有效地防止重放攻擊。
(4)抵抗消息欺騙攻擊:如果目標(biāo)車輛最新計(jì)算的信任值低于閾值,且仍然在繼續(xù)廣播虛假消息,則該車輛將被標(biāo)記為惡意車輛,同時(shí)標(biāo)志值將上升。此時(shí)他們將無法從車輛網(wǎng)絡(luò)接收任何服務(wù),只有當(dāng)該車輛在一段時(shí)間內(nèi)持續(xù)具有誠實(shí)行為時(shí),標(biāo)志值才會(huì)下降,從而可以有效抵抗消息欺騙攻擊。
為了驗(yàn)證所提方案的可靠性和有效性,采用基于OMNeT++的車聯(lián)網(wǎng)仿真平臺(tái)和基于Golang 的區(qū)塊鏈仿真平臺(tái)進(jìn)行了性能評(píng)估。關(guān)鍵參數(shù)配置如表1 所示。本節(jié)分為三部分。第一部分研究了信任評(píng)估方案的可靠性。第二部分提供了隨相對(duì)信任值的絕對(duì)值之和變化的塊的生成時(shí)間間隔。第三部分分析了所提共識(shí)算法的平均時(shí)延。

表1 關(guān)鍵參數(shù)Table 1 Key parameters
(1)信任評(píng)估的可靠性
為了驗(yàn)證基于邏輯回歸的信任值計(jì)算的可靠性,假設(shè)以下情景:在2 000 m×2 000 m 的網(wǎng)格區(qū)域內(nèi)均勻分布有100輛車。每輛車的通信距離為200 m,速度在10~25 m/s 之間,車速過快會(huì)導(dǎo)致車輛反應(yīng)時(shí)間較短,與中速車輛相比,車輛錯(cuò)過一些事故并參與信息驗(yàn)證的概率較小。車輛在十字路口隨機(jī)改變方向,暫停時(shí)間為零。在路網(wǎng)中隨機(jī)分布15 個(gè)RSUs,設(shè)置5~30 個(gè)惡意車輛,總仿真時(shí)間為1 h。
首先,對(duì)車輛的初始信任值進(jìn)行了分析,當(dāng)初始信任值較小時(shí),將惡意車輛與誠實(shí)車輛區(qū)分開來需要很長時(shí)間;當(dāng)初始信任值較大時(shí),惡意車輛會(huì)花費(fèi)更多的時(shí)間來降低其信任值,這意味著識(shí)別惡意車輛需要更長的時(shí)間。因此將初始信任值設(shè)置為0.5更適合區(qū)分誠實(shí)車輛和惡意車輛。觀察到,惡意車輛及誠實(shí)車輛的信任值隨時(shí)間變化如圖4 所示,隨著時(shí)間段的增加,誠實(shí)車輛綜合信任值不斷增加,惡意車輛的綜合信任值不斷減小。

圖4 車輛的信任值隨時(shí)間的變化Fig.4 Reputation value of vehicles over time
除此之外,將該解決方案與傳統(tǒng)主觀邏輯(traditional subject logic,TSL)方法[25]和多權(quán)重主觀邏輯(multiweight subjective logic,MWSL)方法[26]的性能進(jìn)行了比較??紤]惡意車輛發(fā)送虛假消息的概率p的影響。觀察p=20%、p=50%、p=80%時(shí),1 個(gè)惡意車輛的信任值在1小時(shí)內(nèi)的變化情況,分別如圖5所示,當(dāng)p=80%時(shí),所有方法都能快速降低惡意車輛的信任值。然而,觀察到,當(dāng)p=20%和p=50%時(shí),TSL 和MWSL 缺乏足夠的證據(jù)來識(shí)別惡意車輛。

圖5 惡意車輛的信任值隨時(shí)間的變化Fig.5 Reputation value of one malicious vehicle over time
最后,比較了惡意車輛的識(shí)別率隨著p的增加而變化的情況。如圖6 所示,當(dāng)p較低時(shí),基于邏輯回歸的方法對(duì)惡意車輛的識(shí)別率較好,因?yàn)樗鼘⒅苯有湃闻c推薦信任相結(jié)合來進(jìn)行決策。當(dāng)p越來越大時(shí),三種方法的性能越來越相似,因?yàn)檐囕v惡意行為的不斷增加可以幫助TSL 和MWSL 識(shí)別惡意車輛。因此,提出的信任評(píng)估方案的可靠性是可以驗(yàn)證的,因?yàn)榧词拱l(fā)送惡意消息的概率很低,也能有效識(shí)別惡意車輛。

圖6 惡意車輛的識(shí)別率隨p 的變化Fig.6 Recognition rate of malicious vehicles with p
(2)區(qū)塊的生成時(shí)間
在獲得車輛的信任值后,RSUs 試圖成為礦工并發(fā)布他們的區(qū)塊。在本文共識(shí)算法中,每個(gè)RSU 的塊生成時(shí)間主要受兩個(gè)參數(shù)的影響,即相對(duì)信任值的絕對(duì)值之和Si與哈希率H(與RSU的計(jì)算能力有關(guān))。Si越大表示其具有更大的哈希閾值Mi,從而更容易獲得正確的nonce,通常情況下,RSUs具有相同的哈希率,因此假設(shè)H=500。而在PoW 共識(shí)算法中,所有節(jié)點(diǎn)具有相同的哈希閾值,塊生成時(shí)間只取決于一個(gè)參數(shù),即哈希率。假設(shè)所有RSU的Nz=24。從圖7可以清楚地看到,PoW 的塊生成時(shí)間不隨Si的變化而變化;而在本文方案中,隨著Si的增加,塊生成時(shí)間逐漸降低。因此,該方案能夠更快地更新變化較大的信任值,從而使車聯(lián)網(wǎng)信任值的更新更具有時(shí)效性,同時(shí)降低了網(wǎng)絡(luò)帶寬損耗與算力損耗。

圖7 區(qū)塊的生成時(shí)間隨Si 的變化Fig.7 Generation time of blocks with Si
(3)共識(shí)算法的平均時(shí)延
比較了提出的共識(shí)算法、傳統(tǒng)的以太坊[27]的區(qū)塊鏈共識(shí)算法PoW 以及文獻(xiàn)[16]中提出的PoW 和PBFT 的聯(lián)合共識(shí)算法之間更新信任值消息的反應(yīng)時(shí)間。在本文實(shí)驗(yàn)中,更新消息請(qǐng)求的數(shù)量設(shè)置為1、10、100、1 000和10 000,每個(gè)實(shí)驗(yàn)結(jié)果在10 次獨(dú)立運(yùn)行中取平均值。預(yù)選的ASUs 的總數(shù)為30臺(tái)。從圖8可以看出,當(dāng)更新信譽(yù)數(shù)據(jù)的消息數(shù)量增加時(shí),傳統(tǒng)的區(qū)塊鏈共識(shí)算法和聯(lián)合PoW 和PBFT 共識(shí)算法的延遲時(shí)間都比本文的共識(shí)算法長得多。當(dāng)消息總數(shù)達(dá)到10 000條時(shí),傳統(tǒng)的區(qū)塊鏈共識(shí)算法的平均延遲達(dá)到1 423.22 s,遠(yuǎn)遠(yuǎn)超過本文的共識(shí)算法的延遲。這是因?yàn)楸疚乃惴ㄖ辉陬A(yù)先選擇的ASUs 上執(zhí)行共識(shí)過程,而不是在所有連接的節(jié)點(diǎn)上。結(jié)果表明,提出的共識(shí)算法更適配復(fù)雜的車聯(lián)網(wǎng)環(huán)境。

圖8 共識(shí)算法的平均時(shí)延Fig.8 Average latency of consensus algorithms
本文提出了一種基于邏輯回歸與區(qū)塊鏈的車聯(lián)網(wǎng)信任管理方案。通過該方案,車聯(lián)網(wǎng)中的車輛可以通過目標(biāo)車輛的歷史行為,計(jì)算其直接信任值和推薦信任值,并基于邏輯回歸算法對(duì)車輛的綜合信任值進(jìn)行評(píng)估,從而可以進(jìn)一步方便惡意車輛的識(shí)別。同時(shí)還提出了一種基于PoS 和PBFT 的混合共識(shí)機(jī)制,優(yōu)化礦工節(jié)點(diǎn)的選擇策略和共識(shí)過程,從而提高了主節(jié)點(diǎn)選擇的合理性,降低了網(wǎng)絡(luò)帶寬損耗和時(shí)延。通過安全性分析和性能分析表明,該方案對(duì)于復(fù)雜的車聯(lián)網(wǎng)環(huán)境是有效可行的。然而,如何共同保證信任管理和隱私保護(hù),建立安全高效的車聯(lián)網(wǎng)環(huán)境是一個(gè)有待深入研究的課題,這也是今后的研究工作。