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