杜 田,李 欣,賴成喆,鄭 東
(1.西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,西安 710121;2.中國人民解放軍61516 部隊(duì),北京 100000)
隨著人工智能技術(shù)的提高,傳統(tǒng)汽車行業(yè)與信息技術(shù)相結(jié)合[1]促進(jìn)了無人駕駛領(lǐng)域的發(fā)展。無人駕駛車輛通過各種傳感器的組合感知周圍環(huán)境,同時(shí)利用人工智能算法對(duì)車道及路徑進(jìn)行規(guī)劃,以控制車輛開往目的地[2]。無人駕駛方式能夠有效地減少交通事故的發(fā)生,緩解交通擁堵及管理壓力,也可以使行動(dòng)不方便的老年人和殘疾人等弱勢群體出行更加便利[3]。地圖是無人駕駛車輛的核心部件,也是車道及路徑規(guī)劃的關(guān)鍵。與傳統(tǒng)數(shù)字地圖不同,無人駕駛車輛地圖不僅要求地圖信息覆蓋精確全面,還要求對(duì)地圖信息進(jìn)行快速更新[4]。由于無人駕駛地圖更新需要大量路況數(shù)據(jù)予以支持,若未及時(shí)上傳數(shù)據(jù)或上傳錯(cuò)誤數(shù)據(jù)則會(huì)導(dǎo)致系統(tǒng)錯(cuò)誤。目前,基于衛(wèi)星圖像的數(shù)字地圖[5]得到了廣泛的應(yīng)用,它能夠保證地圖中道路信息的正確性,但是無法做到實(shí)時(shí)更新[6],難以滿足無人駕駛車輛對(duì)于地圖與路況高精度和實(shí)時(shí)性的要求。路況信息一旦出現(xiàn)錯(cuò)誤,則會(huì)造成無人駕駛車輛失控,產(chǎn)生嚴(yán)重的后果,而且容易發(fā)生單點(diǎn)故障,導(dǎo)致整個(gè)地圖系統(tǒng)不可用。多方車輛需要共同協(xié)作以實(shí)時(shí)發(fā)送路況信息,提高地圖的更新效率,從而為無人駕駛車輛提供實(shí)時(shí)路況更新服務(wù)。服務(wù)器根據(jù)相關(guān)路況信息對(duì)地圖進(jìn)行更新,但是車輛用戶數(shù)龐大且來源復(fù)雜,無法確保數(shù)據(jù)來源的安全性及可靠性。
近年來,主流的安全信任管理方案是使用認(rèn)證來確保數(shù)據(jù)來源的安全性,通過信任管理確保數(shù)據(jù)的可靠性。信任管理是指通過對(duì)車輛發(fā)送的數(shù)據(jù)進(jìn)行分析處理,并結(jié)合車輛的歷史信任值對(duì)該消息的可信度進(jìn)行評(píng)估,同時(shí)對(duì)特定的車輛采取獎(jiǎng)勵(lì)或者懲罰措施,并將相應(yīng)結(jié)果返回給服務(wù)器。同時(shí),一些安全性問題也逐漸顯現(xiàn),例如車輛的隱私問題及惡意車輛的攻擊。
本文將無證書簽名、信任管理、區(qū)塊鏈技術(shù)引入到無人駕駛車輛的地圖中,提出一種信任管理方案用于無人駕駛的地圖更新。利用無證書簽名實(shí)現(xiàn)車輛的匿名認(rèn)證,保證車輛身份的可驗(yàn)證性及不可否認(rèn)性,并結(jié)合區(qū)塊鏈技術(shù)和信任管理設(shè)計(jì)分布式信任管理機(jī)制,通過對(duì)路況信息數(shù)據(jù)進(jìn)行評(píng)估,確保數(shù)據(jù)的可靠性和完整性。
隨著城市智能交通的發(fā)展,無人駕駛車輛因其具有低能耗、自動(dòng)化等特點(diǎn),成為近年來智能交通系統(tǒng)的研究熱點(diǎn)。無人駕駛車輛通過地圖更新服務(wù)器對(duì)從多方接收到的數(shù)據(jù)進(jìn)行分析處理,但是地圖更新服務(wù)器無法確保數(shù)據(jù)來源的安全性及可靠性。因此,合理的認(rèn)證算法和信任管理機(jī)制的設(shè)計(jì)成為研究熱點(diǎn)。
文獻(xiàn)[7]提出一種安全高效的無人駕駛車輛地圖更新方案,利用群智感知模型、簽密和代理重加密技術(shù)對(duì)感知數(shù)據(jù)進(jìn)行簽密,并將加密數(shù)據(jù)存儲(chǔ)在車輛霧節(jié)點(diǎn)中,經(jīng)過云服務(wù)平臺(tái)上傳給地圖公司。但群智感知模型容易泄露車輛數(shù)據(jù)及位置隱私,給用戶帶來較大的安全隱患。
為了保護(hù)車輛的隱私并實(shí)現(xiàn)認(rèn)證功能的應(yīng)用,研究人員提出使用匿名證書進(jìn)行認(rèn)證。文獻(xiàn)[8]提出一種在城市場景有效的假名證書分發(fā)方案。假名證書可以滿足隱私保護(hù)需求,但是存在證書分發(fā)、撤銷及存儲(chǔ)等問題,使得匿名證書認(rèn)證方案開銷過大,效率降低。文獻(xiàn)[9]提出基于群簽名的身份認(rèn)證協(xié)議,可以有效地保護(hù)車輛的隱私信息,但群管理員權(quán)限過大并且車輛需要在群組內(nèi)頻繁更新通信密鑰,存在嚴(yán)重的安全隱患問題,并且增加了通信開銷。文獻(xiàn)[10-11]通過消息認(rèn)證碼使得認(rèn)證的處理速度更快且效率更高,但是無法實(shí)現(xiàn)不可否認(rèn)性,帶來了安全隱患。惡意車輛可以否認(rèn)其發(fā)出的錯(cuò)誤消息,存在嚴(yán)重的交通問題。
為解決上述問題,文獻(xiàn)[12]提出無證書簽名(Certificateless Signature,CLS)。在無證書簽名中,密鑰生成中心(Key Generation Center,KGC)只生成用戶的部分私鑰,用戶需選擇一個(gè)秘密值與其部分私鑰共同生成獨(dú)立的私鑰,從而確保簽名的安全。文獻(xiàn)[13]將無證書簽名引入到車聯(lián)網(wǎng)場景,為車聯(lián)網(wǎng)中的用戶提供有條件的隱私,但是該方案不能抵抗惡意KGC 的攻擊。文獻(xiàn)[14]設(shè)計(jì)一種在計(jì)算性Diffie-Hellman 問題假設(shè)下用于車聯(lián)網(wǎng)場景的CLS方案,但是該方案不能抵抗惡意KGC 攻擊。文獻(xiàn)[15]提出用于車聯(lián)網(wǎng)中的CLAS 方案,但文獻(xiàn)[16]指出CLAS 方案存在無法抵抗惡意KGC 攻擊、追蹤性不足等安全性問題。文獻(xiàn)[17]提出一種用于車聯(lián)網(wǎng)的高效和安全的無證書簽名基礎(chǔ)認(rèn)證方案,但是該方案不能抵抗公鑰替換攻擊,給車聯(lián)網(wǎng)帶來極大的安全隱患。
認(rèn)證可以驗(yàn)證消息發(fā)送者的合法性,卻無法保證消息內(nèi)容的可靠性。某些攻擊者控制某些節(jié)點(diǎn),使其具備某些惡意行為,例如故意發(fā)送虛假消息等。信任模型的建立可以有效解決車輛節(jié)點(diǎn)在網(wǎng)絡(luò)中的惡意行為,減少虛假數(shù)據(jù)在網(wǎng)絡(luò)中的傳播。傳統(tǒng)的集中式信任管理容易引起單點(diǎn)故障,導(dǎo)致系統(tǒng)癱瘓。隨著區(qū)塊鏈技術(shù)的快速發(fā)展,研究人員將區(qū)塊鏈技術(shù)引入到信任管理中,提出基于區(qū)塊鏈的分布式信任管理方案。分布式信任管理機(jī)制能夠打破傳統(tǒng)集中式信任管理機(jī)制帶來的局限性。文獻(xiàn)[18]提出一種車聯(lián)網(wǎng)中的基于區(qū)塊鏈的交通事故驗(yàn)證和信任驗(yàn)證機(jī)制,使用POE 共識(shí)算法對(duì)交通事故結(jié)果進(jìn)行共識(shí),共識(shí)結(jié)束后,通過RSU(Road Side Unit)將共識(shí)結(jié)果廣播至相鄰區(qū)域的車輛,并且存儲(chǔ)在區(qū)塊鏈的事件將被永久保存以供公眾訪問。文獻(xiàn)[19]提出一種基于區(qū)塊鏈的邊緣計(jì)算可信數(shù)據(jù)管理方案,可以支持基于矩陣的多通道數(shù)據(jù)分段和隔離,用于敏感或隱私數(shù)據(jù)保護(hù),將交易負(fù)載存儲(chǔ)在區(qū)塊鏈上,同時(shí)通過智能合約使得受保護(hù)的區(qū)塊鏈數(shù)據(jù)和交易的條件訪問以及解密查詢。文獻(xiàn)[20]提出一種基于聯(lián)盟鏈的車聯(lián)網(wǎng)資源共享范例,并提出一種輕量級(jí)的信譽(yù)證明機(jī)制。文獻(xiàn)[21]提出一個(gè)基于區(qū)塊鏈的信任管理系統(tǒng),車輛對(duì)消息發(fā)起者進(jìn)行信任評(píng)估,獲得其信任值,并定期將信任值上傳到附近的RSU。RSU將信譽(yù)值打包成塊,并將該塊添加到區(qū)塊鏈上。文獻(xiàn)[22]提出一種隱私感知匿名聲譽(yù)系統(tǒng),防止車輛公布虛假消息。文獻(xiàn)[23]在車輛之間利用區(qū)塊鏈技術(shù)建立信任,將信任值打包成塊,并將PoW 共識(shí)與PoS 共識(shí)相結(jié)合,將塊存儲(chǔ)在區(qū)塊鏈中。文獻(xiàn)[24]設(shè)計(jì)一個(gè)基于區(qū)塊鏈的位置隱私保護(hù)信任管理模型,構(gòu)建匿名區(qū)域來保證車輛的隱私安全。文獻(xiàn)[25]構(gòu)建一個(gè)基于區(qū)塊鏈的匿名信譽(yù)系統(tǒng),通過2 個(gè)區(qū)塊鏈能夠有效實(shí)現(xiàn)證書的匿名性。文獻(xiàn)[26]提出一種基于區(qū)塊鏈的可信位置隱私保護(hù)方案,設(shè)計(jì)基于狄利克雷分布的信任管理方法,通過區(qū)塊鏈更新車輛信任值,以便任何車輛在必要時(shí)訪問其他車輛的歷史信任信息。文獻(xiàn)[27]提出一種可擴(kuò)展的基于區(qū)塊鏈的車聯(lián)網(wǎng)信任管理協(xié)議,使用區(qū)塊鏈和智能合約給可信車輛注冊提供保障,通過DPoW 共識(shí)算法對(duì)車輛傳入的數(shù)據(jù)進(jìn)行擴(kuò)展。上述方案均側(cè)重于可信車輛的信任管理,未對(duì)車輛進(jìn)行身份認(rèn)證,存在非法車輛的惡意攻擊及故意上傳錯(cuò)誤路況信息的問題,并且在區(qū)塊鏈中使用的共識(shí)機(jī)制效率降低,難以滿足繁忙的車聯(lián)網(wǎng)系統(tǒng)的效率需求,容易出現(xiàn)路況信息積壓等情況,導(dǎo)致無人駕駛地圖無法實(shí)時(shí)更新。
針對(duì)上述問題,本文提出一個(gè)用于無人駕駛地圖更新的信任管理系統(tǒng),使用無證書簽名保證消息發(fā)送者的合法性,并利用基于區(qū)塊鏈的信任管理確保消息內(nèi)容的可靠性以及地圖更新的實(shí)時(shí)性。本文方案能夠?qū)崿F(xiàn)匿名認(rèn)證和有條件的隱私保護(hù),確保在發(fā)生惡意事件后,可以追溯到惡意車輛的真實(shí)身份,并將區(qū)塊鏈技術(shù)與信任管理相結(jié)合,確保不可篡改信任的數(shù)據(jù),可以有效防止惡意車輛攻擊。根據(jù)安全性和效率評(píng)估,本文方案在車聯(lián)網(wǎng)中是安全且高效的。
在有限域Fp上的橢圓曲線E是一個(gè)滿足y2=x3+Ax+Bmodp且包含無窮遠(yuǎn)點(diǎn)O的有限循環(huán)群。其中A、B∈Fp,4a3+27b2≠0 modp,(x,y)為滿足上述條件橢圓曲線E上的點(diǎn)。
橢圓曲線離散對(duì)數(shù)問題(Elliptic Curve Discrete Logarithm Problem,ECDLP)是給定大素?cái)?shù)q,取階為q的群G和橢圓曲線E,其中P為G的任意一個(gè)生成元。已知P、aP∈G,計(jì)算a∈。
計(jì)算性Diffie-Hellman 問題(Computational Diffie-Hellman Problem,CDHP)是給定大素?cái)?shù)q,取階為q的群G,P為G的任意一個(gè)生成元。任意給定a、b∈,已知P、aP、bP∈G,計(jì)算abP∈G。
本文設(shè)計(jì)的無證書簽名方案參數(shù)信息如表1所示。
表1 無證書簽名方案的參數(shù)信息Table 1 Parameters information of certificateless signature scheme
本文方案使用的算法主要有以下7 個(gè):
1)系統(tǒng)初始化(setup)??尚湃沃行模═rusted Center,TA)將安全參數(shù)λ作為輸入運(yùn)行此算法,并輸出系統(tǒng)參數(shù)params 保存系統(tǒng)主密鑰s。
2)假名生成算法。TA 使用車輛Vi的真實(shí)身份作為輸入運(yùn)行此算法,并輸出車輛Vi的假名。
3)部分私鑰提取算法。TA使用車輛Vi假名作為輸入運(yùn)行算法,輸出該車輛的部分私鑰轉(zhuǎn)換值及部分公鑰Di。
4)設(shè)置秘密值算法。車輛Vi選擇隨機(jī)數(shù),并將該數(shù)作為其秘密值。
5)設(shè)置車輛密鑰算法。車輛Vi執(zhí)行該算法,并輸出其公私鑰對(duì)。
6)簽名算法。車輛Vi執(zhí)行該算法,使用消息作為輸入并輸出消息簽名對(duì)(mi,δi)。
7)簽名驗(yàn)證算法。路邊單元RSU 執(zhí)行該算法,使用params、,mi∈{0,1}*,將δi,T作為輸入,其中T為當(dāng)前的時(shí)間戳,若簽名有效則輸出Valid,否則輸出Invalid。
本文設(shè)計(jì)的無證書簽名方案主要有以下2 種類型:1)類型I,敵手Adv-1 為惡意的車輛,它不能獲取系統(tǒng)的主密鑰,但可以替換合法車輛的公鑰;2)類型II,敵手Adv-2 為誠實(shí)但有好奇心的TA,它不能替換車輛的公鑰,但可以自己生成系統(tǒng)參數(shù)。
方案的安全性由挑戰(zhàn)者C和敵手Adv 之間的游戲進(jìn)行界定。
2.4.1 游戲I
該游戲由挑戰(zhàn)者CI和敵手Adv-1 進(jìn)行交互完成,CI維護(hù)用戶列表LCuser的交互過程分為3 個(gè)階段:
1)初始化階段。挑戰(zhàn)者CI輸入安全參數(shù)λ,運(yùn)行系統(tǒng)初始化算法,生成系統(tǒng)參數(shù)params和主密鑰s。CI安全保存s,并將params 發(fā)送給Adv-1。
2.4.2 游戲II
該游戲由挑戰(zhàn)者CII和敵手Adv-2進(jìn)行交互完成的,交互過程主要有3 個(gè)階段:1)初始化階段,挑戰(zhàn)者CII輸入安全參數(shù)λ,運(yùn)行系統(tǒng)初始化算法,生成系統(tǒng)參數(shù)params 和系統(tǒng)主密鑰s,CII將params,s發(fā)送給Adv-2;2)詢問階段,在此階段,敵手Adv-2 可自適應(yīng)性地向CII提交Hash 詢問、創(chuàng)建用戶詢問、秘密值詢問、部分私鑰詢問、簽名詢問,詢問過程與游戲I 一致;3)偽造階段,Adv-2 輸出偽造的消息簽名對(duì),若同時(shí)滿足Ver(params,)=Valid 和Adv-2 不能提交關(guān)于目標(biāo)用戶對(duì)消息的簽名詢問的條件,則稱Adv-2 贏得了此游戲。
本文主要研究用于無人駕駛地圖更新的信任管理方案。本文方案的系統(tǒng)模型如圖1 所示。
圖1 本文方案的系統(tǒng)模型Fig.1 System model of the proposed scheme
車聯(lián)網(wǎng)中的車輛首先與路邊單元RSU 相互認(rèn)證,確認(rèn)對(duì)方合法身份后,RSU 接收車輛發(fā)送的路況信息并根據(jù)車輛的歷史信任值及距離遠(yuǎn)近對(duì)路況信息的可信度進(jìn)行判斷。RSU 將判斷后的正確路況信息發(fā)送給地圖更新服務(wù)器,地圖更新服務(wù)器結(jié)合相關(guān)信息實(shí)時(shí)更新地圖,并通過區(qū)塊鏈更新相關(guān)車輛的信任值。在本文方案中,車輛和RSU 都需在可信任中心(Trusted Center,TA)中進(jìn)行注冊。車輛與RSU交互前互相驗(yàn)證,確保雙方都是在TA 中注冊過的合法用戶。車輛確認(rèn)RSU 身份后,向RSU 發(fā)送消息簽名,RSU 驗(yàn)證簽名后,對(duì)消息進(jìn)行處理,分析該消息的可信度,根據(jù)可信度對(duì)車輛的信任值進(jìn)行更新,并將最終路況信息發(fā)送給地圖更新服務(wù)器。地圖更新服務(wù)器通過RSU 反饋的路況信息對(duì)地圖進(jìn)行實(shí)時(shí)更新。車輛和RSU 的認(rèn)證算法流程如圖2 所示。
圖2 認(rèn)證算法流程Fig.2 Procedure of authentication algorithm
本文方案主要由以下4 個(gè)部分組成:1)TA 為可信機(jī)構(gòu),負(fù)責(zé)系統(tǒng)初始化、RSU 和車輛的注冊,本文中的TA 是不完全可信的,主要負(fù)責(zé)系統(tǒng)的建立以及為車輛生成部分私鑰,當(dāng)發(fā)生糾紛時(shí),TA 可以通過惡意車輛的偽身份恢復(fù)出車輛的真實(shí)身份;2)地圖更新服務(wù)器,需要大量的路況數(shù)據(jù)來實(shí)時(shí)更新地圖,通過RSU 上傳的相關(guān)路況信息,實(shí)時(shí)更新地圖;3)RSU 為路邊單元,安裝在路側(cè)的基礎(chǔ)設(shè)施,具有良好的存儲(chǔ)和計(jì)算能力;4)車輛,車聯(lián)網(wǎng)中的每個(gè)車輛都安裝一個(gè)車載單元(On Board Unit,OBU),OBU具有無線通信能力,允許車輛與RSU 通信。
3.2.1 車輛注冊
3.2.2 RSU 注冊
3.4.1 車輛簽名生成
在車輛與RSU 通信前,首先訪問區(qū)塊鏈RSU 注冊列表,然后查看其時(shí)間戳是否在有效期內(nèi),并獲得μi,計(jì)算μi P。若μi P=Wi+h″Ppub,則驗(yàn)證通過,確定RSU 合法并選擇與RSU 通信。
3.4.2 消息簽名對(duì)驗(yàn)證
RSU 接收到車輛Vi發(fā)送的消息簽名對(duì)后,首先驗(yàn)證時(shí)間戳Ti是否符合當(dāng)前簽名的時(shí)效,若時(shí)間戳有效,則對(duì)簽名δi進(jìn)行驗(yàn)證;然后計(jì)算si P,若si P=Ui+h2,i(Di+h1,i Ppub)+h3,i Xi,則驗(yàn)證通過,RSU 接收消息mi。
RSU 定義車輛接收到的所有消息集合{M1,M2,…,Mj},Mj表示關(guān)于事件ej的所有消息的集合。車輛發(fā)送的消息mi中含有關(guān)于事件e的相關(guān)信息。
RSU 接收該車輛發(fā)送的消息mi,并在區(qū)塊鏈中查詢該車輛的歷史信任值,計(jì)算該消息的可信度。RSU 評(píng)估每一個(gè)關(guān)于事件ej的消息的可信度,構(gòu)成集合。
RSU 利用貝葉斯推理模型來判斷事件ej發(fā)生的概率p(ej/Cj),如式(1)所示:
若p(ej/Cj)大于預(yù)設(shè)的閾值,則認(rèn)為事件ej真實(shí)發(fā)生,并將該信息發(fā)送給地圖更新服務(wù)器,地圖更新服務(wù)器對(duì)相關(guān)路況信息進(jìn)行更新。RSU 根據(jù)判斷結(jié)果,對(duì)發(fā)送消息的車輛進(jìn)行評(píng)分:符合判斷消息結(jié)果的產(chǎn)生一個(gè)正面評(píng)分,對(duì)不符合判斷消息結(jié)果的消息產(chǎn)生一個(gè)負(fù)面評(píng)分。
其中:pos 和neg 分別為正面評(píng)分和負(fù)面評(píng)分的數(shù)量。這兩類評(píng)分的權(quán)重由參數(shù)ωpos、ωneg決定,如式(3)和式(4)所示:
其中:Y(·)為影響ωpos、ωneg大小的函數(shù)。
信任值更新是根據(jù)信任值的變化量,對(duì)車輛的信任值進(jìn)行更新,如式(5)所示:
其中:θ為參數(shù)。
根據(jù)車輛的信譽(yù)值給予相應(yīng)獎(jiǎng)勵(lì),如式(6)所示:
其中:p為此次信息上傳的總獎(jiǎng)勵(lì)。獎(jiǎng)勵(lì)可以用來購買地圖更新服務(wù)器提供的娛樂服務(wù)等。
3.6.1 礦工節(jié)點(diǎn)的選取
由于各個(gè)RSU 獨(dú)立承擔(dān)信任評(píng)估工作,因此為保證各RSU 保存數(shù)據(jù)的一致性,需要每隔一段時(shí)間采用共識(shí)機(jī)制來選擇一個(gè)臨時(shí)的中心節(jié)點(diǎn),將產(chǎn)生新的區(qū)塊廣播給其他節(jié)點(diǎn)。
中心節(jié)點(diǎn)的選擇是區(qū)塊鏈系統(tǒng)中最關(guān)鍵的步驟。中心節(jié)點(diǎn)的選擇方式主要有工作量證明(Proofof-Work,PoW)、權(quán)益證明(Proof-of-Stake,PoS)、股份授權(quán)證明(Delegated Proof-of-Stake,DPoS)和瑞波(Ripple)共識(shí)機(jī)制。PoW 即挖礦技術(shù),通過計(jì)算出一個(gè)滿足規(guī)則的隨機(jī)數(shù),獲得本次的記賬權(quán)。但是挖礦會(huì)造成大量的資源浪費(fèi),導(dǎo)致達(dá)成共識(shí)的周期延長。權(quán)益證明的基本原理是根據(jù)每個(gè)節(jié)點(diǎn)的所有權(quán)占比來決定產(chǎn)生區(qū)塊的難度,在一定程度上縮短了挖礦時(shí)間,但是難以滿足車聯(lián)網(wǎng)中的實(shí)時(shí)性需求。DPoS 的基本原理是將PoS 中的記賬者換為由指定節(jié)點(diǎn)數(shù)組成的小圈子,只有在圈子中的節(jié)點(diǎn)才能夠獲得記賬權(quán),在一定程度上縮短了達(dá)成共識(shí)的時(shí)間,但整個(gè)過程還是依賴于代幣,實(shí)用性不強(qiáng)。瑞波共識(shí)機(jī)制是每個(gè)節(jié)點(diǎn)都會(huì)維護(hù)一個(gè)信任節(jié)點(diǎn)列表,并且只接受信任節(jié)點(diǎn)列表中節(jié)點(diǎn)的投票,可在短時(shí)間(秒級(jí))內(nèi)實(shí)現(xiàn)交易認(rèn)證和確認(rèn)[28],滿足車聯(lián)網(wǎng)中對(duì)于車輛信任值更新的實(shí)時(shí)性要求[29-31]。
每個(gè)節(jié)點(diǎn)在達(dá)成共識(shí)開始時(shí),盡可能多地收集需要共識(shí)的交易,并放到“候選集”中。每個(gè)節(jié)點(diǎn)對(duì)其信任節(jié)點(diǎn)列表中的“候選集”做一個(gè)并集,并對(duì)每一個(gè)交易進(jìn)行投票。當(dāng)各節(jié)點(diǎn)交流交易的投票結(jié)果達(dá)到一定投票比例時(shí),交易會(huì)進(jìn)入到下一輪共識(shí)中,未達(dá)到投票比例的交易會(huì)被丟棄或者進(jìn)入到下一次共識(shí)過程的候選集中。在最終輪次中,所有投票超過80%的交易會(huì)被放到Merkle 樹型的已共識(shí)交易集中。
3.6.2 分布式共識(shí)
當(dāng)系統(tǒng)形成交易集后,每個(gè)節(jié)點(diǎn)開始打包新的區(qū)塊,并將當(dāng)前區(qū)塊號(hào)、共識(shí)交易集的Merkle 樹Hash、父區(qū)塊Hash、當(dāng)前時(shí)間戳和車輛信任值等信息放在一起,以計(jì)算一個(gè)區(qū)塊Hash。每個(gè)節(jié)點(diǎn)將得到的區(qū)塊Hash 廣播到其可見的節(jié)點(diǎn),節(jié)點(diǎn)接收到它所有可信列表中其他節(jié)點(diǎn)廣播發(fā)送的區(qū)塊Hash 之后,結(jié)合自己生成的區(qū)塊Hash,對(duì)每一個(gè)區(qū)塊Hash計(jì)算一個(gè)比例。如果某個(gè)Hash 的比例超過80%的閾值,則這個(gè)Hash 是達(dá)成共識(shí)后的區(qū)塊Hash。如果自己的Hash 與共識(shí)通過的Hash 相同,則說明自己打包的區(qū)塊得到了確認(rèn),是新的被共識(shí)過的區(qū)塊,直接存儲(chǔ)到本地,并且更新狀態(tài)。如果自己的Hash 與共識(shí)通過的Hash 不同,則需要向某個(gè)區(qū)塊Hash 正確的節(jié)點(diǎn)索要新的區(qū)塊信息,之后存儲(chǔ)到本地并且更新當(dāng)前狀態(tài)。如果上面沒有對(duì)某一區(qū)塊Hash 超過設(shè)定的閾值,那么重新開始共識(shí)過程,直到滿足條件。
經(jīng)過分布式共識(shí),網(wǎng)絡(luò)中各基站均具有一致的信任數(shù)據(jù),從而為每輛車的信任評(píng)估提供有力依據(jù)。
當(dāng)車輛享受服務(wù)時(shí),車輛向RSU 發(fā)送請(qǐng)求,RSU轉(zhuǎn)發(fā)給服務(wù)器,服務(wù)器查詢其存儲(chǔ)在區(qū)塊鏈上的信任值和激勵(lì)值,選擇是否為其提供其他服務(wù)。
本文認(rèn)證算法的正確性可通過以下等式驗(yàn)證:
認(rèn)證算法的不可偽造性證明如下:
定理1在隨機(jī)預(yù)言機(jī)模型中,若存在一個(gè)挑戰(zhàn)者CI以ε的優(yōu)勢攻破ECDLP 問題,則存在一個(gè)概率多項(xiàng)式時(shí)間敵手Adv-1 以ε′≤的優(yōu)勢攻破本文方案。其中:pico為創(chuàng)建用戶詢問過程中未發(fā)生H1碰撞的最小概率;piq為敵手Adv-1 未進(jìn)行過的部分私鑰問詢的概率;peq為在偽造階段中的概率;pvf為列表L2、L3中存在,且輸出有效的偽造簽名的概率。
證明設(shè)CI是一個(gè)橢圓曲線離散對(duì)數(shù)問題的挑戰(zhàn)者,困難問題的輸入為(G,P,Ppub=sP),其中s∈,挑戰(zhàn)者CI的目標(biāo)是計(jì)算出s。定義敵手Adv-1,在敵手Adv-1 與挑戰(zhàn)者CI之間建立一個(gè)游戲。
1)初始化階段
挑戰(zhàn)者CI建立初始為空的列表L1、L2、L3、LCuser。CI運(yùn)行系統(tǒng)建立算法,將系統(tǒng)參數(shù)params={q,G,P,Ppub,H1,H2,H3,H}發(fā)送給Adv-1。Adv-1 選取車輛為目標(biāo)車輛。
2)詢問階段
詢問階段主要有H1詢問、H2詢問、H3詢問、創(chuàng)建用戶查詢、秘密值詢問、替換公鑰詢問、部分私鑰詢問、簽名詢問。
3)偽造階段
根據(jù)分叉定理[32]及上式,可得如下方程組:
4)偽造成功概率
事件E1:在偽造過程中,CI沒有終止過游戲1。
事件E2:Adv-1 成功偽造了的簽名。
CI成功解決 ECDLP 問題的優(yōu)勢為ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]=Pr[E1]ε′,其中ε′為Adv-1 攻破本方案的優(yōu)勢。
E1發(fā)生的概率Pr[E1]≥picopiqpeqpvf。則CI成功解決ECDLP問題的優(yōu)勢ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]≥picopiqpeqpvfε′。
因此,若CI能夠以ε的優(yōu)勢解決ECDLP 問題,則敵手以ε′≤的優(yōu)勢攻破本文方案。
因?yàn)閿呈諥dv-1 攻破本文方案的優(yōu)勢可忽略,所以本文方案能夠抵抗類型I 攻擊者。
定理2在隨機(jī)預(yù)言機(jī)模型下,若存在一個(gè)挑戰(zhàn)者CII以ε的優(yōu)勢攻破ECDLP問題,則存在一個(gè)概率多項(xiàng)式時(shí)間敵手Adv-2可以以ε′≤的優(yōu)勢攻破本文方案。其中:pico為創(chuàng)建用戶在詢問過程中未發(fā)生H1碰撞的最小概率;prp為敵手Adv-2 未進(jìn)行過的部分私鑰問詢的概率;psq為敵手Adv-2未進(jìn)行過的秘密值問詢的概率;peq為偽造階段中的概率;pvf為列表L2、L3中存在且輸出有效的偽造簽名的概率。
證明設(shè)CII是一個(gè)橢圓曲線離散對(duì)數(shù)問題的挑戰(zhàn)者,困難問題的輸入為G,P,Q=xP,其中x∈,挑戰(zhàn)者CII的目標(biāo)是計(jì)算x。本文定義敵手Adv-2,在敵手Adv-2 與挑戰(zhàn)者CII之間建立一個(gè)游戲,兩者的交互主要有4 個(gè)階段。
1)初始化階段
挑戰(zhàn)者CII建立初始為空的列表L1,L2,L3,LCuser。CII運(yùn)行系統(tǒng)建立算法,將系統(tǒng)參數(shù)params={q,G,P,Ppub,H1,H2,H3,H}和系統(tǒng)主密鑰s發(fā)送給Adv-2。Adv-2 選取車輛作為目標(biāo)車輛。
2)詢問階段
詢問階段主要有H1詢問、H2詢問、H3詢問、創(chuàng)建用戶查詢、秘密值詢問、替換公鑰詢問、部分私鑰詢問、簽名詢問。
3)偽造階段
根據(jù)分叉定理[32]及上式,可得如下方程組:
4)偽造成功概率
事件E1:在偽造過程中,CII沒有終止過游戲2。
事件E2:Adv-2 成功地偽造了的簽名。
CII成功解決ECDLP 問題的優(yōu)勢ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]=Pr[E1]ε′,其中ε′為Adv-2 攻破本方案的優(yōu)勢。
E1發(fā)生的概率Pr[E1]≥picoprppsqpeqpvf,則CII成功解決 ECDLP 問題的優(yōu)勢ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]≥picoprppsqpeqpvfε′。因此,若CII能夠結(jié)合ε的優(yōu)勢解決ECDLP 問題,則敵手能以ε′≤的優(yōu)勢攻破本文方案。
由于CII攻破ECDLP 的優(yōu)勢可忽略,因此敵手Adv-2 攻破本文方案的優(yōu)勢可忽略。本文方案能夠抵抗類型II 攻擊者。
其他安全需求包括以下6 個(gè)方面:1)認(rèn)證性,認(rèn)證性和完整性可以從定理1 和定理2 的不可偽造性中證明;2)匿名性,車輛在通信過程中,除了車輛自身和TA,其他實(shí)體都無法得知車輛的真實(shí)身份,由于本文方案使用車輛假名RIDi進(jìn)行通信,,其中,因此可以保護(hù)車輛的隱私,使車輛具有匿名性;3)可追蹤性,當(dāng)系統(tǒng)中注冊過的車輛發(fā)送惡意信息等行為時(shí),可信中心TA 可以通過追蹤密鑰s′恢復(fù)車輛的真實(shí)身份;4)不可抵賴性,因?yàn)榭尚胖行腡A 可以將車輛的真實(shí)身份和其假名聯(lián)系起來,所以車輛無法否認(rèn)其發(fā)過的任何一個(gè)消息;5)不可鏈接性,由于ui具有隨機(jī)性,因此攻擊者無法判斷消息是否來自同一車輛,以保證車輛與消息之間具有不可鏈接性;6)抵抗重放攻擊,在車輛發(fā)送的消息中存在時(shí)間戳,保證消息的新鮮度,在RSU 與車輛通信前檢查時(shí)間戳是否過期,以避免重放攻擊。
不同方案的服務(wù)功能對(duì)比如表2 所示,其中,“√”表示有服務(wù)功能,“×”表示無服務(wù)功能。由于地圖更新需滿足高精度和高效性的要求,需要大量的車輛提供路況信息,但車輛的身份和數(shù)據(jù)的可靠性難以得到保證。因此,本文設(shè)計(jì)具有匿名認(rèn)證功能的信任管理方案可以解決該問題。
表2 不同方案服務(wù)功能對(duì)比Table 2 Service function comparison among different schemes
本文從計(jì)算開銷、通信開銷和信任管理功能等方面對(duì)不同方案進(jìn)行對(duì)比。為評(píng)估方案效率,本文選取由處理器內(nèi)存16 GB的AMD Ryzen 7 5800H和Windows組成的硬件平臺(tái),通過仿真實(shí)驗(yàn)結(jié)果對(duì)比不同方法的開銷。
為驗(yàn)證本文方案的有效性,本文將本文方案與文獻(xiàn)[15,17,33-36]的方案進(jìn)行對(duì)比。計(jì)算開銷主要取決于簽名算法和驗(yàn)證算法的計(jì)算量,通過Hash將計(jì)算量映射到點(diǎn)運(yùn)算,根據(jù)雙線性配對(duì)運(yùn)算等算法執(zhí)行的次數(shù)統(tǒng)計(jì)計(jì)算開銷。各個(gè)運(yùn)算的時(shí)間消耗如表3 所示。
表3 各個(gè)運(yùn)算的時(shí)間消耗Table 3 Time consumption of each operation ms
文獻(xiàn)[15,34-36]提出的方案都涉及到了雙線性配對(duì)運(yùn)算和Hash 映射到點(diǎn)運(yùn)算,文獻(xiàn)[33]的方案中簽名算法和驗(yàn)證算法點(diǎn)乘運(yùn)算次數(shù)較多。不同方案的計(jì)算開銷對(duì)比如表4 所示。相比以上文獻(xiàn)提出的方案,本文方案的簽名開銷和驗(yàn)證開銷都具有優(yōu)勢。
表4 不同方案的計(jì)算開銷對(duì)比Table 4 Computing costs comparison among different schemes
不同方案的通信開銷對(duì)比如表5 所示。本文用|G|表示群G上元素的長度,|GT|表示雙線性群GT上元素的長度,表示域上元素的長度,|T|表示當(dāng)前時(shí)間戳的大小。從表5 可以看出,與其他方案相比,本文方案的通信開銷較少,更能滿足地圖更新場景的實(shí)時(shí)性需求。
表5 不同方案的通信開銷對(duì)比Table 5 Communication costs comparison among different schemes
隨著車輛數(shù)量的增加,不同算法的運(yùn)行時(shí)間對(duì)比如圖3 所示。從圖3 可以看出,在注冊階段,當(dāng)車輛個(gè)數(shù)達(dá)到100 時(shí),所需的注冊時(shí)間僅為0.81 s,公私鑰生成時(shí)間為0.8 s,簽名生成時(shí)間約為1.5 s,簽名驗(yàn)證時(shí)間為1.5 s。因此,本文算法具有高效性和較高的穩(wěn)定性。
圖3 車輛個(gè)數(shù)對(duì)算法時(shí)間的影響Fig.3 Influence of number of vehicles on algorithm time
在不同函數(shù)Y(·)影響下信任值偏移量的變化趨勢如圖4 所示。當(dāng)負(fù)面評(píng)分占比小于50% 時(shí),由Y(x)=x3控制的信任值偏移量比Y(x)=x控制的高,說明當(dāng)Y(x)=x3時(shí),少量的負(fù)面評(píng)分不會(huì)對(duì)信任值的偏移量產(chǎn)生較大的影響。因此,本文采用函數(shù)Y(x)=x3控制信任值偏移量參數(shù)ωpos、ωneg,使得信任值偏移量更符合多數(shù)車輛的判斷結(jié)果。
圖4 負(fù)面評(píng)分對(duì)信任值偏移量的影響Fig.4 Influence of negative rating on trust value deviation
信任值偏移量的變化對(duì)信譽(yù)值的影響如圖5 所示。從圖5 可以看出,當(dāng)車輛發(fā)送誠實(shí)的消息時(shí),本文方案與文獻(xiàn)[37]方案的車輛信譽(yù)值增加,當(dāng)車輛發(fā)送虛假消息時(shí),車輛的信譽(yù)值下降。本文方案對(duì)虛假消息的敏感度高,車輛信譽(yù)值下降較快。當(dāng)車輛繼續(xù)發(fā)送誠實(shí)消息時(shí),本文方案恢復(fù)速度緩慢,以防止開關(guān)攻擊。因此,本文方案對(duì)車輛的惡意行為具有較高的防騙能力。
圖5 信任值偏移量的變化對(duì)信譽(yù)更新值的影響Fig.5 Influence of trust deviation offset on reputation update value
本文方案與文獻(xiàn)[22-27]方案采用的共識(shí)機(jī)制、區(qū)塊鏈類型、算力需求等方面進(jìn)行對(duì)比,各方案的優(yōu)缺點(diǎn)如表6所示。
表6 本文方案與現(xiàn)有區(qū)塊鏈信任管理方案對(duì)比Table 6 Comparison between the proposed scheme and existing blockchain trust management schemes
從表6可以看出,本文使用Ripple算法作為共識(shí)機(jī)制,文獻(xiàn)[22-23]使用的PoS+PoW 算法能夠給礦工和持幣者兩方提供和平共贏的機(jī)會(huì),避免數(shù)字貨幣的集中化,但難以避免PoS 和PoW 帶來的資源浪費(fèi)問題。文獻(xiàn)[24-26]使用PoW 算法,需要大量的啟動(dòng)節(jié)點(diǎn)和算力來維護(hù)區(qū)塊鏈。文獻(xiàn)[27]使用的DPoW 算法去中心化程度高,避免擁有算力的組織或者持幣大戶控制網(wǎng)絡(luò),并且能夠保證較小的算力需求。而本文使用的Ripple算法,不需要挖礦,所需算力較小,能夠滿足無人駕駛地圖更新的實(shí)時(shí)性需求。
本文對(duì)上述共識(shí)算法進(jìn)行仿真,各共識(shí)算法運(yùn)行時(shí)的CPU 占用率對(duì)比如圖6 所示。仿真結(jié)果表明,本文所使用的Ripple 共識(shí)算法具有較小的CPU占用率,效率較高。
圖6 不同共識(shí)算法的CPU 占用率對(duì)比Fig.6 CPU utility comparison among different consensus algorithms
針對(duì)無人駕駛地圖更新中存在的數(shù)據(jù)來源安全性和可靠性問題,本文提出一種具有認(rèn)證功能的信任管理方案。利用計(jì)算開銷和通信開銷較少的無證書簽名實(shí)現(xiàn)匿名認(rèn)證,保證數(shù)據(jù)來源的安全性,同時(shí)對(duì)車輛的身份實(shí)現(xiàn)有條件的隱私保護(hù)。利用信任管理方案評(píng)估消息數(shù)據(jù)的可信度,確保數(shù)據(jù)的可靠性。消息數(shù)據(jù)都認(rèn)證通過后,將數(shù)據(jù)發(fā)送給地圖更新服務(wù)器,保證數(shù)據(jù)的準(zhǔn)確性與安全性。仿真結(jié)果表明,本文信任管理方案具有較高的更新效率和防騙能力,在計(jì)算開銷和通信開銷方面具有一定的優(yōu)勢。后續(xù)將對(duì)本文使用的共識(shí)算法進(jìn)行深入研究,為無人駕駛車輛提供更高效安全的地圖更新服務(wù)。