技術 | 用于自動駕駛的安全車載以太網——多級安全架構

來源 |   Elektrobit
知圈  進“域控制器群”請加微13636581676,備 注域

如今,汽車搭載的各種單項駕駛輔助功能正逐步發展成為高度復雜且相互關聯的系統,以促進實現全自動化駕駛。從最早的基于警報的支持功能發展到輔助駕駛功能(例如車道偏離預警系統),再到能夠部分控制車輛的功能(例如高速公路自主巡航功能或代客泊車功能),人們一直在為實現全自動化駕駛的目標而努力。隨著這些技術的發展,人們對能夠處理大量數據的傳輸速率的需求也與日俱增,促使車載以太網成了未來汽車的一項關鍵技術。

一、可信任與安防性

為實現自動化駕駛的目標,車載以太網不僅應具備高帶寬,最重要的是還必須能夠提供可靠、安全的通信。本技術文獻描述了可信性與安防性之間的緊密聯系(見圖1)。可信性包括安全關鍵系統必須考慮到所有相關屬性,以防止在系統發生故障時出現嚴重的、不可承受的后果。這些屬性指可用性、可靠性和完整性,以及安全性和可維護性。在安防性方面,最重要的是防范人為的惡意攻擊,因此,保密性與可用性和完整性一樣,也在安防性的范疇之內。
技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖1

圖1:可信性與安防性的要素 

二、安全通信

可信性與安防性并沒有明確區分界限,因為與安防性相關的攻擊同樣會影響可信性:此類攻擊會通過破壞正確的傳感器數據和/或控制數據的接收,從而影響服務的可用性。惡意操作網絡上的傳感器或控制數據,會破壞系統的完整性。未經授權的第三方攔截或記錄控制數據,會破壞保密性。必須在整個壽命期內,為整車網絡防范以上所有行為。

就自動駕駛方面的功能而言,防范外部攻擊非常重要。對通信網絡的攻擊形式包括,故意插入故障消息(如制動命令),或者有意干擾正確消息傳輸(如篡改、延遲或刪除現有消息、中繼消息等)。對汽車的攻擊點包括外部節點,如車載診斷接口 (OBD) 或無線連接(參見圖2),被黑客破解的現有節點,如安全防護等級低的信息娛樂控制設備,或者被交換和被操縱的控制設備。

技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖2

圖2:汽車無線連接數量增加

  三、動態威脅

汽車的壽命期相對較長,因此攻擊模式可能隨著時間發展而改變。根據摩爾定律,計算機處理能力約每2年翻倍一次。這一定律也適用于不斷擴大和日趨復雜化的攻擊。例如,8年前被視為安全的數據加密方法現在可能會受到攻擊,因為當時的密鑰長度對于現在來說太短了。

四、多級安全架構

多級安全架構可以有效對抗這些外部威脅,這個概念可避免黑客僅攻破一道安全屏障就能破解整個系統,從而造成巨大的破壞。

Elektrobit (EB) 開發的安全架構包括4個等級,可以分層保護系統。第1級“加密網絡權限”,嚴格限制網絡訪問權,盡可能讓惡意攻擊者難以進入通信網絡。這一級已經能夠提供非常有效的防護。如果第一級被攻破了,第2級“安全車載通信”可確保被交換的所有安全相關消息得到保護,防止被攻擊者篡改。如果這一級也被攻破,第3級“數據使用政策”會要求執行特定的用戶驗證以進行保護。在進一步處理敏感消息內容前,系統會在特定的用戶環境中執行檢查。最后第4級是“檢測與防御”。這一級會檢查整個通信模式的異常情況。如果發現攻擊行為,防御機制會確保恢復被攻破的1-3級安防層。這種多級架構可為針對系統可用性、完整性和保密性的攻擊提供全面的防護。

第一級 加密網絡權限

安全架構的第一級通過四項措施限制對車載網絡的訪問:(1) 集中的非車內連接,(2) 安防區域,(3) 設備身份驗證,(4) 凍結網絡配置

第一個措施旨在減少具有非車內連接的控制設備數量,將潛在攻擊點限制為少數實現充分防護的控制設備。例如,在“智能天線模塊”中,應用程序層網關將外部網絡與內部網絡完全分開,從而保護此類控制設備。這意味著攻擊者無法從外部直接訪問內部網絡節點。

第二個措施將網絡劃分為多個安防區域。這種系統通常無法采用實際的物理劃分形式,所以按照IEEE 802.1Q通過虛擬局域網(VLAN)進行劃分。在以太網頭和數據之間插入VLAN標簽。此標簽會提供VLAN所有以太網消息的唯一標識。VLAN標簽可在交換機或直接在控制設備中添加或移除。這樣可以清晰而高效地分離涉及外部設備(如診斷測試設備)的數據通信和純內部通信。其他安防區域根據汽車域,如信息娛樂系統或傳動系統,或者消息類型(如音頻/視頻、時間敏感的控制數據、非時間敏感的控制數據),通過不同的VLAN建立,一個控制設備可以從屬于多個安防區域。

第三個措施僅允許通過身份驗證的網絡節點進入該網絡。未使用的交換機端口永久停用,或者僅在連接節點成功驗證身份后才能激活以便用于正常通信。網絡節點的身份驗證通過交換機固件或者直接連接到交換機的微控制器進行。

凍結網絡配置是第四個措施。在學習階段后,傳輸以太網幀的交換機中的ARL表,以及用于L2/L3地址轉換的控制設備中的ARP表會進入靜態配置或凍結狀態。這樣可以防止新節點發送或接收消息。為交換機和接收控制設備交替(或額外)提供訪問控制列表,用于比較接收消息的頭地址字段(如IP源地址),并拒絕不符合列表的消息。

第二級 安全車載通信

多級安全架構的第二級通過兩個措施保護車載通信安全:(1) 數據認證和 (2) 數據加密。

數據認證采用對稱加密方法,發送方利用消息數據,為連接分配專門的密鑰,以及新鮮度值(時間戳或計數器),計算消息認證碼 (MAC) 并添加到消息中。接收方執行相同計算,比較計算值與接收消息中的MAC值。這樣接收方能夠有效判斷數據是否來自未經授權的發送方,之前是否記錄過該數據然后重新傳輸(中繼攻擊),或者傳輸過程中是否被惡意中間設備更改(中間人攻擊)。目前,使用非對稱加密方法的數據簽名計算還不能用于車載通信,因為這樣會顯著增加計算量。

第二個措施是用密鑰加密數據(對稱加密),防止被未經授權的第三方竊聽。

在不同通信等級采用IEEE、IETF或AUTOSAR的不同標準化協議實現這兩個措施,如表1所示。

技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖3

表1:安全協議概述

協議所在的通信等級是選擇協議時的一個主要考慮因素。
 
技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖4 圖3: 用于安全通信的協議
 
如圖3所示,MACsec (IEEE 802.1AE) 在OSI第2層工作,因此始終僅直接用于兩個相鄰以太網節點之間。Ipsec (IETF 4302, 4303) 在OSI第3層工作,已經通過發送方與接收方之間的連續線路,實現安全的端到端連接,如圖3所示。TLS (IETF 5246) 在OSI第4層工作,采用TCP傳輸協議。SecOC (AUTOSAR) 在傳輸層工作,所以幾乎獨立于基本網絡協議。除了TCP,還可與汽車中最經常使用的UDP傳輸協議共同使用。SecOC的特點在于可以僅部分傳輸為數據認證而計算的消息認證碼(MAC截斷),因此還可用于較慢的車載網絡(CAN、CAN-FD、FlexRay)。

在我們的安全架構中,我們使用SecOC作為車載系統,加入用于加密傳輸的擴展,以及與車載外部設備通信的TLS。

加密的基本原則是不得對不同功能和設備使用相同的密鑰,不得長時間使用同一密鑰。數據認證、密鑰交換和數據加密都需要不同密鑰。如果用于數據加密的密鑰外泄,其他密鑰不受影響,可以通過現有加密密鑰交換以分配新密鑰。為了限制某一密鑰對應的數據量,可根據用途,為每個密鑰指定具體的有效壽命。此外,可以根據相應汽車域或其他功能方面將通信劃分為不同組,為其分配不同的連接密鑰。

為了高效執行加密功能和安全密鑰存儲,應使用硬件安全模塊 (HSM)。為汽車ECU分配密鑰是一個非常復雜的任務。IT領域的常用方法,如Internet Key Exchange Protocol IKEv2 (IETF 4306) 和X.509證書 (IETF 5280),不適合用于車內密鑰管理。此類方法消耗的資源過多,需要在線連接證書頒發機構服務器(CA服務器),但無法始終保證安全性或者用時過長。應由車內的一個ECU擔任密鑰主設備角色,在中央向其他ECU分發密鑰。密鑰交換通過對稱加密實現,在收到診斷請求,經過一段時間后,或者通過車外服務后端服務器觸發。密鑰主設備是與服務后端服務器進行密鑰管理方面通信的唯一ECU,它使用的是非對稱加密方法。

第三級 數據使用政策

EB多級安全架構的第3級基于“數據使用政策”原則。利用特定的應用程序知識,檢驗并根據需要限制接收的數據(傳感器值或關鍵執行機構命令),考慮值的順序、汽車狀態或其他傳感器數據。

這樣,可以發現嘗試篡改顯示數據的舉動,或者在正常汽車運行過程中阻止執行特定的診斷功能。此外,可以定義執行特定功能前必須滿足的具體要求,例如,打開駕駛員車門后,才能執行診斷特定功能。這樣可以限制處理具有不合理內容的接收消息,從而避免惡意攻擊造成的不利影響。這類保護可作為額外的安防措施,但設計此類數據使用政策時必須考慮其潛在的副作用。航空行業的反向推力示例可以說明這一點。在著陸時,飛機渦輪的反向推力為輪子提供額外或替代的制動方法。

在飛行過程中惡意觸發反向推力導致飛機墜毀的事故之后,人們采用數據使用政策形式實施不同的措施,確保在著陸過程中,只有當飛機落在地面后才能啟動反向推力。例如,輪子必須正在轉動就是其中一個條件。但是,在結冰的跑道上,輪子可能無法轉動,這樣就無法觸發作為唯一制動方式的反向推力。在此情況下,數據使用政策過于強大,妨礙作為重要制動方式的反向推力的正確運行。

設計第3級數據使用政策時,應考慮特定應用程序的完整環境。其目的是發現因篡改而產生的不合理數據。應接受所有其他數據,以確保系統功能的可用性。

第四級 檢測與防御

在第4級“檢測與防御”,檢查通信模式異常,根據需要確定防御措施。假定惡意攻擊改變了已知通信模式。突然收到異常的定期消息,或者消息的MAC認證反復失敗。有一種極端情況是拒絕服務攻擊,反復發送消息,其目標是導致信息過載。這會極大影響系統的正常通信。

交換機已經提供許多檢測異常的機制。如果超過以前設置的帶寬限制,或者IP消息具有相同目標和源地址,某些交換機可以在硬件中檢測此情況。此外,可以在選定的控制設備上的軟件中實施檢測算法。

如果檢測到此類異常情況,可以提供多個防御模式。直接使用交換機阻止已識別的干擾發射器,恢復1級防護。完成后,可以交換數據加密密鑰,恢復2級防護,應用程序可以關閉特定功能,重新實現3級防護。

因此,這些防御機制可以恢復被攻擊者攻破的安全架構防護層。根據應用情況 ,決定是否要繼續無阻礙運行,或者由自動化汽車的駕駛員再次接管方向盤。在任何情況下均建議使用故障內存項(診斷故障代碼)。

這里顯示的架構用于防范針對可用性、完整性和保密性的惡意攻擊,每級的防護類型略有不同(參見表2)。1級在所有的三個方面提供防護。2級保護完整性和保密性,但無法抵擋針對可用性的攻擊(如拒絕服務攻擊)。3級僅提供完整性防護。4級能夠抵擋針對可用性的攻擊,提供針對完整性的部分防護。這樣,安全機制在不同等級互補,第1級保護性最強并且最為重要。如果第1級被實際攻破,其他級可以逐步幫助限制攻擊影響,明確檢測攻擊和采取必要措施。
 
技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖5

表2:多級安全架構提供的防護效果


Elektrobit已經在AUTOSAR通信堆棧環境中實施所述安全架構(參見圖5)。可以合理配置現有AUTOSAR軟件模塊來實現以上防御等級,但在一些情況下,需要部分專有擴展以實現完整功能。通過在以太網EthSwt模塊和EthIf模塊配置交換機,實現1級防護。可以在Tcplp模塊中配置接收方列表。
 
技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖6

圖4:在AUTOSAR中實施多級安全架構

 
在2級,可以通過SecOC模塊和CSM /HSM加密模塊實現數據完整性。此外,需要加密(SecOC)和密鑰管理 (SecKeyM)擴展。3級采用應用程序軟件組件的形式實現。4級的實現方式是配置交換機,添加與其他等級相關模塊交互的軟件擴展(SecMon)。

多級安全架構對于保護通過車載以太網進行的通信來說具有重要的作用。安防性和可信性彼此相關,這對于自動駕駛功能來說非常重要,尤其是在高度復雜情況下,汽車系統的功能關系到乘客的生命安全。這里用到IT領域的大量知識,交換機配置、VLAN標簽和許多方法已經在IT領域廣泛應用了很長時間。汽車領域具有特殊要求,但在充分定義的環境之下可以實現優化。

Elektrobit開發的安全架構考慮了所有這些內容,采用兼容AUTOSAR標準的方式集成這些解決方案。

技術 | 用于自動駕駛的安全車載以太網——多級安全架構的圖7


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP