楊雪婷,李 重,2
(1.東華大學 信息科學與技術學院,上海 201620;2.同濟大學 嵌入式系統與服務計算教育部重點實驗室,上海 201804)
近年來,隨著物聯網、自動駕駛技術的快速發展,車聯網(Internet of Vehicles,IoV)相關領域的研究進展也受到了人們的廣泛關注。車聯網作為物聯網的一個重要分支,主要為城市交通環境中的駕駛員、乘客和交通管理人員提供網絡接入[1],實現車輛與車輛、車輛與行人、車輛與道路基礎設施及車輛與云平臺之間的互聯互通。然而,由于這些交互過程均以網絡為載體,因此車聯網通信環境自身的脆弱性和信息安全問題也阻礙了其進一步的發展,例如黑客通過盜竊車載設備、滲透車輛內部網絡以及利用外部網絡對車輛實施攻擊,然后通過這些被攻擊的異常車輛對車聯網環境中的其他用戶進行干擾,從而嚴重損害用戶利益甚至威脅用戶人身安全。可見,保證車聯網安全至關重要,并且由于網絡安全依托網絡中各成員的行為規范,因此保證車聯網安全的前提是確定所有入網車輛的身份合法性。
在移動無線網絡中,傳統身份認證技術主要是基于密碼學的身份認證技術,例如:文獻[2]提出使用基于公鑰基礎結構的傳統公鑰加密方案,其向每個參與者發布一個綁定其身份的證書和公鑰,但當參與者數量增加時,證書管理會變得非常困難;文獻[3]提出基于身份的公鑰加密技術,其驗證過程簡單,不需要證書。在此基礎上,文獻[4]提出基于雙線性配對的身份公鑰加密技術,文獻[5]基于橢圓曲線密碼學來驗證移動用戶的身份,該方法在保證安全性的情況下密鑰長度較短。在車聯網中,多數身份認證技術也主要是基于密碼學的認證技術,例如:文獻[6]使用匿名公鑰和私鑰對進行車輛身份認證,并為每輛車提供匿名證書;文獻[7]提出基于智能卡協議的匿名輕量級身份驗證方法,使用低成本的加密操作來驗證車輛和數據消息的合法性;文獻[8]利用一次性公鑰構造時間戳的簽名,并將其作為認證信息實現匿名認證;文獻[9]提出一種高效的基于身份的聚合簽名方案,通過批量驗證思想提高驗證效率。
上述身份認證方案雖然可滿足車輛身份認證的基本要求,但其作為一種靜態防御機制仍存在兩方面的問題。一方面,傳統身份認證技術無法解決車輛身份盜用問題。身份盜用是指正常車輛的車載設備被非法操控者盜竊使車輛行為出現異常,或者黑客通過無線網絡攻擊直接控制車輛的行為使車輛異常,這兩種情況都會使車聯網安全環境受到威脅。這時利用傳統身份認證方案僅能識別其身份,不能及時檢測出車輛是否存在異常行為。另一方面,隨著5G 時代的到來,網絡架構將會發生巨大變化,未來5G 網絡架構將會是小單元部署和覆蓋的異構結構,這種較小的單元部署和高速的車輛移動特性使用戶和接入點之間的認證交互變得更頻繁[10]。在此情況下,需要更快、更高效的交互認證滿足用戶的低時延需求,然而基于密碼學的身份認證方案多數需要復雜的計算,這將嚴重影響用戶體驗。本文在移動邊緣計算(Mobile Edge Computing,MEC)框架下,提出一種基于車輛行為預測的身份認證方案,利用軟件定義網絡(Software Defined Network,SDN)的集中式全局控制能力和移動邊緣計算的分布式計算能力,并根據車輛的歷史行為數據對車輛未來行駛行為進行預測,從而實現車輛身份認證。
由于本文研究車聯網領域的身份認證技術,因此首先應確定車聯網的網絡架構。在5G 技術的引領下,目前較主流的網絡架構是MEC 和SDN 結合的網絡架構[11-13]。SDN 被認為是一種利用提供流可編程性和網絡彈性來優化5G 網絡管理的新技術[14],通過將控制平面與數據平面分離,把轉發規則的控制權交由SDN 控制器,實現高效和智能的數據轉發以及對網絡管理的全局控制。MEC 作為云計算的擴展,以分布式部署應用程序和服務的方式在接近移動用戶的一側提供計算能力,其通過將計算任務從中心云轉移到移動邊緣設備來緩解網絡壓力。因此,將兩者結合形成的MEC+SDN 新型網絡架構具有可靠、低時延、可擴展等特性。
目前,車聯網中主流的身份認證機制是以可信第三方為基礎,利用公鑰加密等技術實現,如公鑰基礎設施通過網絡介質建立實體之間的身份信任關系,驗證終端是否掌握正確的口令或密鑰,實現對權限的掌控。換言之,車聯網身份認證問題需要一個可信的全局控制中心。軟件定義網絡將網絡的控制功能與轉發功能解耦,能為網絡管理提供全局狀態信息,因此本文利用SDN 控制器實現車輛身份認證。但由于道路環境中等待認證的車輛規模龐大且身份認證機制存在的高通信負載、計算量和存儲開銷問題將影響認證交互的時效性,難以適應車輛節點高動態變化的特點,在車聯網環境中車輛若要享受網絡服務,則需要與基站或路側單元等道路基礎設施進行連接,而移動邊緣計算的思想是在接近移動用戶的一側提供計算能力,因此本文將道路基礎設施作為移動邊緣計算站點來緩解SDN 控制器在身份認證過程中的計算壓力。綜上所述,本文需要解決車聯網身份認證問題,且判別車輛是否發生身份盜用需要大量的數據傳輸和計算工作,同時要滿足用戶的低時延需求,而MEC+SDN 網絡架構可用于解決車聯網身份認證問題。
基于此,本文提出一種基于MEC 框架的軟件定義車聯網體系結構,如圖1 所示。該體系結構將網絡架構分為控制平面和數據平面,在體系結構的頂層(即控制平面)中設置一個SDN 控制器,可對底層設備(如交換機)進行全局管理,靈活控制網絡流量。中間層是由交換機組成的核心網絡,通過有線鏈路提供數據轉發和狀態采集功能。本文將基站或路側單元等道路基礎設施作為MEC 服務站,通過網絡功能虛擬化來調度、存儲和計算資源。同時,每個MEC 服務站可看作是負責與車輛通信的SDN 子控制器。架構的底層是車輛之間的無線通信網絡,使用IEEE 802.11p 通信協議。車輛身份盜用通常發生在車間通信或車輛與MEC 服務站之間的通信過程中。針對車聯網身份認證問題,本文利用SDN 控制器的集中控制能力對車輛的身份認證任務進行指導,同時將計算任務下放到中間層MEC服務站實現對底層車輛的安全認證并達到降低認證時延的目的。

圖1 基于MEC 框架的軟件定義車聯網體系結構Fig.1 Architecture of software defined IoV based on MEC framework
分析車輛身份盜用發生的可能性首先需要了解車載電子設備的實際攻擊面。根據文獻[15]所述,車載電子設備的安全威脅主要分為3 類,分別為車載設備的盜竊、內部網絡的滲透以及外部網絡的利用。車載設備的盜竊是指音/視頻播放器、導航儀、數字多媒體廣播接收器、遠程信息處理設備等被盜。內部網絡的滲透是指攻擊者將惡意設備連接到汽車電子控制單元以進入車內網絡來控制車輛,該攻擊可以控制制動器或關閉發動機等造成的人身傷害和車輛嚴重損壞。另外,由于車輛內部網絡使用CAN協議,而該協議存在一些安全漏洞,因此利用CAN總線的攻擊方式也層出不窮,例如讀取、泛洪和重放攻擊等,而這些攻擊方式能在保證車輛通過身份認證的情況下控制車輛行為。利用外部網絡的攻擊是由車輛無線連接設備濫用外部網絡引起,例如在車間通信或車輛與道路基礎設施的通信過程中,攻擊者通過信道攻擊實現竊聽等損害用戶利益的行為。
通過分析車載電子設備可能面臨的安全威脅可得出,車輛身份盜用通常發生在車載設備的盜竊、內部網絡的滲透或外部網絡的利用這3 種情況下,攻擊者在車輛通過身份認證進入車聯網環境后,通過網絡漏洞入侵車輛使其行為異常,例如利用該異常車輛向其他車輛散播虛假道路信息或直接控制該異常車輛的行為導致事故的發生。
由于車輛在駕駛行為上存在時空分布規律性[16],每一部車輛都有其特定的行為模式,一般車輛行為包含時間、位置、速度和方向夾角,由于方向夾角與道路實際部署情況有關,因此本文僅考慮時間、位置和速度3 種行為特征。時空分布規律是指一輛正常的車輛以某一時間、速度到達固定的地點后,通常會以另一個固定的時間到達另一個固定的地點,例如某上班族如果在工作日的07:00 以40.2 km/h 的速度從家里出發,則目的地通常是公司且到達時間穩定在08:00。因此,本文考慮利用時間、位置和速度這3 個特征的歷史數據挖掘潛在的行駛規律來預測車輛未來到達的位置和時間。使用一個五元組來表示預測車輛行為的數據:Hi=(date,t,lon,lat,v)i,其中,H表示車輛行駛狀態,i表示車輛標識,date 表示當前日期,t表示當前時間戳,lon 表示車輛所在位置的經度,lat 表示車輛所在位置的緯度,v表示車輛行駛速度。
本文設置基站上報機制,在基站完成對車輛的認證后,將認證情況和車輛行為數據上報至SDN 控制器,以便SDN 能掌握車輛的歷史行駛軌跡并收集大量的歷史行為數據。基站上報信息格式為:(date,t,lon,lat,v,0/1)i,其中,前5 項為車輛行駛狀態,最后一項表示對車輛認證的判定結果,0 表示車輛異常,1 表示車輛正常。歷史行為數據是指SDN 控制器只要一收到基站對車輛的行為數據就上報,并將其進行存儲,形成該基站標識下該車輛的歷史行為數據庫。
本文假設所有基站均真實可信,且在網絡初始化時采用傳統基于密碼學的認證方案對車輛進行認證,使SDN 能掌握車輛的歷史行駛軌跡和大量的歷史行為數據。在本文認證方案中,SDN 控制器掌握整個應用場景的地圖和基站的部署情況,并負責對車輛認證任務進行分配。基站負責執行SDN 控制器分配的計算任務并對車輛進行行為認證。此外,車輛的行駛軌跡使用途中接入的基站相連接表示,并將車輛在路徑起始位置處連接的基站稱為該軌跡的起始點,例如車輛i從家里出發去公司,依次接入了基站BS1、BS2、BS3、BS4、BS5 這5 個站點,在接入BS1 之前沒有基站向SDN 上報車輛i的認證結果,那么這條路徑表示為BS1→BS2→BS3→BS4→BS5,起始點為BS1。基站首先在路徑的起始點對車輛進行基于密碼學的認證來驗證其身份,然后在后續認證中只對其行為進行認證。
傳統基于密碼學的認證方案雖然能滿足車輛身份認證的基本要求,但無法解決車輛身份盜用問題,即車輛身份標識和密碼被敵手所盜取,而第三方認證機構無法辨識車輛真實身份的問題,同時車輛的高速移動特性使身份認證交互在小單元部署的網絡架構中變得更加頻繁,而基于密碼學的認證方案計算復雜度高,不能滿足用戶的低時延需求。為此,本文在基于MEC 框架的軟件定義車聯網體系結構下,創新地提出一種基于車輛行為預測的認證方案,該方案不僅能解決車輛身份盜用問題,而且能滿足用戶的低時延需求。在基于車輛行為預測的認證方案中,將SDN 集中式控制能力和MEC 分布式計算能力相結合。首先,SDN 控制器通過分析車輛歷史行為數據,提前通知MEC 站點做認證準備工作,當車輛到達MEC 站點通信范圍內時可快速對車輛進行認證,這種提前將認證計算任務分配給MEC 服務站的機制不僅能夠降低SDN 控制器的計算壓力,而且能實現對車輛的快速認證,從而解決車聯網認證時延問題。其次,考慮車輛可能發生身份盜用問題,本文利用車輛歷史行為數據對車輛未來行為進行預測,通過真實和預測行為的對比來判斷車輛是否出現行為異常,從而解決車聯網中的車輛身份盜用問題。
在本文基于車輛行為預測的認證框架中,SDN控制器主要負責收集并匹配車輛的歷史行為數據,根據歷史行為數據確定認證基站,并將對應的歷史數據發送至認證基站,通過認證基站對車輛行為進行預測,這樣計算任務就下發至中間層MEC 服務站,MEC 服務站主要負責對車輛行為進行預測并在車輛到達時對比真實行為和預測行為,實現對底層車輛的安全認證,最終將車輛行為數據上發至SDN控制器。本文通過SDN 和MEC 的協同作用實現對車輛的認證,并達到降低認證時延的目的,具體認證步驟如下:
步驟1假設車輛i通過基站j的認證后,基站j將車輛的行駛狀態和認證結果上報給SDN 控制器,SDN 根據其掌握的車輛i的歷史行駛軌跡進行搜索,基于前綴樹確定可能的下一個站點(即一個或多個執行認證準備的認證基站),并將相應的歷史行為數據發送給認證基站。
步驟2被SDN 控制器選擇的認證基站收到車輛i的歷史行為數據后,基于決策樹和多元非線性回歸方法對車輛i即將到達的下一個站點和到達時間進行預測。
步驟3當車輛行駛到預測到達站點的通信范圍內并請求認證時,該認證基站只需將預測時間與車輛真實的到達時間進行對比,并設置一個誤差閾值α:若不超過閾值α,則表明車輛i正常,認證通過;若車輛i不在該時間閾值范圍內到達,則認為其行為出現異常,認證不通過。
步驟4認證基站將車輛i的認證情況上報至SDN 控制器。
SDN 控制器需要在上一個站點上報車輛認證結果后根據歷史數據搜索可能的下一個站點,即一個或多個做認證準備的認證基站,并將車輛歷史行為數據發送給這些認證基站進行車輛行為預測和認證。理論上,車輛到達上一個站點后,根據實際道路部署情況,車輛可能到達的站點是附近所有可通過道路直達的站點,因此應該通知上一個站點周圍所有的基站。但由于車輛在駕駛行為上存在時空分布規律性,車輛特定的行為模式使得車輛行駛軌跡存在關聯性,即已知車輛此次行駛的部分軌跡后,車輛接下來經過的站點也有規律可循。如果能大致找出車輛經過的下一個站點并通知其做認證準備,并排除車輛不會到達的站點,則可大幅降低車聯網認證的計算負載。
前綴樹是一種樹形結構,主要用于統計、排序和保存字符串,尤其是保存關聯數組,其優勢在于查詢效率高。前綴樹將數據庫中出現的項嚴格按字典順序排列,使出現的項組成一個偏序集。考慮車輛行駛軌跡的關聯性,即始點和終點確定時,整條路徑基本趨于穩定,本文設計使SDN 控制器根據基站上報的車輛行駛數據構建車輛軌跡前綴樹,將車輛歷史行駛軌跡上的每一個站點作為一個項,組成偏序集,當已知車輛此次行駛過的站點時,沿著前綴樹搜尋下一個站點,可大幅縮小認證基站的選擇范圍,明顯提高計算效率。在車輛行駛過程中,SDN 控制器可根據車輛行駛過的站點在前綴樹中搜索可能的下一個站點,該方式相比廣泛通知附近所有站點做認證準備要更加節約通信成本和計算資源。
本文基于如圖2 所示的示例場景,進行基于前綴樹的認證基站確定。假設SDN 控制器保留的數據庫中車輛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 控制器根據以上歷史軌跡構建如圖3 所示的前綴樹。該前綴樹是以ID1 為根的包含2 個頻繁項BS1 和BS11 的完全前綴樹,表示2 個頻繁項所構成的所有可能的軌跡模式,每個子樹表示以該子樹的根為前綴的所有模式。當車輛ID1 以BS1 為起點出發時,SDN 控制器只需搜索以BS1 為根的子樹,若車輛ID1 以圖2 所示的路徑行駛到BS10,其中①、②、③、④表示車輛ID1 接入基站的順序,則SDN 控制器根據已行駛的軌跡BS1→BS4→BS7→BS10 在前綴樹中展開搜索,搜索方式如下:
步驟1從根節點開始搜索。
步驟2取得已行駛軌跡上的第1 個站點BS1,根據該站點選擇對應的子樹并轉到該子樹繼續進行搜索。
步驟3在相應的子樹上,取得要查找軌跡上的第2 個站點BS4,進一步選擇對應的子樹進行搜索。
步驟4依次迭代到站點BS10。
步驟5取得已行駛的軌跡BS1→BS4→BS7→BS10 中的所有站點后,讀取附在BS10 節點上的信息,得到結果為BS12 和BS13,因此SDN 控制器選擇BS12 和BS13 作為下一步進行認證準備的認證基站,即完成認證基站的確定。

圖3 車輛歷史軌跡前綴樹Fig.3 Prefix tree of vehicle historical tracks
由上文分析可知,SDN 控制器確定了做認證準備的認證基站后,會將車輛的歷史數據發送給這些選定的認證基站,使其進行車輛行駛狀態的預測。
3.3.1 數據格式預測
由網絡初始化的前提可知,認證基站每結束對一輛車的認證都會將車輛行駛狀態和認證結果上報給SDN控制器,SDN 根據前綴樹選擇下一個或多個認證基站并在分配計算任務后等待認證基站的上報結果。當有認證基站上報時,SDN 會根據上一個認證基站和當前上報的認證基站的數據合成預測數據對。下文結合圖2的示例場景和圖3的車輛歷史軌跡前綴樹舉例展示SDN控制器的數據格式。假設車輛ID1 從BS1 出發,以(2019.06.01,09:30:22,121.237 962,34.225 910,40.1)ID1的狀態行駛到BS4 并在此處完成認證,SDN 控制器收到BS4 的上報結果后,根據歷史軌跡前綴樹通知BS2、BS6 和BS7 做認證準備,假設車輛以(2019.06.01,09:52:21,121.237 962,34.312 915,35.1)ID1的狀態行駛到BS7,SDN 控制器將在路徑BS4→BS7 關于車輛ID1 的歷史數據中添加一條數據對:(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 關于車輛ID1 的歷史數據中各添加一條數據對:(2019.06.01,09:30:22,121.237 962,34.225 910,40.1)ID1→0,其中,0 表示車輛未到達。假設網絡初始化完成,SDN 控制器已掌握路徑BS4→BS7 關于車輛ID1 的歷史數據,當車輛ID1 以狀態(2019.06.04,08:29:15,121.237 962,34.225 869,29.1)ID1到達BS4 時,SDN 發送給BS7 關于車輛ID1 的歷史數據格式如圖4 所示。

圖4 BS4→BS7 數據對示例Fig.4 Example of BS4→BS7 data pair
3.3.2 車輛行駛狀態預測
由圖4 所示的BS4→BS7 數據對可以看出,已知上一個站點的歷史行為數據和對應的下一個站點的歷史行為數據,當輸入車輛當前在上一個站點的行駛數據時,要求根據歷史數據和當前輸入預測車輛即將到達下一個站點的行駛狀態。本文考慮位置和時間兩個因素先預測車輛將到達哪一個站點,再預測到達該站點的時間。
常用的預測算法及模型有神經網絡、決策樹、線性回歸、支持向量機等,由于神經網絡預測模型需要大量的訓練數據且較長的訓練時間,并且在現實交通場景中,車輛行駛路徑與時間屬性密切相關,例如在工作日的上班高峰期駕駛人通常以相同的路徑出發去公司,因此對于車輛下一個站點的預測,本文選擇能映射對象屬性和對象值關系的決策樹預測算法。對于到達時間的預測:一方面,由于時間屬性是連續值且車輛行為認證需要實現細粒度的時間預測,而決策樹算法只能將連續屬性離散化進行預測;另一方面,車輛到達時間與交通環境的擁堵狀態有關,很明顯不呈線性關系,因此本文考慮利用車輛到達上一個站點的時間和速度兩個因素選用多元非線性回歸預測模型對到達下一站點的時間進行預測。
典型的決策樹算法包括ID3、C4.5、CART 等。ID3 算法優先劃分信息增益較大的特征,其更傾向于劃分有較多屬性值的特征。C4.5 算法用信息增益率作為選擇分支的準則,能夠避免ID3 算法的缺陷,但ID3 和C4.5 算法根據屬性值劃分數據,之后特征節點不再起作用,并且該快速劃分方式會影響算法準確率。CART 算法采用二元劃分法,使用基尼指數選擇最優的數據分割特征,是應用較為廣泛的決策樹算法,因此本文利用CART 算法實現對車輛下一個站點的預測。
基于圖4 所示的BS4→BS7 數據對示例,當前做認證準備的認證基站只需要判定車輛以某種狀態到達上一個站點時是否會到達本站點,因此決策樹的葉節點只有車輛到達或者未到達兩種結果,即在做認證準備的認證基站側的歷史數據中,有車輛行駛狀態的歸類為車輛到達,沒有車輛行駛狀態(標記為0)歸類為未到達。由于決策樹葉節點的結果與到達上一個站點的狀態有關,因此上一個站點的時間特征將作為決策樹的分支屬性。
CART 算法使用基尼指數選擇劃分屬性。基尼指數反映了從數據集中隨機抽取兩個樣本,其類別標記不一致的概率。由于數據集的基尼值越小,純度越高,因此CART 算法選擇使劃分后基尼指數最小的屬性作為最優劃分屬性。CART 算法的具體過程為:首先確定建立決策樹的特征,其次計算各個特征的基尼指數,然后選擇使得基尼指數最小的特征進行劃分。
對于特征選取,考慮到實際交通流量隨時間呈現出的差異,本文首先選擇“工作日標簽0/1”作為一個特征,其中,1 表示工作日,0 表示非工作日,其次由于一天內不同的時間點呈現出不同的交通流量,這也將影響用戶的路徑選擇,因此將時間戳作為另一個特征。
對于以上的時間戳屬性,決策樹不能直接處理連續值,因此需要先對時間屬性進行離散化,本文根據實際生活的通勤時間將一天劃分為00:00—06:00、06:00—10:00、10:00—16:00、16:00—19:00、19:00—24:00 這5 個時間區間。選取當前輸入時間所在的大區間,再將其按30 min 一個區間劃分為多個小區間,并且根據實際預測精度的需要還可對該大區間進行更細致的劃分,然后僅保留該大區間中的歷史數據進行建樹,這樣不僅可減少計算量,而且能提高預測準確率。
假設認證基站保留的數據集為D,第k類樣本所占比例為pk(k=1,2),數據集的純度用基尼指數進行度量,具體計算公式為:

假定離散屬性a有W個可能的取值,若使用a對樣本集D進行劃分將會產生W個分支節點,其中第w個分支節點包含D中所有在屬性a上取值為aw的樣本,記為Dw,因此屬性a的基尼指數計算公式為:

最終選擇使得劃分后基尼指數最小的屬性作為最優劃分屬性[17]。在建立決策樹后,將上一個站點的當前狀態輸入到決策樹中,認證基站將預測出車輛是否會達到其覆蓋范圍:若到達,則進行下一步的到達時間預測;若未到達,則終止對該車輛的認證準備。考慮到車輛行駛的波動性,可能有一個或多個站點預測車輛即將到達,此時多個站點同時做下一步的到達時間預測。
由于本文需要實現細粒度的到達時間預測且交通道路復雜,車輛不是一直保持勻速行駛狀態,其時間上不滿足線性關系,因此本文采用多元非線性回歸模型對車輛到達時間進行預測,將車輛到達上一個站點的時間和速度分別作為自變量tpre和自變量vpre,車輛到達下一個站點的時間作為因變量tnext。首先選用不同的曲線估計模型對兩個自變量和因變量的關系進行曲線擬合,然后通過擬合優度檢驗方法和回歸方程的顯著性檢驗方法在眾多回歸模型中找到簡單且擬合效果好的曲線,最后綜合兩條曲線構建多元非線性回歸模型,實現對車輛到達時間的預測。
常見的曲線估計模型如表1 所示,其中x表示本文涉及的兩個自變量中的任意一個,本文首先選用7 種曲線估計模型對車輛到達上一個站點的時間tpre和速度vpre兩個自變量和到達下一個站點的時間tnext之間的關系分別進行曲線擬合,利用最小二乘法求出各曲線的參數,然后檢驗各曲線的擬合優度。

表1 曲線估計模型Table 1 The curve estimation model
擬合優度檢驗以判定系數為衡量標準,判定系數數值上等于相關系數的平方,記為R2,其計算公式為:


其中,n為做預測時所用的歷史行為數據的總數,m為自變量的個數,由于本文是在構建多元非線性回歸模型之前分別對到達上一個站點的時間和速度兩個自變量進行參數估計,因此m取1。F為統計量服從第一自由度為m、第二自由度為(n-m-1)的F分布,即F~(m,n-m-1)。F值越小,說明自變量對因變量造成的影響越小于隨機因素對因變量造成的影響。F值越大,代表回歸方程的擬合優度越高[18]。
對于自變量tpre和自變量vpre,在各自的曲線擬合結果中選擇判定系數較大且F統計量較小的曲線,將兩條最優的擬合曲線相加,重新設置判定系數來構建最終的多元非線性回歸模型,然后通過最小二乘法求解判定系數得到最終的多元非線性回歸方程。SDN 控制器將車輛在上一個站點的行為數據發送給當前認證基站后,認證基站將行為數據中的時間和速度兩個數值代入到上述所求的多元非線性回歸方程中,求得預測車輛到達當前站點的時間。
當車輛到達預測的下一個站點的通信范圍內時,該基站將車輛行為數據中的時間與預測的到達時間做差值:若不超過預設的時間誤差α,則認為車輛正常;若超過或者車輛到達一個未對該車輛做認證準備的站點,則認為車輛異常。最后基站將認證結果上報至SDN 控制器。由于車輛行駛存在一定的波動性,因此若在基于決策樹的到達站點預測中有多個站點預測結果為到達,則這些站點都將對該車輛進行認證,其中只有車輛唯一到達的站點對該車輛的認證結果為1(即車輛正常),其他站點將向SDN 控制器上報車輛異常。此時,SDN 控制器綜合多個站點的上報情況,只要收到1 個正常上報就認為車輛正常。
為驗證本文認證方案的可靠性和有效性,本節將從認證準確率和認證時延兩個方面對其進行性能評估。本文將上海市松江區的OSM 地圖導入SUMO 交通仿真工具中生成模擬地圖。所選實驗區域如圖5 的方框所示,相應的仿真地圖如圖6 所示。利用SUMO 模擬50 天的交通場景,生成車輛歷史行為數據。模擬場景內車輛總數為3 400,所有車輛的軌跡隨機分布,車輛行駛速度設置為0 km/h~60 km/h,采用N(28 800,7202)和N(61200,7202)正態分布函數使車輛進入地圖的時間形成07:00—09:00和16:00—18:00 兩個早晚高峰時間段。將時間從00:00 開始換算成秒表示,正態分布函數自變量是車輛進入地圖的時間,因變量為車輛在當前時刻進入地圖的概率。正態分布的第1 個參數為期望,28 800 表示車輛進入地圖的平均時間為第28 800 秒(即08:00),61 200 表示車輛進入地圖的平均時間為第61 200 秒(即17:00)。第2個參數為方差,7202表示在第28 800秒和第61 200 秒時車輛進入地圖的概率最大,為本文選取車輛ID truck 107 在圖5 所示的行駛路徑上的歷史行為數據驗證本文認證方案的有效性。

圖5 實驗區域Fig.5 Experimental area

圖6 仿真地圖Fig.6 Simulation map
基于SUMO 生成的車輛行駛數據,選取車輛“ID truck 107”在行駛路徑中上一個站點和下一個站點的歷史行為數據進行到達時間預測分析,其中上一個站點的經緯度為121.152 699°和31.000 765°,下一個站點的經緯度為121.182 256°和31.003 878°。將上一個站點的時間和速度兩個因素作為自變量,車輛到達下一個站點的時間作為因變量,分別對兩個因素進行參數估計,從而實現模型選擇。
4.1.1 曲線擬合
到達上一個站點時間與到達下一個站點時間的曲線擬合結果如表2 所示。從判定系數R2和F值兩項結果可以看出,在擬合到達上一個站點時間與到達下一個站點時間的曲線時,二次函數的R2為0.872,相對于其他函數的判定系數較大,且F值為160.258,相對于其他函數較小,顯著性F變化量(Sig.)為0,小于0.005,這說明用二次函數進行到達上一個站點的時間與到達下一個站點的時間的曲線擬合效果較好,形式如下:

其中,tpre表示車輛到達上一個站點的時間,tnext表示車輛到達下一個站點的時間,a0為常數項,a1、a2為二次方程的系數。

表2 到達上一個站點時間與到達下一個站點時間的曲線擬合結果Table 2 Curve fitting results of the arrival time to the previous station and the arrival time to the next station
對到達上一個站點的速度與到達下一個站點的時間的曲線擬合結果如表3 所示。可以看出,二次函數的判定系數R2為0.852,相對于其他函數的判定系數較大,且F值為136.452,相對于其他函數較小,Sig.為0,小于0.005,這說明用二次函數進行到達上一個站點的速度與到達下一個站點的時間的曲線擬合效果較好,形式如下:

其中,vpre表示車輛到達上一個站點的速度,b0為常數項,b1、b2為二次方程的系數。

表3 到達上一個站點速度與到達下一個站點時間的曲線擬合結果Table 3 Curve fitting results of the arrival speed to the previous station and the arrival time to the next station
4.1.2 到達下一個站點的時間預測模型
根據曲線擬合結果可以構建出以到達上一個站點的時間和速度為自變量、到達下一個站點的時間為因變量的多元非線性回歸方程,形式如下:

其中,c為常數項。利用Python 編程實現非線性回歸,最終得到以到達上一個站點的時間和速度為自變量、到達下一個站點的時間為因變量的多元非線性回歸模型,形式如下:

本文將到達下一個站點的真實時間與預測模型所得的預測時間(將時間從00:00 開始換算成秒表示)進行對比,如圖7 所示,其中,橫坐標軸表示仿真模擬天數,縱坐標軸表示到達時間,可看出該多元非線性回歸模型擬合效果較好,適用于到達站點的時間預測。

圖7 到達時間的真實值與預測值對比Fig.7 Comparison between the real value and the predicted value of arrival time
本文選用文獻[19]提出的VGKM 和文獻[20]提出的PPDAS 兩種車聯網中基于密碼學的雙向認證方案進行實驗對比,從認證時延的角度驗證本文認證方案的低時延性能。本文在圖5 所示的行駛軌跡上選取多個站點,對在該路徑上行駛的100 輛車進行認證,測試并得出本文認證方案中將車輛真實行為與預測行為進行對比的平均認證時延為0.13 ms。如果在認證基站覆蓋范圍內有n輛車等待認證,則最大認證時延不超過(0.13×n)ms。
3 種認證方案的認證時延如圖8 所示,其中,橫坐標軸表示同時在一個認證基站上等待認證的車輛數量,縱坐標軸表示平均認證時延。從圖8 可以看出,3 種方案的認證時延隨著車輛數量的增加而增加,當車輛數量達到100 時,本文認證方案的認證時延比VGKM 方案的認證時延少64.9%,比PPDAS 方案的認證時延少67.5%。因此,本文認證方案在降低認證時延方面具有更好的性能優勢。

圖8 認證時延對比Fig.8 Comparison of authentication delay
為驗證本文認證方案的安全性,在已知車輛即將到達的下一個站點及到達時間的情況下,實驗分別引入不同比例的異常車輛,在到達時間誤差設置在2 min 和1 min 兩種情況下,通過選取的多個站點分別對100 輛車的行為進行預測以驗證本文認證方案的認證準確率,如圖9 所示,其中,橫坐標軸表示異常車輛的比例,縱坐標軸表示認證車輛的準確率。可以看出,不論引入多大比例的異常車輛,在到達時間誤差設置為2 min 時,對車輛認證的準確率能保持在96%以上,當對認證精度要求比較嚴格而將誤差設置在1 min 時,對車輛認證的準確率略微下降但仍能保持在93%以上。實驗結果表明,本文認證方案能在允許一定差錯率的情況下保障車聯網安全。

圖9 認證準確率對比Fig.9 Comparison of authentication accuracy
本文分析車聯網中身份認證的安全性和低時延需求,結合MEC 框架和軟件定義車聯網,提出一種基于車輛行為預測的身份認證方案。SDN 控制器根據車輛歷史行駛軌跡提前通知車輛可能到達的下一個站點進行認證準備,認證基站依據車輛歷史行為數據預測準確的到達站點和到達時間,待車輛駛入預測的認證基站的覆蓋范圍內時,該認證基站只需對比車輛真實到達時間與預測到達時間即可實現車輛身份認證。在基于MEC 框架的軟件定義車聯網體系結構混合架構中,每一個MEC 站點分布式執行對車輛的認證工作,從而降低SDN 控制器的負載并滿足認證的低時延要求。實驗結果表明,該方案在認證準確率和認證時延方面均具有較好的性能表現。但由于車聯網中的車輛可能存在傳感器故障或用戶散布虛假道路信息等情況,此時僅使用車輛身份認證技術無法保證車輛信息交互安全,因此后續將設計一種快速準確的信任評估方案,使得車輛在接收消息前需先進行信任評估,進一步提升車聯網的安全性。