本發(fā)明屬于車輛控制系統(tǒng)安全,具體涉及一種車輛can總線防入侵裝置及方法。
背景技術(shù):
1、隨著越來越多的軟件模塊和外部接口被添加到車輛中,新的攻擊和漏洞正在出現(xiàn),為了應(yīng)對這些漏洞,已經(jīng)提出了各種類型的防范機制,但是它們無法滿足對特定ecu的強大保護以防止車載網(wǎng)絡(luò)的入侵。
2、非法入侵可能會對總線上的其他控制器進行再編程或是傳送錯誤信息,這樣對車輛甚至是乘客會造成不可估量的傷害。2015年菲克集團在美因為車載網(wǎng)絡(luò)的安全問題召回自由光等140萬輛汽車,進一步加大了人們對車載物聯(lián)網(wǎng)安全性的擔憂。解決這一問題的一種方法是對每一個單獨的嵌入式控制器進行特定唯一的安全性增強,但這樣做的工作量大大增加,或者導(dǎo)致采取不可兼容的方法。
技術(shù)實現(xiàn)思路
1、針對上述存在的問題,本發(fā)明提出一種車輛can總線防入侵裝置及方法,以應(yīng)對非法數(shù)據(jù)報的入侵問題。
2、為實現(xiàn)上述目的,本發(fā)明具體技術(shù)方案如下:一種車輛can總線防入侵方法,包括如下步驟:
3、1)車輛啟動時,水印控制模塊隨機生成n位水印序列x,并將水印序列x發(fā)送給每一個執(zhí)行部件控制模塊的水印存儲單元;
4、2)駕駛員需要車輛完成某動作時,通過車輛總控模塊發(fā)送控制信息y給水印控制模塊;控制信息為n位,包括地址信息和操作命令兩個字段;在本發(fā)明具體實施例中,n=16,高8位為地址信息,低8位為操作命令;
5、3)水印控制模塊將控制信息y添加水印信息并通過can總線發(fā)送給各執(zhí)行部件控制模塊;
6、4)執(zhí)行部件控制模塊的信息提取單元接收can總線發(fā)過來的控制信息,依次提取水印序列x’和控制信息y’并存儲控制信息y’;
7、5)利用水印比較單元比較x與x’,如果x與x’一致,則提取的控制信息y’和車輛總控模塊發(fā)送控制信息y一致,轉(zhuǎn)步驟6),否則發(fā)送信號給報警模塊,提示有入侵;忽略本次命令轉(zhuǎn)步驟2)
8、6)地址比較單元根據(jù)控制信息y’中的地址字段的地址信息選擇一個車輛執(zhí)行部件,并通過操作命令傳輸單元將y’中的命令字段的命令信息傳送給車輛執(zhí)行部件完成具體動作。
9、進一步的,上述步驟3)添加水印信息方法如下:
10、3.1)控制信息y中的0用低電平表示,其中低電平的電壓范圍為(v1,v2),其電壓標準值為l,控制信息y中的1用高電平表示,其中高電平的電壓范圍為(v2,v3),其電壓標準值為h;
11、3.2)n位水印x與n位控制信息y一一對應(yīng),第i位水印xi=1表示對控制信息y的第i位yi添加水印,將yi對應(yīng)的電壓值加δv,xi=0表示對控制信息y的第i位yi不添加水印,yi對應(yīng)的電壓值不變;其中,δv為水印參數(shù),其取值要滿足添加水印后的電壓范圍不超出高低電平對應(yīng)的電壓范圍。
12、進一步的,上述步驟4)提取第i位水印序列xi’和控制信息yi’方法如下:
13、4.1)信息提取單元讀取can總線發(fā)過來的第i位控制信息的電壓值,用vri表示;
14、4.2)如果l+δv-δ<vri<l+δv+δ,則提取的第i位水印xi’=1,提取的第i位控制信息yi’=0;其中,δ是干擾因子;
15、4.3)如果l-δ<vri<l+δ,則提取的第i位水印xi’=0,提取的第i位控制信息yi’=0;
16、4.4)如果h+δv-δ<vri<h+δv+δ,則提取的第i位水印xi’=1,提取的第i位控制信息yi’=1;
17、4.5)如果h-δ<vri<h+δ,則提取的第i位水印xi’=0,提取的第i位控制信息yi’=1。
18、進一步的,本發(fā)明還提供一種車輛can總線防入侵裝置,其特征在于包括:車輛總控模塊、水印控制模塊、執(zhí)行部件控制模塊、報警模塊和車輛執(zhí)行部件;所述車輛總控模塊用于發(fā)送控制信息,控制車輛執(zhí)行部件完成指定操作,其輸出端通過數(shù)據(jù)線與水印控制模塊相連;所述車輛執(zhí)行部件根據(jù)車輛總控模塊發(fā)送的控制信息控制車輛完成具體動作;每一個車輛執(zhí)行部件都對應(yīng)一個執(zhí)行部件控制模塊;所述報警模塊用于當車輛被入侵時報警提醒車輛使用者;所述水印控制模塊包括水印生成單元和水印添加單元;水印生成單元用于汽車啟動時隨機生成水印序列,其輸出端通過數(shù)據(jù)線與執(zhí)行部件控制模塊的水印存儲單元相連;水印添加單元用于對車輛總控模塊發(fā)送的控制信息添加水印并通過can總線輸出;所述執(zhí)行部件控制模塊包括水印存儲單元、信息提取單元、水印比較單元、地址比較單元、操作命令傳輸單元;其中,水印存儲單元用于存儲車輛啟動時隨機生成的水印序列,其輸出端與水印比較單元相連;信息提取單元,用于接收can總線的數(shù)據(jù),提取水印和控制信息并存儲,輸出端分別與水印比較單元、地址比較單元和操作命令傳輸單元相連;地址比較單元接收存儲在信息提取單元中的控制信息的地址信息,用于判斷控制信息是否是發(fā)送給本執(zhí)行部件,其輸出端與信息提取單元相連;水印比較單元比較水印存儲單元和信息提取單元提取的水印是否一致,用于判斷是否有入侵,其輸出端與報警模塊和操作命令傳輸單元相連;操作命令傳輸單元用于將控制信息中的操作命令傳送給車輛執(zhí)行部件,轉(zhuǎn)步驟2)。
19、與現(xiàn)有技術(shù)相比,本發(fā)明可以提升車輛的安全性,可以避免非法攻擊者入侵can總線向車輛執(zhí)行部件發(fā)送非法命令。
1.一種車輛can總線防入侵方法,其特征在于,包括如下步驟:
2.如權(quán)利要求1所述的車輛can總線防入侵方法,其特征在于,所述步驟3)添加水印信息方法如下:
3.如權(quán)利要求1所述的車輛can總線防入侵方法,其特征在于,所述步驟4)提取第i位水印序列xi’和控制信息yi’方法如下:
4.一種車輛can總線防入侵裝置,其特征在于,包括:車輛總控模塊、水印控制模塊、執(zhí)行部件控制模塊、報警模塊和車輛執(zhí)行部件;所述車輛總控模塊用于發(fā)送控制信息,控制車輛執(zhí)行部件完成指定操作,其輸出端通過數(shù)據(jù)線與水印控制模塊相連;所述車輛執(zhí)行部件根據(jù)車輛總控模塊發(fā)送的控制信息控制車輛完成具體動作;每一個車輛執(zhí)行部件都對應(yīng)一個執(zhí)行部件控制模塊;所述報警模塊用于當車輛被入侵時報警提醒車輛使用者;所述水印控制模塊包括水印生成單元和水印添加單元;水印生成單元用于汽車啟動時隨機生成水印序列,其輸出端通過數(shù)據(jù)線與執(zhí)行部件控制模塊的水印存儲單元相連;水印添加單元用于對車輛總控模塊發(fā)送的控制信息添加水印并通過can總線輸出;所述執(zhí)行部件控制模塊包括水印存儲單元、信息提取單元、水印比較單元、地址比較單元、操作命令傳輸單元;其中,水印存儲單元用于存儲車輛啟動時隨機生成的水印序列,其輸出端與水印比較單元相連;信息提取單元,用于接收can總線的數(shù)據(jù),提取水印和控制信息并存儲,輸出端分別與水印比較單元、地址比較單元和操作命令傳輸單元相連;地址比較單元接收存儲在信息提取單元中的控制信息的地址信息,用于判斷控制信息是否是發(fā)送給本執(zhí)行部件,其輸出端與信息提取單元相連;水印比較單元比較水印存儲單元和信息提取單元提取的水印是否一致,用于判斷是否有入侵,其輸出端與報警模塊和操作命令傳輸單元相連;操作命令傳輸單元用于將控制信息中的操作命令傳送給車輛執(zhí)行部件。