任條娟 鄭佳瑩 陳友榮 陳秋霞 劉半藤
(1.常州大學(xué),常州 213164;2.浙江樹人大學(xué),杭州 310015)
主題詞:區(qū)塊鏈 車聯(lián)網(wǎng) 共識(shí)機(jī)制 安全通信模型
車聯(lián)網(wǎng)是智能網(wǎng)聯(lián)車輛的核心技術(shù)之一。在車聯(lián)網(wǎng)中,車輛節(jié)點(diǎn)定期向周圍的節(jié)點(diǎn)廣播其當(dāng)前位置、速度和加速度等信息,但這種方式對(duì)車輛數(shù)據(jù)安全構(gòu)成潛在威脅?,F(xiàn)有的車聯(lián)網(wǎng)架構(gòu)都是中心化的,一旦中心化實(shí)體被攻擊,將會(huì)帶來嚴(yán)重的數(shù)據(jù)安全風(fēng)險(xiǎn),造成身份、位置等隱私泄露。且隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,車聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)量劇增,中心實(shí)體負(fù)載過大,面臨著單點(diǎn)故障的風(fēng)險(xiǎn)。同時(shí),車聯(lián)網(wǎng)的高移動(dòng)性、易變性等特質(zhì)給車輛通信系統(tǒng)帶來了巨大挑戰(zhàn)。
區(qū)塊鏈技術(shù)是一種完全分布式的公共數(shù)據(jù)庫或分類賬,具有去中心化、透明性、防篡改等特點(diǎn),因此國內(nèi)外學(xué)者提出將區(qū)塊鏈技術(shù)引入車聯(lián)網(wǎng)。如:文獻(xiàn)[1]根據(jù)數(shù)據(jù)類型設(shè)計(jì)了不同功能的獨(dú)立區(qū)塊鏈,提出了車輛區(qū)塊鏈數(shù)據(jù)向外傳輸?shù)哪P?。文獻(xiàn)[2]提出了基于許可的區(qū)塊鏈模型,管理所收集的車輛相關(guān)數(shù)據(jù)。文獻(xiàn)[3]增加獎(jiǎng)勵(lì)機(jī)制,并提出一種半分布式對(duì)等計(jì)算(Peer to Peer,P2P)網(wǎng)絡(luò)模型。文獻(xiàn)[4]提出了一種基于區(qū)塊鏈的安全數(shù)據(jù)共享模型,鼓勵(lì)車輛廣播公告消息和生成區(qū)塊。部分學(xué)者以聯(lián)盟鏈為基礎(chǔ),將車輛的存儲(chǔ)和計(jì)算轉(zhuǎn)移至路側(cè)單元(Road Side Unit,RSU)。文獻(xiàn)[5]開發(fā)了一種P2P 數(shù)據(jù)共享系統(tǒng),公開審計(jì)和存儲(chǔ)共享數(shù)據(jù)及其共享記錄。文獻(xiàn)[6]提出了一種基于聯(lián)盟區(qū)塊鏈的數(shù)據(jù)安全共享和存儲(chǔ)系統(tǒng)。文獻(xiàn)[7]實(shí)現(xiàn)了開放環(huán)境下自動(dòng)駕駛云控服務(wù)及相關(guān)數(shù)據(jù)的安全共享。部分學(xué)者將區(qū)塊鏈網(wǎng)絡(luò)劃分區(qū)域。文獻(xiàn)[8]將車聯(lián)網(wǎng)劃分為若干個(gè)區(qū)域,每個(gè)區(qū)域設(shè)定一條公有鏈,提出了一種區(qū)塊鏈分支算法。文獻(xiàn)[9]、文獻(xiàn)[10]以城市為單位,將車聯(lián)網(wǎng)設(shè)計(jì)為一個(gè)聯(lián)盟鏈,實(shí)現(xiàn)各城市車聯(lián)網(wǎng)聯(lián)盟鏈之間的數(shù)據(jù)交換。
本文針對(duì)存儲(chǔ)維護(hù)困難、通信效率低、實(shí)時(shí)處理困難等問題,提出一種基于區(qū)塊鏈的車聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)安全 通 信 模 型(Date Security Communication Model,DSCM),包括區(qū)塊鏈設(shè)計(jì)、節(jié)點(diǎn)身份認(rèn)證、改進(jìn)動(dòng)態(tài)實(shí)用拜占庭容錯(cuò)共識(shí)算法、車輛安全通信方法等。根據(jù)數(shù)據(jù)的緊急程度,將數(shù)據(jù)分成普通數(shù)據(jù)和緊急數(shù)據(jù)??紤]到車輛節(jié)點(diǎn)的運(yùn)動(dòng)情況,提出一種改進(jìn)實(shí)用拜占庭容錯(cuò)共識(shí)算法。
本文以車聯(lián)網(wǎng)服務(wù)為基礎(chǔ),借助區(qū)塊鏈的思想設(shè)計(jì)了安全通信模型,包括區(qū)塊鏈設(shè)計(jì)、節(jié)點(diǎn)身份認(rèn)證、改進(jìn)動(dòng)態(tài)實(shí)用拜占庭容錯(cuò)共識(shí)算法和車輛安全通信方法。
如圖1 所示,車聯(lián)網(wǎng)區(qū)塊鏈由車聯(lián)網(wǎng)聯(lián)盟鏈和1 個(gè)公鏈組成??紤]通信基站的部署,將整個(gè)車聯(lián)網(wǎng)劃分成蜂窩式區(qū)域,每個(gè)區(qū)域設(shè)定1 條區(qū)塊鏈,這些區(qū)塊鏈共同組成車聯(lián)網(wǎng)聯(lián)盟鏈,其中車聯(lián)網(wǎng)聯(lián)盟鏈由各區(qū)域中所有的通信基站和車輛節(jié)點(diǎn)等車聯(lián)網(wǎng)節(jié)點(diǎn)組成。同時(shí),所有通信基站(5G)和路側(cè)單元等車聯(lián)網(wǎng)的邊緣側(cè)設(shè)備統(tǒng)稱為邊緣節(jié)點(diǎn)。車聯(lián)網(wǎng)中所有邊緣節(jié)點(diǎn)作為共識(shí)節(jié)點(diǎn)組成車聯(lián)網(wǎng)公鏈,實(shí)現(xiàn)各區(qū)域間緊急數(shù)據(jù)的共享。
圖1 車聯(lián)網(wǎng)數(shù)據(jù)通信原理
本文將車聯(lián)網(wǎng)數(shù)據(jù)分為普通數(shù)據(jù)和緊急數(shù)據(jù)。普通數(shù)據(jù)包含車輛的基本安全數(shù)據(jù),在所在區(qū)域內(nèi)的車輛之間傳輸。緊急數(shù)據(jù)包含交通事故、道路擁堵狀態(tài)等特殊信息,在區(qū)域之間傳輸,通過車路通信和云計(jì)算的分布式廣播,實(shí)現(xiàn)全范圍內(nèi)的消息共享。但是仍需要解決以下問題:一是如何設(shè)計(jì)普通數(shù)據(jù)和緊急數(shù)據(jù)的區(qū)塊結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、節(jié)點(diǎn)身份認(rèn)證方式等,并實(shí)現(xiàn)車輛數(shù)據(jù)真實(shí)性和完整性的驗(yàn)證;二是如何有效地實(shí)現(xiàn)車輛數(shù)據(jù)的共識(shí),剔除惡意節(jié)點(diǎn),提高共識(shí)效率,縮短共識(shí)時(shí)間;三是如何實(shí)現(xiàn)數(shù)據(jù)的安全通信。
2.1.1 區(qū)塊設(shè)計(jì)
邊緣節(jié)點(diǎn)分布式記錄、存儲(chǔ)路況信息,每個(gè)邊緣節(jié)點(diǎn)都會(huì)存儲(chǔ)聯(lián)盟鏈上所有的數(shù)據(jù),即使網(wǎng)絡(luò)中某些節(jié)點(diǎn)遭受攻擊,也不會(huì)對(duì)數(shù)據(jù)造成任何威脅,從本質(zhì)上解決了中心化模式下數(shù)據(jù)存儲(chǔ)不安全的問題。
圖2所示為主鏈中的區(qū)塊結(jié)構(gòu),區(qū)塊主要分為區(qū)塊頭和區(qū)塊體2個(gè)部分。區(qū)塊頭中:時(shí)間戳表示區(qū)塊產(chǎn)生的時(shí)間;有效時(shí)間表示該區(qū)塊的有效期限;當(dāng)前區(qū)塊的哈希值表示整個(gè)區(qū)塊數(shù)據(jù)的哈希值;父區(qū)塊哈希值表示上一個(gè)區(qū)塊的哈希值;默克爾樹根哈希值表示區(qū)塊體內(nèi)存儲(chǔ)的所有車輛交易信息的根哈希值。區(qū)塊體由交易數(shù)據(jù)塊組成,交易數(shù)據(jù)塊由多個(gè)數(shù)據(jù)塊(例如圖中D1~D4)構(gòu)成,計(jì)算每個(gè)數(shù)據(jù)塊哈希值(例如圖中H1~H4、H12、H34),最終計(jì)算整個(gè)交易區(qū)塊體的默克爾樹根(H1234)。每個(gè)數(shù)據(jù)塊中可存儲(chǔ)10 條車輛數(shù)據(jù)條目(Item),每個(gè)區(qū)塊的大小不超過1 MB。這種區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)使得鏈上每個(gè)區(qū)塊的信息都可以由前驅(qū)節(jié)點(diǎn)追溯,并影響后繼節(jié)點(diǎn)的信息構(gòu)成,由密碼學(xué)方法保證了惡意攻擊無法篡改信息,確保數(shù)據(jù)的安全性和完整性。
圖2 區(qū)塊結(jié)構(gòu)
2.1.2 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
如圖3所示,為了保證記錄內(nèi)容可信、未篡改,模型記錄所有數(shù)據(jù)的哈希值并采用分層結(jié)構(gòu)存儲(chǔ)。其中,數(shù)據(jù)塊(Data Block)由1個(gè)數(shù)據(jù)頭信息和多個(gè)數(shù)據(jù)條目組成。數(shù)據(jù)頭信息包含時(shí)間戳和數(shù)據(jù)塊的哈希值,可減少校驗(yàn)的計(jì)算成本,有利于數(shù)據(jù)塊在區(qū)塊鏈網(wǎng)絡(luò)中傳播。每一個(gè)數(shù)據(jù)條目中都包含了時(shí)間戳t、數(shù)據(jù)所有者公鑰Pk、元數(shù)據(jù)、數(shù)據(jù)哈希(Hash)。其中,元數(shù)據(jù)為普通數(shù)據(jù)或緊急數(shù)據(jù):普通數(shù)據(jù)包括車輛的位置、速度、方向、制動(dòng)狀態(tài)、有效時(shí)間等車輛自身基本安全信息;緊急數(shù)據(jù)包括交通事故、道路擁堵狀態(tài)、實(shí)時(shí)路況、有效時(shí)間等特殊信息。每條數(shù)據(jù)的大小不超過1 KB。根據(jù)前面3個(gè)信息,計(jì)算和存儲(chǔ)本條數(shù)據(jù)的哈希值,方便其他節(jié)點(diǎn)的哈希校驗(yàn),從而加快節(jié)點(diǎn)對(duì)區(qū)塊的校驗(yàn)速度,減少搜索空間。
圖3 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
2.1.3 節(jié)點(diǎn)數(shù)據(jù)更新
由于區(qū)塊鏈具有無限冗余的特性,每個(gè)節(jié)點(diǎn)都備份了區(qū)塊鏈網(wǎng)絡(luò)的所有信息,消耗大量功率,這在車聯(lián)網(wǎng)的網(wǎng)絡(luò)環(huán)境下難以運(yùn)行和維護(hù)。且車輛通信期間會(huì)生成大量數(shù)據(jù),需要大型數(shù)據(jù)服務(wù)器長時(shí)間管理和存儲(chǔ)數(shù)據(jù)。因此,根據(jù)車聯(lián)網(wǎng)的實(shí)時(shí)性和移動(dòng)性,在每個(gè)區(qū)塊鏈節(jié)點(diǎn)上,都只備份當(dāng)前區(qū)域內(nèi)區(qū)塊鏈網(wǎng)絡(luò)的數(shù)據(jù)。當(dāng)車輛節(jié)點(diǎn)從一個(gè)區(qū)域移動(dòng)到另一個(gè)區(qū)域時(shí),刪除在原有區(qū)域的區(qū)塊鏈信息,并更新下載當(dāng)前區(qū)域網(wǎng)絡(luò)的區(qū)塊鏈信息和數(shù)據(jù)。車輛節(jié)點(diǎn)存儲(chǔ)量達(dá)到閾值后,則從頭開始判斷區(qū)塊的有效期。如圖4所示,如果區(qū)塊鏈中有區(qū)塊過期,則刪除整個(gè)區(qū);如果區(qū)塊鏈中區(qū)塊未過期而內(nèi)存不足,為保護(hù)區(qū)塊的完整性和真實(shí)性,先刪除該區(qū)塊的數(shù)據(jù),只保留區(qū)塊的哈希值。
圖4 節(jié)點(diǎn)數(shù)據(jù)更新
2.1.4 數(shù)據(jù)包格式
車輛發(fā)送的數(shù)據(jù)包含數(shù)據(jù)所有者公鑰Q、元數(shù)據(jù)m、數(shù)字簽名S、數(shù)據(jù)哈希值h(m)(SHA256)、時(shí)間戳t。如表1所示,應(yīng)發(fā)送的數(shù)據(jù)包為Msig{Q|S|t|m|h(m)}。
表1 數(shù)據(jù)格式
用戶的身份驗(yàn)證和隱私是車聯(lián)網(wǎng)中的2 個(gè)重要問題,本文采用一種基于云服務(wù)器和區(qū)塊鏈的節(jié)點(diǎn)身份認(rèn)證方案。如圖5 所示,車聯(lián)網(wǎng)節(jié)點(diǎn)(車輛節(jié)點(diǎn)和邊緣節(jié)點(diǎn))在啟動(dòng)加入網(wǎng)絡(luò)前,發(fā)送注冊(cè)請(qǐng)求給負(fù)責(zé)證書簽發(fā)的認(rèn)證中心(Certificate Authority,CA)。云服務(wù)器負(fù)責(zé)存儲(chǔ)和管理節(jié)點(diǎn)的出廠信息和真實(shí)身份,方便節(jié)點(diǎn)注冊(cè)時(shí)進(jìn)行身份驗(yàn)證,并管理CA 頒發(fā)的節(jié)點(diǎn)假名。當(dāng)節(jié)點(diǎn)在具有真實(shí)身份的系統(tǒng)中注冊(cè)后,可獲得由CA 頒發(fā)的包括假名、一對(duì)公私鑰和2 個(gè)哈希值的證書。在CA 為節(jié)點(diǎn)頒發(fā)的證書中,隱藏了節(jié)點(diǎn)的真實(shí)身份,可以保護(hù)節(jié)點(diǎn)的隱私,并可根據(jù)假名+公鑰的哈希值和真名+證書的哈希值追蹤惡意節(jié)點(diǎn)。
圖5 節(jié)點(diǎn)身份認(rèn)證
車輛節(jié)點(diǎn)可從一個(gè)區(qū)域快速移動(dòng)到另一個(gè)區(qū)域,為移動(dòng)節(jié)點(diǎn)。新加入網(wǎng)絡(luò)的節(jié)點(diǎn)稱為新生節(jié)點(diǎn)。考慮到車輛的移動(dòng)性,通過隨機(jī)組成的隨時(shí)間動(dòng)態(tài)變化的驗(yàn)證組成員,快速驗(yàn)證新生節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)的證書。其中,驗(yàn)證組成員由所有區(qū)域內(nèi)隨機(jī)挑選的數(shù)量為M的邊緣節(jié)點(diǎn)和數(shù)量為N的移動(dòng)節(jié)點(diǎn)組成。其中,已經(jīng)入選成為驗(yàn)證組成員的節(jié)點(diǎn)在下次隨機(jī)組合過程中將不會(huì)被考慮,直到所有可能的組合都遍歷過。
在區(qū)塊鏈網(wǎng)絡(luò)中,車聯(lián)網(wǎng)節(jié)點(diǎn)會(huì)在其通信列表中保存一定時(shí)間內(nèi)通信過的節(jié)點(diǎn)信息,該列表為信任列表。若列表中的節(jié)點(diǎn)信息超出時(shí)間范圍,則會(huì)被刪除。信任列表可在邊緣節(jié)點(diǎn)之間和邊緣節(jié)點(diǎn)與車輛節(jié)點(diǎn)之間更新。當(dāng)車輛節(jié)點(diǎn)移動(dòng)到另一個(gè)區(qū)域時(shí),則該節(jié)點(diǎn)當(dāng)前所在區(qū)域內(nèi)的區(qū)域代表節(jié)點(diǎn)向前一個(gè)區(qū)域及其周圍區(qū)域(不包括當(dāng)前區(qū)域)發(fā)送驗(yàn)證請(qǐng)求。其中,驗(yàn)證組中只要在1個(gè)邊緣節(jié)點(diǎn)或n個(gè)車輛節(jié)點(diǎn)的可通信列表中可查詢到該車輛節(jié)點(diǎn)信息,即認(rèn)為通過該區(qū)域的驗(yàn)證。若該車輛節(jié)點(diǎn)通過跨區(qū)之前所在區(qū)域的驗(yàn)證,且在周圍區(qū)域(不包括當(dāng)前區(qū)域和前一個(gè)區(qū)域)中未能通過,則表明該車輛節(jié)點(diǎn)具有唯一性,即認(rèn)為該車輛節(jié)點(diǎn)的身份驗(yàn)證成功,可以參與數(shù)據(jù)通信。若未能滿足上述情況,則該車輛節(jié)點(diǎn)參與數(shù)據(jù)通信的權(quán)利被取消,一段時(shí)間后重復(fù)上述驗(yàn)證過程,直到完成該車輛節(jié)點(diǎn)的身份驗(yàn)證。車輛節(jié)點(diǎn)第一次加入網(wǎng)絡(luò)時(shí),該區(qū)域的區(qū)域代表節(jié)點(diǎn)向其他區(qū)域的驗(yàn)證組發(fā)送驗(yàn)證請(qǐng)求,若在各個(gè)區(qū)域中都未通過驗(yàn)證,則證明該車輛節(jié)點(diǎn)的唯一性,即認(rèn)為該車輛節(jié)點(diǎn)的身份驗(yàn)證成功,否則不能參與數(shù)據(jù)的通信。
總之,通過云服務(wù)器的身份認(rèn)證和節(jié)點(diǎn)間的身份認(rèn)證,才能允許車聯(lián)網(wǎng)節(jié)點(diǎn)進(jìn)行有效的數(shù)據(jù)通信,從而減少傳統(tǒng)認(rèn)證方案中對(duì)CA 的依賴,有效檢測(cè)和防止惡意節(jié)點(diǎn)加入,并保護(hù)節(jié)點(diǎn)的身份隱私。
實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT)算法提出的一致性協(xié)議、視圖切換協(xié)議和檢查點(diǎn)協(xié)議,可實(shí)現(xiàn)數(shù)據(jù)更新和容錯(cuò)恢復(fù),使區(qū)塊在全網(wǎng)達(dá)成一致。相比工作量證明(Proof of work,PoW)機(jī)制,該機(jī)制不僅在效率上能滿足交易短時(shí)間內(nèi)響應(yīng)的需求,還解決了每個(gè)節(jié)點(diǎn)的歷史消息存儲(chǔ)問題,且當(dāng)惡意節(jié)點(diǎn)入侵時(shí)可容錯(cuò)恢復(fù)。但是,由于車聯(lián)網(wǎng)中節(jié)點(diǎn)可快速移動(dòng)且實(shí)時(shí)產(chǎn)生較多的數(shù)據(jù),需要快速達(dá)到共識(shí)。因此,在PBFT 共識(shí)機(jī)制的基礎(chǔ)上,提出由區(qū)域內(nèi)部共識(shí)機(jī)制與多區(qū)域共識(shí)機(jī)制組成的動(dòng)態(tài)區(qū)域共識(shí)機(jī)制。
區(qū)域內(nèi)部共識(shí)機(jī)制在分區(qū)策略的基礎(chǔ)上,在邊緣節(jié)點(diǎn)中隨機(jī)確定區(qū)域代表節(jié)點(diǎn),并在區(qū)域代表節(jié)點(diǎn)中選出主節(jié)點(diǎn)。主節(jié)點(diǎn)的選舉方法是為p=v·f(R),其中p為主節(jié)點(diǎn)編號(hào),v為視圖編號(hào)(當(dāng)前區(qū)塊數(shù)量),R為區(qū)域內(nèi)邊緣節(jié)點(diǎn)的總數(shù)量,f()為取余函數(shù)。其他區(qū)域代表節(jié)點(diǎn)作為副本節(jié)點(diǎn)。其中,若主節(jié)點(diǎn)存在惡意行為,則在副本節(jié)點(diǎn)中重新挑選主節(jié)點(diǎn)。根據(jù)主節(jié)點(diǎn),區(qū)域內(nèi)部共識(shí)機(jī)制采用PBFT原有的一致性協(xié)議完成區(qū)塊共識(shí)。
多區(qū)域共識(shí)機(jī)制同樣依賴于前面各項(xiàng)機(jī)制。但考慮到在多區(qū)域共識(shí)機(jī)制下,參與區(qū)塊共識(shí)的區(qū)域代表節(jié)點(diǎn)數(shù)量遠(yuǎn)超出區(qū)域內(nèi)部共識(shí)機(jī)制的節(jié)點(diǎn)數(shù)量,為提高共識(shí)機(jī)制的效率,縮短數(shù)據(jù)更新時(shí)間,簡化了一致性協(xié)議和視圖切換協(xié)議。如圖6 所示,在簡化一致性協(xié)議中,各區(qū)域的主節(jié)點(diǎn)組成主節(jié)點(diǎn)群,發(fā)送預(yù)準(zhǔn)備消息到其他區(qū)域代表節(jié)點(diǎn),區(qū)域代表節(jié)點(diǎn)接收并處理預(yù)準(zhǔn)備消息,向主節(jié)點(diǎn)群發(fā)送認(rèn)可消息。若主節(jié)點(diǎn)群收到的認(rèn)可消息數(shù)量超過f2(f2為區(qū)域代表節(jié)點(diǎn)數(shù)量的1/3),則統(tǒng)一發(fā)送認(rèn)可消息到其他區(qū)域代表節(jié)點(diǎn)進(jìn)行驗(yàn)證。若區(qū)域代表節(jié)點(diǎn)驗(yàn)證通過,則將驗(yàn)證消息發(fā)送給主節(jié)點(diǎn)群。若主節(jié)點(diǎn)群收到的驗(yàn)證成功消息數(shù)量超過f2,則共識(shí)達(dá)成,并將區(qū)塊寫入車聯(lián)網(wǎng)公鏈。而簡化視圖切換協(xié)議主要針對(duì)當(dāng)主節(jié)點(diǎn)為惡意節(jié)點(diǎn)時(shí),選取副本節(jié)點(diǎn)的其中一個(gè)節(jié)點(diǎn)取代當(dāng)前主節(jié)點(diǎn),繼續(xù)完成當(dāng)前共識(shí)。該方法不僅可避免惡意節(jié)點(diǎn)成為主節(jié)點(diǎn)構(gòu)建區(qū)塊而導(dǎo)致交易延遲的風(fēng)險(xiǎn),而且區(qū)塊構(gòu)建效率滿足車聯(lián)網(wǎng)的需求。
圖6 簡化一致性協(xié)議
考慮車聯(lián)網(wǎng)數(shù)據(jù)中存在普通數(shù)據(jù)和緊急數(shù)據(jù),提出不同數(shù)據(jù)的安全通信方法。車與車之間交換車輛自身的常規(guī)數(shù)據(jù)屬于普通消息,主要通過本區(qū)域的車車通信實(shí)現(xiàn);當(dāng)出現(xiàn)緊急數(shù)據(jù)時(shí),需要將這些數(shù)據(jù)廣播給其他區(qū)域的車輛,則需要通過車路通信實(shí)現(xiàn),即邊緣節(jié)點(diǎn)可直接將緊急數(shù)據(jù)廣播給附近的車輛節(jié)點(diǎn),同時(shí)將緊急數(shù)據(jù)發(fā)送給云服務(wù)器,云服務(wù)器統(tǒng)籌并通過大數(shù)據(jù)查找其他感興趣區(qū)域內(nèi)的邊緣節(jié)點(diǎn),邊緣節(jié)點(diǎn)再將緊急數(shù)據(jù)發(fā)送給其所在區(qū)域內(nèi)附近的車輛節(jié)點(diǎn)[11]。數(shù)據(jù)安全通信的流程如圖7所示。
與傳統(tǒng)的車聯(lián)網(wǎng)通信方案中的安全和隱私保護(hù)不同,車聯(lián)網(wǎng)聯(lián)盟區(qū)塊鏈技術(shù)可確保數(shù)據(jù)存儲(chǔ)和共享期間的安全并實(shí)現(xiàn)隱私保護(hù)。聯(lián)盟區(qū)塊鏈可確保數(shù)據(jù)可追溯性,智能合約的自動(dòng)執(zhí)行可保護(hù)數(shù)據(jù)安全共享。車聯(lián)網(wǎng)聯(lián)盟鏈的分布式特征可抵御集中式數(shù)據(jù)存儲(chǔ)帶來的數(shù)據(jù)安全風(fēng)險(xiǎn)。本文采用對(duì)照分析的方法評(píng)估基于區(qū)塊鏈的車聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)安全通信模型。如表2 所示為通信模型比較結(jié)果,與現(xiàn)有研究成果中的其他解決方案的對(duì)比,DSCM 模型基于聯(lián)盟鏈和改進(jìn)PBFT,具有區(qū)域劃分、數(shù)據(jù)分類、數(shù)據(jù)更新等特點(diǎn),專為車聯(lián)網(wǎng)通信問題設(shè)計(jì)?,F(xiàn)存車聯(lián)網(wǎng)通信安全問題及相應(yīng)解決方案如表3 所示,從安全隱私、效率、數(shù)據(jù)管理、用戶參與度等角度,分析了目前車聯(lián)網(wǎng)安全通信存在的問題,并介紹了DSCM模型中相應(yīng)的解決方案及優(yōu)勢(shì),從而解決了隱私泄露、數(shù)據(jù)篡改、內(nèi)存冗余、用戶參與度低等問題。
圖7 數(shù)據(jù)安全通信的流程
表2 通信模型比較
本文借助區(qū)塊鏈技術(shù),解決了現(xiàn)有的車聯(lián)網(wǎng)架構(gòu)中心實(shí)體負(fù)載過大和數(shù)據(jù)安全風(fēng)險(xiǎn)高等問題。首先提出了基于區(qū)塊鏈的車聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)安全通信模型(DSCM),根據(jù)車聯(lián)網(wǎng)的實(shí)時(shí)性和移動(dòng)性設(shè)計(jì)普通數(shù)據(jù)和緊急數(shù)據(jù)的區(qū)塊結(jié)構(gòu),采用數(shù)字簽名方法驗(yàn)證數(shù)據(jù)和區(qū)塊的完整性和真實(shí)性。其次,采用一種基于云服務(wù)器和驗(yàn)證組的節(jié)點(diǎn)身份認(rèn)證方案,解決用戶的身份驗(yàn)證和隱私問題。接著,在PBFT 共識(shí)機(jī)制的基礎(chǔ)上,提出動(dòng)態(tài)實(shí)用拜占庭容錯(cuò)共識(shí)算法,保證車聯(lián)網(wǎng)區(qū)塊鏈快速共識(shí)。最后,通過與其他通信模型進(jìn)行比較,說明了DSCM模型具有快速共識(shí)、數(shù)據(jù)安全、隱私保護(hù)、輕量級(jí)存儲(chǔ)、高效通信等特點(diǎn),更適用于目前的車聯(lián)網(wǎng)通信環(huán)境。
表3 現(xiàn)存車聯(lián)網(wǎng)節(jié)點(diǎn)通信安全問題及解決方案