本發(fā)明屬于車載網(wǎng)信息安全技術(shù)領(lǐng)域,涉及到一種結(jié)合車輛行駛狀態(tài)分析車載網(wǎng)can總線協(xié)議中數(shù)據(jù)有效性的方法。
背景技術(shù):
車內(nèi)網(wǎng)利用控制器局域網(wǎng)can(controllerareanetwork)總線將汽車內(nèi)部電子系統(tǒng)組成網(wǎng)絡(luò)。汽車內(nèi)部各個傳感器、ecu通過該網(wǎng)絡(luò)進行數(shù)據(jù)交互,以實現(xiàn)對汽車及其狀態(tài)進行實時監(jiān)控,提高車輛安全性。然而,目前針對車載can,沒有較好的網(wǎng)絡(luò)安全機制,使得車載網(wǎng)絡(luò)極易被入侵。特別是在車輛網(wǎng)絡(luò)化和車載接口開放等應(yīng)用中,車載數(shù)據(jù)安全已成為亟待解決問題。
目前,針對車載網(wǎng)can總線協(xié)議中數(shù)據(jù)安全問題,主要還是局限于基于密鑰加密的方式對協(xié)議中數(shù)據(jù)進行保護和驗證。朱曉研等人提出的車聯(lián)網(wǎng)中汽車內(nèi)部網(wǎng)絡(luò)的安全通信方法(申請?zhí)枺?01510333389.6)利用密鑰加密的方式,對協(xié)議中數(shù)據(jù)進行驗證;或者是利用交通流基本參數(shù)進行數(shù)據(jù)有效性分析,例如利用車輛行駛的速度、交通流量、道路占有率對數(shù)據(jù)的有效性進行分析??偠灾?,現(xiàn)存研究成果和方法沒有結(jié)合車輛自身行駛狀態(tài)對車載數(shù)據(jù)進行分析,而車輛自身行駛狀態(tài)和車載數(shù)據(jù)是密切相關(guān)的。因此,現(xiàn)存相關(guān)成果和方法在車載數(shù)據(jù)分析過程中存在一定的局限性,亟需改進。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在同時考慮車輛行駛速度和駕駛行為的雙重條件下,進行車速數(shù)據(jù)的有效性分析,保證數(shù)據(jù)的正確性。該方法主要是借助kalman濾波方法對車速進行實時預(yù)測,并結(jié)合can總線協(xié)議中加速狀態(tài)與剎車狀態(tài),構(gòu)建考慮車輛行駛狀態(tài)的行為模型。利用該模型對can報文中的速度異常數(shù)據(jù)進行識別。如果識別出攻擊存在,則進行丟棄數(shù)據(jù)、屏蔽該入侵用戶后繼發(fā)送的數(shù)據(jù)等處理。
本發(fā)明的技術(shù)方案是:
首先,利用kalman濾波方法對車速進行實時預(yù)測,并結(jié)合can總線協(xié)議中加速狀態(tài)與剎車狀態(tài),構(gòu)建考慮車輛行駛狀態(tài)的行為模型。然后,利用該模型對can報文中的速度異常數(shù)據(jù)進行識別。最后,當(dāng)所接收到的車輛行駛速度被檢測為注入攻擊所產(chǎn)生的數(shù)據(jù)時,對該數(shù)據(jù)進行丟棄,并屏蔽其所屬用戶以后發(fā)送的所有數(shù)據(jù)。
對每個can總線數(shù)據(jù)包進行注入攻擊分析的步驟如下:
步驟1.數(shù)據(jù)預(yù)處理,即將在can總線接口上得到的車輛的實時數(shù)據(jù)生成車輛的速度和踏板狀態(tài),并對數(shù)據(jù)進行規(guī)格化處理,車輛的速度:v,是該車輛提供的即時速度,單位是米/秒(m/s),可由車輛發(fā)過來的數(shù)據(jù)包中直接獲得;車輛的踏板狀態(tài),包括加速踏板(ap)和減速踏板(bp)兩個部分:為表述方便,每種踏板都有兩個狀態(tài),1表示踏板踏下,0表示沒有踏下踏板。
步驟2.建立行為分析模型,即利用kalman濾波方法對車速進行實時預(yù)測,并結(jié)合can總線協(xié)議中的加速狀態(tài)與剎車狀態(tài),構(gòu)建考慮車輛行駛狀態(tài)的行為模型。
定義速度突變度:用于描述當(dāng)前車輛行駛速度與速度預(yù)測值的變化程度,用k表示,如公式1所示:
其中:v(t)為t時刻速度的測量值;
v’(t)為t時刻速度的預(yù)測值;
車輛加速度與駕駛員駕駛行為具有公式2的關(guān)系:
其中:
a為加速度,ap、bp分別表示加速踏板與減速踏板的狀態(tài):1表示踏下,0表示無操作,f表示摩擦力造成減速;
因此,基于速度突變度的車輛駕駛行為模型如以下公式3所示:
其中,ε是閾值,ε=0.5;
步驟3.數(shù)據(jù)有效性識別,即利用步驟2中所構(gòu)建的行為模型對接收到的車輛速度數(shù)據(jù)進行識別。根據(jù)公式1所計算出來的速度突變度,對數(shù)據(jù)注入攻擊行為進行分析與識別:如果當(dāng)前時刻的(k,ap,bp)符合公式3中的車輛駕駛行為模型,表示(v,ap,bp)是好數(shù)據(jù),其所在的數(shù)據(jù)包為有效數(shù)據(jù)包;否則,表示(k,ap,bp)是壞數(shù)據(jù),同時說明有數(shù)據(jù)注入攻擊;
步驟4.處理,即當(dāng)在步驟3中識別出所接收到的車輛行駛速度是注入攻擊所產(chǎn)生的數(shù)據(jù)時,對該數(shù)據(jù)進行丟棄,并屏蔽其所屬用戶以后發(fā)送的所有數(shù)據(jù)。
本發(fā)明的有益效果是:該方法利用kalman濾波方法對車速進行實時預(yù)測并結(jié)合can總線協(xié)議中的加速狀態(tài)與剎車狀態(tài),構(gòu)建考慮車輛行駛狀態(tài)的行為模型,為數(shù)據(jù)注入攻擊分析提供理論依據(jù)。該方法同時考慮車輛速度和行駛狀態(tài)兩個方面,從數(shù)據(jù)本身出發(fā),將不符合行為模型的數(shù)據(jù)識別為異常數(shù)據(jù),不需要有復(fù)雜的身份驗證,為車聯(lián)網(wǎng)中大量用戶并存的情況提供有效的防止數(shù)據(jù)注入攻擊的安全方法;該數(shù)據(jù)合法性分析簡單,只需要考慮數(shù)據(jù)是否符合行為模型。該方法填補了車載can網(wǎng)絡(luò)安全的漏洞,避免了車載網(wǎng)絡(luò)被入侵;能迅速有效的發(fā)現(xiàn)被攻擊者注入的數(shù)據(jù),保障了車輛人員的安全和財產(chǎn)安全。
附圖說明
圖1是數(shù)據(jù)注入攻擊分析、識別與處理的流程圖。
圖2是can總線結(jié)構(gòu)示意圖。
圖3是數(shù)據(jù)幀的格式示意圖。
具體實施方式
以下結(jié)合技術(shù)方案和附圖詳細敘述本發(fā)明的具體實施方式。
1、車內(nèi)網(wǎng)中的can總線結(jié)構(gòu)以及協(xié)議格式
如圖2所示,汽車電子的內(nèi)部各部件機器控制單元,主要是由can總線的結(jié)構(gòu)相互連接起來,起到相互傳遞信息和協(xié)同的作用。利用相關(guān)接口和硬件設(shè)施從can中讀取車輛的實時數(shù)據(jù)。如圖3所示,數(shù)據(jù)幀由六部分組成,分別為:幀起始、仲裁域、控制域、數(shù)據(jù)域、檢驗域和幀結(jié)束[7]。數(shù)據(jù)幀中的數(shù)據(jù)域含有我們想要研究的速度數(shù)據(jù)等信息。
2、車聯(lián)網(wǎng)內(nèi)車輛身份(id)的表示
對于識別到攻擊的數(shù)據(jù)包,需要對其采取預(yù)處理措施,通常采取屏蔽車輛id的方法來進行。本方法主要是利用車輛通訊中所使用的物理通訊層mac地址。因為不管是802.11x或zigbee作為通訊介質(zhì),其通訊節(jié)點芯片在出廠時候都有一個唯一的地址,而且在通訊過程中,該地址是可得到的,同時也不需要重新授權(quán)。
3、數(shù)據(jù)注入攻擊模型所需數(shù)據(jù)參數(shù)以及形式規(guī)格化
該方法主要要用到車輛的速度、加速踏板狀態(tài)、以及減速踏板狀態(tài)3項信息。其中車輛的速度和兩個踏板的狀態(tài)用于數(shù)據(jù)注入攻擊的判別。為了便于分析,需要將數(shù)據(jù)格式(單位)規(guī)格化。車輛的速度,v,是該車輛提供的即時速度,單位是米/秒(m/s);車輛的踏板狀態(tài),包括加速踏板(ap)和減速踏板(bp)兩個部分:為表述方便,每種踏板都有兩個狀態(tài),1表示踏板踏下,0表示沒有踏下踏板。
根據(jù)已有交通流模型所知,速度變化在短時間內(nèi)具有一定的漸變性。因此,本文定義了速度突變度。
定義一:速度突變度,用于描述當(dāng)前車輛行駛速度與速度預(yù)測值的變化程度,用k表示,其公式如下所示:
其中:v(t)為t時刻速度的測量值;
v’(t)為t時刻速度的預(yù)測值。
4、基于kalman的速度估計模型
車輛在行駛過程中,相應(yīng)的v-t圖應(yīng)該以連續(xù)漸變的形式呈現(xiàn):記t時刻對應(yīng)的速度為vt,t+1時刻的速度為vt+1。由于vt+1=vt+aδt,所以相鄰時刻的速度值具有連續(xù)性,這就為利用kalman濾波提供了條件。在本文中,利用kalman來進行速度預(yù)測,以取得最接近真實的速度數(shù)據(jù)。由kalman濾波算法計算出的速度數(shù)據(jù),具有較高的實際可信度,從而可以用來判斷測量數(shù)據(jù)的有效性。由kalman濾波可以得到基于之前狀態(tài)和當(dāng)前數(shù)值對當(dāng)前的最優(yōu)估計,以更加接近真實值。
5、行為模型
一般來講,車輛加速度與駕駛員駕駛行為(控制車速)具有如下的關(guān)系:
其中:
a為加速度,ap、bp分別表示加速踏板與減速踏板的狀態(tài):1表示踏下,0表示無操作。f表示摩擦力造成減速。
因此,基于速度突變度的車輛駕駛行為模型如下:
其中,ε是閾值,ε=0.5。
6、數(shù)據(jù)注入攻擊行為的分析與識別
根據(jù)公式(1)所計算出來的速度突變度,對數(shù)據(jù)注入攻擊行為進行分析與識別,具體方法是:
(1)如果當(dāng)前時刻的(k,ap,bp)符合公式(3)中的車輛駕駛行為模型,表示(v,ap,bp)是好數(shù)據(jù),其所在的數(shù)據(jù)包為有效數(shù)據(jù)包;
(2)否則,表示(k,ap,bp)是壞數(shù)據(jù),同時說明有數(shù)據(jù)注入攻擊。
7、數(shù)據(jù)注入攻擊行為發(fā)生后的處理
當(dāng)數(shù)據(jù)注入攻擊發(fā)生時,表明該車輛已受到攻擊者的攻擊,對該數(shù)據(jù)進行丟棄,并屏蔽其所屬用戶以后發(fā)送的所有數(shù)據(jù)。