1. 汽車二層安全
在當(dāng)今的車載網(wǎng)絡(luò) (IVN) 中,許多傳感器、執(zhí)行器和控制單元相互連接,每秒產(chǎn)生大量數(shù)據(jù)。此外,所有這些傳感器都需要以嚴(yán)格的最小延遲相互通信。車輛中的不同組件需要不同的帶寬和延遲,并且隨著汽車中使用的 ECU 數(shù)量的增加,復(fù)雜性也在不斷增加。今天的車輛很容易擁有 45 個但有時甚至超過 120 個嵌入式 ECU。因此,不同的網(wǎng)絡(luò)技術(shù)被用于成本效率和靈活性,以最適合技術(shù)和經(jīng)濟。但是它們有一個共同點,那就是安全性的弱點,網(wǎng)絡(luò)技術(shù)無論內(nèi)容如何,都會傳輸它從上層獲得的信息。
可以在系統(tǒng)中的開放系統(tǒng)互連 (OSI) 模型的不同位置添加安全性。今天的安全主要用于其中的四個來保護(hù)通信。與車載通信最相關(guān)的是在第 2 層到第 4 層之間進(jìn)行調(diào)整。TLS 和 SecOC 用于傳輸層,IPsec 用于網(wǎng)絡(luò)層,MACsec 和 CANsec 用于數(shù)據(jù)鏈路層。一般來說,通信層級的上升會讓信號延遲上升,這對于前面提到的關(guān)鍵任務(wù)應(yīng)用程序來說可能是一個挑戰(zhàn)。
LIN 或 CAN 等經(jīng)典汽車協(xié)議對幀使用的有效載荷非常短;這使得很難包含額外的安全信息。以太網(wǎng)和 CAN-XL 可以處理具有更大負(fù)載的幀,這使它們有資格進(jìn)行安全通信。在這篇博客中,我們將關(guān)注第 2 層安全,我們不會考慮更高安全層,如 SecOC 或 IPsec。
第 2 層安全性提供了強大的安全性,并且只需要少量的額外開銷,這使得該協(xié)議適合硬件實現(xiàn)。然后可以確保通信幀的完整性、機密性和真實性。當(dāng)在硬件中實現(xiàn)時,它可以卸載 CPU。
2.MACsec
MACsec 架構(gòu)包括兩個組件。IEEE 802.1X 中定義的 MACsec 密鑰協(xié)商 (MKA) 協(xié)議不屬于本博客的一部分,它指定了經(jīng)過身份驗證的密鑰的交換和安全通道的建立。第二個組成部分是 IEEE 802.1AE 標(biāo)準(zhǔn),它為媒體訪問獨立協(xié)議的數(shù)據(jù)機密性和完整性提供基于第 2 層的加密。MACsec 最初是為 LAN(局域網(wǎng))安全而開發(fā)的。然而,如今通過使用 VLAN 標(biāo)簽,MACsec 可以用于更廣泛的網(wǎng)絡(luò),例如 WAN(廣域網(wǎng))。這樣它就可以支持純點對點(P2P)安全以及端到端(E2E)安全。在 P2P 模式下,網(wǎng)絡(luò)鏈路上的所有流量都是安全的,但在交換機內(nèi)部沒有安全通信,還需要仔細(xì)定義網(wǎng)絡(luò),以防止通信路徑上出現(xiàn)不安全的鏈接。在 E2E 模式中,邊緣節(jié)點之間的完整路徑是獨立于網(wǎng)絡(luò)配置的。圖 2 描繪了一個網(wǎng)絡(luò)拓?fù)洌f明了不同的安全鏈路 P2P 和 E2E。
圖 2 網(wǎng)絡(luò)拓?fù)?/p>
MACsec 數(shù)據(jù)包由以太網(wǎng)幀通過添加安全標(biāo)簽 (SecTAG) 和完整性校驗值 (ICV) 形成,如圖 3 所示。
圖3 MACsec幀格式
ETYPE ——MACsec Ethertype 是 2 字節(jié)長,與普通的 Ethertype 字段一樣。但它有一個固定值 0x88e5 表示這個幀是一個 MACsec 幀
TCI – 是一個 1 字節(jié)的 TAG 控制信息 (TCI) 字段,包含幾條信息。版本號 (V)、終端站 (ES)、存在 SCI (SC)、單副本廣播 (SCB)、加密有效負(fù)載 (E)、更改文本 (C) 和關(guān)聯(lián)編號 (AN)
SL – 表示短幀; 該字段長度為 6 位,如果該數(shù)字小于 48,則指示 SecTAG 的最后一個字節(jié)和 ICV 的第一個字節(jié)之間的字節(jié)。否則,SL 設(shè)置為零。該字節(jié)的第 7 位和第 8 位始終為零。
PN– Packet Number(4byte)主要用于防止重放攻擊。在每個 MACsec 幀中,PN 是唯一的,通常是遞增的。PN 也用作密碼套件的初始值 (IV)。
SCI – 8 字節(jié)的安全通道標(biāo)識符可用于識別流量屬于哪個安全關(guān)聯(lián)。
ICV – 完整性檢查值附加到每個 MACsec 幀并確保數(shù)據(jù)的完整性。ICV 的長度取決于密碼套件,介于 8 到 16 個字節(jié)之間。
如圖 3 所示,IEEE 802.1Q VLAN 是加密有效負(fù)載的一部分。為了支持端到端應(yīng)用,VLAN 必須保持未加密狀態(tài),因此 VLAN 可以選擇位于加密標(biāo)頭之外。啟用此選項允許客戶配置 VLAN (802.1Q) 標(biāo)記以繞過 MACsec 加密;但請注意,在這種情況下,VLAN 標(biāo)記也不是身份驗證的一部分。
圖 4 VLAN 感知 MACsec 幀格式
MACsec 在兩個或多個受信任主機之間生成安全連接關(guān)聯(lián) (CA)。圖 6 描繪了連接到共享媒體 LAN(例如 10BASE-T1S)的四個站。三臺主機 A、B 和 C 之間的安全 CA 由 MACsec 密鑰協(xié)商協(xié)議 (MKA) 創(chuàng)建。每個 CA 都由單向安全通道 (SC) 支持,每個 SC 都支持使用對稱密鑰加密的幀安全傳輸。每個 SC 都由重疊的安全關(guān)聯(lián) (SA) 序列支持。每個 SA 使用新的安全關(guān)聯(lián)密鑰 (SAK) 來提供 MACsec 服務(wù)。如圖 5 所示,主機 D 被排除在此 CA 之外,它可以與其他主機通信,但不安全。它沒有允許它參與當(dāng)前支持 SCA、SCB 或 SCC 的任何安全關(guān)聯(lián) (SA) 的安全關(guān)聯(lián)密鑰 (SAK);因此,D 不能損害由 A、B 和 C 交換的任何幀的完整性、機密性或來源。主機也可以使用多個 SC,例如主機上的每個應(yīng)用程序都有一個不同的 SC。然后,它還在同一主機上保護(hù)應(yīng)用程序之間的安全。每個 SC 由一個安全通道標(biāo)識符 (SCI) 標(biāo)識,該標(biāo)識符由一個 48 位 MAC 地址和一個 16 位端口標(biāo)識符連接而成。
像
圖 6 MACsec 連接關(guān)聯(lián)
圖 5 MACsec 安全通道
MACsec 使用 AES-128 對稱塊的 Galois/Counter 操作模式作為默認(rèn)密碼套件。此外,它還支持 256 位的 GCM-AES 和 128 位和 256 位的 GCM-AES-XPN。
3. CANsec
CANsec 是 CAN in Automation (CiA) 正在開發(fā)的新標(biāo)準(zhǔn) CiA613-2,作為新開發(fā)的 CAN XL 協(xié)議的擴展,支持 CAN 物理層的更高帶寬和更長的有效載荷。它指定了第 2 層 CAN 安全協(xié)議,旨在保護(hù)基于 CAN 的網(wǎng)絡(luò)中數(shù)據(jù)的完整性、新鮮度、來源真實性和機密性。該標(biāo)準(zhǔn)的重點是數(shù)據(jù)鏈路層。該規(guī)范不包括密鑰協(xié)議,與 MACsec 一樣。CANsec 專注于 CAN XL 網(wǎng)絡(luò),但工作組正在考慮選擇性地將其擴展到 CAN FD 網(wǎng)絡(luò)。CANsec 幀格式類似于 MACsec 幀格式:在有效負(fù)載之前添加 CANsec 標(biāo)頭,在有效負(fù)載末尾插入完整性校驗值 (ICV)。圖 7 顯示了抽象幀格式。
圖 7 CANsec 幀格式
CCI – 密碼控制信息,這 11 位由以下子字段組成
VN – CANsec 版本號
CM – 密碼模式,它指定了兩種可用的安全操作之一
0 認(rèn)證方式
1 帶有關(guān)聯(lián)數(shù)據(jù)的認(rèn)證加密 (AEAD)
res——保留位
CSCI – CAN 安全通道標(biāo)識符
SCI – 安全通道標(biāo)識符 16 位
AN – 關(guān)聯(lián)編號 1bit
FV——新鮮度值,64位新鮮度計數(shù)器的截斷值
CANsec 有所謂的安全區(qū) (SZ),它是一組可以安全通信的節(jié)點。SZ 在邏輯上與 MACsec 的 CA 相當(dāng)。它是節(jié)點物理網(wǎng)絡(luò)上的邏輯覆蓋,可以覆蓋兩個或多個物理 CAN 鏈路。SZ 由更高層協(xié)議定義。圖 9 顯示了一個具有四個節(jié)點的 SZ 示例。節(jié)點 A 到 D 可以一起通信,它們都連接到同一個物理 CAN 網(wǎng)絡(luò)。節(jié)點 A、B 和 C 被配置為屬于同一個 SZ,它們可以安全地通信。節(jié)點 D 不屬于同一個 SZ。節(jié)點 D 無法驗證任何接收到的安全幀,并且如果接收到的安全幀被加密,則無法解密它。
對于使用安全通道 (SC) 的節(jié)點 CANsec 之間的通信,這不區(qū)分單播、多播或廣播數(shù)據(jù)傳輸。一個連接結(jié)合了不同的獨特SC。圖 8 顯示了帶有 SCA 的 SZ,用于在多播數(shù)據(jù)傳輸中將安全幀從節(jié)點 A 傳輸?shù)焦?jié)點 B 和 C。節(jié)點 B 使用 SCB 和節(jié)點 C 分別使用 SCC 來傳輸安全幀。SC 由安全通道標(biāo)識符 (SCI) 標(biāo)識。SCI 在所有 SZ 中都是獨一無二的。
圖 9 CANsec 安全區(qū)
圖 8 CANsec 安全通道
除了伽羅瓦/計數(shù)器模式密碼套件 AES-GCM-128 和 AES-GCM-256 之外,CANsec 還支持基于密碼的消息驗證碼 (CMAC) AES-CMAC-128 和 AES-CMAC-256。
四、比較與結(jié)論
第 2 層安全可以保護(hù)網(wǎng)絡(luò)上的所有通信,這對于 IPSec 等其他安全概念是不可能的。IPSec 只能保護(hù) IP 流量,但不能保護(hù) ARP 或 gPTP 等其他流量。第 2 層安全性不限于最初定義的點對點安全性;它支持當(dāng)今有限的端到端安全性。這沒有為 CANsec 明確定義(截至今天,標(biāo)準(zhǔn)化工作仍在進(jìn)行中),但根據(jù) CANsec 實施,應(yīng)該可以繞過流量到下一層,以實現(xiàn)簡單的橋接功能,無需對幀進(jìn)行解密和加密。第 2 層安全無法防止來自更高層的惡意第 3 層流量。但是在這種情況下,ECU已經(jīng)被黑客超越了。
盡管如此,第 2 層安全性只需要很小的軟件開銷,并且延遲非常小(線速安全性)。為了獲得最佳性能,第 2 層安全需要硬件支持,這會增加額外成本。因此,過去它不是主流,但安全門檻越來越高。IPsec 或 SecOC 等更高層的安全協(xié)議正在竊取系統(tǒng)的應(yīng)用程序性能。這就是如今第 2 層安全在汽車領(lǐng)域變得有趣的原因。
表 1 MACsec 與 CANsec 比較
-
CAN
+關(guān)注
關(guān)注
57文章
2719瀏覽量
463382 -
計數(shù)器
+關(guān)注
關(guān)注
32文章
2254瀏覽量
94367 -
瑞薩電子
+關(guān)注
關(guān)注
37文章
2841瀏覽量
72149
發(fā)布評論請先 登錄
相關(guān)推薦
評論