亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于動(dòng)態(tài)ID跳變的CAN總線安全調(diào)度算法

        2022-04-01 11:36:34臧仕義曹殿明佘黎煌

        丁 山, 臧仕義, 曹殿明, 佘黎煌

        (東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 遼寧 沈陽(yáng) 110169)

        近年,車載網(wǎng)絡(luò)安全研究員和網(wǎng)絡(luò)黑客們開發(fā)了大量對(duì)CAN(controller area network)的攻擊方法,攻擊數(shù)量顯著增加,這暴露出CAN總線的弱訪問控制和缺乏網(wǎng)絡(luò)安全防御機(jī)制問題,攻擊者可以輕易地入侵CAN總線實(shí)施偽造攻擊、重放攻擊和拒絕服務(wù)等攻擊.隨著智能網(wǎng)聯(lián)汽車的快速發(fā)展以及5G時(shí)代的萬(wàn)物互聯(lián),類似于自動(dòng)駕駛等先進(jìn)技術(shù)正廣泛應(yīng)用于汽車中,因此網(wǎng)聯(lián)汽車的智能化和一體化管理背后的安全問題至關(guān)重要.

        在CAN網(wǎng)絡(luò)攻擊方式多樣化的同時(shí),其防御手段也相繼提出.Wolf等[1]提出在相互通信的ECU之間進(jìn)行驗(yàn)證,同時(shí)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密以保證安全性.吳尚則[2]提出動(dòng)態(tài)身份認(rèn)證方法,使用動(dòng)態(tài)口令完成消息認(rèn)證.Groza等[3]提出物理特性身份認(rèn)證.由于CAN總線的資源是有限的,添加消息認(rèn)證碼將消耗有限的有效負(fù)載.Larson等[4]提出基于CANopen協(xié)議的異常檢測(cè),通過對(duì)象字典檢測(cè)非法ECU.Humayed等[5]提出基于非周期的NAS機(jī)制的ID跳變方法.Lukasiewycz等[6]提出一種優(yōu)先級(jí)混淆方法.Wu等[7]提出使用基于ID跳變表的周期性ID跳變算法,即IDHCC(ID Hopping CAN controller).但是上述ID跳變機(jī)制必須保持相對(duì)優(yōu)先級(jí)順序,通過收集大量消息,攻擊者可以輕易知道消息在系統(tǒng)中的優(yōu)先級(jí)分布情況從而實(shí)施攻擊.

        針對(duì)上述情況,本文提出使用優(yōu)先級(jí)跳變和一次性ID的方法.通過遺傳算法計(jì)算固定優(yōu)先級(jí)決定算法保證系統(tǒng)的實(shí)時(shí)性.將數(shù)據(jù)幀的ID段進(jìn)行重構(gòu),利用可調(diào)度性分析計(jì)算結(jié)果,進(jìn)行分組優(yōu)先級(jí)的循環(huán)ID跳變(PID與UID),使用單向散列函數(shù)SHA-256對(duì)ID段的后部DID進(jìn)行動(dòng)態(tài)跳變,通過優(yōu)先級(jí)跳變和動(dòng)態(tài)ID 跳變算法保證系統(tǒng)的網(wǎng)絡(luò)安全性.

        1 理論準(zhǔn)備、攻擊模型與解決方案

        1.1 CAN幀格式

        局域網(wǎng)控制器CAN是一種串行通信協(xié)議,是當(dāng)今現(xiàn)場(chǎng)總線中具有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,傳統(tǒng)的CAN幀只能支持0到8字節(jié)的數(shù)據(jù)長(zhǎng)度.不過CAN 2.0規(guī)范又分為CAN 2.0A和CAN 2.0B,其中,CAN 2.0A 的報(bào)文格式繼承了CAN 1.2標(biāo)識(shí)符11位的標(biāo)準(zhǔn)幀;CAN 2.0B對(duì)CAN 2.0A進(jìn)行了擴(kuò)展,同時(shí)支持標(biāo)識(shí)符為29位的擴(kuò)展幀.圖1為CAN標(biāo)準(zhǔn)幀格式.

        圖1 CAN標(biāo)準(zhǔn)幀格式

        1.2 攻擊模型

        在本文的攻擊模型中,由于當(dāng)前CAN總線中沒有安全策略,認(rèn)為攻擊者可以訪問CAN總線并通過發(fā)起嗅探、重放、偽造和特定拒絕服務(wù)(denial of service,DoS)攻擊進(jìn)行CAN總線攻擊.構(gòu)建的攻擊模型如圖2所示,其中特定DoS攻擊是指攻擊者以某一個(gè)ECU或某一組ECU為目標(biāo),插入大量?jī)?yōu)先級(jí)ID大于正常數(shù)據(jù)幀ID的惡意幀,從而破壞正常的CAN總線工作;重放攻擊指攻擊者通過大量嗅探以往的數(shù)據(jù)幀,在某個(gè)關(guān)鍵時(shí)刻向總線上重放嗅探到的數(shù)據(jù)幀,以達(dá)到破壞CAN總線或執(zhí)行攻擊者預(yù)想的效果,也被稱為“中間人攻擊”.

        圖2 攻擊模型

        1.3 解決方案

        本文針對(duì)現(xiàn)存問題所提出的解決方案概述如圖3所示,其中包含5個(gè)步驟,步驟1和2是跳變前的數(shù)據(jù)準(zhǔn)備階段,步驟3和4是循環(huán)跳變的設(shè)計(jì)階段,步驟5是利用重構(gòu)后的ID段進(jìn)行ID Hopping的應(yīng)用階段.

        步驟1 數(shù)據(jù)幀的固定優(yōu)先級(jí)與優(yōu)先級(jí)可妥協(xié)范圍,即通過遺傳算法得到CAN總線數(shù)據(jù)幀的最佳固定優(yōu)先級(jí)并盡可能擴(kuò)大每個(gè)優(yōu)先級(jí)的上下限的綁定范圍,且滿足所有實(shí)時(shí)約束.

        步驟2 優(yōu)先級(jí)分組集合,本文提出一種“優(yōu)先級(jí)決定算法(priority decision algorithm,PBD)”,通過優(yōu)先級(jí)可妥協(xié)范圍計(jì)算出優(yōu)先級(jí)分組集合,將優(yōu)先級(jí)分組集合作為后續(xù)的優(yōu)先級(jí)跳變的依據(jù).

        步驟3 重構(gòu)ID段,如圖4所示,將ID段分為用于區(qū)分優(yōu)先級(jí)的部分和進(jìn)行混淆跳變的部分,定義標(biāo)識(shí)符的前部分為優(yōu)先級(jí)ID(priority ID,PID)、中間部分為唯一ID(unique ID,UID)和后部分為動(dòng)態(tài)ID(dynamical ID,DID).

        步驟4 循環(huán)跳變,利用可調(diào)度性分析計(jì)算的結(jié)果進(jìn)行分組優(yōu)先級(jí)的循環(huán)ID跳變,即重構(gòu)后的PID段與UID段,使用單向散列函數(shù)SHA-256對(duì)ID段的后部DID進(jìn)行動(dòng)態(tài)跳變.

        步驟5 應(yīng)用階段,當(dāng)在CAN總線上發(fā)送數(shù)據(jù)幀時(shí),可以結(jié)合重構(gòu)后的ID段進(jìn)行數(shù)據(jù)幀ID的選擇與跳變.

        圖3 動(dòng)態(tài)ID Hopping機(jī)制

        圖4 ID段重構(gòu)

        2 固定優(yōu)先級(jí)與優(yōu)先級(jí)決定算法

        2.1 最壞情況響應(yīng)時(shí)間(worst case response time,WCRT)和可調(diào)度性分析

        一個(gè)消息mi,屬于一個(gè)消息集合M={m1,m2,…,mn},共計(jì)n個(gè)消息幀.這些幀可以使用一個(gè)三元組來(lái)表示:mi={Ti,tci,tdi},其中Ti是幀的周期,tci是幀的傳輸時(shí)間,tdi是幀的截止時(shí)間.一般情況下,Ti=tdi,在本文中,為了計(jì)算方便,同樣認(rèn)為Ti=tdi.那么,幀mi的WCRT[8]由三部分組成,分別是抖動(dòng)時(shí)間Ji、隊(duì)列延遲Wi和傳輸時(shí)間tci(隊(duì)列抖動(dòng),指的是事件開始到幀mi就緒并準(zhǔn)備在總線上進(jìn)行傳輸需要的最長(zhǎng)時(shí)間;隊(duì)列延遲,指的是幀mi成功在總線上開始傳輸之前,一直被保存在CAN設(shè)備驅(qū)動(dòng)隊(duì)列里的最長(zhǎng)時(shí)間).

        Ri=Ji+tci+Wi,?mi.

        (1)

        隊(duì)列延遲Wi是一個(gè)單調(diào)非遞減函數(shù),具體值的計(jì)算只能通過以下遞推公式來(lái)求解:

        (2)

        其中:hpi,i′=1是一個(gè)二進(jìn)制變量,用來(lái)表示幀mi的優(yōu)先級(jí)高于幀mi′;τbit是CAN總線的速率,這里設(shè)為1.

        最后,tci的計(jì)算公式如下:

        (3)

        其中:Si是CAN總線數(shù)據(jù)場(chǎng)中數(shù)據(jù)的字節(jié)數(shù);g是CAN總線的一個(gè)常量,這里等于34.

        關(guān)于實(shí)時(shí)性的約束,即WCRT要小于等于截止時(shí)間,使得消息可以在規(guī)定時(shí)間內(nèi)被接收,其約束如下:

        Ri≤tdi,?mi,

        (4)

        tdi=Ti,?mi.

        (5)

        其中,Ri是mi的最壞響應(yīng)時(shí)間,通常對(duì)于任意的周期消息來(lái)說,其截止時(shí)間就是周期,即每個(gè)消息都需要在其周期內(nèi)響應(yīng),否則該消息響應(yīng)失敗.

        本文在優(yōu)先級(jí)約束中引入RM調(diào)度[9]約束,即周期小的幀的優(yōu)先級(jí)高于周期大的幀的優(yōu)先級(jí),該約束定義如下:

        Ti

        (6)

        其中,對(duì)于幀mi,mi′,如果有Ti>Ti′,則有pi

        hpi,i′+hpi′,i=1,?mi,mi′,i≠i′;

        (7)

        hpi,i′+hpi′,i″-1≤hpi,i″,?mi,mi′,mi″,i≠i′,i′≠i″.

        (8)

        對(duì)于可調(diào)度系統(tǒng),調(diào)度性能的指標(biāo)主要是系統(tǒng)的冗余度,其最壞響應(yīng)時(shí)間越小,冗余的時(shí)間越多,則系統(tǒng)的調(diào)度性能越好,即系統(tǒng)具有更好的魯棒性,目標(biāo)是最優(yōu)調(diào)度策略,即系統(tǒng)的冗余時(shí)間越多說明調(diào)度性越好,并通過最壞情況響應(yīng)率WCRR[10](worst case response rate)進(jìn)行說明,這樣就可以得到如下目標(biāo)函數(shù):

        (9)

        其中:Ri代表消息mi在本周期的最壞響應(yīng)時(shí)間;Ti是消息mi的周期.可調(diào)度的系統(tǒng)每個(gè)消息都滿足WCRRi<1,若有任一消息WCRRi>1,則該消息不滿足實(shí)時(shí)性,即不可調(diào)度.

        2.2 基于遺傳算法的最佳固定優(yōu)先級(jí)

        2.2.1 初始化種群

        本文采用實(shí)數(shù)形式構(gòu)建染色體編碼,每個(gè)染色體編碼代表一個(gè)排序方案,染色體上每個(gè)基因位置代表任務(wù)的優(yōu)先級(jí).每個(gè)實(shí)數(shù)編碼只能取一次不能重復(fù),即一個(gè)染色體內(nèi)不能出現(xiàn)兩個(gè)相同的實(shí)數(shù).實(shí)數(shù)編碼的取值范圍為1到N(N為數(shù)據(jù)集內(nèi)幀的個(gè)數(shù)).據(jù)RM調(diào)度可知周期越小的幀的優(yōu)先級(jí)越高,即代表優(yōu)先級(jí)的實(shí)數(shù)p越小.初始化個(gè)體實(shí)例如圖5所示,假設(shè)有12個(gè)幀進(jìn)行固定優(yōu)先級(jí)的計(jì)算,其中{m9,m11}的周期都為T1,m8的周期為T2,m10的周期為T3,{m1,m2,m3,m4,m7,m12}的周期都為T4,m5的周期為T5,m6的周期為T6,并且T1

        2.2.2 適應(yīng)度函數(shù)

        適應(yīng)度函數(shù)用以評(píng)價(jià)固定優(yōu)先級(jí)順序的優(yōu)劣,由截止時(shí)間和最壞響應(yīng)時(shí)間的差值來(lái)體現(xiàn),差值越大,代表冗余度越多,即調(diào)度性能越好;另一種表現(xiàn)調(diào)度性能的形式是最壞情況響應(yīng)率WCRR(式(9)).由于初始化和交叉后的種群也是根據(jù)周期大小的順序進(jìn)行優(yōu)先級(jí)排序的,所以只要數(shù)據(jù)集是滿足可調(diào)度的,那么每一個(gè)幀的截止時(shí)間一定是小于其周期的,否則輸入的數(shù)據(jù)集就是不可調(diào)度的,計(jì)算會(huì)沒有意義.

        圖5 個(gè)體實(shí)例

        2.2.3 選擇運(yùn)算

        遺傳算法的選擇方式有很多種,一個(gè)合適的選擇方式可以直接影響到算法的性能,如果選擇后導(dǎo)致個(gè)體的多樣性降低會(huì)導(dǎo)致算法過早收斂到局部最優(yōu)解,而選擇后個(gè)體的多樣化程度過高可能導(dǎo)致算法不容易收斂.本文選擇的方式是在種群中通過輪盤賭的方式選N/2組個(gè)體,每組包含2個(gè)個(gè)體,然后保留適應(yīng)度更好的個(gè)體,適應(yīng)度較差的個(gè)體則淘汰.

        2.2.4 交叉運(yùn)算

        本文采用實(shí)數(shù)編碼方式,根據(jù)要求設(shè)計(jì)了一種基于周期分類的多點(diǎn)交叉方式,如圖6所示.交叉的過程是在每個(gè)周期內(nèi)選擇隨機(jī)的一個(gè)交叉點(diǎn),將2個(gè)父代染色體每個(gè)周期的交叉點(diǎn)的后部分進(jìn)行交換,由于編碼中不允許有重復(fù)的基因碼,所以子代還需依次把父代的剩余編碼按順序保留.

        圖6 交叉示意圖

        2.2.5 變異運(yùn)算

        本文采取的變異方法是在一個(gè)染色體上每個(gè)周期范圍內(nèi)任取兩點(diǎn),然后通過交叉概率判斷是否進(jìn)行交叉,如果進(jìn)行交叉,將這兩點(diǎn)之間的基因互換得到新的染色體.

        2.2.6 終止條件

        本文采用的是設(shè)置最大迭代次數(shù)來(lái)終止算法,當(dāng)算法運(yùn)行結(jié)束后就可以得到一個(gè)全局最優(yōu)解.

        2.3 優(yōu)先級(jí)決定算法(PBD)

        2.3.1 優(yōu)先級(jí)可妥協(xié)范圍

        每個(gè)幀的優(yōu)先級(jí)可妥協(xié)范圍用FB(fb_high,fb_low)表示,fb_high表示每個(gè)幀的可妥協(xié)優(yōu)先級(jí)的上界,fb_low表示每個(gè)幀的可妥協(xié)優(yōu)先級(jí)的下界.每個(gè)幀在其妥協(xié)范圍內(nèi)選擇任意1個(gè)優(yōu)先級(jí)發(fā)送,不會(huì)影響整體的可調(diào)度性.

        求各幀在最優(yōu)調(diào)度情況下的可妥協(xié)范圍,將式(2)替換為

        Wi=maxmax{PG(j)}≥min{PG(i)}tcj+

        (10)

        這表示一個(gè)幀mi會(huì)被另外一個(gè)幀mj所延遲,而幀mj的可妥協(xié)上界必須要大于幀mi的可妥協(xié)下界.需添加如下約束:

        pi

        (11)

        表示幀mi′的優(yōu)先級(jí)可妥協(xié)范圍可以在i與i″之間滑動(dòng).

        2.3.2 優(yōu)先級(jí)分組

        根據(jù)優(yōu)先級(jí)可妥協(xié)范圍,幀的優(yōu)先級(jí)可以改變,不會(huì)造成系統(tǒng)不可調(diào)度.根據(jù)每個(gè)幀的優(yōu)先級(jí)可妥協(xié)范圍把妥協(xié)范圍相近的幀合并到一組集合內(nèi),在這個(gè)集合內(nèi)很多的幀的優(yōu)先級(jí)范圍可以相互覆蓋,在發(fā)送時(shí),該集合內(nèi)的幀以集合范圍內(nèi)的任一優(yōu)先級(jí)發(fā)送不影響系統(tǒng)的可調(diào)度性,則稱集合為優(yōu)先級(jí)分組集合(priority grouping,PG).每一個(gè)PG內(nèi)的所有幀擁有相同優(yōu)先級(jí)上下界PG(pg_high,pg_low).滿足以下約束:

        fb_highi≤pg_highk,fb_lowi≥pg_lowk,?mi∈PGk,

        (12)

        pg_highk-pg_lowk+1=num(PGk) ,?PGk,

        (13)

        PG(mi)≠PG(mj),?mi∈PG,mj∈PG .

        (14)

        即每個(gè)優(yōu)先級(jí)分組集合的范圍都滿足該集合內(nèi)每個(gè)幀的優(yōu)先級(jí)可妥協(xié)范圍,而每個(gè)幀的優(yōu)先級(jí)可妥協(xié)范圍滿足可調(diào)度性.不同組的優(yōu)先級(jí)互相沒有交集,每一個(gè)幀只屬于一個(gè)優(yōu)先級(jí)分組.每個(gè)分組內(nèi)幀的數(shù)量與優(yōu)先級(jí)的數(shù)量必然相等.

        表1是優(yōu)先級(jí)分組算法的具體過程,本算法的核心是不停地在一個(gè)組中尋找覆蓋最大幀的集合.

        表1 算法1

        3 ID段重構(gòu)與動(dòng)態(tài)ID Hopping

        3.1 重構(gòu)ID段

        優(yōu)先級(jí)仲裁在標(biāo)識(shí)符的前部分,將ID段分為用于區(qū)分優(yōu)先級(jí)的部分和進(jìn)行混淆跳變的部分,其中包括以下三部分:

        1) PID:用以區(qū)分優(yōu)先級(jí)分組集合的優(yōu)先級(jí),分組內(nèi)的所有數(shù)據(jù)幀共用同一個(gè)PID,PID位數(shù)是由優(yōu)先級(jí)分組集合的個(gè)數(shù)所確定:

        2n-1≤α≤2n-1 .

        (15)

        其中:α代表優(yōu)先級(jí)分組的數(shù)量;n為PID所需的位數(shù).

        2) UID:優(yōu)先級(jí)分組幀集合內(nèi)每個(gè)數(shù)據(jù)幀分配獨(dú)一的ID, UID不同代表優(yōu)先級(jí)不同,同一分組集合內(nèi)的幀進(jìn)行UID跳變,即實(shí)現(xiàn)優(yōu)先級(jí)跳變,使用同步循環(huán)機(jī)制進(jìn)行跳變.UID位數(shù)由式(15)確定.

        3) DID:通過對(duì)稱加密算法進(jìn)行動(dòng)態(tài)跳變混淆,每發(fā)送一次數(shù)據(jù)幀,該數(shù)據(jù)幀的收發(fā)雙方的DID同時(shí)使用相同的密鑰進(jìn)行跳變,且保證優(yōu)先級(jí)不改變,實(shí)時(shí)性不改變.

        3.2 優(yōu)先級(jí)跳變與驗(yàn)證算法

        3.2.1 優(yōu)先級(jí)跳變

        前文提到數(shù)據(jù)幀在妥協(xié)范圍內(nèi)以任意優(yōu)先級(jí)進(jìn)行發(fā)送不會(huì)破壞系統(tǒng)的可調(diào)度性,而后形成一個(gè)優(yōu)先級(jí)分組集合PG,分組范圍具有上下限,組內(nèi)數(shù)據(jù)幀都滿足范圍的上下限,范圍內(nèi)的幀進(jìn)行優(yōu)先級(jí)跳變.以表2所示的5個(gè)數(shù)據(jù)幀解釋優(yōu)先級(jí)跳變.

        RM調(diào)度規(guī)定周期越小的幀優(yōu)先級(jí)越高,由于幀的數(shù)量較少,可以輕易計(jì)算出固定優(yōu)先級(jí)和優(yōu)先級(jí)分組集合.如表3所示,幀m1,m2,m3可以形成一個(gè)PG集合P1={m1,m2,m3},幀m4,m5可以形成一個(gè)PG集合P2={m4,m5},其中P1內(nèi)所有數(shù)據(jù)幀的優(yōu)先級(jí)高于P2內(nèi)所有數(shù)據(jù)幀的優(yōu)先級(jí).

        表2 幀的參數(shù)

        表3 幀優(yōu)先級(jí)可妥協(xié)范圍

        對(duì)于表2的數(shù)據(jù),由式(15)可知2個(gè)優(yōu)先級(jí)分組只需要1位PID就可以決定,但是實(shí)際上總線上數(shù)據(jù)幀最后形成的分組大約在12個(gè),用4位的PID決定分組優(yōu)先級(jí),優(yōu)先級(jí)分組集合內(nèi)的數(shù)據(jù)幀的最大數(shù)量必小于UID位數(shù)可決定的數(shù)量,這里分組集合內(nèi)數(shù)據(jù)幀的數(shù)量的最大值是3,所以用2位ID區(qū)分,ID段剩余5位用作DID進(jìn)行動(dòng)態(tài)跳變.

        優(yōu)先級(jí)跳變流程如圖7所示,計(jì)算每個(gè)幀的固定優(yōu)先級(jí),根據(jù)WCRT判斷可妥協(xié)范圍,得到優(yōu)先級(jí)分組集合.為每個(gè)優(yōu)先級(jí)分組分配PID與UID,圖7中PID分為兩個(gè)優(yōu)先級(jí)分組集合P1={m1,m2,m3}和P2={m4,m5},集合P1的PID1為0101,集合P2的PID2為1010,PID1的值小于PID2的值,集合P1的幀仲裁一定勝過P2,滿足實(shí)時(shí)性.

        為節(jié)點(diǎn)分配初始標(biāo)識(shí)符后,需要同步控制器控制優(yōu)先級(jí)跳變,即UID的改變.本文的優(yōu)先級(jí)跳變機(jī)制將通過改變每個(gè)幀的UID,使UID表在規(guī)定時(shí)間向下移,即UID+1,如圖8所示,當(dāng)m3的UID移動(dòng)到11時(shí),此m3的優(yōu)先級(jí)是低于m1和m2的,當(dāng)優(yōu)先級(jí)再次移動(dòng)時(shí),由于m3的UID為11加1后變?yōu)?0,這樣m3的優(yōu)先級(jí)就高于m1和m2了,即m3的優(yōu)先級(jí)覆蓋了m1的優(yōu)先級(jí),進(jìn)行了優(yōu)先級(jí)的跳變.

        圖7 UID跳變策略

        優(yōu)先級(jí)跳變(UID跳變)的時(shí)間由消息計(jì)數(shù)器(message counter)確定,本文使用ACK應(yīng)答信號(hào)作為優(yōu)先級(jí)跳變標(biāo)志,當(dāng)發(fā)送了8個(gè)ACK信號(hào),UID表自動(dòng)向下跳變.

        圖8 優(yōu)先級(jí)轉(zhuǎn)換

        當(dāng)幀的優(yōu)先級(jí)發(fā)生改變時(shí),攻擊者無(wú)法區(qū)分每個(gè)幀的具體優(yōu)先級(jí),攻擊者不能將某一個(gè)優(yōu)先級(jí)判定為具體的功能,增加破解系統(tǒng)的復(fù)雜程度.

        3.2.2 DID驗(yàn)證算法

        本文使用對(duì)稱加密進(jìn)行DID的動(dòng)態(tài)跳變,一個(gè)會(huì)話的接收方和發(fā)送方都有著相同的會(huì)話密鑰(group session key,GSK),用作DID的加密生成.輸入DID,生成的密文作為新的DID,不需要解密,保證收發(fā)雙方同時(shí)加密,生成的密文一致,滿足收發(fā)雙方同步.具有會(huì)話密鑰的ECU每次發(fā)送數(shù)據(jù)幀都會(huì)生成一個(gè)新的一次性密鑰(one-time key,OTK),DID通過一次性密鑰生成新的DID作為下次發(fā)送數(shù)據(jù)的ID,本文使用HMAC[11]生成DID.

        3.3 動(dòng)態(tài)ID生成

        3.2節(jié)使用UID進(jìn)行優(yōu)先級(jí)跳變,但跳變只在一段時(shí)間發(fā)生一次,跳變后還將維持到靜態(tài)配置,攻擊者可以通過這段時(shí)間破解系統(tǒng).本文在此基礎(chǔ)上進(jìn)一步增強(qiáng)系統(tǒng)防御性,使用NAS方案,即最高頻率的更改ID.

        3.3.1 數(shù)據(jù)幀發(fā)送與接收

        發(fā)送數(shù)據(jù)幀時(shí),使用DID進(jìn)行一次性動(dòng)態(tài)跳變混淆攻擊者,呈現(xiàn)無(wú)規(guī)律狀態(tài),DID改變頻率為1,用后即改變頻率(如圖9所示),使用單向散列函數(shù)和對(duì)稱密鑰進(jìn)行DID的跳變,攻擊者無(wú)法通過計(jì)算得到.

        發(fā)送數(shù)據(jù)幀:發(fā)送ECU通過前一次生成的會(huì)話密鑰(GSK)和幀計(jì)數(shù)器生成新的一次性密鑰(OTK),每次更新DID后其一次性密鑰發(fā)生改變,根據(jù)OTK生成新的會(huì)話DID,發(fā)送時(shí)使用新生成的DID,當(dāng)發(fā)送成功后,再次通過散列函數(shù)計(jì)算新的DID作為下次發(fā)送的ID.

        圖9 接收方和發(fā)送方DID跳變

        根據(jù)GSK生成新的一次性密鑰[12]:

        HGSKk(OTKi-k||CTRe-j)=OTK(i+1)-k;

        (16)

        根據(jù)OTK生成新的DID:

        HOTK(i+1)-k(DIDi-k||CTRe-j)=DID(i+1)-k.

        (17)

        接收數(shù)據(jù)幀:接收方在接收數(shù)據(jù)之前,通過已經(jīng)接收到的 DIDi、新鮮度CTRe和會(huì)話密鑰生成的一次性密鑰OTKi+1生成新的DIDi+1,會(huì)話發(fā)送方的DID和接收方的DID通過散列函數(shù)保持一致,從而數(shù)據(jù)可被接收,此時(shí)接收方的幀計(jì)數(shù)器加1,改變新鮮度.

        3.3.2 身份認(rèn)證與密鑰分發(fā)

        DID動(dòng)態(tài)跳變進(jìn)行通信的發(fā)送方和接收方都保存著相同的密鑰,由網(wǎng)關(guān)ECU分發(fā)(如圖10所示),支持密鑰更新.密鑰導(dǎo)出通過HKDF(HMAC-based extract-and-expand key derivation function)[13]實(shí)現(xiàn),HKDF是一種基于HMAC的密鑰衍生函數(shù),其主要規(guī)范如下:

        GSKk=HKDF(Seed,t,P).

        (18)

        輸入一個(gè)隨機(jī)的種子Seed,一個(gè)迭代次數(shù)t,一個(gè)口令p,函數(shù)成功終止后可以得到一個(gè)密鑰K.

        圖10 密鑰分發(fā)流程

        3.3.3 同步機(jī)制

        如圖11所示,本文在DID跳變過程中可能造成發(fā)送方與接收方ID不同步,接收方若長(zhǎng)時(shí)間沒有接收到發(fā)送方的消息,則判斷ID失去同步,接收方向發(fā)送方發(fā)送Auth Fail信號(hào)請(qǐng)求同步,當(dāng)發(fā)送方讀取到Auth Fail信號(hào)后,發(fā)送方向接收方廣播當(dāng)前的經(jīng)過加密的計(jì)數(shù)器與會(huì)話密鑰,接收方接收到發(fā)送方的數(shù)據(jù)后根據(jù)自己的數(shù)據(jù)進(jìn)行MAC認(rèn)證,如果不一致則向發(fā)送方請(qǐng)求同步數(shù)據(jù).

        圖11 密鑰同步

        4 實(shí)驗(yàn)對(duì)比與安全性分析

        4.1 遺傳算法實(shí)驗(yàn)評(píng)估

        實(shí)驗(yàn)所用數(shù)據(jù)集參數(shù)由標(biāo)準(zhǔn)數(shù)據(jù)集SAE benchmark產(chǎn)生,本次實(shí)驗(yàn)收集了帶寬利用率從10%到76%的多組測(cè)試數(shù)據(jù)(見表4).默認(rèn)周期和截止時(shí)間相等,數(shù)據(jù)長(zhǎng)度從0到8 B,抖動(dòng)時(shí)間范圍從0.1 ms到1.7 ms.

        表4 數(shù)據(jù)集大小

        實(shí)驗(yàn)主要測(cè)試數(shù)據(jù)為帶寬利用率76%的數(shù)據(jù)集,周期分布如表5所示,其中比例指當(dāng)前周期的測(cè)試數(shù)據(jù)數(shù)量占總測(cè)試數(shù)據(jù)數(shù)量的百分比.

        表5 周期分布

        本次實(shí)驗(yàn)進(jìn)行了多組數(shù)據(jù)結(jié)果的分析,從10%帶寬利用率的數(shù)據(jù)集到76%帶寬利用率的數(shù)據(jù)集,經(jīng)過不同數(shù)據(jù)集對(duì)比WCRR,如圖12所示.當(dāng)數(shù)據(jù)量較小時(shí),遺傳算法和RM調(diào)度算法計(jì)算固定優(yōu)先級(jí)得到的目標(biāo)值相差較小,輸入信號(hào)的帶寬利用率越大時(shí),即信號(hào)更多,經(jīng)過基于遺傳算法的固定優(yōu)先級(jí)調(diào)度的優(yōu)化后,其效果越明顯,這表明遺傳算法在大規(guī)模數(shù)據(jù)計(jì)算中可以得到優(yōu)秀的全局最優(yōu)解.

        圖12 優(yōu)化效果對(duì)比

        4.2 安全性分析

        4.2.1 安全參數(shù)

        優(yōu)先級(jí)分組算法輸出安全參數(shù)N_aver,含義是一個(gè)幀可以選擇的優(yōu)先級(jí)的平均數(shù),用以計(jì)算算法對(duì)偽造攻擊與重放攻擊的防御能力,N_aver表示為

        (19)

        其中:pgi表示第i個(gè)優(yōu)先級(jí)分組集合內(nèi)幀的數(shù)量;N為數(shù)據(jù)集內(nèi)幀的數(shù)量.

        如圖13所示,通過對(duì)不同數(shù)據(jù)集的多次實(shí)驗(yàn)結(jié)果分析可知,幀的數(shù)量越多,平均每個(gè)幀可以分配的優(yōu)先級(jí)數(shù)量越多.

        圖13 N_aver結(jié)果

        4.2.2 安全性分析

        使用ID Hopping方法防御攻擊關(guān)鍵在于ID的接收原理,即攻擊者需要猜測(cè)出正確的ID,使得攻擊者的幀可以被接收節(jié)點(diǎn)所接受.沒有ID Hopping機(jī)制的CAN總線破解的概率為

        (20)

        使用offset進(jìn)行ID Hopping破解的概率為

        (21)

        使用ID跳變表的IDHCC的概率為

        (22)

        本文所提算法被破解的概率由DID的長(zhǎng)度lDID決定,lDID越大則系統(tǒng)的安全性越強(qiáng).

        (23)

        實(shí)際總線傳輸?shù)臄?shù)據(jù)幀的個(gè)數(shù)Num_IDs為120個(gè)左右,P_offset由當(dāng)前系統(tǒng)使用的ID最大值決定,因?yàn)镮D跳變后不能超過CAN總線ID的范圍.Table_nums為16,這是因?yàn)镃AN數(shù)據(jù)幀的ID為11位,其范圍是0x000~0x7FF,對(duì)于總線上的120個(gè)幀可以分為16份,lDID代表DID的長(zhǎng)度,經(jīng)多次計(jì)算,如果使用11位ID,PID長(zhǎng)度為4,UID長(zhǎng)度為3,DID長(zhǎng)度為4,N_aver為同一優(yōu)先級(jí)分組集合內(nèi)幀的數(shù)量,這個(gè)值就是安全參數(shù)N_aver.

        圖14展示幾種算法的被攻擊成功率的對(duì)比情況,其被攻擊成功的概率越小,安全性越高.可以看出,本文中提出的動(dòng)態(tài)ID跳變安全調(diào)度算法具有較高的安全性,其效果遠(yuǎn)遠(yuǎn)好于其他ID跳變機(jī)制,可以有效地抵御偽造攻擊與重放攻擊.

        圖14 不同算法被攻擊成功率對(duì)比

        5 結(jié) 語(yǔ)

        本文結(jié)合了CAN總線固定優(yōu)先級(jí)調(diào)度,設(shè)計(jì)了一種優(yōu)先級(jí)跳變機(jī)制,改變了傳統(tǒng)的靜態(tài)跳變方式,將通過散列函數(shù)進(jìn)行一次性標(biāo)識(shí)符動(dòng)態(tài)跳變的方式引入到實(shí)時(shí)調(diào)度算法中.實(shí)驗(yàn)結(jié)果和安全性分析表明,該機(jī)制能在不增加負(fù)載開銷的情況下,有效防御偽造和重放攻擊等多種攻擊手段,安全性能優(yōu)于現(xiàn)有方法.在未來(lái)的工作中,將通過改進(jìn)算法,使其UID數(shù)量減少,增加DID數(shù)量,從而進(jìn)一步提高安全性能,例如切割數(shù)量較多的優(yōu)先級(jí)分組集合.

        日本一区二区午夜视频| 一本之道高清无码视频| 成 人 免费 在线电影| 在线高清理伦片a| 狠狠色狠狠色综合| 日韩av一区二区毛片| 黄色网页在线观看一区二区三区| 蜜桃高清视频在线看免费1| 懂色av一区二区三区尤物| 我爱我色成人网| 欧美视频久久久| 成人免费毛片在线播放| 91l视频免费在线观看| 国产精品videossex国产高清| 久久精品国产视频在热| 自拍偷拍亚洲一区| 国产激情久久久久久熟女老人| 亚洲第一页综合av免费在线观看 | 国产裸拍裸体视频在线观看| 少妇对白露脸打电话系列| 亚洲欧洲日产国码久在线| 国产精品人成在线765| 丰满人妻一区二区三区精品高清| 日韩国产精品一区二区Hd| 91视频香蕉| 日韩精品一区二区av在线| av免费在线播放视频| 少妇做爰免费视频了| 老太脱裤让老头玩ⅹxxxx| 开心五月婷婷综合网站| 国产一级二级三级在线观看av| 人妻久久久一区二区三区| 国模精品二区| 手机在线国产福利av| 特级做a爰片毛片免费看| 少妇被粗大的猛进69视频| 国内久久婷婷精品人双人| 亚洲激情视频在线观看a五月| 麻豆国产精品va在线观看不卡| 精品少妇爆乳无码av无码专区| 久久精品无码一区二区2020|