?

車載控制器局域網絡安全協議

2018-05-16 07:51劉毅秦貴和趙睿
西安交通大學學報 2018年5期
關鍵詞:網關車載總線

劉毅, 秦貴和, 趙睿

(1.吉林大學計算機科學與技術學院, 130012, 長春; 2.吉林大學符號計算與知識工程教育部重點實驗室, 130012, 長春; 3.吉林大學軟件學院, 130012, 長春)

隨著智能網聯汽車的發展,自主駕駛、車隊管理、智能交通管理等技術應運而生[1],這些技術的應用提升了駕駛的舒適性與便捷性,但同時越來越多開放的接口也使得汽車的風險指數逐漸增加。攻擊者可以通過WiFi、藍牙、OBD-II等接口對汽車發動長距離或短距離、有線或無線的攻擊,嚴重威脅駕駛者的人身和財產安全,因此網聯汽車信息安全問題亟待解決。車載網關承擔著車內總線網絡和車外網絡的信息交互,僅僅在車載網關上增加防火墻的方式并不能提供足夠的安全防護,網聯汽車的信息安全問題更需要保護車內總線網絡的信息安全[2]。

車載控制器局域網絡(CAN)總線因其靈活性、實時性、可靠性已成為車內總線網絡的標準[3],并且CAN總線在未來一段時間內也將是車載總線技術的基礎。CAN總線雖然有著得天獨厚的優勢,CAN總線協議卻沒有考慮到信息安全問題。CAN協議不能對連接到總線上的節點提供身份認證,不能對總線上傳輸的數據提供加密保護,也不能支持保障數據正確性與完整性的校驗機制,由此造成的嚴重后果是攻擊者可以輕易地竊聽、偽造、篡改數據,發動重放攻擊??紤]到網聯汽車的出現及CAN總線安全漏洞,CAN總線的信息安全問題成為現實中亟需解決的問題。

近年來,歐盟等相關機構積極資助并開展汽車信息安全項目,例如車輛電子安全入侵檢測應用項目(EVITA)、開放式車輛安全平臺項目(OVERSEE)等。EVITA項目[4]定義了安全需求并且提供了應用于車載網絡的方法,其中中量級硬件安全模塊保障了電子控制單元之間通信環境的安全;OVERSEE項目提供了標準的軟件架構和車輛運行的內部環境,保障了信息的安全性和可靠性[5-6],但是這些項目并沒有給出具體的安全措施,也沒有有效的安全協議。

對于車載網絡安全協議的研究中,文獻[7-9]的安全協議考慮了CAN總線的廣播特性,并利用數據域長度受限的特點設計協議以降低總線負載。由于上述協議沒有考慮到車輛啟動階段的初始化身份認證,也不能提供車輛通信階段的防重放保護,因此不能很好地為車載CAN總線提供安全保障。

在CAN總線協議特點和安全需求的基礎上,設計了一種車載控制器局域網絡的安全協議(SPOCAN),深入研究并分析CAN總線協議的特點、網聯汽車攻擊接口及CAN總線安全需求;考慮到受限車載資源和CAN協議的特點,設計了CAN總線的安全協議SPOCAN,SPOCAN包含SNIA和CNEP 2個模塊,SNIA模塊提供待通信節點身份的真實性保證,在車輛點火啟動階段保障節點的身份安全,CNEP模塊保障了數據機密性、消息正確性、數據完整性和數據新鮮性,在車輛運行通信時保障節點間通信安全;為了驗證所提安全協議的有效性,基于飛思卡爾MPC5646C網關和MC9S12XDT 512開發板搭建了CAN網絡車載控制系統的硬件平臺,在汽車點火啟動階段和車輛運行通信階段分別進行了測試,驗證了SPOCAN協議能夠有效地提供安全保障。

1 CAN總線及網聯汽車信息安全分析

1.1 CAN總線

在車載總線網絡中,CAN總線是目前使用最廣泛的總線技術,因為它使用雙絞線傳輸信號,顯著地降低了通信線纜的數量,并且提供了更高的通信可靠性。CAN總線協議根據ID域的不同,分為CAN 2.0A標準格式和CAN 2.0B擴展格式2部分[10],由于CAN 2.0B支持CAN 2.0A,所以對CAN 2.0B解釋說明。CAN 2.0B數據幀中的ID域用于設置消息的優先級,其29位ID域分為標準ID和擴展ID 2個部分,IDE域決定是否使用18位擴展ID,數據域包含0~8個字節數據,循環冗余校驗(CRC)域提供傳輸過程中的錯誤檢測,這也是CAN協議中唯一與安全相關的校驗機制,但這種簡單的校驗機制無法滿足網聯汽車的安全需求。

1.2 網聯汽車攻擊接口

網聯技術的發展使汽車開放的接口越來越多,這些接口可能成為攻擊者對汽車發動攻擊的入口[11]。圖1給出了整個汽車電子系統可能的攻擊接口,根據攻擊者的連接方式,這些接口可以分為以下3類:①物理訪問接口。攻擊者通過直連的方式或者使用第三方工具訪問汽車內部網絡,例如車載診斷系統的外部接口OBD-II、用于娛樂系統的USB接口和開放的充電樁接口等;②短距離無線訪問接口。在物理連接難以實現的情況下,攻擊者通過非物理接觸、近距離的方式訪問接口,這種短距離訪問一般通過在距離汽車5~300 m的范圍內放置發射器與接收器的方式來實現[12],這類典型接口包括藍牙、WiFi、無鑰匙進入系統、車載雷達等;③長距離無線訪問接口。攻擊者通過無線電、衛星導航GPS/北斗等通信距離超過1 km的接口實現長距離訪問攻擊[13]。

圖1 網聯汽車的攻擊接口

2 CAN總線安全需求

結合CAN總線特點設計控制器局域網絡安全協議需要滿足以下5點安全需求:①身份真實性。CAN總線系統中通信雙方在建立通信前,需要確認雙方的有效身份,防止攻擊者利用虛假身份進行通信;②數據機密性。CAN總線網絡由于其廣播發送、明文傳輸的特性,極易泄露數據,尤其當信息是與駕駛員的生命安全息息相關時,數據加密與語義安全的保障顯得尤為必要;③消息正確性。CAN總線上節點間相互通信時,接收方需要確認該消息來自于正確的發送方而不是攻擊節點發送的偽造信息;④數據完整性。CAN總線上消息的接收方需要確保消息在傳輸過程中沒有被攻擊者更改,一般地,數據完整性通過消息認證[14]來保證;⑤數據新鮮性。在CAN總線上傳輸的數據需要保證是最近發送的,而不是一個已經在總線上發送過的數據,對數據新鮮性的保證能夠防止重放攻擊。

3 SPOCAN協議

為了在車載控制器局域網絡中滿足上述安全需求,在CAN總線協議的基礎上,增加了汽車點火啟動階段的安全模塊SNIA和通信階段的安全模塊CNEP,實現了車載控制器局域網絡安全協議SPOCAN。SNIA模塊采用基于公鑰體系認證方法的身份認證技術,保障了待通信節點的身份真實性,在汽車點火啟動階段保障了節點之間的通信安全;CNEP模塊采用了加密通信、消息檢驗及序列號技術,保障了CAN總線上節點間信息傳遞時的數據機密性、消息正確性、數據完整性和數據新鮮性。SPOCAN基于這2種安全模塊,能夠在汽車啟動階段和通信階段阻止基于消息竊聽、信息偽造、消息篡改、數據重放等攻擊手段,有效地保障車載CAN總線網絡上節點間的通信安全。

3.1 SNIA模塊

SNIA模塊提供了CAN總線網絡中節點的身份認證方法??紤]到CAN總線廣播發送的特性,若采用私鑰體系的認證方法,其中任何一個接收節點都可以模仿發送節點偽造消息給其他接收節點,因此CAN總線需要非對稱的認證機制來完成廣播認證。SNIA模塊采用基于公鑰體系認證方法,在車輛點火啟動的過程中進行初始化身份認證[15],身份認證只進行一次并在認證結束后更新密鑰,以備在下次初始化過程中使用。

身份認證過程是連接到總線上的各個電子控制單元(ECU)向網關G請求身份認證,認證通過后得到由網關分發的保障數據機密性的加密密鑰Ke和消息校驗階段的認證密鑰Ka。在所提方案中使用RSA-64位非對稱加密算法[16],E為加密函數,D為解密函數,身份認證過程具體分為以下5個步驟。

步驟1第i個ECU通過查詢證書Ci將其標志Ii用網關公鑰Gu加密得到密文C1發送到CAN總線上。證書中包含節點標志、節點的密鑰和節點的其他信息,不同節點的公鑰通過查詢獲得,私鑰是每個節點獨有的,除節點自身外其他節點無法獲取。為保證安全性,證書由車場刷寫ECU固件時寫入

C1=E(Gu,Ii)

(1)

步驟2網關G用私鑰Gr解密收到的消息得到P1,讀取其標志Ii,G在證書Cg中查找此Ii對應的節點公鑰Eu,并產生一個挑戰值Nk,用此公鑰Eu將挑戰值Nk加密發送到CAN總線上,得到C2

P1=D(Gr,C1)

(2)

C2=E(Eu,Nk)

(3)

P2=D(Er,C2)

(4)

(5)

步驟4網關G利用私鑰Gr解密C3后得到P3,讀取數據。若數據中的挑戰值等于步驟2中網關G產生的挑戰值Nk,則網關把該ECU對應的Ii加入到其信任列表中,表明網關已信任該節點并可以與它進行通信

P3=D(Gr,C3)

(6)

步驟5網關G與第i個ECU認證成功后,則以非對稱加密方法頒布用于通信的加密密鑰Ke和用于消息校驗的認證密鑰Ka。若認證不成功,則不會給節點頒布密鑰

C4=E(Eu,Ke)

(7)

C5=E(Eu,Ka)

(8)

上述認證過程中密鑰Ke和Ka只能由網關生成,身份認證過程只在芯片上電后進行一次。為了保證認證后節點間的通信安全,節點間通信密鑰由網關定期更新。

至此,初始化身份認證階段結束,在系統內網關確認了待通信節點的身份并生成了通信階段加解密密鑰及消息校驗密鑰。

3.2 CNEP模塊

汽車點火啟動階段的初始化認證結束后,節點間通信的安全保障通過CNEP模塊實現。在所提方案中使用DES-64位對稱加密算法和MD5-32位消息摘要算法[16]保證了數據機密性、消息正確性和數據完整性,并且通過序列號遞增的方法提供了防重放保護。序列號是系統初始化時約定的,在每次使用后遞增,并要足夠大才能避免不同的消息產生相同的序列號。

發送方在發送數據前需要經過如下4個步驟。

步驟1發送方將待發送數據T與第j個序列號Cj進行或運算得到T′??紤]到車載通信的大部分數據幀數據域的長度在3~4個字節,所以Cj僅在第7個字節中存儲

T′=T‖Cj

(9)

步驟2將通過SNIA協議認證得到的密鑰Ke與接收端保持一致的隨機數Sj異或后得到新密鑰,再利用新密鑰對T′加密得到C6,并對Sj更新

C6=E((Ke?Sj),T′)

(10)

步驟3利用密鑰Ka發送方對C6計算消息認證碼

Mj=E(Ka,C6)

(11)

步驟4C6存儲在CAN協議數據幀的前7個字節中,Mj存儲在最后1個字節中,將密文C6和Mj一同發送到CAN總線上

C7=C6‖Mj

(12)

接收方在收到消息后需要經過如下4個步驟。

(13)

步驟2消息校驗通過后,利用Ke與隨機數Sj異或,對C7的前7個字節解密得到P4并更新Sj

P4=D((Ke?Sj),C7)

(14)

(15)

CNEP模塊通過隨機數Sj隨機化加密,提供了語義級別的安全保護,Sj每次加密后發生變化且不會重復,這種強安全協議阻止了攻擊者從竊聽到的加密消息推斷出明文;由于使用了消息認證碼進行校驗,在不影響正常通信的前提下增強了系統的防偽造特性;采用序列號技術進行端到端的計算,提供弱新鮮性防護以及防重放攻擊保護。

4 安全協議有效性評估的實驗

為了對所提安全協議進行有效性評估,本文基于飛思卡爾MPC5646C網關和MC9S12XDT512開發板搭建了CAN網絡車載控制系統的硬件平臺,其中1塊MPC5646C作為網關G,4塊MC9S12 XDT512作為與該網關相連的節點a、b、c、d,同時使用USB-CAN-II模擬一個攻擊節點S對總線發動攻擊。實驗從點火啟動階段和通信階段分別模擬攻擊場景,在PC機上使用CodeWarrior環境編程并使用CANTest軟件顯示總線上傳輸的數據。

4.1 點火啟動階段安全測試分析

點火啟動階段的安全性是指在ECU上電后,需要確定CAN總線系統中所有待通信節點身份的真實性,在初始化階段阻止基于身份欺騙的攻擊,該階段實驗設置了3個攻擊場景,驗證了節點身份的真實性。

在初始化認證階段,系統內各節點需要向網關節點G申請認證,假設一個攻擊節點S在車輛啟動前就已經連接到總線上,準備發動攻擊。

場景1S并沒有獲得總線上傳輸的信息,只是偽造了認證請求消息并發送給G,希望得到網關的認證。由于S作為相對于內部車載控制系統的外部節點,沒有車場統一刷寫的證書,因此無法通過查詢獲得G的公鑰Gu,不能將偽造的認證請求加密發送到CAN總線上。網關收到消息后無法正確解密進而無法識別出這個請求認證消息,所以請求身份認證無效。

場景2S通過竊聽總線上的消息,獲得了節點b請求身份認證的報文,并在此基礎上將部分信息篡改后發送到CAN總線上。如表1的第6號所示,雖然S在正確請求認證報文的基礎上篡改信息,但G仍會識別出這是一個無效的身份認證請求,如表1的第7號所示。S的篡改使得正確的請求認證消息發生了變化,該消息不再是由網關公鑰加密后的正確信息;同時,消息的篡改也使得G無法正確分析出所請求認證的節點標志,進而也無法通過查詢確定所請求節點的公鑰,G識別出S是一個攻擊節點。

場景3S通過竊聽總線上的消息,獲得了節點a請求身份認證的報文,此時S不做任何修改,將消息再次發送到CAN總線上,如表1的第14號所示。G為了驗證該節點的身份,發出表1中第15號的驗證幀,S收到該消息后,無論是通過偽造、篡改還是再次將竊聽到的節點a的反饋幀發送給G,G在這3種情況下都不會通過S的身份認證。在前2種情況下,G無法正確識別出反饋幀,進而不能正確解密消息并確定所請求節點標志。在最后一種情況下,如表1的第16號所示,因為G發送的驗證幀中利用節點a的公鑰Eu加密發送了一個挑戰值Nk,由于每次加密的挑戰值是不同的,使得本次驗證幀中的挑戰值與S重放的節點a的反饋幀中的挑戰值不一致,因此G能識別出基于身份欺騙的攻擊。

4.2 通信階段安全測試分析

通信階段安全性是指在車輛啟動后,各個ECU通過身份認證后開始通信,攻擊者除了在車輛初始化階段發動攻擊外,還有可能在車輛通信時通過OBD-II等通信接口發動攻擊。該階段實驗設置了4個攻擊場景,分別驗證了消息正確性、數據機密性、消息完整性、數據新鮮性。

場景1S沒有通過竊聽得到總線上的消息,只是通過消息偽造向節點d發送攻擊數據,如表2的第2號所示。S企圖接收到節點d響應的數據信息,此時節點d發出了警報幀,如表2中的第5號所示。這是因為S并沒有參與節點啟動過程的初始化身份認證,進而無法得到通信時的加解密密鑰Ke和消息校驗密鑰Ka。S可以偽造消息卻無法偽造這2個密鑰,節點d接收到消息后,無法正確接收并進行消息校驗與解密處理,因此識別出這是一個攻擊節點發送的偽造消息。

場景2由于攻擊節點是在汽車啟動后以直接或間接的方式連接到車上,沒有經過點火啟動階段的身份認證,從而并沒有通信階段的加密密鑰,因此S企圖監聽總線上的一系列消息,并希望通過足夠數量的加密密文推斷出明文。雖然攻擊者知道了部分數字0和數字1加密后對應的數字或字符,但是并不能判斷出一個新加密的字符是用0加密的還是用1加密的。CNEP模塊的發送方利用了一個隨機數Sj和密鑰Ke異或后加密數據,由于這個Sj每次加密后都是不同的,使得相同的消息在不同的會話通信時加密后的數據是不同的。攻擊者即使知道了部分明文密文對,也無法推斷出加密前的消息。

表1 車輛啟動階段的攻擊測試

場景3S竊聽總線上的消息,如表2的第8號所示,并在竊聽到的消息的基礎上篡改消息中的部分控制位數據然后發送給節點b,如表2的第11號所示,企圖控制節點b執行相關操作。CNEP模塊采用的消息檢驗技術可以保護消息傳遞過程中的數據完整性,由于數據段發生了更改,節點b收到消息后對數據段進行消息校驗時,會檢測到不一致的消息檢驗碼,檢測出此消息在發送的過程中發生了變化,則會拒絕接受此消息并發出報警幀如第13號。

場景4S通過竊聽總線消息,不做任何修改,只是重復發送一個已經在總線上發送過的消息,準備發動重放攻擊以使CAN總線系統不能正常提供服務。如表2的第18號所示,S重放了表2中的序號為15的幀。由于CNEP模塊采用了序列號技術,重放消息的序列號Cj并沒有發生改變,按照CNEP模塊執行時,接收端就會檢查到不一致的序列號,檢測到重放攻擊,并發出警報幀如第21號。

本文基于搭建CAN網絡車載控制系統的硬件平臺,對SPOCAN協議的有效性進行了完整且充分地評估。通過對2個階段分別進行模擬攻擊,完整地考慮了從汽車點火啟動階段到運行通信階段的安全需求,保障了實驗測試的完整性。通過對啟動階段設計的3個攻擊場景,充分考慮了在該階段對ECU身份真實性的可能發動的偽造攻擊、篡改攻擊以及重放攻擊;通過對通信階段設計的4個攻擊場景,充分考慮了在該階段對消息正確性、數據機密性、消息完整性、數據新鮮性可能發動的偽造攻擊、竊聽攻擊、篡改攻擊以及重放攻擊,保障了實驗測試的充分性。通過對2個階段7種攻擊場景的實驗測試,結果表明,該SPOCAN協議能有效地為CAN總線提供安全保障。

表2 車輛通信階段的攻擊測試

5 結 論

針對汽車網聯化所帶來的車載CAN總線的信息安全問題,本文提出了一種車載控制器局域網絡安全協議SPOCAN,該協議包含SNIA和CNEP 2個模塊。SNIA模塊提供車輛啟動階段ECU間的身份認證,保障待通信節點的身份真實性;CNEP模塊提供了車輛啟動后通信階段的安全保障,提供數據機密性,消息正確性、數據完整性和數據新鮮性保護。本文從汽車點火啟動階段和通信階段對該協議進行了有效性評估,實驗結果驗證了該協議能夠為CAN總線提供良好的安全保障。

參考文獻:

[1] 張亞萍, 劉華, 李碧鈺, 等. 智能網聯汽車技術與標準發展研究 [J]. 上海汽車, 2015(8): 55-59.

ZHANG Yaping, LIU Hua, LI Biyu, et al. Research on intelligent network technology and standard development of automotive technology [J]. Shanghai Automotive, 2015(8): 55-59.

[2] 于赫. 網聯汽車信息安全問題及CAN總線異常檢測技研究 [D]. 吉林: 吉林大學, 2016: 15-31.

[3] 田希暉, 張玘, 張連超, 等. CAN總線及其應用技術 [J]. 微計算機信息: 測控儀表自動化, 2002(9): 3-5.

TIAN Xihui, ZHANG Qi, ZHANG Lianchao, et al. CAN bus and its application technology [J]. Microcomputer Information: Measurement and Control Instrumentation Automation, 2002(9): 3-5.

[4] HENNINGER O. E-safety vehicle intrusion protected applications (EVITA) project [EB/OL]. (2008-07-31)[2017-10-05]. http∥ www.evita-project.org.

[5] GROLL A, HOLLE J, RULAND C, et al. OVERSEE a secure and open communication and runtime platform for innovative automotive applications [C]∥Proceedings of the 19th Intelligent Transport Systems World Congress. Washington D C, USA: ITS, 2012: EU-00690.

[6] HOLLE J, PLATSCHEK A, SANCHEZ J, et al. OVERSEE: a secure and open in-vehicle ITS station [C]∥Proceedings of the 19th ITS World Congress. Washington D C, USA: ITS, 2012: EU-00469.

[7] LIN C W, SANGIOVANNI-VINCENTELLI A. Cyber-Security for the controller area network (CAN) communication protocol [C]∥Proceedings of the International Conference on Cyber Security. Piscataway, NJ, USA: IEEE Computer Society, 2012: 1-7.

[8] NILSSON D K, LARSON U E, JONSSON E. Efficient in-vehicle delayed data authentication based on compound message authentication codes [C]∥Proceedings of the Vehicular Technology Conference. Piscataway, NJ, USA: IEEE, 2008: 1-5.

[9] GROZA B, MURVAY S. Efficient protocols for secure broadcast in controller area networks [J]. IEEE Transactions on Industrial Informatics, 2013, 9(4): 2034-2042.

[10] 王莉, 劉德新, 劉書亮. 汽車網絡標準總線CAN [J]. 世界汽車, 2001(1): 15-17.

WANG Li, LIU Dexin, LIU Shuliang. Automotive network standard bus CAN [J]. World Automotive, 2001(1): 15-17.

[11] CHECKOWAY S, MCCOY D, KANTOR B, et al. Comprehensive experimental analyses of automotive attack surfaces [C]∥Proceedings of the Usenix Security Symposium. Berkeley, CA, USA: Usenix, 2011: 6.

[12] EZAKI T, DATE T, INOUE H. An analysis platform for the information security of in-vehicle networks connected with external networks [C]∥Proceedings of the International Workshop on Security. Berlin, Germany: Springer, 2015: 301-315.

[13] NIGHSWANDER T, LEDVINA B, DIAMOND J, et al. GPS software attacks [C]∥Proceedings of the ACM Conference on Computer and Communications Security. New York, USA: ACM, 2012: 450-461.

[14] SVAMSIKRISHNA T R, HARIHARAN R H. VANET-based vehicle tacking on message authentication and secure navigation route [J]. International Journal of Computer, 2015, 113(7): 32-40.

[15] LIU H, LIANG X, FANG L, et al. A secure and authentication protocol based on identity based aggregate signature for electric vehicle applications [C]∥Proceedings of the International Conference on Wireless Communication and Sensor Network. Piscataway, NJ, USA: IEEE, 2015: 353-357.

[16] 胡向東. 應用密碼學 [M]. 2版. 北京: 電子工業出版社, 2011: 87-88.

猜你喜歡
網關車載總線
一種車載可折疊宿營住房
高速磁浮車載運行控制系統綜述
奔馳S級48V車載電氣系統(下)
信號系統網關設備的優化
一種基于CAN總線的誤碼測試方法
智能互聯勢不可擋 車載存儲需求爆發
LTE Small Cell網關及虛擬網關技術研究
CAN總線并發通信時下位機應用軟件設計
應對氣候變化需要打通“網關”
基于CAN總線的水下通信系統設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合