FlexRay總線的安全加密認證研究
延邊大學工學院電子信息工程專業
摘要:隨著車聯網技術的日漸成熟,車載總線網絡系統不再是獨立、安全的通信網絡,車載總線網絡系統可以通過OBDⅡ網絡測試儀、導航、WIFI等系統與外界連接,這很容易泄露汽車上固有的總線網絡信息,車載總線網絡被黑客入侵后駕駛員也有失去汽車控制權限的可能性。為了提高車載總線網絡的安全性,本文針對FlexRay車載總線網絡系統分析了其存在的安全缺陷與可能的攻擊手段。通過基于AES-128與SHA-1算法提出了一種加密認證協議,并通過CANoe環境下進行了仿真實驗,提高了車載總線網絡數據的安全性和可靠性。
關鍵詞:總線網絡;FlexRay;網絡保安;網絡安全;安全協議
1 研究背景
長期以來,為了保障車載總線網絡的安全性,全世界汽車生產商統一使用LIN、CAN和FlexRay等總線來獨立搭建車載總線網絡[1-2]。但是隨著汽車電子化和自動化進程不斷加快、技術不斷成熟,車載總線網絡系統不再是獨立、安全的網絡系統。汽車通過連接到智能手機、藍牙、因特網等給駕駛員提升了汽車的駕駛樂趣,反面帶來了黑客攻擊、安全漏洞等不容忽視的安全問題,嚴重影響汽車行駛安全、個人隱私、甚至危及公共安全[3-4]。基于機電一體化技術和線控技術(x-by-wire)的智能型汽車(如,純電動汽車、無人駕駛汽車、互聯網汽車等)日益成為了下一代汽車發展方向,同時車載總線網絡是各電控系統之間傳輸數據的主要工具[5]。如何保障車載總線網絡的安全性和可靠性是當前汽車界亟待解決的難點之一。
然而車載總線網絡的發展面臨著許多挑戰。車載總線網絡的網絡安全、數據管理、網絡拓撲架構技術傳統上缺乏理論指導,具有較強的隨意性和硬件依附性。車載總線網絡發展近半個世紀以來,現通用的LIN、CAN和FlexRay等車載總線網絡協議沒有考慮了網絡安全問題,很容易泄露汽車上固有的車載總線網絡信息和被黑客失去汽車控制權限的可能性。因此如何主動防御通信協議中的數據層和物理層上存在的安全漏洞是互聯網汽車發展過程中必須解決的關鍵核心問題。
第二章詳細描述了本文提出的安全協議并對協議中用到的算法流程進行了介紹。通過利用CANoe系統搭建了FlexRay網絡架構,對使用本文提出的安全協議進行了仿真驗證,第三章給出了仿真結果,并對其有效性進行了分析。第四章對全文做了總結。
2 加密認證協議
為使FlexRay報文得以安全高效的在總線上進行傳輸,安全協議需要滿足真實性、機密性、實時傳輸性等三項目標。AES加密算法全稱高級加密標準,是一種在全世界范圍被廣泛認可的對稱加密算法。在執行加解密算法前,輸入會被復制到一個如圖1所示的State數組當中。該數組用正方形矩陣描述,矩陣中的每一個元素均以字節為單位。在加密過程中,都是對該State數組進行操作。
圖1 State數組
AES-128加密算法由十輪加密操作組成,每輪可分為三個層次。分別為字節代換層,擴散層與密鑰加層。具體的算法加密流程如圖2所示。
圖2 AES-128加密過程
(1)字節代換層:AES算法定義了一個S盒,它是一個大小為16´16的數據表,表中每一個元素的大小為一個字節。在對State數組中某一字節的數據進行代換時,以該數據的高四位作為行值,低四位作為列值將其映射到S盒中對應的元素,之后將該S盒中的元素替換原始數據。
(2)擴散層由行移位變換與列混淆變換組成。加密階段的行移位變換對State數組中元素的操作為,第一行保持不變,從第二行開始到第四行,依次循環左移一個字節、兩個字節與三個字節。加密階段的列混淆變換將State數組矩陣與一個同樣大小的特定矩陣相乘,得到的新矩陣替換原State矩陣。這個過程中的乘法均是定義在有限域GF(28)上的。
(3)密鑰加層:這個過程將從密鑰擴展數組中選取相應輪的擴展密鑰,與State數組做異或操作。
當報文完成加密處理后,可以保證不被
入侵者惡意篡改,在未掌握密鑰的情況下入侵者也無法發送一條惡意報文。
加密過程由密鑰擴展和對數據體的加密操作兩部分構成。在執行對數據體的加密操作之前首先要進行密鑰擴展,擴展算法將16字節的原始密鑰擴展為156字節的擴展密鑰數組w。該數組為初始輪密鑰加以及后續10輪加解密運算中的輪密鑰加操作提供了輸入密鑰。密鑰擴展首先原始密鑰安放到擴展數組的前4個字(16字節),之后該數組中的每一個字w[i]要使用到w[i-1]與w[i-4]來進行計算。當計算擴展數組中下標為4的倍數的元素值時,需要使用一個更為復雜的函數。該函數將會進行字循環與字節代換操作,然后將這兩步所得到的結果與輪常量進行異或運算從而得到相應元素的值。密鑰擴展可以有效地防止密碼分析攻擊。
消息認證碼(MAC)通常將其置于欲發送的報文之后。接收方在接收到該報文后,利用MAC對接收到的報文進行驗證,以證明該報文來自可信的節點,并且未經過篡改或增刪。HMAC是基于加密哈希運算的消息認證碼。利用哈希函數來獲取MAC速度較快,而且當出現效率更高性能更好的哈希函數時,可以很容易地將原始HMAC算法中的哈希函數模塊替換掉。
本文使用SHA-1作為計算HMAC的哈希函數。SHA-1算法的輸入為長度小于264位的消息,輸出為一個長度為160位的消息摘要。欲從消息摘要逆推回原文是十分困難的,所以當入侵者不知道密鑰的情況下無法計算出正確的HMAC。若實施消息重發攻擊,接收節點可以通過對比消息認證碼來判斷是否丟棄報文,具體算法流程如圖3所示。
圖3 HMAC計算過程
本文提出的安全協議采用AES-CTR模式對報文進行加密,具體操作過程如圖4所示。
圖4 AES-CTR模式
CTR模式每次從計數器讀取一個值,將該值進行加密,加密后得到的數據與輸入數據做異或運算,其結果作為輸出。由于CTR模式運算方法的特性,并不需要使用到AES解密算法。在加密時輸入位置為明文輸出位置為密文,在解密時只需將二者位置對調,并使用同樣的密鑰與計數器值即可。
為了進一步提高數據的真實性與機密性兩個目標,本文分別使用AES-128算法與HMAC算法對報文進行加密與認證。協議中,每一條報文的傳輸與接收階段的流程分別如圖5和圖6所示。
圖5協議發送階段流程
圖6協議接收階段流程
流程圖中使用到的變量,其含義如表1所示。
表1 變量釋義
|
變量 |
解釋 |
|
CTRcycle CTRm CTRmac
Ctemp Csend Msend Mrece EK DK AK P |
節點的周期計數器值 某一報文發送/接收量計數值 某一報文MAC發送/接收量計數值 計數器值經過加密后的結果 發送的密文 發送的消息認證碼 接收節點計算的消息認證碼 AES加密密鑰 AES解密密鑰 HMAC加密密鑰 明文 |
本文提出的協議中,所有節點的密鑰庫在通信開始前被初始化完畢。由于AES是對稱加密算法,所以發送端與接收端的密鑰庫相同。發送階段與接收階段的AES加密密鑰與HMAC密鑰按通信周期更換。
本文的安全協議采取對報文加密的手段來保證機密性。報文加密后,在入侵者不知道加密密鑰的情況下,無法獲知報文的具體內容。通過采用AES-CTR模式,計數器在傳輸成功后會實時的更新,這樣即便使用相同的密鑰也會生成不同的密文,防止了入侵者通過內容相同的報文猜測報文用途而進行的攻擊行為。
3實驗驗證
為了驗證本文提出的安全協議方法的有效性,使用德國Vector公司的CANoe系統來搭建由兩個ECU和FlexRay總線組成的FlexRay網絡架構模型。
接下來使用本文提出的安全協議對報文進行處理。當總線網絡初始化完畢后,由于還沒有任何報文傳輸,所以此時任何一個報文計數器的值均為零。當ECU1準備發送Frame_1時,首先使用安全協議對其進行處理,各部分計算結果如表2所示。
表2 Frame_1數據
|
明文 |
01007F0011002A31 0000007200000000 |
|
計數 |
0 |
|
加密 密鑰 |
1b200b19 7e5ef522 05465540 1716483a |
|
HMAC密鑰 |
60814fdc 222a9088 46eeb814 de5e0bdb |
|
密文 |
9283f51e 252dbf0f 15e2f1ac 0da10107 |
|
HMAC |
99db576e ae8d083b 15f45acb 00ee101a a0f9c03c |
之后,將Frame_1發送到總線上。四條報文的傳輸情況如圖7所示。
加密后的報文數據與MAC可以實現在總線上進行傳輸,并保了證實時性。Frame_1的密文與HMAC和安全協議計算的結果一一對應,其他三條報文的數據也可通過安全協議計算后得到證實。
圖7 Frame_1加密后總線傳輸情況
4結論
車載總線網絡系統已經不再是獨立的網絡系統,更加趨向于與各種設備進行互連。但是,沒有一個汽車制造商對汽車網絡安全予以過考慮。本文針對FlexRay總線所里面臨的安全問題,提出了一種安全協議。該協議使用AES-128算法對數據進行加密,并利用基于SHA-1的HMAC進行消息認證。最后通過利用CANoe系統搭建FlexRay網絡架構環境,并安全協議對報文進行處理,驗證了該協議在FlexRay協議中的可行性。
參考文獻
1. 吳晨曉.汽車網絡通信總線現狀及發展[J].汽車實用技術,2019(02):203-204.
2. 喻露.現階段車載網絡關鍵技術的應用探究[J].汽車實用技術,2018(22):161-163.
3. 韓正士,秦貴和,趙睿,劉毅,梁云龍.車載FlexRay總線安全協議的設計與實現[J].西安交通大學學報,2018,52(12):63-69.
4. 吳貽淮,李飛,覃周.車載ECU加密通信與身份認證機制研究[J].懷化學院學報,2017,36(05):75-77.
5. 王政軍,李星,李源清,陳萌.汽車線控技術的研究現狀及展望[J].科技創新導報,2015,12(21):8-9.
- 上一篇:基于支持向量機的室內照度預測仿真
- 下一篇:計算機仿真在電力系統中的運用探討
