趙佳 李春燕 劉吉強(qiáng) 張強(qiáng) 韓磊
摘? ?要:車載自組網(wǎng)通過(guò)信息通信實(shí)現(xiàn)信息共享,頻繁進(jìn)行信息通信會(huì)產(chǎn)生兩方面的安全問(wèn)題:一是車輛身份隱私泄露;二是通信消息隱私泄露。針對(duì)此類問(wèn)題,文章提出了一種車載自組網(wǎng)中信息通信隱私保護(hù)方案。該方案采用假名的方式實(shí)現(xiàn)車輛身份的隱私保護(hù),采用數(shù)字簽名和通信消息區(qū)塊鏈?zhǔn)浇Y(jié)構(gòu),實(shí)現(xiàn)通信消息的隱私保護(hù)。實(shí)驗(yàn)表明,實(shí)現(xiàn)了車載自組網(wǎng)信息通信過(guò)程中車輛身份隱私保護(hù)和通信消息隱私保護(hù),并將車輛存儲(chǔ)私鑰、公鑰的存儲(chǔ)開銷和追溯通信消息的時(shí)間開銷均降低到常數(shù)級(jí)。
關(guān)鍵詞:隱私保護(hù);信息通信;區(qū)塊鏈;車載自組網(wǎng);橢圓曲線簽名
中圖分類號(hào): TP309? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: Information sharing is realized in VANET through information communication, and frequent information communication will have two security problems: one is the leakage of vehicle identity privacy information, and the other is the leakage of communication message privacy information. Aiming at this problem, this paper proposes a privacy protection scheme for information communication in VANET. In this paper, the privacy protection of vehicle identity is realized by using pseudonym, and the privacy protection of communication messages is realized by using digital signature and storing communication message in blockchain. Experiments show that the vehicle identity privacy protection and communication message privacy protection in VANET are realized, besides the storage overhead of private key and public key as well as the time cost of tracing communication messages are reduced to a constant.
Key words: privacy protection; information communication; blockchain; VANET; ECDSA
1 引言
車載自組網(wǎng)是一種特殊的自組織網(wǎng)絡(luò),可以看作是移動(dòng)自組網(wǎng)(Mobile Ad-hoc Networks,MANET)的子集,與移動(dòng)自組網(wǎng)不同的是車載自組網(wǎng)中的通信節(jié)點(diǎn)是車輛。車載自組網(wǎng)的主要思想是車輛通過(guò)傳感器等器件感知所在環(huán)境中信息,然后車輛將信息發(fā)送給網(wǎng)絡(luò)中的其它車輛節(jié)點(diǎn)和基礎(chǔ)設(shè)施等,使得信息在車載自組織網(wǎng)絡(luò)實(shí)現(xiàn)信息共享。車載自組網(wǎng)是一個(gè)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),車輛既可以作為信息的發(fā)送方,也可以作為信息的接收方。車載自組網(wǎng)具有無(wú)中心、多跳路由、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化快、網(wǎng)絡(luò)容量有限、自治性、可擴(kuò)展性等特點(diǎn)。
車載自組網(wǎng)的特性及應(yīng)用決定車載自組網(wǎng)絡(luò)中的車輛之間以及車輛與路邊基礎(chǔ)設(shè)施需要進(jìn)行頻繁信息通信,從而實(shí)現(xiàn)車載自組網(wǎng)的信息共享和智能服務(wù)。在車載自組網(wǎng)頻繁進(jìn)行信息通信過(guò)程中,攻擊車輛可以截獲通信消息,通過(guò)分析截獲的消息分析出車輛的身份、行駛目的地等信息,造成車輛用戶隱私泄露,嚴(yán)重的可能會(huì)威脅人身安全。此外,通過(guò)分析截獲消息攻擊車輛可以分析出用戶的喜好,在車載自組網(wǎng)中投放惡意廣告推銷產(chǎn)品;攻擊車輛也可以通過(guò)惡意修改截獲消息,導(dǎo)致通信雙方獲得錯(cuò)誤的消息。但是如果多輛攻擊車輛加入到車載自網(wǎng)中,則可以通過(guò)誘導(dǎo)非攻擊車輛的行駛軌跡,造成車載自組網(wǎng)道路擁堵、交通事故等后果。因此,車載自組織網(wǎng)絡(luò)的部署是一把雙刃劍,給人們生活帶來(lái)便捷、舒適感的同時(shí),也可能會(huì)導(dǎo)致車輛用戶身份信息、位置信息、個(gè)人喜好信息等隱私信息,受到威脅、車載自組網(wǎng)服務(wù)癱瘓等危害。因此,尋找有效的方案解決車載自組網(wǎng)中信息通信隱私保護(hù)問(wèn)題,能夠保證車輛用戶的個(gè)人隱私以及人身安全,使得車載自組網(wǎng)安全、穩(wěn)定、高效地運(yùn)行。
為了解決車載自組網(wǎng)中信息通信隱私保護(hù)問(wèn)題,國(guó)內(nèi)外學(xué)者已經(jīng)進(jìn)行了大量的研究。文獻(xiàn)[1]提出了一個(gè)基于身份的車載自組網(wǎng)用戶隱私安全系統(tǒng),基于身份的加密系統(tǒng)有助于提高通信和存儲(chǔ)效率,通過(guò)假名技術(shù)、閾值簽名和基于閾值認(rèn)證的防御方案來(lái)實(shí)現(xiàn)車載自組網(wǎng)的隱私保護(hù)。文獻(xiàn)[2]提出了一種有效的在社交點(diǎn)改變假名的策略,實(shí)現(xiàn)車載自組網(wǎng)中位置隱私的保護(hù)。文獻(xiàn)[3]提出了在車載云廣告?zhèn)鞑ミ^(guò)程中實(shí)現(xiàn)安全和隱私保護(hù)方案,該方案中在保留響應(yīng)車輛的識(shí)別和配置隱私的條件下,利用有效的單屬性訪問(wèn)控制協(xié)議來(lái)識(shí)別有能力傳播廣告任務(wù)的車輛,同時(shí)采用隱私保護(hù)秘密共享方案確認(rèn)所選車輛的參與。文獻(xiàn)[4]提出了基于駕駛員個(gè)人社交行為的隱私保護(hù)數(shù)據(jù)轉(zhuǎn)發(fā)協(xié)議,實(shí)現(xiàn)了車載自組織網(wǎng)絡(luò)中駕駛員的高可靠性傳輸和隱私保護(hù)。
本文針對(duì)車載自組網(wǎng)中的隱私保護(hù)問(wèn)題,提出的解決方案包括兩方面:一方面是車載自組網(wǎng)信息通信過(guò)程中車輛身份的隱私保護(hù);另一方面是車載自組網(wǎng)信息通信過(guò)程中通信消息的隱私保護(hù)。通過(guò)實(shí)驗(yàn)結(jié)果及分析,可實(shí)現(xiàn)車載自組網(wǎng)信息通信的隱私保護(hù)并將車輛存儲(chǔ)私鑰、公鑰的存儲(chǔ)開銷和追溯通信消息的時(shí)間開銷均降低到常數(shù)級(jí)。
2 車載自組網(wǎng)
2.1 車載自組網(wǎng)系統(tǒng)架構(gòu)
車載自組網(wǎng)的系統(tǒng)架構(gòu)可以分為三層:車輛網(wǎng)絡(luò)層、基礎(chǔ)設(shè)施層、云端網(wǎng)絡(luò)層。如圖1所示為車載自組網(wǎng)系統(tǒng)架構(gòu)示意圖。
車輛網(wǎng)絡(luò)層由各種車輛組成,每個(gè)車輛上都安裝了車載通信單元(On Board Unit,OBU),車載通信單元不僅可以用于車輛之間進(jìn)行通信,而且還可以用于處理車輛從各種傳感器收集來(lái)的數(shù)據(jù)。車輛之間通信采用專用短程通信(Dedicated Short-Range Communications, DSRC),其中包括IEEE 802.11等無(wú)線通信標(biāo)準(zhǔn)。雖然車輛網(wǎng)絡(luò)層通過(guò)車輛之間通信可以提供有效的信息傳輸,但是處理車載自組網(wǎng)中的某些問(wèn)題需要車輛與基礎(chǔ)設(shè)施進(jìn)行通信、車輛之間通信。這兩種通信方式增加了車載自組織網(wǎng)絡(luò)部署的靈活性,通過(guò)高速基礎(chǔ)設(shè)施骨干網(wǎng)絡(luò)路由數(shù)據(jù),而不是純粹在車輛網(wǎng)絡(luò)層上處理數(shù)據(jù),可以更好地實(shí)現(xiàn)長(zhǎng)距離多跳車輛之間通信的嚴(yán)格延時(shí)要求。車輛網(wǎng)絡(luò)層的車輛通過(guò)分層的網(wǎng)絡(luò)協(xié)議、分布式算法等相互協(xié)調(diào),實(shí)現(xiàn)車輛自動(dòng)組織以及車輛網(wǎng)絡(luò)自動(dòng)運(yùn)行。車輛網(wǎng)絡(luò)層有四個(gè)特點(diǎn)。
(1)無(wú)中心。網(wǎng)絡(luò)中的節(jié)點(diǎn)具有相同的地位,不僅可以作為信息的接收方也可以作為信息的發(fā)送方,不需要設(shè)置中心控制節(jié)點(diǎn),即點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。節(jié)點(diǎn)可以隨時(shí)加入或離開網(wǎng)絡(luò),且網(wǎng)絡(luò)中某一節(jié)點(diǎn)出現(xiàn)故障時(shí),不會(huì)影響整個(gè)網(wǎng)絡(luò)的正常運(yùn)行,具有很強(qiáng)的抗擊毀性。
(2)自組織性。節(jié)點(diǎn)不依賴于網(wǎng)絡(luò)的布局和設(shè)施,通過(guò)分層協(xié)議、分布式算法和各自的行為等,快速、自動(dòng)地組成一個(gè)獨(dú)立的網(wǎng)絡(luò)。
(3)多跳路由進(jìn)行通信。網(wǎng)絡(luò)中的普通節(jié)點(diǎn)可以通過(guò)多跳轉(zhuǎn)發(fā)的方式,實(shí)現(xiàn)節(jié)點(diǎn)之間的通信。
(4)動(dòng)態(tài)拓?fù)淇焖僮兓?。網(wǎng)絡(luò)中的節(jié)點(diǎn)快速移動(dòng)、節(jié)點(diǎn)加入網(wǎng)絡(luò)或者退出網(wǎng)絡(luò)以及某個(gè)節(jié)點(diǎn)出現(xiàn)故障等情況,造成網(wǎng)絡(luò)中節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)無(wú)時(shí)無(wú)刻都在快速變化。
基礎(chǔ)設(shè)施層主要有路邊單元(Remote Subscriber Unit,RSU),路邊單元是車輛網(wǎng)絡(luò)層和基礎(chǔ)設(shè)施層之間的網(wǎng)關(guān)?;A(chǔ)設(shè)施層的每個(gè)路邊單元均有自己的管理區(qū)域,路邊單元負(fù)責(zé)所涵蓋地理區(qū)域內(nèi)的車輛的管理和維修。網(wǎng)絡(luò)層負(fù)責(zé)車載自組網(wǎng)中數(shù)據(jù)的存儲(chǔ),同時(shí)為車輛用戶提供服務(wù)。
云端網(wǎng)絡(luò)層主要由多個(gè)服務(wù)器組成,用于存儲(chǔ)車載自組網(wǎng)中共享信息、為車輛網(wǎng)絡(luò)層和基礎(chǔ)設(shè)施層提供服務(wù)等。
2.2 車載自組網(wǎng)信息通信隱私保護(hù)目標(biāo)
實(shí)現(xiàn)車載自組網(wǎng)中信息通信隱私保護(hù),可以為車輛營(yíng)造一個(gè)安全的網(wǎng)絡(luò)環(huán)境,提高人們出行效率。針對(duì)車載自組網(wǎng)的系統(tǒng)架構(gòu)特點(diǎn),車載自組網(wǎng)中信息通信隱私保護(hù)應(yīng)達(dá)到的安全目標(biāo)包括七個(gè)方面。
(1)通信消息的機(jī)密性。在車載自組網(wǎng)中,通信消息中往往會(huì)包含車輛用戶的身份信息、位置信息等敏感信息,這些敏感信息被第三方獲取會(huì)給車輛用戶帶來(lái)麻煩。保證消息的機(jī)密性就是只有通信雙方知道通信消息,任何第三方對(duì)通信消息一無(wú)所知,即使截獲通信消息,也無(wú)法獲取通信消息的內(nèi)容。
(2)通信消息的可用性。車載自組網(wǎng)中的車輛節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)不斷進(jìn)行變化,車載自組網(wǎng)中的通信消息具有實(shí)時(shí)性。這就要求車載自組網(wǎng)中的車輛節(jié)點(diǎn)和基礎(chǔ)設(shè)施對(duì)通信節(jié)點(diǎn)的傳輸具有高度的敏感性,保證通信消息在一定時(shí)間內(nèi)完成消息驗(yàn)證、車輛節(jié)點(diǎn)的身份驗(yàn)證等并到達(dá)目的節(jié)點(diǎn)。
(3)通信消息的完整性。在車載自組網(wǎng)中,保證通信消息的正確性和完整性是車載自織網(wǎng)中通信的首要前提。車載自組網(wǎng)通信雙方進(jìn)行消息傳遞時(shí),通信有可能被未授權(quán)的第三方修改,造成接收方收到錯(cuò)誤的消息。保證消息的完整性就是保證通信消息在傳遞過(guò)程中不被未授權(quán)的第三方修改。
(4)通信消息的可追溯性。消息的可追溯性是指車輛節(jié)點(diǎn)要對(duì)自己發(fā)送的消息負(fù)責(zé)任,當(dāng)消息出現(xiàn)錯(cuò)誤時(shí)可以找到是誰(shuí)發(fā)送的消息。車載自組網(wǎng)通信過(guò)程中發(fā)現(xiàn)攻擊車輛發(fā)送錯(cuò)誤的通信消息,可以根據(jù)某些信息查找到此輛車。消息的可追溯性保證車載自組網(wǎng)中的車輛按照規(guī)定文明駕駛,促進(jìn)了車載自組網(wǎng)安全有序地運(yùn)行。
(5)車輛用戶的個(gè)人隱私。車載自組網(wǎng)的目標(biāo)是通過(guò)車輛之間通信以及車輛和基礎(chǔ)設(shè)施之間通信實(shí)現(xiàn)信息共享,使得車輛用戶能夠得到更加便捷、增加人們出行的效率。實(shí)現(xiàn)車載自組網(wǎng)目標(biāo)首先要保證車輛用戶的個(gè)人安全和個(gè)人隱私,否則車載自組網(wǎng)的部署是毫無(wú)意義的。
(6)車輛管理中心的可撤銷性。當(dāng)車載自組網(wǎng)中的車輛用戶出現(xiàn)惡意行為時(shí),車輛管理中心可以查找到是哪個(gè)車輛用戶實(shí)施的惡意行為,車輛管理中心有權(quán)撤銷車輛用戶在車載自組網(wǎng)中的合法身份。
(7)訪問(wèn)控制。車載自組網(wǎng)可以為車輛用戶提供路況信息、智能家居等服務(wù),車輛用戶也可以為車載自組網(wǎng)提供路況信息等。此外,車載自組網(wǎng)中的車輛包括警車、急救車、公交車以及私家車等不同車輛,不同車輛對(duì)于服務(wù)的需求和提供服務(wù)的類別是不一樣的。因此,可以對(duì)車載自組網(wǎng)中的車輛節(jié)點(diǎn)進(jìn)行分類,為其分配不同的權(quán)限,避免非法用戶訪問(wèn)范圍以外的資源。
3 區(qū)塊鏈系統(tǒng)架構(gòu)及特點(diǎn)
3.1 區(qū)塊鏈系統(tǒng)架構(gòu)
區(qū)塊鏈發(fā)展到3.0階段,可以把區(qū)塊鏈系統(tǒng)看成一個(gè)五層結(jié)構(gòu),如圖2所示為區(qū)塊鏈系統(tǒng)架構(gòu)示意圖。區(qū)塊鏈系統(tǒng)架構(gòu)包括網(wǎng)絡(luò)層、共識(shí)層、數(shù)據(jù)層、合約層以及應(yīng)用層。網(wǎng)絡(luò)層封裝了組網(wǎng)機(jī)制、數(shù)據(jù)的傳播和校驗(yàn)機(jī)制等,區(qū)塊鏈網(wǎng)絡(luò)一般為點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò);共識(shí)層封裝了可插拔的多種共識(shí)算法;數(shù)據(jù)層將底層數(shù)據(jù)以區(qū)塊鏈的形式進(jìn)行存儲(chǔ);合約層對(duì)不同的腳本、算法、智能合約等進(jìn)行封裝,實(shí)現(xiàn)了區(qū)塊鏈系統(tǒng)的可編程特性;應(yīng)用層封裝了區(qū)塊鏈適用的場(chǎng)景,包括可編程貨幣、可編程金融、可編程社會(huì)等。
區(qū)塊結(jié)構(gòu)[5,6]是由散列指針構(gòu)造的一系列塊中的鏈接列表。每個(gè)區(qū)塊包含一系列事務(wù)數(shù)據(jù),且通過(guò)密碼學(xué)知識(shí)確保每個(gè)區(qū)塊中的事務(wù)不會(huì)被篡改。如圖3所示為區(qū)塊結(jié)構(gòu)示意圖。區(qū)塊鏈系統(tǒng)數(shù)據(jù)層區(qū)塊鏈的區(qū)塊結(jié)構(gòu)由區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊體存儲(chǔ)了每筆交易兩兩進(jìn)行哈希運(yùn)算的哈希值,最后形成Merkle根存儲(chǔ)在區(qū)塊頭中。區(qū)塊頭還包括版本號(hào)、時(shí)間戳、難度系數(shù)、隨機(jī)數(shù)以及前一個(gè)區(qū)塊的Merkel根組成。版本號(hào)用于軟件的更新;時(shí)間戳表示區(qū)塊生成時(shí)間,時(shí)間戳能夠保證區(qū)塊按照時(shí)間有序地形成區(qū)塊鏈;難度系數(shù)表示生成區(qū)塊的難度;隨機(jī)數(shù)表示生成區(qū)塊時(shí)解決的數(shù)學(xué)難題的解;通過(guò)區(qū)塊頭中存儲(chǔ)前一個(gè)區(qū)塊的Merkle根形成區(qū)塊鏈。
3.2 區(qū)塊鏈系統(tǒng)架構(gòu)特點(diǎn)
區(qū)塊鏈架構(gòu)整合了分布式存儲(chǔ)、分布式共識(shí)算法、密碼學(xué)技術(shù)等技術(shù),為企業(yè)提供了一種透明的、可信的商業(yè)邏輯框架。區(qū)塊鏈架構(gòu)能夠保證數(shù)據(jù)的安全,同時(shí)能夠簡(jiǎn)化企業(yè)交易流程、節(jié)約交易費(fèi)用。區(qū)塊鏈的架構(gòu)特點(diǎn)有七個(gè)。
(1)去中心化。區(qū)塊鏈系統(tǒng)采用點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)模式,系統(tǒng)中每個(gè)節(jié)點(diǎn)具有相同的地位,沒有中心化的管理機(jī)構(gòu)。區(qū)塊鏈中每個(gè)區(qū)塊的形成需要滿足區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)之間的共識(shí)機(jī)制,否則,數(shù)據(jù)不能打包成區(qū)塊。區(qū)塊鏈系統(tǒng)中的所有節(jié)點(diǎn)共同維護(hù)區(qū)塊鏈系統(tǒng)的正常運(yùn)行,當(dāng)區(qū)塊鏈系統(tǒng)中某個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),由于區(qū)塊鏈系統(tǒng)的共識(shí)機(jī)制能夠容忍部分節(jié)點(diǎn)出現(xiàn)故障,因此,區(qū)塊鏈系統(tǒng)仍然可以正常運(yùn)行。
(2)去信任。區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)之間的交易、數(shù)據(jù)交換等操作通過(guò)數(shù)字簽名,因此節(jié)點(diǎn)之間不需要互相信任就可以進(jìn)行交易、數(shù)據(jù)交換等操作,且在區(qū)塊鏈系統(tǒng)正常運(yùn)行的條件下,節(jié)點(diǎn)之間不可能有欺騙行為。
(3)開放性。區(qū)塊鏈系統(tǒng)是一個(gè)開放的系統(tǒng),除節(jié)點(diǎn)的私有信息被加密外,區(qū)塊鏈系統(tǒng)中所有數(shù)據(jù)均是公開的,任何節(jié)點(diǎn)均可查詢區(qū)塊鏈中的數(shù)據(jù),整個(gè)區(qū)塊鏈系統(tǒng)處于高度透明的狀態(tài),此外,區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)可以隨時(shí)加入或者退出區(qū)塊鏈網(wǎng)絡(luò),不會(huì)影響區(qū)塊鏈系統(tǒng)的正常運(yùn)行。
(4)匿名性。區(qū)塊鏈系統(tǒng)中采用密碼學(xué)方法實(shí)現(xiàn)節(jié)點(diǎn)之間交換數(shù)據(jù)等操作,不需要公開節(jié)點(diǎn)的真實(shí)身份就可以實(shí)現(xiàn)節(jié)點(diǎn)之間交換數(shù)據(jù)等操作。此外,由于區(qū)塊鏈系統(tǒng)節(jié)點(diǎn)之間通過(guò)地址交換數(shù)據(jù),地址時(shí)通過(guò)密碼學(xué)處理過(guò)的數(shù)據(jù),能夠?qū)崿F(xiàn)隱私保護(hù),因此交易雙方以外的節(jié)點(diǎn)獲得此次記錄也無(wú)法知道交易雙方的真實(shí)身份。
(5)自治性。區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)通過(guò)透明公開的規(guī)范和共識(shí)算法存儲(chǔ)相同的區(qū)塊鏈,使得節(jié)點(diǎn)可以在雙方不信任條件下進(jìn)行數(shù)據(jù)的交換、交易等,任何人為的干預(yù)都會(huì)被區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)發(fā)現(xiàn)。
(6)不可篡改性。區(qū)塊鏈系統(tǒng)中某個(gè)節(jié)點(diǎn)將數(shù)據(jù)打包進(jìn)區(qū)塊需要區(qū)塊鏈系統(tǒng)中其它節(jié)點(diǎn)的驗(yàn)證,驗(yàn)證通過(guò)后才能形成區(qū)塊,添加到區(qū)塊鏈上。由于區(qū)塊鏈形成時(shí)每個(gè)區(qū)塊的區(qū)塊頭中均存儲(chǔ)前一個(gè)區(qū)塊的Merkle根,故存儲(chǔ)在區(qū)塊中的數(shù)據(jù)很難被修改,一旦區(qū)塊中的某個(gè)數(shù)據(jù)被修改,Merkle根將發(fā)生改變,區(qū)塊鏈系統(tǒng)中其它節(jié)點(diǎn)發(fā)現(xiàn)數(shù)據(jù)被篡改。
(7)可追溯性。區(qū)塊鏈賬本在區(qū)塊鏈網(wǎng)絡(luò)中是公開的,任何人都可以查閱區(qū)塊鏈賬本的任何內(nèi)容,且區(qū)塊鏈賬本具有不可篡改性保證區(qū)塊鏈賬本中的交易正確,因此可以通過(guò)查閱區(qū)塊鏈賬本尋找某筆交易是否存在,實(shí)現(xiàn)了某筆交易的可追溯性。
4 車載自組網(wǎng)信息通信隱私保護(hù)
4.1 車載自組網(wǎng)信息通信車輛身份隱私保護(hù)
車載自組網(wǎng)中車輛之間以及車輛與路邊基礎(chǔ)設(shè)施之間進(jìn)行頻繁的信息通信過(guò)程中很容易泄露車輛的身份,車輛的身份一旦泄露,車載自組網(wǎng)中的攻擊者會(huì)根據(jù)車輛的身份關(guān)聯(lián)到車輛的個(gè)人隱私信息[7],例如身份證號(hào)、車輛用戶家庭情況等,攻擊者就可以偽裝成車輛進(jìn)行一些非法行為,還有可能對(duì)車輛進(jìn)行敲詐勒索。在車載自組網(wǎng)信息通信過(guò)程中保證車輛的身份隱私是車載自組網(wǎng)部署的首要前提。為了保護(hù)信息通信中車輛身份不被泄露采用假名的方式[8],如圖4所示為車輛產(chǎn)生假名的過(guò)程,如表1所示為本文用到的符號(hào)變量列表。
(1)車輛Vehicle選定一條橢圓曲線Ep(a,b),并取橢圓曲線上的一個(gè)階為n(n為素?cái)?shù))點(diǎn)G(x,y)作為基點(diǎn);車輛Vehicle利用隨機(jī)數(shù)生成器產(chǎn)生一個(gè)[1,n-1]之間32bytes的隨機(jī)數(shù)作為車輛Vehicle的私鑰SKv。
(2)車輛Vehicle根據(jù)公式(4-1)計(jì)算車輛的公鑰PKv;
(3)根據(jù)公鑰64bytes的PKv產(chǎn)生車輛Vehicle的假名IDv的過(guò)程:將公鑰PKv依次進(jìn)行SHA256和RIPEMD160兩次哈希算法產(chǎn)生20bytes的摘要,然后在摘要首部添加1byte的版本號(hào)前綴,在摘要末尾添加4bytes的校驗(yàn)和組成25bytes的二進(jìn)制車輛假名;校驗(yàn)和的產(chǎn)生過(guò)程:20bytes的摘要經(jīng)過(guò)兩次SHA256得到32bytes的摘要,取前4bytes作為校驗(yàn)和;25bytes的二進(jìn)制車輛假名,通過(guò)Base58格式轉(zhuǎn)換生成34bytes的車輛Vehicle假名IDv。
4.2 車載自組網(wǎng)中通信消息隱私保護(hù)
在車載自組網(wǎng)信息通信過(guò)程中,發(fā)送方發(fā)送的通信消息有可能被攻擊車輛截獲,惡意篡改通信消息,使得接收方收到錯(cuò)誤的通信消息,達(dá)到攻擊車輛的不當(dāng)目的。區(qū)塊鏈不僅具有去中心化、開放性、自治性等點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的特點(diǎn),而且具有去信任、匿名性、不可篡改性、可追溯性等安全性特點(diǎn),適合應(yīng)用于車載自組網(wǎng)中。本文采用區(qū)塊鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)來(lái)存儲(chǔ)通信消息,能夠保證提供一個(gè)正確的通信消息區(qū)塊鏈賬本,從而實(shí)現(xiàn)通信消息的可追溯性。
在車載自組網(wǎng)信息通信過(guò)程中,發(fā)送方首先用自己的私鑰對(duì)通信消息進(jìn)行簽名,將簽名附在通信消息后發(fā)送給接收方和所屬路邊單元,接收方接收到附有發(fā)送方簽名的通信消息,首先用發(fā)送方的公鑰進(jìn)行消息的認(rèn)證,如果認(rèn)證成功,確定通信消息確實(shí)來(lái)源于發(fā)送方,選擇相信該通信消息。如圖5所示為通信消息簽名和認(rèn)證過(guò)程。發(fā)送方對(duì)通信消息的簽名過(guò)程:
(1)發(fā)送方選取隨機(jī)數(shù)k[1,n-1],根據(jù)公式(4-2)計(jì)算點(diǎn)(x1,y1);
(2)根據(jù)公式(4-3)計(jì)算r,若r=0,返回1)重新選擇隨機(jī)數(shù)k;
(3)若r≠0,根據(jù)公式(4-4)計(jì)算通信消息m的哈希值h(m);
(4)根據(jù)隨機(jī)數(shù)k、通信消息的哈希值h(m)以及發(fā)送方的私鑰SKv,根據(jù)公式(4-5)計(jì)算Sv,若Sv=0,返回1)重新選擇隨機(jī)數(shù)k;
(5)若Sv≠0,則發(fā)送方對(duì)路況預(yù)警消息的哈希值h(m)的簽名為{r,Sv}。然后將發(fā)送方對(duì)通信消息哈希值h(m)的簽名{r,Sv}發(fā)送給接收方。
接收方收到帶有發(fā)送方簽名的通信消息后,對(duì)通信消息進(jìn)行認(rèn)證。接收方對(duì)通信消息的認(rèn)證過(guò)程:
(1)若通信消息的簽名{r,Sv}均是[1,n-1]之間的整數(shù),對(duì)發(fā)送方發(fā)來(lái)的通信消息m根據(jù)公式(4-4)計(jì)算通信消息的哈希值h(m);
(2)根據(jù)接收方計(jì)算的通信消息m的哈希值h(m)、發(fā)送方發(fā)來(lái)的通信消息的簽名{r,Sv}以及發(fā)送方的公鑰PKv,根據(jù)公式(4-6)計(jì)算X;
(3)如果X=0或∞,則拒絕簽名,否則,計(jì)算X在直角坐標(biāo)系下x軸的投影,記為x;
(4)根據(jù)公式(4-7)計(jì)算f,若f=r,接收方認(rèn)證通過(guò)。
路邊單元接收到附有發(fā)送方簽名的通信消息,也會(huì)對(duì)通信消息進(jìn)行認(rèn)證,認(rèn)證過(guò)程與接收方對(duì)通信消息的認(rèn)證過(guò)程相同,認(rèn)證成功后,路邊單元將通信消息以區(qū)塊鏈的結(jié)構(gòu)進(jìn)行存儲(chǔ)。如圖6所示為通信消息的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)示意圖。
車載自組網(wǎng)中通信消息的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的區(qū)塊由區(qū)塊頭和區(qū)塊體組成。區(qū)塊體中存儲(chǔ)多條通信消息,將多條通信消息進(jìn)行哈希運(yùn)算,最后形成Merkle根存儲(chǔ)在區(qū)塊頭中。此外,區(qū)塊頭中還包括:版本號(hào)、時(shí)間戳、區(qū)塊數(shù)以及前一個(gè)路況預(yù)警消息區(qū)塊的Merkle根。通過(guò)存儲(chǔ)前一個(gè)區(qū)塊的Merkle根形成通信消息的鏈?zhǔn)浇Y(jié)構(gòu)。表2為通信消息區(qū)塊頭字段及含義。
5 仿真實(shí)驗(yàn)結(jié)果及分析
5.1 仿真實(shí)驗(yàn)平臺(tái)
本文實(shí)驗(yàn)采用Goland平臺(tái)進(jìn)行代碼編寫,實(shí)現(xiàn)基于區(qū)塊鏈的VANET路況預(yù)警方案。Goland是JetBrains公司為Go語(yǔ)言開發(fā)的IDE,其為Go語(yǔ)言提供編碼輔助功能、工具集成功能以及 IntelliJ插件生態(tài)系統(tǒng)等。Go語(yǔ)言,又稱Golang語(yǔ)言,是由谷歌公司開發(fā)的開源編程語(yǔ)言,于2009年11月正式推出。Go語(yǔ)言的語(yǔ)法與C語(yǔ)言相似,但Go語(yǔ)言的變量聲明與C語(yǔ)言不同,此外Go語(yǔ)言增加了切片、并發(fā)、管道、垃圾回收、接口等。Go語(yǔ)言的特點(diǎn)包括:思想簡(jiǎn)單,沒有多態(tài)、繼承、類等;語(yǔ)法簡(jiǎn)潔,代碼的可讀性和可維護(hù)性高,從而提高開發(fā)效率;語(yǔ)法級(jí)支持并發(fā),具有同步并發(fā)Channel類型;包含豐富的庫(kù)、強(qiáng)大的工具和命令等。
5.2 仿真實(shí)驗(yàn)結(jié)果
假設(shè)通信消息為路況預(yù)警消息,發(fā)送方將路況預(yù)警消息FirstRoad Congestion發(fā)送給接收方。發(fā)送方將路況預(yù)警消息FirstRoad Congestion打包并用自己的私鑰簽名,然后將簽名附在路況預(yù)警消息后一起發(fā)送給接收方,接收方收到附有簽名的路況預(yù)警消息后,對(duì)路況預(yù)警消息進(jìn)行認(rèn)證,若認(rèn)證通過(guò),則證明此條路況預(yù)警消息是發(fā)送方發(fā)送的路況預(yù)警消息。同時(shí),發(fā)送方將附有簽名的路況預(yù)警消息發(fā)送給所屬路邊單元,路邊單元認(rèn)證通過(guò)后,將路況預(yù)警消息以區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行存儲(chǔ)。車載自組網(wǎng)中所有路邊單元存儲(chǔ)相同的通信消息區(qū)塊鏈賬本,并定時(shí)更新通信消息區(qū)塊鏈賬本。通信消息的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)保證了通信消息賬本的正確性。當(dāng)區(qū)塊中存儲(chǔ)的某個(gè)通信消息發(fā)生改變時(shí),區(qū)塊頭中的Merkle根都會(huì)發(fā)生變化,由于每個(gè)路邊單元都存儲(chǔ)相同的通信消息區(qū)塊鏈賬本,故某個(gè)路邊單元通信消息區(qū)塊鏈賬本發(fā)生變化,其它路邊單元會(huì)察覺到,此時(shí),會(huì)重新同步通信消息區(qū)塊鏈賬本,從而保證了通信消息區(qū)塊鏈賬本的正確性,以便實(shí)現(xiàn)通信消息的可追溯性。如圖7所示為通信消息區(qū)塊鏈賬本。
通信消息區(qū)塊鏈賬本包括三個(gè)區(qū)塊,每個(gè)區(qū)塊包括Index(區(qū)塊數(shù))、Timestamp(時(shí)間戳)、HashRoot(Merkle根)和PrevHashRoot(前一個(gè)區(qū)塊Merkle根)。區(qū)塊0為創(chuàng)世區(qū)塊,HashRoot和PrevHashRoot均為0。如圖8所示為區(qū)塊1存儲(chǔ)的路況預(yù)警消息。當(dāng)接收方疑發(fā)送方發(fā)送的通信消息發(fā)生篡改時(shí),可以根據(jù)接收方收到通信消息的時(shí)間戳定位到通信消息存儲(chǔ)的區(qū)塊,通過(guò)查詢區(qū)塊中通信消息,通過(guò)對(duì)比可知通信消息是否發(fā)生篡改,實(shí)現(xiàn)了通信消息的可追溯性。
5.3 對(duì)比分析
5.3.1 車載自組網(wǎng)信息通信車輛身份隱私保護(hù)
本文采用假名的方式來(lái)對(duì)車載自組網(wǎng)中車輛的身份信息進(jìn)行隱藏,根據(jù)車輛的假名不能關(guān)聯(lián)到任何有關(guān)車輛的真實(shí)身份信息,車載自組網(wǎng)中車輛與外界進(jìn)行通信,外界只能得知車輛的假名,假名是車輛在車載自組網(wǎng)中的唯一標(biāo)識(shí),實(shí)現(xiàn)了車輛身份的隱私保護(hù)。
文獻(xiàn)[9~11]提出的車載自組網(wǎng)通信消息傳播路由協(xié)議中,均未考慮通信消息的隱私保護(hù)以及車輛身份的隱私保護(hù)問(wèn)題。本文與文獻(xiàn)[9~11]相比保證了車載自組網(wǎng)中車輛身份的隱私保護(hù),從而保護(hù)了車輛用戶的人身安全。
5.3.2車載自組網(wǎng)中通信消息隱私保護(hù)
(1)通信消息的可認(rèn)證性。為保證接收方收到的通信消息一定來(lái)自發(fā)送方,本文采用數(shù)字簽名的方式。數(shù)字簽名需要車輛存儲(chǔ)私鑰和公鑰。文獻(xiàn)[12]提出一種基于公鑰基礎(chǔ)設(shè)施的信息通信方案,該方案中車輛必須存儲(chǔ)大量的私鑰和公鑰,造成大量存儲(chǔ)開銷的浪費(fèi),本文中車輛只需要存儲(chǔ)車輛本身的私鑰和公鑰。如圖9所示為車輛私鑰、公鑰存儲(chǔ)開銷示意圖。當(dāng)車載自組織網(wǎng)絡(luò)中車輛數(shù)目增多時(shí),文獻(xiàn)[12]的存儲(chǔ)私鑰和公鑰所需的存儲(chǔ)開銷不斷增加,本方案存儲(chǔ)私鑰和公鑰所需存儲(chǔ)開銷不變。相比于文獻(xiàn)[12]本文將存儲(chǔ)私鑰和公鑰的存儲(chǔ)開銷提高到一個(gè)常數(shù)。
(2)通信消息的可追溯性。本文將正確的通信消息以區(qū)塊鏈的形式進(jìn)行存儲(chǔ),形成一個(gè)不可篡改的通信消息區(qū)塊鏈賬本。當(dāng)車載自組網(wǎng)中車輛懷疑通信消息被篡改時(shí),可以通過(guò)訪問(wèn)通信消息區(qū)塊鏈賬本,來(lái)檢查通信消息是否被篡改,從而保證了通信消息的可追溯性。
文獻(xiàn)[12]提出的消息追溯方法是在整個(gè)數(shù)據(jù)庫(kù)中查找消息記錄,再根據(jù)消息記錄找到車輛的相關(guān)信息。本文對(duì)通信消息的追溯方法是,首先根據(jù)通信消息的時(shí)間戳定位到此條通信消息存儲(chǔ)的通信消息區(qū)塊鏈賬本的區(qū)塊,然后在區(qū)塊中查找此條通信消息的相關(guān)信息。如圖10所示為追溯通信消息的時(shí)間開銷。
如圖10(a)所示云端的路況預(yù)警消息區(qū)塊鏈賬本中存儲(chǔ)較少的路況預(yù)警消息,由圖10(a)可知,文獻(xiàn)[12]中追溯路況預(yù)警消息的時(shí)間開銷為O(n)(n為路寬預(yù)警消息的數(shù)目),本文中追溯路況預(yù)警消息的時(shí)間開銷
賬本存儲(chǔ)較多的路況預(yù)警消息,由圖10(b)可知,文獻(xiàn)[12]中追溯路況預(yù)警消息的時(shí)間開銷依然為O(n)(n為路寬預(yù)警消息的數(shù)目),本文中追溯路況預(yù)警消息的時(shí)間開銷接近一個(gè)常數(shù)。
6 結(jié)束語(yǔ)
本文分析了車載自組網(wǎng)中信息通信的隱私保護(hù)問(wèn)題,包括車輛身份的隱私保護(hù)和通信消息的隱私保護(hù)。為解決此問(wèn)題,采用假名實(shí)現(xiàn)車載自組網(wǎng)通信過(guò)程中車輛身份的隱私保護(hù),采用數(shù)字簽名和通信消息鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)實(shí)現(xiàn)車載自組網(wǎng)中通信消息的隱私保護(hù)。通過(guò)實(shí)驗(yàn)證明,本文方案可以實(shí)現(xiàn)車載自組網(wǎng)信息通信過(guò)程中車輛的身份隱私保護(hù)和通信消息的隱私保護(hù),并將車輛存儲(chǔ)私鑰、公鑰的存儲(chǔ)開銷和追溯通信消息的時(shí)間開銷均降低到一個(gè)常數(shù)。
本文未來(lái)的工作重心在于尋找有效的激勵(lì)機(jī)制,鼓勵(lì)車輛發(fā)送通信消息給路邊單元而不是強(qiáng)制性的;尋找有效的共識(shí)算法保證通信消息區(qū)塊鏈賬本的一致性。
基金項(xiàng)目:
1.中央高校基本科研業(yè)務(wù)費(fèi)(項(xiàng)目編號(hào):2018JBM016);
2.國(guó)家自然科學(xué)基金青年科學(xué)基金(項(xiàng)目編號(hào):61502030);
3.信息保障技術(shù)重點(diǎn)實(shí)驗(yàn)室開放基金(項(xiàng)目編號(hào):KJ-17-107)。
參考文獻(xiàn)
[1] Sun J , Zhang C , Zhang Y , et al. An Identity -Based Security System for User Privacy in Vehicular Ad Hoc Networks [J]. IEEE Transactions on Parallel and Distributed Systems, 2010, 1227-1239.
[2] Lu R, Li X, Luan T H, et al. Pseudonym Changing at Social Spots: An Effective Strategy for Location Privacy in VANETs [J]. IEEE Transactions on Vehicular Technology, 2012, 86-96.
[3] Kong Q, Lu R, Zhu H, et al. Achieving Secure and Privacy-Preserving Incentive in Vehicular Cloud Advertisement Dissemination[J]. IEEE Access, 2018.
[4] Jianbing N,Xiaodong L,Xuemin, et al. Privacy-Preserving Data Forwarding in VANETs: A Personal-Social Behavior Based Approach[J]. IEEE Global Communications Conference, 2017:1-6.
[5] 黃曉芳, 徐蕾, 楊茜.一種區(qū)塊鏈的云計(jì)算電子取證模型[J]. 北京郵電大學(xué)學(xué)報(bào), 2017, 1-6.
[6] Yang C, Chen X, Xiang Y. Blockchain-Based publicly verifiable data deletion scheme for cloud storage [J]. Journal of Network & Computer Applica- tions, 2018, 103-112.
[7] Singh S, Negi S, Verma S K. VANET Based? p-RSA Scheduling Algorithm Using Dynamic Cloud Storage [J]. Wireless Personal Communications, 2018, 1-21.
[8] 陳亞茹, 叢培強(qiáng), 陳莊.一種橢圓曲線數(shù)字簽名的改進(jìn)方案[J]. 信息安全研究, 2019, 217- 222.
[9] 楊亞捷.基于鄰近節(jié)點(diǎn)集的車載自組織網(wǎng)絡(luò)路由協(xié)議的研究 [D]. 上海:東華大學(xué),2017.
[10] 劉曉濤.車載自組織網(wǎng)絡(luò)機(jī)會(huì)路由協(xié)議研究[D]. 廣州:華南理工大學(xué), 2018.
[11] Cirne P, Zúquete A, Sargento S. TROPHY: Trust-worthy VANET routing with group ant- hentication keys [J]. Ad Hoc Networks, 2018, 45-67.
[12] Raya M, Hubaux J P. Securing vehicular ad hoc networks [J]. Journal of computer security, 2007.
作者簡(jiǎn)介:
趙佳(1980-),女,漢族,內(nèi)蒙古呼和浩特人,北京交通大學(xué),博士,北京交通大學(xué),副教授;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)空間安全、可信計(jì)算、隱私保護(hù)。
李春燕(1995-),女,漢族,天津人,北京交通大學(xué),碩士;主要研究方向和關(guān)注領(lǐng)域:車載自組織網(wǎng)絡(luò)、隱私保護(hù)、區(qū)塊鏈。
劉吉強(qiáng)(1973-),男,漢族,山東海陽(yáng)人,北京師范大學(xué),博士,北京交通大學(xué),教授;主要研究方向和關(guān)注領(lǐng)域:密碼學(xué)、可信計(jì)算、隱私保護(hù)技術(shù)。
張強(qiáng)(1980-),男,漢族,河北石家莊人,北京交通大學(xué),碩士,北京市公安局網(wǎng)絡(luò)安全保衛(wèi)總隊(duì)警督;主要研究研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)空間安全、區(qū)塊鏈、態(tài)勢(shì)感知。
韓磊(1983-),男,漢族,內(nèi)蒙古呼倫貝爾人,北京交通大學(xué),博士,信息保障技術(shù)重點(diǎn)實(shí)驗(yàn)室(國(guó)家級(jí)),工程師;主要研究方向和關(guān)注領(lǐng)域:分布式非對(duì)稱密鑰管理、區(qū)塊鏈、態(tài)勢(shì)感知。