王昊,吳天昊,朱孔林,張琳
(北京郵電大學(xué)信息與通信工程學(xué)院,北京 100876)
V2X(vehicle to everything)是車輛與其他節(jié)點(diǎn)進(jìn)行通信所需技術(shù)的總稱,來自傳感器和其他信號源的信息通過高帶寬、低延遲、高可靠性鏈路傳輸,為車輛實(shí)現(xiàn)無人駕駛鋪平了道路。V2X主要包括車輛與車輛(V2V,vehicle to vehicle)通信、車輛與基礎(chǔ)設(shè)施(V2I,vehicle to infrastructure)通信等,其典型結(jié)構(gòu)如圖1所示。通過信息交互,有關(guān)道路交通和車輛狀況的消息得到共享。其中,道路交通狀況包括天氣狀況、道路缺陷、擁堵情況等消息;車輛狀況包括車輛位置、行駛速度等消息。在收到這些消息后,其他車輛可以改變其行駛路線,以避免可能發(fā)生的交通事件,如交通堵塞、交通事故等,從而保障交通安全和提高車輛通行效率。這些優(yōu)點(diǎn)使V2X成為智能交通系統(tǒng)中一項(xiàng)極為關(guān)鍵且有發(fā)展前途的技術(shù)[1]。隨著智能網(wǎng)聯(lián)汽車等技術(shù)的發(fā)展,車輛變得越來越智能化,越來越不依賴于人類操作。由于大量傳感器和交通設(shè)施的相互連接,車輛用戶可以享受更加安全、環(huán)保、高效的旅程。
圖1 V2X技術(shù)的典型結(jié)構(gòu)Figure 1 The structure of V2X technology
V2X技術(shù)在未來智能交通領(lǐng)域有著眾多應(yīng)用場景,城市道路中最常見的場景之一是道路交叉口,自動(dòng)駕駛汽車在進(jìn)出交叉口時(shí),不再受傳統(tǒng)信號燈的控制,而是通過協(xié)同感知周圍車輛并與交叉口附近的區(qū)域服務(wù)器(LS,local server)進(jìn)行信息交互,來進(jìn)行統(tǒng)一的調(diào)度。其中,區(qū)域服務(wù)器是具有較高的計(jì)算與數(shù)據(jù)共享功能的路側(cè)單元(RSU,road side unit),可以通過無線與車輛通信。通過這種方式,交叉口的車輛通行能力得到有效提升,從而進(jìn)一步保障交通安全。
為防止惡意節(jié)點(diǎn)接入交叉口信息控制系統(tǒng),車輛與控制中心的身份認(rèn)證是必不可少的。車輛在道路上不斷移動(dòng),并依次穿過多個(gè)交叉路口,在與區(qū)域服務(wù)器進(jìn)行數(shù)據(jù)交互并接受控制與調(diào)度之前,必然需要進(jìn)行車輛與區(qū)域服務(wù)器的身份認(rèn)證。傳統(tǒng)的認(rèn)證模型不適用于高速移動(dòng)車輛訪問并接收服務(wù)的情況,因?yàn)檫@些模型要么忽略了用戶隱私,要么忽略了車輛通信中的延遲要求。因此,在道路交叉口中需要一種輕量級的匿名認(rèn)證機(jī)制,在保護(hù)車輛隱私的同時(shí)實(shí)現(xiàn)其身份的認(rèn)證,從而實(shí)現(xiàn)后續(xù)與交叉口協(xié)同控制系統(tǒng)的信息交互。
目前,車聯(lián)網(wǎng)中的安全通信環(huán)境通常是通過身份認(rèn)證協(xié)議來實(shí)現(xiàn)的。文獻(xiàn)[2]提出一種全新的認(rèn)證加密方式,終端使用永久有效的認(rèn)證證書和實(shí)時(shí)更新的臨時(shí)假名證書相結(jié)合的認(rèn)證方式。動(dòng)態(tài)更新的假名臨時(shí)證書不包含車輛、駕駛員的隱私信息,只被用作車車、車路通信的臨時(shí)憑證,在一定程度上保護(hù)了車輛的隱私。文獻(xiàn)[3]設(shè)計(jì)了基于證書頒發(fā)機(jī)構(gòu)(CA,certificate authority)認(rèn)證的中心化安全機(jī)制,在對數(shù)據(jù)進(jìn)行加密之前,先通過CA對車輛節(jié)點(diǎn)進(jìn)行認(rèn)證,并進(jìn)行有效密鑰管理,然而此方案的認(rèn)證過程過于集中化,一旦存儲(chǔ)認(rèn)證信息的節(jié)點(diǎn)被攻破,會(huì)導(dǎo)致信息泄露和車輛無法認(rèn)證。
近年來,區(qū)塊鏈技術(shù)在學(xué)術(shù)界和工業(yè)界引起了廣泛關(guān)注。區(qū)塊鏈?zhǔn)且粋€(gè)分布式系統(tǒng),多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)可在不需要中央授權(quán)的情況下維護(hù)相同的信息。因此,該技術(shù)不僅可以減少由中央管理的數(shù)據(jù)庫被篡改的攻擊,而且可以減少數(shù)據(jù)中心、區(qū)域、域管理器之間的通信開銷,這特別適合應(yīng)用在對延遲敏感的車聯(lián)網(wǎng)環(huán)境中[4]。這些特點(diǎn)促使人們探索區(qū)塊鏈技術(shù)在車輛認(rèn)證機(jī)制中的應(yīng)用。
為了解決上述問題,本文提出了一種基于區(qū)塊鏈技術(shù)的車輛匿名認(rèn)證方案,為提高系統(tǒng)性能,本文方案在認(rèn)證中采用基于身份(ID)和哈希消息認(rèn)證碼(HMAC,hash message authentication code)的混合密碼認(rèn)證機(jī)制,認(rèn)證過程保證了車輛的匿名性,并將認(rèn)證結(jié)果記錄在區(qū)塊鏈中,提高了數(shù)據(jù)的交互效率和系統(tǒng)的防篡改能力。
身份認(rèn)證是一種保護(hù)V2X中各節(jié)點(diǎn)免受惡意實(shí)體攻擊的機(jī)制,被認(rèn)為是防御各種攻擊的第一道防線。Biswas等[5]提出了一種車輛消息認(rèn)證和針對道路周期性安全信息的高效驗(yàn)證策略。將橢圓曲線數(shù)字簽名算法的一種變體與基于身份的簽名相結(jié)合,利用車輛上的當(dāng)前位置信息作為相應(yīng)車輛的ID,這就不需要第三方公鑰證書來驗(yàn)證V2X中的消息。Shen等[6]提出一種協(xié)作消息認(rèn)證協(xié)議(CMAP,cooperative message authentication protocol),以發(fā)現(xiàn)惡意車輛在交通系統(tǒng)中傳播的惡意信息。協(xié)作消息認(rèn)證是一種很有前景的技術(shù),它可以減少車輛在消息驗(yàn)證方面的計(jì)算開銷。然而,隨著車輛密度的增加,通信開銷隨之增加。該方法的主要限制是如果沒有驗(yàn)證者來驗(yàn)證消息,那么惡意信息可能會(huì)被其他車輛用戶錯(cuò)誤使用。
隱私保護(hù)是V2X通信過程中的另一個(gè)關(guān)鍵問題。車輛以明文形式將其身份發(fā)送到RSU或其他車輛。通過捕捉車輛的信息,敵手可以追蹤車輛的行駛路線。交通線路的泄露侵犯了駕駛員的隱私,并可能造成嚴(yán)重的后果,因?yàn)檫@些路線可能被用于某些違法行為。為解決隱私問題,必須在V2X通信中提供匿名消息,但可信的權(quán)威機(jī)構(gòu)仍然可以從消息中提取真實(shí)的身份。例如,當(dāng)惡意車輛發(fā)送虛假信息并導(dǎo)致犯罪或事故時(shí),其真實(shí)身份可以被有效追溯,使惡意車輛因其行為而受到處罰。因此,應(yīng)該在車聯(lián)網(wǎng)認(rèn)證中實(shí)現(xiàn)有條件的隱私,即保護(hù)車輛隱私的同時(shí),實(shí)現(xiàn)車輛身份的可追溯性。文獻(xiàn)[7]提出了一種基于群簽名的認(rèn)證方案,可以再車輛自組網(wǎng)中實(shí)現(xiàn)安全且隱私的車輛認(rèn)證。文獻(xiàn)[8]提出了一種車聯(lián)網(wǎng)中基于密碼和有條件隱私的身份認(rèn)證和群密鑰生成協(xié)議,該協(xié)議在設(shè)計(jì)時(shí)沒有使用雙線性對和橢圓曲線,因此在計(jì)算和通信方面是輕量級的。Azees等[9]提出了一種有效的匿名認(rèn)證機(jī)制,該機(jī)制認(rèn)證過程中提供了有條件的隱私保護(hù),減少了車輛和道路匿名證書的存儲(chǔ)開銷。文獻(xiàn)[10]介紹了一種基于身份的雙線性對簽名加密(IBSC,identity-based signcryption)方案,適用于低帶寬通信,但由于其計(jì)算量大,不適用于交通場景中RSU在短時(shí)間內(nèi)驗(yàn)證大量車輛的情況。
區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合而成的特定數(shù)據(jù)結(jié)構(gòu),其本質(zhì)上是一種分布式的數(shù)據(jù)庫。目前的區(qū)塊鏈系統(tǒng)大致可分為3類(公有鏈、聯(lián)盟鏈和私有鏈)[11],本文主要使用聯(lián)盟鏈。聯(lián)盟鏈只選擇部分節(jié)點(diǎn)來確定協(xié)商一致意見,其具有以下特性:首先,對于聯(lián)盟鏈的一致性確定,由一組選定的節(jié)點(diǎn)負(fù)責(zé)對區(qū)塊進(jìn)行驗(yàn)證;其次,記錄的讀取權(quán)限可以是公開的,也可以是受限的;最后,半分布式并不是網(wǎng)絡(luò)中所有節(jié)點(diǎn)都能加入聯(lián)盟鏈的共識過程,共識效率高。
區(qū)塊鏈的關(guān)鍵優(yōu)勢之一是促進(jìn)所有分散的節(jié)點(diǎn)在數(shù)據(jù)有效性上達(dá)成一致,這是節(jié)點(diǎn)間相互信任的基礎(chǔ)。常見的共識算法有基于工作量證明(PoW,proof of work)算法、權(quán)益證明(PoS,proof of stake)算法、實(shí)用拜占庭容錯(cuò)(PBFT,practical Byzantine fault tolerance)算法等[12]。由于交叉口場景中對實(shí)時(shí)性要求高,不需要令牌,為提高認(rèn)證效率,參與協(xié)商一致過程的節(jié)點(diǎn)數(shù)目相對固定的PBFT算法更適合在交叉口認(rèn)證場景下使用。
傳統(tǒng)認(rèn)證機(jī)制需要用戶和數(shù)據(jù)中心之間的多次交互,這是車輛有效訪問路邊節(jié)點(diǎn)的一個(gè)障礙。區(qū)塊鏈作為一個(gè)分布式系統(tǒng),多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)可在不需要中央授權(quán)的情況下維護(hù)相同的信息,可以有效降低數(shù)據(jù)中心、區(qū)域、域管理器之間的通信開銷。文獻(xiàn)[13]提出了一種基于區(qū)塊鏈的分布式PKI(public key infrastructure)認(rèn)證系統(tǒng),以提供密鑰查詢和身份綁定服務(wù),但由于用戶的身份和公鑰直接存儲(chǔ)在區(qū)塊鏈中,可能會(huì)造成隱私泄露。文獻(xiàn)[14]提出了一種適用于異構(gòu)智能交通系統(tǒng)的基于區(qū)塊鏈的動(dòng)態(tài)密鑰管理方法,通過仿真結(jié)果表明了使用區(qū)塊鏈結(jié)構(gòu)在密鑰傳輸時(shí)間方面比中央管理器結(jié)構(gòu)效果更好。Wang等[15]提出了一種基于塊鏈的跨域認(rèn)證模型BlockCAM,以保證在不同區(qū)域訪問資源的安全性和效率。與傳統(tǒng)的車聯(lián)網(wǎng)認(rèn)證機(jī)制相比,基于區(qū)塊鏈的車聯(lián)網(wǎng)身份認(rèn)證機(jī)制既可以提高認(rèn)證效率,又可以抵抗分布式拒絕服務(wù)(DDoS,distributed denial of service)攻擊[16],因?yàn)閰^(qū)塊鏈的節(jié)點(diǎn)是分散的,且每個(gè)節(jié)點(diǎn)具備完整的區(qū)塊鏈信息,并能對其他節(jié)點(diǎn)的數(shù)據(jù)有效性進(jìn)行驗(yàn)證,即使攻擊者攻破某個(gè)節(jié)點(diǎn),剩余節(jié)點(diǎn)也可以正常維持整個(gè)區(qū)塊鏈系統(tǒng),因此,針對區(qū)塊鏈的DDoS攻擊將會(huì)難上加難。
汽車正在向智能化、無人化的方向發(fā)展,對車輛進(jìn)行管理,實(shí)現(xiàn)汽車安全行駛是車聯(lián)網(wǎng)的重要課題。車聯(lián)網(wǎng)屬于物聯(lián)網(wǎng)的一部分,同樣具有分布式、去中心化等特點(diǎn),因此,區(qū)塊鏈技術(shù)可以解決車聯(lián)網(wǎng)去中心化管理、隱私保護(hù)等問題。本節(jié)首先介紹系統(tǒng)模型,然后提出安全目標(biāo)和系統(tǒng)的設(shè)計(jì)細(xì)節(jié)。
本文研究了基于區(qū)塊鏈技術(shù)的車輛匿名認(rèn)證方案,系統(tǒng)模型如圖2所示,主要包括4類參與者,分別為信任機(jī)構(gòu)(TA,trust authority)、區(qū)域服務(wù)器、共識節(jié)點(diǎn)(WP,witness peer)和車輛(vehicle)。
(1)信任機(jī)構(gòu)
為了保證系統(tǒng)的有序運(yùn)行,需要一個(gè)充分可信任的機(jī)構(gòu)TA,負(fù)責(zé)生成系統(tǒng)參數(shù),以及追蹤非法車輛。
(2)區(qū)域服務(wù)器
LS是在交叉口中為汽車通行提供路徑規(guī)劃的服務(wù)提供方。車輛不需要信號燈的指示,而是根據(jù)LS為其規(guī)劃的通過交叉口的先后順序依次通過,在此之前需要對進(jìn)入交叉口的車輛進(jìn)行身份認(rèn)證??蓪S理解為具有較高的計(jì)算與數(shù)據(jù)交互功能的RSU。LS可以通過無線與車輛通信,接收車輛發(fā)過來的請求信息,也可以通過有線與TA和WP通信。在建立系統(tǒng)之前LS需要先在TA上注冊。每個(gè)LS維護(hù)一個(gè)包含所有車輛訪問記錄的公共賬本。公共賬本只能由TA、LS和WP訪問。
(3)共識節(jié)點(diǎn)
WP是通過協(xié)商一致算法將身份認(rèn)證結(jié)果寫入公共分類賬的對等方。每個(gè)交叉口設(shè)有一個(gè)WP。所有的WP和LS組成聯(lián)盟鏈。
(4)車輛
本文中指無人駕駛汽車。每輛靠近交叉口的車輛會(huì)向LS申請路徑規(guī)劃服務(wù),在此之前會(huì)進(jìn)行車輛與TA的注冊和車輛與LS的身份認(rèn)證,以確認(rèn)其合法身份,并享受后續(xù)數(shù)據(jù)共享與控制管理等服務(wù)。每輛車內(nèi)部均配有嵌入式計(jì)算機(jī)、無線網(wǎng)絡(luò)接口、GPS接收機(jī)、車載導(dǎo)航系統(tǒng)、數(shù)字地圖等計(jì)算和通信單元。
圖2 系統(tǒng)模型Figure 2 System model
在交叉口場景中,安全和隱私對于安全通信至關(guān)重要。在確定安全需求之前,應(yīng)該首先討論安全威脅,車輛與道路其他實(shí)體通信過程中幾類常見的安全威脅有:偽裝攻擊、重放攻擊、假消息攻擊、拒絕服務(wù)(DoS)攻擊等[17-18]。
考慮到上述交叉路口可能存在的安全威脅,本文設(shè)計(jì)基于區(qū)塊鏈技術(shù)的車輛匿名認(rèn)證方案,并實(shí)現(xiàn)以下有關(guān)安全性的目標(biāo)。
保密性:確保敵手不能解密傳輸?shù)南ⅰ?/p>
完整性:保證敵手不能篡改發(fā)送的消息。
匿名性:允許每輛車使用臨時(shí)的假名。在訪問LS期間,若更換假名,車輛可以選擇重新驗(yàn)證自己的身份,使敵手很難對車輛進(jìn)行追蹤或統(tǒng)計(jì)。
可追溯性:保證TA能夠追蹤非法車輛并拒絕他們訪問LS。
不可否認(rèn)性:保證當(dāng)非法車輛被舉報(bào)時(shí),其不當(dāng)行為是不可否認(rèn)的。
輕量化:保證較低的計(jì)算和通信開銷。
本文提出的認(rèn)證系統(tǒng)包含5個(gè)階段,即初始化、注冊、身份認(rèn)證、協(xié)商一致和服務(wù)交付階段。表1給出了相關(guān)符號含義。
(1)初始化階段
TA進(jìn)行初始化,生成自己的公私鑰對和密鑰,并將公鑰廣播。初始化階段僅由TA在系統(tǒng)建立期間執(zhí)行一次。
TA生成自己的公私鑰對{PuKTA,PrKTA},其中,PuKTA用TA來為LS和車輛生成公鑰,PrKTA用TA來為LS和車輛生成私鑰。
TA利用式(1)生成密鑰SrkTA,用作車輛認(rèn)證中HMAC運(yùn)算的密鑰。其中,SrkTA每24 h改變一次。
TA對PrKTA進(jìn)行保密,公開參數(shù)SrkTA、PuKTA。
TA初始化后獲得的參數(shù)為
表1 符號含義Table 1 Definition of symbols
(2)注冊階段
本階段主要執(zhí)行LS和車輛的注冊,LS和車輛分別向TA進(jìn)行注冊,與TA共同生成公鑰和私鑰,使LS和車輛均注冊為合法節(jié)點(diǎn)。其中,LS注冊時(shí)執(zhí)行以下步驟。
TA利用RIDLS、PrKTA和PuKTA按照式(2)和式(3)為LS生成公私鑰對{PuKLS,PrKLS}。
LS對私鑰PrKLS進(jìn)行保密,公開其公鑰PuKLS。
LS完成注冊后獲得的參數(shù)為
車輛在注冊時(shí)主要執(zhí)行以下步驟。
TA利用RIDV和假名截止時(shí)間VTPPsID為車輛計(jì)算假名,具體見式(4)。
TA利用PsIDV、PrKTA和PuKTA等參數(shù)按照式(5)和式(6)為車輛計(jì)算其公私鑰對{PuKV、PrKV}。
與此同時(shí),TA將生成的參數(shù){PrKV,PuKV,SrkTA,PuKTA}記錄在車輛的防篡改設(shè)備中。
車輛完成注冊后獲得的參數(shù)為
(3)身份認(rèn)證階段
此階段目的是位于交叉口的LS對其覆蓋范圍內(nèi)的車輛進(jìn)行身份認(rèn)證,隨后LS將認(rèn)證結(jié)果對WP進(jìn)行廣播,WP在協(xié)商一致階段將認(rèn)證結(jié)果寫入?yún)^(qū)塊鏈中。圖3展示了身份認(rèn)證與共識過程的基本數(shù)據(jù)交互。
當(dāng)一輛駛向交叉口的車輛訪問LS時(shí),它需要執(zhí)行如下操作。
車輛利用PsIDV、VTPPsID和PuKV等參數(shù)按照式(7)計(jì)算HCV。
車輛利用PsIDV、VTPPsID、HCV和PuKV等參數(shù)按照式(8)計(jì)算BSV。
車輛向其所處交叉口的LS發(fā)送BSV,LS接收BSV后,執(zhí)行如下操作。
LS利用接收到的BSV中包含的PsIDV、VTPPsID和PuKV等參數(shù)按照式(9)計(jì)算HC′,來驗(yàn)證BSV的正確性。
LS驗(yàn)證式(10)是否成立。
若成立,LS將搜索其本地?cái)?shù)據(jù)庫認(rèn)證信息是否存在。如果存在身份驗(yàn)證信息,LS將更新其數(shù)據(jù)庫中的身份驗(yàn)證結(jié)果。同時(shí),它將向所有WP廣播認(rèn)證結(jié)果,并為車輛提供數(shù)據(jù)共享和路徑規(guī)劃服務(wù)。
至此,車輛可根據(jù)其合法身份與LS進(jìn)行數(shù)據(jù)交互,車輛發(fā)送安全消息如下。
LS收到車輛的安全消息后,即可通過HMAC檢查來驗(yàn)證消息的合法性和完整性,其中,安全消息類型如表2所示。有效字節(jié)數(shù)(playload)統(tǒng)一為67 B,方便在性能分析中與其他認(rèn)證機(jī)制進(jìn)行比較;HMAC采用常見的HMAC-SHA1算法,其摘要長度取20 B;為減少簽名所占字節(jié),本文采用Shim在文獻(xiàn)[19]中的方法,使簽名降低到64 B??紤]交叉口車輛數(shù),本文設(shè)置假名長度為6 B;參考文獻(xiàn)[20]等研究,時(shí)間戳默認(rèn)為4 B。
表2 車輛發(fā)送的安全消息類型Table 2 Safety message type sent by vehicles
(4)協(xié)商一致階段
WP在收到認(rèn)證結(jié)果之后,通過實(shí)用拜占庭容錯(cuò)算法將認(rèn)證結(jié)果寫入?yún)^(qū)塊鏈中,具體操作如下。
假設(shè)共有k個(gè)WP,分別是{WP1,WP2,…,WPk},認(rèn)證結(jié)果的每一輪寫入,都會(huì)有一個(gè)WP作為記錄者,其他WP作為共識者。
通過x=(hight modk)+1決定出一個(gè)記錄者WPx(1≤x≤k),其中,hight是當(dāng)前的區(qū)塊長度。
SM向所有的WP廣播附帶SM簽名的認(rèn)證結(jié)果,所有的WP獨(dú)立監(jiān)聽廣播的認(rèn)證結(jié)果數(shù)據(jù),并保存在自己的內(nèi)存中。
設(shè)置區(qū)塊產(chǎn)生的時(shí)間間隔為t,經(jīng)過時(shí)間t后,記錄者給所有共識者發(fā)送提議
共識者WPi收到所述提議后,發(fā)送
每個(gè)WP至少收到k-f個(gè)簽名SIGWPi(block)時(shí),達(dá)成共識并且發(fā)布該區(qū)塊;如果簽名數(shù)量沒有達(dá)到k-f,將執(zhí)行下一輪共識。其中,,表示系統(tǒng)中允許存在的最大數(shù)量的有問題的WP。
任何WP收到完整區(qū)塊后,會(huì)從自己的內(nèi)存中刪除包含在區(qū)塊中的認(rèn)證結(jié)果信息,然后開始下一輪共識。
圖3 身份認(rèn)證與協(xié)商一致階段Figure 3 Authentication and consensus phase
(5)服務(wù)交付階段
在此階段,當(dāng)車輛移動(dòng)到新交叉口時(shí),意味著車輛移向了新的LS覆蓋范圍,執(zhí)行以下操作。
LS首先搜索本地?cái)?shù)據(jù)庫查找車輛的公鑰PuKV,如果不存在,則搜索公共賬本,找到PuKV后,如果它不在撤銷列表中,則驗(yàn)證簽名,如果驗(yàn)證成功并且時(shí)間戳TS是有效的,LS方可響應(yīng)車輛的服務(wù)請求,否則拒絕服務(wù)。
其中,如果一輛違法車輛被上報(bào)給TA,TA將會(huì)檢查區(qū)塊鏈找到違法車輛的ID,并通知LS該違法車輛的公鑰是無效的,LS將該惡意車輛ID標(biāo)記并存儲(chǔ)到本地撤銷列表中,同時(shí)廣播給所有WP。WP將惡意車輛信息寫入?yún)^(qū)塊鏈中,寫入過程同協(xié)商一致階段中的操作,用于后續(xù)認(rèn)證過程參考。
本節(jié)證明所提方案滿足以下安全要求:①保密性;②匿名性;③可追溯性。另外,所提方案可以有效抵抗重放攻擊和DDoS攻擊等。
(1)保密性
本文將基于身份的非對稱密碼和HMAC結(jié)合起來,實(shí)現(xiàn)道路交叉口場景下匿名車輛身份認(rèn)證。公鑰分發(fā)階段,利用LS和車輛自身的ID生成公私鑰對,保證了密鑰的可靠性。認(rèn)證階段,安全消息BSV中包含由SrKTA生成的哈希消息認(rèn)證碼。只有合法注冊的LS才有SrKTA。另外,發(fā)送車輛的簽名和假名PsIDV附加在安全消息中。HMAC、簽名和臨時(shí)假名PsIDV確保了車輛與LS通信認(rèn)證過程中的保密性和消息完整性。此外,只有合法授權(quán)的TA、LS、WP等節(jié)點(diǎn)才可以訪問區(qū)塊鏈。在服務(wù)交付階段,當(dāng)發(fā)送的消息,TS}被敵手篡改時(shí),敵手只能獲得毫無價(jià)值的假名PsIDV和時(shí)間戳TS。因此,所提方案保證了關(guān)鍵信息在整個(gè)工作流程中的保密性。
(2)匿名性
為了實(shí)現(xiàn)匿名,必須確保在部署B(yǎng)SV時(shí),沒有任何敵手能夠提取真實(shí)身份。在認(rèn)證階段,車輛在交叉口附近向LS發(fā)送BSV消息。此BSV包含基于ID的數(shù)字簽名和假名PsIDV,而不是車輛的真實(shí)ID。數(shù)字簽名和PsIDV實(shí)現(xiàn)V2I通信過程中節(jié)點(diǎn)認(rèn)證的同時(shí),保證了匿名性。如果一輛汽車更改了假名,它只需要重新認(rèn)證。另外,認(rèn)證結(jié)果被寫入?yún)^(qū)塊鏈中,但只有合法授權(quán)的實(shí)體才能訪問區(qū)塊鏈。敵手很難獲得車輛的真實(shí)身份,車輛的假名也會(huì)隨時(shí)間有規(guī)律地變化,從而保證該機(jī)制的匿名性。
(3)可追溯性
TA旨在實(shí)現(xiàn)可追溯性的功能。當(dāng)發(fā)現(xiàn)和報(bào)告車輛的違規(guī)行為時(shí),TA將搜索區(qū)塊鏈,以查明非法匿名車輛的相應(yīng)真實(shí)身份,并撤銷其公鑰,從而保證非法車輛的可追溯性。同時(shí),揭露非法車輛的真實(shí)身份,使其無法對非法行為進(jìn)行否認(rèn),實(shí)現(xiàn)了認(rèn)證過程中的可追溯性和不可否認(rèn)性。
另外,如3.3節(jié)服務(wù)交付階段內(nèi)容所述,在身份認(rèn)證過程使用查詢?響應(yīng)握手機(jī)制,在傳遞消息時(shí)添加時(shí)間戳TS。若時(shí)間戳TS是有效的,LS方可響應(yīng)車輛的服務(wù)請求,否則拒絕服務(wù)。通過驗(yàn)證時(shí)間戳是否有效,可以防止重放攻擊。本文設(shè)計(jì)的方案建立在區(qū)塊鏈的基礎(chǔ)上,具有無中心化和冗余的特性。即使一個(gè)節(jié)點(diǎn)被破壞,其他節(jié)點(diǎn)也不會(huì)受到影響,因此可抵抗DDoS攻擊。
結(jié)合車聯(lián)網(wǎng)場景下身份認(rèn)證需求,本文方案與其他認(rèn)證方案的主要特性對比如表3所示。
表3 本文方案與其他認(rèn)證方案的主要特征對比Table 3 Comparison of the main features between the scheme in this paper and other authentication scheme
本文采用車聯(lián)網(wǎng)專用仿真軟件Veins對方案進(jìn)行了仿真,本次仿真使用的計(jì)算機(jī)系統(tǒng)配置為Intel Core i3-3217,1.8 GHz,8 GB RAM。主要仿真參數(shù)如表4所示。
表4 仿真參數(shù)Table 4 Simulation parameters
將本文方案與現(xiàn)有4種車輛認(rèn)證方法[21-24]的性能表現(xiàn)進(jìn)行比較分析。對比方案解釋如下:文獻(xiàn)[21]采用基于證書的簽名,簡稱為PKI-Certi;文獻(xiàn)[22]采用基于ID的簽名認(rèn)證機(jī)制,實(shí)現(xiàn)一種有條件隱私保護(hù)的認(rèn)證方案,簡稱為ECPP;文獻(xiàn)[23]是一種使用代理車輛的基于身份的消息認(rèn)證方案,簡稱為ID-MAP;文獻(xiàn)[24]采用批認(rèn)證方式,簡稱為bSPECS。將本文提出的方案與基于PKI、基于ID、基于批認(rèn)證的方案進(jìn)行對比,表明本文所提方案具備輕量化的特征,以及在安全性要求、開銷和延遲方面有更好的性能。
通信開銷定義為除去有效信息的字節(jié)數(shù)與傳輸總字節(jié)數(shù)(即有效信息字節(jié)加開銷字節(jié))的比值,表示為
表2以及表5~表8分別列出了本文方案和PKI-Certi、ECPP、ID-MAP和bSPECS中使用的安全消息類型。對比的5種認(rèn)證方案的傳輸字節(jié)分別為161 B、248 B、172 B、191 B和451 B。
表5 PKI-Certi認(rèn)證機(jī)制中安全消息類型Table 5 Safety message type in PKI-Certi
表6 ECPP認(rèn)證機(jī)制中安全消息類型Table 6 Safety message type in ECPP
圖4顯示了固定有效信息(payload=67 B)下通信開銷與車輛密度之間的關(guān)系(車輛密度為1時(shí)對應(yīng)實(shí)際密度為1 080 veh/h)。本文方案的通信開銷比ECPP、ID-MAP、PKI-certi和bSPECS分別低2.66%、6.53%、14.59%和26.75%。
表7 ID-MAP認(rèn)證機(jī)制中安全消息類型Table 7 Safety message type in ID-MAP
表8 bSPECS認(rèn)證機(jī)制中安全消息類型Table 8 Safety message type in bSPECS
圖4 通信開銷與車輛密度之間的關(guān)系Figure 4 Relationship between communication overhead and vehicle density
協(xié)商一致階段獨(dú)立于身份認(rèn)證過程。因此,本文對其進(jìn)行單獨(dú)評估,設(shè)置t=1 s為區(qū)塊生成時(shí)間,通過設(shè)置不同的共識節(jié)點(diǎn)數(shù),得出協(xié)商一致過程時(shí)間開銷,結(jié)果如表9所示。
表9 協(xié)商一致過程時(shí)間開銷Table 9 Time overhead in consensus phase
隨著V2X技術(shù)和智能網(wǎng)聯(lián)汽車的發(fā)展,智能交通系統(tǒng)中的通信安全愈發(fā)重要,本文圍繞道路交叉口這一具體場景,通過深入研究交通環(huán)境下認(rèn)證機(jī)制的內(nèi)在機(jī)理,提出一種基于區(qū)塊鏈技術(shù)的匿名車輛認(rèn)證方案。本文方案在認(rèn)證中采用基于身份和哈希消息認(rèn)證碼的混合密碼認(rèn)證機(jī)制,并將認(rèn)證結(jié)果記錄在區(qū)塊鏈中,提高了數(shù)據(jù)的交互效率和系統(tǒng)的防篡改能力。仿真與分析結(jié)果表明,本方案具有較好的安全性、匿名性等特性,同時(shí)在保證用戶隱私的前提下具有一定的可追溯性。在交叉口車輛身份認(rèn)證過程中具有較高的實(shí)用價(jià)值。