陶 敏, 關(guān)勝利, 崔鵬飛
(1.中國南方電網(wǎng)超高壓輸電公司廣州局,廣州510003;2.廣州高瀾節(jié)能技術(shù)股份有限公司,廣州510663)
作為現(xiàn)代社會(huì)最重要的基礎(chǔ)設(shè)施,交通系統(tǒng)的效率影響了居民生活質(zhì)量。隨著交通流量的增加以及道路車輛數(shù)的激增,交通事故頻繁發(fā)生[1-2]。如何有效地提高道路安全是交通系統(tǒng)亟待解決的問題。
車聯(lián)網(wǎng)(Vehicular Ad hoc Networks,VANET)已成為智能交通系統(tǒng)(Intelligent Transportation System,ITS)的重要組成部分[3]。VANET利用車輛間(Vehicle-to-Vehicle,V2 V)和車輛與路邊設(shè)施(Road Side Unit,RSU)通信,提高道路行駛安全。
多數(shù)VANET應(yīng)用均涉及到行駛安全。在VANET內(nèi)實(shí)施相應(yīng)的安全機(jī)制顯得尤為重要。由于車輛的快速移動(dòng)及無線通信的特性,相比于傳統(tǒng)網(wǎng)絡(luò),VANETs容易遭受各類攻擊。為確保VANET的安全,研究人員提出各類安全機(jī)制。多數(shù)安全機(jī)制來自IEEE或ETSI推薦的標(biāo)準(zhǔn)。
IEEE 1609.2標(biāo)準(zhǔn)[4]為車載環(huán)境(Vehicular Environment,VE)設(shè)備的無線接入定義了安全消息格式。與IEEE標(biāo)準(zhǔn)不同,ETSI標(biāo)準(zhǔn)并沒有將安全設(shè)備定義成管理平臺(tái)[5]的子函數(shù)。ETSI TS 102 941標(biāo)準(zhǔn)[6]定義了信任管理和隱私管理機(jī)制,利用這些機(jī)制支持或者實(shí)現(xiàn)ITS系統(tǒng)的安全。
通常,這些安全機(jī)制可基于3種模式構(gòu)建:加密算法、公鑰基礎(chǔ)設(shè)施和安全認(rèn)證。這些安全機(jī)制能夠?qū)崿F(xiàn)車載通信環(huán)境中消息的認(rèn)證和完整性。車載網(wǎng)絡(luò)容易遭受Sybil攻擊[7]。一個(gè)惡意節(jié)點(diǎn)同時(shí)使用不同的假名,就容易發(fā)生Sybil攻擊。每個(gè)假名偽裝成一個(gè)虛擬節(jié)點(diǎn)(Virtual Node,VN)。
在車載網(wǎng)絡(luò)中,Sybil攻擊對(duì)網(wǎng)絡(luò)層和應(yīng)用層均有影響。由于網(wǎng)絡(luò)層采用了CSMA/CA機(jī)制,多個(gè)虛擬節(jié)點(diǎn)間的連接,過多地占用信道資源。在應(yīng)用層,虛擬節(jié)點(diǎn)也參以與其他ITS設(shè)備的通信。在這種環(huán)境下,當(dāng)惡意節(jié)點(diǎn)同時(shí)使用多個(gè)假名時(shí),這些假名產(chǎn)生的虛擬節(jié)點(diǎn)通過向良性節(jié)點(diǎn)廣播虛假安全消息,發(fā)起攻擊。一些安全機(jī)制采用了投票機(jī)制[8]。惡意節(jié)點(diǎn)利用產(chǎn)生多個(gè)虛擬節(jié)點(diǎn)進(jìn)行惡意投票。
基于車輛行駛模型的Sybil攻擊檢測(Driving Pattern based Sybil AttackDetection,VDP-SAD)算法??紤]到虛擬節(jié)點(diǎn)不得不避開良性節(jié)點(diǎn)捕獲的位置,這些虛擬節(jié)點(diǎn)的行駛模型可能是雜亂的,不穩(wěn)定的。尤其是在動(dòng)態(tài)的車載環(huán)境,它們的行駛模型極不穩(wěn)定、不成形的。因此,VDP-SAD算法通過評(píng)估車輛行駛模型的相似性,檢測Sybil攻擊。
車聯(lián)網(wǎng)主要由車輛、路邊單位(Road-Side Units,RSU)構(gòu)建,如圖1所示。每輛車上安裝一個(gè)車載診斷系統(tǒng)(On-Boart Diagnostic,OBD)[9]。利用OBD,車輛能夠與其他車輛、RSU進(jìn)行通信。每輛車中的OBD具有防攻擊設(shè)備(Tamper Proof Device,TPD),存儲(chǔ)相關(guān)的數(shù)據(jù)。在VANET中,車輛通過交互Beacon包與其鄰居節(jié)點(diǎn)交互信息,獲取鄰居車輛的信息。車輛在一跳通信范圍內(nèi)以周期T=100 ms廣播Beacon包,其主要包含車輛的身份,位置,速度和加速度。
圖1 系統(tǒng)模型示意圖
在道路邊上部署RSU。這些RSU為車輛提供服務(wù)。每個(gè)RSU采用短程無線通信技術(shù)(Dedicated Short Range Communications,DSRC)協(xié)議[10]與其覆蓋范圍內(nèi)的車輛通信。
若一輛車在一段時(shí)間內(nèi)使用幾個(gè)假名,從OBD和RSU角度,每一個(gè)假名都是一輛車。原因在于:每個(gè)有效的假名都擁有它自己的密鑰對(duì)。因此,一輛車輛利用它的不同假名虛構(gòu)多個(gè)身份(虛擬節(jié)點(diǎn)),進(jìn)而發(fā)起Sybil攻擊。
通常,車聯(lián)網(wǎng)中的Sybil攻擊有兩個(gè)過程:虛擬節(jié)點(diǎn)產(chǎn)生過程和攻擊發(fā)起過程。依據(jù)ETSI的標(biāo)準(zhǔn),在虛擬節(jié)點(diǎn)產(chǎn)生過程中,虛擬節(jié)點(diǎn)利用協(xié)作感知消息(Cooperative Awareness Messages,CAM)使OBD和RSU[11-12]知曉自己;在攻擊發(fā)起過程中,虛擬節(jié)點(diǎn)利用集中環(huán)境認(rèn)知消息(Decentralized Environmental Notification Message,DENM)向RSU報(bào)告虛假的道路信息。
如圖2所示,Vm是惡意節(jié)點(diǎn),Vb為良心節(jié)點(diǎn),Vυ是由Vm利用它的假名產(chǎn)生的虛擬節(jié)點(diǎn)。依據(jù)ETSI標(biāo)準(zhǔn),Vυ通過傳輸CAM使系統(tǒng)內(nèi)的其他車輛和RSU知曉自己,再通過傳輸DENM向RSU報(bào)告虛假的道路消息。
圖2 Sybil節(jié)點(diǎn)的攻擊模型
VDP-SAD算法就是聚集于虛擬節(jié)點(diǎn)產(chǎn)生過程,其先檢測虛擬節(jié)點(diǎn),再排除這些虛擬節(jié)點(diǎn)。
當(dāng)車密度很高時(shí),車輛行駛模型存在很明顯的相似性。VDP-SAD算法利用行駛模型的特征值表述車輛行駛模型,構(gòu)建行駛模型矩陣,計(jì)算每個(gè)行駛模型矩陣的特征值,檢測Sybil攻擊節(jié)點(diǎn)。
VDP-SAD算法引用行駛模型矩陣(Driving Pattern Matrix,DPM)表述車輛在一段時(shí)間內(nèi)的行駛模型,并利用DPM的特征值估計(jì)相似性。
因此,車輛?i在時(shí)間段( t1,tn)區(qū)間的DPM可表示為:
若矩陣Mi滿足式(2),則矩陣Mi有一個(gè)特征矢量x和相應(yīng)的特征值λ:
在時(shí)間段( t1,tn)內(nèi),對(duì)于任意車輛?i的DPM的Mi,先構(gòu)建矩陣·Mi,其滿足式(3):
遵循特征值快速下降的事實(shí)。VDP-SAD算法以降序?qū)μ卣髦颠M(jìn)行排序[13]。取排序后的前5個(gè)值,并利用這5個(gè)特征值表述分類器內(nèi)的原始DPM的特性。
從5個(gè)特征值中選擇2個(gè)最大的特征值,這2個(gè)特征值分別表示:
將車輛?i在一段時(shí)間內(nèi)的行駛模型表述成二維平面上一個(gè)點(diǎn),這2個(gè)特征值是這個(gè)點(diǎn)的坐標(biāo)。
用兩個(gè)矢量νi、νj分別表述車輛?i、?j的行駛模型,其中這2個(gè)矢量的明氏距離(Minkowski Distance,MD)為:
在測量明氏距離過程中,常將q取1或2。若q=1,則MD為曼哈頓距離;若q=2,則MD就為歐式距離。
矩陣的特征值是一組非負(fù)的實(shí)數(shù)??烧J(rèn)為矩陣相似性與特征值相似性之間存在正相關(guān)性。利用曼哈頓距離評(píng)估特征值間的相似性,檢測Sybil攻擊。
系統(tǒng)內(nèi)存在N輛車,便可形成N個(gè)矢量νi,且i=1,2,…,N。用這N個(gè)矢量νi構(gòu)成N行2列矩陣:
計(jì)算矩陣S第1行的矢量νi與中值矩陣e=的MD距離。令νi表示矩陣S的i行,其表示車輛?i的行駛模型。如果νi與MD距離d νi,( )e大于預(yù)定的閾值dth,則車輛?i被判定為惡意節(jié)點(diǎn)。
算法1給出檢測Sybil攻擊的流程。
收集N輛車的Beacon消息,并構(gòu)建在( t1,tn)時(shí)間內(nèi)每輛車的DPM。計(jì)算車輛?i的DPM Mi的特征值,如算法1 step2所示。依據(jù)式(5)計(jì)算2個(gè)最大的特征值,并構(gòu)建矢量νi。
在Windows 7操作系統(tǒng)、8 GB內(nèi)存,core i7 CPU的PC上進(jìn)行實(shí)驗(yàn)仿真。采用交通仿真軟件SUMO(Simulation of Urban Mobility)1.2.0進(jìn)行仿真。SUMO是一個(gè)開源、微觀、多模態(tài)交通仿真模擬軟件,集成了車輛行駛規(guī)律,車輛駕駛行為、駕駛習(xí)慣、路徑選擇等內(nèi)容,可以產(chǎn)生逼真的交通仿真場景。
采用都市交通場景,仿真場景為Manhatan Grid4×4。道路長為1 km,每條道路為雙向2車道,具體的仿真參數(shù)見表1。
算法1 檢測Sybil攻擊輸入:Beacons from vehicles輸出:ID of malicious nodes Step1:for i=1 to N do for t=1 to n do Construct the DPM for each vehicle within n seconds Get Mi end for Step2:Calculate the eigenvalues of Mi Step3:Calculate the vector of→νi Step4:Construct matrix S and compute→e end for Step5:for i=1 to N do Calculate the MD d(vi,ei)between vi and ei if d(vi,ei)>dth Output the IDs of maliciousnodes end if end for
表1 仿真參數(shù)
分析VDP-SAD算法在不同的車流量密度環(huán)境下,檢測Sybil攻擊的準(zhǔn)確率,簡稱為檢測準(zhǔn)確率,等于檢測的Sybil攻擊節(jié)點(diǎn)數(shù)與總的Sybil節(jié)點(diǎn)數(shù)之比。引用變量ρ,其表示Sybil攻擊節(jié)點(diǎn)的百分比。
圖3給出了ρ=1%、5%,10%、15%和20%環(huán)境下的VDP-SAD算法的檢測準(zhǔn)確率。由圖3可知,Sybil攻擊節(jié)點(diǎn)的百分率ρ的增加,使檢測攻擊節(jié)點(diǎn)的準(zhǔn)確性下降。原因在于:百分率ρ越大,網(wǎng)絡(luò)內(nèi)存在的Sybil攻擊節(jié)點(diǎn)數(shù)越多,這就加大了檢測Sybil攻擊節(jié)點(diǎn)的難度。
圖3 檢測率隨ρ的變化情況
車流量密度的增加不利于提高對(duì)Sybil攻擊節(jié)點(diǎn)檢測的準(zhǔn)確率。例如,當(dāng)ρ=15%時(shí),車輛數(shù)N=400的檢測準(zhǔn)確率為99.7%,當(dāng)車輛數(shù)增加至N=800,檢測準(zhǔn)確率降低至94.71%。
圖4給出了ρ=10%時(shí)的接受者操作特征(Receiver Operating Characteristic,ROC)。ROC也反映了檢測Sybil攻擊節(jié)點(diǎn)的準(zhǔn)確性。ROC曲線上的每個(gè)點(diǎn)反映了2個(gè)指標(biāo):真陽性率(True Positive Rate,TPR)和虛警率(False Positive Rate,F(xiàn)PR)。FPR表示將良性節(jié)點(diǎn)誤判為惡意節(jié)點(diǎn)的概率。
圖4 ROC曲線
由圖4可知,VDP-SAD算法具有低的FPR和高的TPR。在所有情況上,VDP-SAD算法能夠檢測90%以上的Sybil攻擊節(jié)點(diǎn)。此外,車流量密度對(duì)ROC曲線存在一定影響。原因在于:車流量密度越大,降低了車與車之間的距離,使車與車之間的行駛模型更相似,這也有利于檢測Sybil攻擊節(jié)點(diǎn)。
選擇文獻(xiàn)[14]中提出的SRSUIM算法和文獻(xiàn)[15]中的GSF算法作為參照,對(duì)比SRSUIM算法、GSF算法和VDP-SAD算法的檢測性能。采用攻擊檢測率、誤檢率和漏檢率3個(gè)指標(biāo)評(píng)估檢測Sybil攻擊節(jié)點(diǎn)的性能[16]。其中檢測率等于檢測的Sybil攻擊節(jié)點(diǎn)數(shù)與總的Sybil攻擊節(jié)點(diǎn)數(shù);誤檢率等于將Sybil攻擊節(jié)點(diǎn)數(shù)誤判為良性節(jié)點(diǎn)數(shù)與總的良性節(jié)點(diǎn)數(shù)之比;漏檢率等未能識(shí)別的Sybil攻擊節(jié)點(diǎn)數(shù)與總的Sybil攻擊節(jié)點(diǎn)數(shù)之比。圖5所示為SRSUIM、GSF和VDP-SAD算法的檢測率、誤檢率和漏檢率性能。
圖5 SRSUIM、GSF和VDP-SAD算法的性能
由圖5可知,相比于SRSUIM算法和GSF算法,VDP-SAD算法在檢測率、誤檢率和漏檢率性能存在優(yōu)勢。SRSUIM算法是通過節(jié)點(diǎn)影響力分析檢測Sybil攻擊節(jié)點(diǎn);GSF算法是引用社交關(guān)系檢測Sybil攻擊節(jié)點(diǎn)。給合檢測率、誤檢率和漏檢率3個(gè)指標(biāo)可得到結(jié)論,本文提出的VDP-SAD算法具有較好的檢測性能。
針對(duì)車聯(lián)網(wǎng)中的Sybil攻擊問題,提出了基于車輛行駛模型的Sybil攻擊檢測VDP-SAD算法。VDP-SAD算法利用車輛行駛模型的相似性,檢測車聯(lián)網(wǎng)中Sybil攻擊節(jié)點(diǎn)。利用車輛的移動(dòng)信息構(gòu)建車輛行駛矩陣,計(jì)算這些矩陣的特征值,然后利用特征值表述車輛行駛模型的相似性。仿真結(jié)果表明,VDP-SAD算法檢測Sybil攻擊節(jié)點(diǎn)的準(zhǔn)確率保持在90%。
考慮智能的攻擊節(jié)點(diǎn),提高檢測算法的有效性和拓展性。這些智能攻擊節(jié)點(diǎn)通過偽裝合理行為,進(jìn)而逃避檢測。