楊雪婷,李 重,2
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620;2.同濟大學(xué) 嵌入式系統(tǒng)與服務(wù)計算教育部重點實驗室,上海 201804)
近年來,隨著物聯(lián)網(wǎng)、自動駕駛技術(shù)的快速發(fā)展,車聯(lián)網(wǎng)(Internet of Vehicles,IoV)相關(guān)領(lǐng)域的研究進展也受到了人們的廣泛關(guān)注。車聯(lián)網(wǎng)作為物聯(lián)網(wǎng)的一個重要分支,主要為城市交通環(huán)境中的駕駛員、乘客和交通管理人員提供網(wǎng)絡(luò)接入[1],實現(xiàn)車輛與車輛、車輛與行人、車輛與道路基礎(chǔ)設(shè)施及車輛與云平臺之間的互聯(lián)互通。然而,由于這些交互過程均以網(wǎng)絡(luò)為載體,因此車聯(lián)網(wǎng)通信環(huán)境自身的脆弱性和信息安全問題也阻礙了其進一步的發(fā)展,例如黑客通過盜竊車載設(shè)備、滲透車輛內(nèi)部網(wǎng)絡(luò)以及利用外部網(wǎng)絡(luò)對車輛實施攻擊,然后通過這些被攻擊的異常車輛對車聯(lián)網(wǎng)環(huán)境中的其他用戶進行干擾,從而嚴重損害用戶利益甚至威脅用戶人身安全??梢姡WC車聯(lián)網(wǎng)安全至關(guān)重要,并且由于網(wǎng)絡(luò)安全依托網(wǎng)絡(luò)中各成員的行為規(guī)范,因此保證車聯(lián)網(wǎng)安全的前提是確定所有入網(wǎng)車輛的身份合法性。
在移動無線網(wǎng)絡(luò)中,傳統(tǒng)身份認證技術(shù)主要是基于密碼學(xué)的身份認證技術(shù),例如:文獻[2]提出使用基于公鑰基礎(chǔ)結(jié)構(gòu)的傳統(tǒng)公鑰加密方案,其向每個參與者發(fā)布一個綁定其身份的證書和公鑰,但當(dāng)參與者數(shù)量增加時,證書管理會變得非常困難;文獻[3]提出基于身份的公鑰加密技術(shù),其驗證過程簡單,不需要證書。在此基礎(chǔ)上,文獻[4]提出基于雙線性配對的身份公鑰加密技術(shù),文獻[5]基于橢圓曲線密碼學(xué)來驗證移動用戶的身份,該方法在保證安全性的情況下密鑰長度較短。在車聯(lián)網(wǎng)中,多數(shù)身份認證技術(shù)也主要是基于密碼學(xué)的認證技術(shù),例如:文獻[6]使用匿名公鑰和私鑰對進行車輛身份認證,并為每輛車提供匿名證書;文獻[7]提出基于智能卡協(xié)議的匿名輕量級身份驗證方法,使用低成本的加密操作來驗證車輛和數(shù)據(jù)消息的合法性;文獻[8]利用一次性公鑰構(gòu)造時間戳的簽名,并將其作為認證信息實現(xiàn)匿名認證;文獻[9]提出一種高效的基于身份的聚合簽名方案,通過批量驗證思想提高驗證效率。
上述身份認證方案雖然可滿足車輛身份認證的基本要求,但其作為一種靜態(tài)防御機制仍存在兩方面的問題。一方面,傳統(tǒng)身份認證技術(shù)無法解決車輛身份盜用問題。身份盜用是指正常車輛的車載設(shè)備被非法操控者盜竊使車輛行為出現(xiàn)異常,或者黑客通過無線網(wǎng)絡(luò)攻擊直接控制車輛的行為使車輛異常,這兩種情況都會使車聯(lián)網(wǎng)安全環(huán)境受到威脅。這時利用傳統(tǒng)身份認證方案僅能識別其身份,不能及時檢測出車輛是否存在異常行為。另一方面,隨著5G 時代的到來,網(wǎng)絡(luò)架構(gòu)將會發(fā)生巨大變化,未來5G 網(wǎng)絡(luò)架構(gòu)將會是小單元部署和覆蓋的異構(gòu)結(jié)構(gòu),這種較小的單元部署和高速的車輛移動特性使用戶和接入點之間的認證交互變得更頻繁[10]。在此情況下,需要更快、更高效的交互認證滿足用戶的低時延需求,然而基于密碼學(xué)的身份認證方案多數(shù)需要復(fù)雜的計算,這將嚴重影響用戶體驗。本文在移動邊緣計算(Mobile Edge Computing,MEC)框架下,提出一種基于車輛行為預(yù)測的身份認證方案,利用軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)的集中式全局控制能力和移動邊緣計算的分布式計算能力,并根據(jù)車輛的歷史行為數(shù)據(jù)對車輛未來行駛行為進行預(yù)測,從而實現(xiàn)車輛身份認證。
由于本文研究車聯(lián)網(wǎng)領(lǐng)域的身份認證技術(shù),因此首先應(yīng)確定車聯(lián)網(wǎng)的網(wǎng)絡(luò)架構(gòu)。在5G 技術(shù)的引領(lǐng)下,目前較主流的網(wǎng)絡(luò)架構(gòu)是MEC 和SDN 結(jié)合的網(wǎng)絡(luò)架構(gòu)[11-13]。SDN 被認為是一種利用提供流可編程性和網(wǎng)絡(luò)彈性來優(yōu)化5G 網(wǎng)絡(luò)管理的新技術(shù)[14],通過將控制平面與數(shù)據(jù)平面分離,把轉(zhuǎn)發(fā)規(guī)則的控制權(quán)交由SDN 控制器,實現(xiàn)高效和智能的數(shù)據(jù)轉(zhuǎn)發(fā)以及對網(wǎng)絡(luò)管理的全局控制。MEC 作為云計算的擴展,以分布式部署應(yīng)用程序和服務(wù)的方式在接近移動用戶的一側(cè)提供計算能力,其通過將計算任務(wù)從中心云轉(zhuǎn)移到移動邊緣設(shè)備來緩解網(wǎng)絡(luò)壓力。因此,將兩者結(jié)合形成的MEC+SDN 新型網(wǎng)絡(luò)架構(gòu)具有可靠、低時延、可擴展等特性。
目前,車聯(lián)網(wǎng)中主流的身份認證機制是以可信第三方為基礎(chǔ),利用公鑰加密等技術(shù)實現(xiàn),如公鑰基礎(chǔ)設(shè)施通過網(wǎng)絡(luò)介質(zhì)建立實體之間的身份信任關(guān)系,驗證終端是否掌握正確的口令或密鑰,實現(xiàn)對權(quán)限的掌控。換言之,車聯(lián)網(wǎng)身份認證問題需要一個可信的全局控制中心。軟件定義網(wǎng)絡(luò)將網(wǎng)絡(luò)的控制功能與轉(zhuǎn)發(fā)功能解耦,能為網(wǎng)絡(luò)管理提供全局狀態(tài)信息,因此本文利用SDN 控制器實現(xiàn)車輛身份認證。但由于道路環(huán)境中等待認證的車輛規(guī)模龐大且身份認證機制存在的高通信負載、計算量和存儲開銷問題將影響認證交互的時效性,難以適應(yīng)車輛節(jié)點高動態(tài)變化的特點,在車聯(lián)網(wǎng)環(huán)境中車輛若要享受網(wǎng)絡(luò)服務(wù),則需要與基站或路側(cè)單元等道路基礎(chǔ)設(shè)施進行連接,而移動邊緣計算的思想是在接近移動用戶的一側(cè)提供計算能力,因此本文將道路基礎(chǔ)設(shè)施作為移動邊緣計算站點來緩解SDN 控制器在身份認證過程中的計算壓力。綜上所述,本文需要解決車聯(lián)網(wǎng)身份認證問題,且判別車輛是否發(fā)生身份盜用需要大量的數(shù)據(jù)傳輸和計算工作,同時要滿足用戶的低時延需求,而MEC+SDN 網(wǎng)絡(luò)架構(gòu)可用于解決車聯(lián)網(wǎng)身份認證問題。
基于此,本文提出一種基于MEC 框架的軟件定義車聯(lián)網(wǎng)體系結(jié)構(gòu),如圖1 所示。該體系結(jié)構(gòu)將網(wǎng)絡(luò)架構(gòu)分為控制平面和數(shù)據(jù)平面,在體系結(jié)構(gòu)的頂層(即控制平面)中設(shè)置一個SDN 控制器,可對底層設(shè)備(如交換機)進行全局管理,靈活控制網(wǎng)絡(luò)流量。中間層是由交換機組成的核心網(wǎng)絡(luò),通過有線鏈路提供數(shù)據(jù)轉(zhuǎn)發(fā)和狀態(tài)采集功能。本文將基站或路側(cè)單元等道路基礎(chǔ)設(shè)施作為MEC 服務(wù)站,通過網(wǎng)絡(luò)功能虛擬化來調(diào)度、存儲和計算資源。同時,每個MEC 服務(wù)站可看作是負責(zé)與車輛通信的SDN 子控制器。架構(gòu)的底層是車輛之間的無線通信網(wǎng)絡(luò),使用IEEE 802.11p 通信協(xié)議。車輛身份盜用通常發(fā)生在車間通信或車輛與MEC 服務(wù)站之間的通信過程中。針對車聯(lián)網(wǎng)身份認證問題,本文利用SDN 控制器的集中控制能力對車輛的身份認證任務(wù)進行指導(dǎo),同時將計算任務(wù)下放到中間層MEC服務(wù)站實現(xiàn)對底層車輛的安全認證并達到降低認證時延的目的。
圖1 基于MEC 框架的軟件定義車聯(lián)網(wǎng)體系結(jié)構(gòu)Fig.1 Architecture of software defined IoV based on MEC framework
分析車輛身份盜用發(fā)生的可能性首先需要了解車載電子設(shè)備的實際攻擊面。根據(jù)文獻[15]所述,車載電子設(shè)備的安全威脅主要分為3 類,分別為車載設(shè)備的盜竊、內(nèi)部網(wǎng)絡(luò)的滲透以及外部網(wǎng)絡(luò)的利用。車載設(shè)備的盜竊是指音/視頻播放器、導(dǎo)航儀、數(shù)字多媒體廣播接收器、遠程信息處理設(shè)備等被盜。內(nèi)部網(wǎng)絡(luò)的滲透是指攻擊者將惡意設(shè)備連接到汽車電子控制單元以進入車內(nèi)網(wǎng)絡(luò)來控制車輛,該攻擊可以控制制動器或關(guān)閉發(fā)動機等造成的人身傷害和車輛嚴重損壞。另外,由于車輛內(nèi)部網(wǎng)絡(luò)使用CAN協(xié)議,而該協(xié)議存在一些安全漏洞,因此利用CAN總線的攻擊方式也層出不窮,例如讀取、泛洪和重放攻擊等,而這些攻擊方式能在保證車輛通過身份認證的情況下控制車輛行為。利用外部網(wǎng)絡(luò)的攻擊是由車輛無線連接設(shè)備濫用外部網(wǎng)絡(luò)引起,例如在車間通信或車輛與道路基礎(chǔ)設(shè)施的通信過程中,攻擊者通過信道攻擊實現(xiàn)竊聽等損害用戶利益的行為。
通過分析車載電子設(shè)備可能面臨的安全威脅可得出,車輛身份盜用通常發(fā)生在車載設(shè)備的盜竊、內(nèi)部網(wǎng)絡(luò)的滲透或外部網(wǎng)絡(luò)的利用這3 種情況下,攻擊者在車輛通過身份認證進入車聯(lián)網(wǎng)環(huán)境后,通過網(wǎng)絡(luò)漏洞入侵車輛使其行為異常,例如利用該異常車輛向其他車輛散播虛假道路信息或直接控制該異常車輛的行為導(dǎo)致事故的發(fā)生。
由于車輛在駕駛行為上存在時空分布規(guī)律性[16],每一部車輛都有其特定的行為模式,一般車輛行為包含時間、位置、速度和方向夾角,由于方向夾角與道路實際部署情況有關(guān),因此本文僅考慮時間、位置和速度3 種行為特征。時空分布規(guī)律是指一輛正常的車輛以某一時間、速度到達固定的地點后,通常會以另一個固定的時間到達另一個固定的地點,例如某上班族如果在工作日的07:00 以40.2 km/h 的速度從家里出發(fā),則目的地通常是公司且到達時間穩(wěn)定在08:00。因此,本文考慮利用時間、位置和速度這3 個特征的歷史數(shù)據(jù)挖掘潛在的行駛規(guī)律來預(yù)測車輛未來到達的位置和時間。使用一個五元組來表示預(yù)測車輛行為的數(shù)據(jù):Hi=(date,t,lon,lat,v)i,其中,H表示車輛行駛狀態(tài),i表示車輛標識,date 表示當(dāng)前日期,t表示當(dāng)前時間戳,lon 表示車輛所在位置的經(jīng)度,lat 表示車輛所在位置的緯度,v表示車輛行駛速度。
本文設(shè)置基站上報機制,在基站完成對車輛的認證后,將認證情況和車輛行為數(shù)據(jù)上報至SDN 控制器,以便SDN 能掌握車輛的歷史行駛軌跡并收集大量的歷史行為數(shù)據(jù)?;旧蠄笮畔⒏袷綖椋?date,t,lon,lat,v,0/1)i,其中,前5 項為車輛行駛狀態(tài),最后一項表示對車輛認證的判定結(jié)果,0 表示車輛異常,1 表示車輛正常。歷史行為數(shù)據(jù)是指SDN 控制器只要一收到基站對車輛的行為數(shù)據(jù)就上報,并將其進行存儲,形成該基站標識下該車輛的歷史行為數(shù)據(jù)庫。
本文假設(shè)所有基站均真實可信,且在網(wǎng)絡(luò)初始化時采用傳統(tǒng)基于密碼學(xué)的認證方案對車輛進行認證,使SDN 能掌握車輛的歷史行駛軌跡和大量的歷史行為數(shù)據(jù)。在本文認證方案中,SDN 控制器掌握整個應(yīng)用場景的地圖和基站的部署情況,并負責(zé)對車輛認證任務(wù)進行分配?;矩撠?zé)執(zhí)行SDN 控制器分配的計算任務(wù)并對車輛進行行為認證。此外,車輛的行駛軌跡使用途中接入的基站相連接表示,并將車輛在路徑起始位置處連接的基站稱為該軌跡的起始點,例如車輛i從家里出發(fā)去公司,依次接入了基站BS1、BS2、BS3、BS4、BS5 這5 個站點,在接入BS1 之前沒有基站向SDN 上報車輛i的認證結(jié)果,那么這條路徑表示為BS1→BS2→BS3→BS4→BS5,起始點為BS1?;臼紫仍诼窂降钠鹗键c對車輛進行基于密碼學(xué)的認證來驗證其身份,然后在后續(xù)認證中只對其行為進行認證。
傳統(tǒng)基于密碼學(xué)的認證方案雖然能滿足車輛身份認證的基本要求,但無法解決車輛身份盜用問題,即車輛身份標識和密碼被敵手所盜取,而第三方認證機構(gòu)無法辨識車輛真實身份的問題,同時車輛的高速移動特性使身份認證交互在小單元部署的網(wǎng)絡(luò)架構(gòu)中變得更加頻繁,而基于密碼學(xué)的認證方案計算復(fù)雜度高,不能滿足用戶的低時延需求。為此,本文在基于MEC 框架的軟件定義車聯(lián)網(wǎng)體系結(jié)構(gòu)下,創(chuàng)新地提出一種基于車輛行為預(yù)測的認證方案,該方案不僅能解決車輛身份盜用問題,而且能滿足用戶的低時延需求。在基于車輛行為預(yù)測的認證方案中,將SDN 集中式控制能力和MEC 分布式計算能力相結(jié)合。首先,SDN 控制器通過分析車輛歷史行為數(shù)據(jù),提前通知MEC 站點做認證準備工作,當(dāng)車輛到達MEC 站點通信范圍內(nèi)時可快速對車輛進行認證,這種提前將認證計算任務(wù)分配給MEC 服務(wù)站的機制不僅能夠降低SDN 控制器的計算壓力,而且能實現(xiàn)對車輛的快速認證,從而解決車聯(lián)網(wǎng)認證時延問題。其次,考慮車輛可能發(fā)生身份盜用問題,本文利用車輛歷史行為數(shù)據(jù)對車輛未來行為進行預(yù)測,通過真實和預(yù)測行為的對比來判斷車輛是否出現(xiàn)行為異常,從而解決車聯(lián)網(wǎng)中的車輛身份盜用問題。
在本文基于車輛行為預(yù)測的認證框架中,SDN控制器主要負責(zé)收集并匹配車輛的歷史行為數(shù)據(jù),根據(jù)歷史行為數(shù)據(jù)確定認證基站,并將對應(yīng)的歷史數(shù)據(jù)發(fā)送至認證基站,通過認證基站對車輛行為進行預(yù)測,這樣計算任務(wù)就下發(fā)至中間層MEC 服務(wù)站,MEC 服務(wù)站主要負責(zé)對車輛行為進行預(yù)測并在車輛到達時對比真實行為和預(yù)測行為,實現(xiàn)對底層車輛的安全認證,最終將車輛行為數(shù)據(jù)上發(fā)至SDN控制器。本文通過SDN 和MEC 的協(xié)同作用實現(xiàn)對車輛的認證,并達到降低認證時延的目的,具體認證步驟如下:
步驟1假設(shè)車輛i通過基站j的認證后,基站j將車輛的行駛狀態(tài)和認證結(jié)果上報給SDN 控制器,SDN 根據(jù)其掌握的車輛i的歷史行駛軌跡進行搜索,基于前綴樹確定可能的下一個站點(即一個或多個執(zhí)行認證準備的認證基站),并將相應(yīng)的歷史行為數(shù)據(jù)發(fā)送給認證基站。
步驟2被SDN 控制器選擇的認證基站收到車輛i的歷史行為數(shù)據(jù)后,基于決策樹和多元非線性回歸方法對車輛i即將到達的下一個站點和到達時間進行預(yù)測。
步驟3當(dāng)車輛行駛到預(yù)測到達站點的通信范圍內(nèi)并請求認證時,該認證基站只需將預(yù)測時間與車輛真實的到達時間進行對比,并設(shè)置一個誤差閾值α:若不超過閾值α,則表明車輛i正常,認證通過;若車輛i不在該時間閾值范圍內(nèi)到達,則認為其行為出現(xiàn)異常,認證不通過。
步驟4認證基站將車輛i的認證情況上報至SDN 控制器。
SDN 控制器需要在上一個站點上報車輛認證結(jié)果后根據(jù)歷史數(shù)據(jù)搜索可能的下一個站點,即一個或多個做認證準備的認證基站,并將車輛歷史行為數(shù)據(jù)發(fā)送給這些認證基站進行車輛行為預(yù)測和認證。理論上,車輛到達上一個站點后,根據(jù)實際道路部署情況,車輛可能到達的站點是附近所有可通過道路直達的站點,因此應(yīng)該通知上一個站點周圍所有的基站。但由于車輛在駕駛行為上存在時空分布規(guī)律性,車輛特定的行為模式使得車輛行駛軌跡存在關(guān)聯(lián)性,即已知車輛此次行駛的部分軌跡后,車輛接下來經(jīng)過的站點也有規(guī)律可循。如果能大致找出車輛經(jīng)過的下一個站點并通知其做認證準備,并排除車輛不會到達的站點,則可大幅降低車聯(lián)網(wǎng)認證的計算負載。
前綴樹是一種樹形結(jié)構(gòu),主要用于統(tǒng)計、排序和保存字符串,尤其是保存關(guān)聯(lián)數(shù)組,其優(yōu)勢在于查詢效率高。前綴樹將數(shù)據(jù)庫中出現(xiàn)的項嚴格按字典順序排列,使出現(xiàn)的項組成一個偏序集。考慮車輛行駛軌跡的關(guān)聯(lián)性,即始點和終點確定時,整條路徑基本趨于穩(wěn)定,本文設(shè)計使SDN 控制器根據(jù)基站上報的車輛行駛數(shù)據(jù)構(gòu)建車輛軌跡前綴樹,將車輛歷史行駛軌跡上的每一個站點作為一個項,組成偏序集,當(dāng)已知車輛此次行駛過的站點時,沿著前綴樹搜尋下一個站點,可大幅縮小認證基站的選擇范圍,明顯提高計算效率。在車輛行駛過程中,SDN 控制器可根據(jù)車輛行駛過的站點在前綴樹中搜索可能的下一個站點,該方式相比廣泛通知附近所有站點做認證準備要更加節(jié)約通信成本和計算資源。
本文基于如圖2 所示的示例場景,進行基于前綴樹的認證基站確定。假設(shè)SDN 控制器保留的數(shù)據(jù)庫中車輛ID1 的歷史行駛軌跡如下:
BS1→BS4→BS7→BS10→BS12→BS14→BS16
BS1→BS4→BS7→BS10→BS13→BS15
BS1→BS4→BS7→BS5→BS8
BS1→BS4→BS6→BS9→BS11
BS1→BS4→BS2→BS5→BS3
BS11→BS9→BS7→BS4→BS1
BS11→BS14→BS17→BS15
圖2 示例場景Fig.2 Example scenario
SDN 控制器根據(jù)以上歷史軌跡構(gòu)建如圖3 所示的前綴樹。該前綴樹是以ID1 為根的包含2 個頻繁項BS1 和BS11 的完全前綴樹,表示2 個頻繁項所構(gòu)成的所有可能的軌跡模式,每個子樹表示以該子樹的根為前綴的所有模式。當(dāng)車輛ID1 以BS1 為起點出發(fā)時,SDN 控制器只需搜索以BS1 為根的子樹,若車輛ID1 以圖2 所示的路徑行駛到BS10,其中①、②、③、④表示車輛ID1 接入基站的順序,則SDN 控制器根據(jù)已行駛的軌跡BS1→BS4→BS7→BS10 在前綴樹中展開搜索,搜索方式如下:
步驟1從根節(jié)點開始搜索。
步驟2取得已行駛軌跡上的第1 個站點BS1,根據(jù)該站點選擇對應(yīng)的子樹并轉(zhuǎn)到該子樹繼續(xù)進行搜索。
步驟3在相應(yīng)的子樹上,取得要查找軌跡上的第2 個站點BS4,進一步選擇對應(yīng)的子樹進行搜索。
步驟4依次迭代到站點BS10。
步驟5取得已行駛的軌跡BS1→BS4→BS7→BS10 中的所有站點后,讀取附在BS10 節(jié)點上的信息,得到結(jié)果為BS12 和BS13,因此SDN 控制器選擇BS12 和BS13 作為下一步進行認證準備的認證基站,即完成認證基站的確定。
圖3 車輛歷史軌跡前綴樹Fig.3 Prefix tree of vehicle historical tracks
由上文分析可知,SDN 控制器確定了做認證準備的認證基站后,會將車輛的歷史數(shù)據(jù)發(fā)送給這些選定的認證基站,使其進行車輛行駛狀態(tài)的預(yù)測。
3.3.1 數(shù)據(jù)格式預(yù)測
由網(wǎng)絡(luò)初始化的前提可知,認證基站每結(jié)束對一輛車的認證都會將車輛行駛狀態(tài)和認證結(jié)果上報給SDN控制器,SDN 根據(jù)前綴樹選擇下一個或多個認證基站并在分配計算任務(wù)后等待認證基站的上報結(jié)果。當(dāng)有認證基站上報時,SDN 會根據(jù)上一個認證基站和當(dāng)前上報的認證基站的數(shù)據(jù)合成預(yù)測數(shù)據(jù)對。下文結(jié)合圖2的示例場景和圖3的車輛歷史軌跡前綴樹舉例展示SDN控制器的數(shù)據(jù)格式。假設(shè)車輛ID1 從BS1 出發(fā),以(2019.06.01,09:30:22,121.237 962,34.225 910,40.1)ID1的狀態(tài)行駛到BS4 并在此處完成認證,SDN 控制器收到BS4 的上報結(jié)果后,根據(jù)歷史軌跡前綴樹通知BS2、BS6 和BS7 做認證準備,假設(shè)車輛以(2019.06.01,09:52:21,121.237 962,34.312 915,35.1)ID1的狀態(tài)行駛到BS7,SDN 控制器將在路徑BS4→BS7 關(guān)于車輛ID1 的歷史數(shù)據(jù)中添加一條數(shù)據(jù)對:(2019.06.01,09:30:22,121.237 962,34.225 910,40.1)ID1→(2019.06.01,09:52:21,121.237 962,34.312 915,35.1)ID1。
在路徑BS4→BS2 和BS4→BS6 關(guān)于車輛ID1 的歷史數(shù)據(jù)中各添加一條數(shù)據(jù)對:(2019.06.01,09:30:22,121.237 962,34.225 910,40.1)ID1→0,其中,0 表示車輛未到達。假設(shè)網(wǎng)絡(luò)初始化完成,SDN 控制器已掌握路徑BS4→BS7 關(guān)于車輛ID1 的歷史數(shù)據(jù),當(dāng)車輛ID1 以狀態(tài)(2019.06.04,08:29:15,121.237 962,34.225 869,29.1)ID1到達BS4 時,SDN 發(fā)送給BS7 關(guān)于車輛ID1 的歷史數(shù)據(jù)格式如圖4 所示。
圖4 BS4→BS7 數(shù)據(jù)對示例Fig.4 Example of BS4→BS7 data pair
3.3.2 車輛行駛狀態(tài)預(yù)測
由圖4 所示的BS4→BS7 數(shù)據(jù)對可以看出,已知上一個站點的歷史行為數(shù)據(jù)和對應(yīng)的下一個站點的歷史行為數(shù)據(jù),當(dāng)輸入車輛當(dāng)前在上一個站點的行駛數(shù)據(jù)時,要求根據(jù)歷史數(shù)據(jù)和當(dāng)前輸入預(yù)測車輛即將到達下一個站點的行駛狀態(tài)。本文考慮位置和時間兩個因素先預(yù)測車輛將到達哪一個站點,再預(yù)測到達該站點的時間。
常用的預(yù)測算法及模型有神經(jīng)網(wǎng)絡(luò)、決策樹、線性回歸、支持向量機等,由于神經(jīng)網(wǎng)絡(luò)預(yù)測模型需要大量的訓(xùn)練數(shù)據(jù)且較長的訓(xùn)練時間,并且在現(xiàn)實交通場景中,車輛行駛路徑與時間屬性密切相關(guān),例如在工作日的上班高峰期駕駛?cè)送ǔR韵嗤穆窂匠霭l(fā)去公司,因此對于車輛下一個站點的預(yù)測,本文選擇能映射對象屬性和對象值關(guān)系的決策樹預(yù)測算法。對于到達時間的預(yù)測:一方面,由于時間屬性是連續(xù)值且車輛行為認證需要實現(xiàn)細粒度的時間預(yù)測,而決策樹算法只能將連續(xù)屬性離散化進行預(yù)測;另一方面,車輛到達時間與交通環(huán)境的擁堵狀態(tài)有關(guān),很明顯不呈線性關(guān)系,因此本文考慮利用車輛到達上一個站點的時間和速度兩個因素選用多元非線性回歸預(yù)測模型對到達下一站點的時間進行預(yù)測。
典型的決策樹算法包括ID3、C4.5、CART 等。ID3 算法優(yōu)先劃分信息增益較大的特征,其更傾向于劃分有較多屬性值的特征。C4.5 算法用信息增益率作為選擇分支的準則,能夠避免ID3 算法的缺陷,但ID3 和C4.5 算法根據(jù)屬性值劃分數(shù)據(jù),之后特征節(jié)點不再起作用,并且該快速劃分方式會影響算法準確率。CART 算法采用二元劃分法,使用基尼指數(shù)選擇最優(yōu)的數(shù)據(jù)分割特征,是應(yīng)用較為廣泛的決策樹算法,因此本文利用CART 算法實現(xiàn)對車輛下一個站點的預(yù)測。
基于圖4 所示的BS4→BS7 數(shù)據(jù)對示例,當(dāng)前做認證準備的認證基站只需要判定車輛以某種狀態(tài)到達上一個站點時是否會到達本站點,因此決策樹的葉節(jié)點只有車輛到達或者未到達兩種結(jié)果,即在做認證準備的認證基站側(cè)的歷史數(shù)據(jù)中,有車輛行駛狀態(tài)的歸類為車輛到達,沒有車輛行駛狀態(tài)(標記為0)歸類為未到達。由于決策樹葉節(jié)點的結(jié)果與到達上一個站點的狀態(tài)有關(guān),因此上一個站點的時間特征將作為決策樹的分支屬性。
CART 算法使用基尼指數(shù)選擇劃分屬性?;嶂笖?shù)反映了從數(shù)據(jù)集中隨機抽取兩個樣本,其類別標記不一致的概率。由于數(shù)據(jù)集的基尼值越小,純度越高,因此CART 算法選擇使劃分后基尼指數(shù)最小的屬性作為最優(yōu)劃分屬性。CART 算法的具體過程為:首先確定建立決策樹的特征,其次計算各個特征的基尼指數(shù),然后選擇使得基尼指數(shù)最小的特征進行劃分。
對于特征選取,考慮到實際交通流量隨時間呈現(xiàn)出的差異,本文首先選擇“工作日標簽0/1”作為一個特征,其中,1 表示工作日,0 表示非工作日,其次由于一天內(nèi)不同的時間點呈現(xiàn)出不同的交通流量,這也將影響用戶的路徑選擇,因此將時間戳作為另一個特征。
對于以上的時間戳屬性,決策樹不能直接處理連續(xù)值,因此需要先對時間屬性進行離散化,本文根據(jù)實際生活的通勤時間將一天劃分為00:00—06:00、06:00—10:00、10:00—16:00、16:00—19:00、19:00—24:00 這5 個時間區(qū)間。選取當(dāng)前輸入時間所在的大區(qū)間,再將其按30 min 一個區(qū)間劃分為多個小區(qū)間,并且根據(jù)實際預(yù)測精度的需要還可對該大區(qū)間進行更細致的劃分,然后僅保留該大區(qū)間中的歷史數(shù)據(jù)進行建樹,這樣不僅可減少計算量,而且能提高預(yù)測準確率。
假設(shè)認證基站保留的數(shù)據(jù)集為D,第k類樣本所占比例為pk(k=1,2),數(shù)據(jù)集的純度用基尼指數(shù)進行度量,具體計算公式為:
假定離散屬性a有W個可能的取值,若使用a對樣本集D進行劃分將會產(chǎn)生W個分支節(jié)點,其中第w個分支節(jié)點包含D中所有在屬性a上取值為aw的樣本,記為Dw,因此屬性a的基尼指數(shù)計算公式為:
最終選擇使得劃分后基尼指數(shù)最小的屬性作為最優(yōu)劃分屬性[17]。在建立決策樹后,將上一個站點的當(dāng)前狀態(tài)輸入到?jīng)Q策樹中,認證基站將預(yù)測出車輛是否會達到其覆蓋范圍:若到達,則進行下一步的到達時間預(yù)測;若未到達,則終止對該車輛的認證準備??紤]到車輛行駛的波動性,可能有一個或多個站點預(yù)測車輛即將到達,此時多個站點同時做下一步的到達時間預(yù)測。
由于本文需要實現(xiàn)細粒度的到達時間預(yù)測且交通道路復(fù)雜,車輛不是一直保持勻速行駛狀態(tài),其時間上不滿足線性關(guān)系,因此本文采用多元非線性回歸模型對車輛到達時間進行預(yù)測,將車輛到達上一個站點的時間和速度分別作為自變量tpre和自變量vpre,車輛到達下一個站點的時間作為因變量tnext。首先選用不同的曲線估計模型對兩個自變量和因變量的關(guān)系進行曲線擬合,然后通過擬合優(yōu)度檢驗方法和回歸方程的顯著性檢驗方法在眾多回歸模型中找到簡單且擬合效果好的曲線,最后綜合兩條曲線構(gòu)建多元非線性回歸模型,實現(xiàn)對車輛到達時間的預(yù)測。
常見的曲線估計模型如表1 所示,其中x表示本文涉及的兩個自變量中的任意一個,本文首先選用7 種曲線估計模型對車輛到達上一個站點的時間tpre和速度vpre兩個自變量和到達下一個站點的時間tnext之間的關(guān)系分別進行曲線擬合,利用最小二乘法求出各曲線的參數(shù),然后檢驗各曲線的擬合優(yōu)度。
表1 曲線估計模型Table 1 The curve estimation model
擬合優(yōu)度檢驗以判定系數(shù)為衡量標準,判定系數(shù)數(shù)值上等于相關(guān)系數(shù)的平方,記為R2,其計算公式為:
其中,n為做預(yù)測時所用的歷史行為數(shù)據(jù)的總數(shù),m為自變量的個數(shù),由于本文是在構(gòu)建多元非線性回歸模型之前分別對到達上一個站點的時間和速度兩個自變量進行參數(shù)估計,因此m取1。F為統(tǒng)計量服從第一自由度為m、第二自由度為(n-m-1)的F分布,即F~(m,n-m-1)。F值越小,說明自變量對因變量造成的影響越小于隨機因素對因變量造成的影響。F值越大,代表回歸方程的擬合優(yōu)度越高[18]。
對于自變量tpre和自變量vpre,在各自的曲線擬合結(jié)果中選擇判定系數(shù)較大且F統(tǒng)計量較小的曲線,將兩條最優(yōu)的擬合曲線相加,重新設(shè)置判定系數(shù)來構(gòu)建最終的多元非線性回歸模型,然后通過最小二乘法求解判定系數(shù)得到最終的多元非線性回歸方程。SDN 控制器將車輛在上一個站點的行為數(shù)據(jù)發(fā)送給當(dāng)前認證基站后,認證基站將行為數(shù)據(jù)中的時間和速度兩個數(shù)值代入到上述所求的多元非線性回歸方程中,求得預(yù)測車輛到達當(dāng)前站點的時間。
當(dāng)車輛到達預(yù)測的下一個站點的通信范圍內(nèi)時,該基站將車輛行為數(shù)據(jù)中的時間與預(yù)測的到達時間做差值:若不超過預(yù)設(shè)的時間誤差α,則認為車輛正常;若超過或者車輛到達一個未對該車輛做認證準備的站點,則認為車輛異常。最后基站將認證結(jié)果上報至SDN 控制器。由于車輛行駛存在一定的波動性,因此若在基于決策樹的到達站點預(yù)測中有多個站點預(yù)測結(jié)果為到達,則這些站點都將對該車輛進行認證,其中只有車輛唯一到達的站點對該車輛的認證結(jié)果為1(即車輛正常),其他站點將向SDN 控制器上報車輛異常。此時,SDN 控制器綜合多個站點的上報情況,只要收到1 個正常上報就認為車輛正常。
為驗證本文認證方案的可靠性和有效性,本節(jié)將從認證準確率和認證時延兩個方面對其進行性能評估。本文將上海市松江區(qū)的OSM 地圖導(dǎo)入SUMO 交通仿真工具中生成模擬地圖。所選實驗區(qū)域如圖5 的方框所示,相應(yīng)的仿真地圖如圖6 所示。利用SUMO 模擬50 天的交通場景,生成車輛歷史行為數(shù)據(jù)。模擬場景內(nèi)車輛總數(shù)為3 400,所有車輛的軌跡隨機分布,車輛行駛速度設(shè)置為0 km/h~60 km/h,采用N(28 800,7202)和N(61200,7202)正態(tài)分布函數(shù)使車輛進入地圖的時間形成07:00—09:00和16:00—18:00 兩個早晚高峰時間段。將時間從00:00 開始換算成秒表示,正態(tài)分布函數(shù)自變量是車輛進入地圖的時間,因變量為車輛在當(dāng)前時刻進入地圖的概率。正態(tài)分布的第1 個參數(shù)為期望,28 800 表示車輛進入地圖的平均時間為第28 800 秒(即08:00),61 200 表示車輛進入地圖的平均時間為第61 200 秒(即17:00)。第2個參數(shù)為方差,7202表示在第28 800秒和第61 200 秒時車輛進入地圖的概率最大,為本文選取車輛ID truck 107 在圖5 所示的行駛路徑上的歷史行為數(shù)據(jù)驗證本文認證方案的有效性。
圖5 實驗區(qū)域Fig.5 Experimental area
圖6 仿真地圖Fig.6 Simulation map
基于SUMO 生成的車輛行駛數(shù)據(jù),選取車輛“ID truck 107”在行駛路徑中上一個站點和下一個站點的歷史行為數(shù)據(jù)進行到達時間預(yù)測分析,其中上一個站點的經(jīng)緯度為121.152 699°和31.000 765°,下一個站點的經(jīng)緯度為121.182 256°和31.003 878°。將上一個站點的時間和速度兩個因素作為自變量,車輛到達下一個站點的時間作為因變量,分別對兩個因素進行參數(shù)估計,從而實現(xiàn)模型選擇。
4.1.1 曲線擬合
到達上一個站點時間與到達下一個站點時間的曲線擬合結(jié)果如表2 所示。從判定系數(shù)R2和F值兩項結(jié)果可以看出,在擬合到達上一個站點時間與到達下一個站點時間的曲線時,二次函數(shù)的R2為0.872,相對于其他函數(shù)的判定系數(shù)較大,且F值為160.258,相對于其他函數(shù)較小,顯著性F變化量(Sig.)為0,小于0.005,這說明用二次函數(shù)進行到達上一個站點的時間與到達下一個站點的時間的曲線擬合效果較好,形式如下:
其中,tpre表示車輛到達上一個站點的時間,tnext表示車輛到達下一個站點的時間,a0為常數(shù)項,a1、a2為二次方程的系數(shù)。
表2 到達上一個站點時間與到達下一個站點時間的曲線擬合結(jié)果Table 2 Curve fitting results of the arrival time to the previous station and the arrival time to the next station
對到達上一個站點的速度與到達下一個站點的時間的曲線擬合結(jié)果如表3 所示??梢钥闯?,二次函數(shù)的判定系數(shù)R2為0.852,相對于其他函數(shù)的判定系數(shù)較大,且F值為136.452,相對于其他函數(shù)較小,Sig.為0,小于0.005,這說明用二次函數(shù)進行到達上一個站點的速度與到達下一個站點的時間的曲線擬合效果較好,形式如下:
其中,vpre表示車輛到達上一個站點的速度,b0為常數(shù)項,b1、b2為二次方程的系數(shù)。
表3 到達上一個站點速度與到達下一個站點時間的曲線擬合結(jié)果Table 3 Curve fitting results of the arrival speed to the previous station and the arrival time to the next station
4.1.2 到達下一個站點的時間預(yù)測模型
根據(jù)曲線擬合結(jié)果可以構(gòu)建出以到達上一個站點的時間和速度為自變量、到達下一個站點的時間為因變量的多元非線性回歸方程,形式如下:
其中,c為常數(shù)項。利用Python 編程實現(xiàn)非線性回歸,最終得到以到達上一個站點的時間和速度為自變量、到達下一個站點的時間為因變量的多元非線性回歸模型,形式如下:
本文將到達下一個站點的真實時間與預(yù)測模型所得的預(yù)測時間(將時間從00:00 開始換算成秒表示)進行對比,如圖7 所示,其中,橫坐標軸表示仿真模擬天數(shù),縱坐標軸表示到達時間,可看出該多元非線性回歸模型擬合效果較好,適用于到達站點的時間預(yù)測。
圖7 到達時間的真實值與預(yù)測值對比Fig.7 Comparison between the real value and the predicted value of arrival time
本文選用文獻[19]提出的VGKM 和文獻[20]提出的PPDAS 兩種車聯(lián)網(wǎng)中基于密碼學(xué)的雙向認證方案進行實驗對比,從認證時延的角度驗證本文認證方案的低時延性能。本文在圖5 所示的行駛軌跡上選取多個站點,對在該路徑上行駛的100 輛車進行認證,測試并得出本文認證方案中將車輛真實行為與預(yù)測行為進行對比的平均認證時延為0.13 ms。如果在認證基站覆蓋范圍內(nèi)有n輛車等待認證,則最大認證時延不超過(0.13×n)ms。
3 種認證方案的認證時延如圖8 所示,其中,橫坐標軸表示同時在一個認證基站上等待認證的車輛數(shù)量,縱坐標軸表示平均認證時延。從圖8 可以看出,3 種方案的認證時延隨著車輛數(shù)量的增加而增加,當(dāng)車輛數(shù)量達到100 時,本文認證方案的認證時延比VGKM 方案的認證時延少64.9%,比PPDAS 方案的認證時延少67.5%。因此,本文認證方案在降低認證時延方面具有更好的性能優(yōu)勢。
圖8 認證時延對比Fig.8 Comparison of authentication delay
為驗證本文認證方案的安全性,在已知車輛即將到達的下一個站點及到達時間的情況下,實驗分別引入不同比例的異常車輛,在到達時間誤差設(shè)置在2 min 和1 min 兩種情況下,通過選取的多個站點分別對100 輛車的行為進行預(yù)測以驗證本文認證方案的認證準確率,如圖9 所示,其中,橫坐標軸表示異常車輛的比例,縱坐標軸表示認證車輛的準確率??梢钥闯?,不論引入多大比例的異常車輛,在到達時間誤差設(shè)置為2 min 時,對車輛認證的準確率能保持在96%以上,當(dāng)對認證精度要求比較嚴格而將誤差設(shè)置在1 min 時,對車輛認證的準確率略微下降但仍能保持在93%以上。實驗結(jié)果表明,本文認證方案能在允許一定差錯率的情況下保障車聯(lián)網(wǎng)安全。
圖9 認證準確率對比Fig.9 Comparison of authentication accuracy
本文分析車聯(lián)網(wǎng)中身份認證的安全性和低時延需求,結(jié)合MEC 框架和軟件定義車聯(lián)網(wǎng),提出一種基于車輛行為預(yù)測的身份認證方案。SDN 控制器根據(jù)車輛歷史行駛軌跡提前通知車輛可能到達的下一個站點進行認證準備,認證基站依據(jù)車輛歷史行為數(shù)據(jù)預(yù)測準確的到達站點和到達時間,待車輛駛?cè)腩A(yù)測的認證基站的覆蓋范圍內(nèi)時,該認證基站只需對比車輛真實到達時間與預(yù)測到達時間即可實現(xiàn)車輛身份認證。在基于MEC 框架的軟件定義車聯(lián)網(wǎng)體系結(jié)構(gòu)混合架構(gòu)中,每一個MEC 站點分布式執(zhí)行對車輛的認證工作,從而降低SDN 控制器的負載并滿足認證的低時延要求。實驗結(jié)果表明,該方案在認證準確率和認證時延方面均具有較好的性能表現(xiàn)。但由于車聯(lián)網(wǎng)中的車輛可能存在傳感器故障或用戶散布虛假道路信息等情況,此時僅使用車輛身份認證技術(shù)無法保證車輛信息交互安全,因此后續(xù)將設(shè)計一種快速準確的信任評估方案,使得車輛在接收消息前需先進行信任評估,進一步提升車聯(lián)網(wǎng)的安全性。