🛡️ 車載通訊協定資安技術專題 · CAN / CAN FD 篇

【車載通訊協定資安】
CAN / CAN FD 總線安全防護

EB AutoCore SecOC 報文鑑別、新鮮度防重放與 IdsM 總線防洪實踐。全面解析在 AUTOSAR CP 架構中,如何透過 SecOC 模組與 IdsM 入侵檢測,抵禦 CAN 總線竊聽、偽造、重放攻擊與總線洪泛。

SecOC 鑑別 新鮮度防重放 IdsM 異常偵測 ISO 21434

1. CAN / CAN FD 總線安全痛點與威脅情境

Controller Area Network(CAN)與 CAN Flexible Data-Rate(CAN FD)長年作為車載動力、底盤與車身控制的骨幹通訊網路。然而,CAN 協定誕生之初聚焦於即時性與容錯性,在原始物理層與資料鏈結層設計上缺乏內建的資安機制:

  • 缺乏發送者真實性鑑別(No Sender Authentication):CAN 訊框以 CAN-ID 作為仲裁依據,任何掛載在同一雙絞線上的節點皆可廣播任意 CAN-ID 報文,接收端無法確認訊息是否來自合法 ECU。
  • 明文無完整性保護(No Data Integrity Check):傳統 CAN 僅具備 15-bit CRC 校驗傳輸位元錯誤,攻擊者可透過中間人攻擊(MITM)隨意竄改負載資料並重新計算標準 CRC。
  • 易遭受重放攻擊(Replay Attack):攻擊者錄製正常行駛中的 CAN 報文(例如解鎖門鎖、提升引擎轉速),並在特定時刻重播,接收端無從辨別報文的新鮮度。
  • 仲裁機制引發之阻斷攻擊(Bus-Off / Flooding DoS):CAN 的「顯性優先(Dominant-bit Dominance)」仲裁特性,使高優先級 ID(如 0x000)可持續佔用匯流排,甚至攻擊者故意產生位元錯誤引導目標節點進入 Bus-Off 狀態。
🚨 實車威脅後果
未加防護的 CAN 總線一旦遭到 OBD-II 接頭、T-Box 遠端滲透或網關跳板入侵,惡意攻擊者可輕易偽造煞車扭矩、關閉車燈或竄改轉向感知訊號,直接危害車輛駕駛生命安全。

2. EB AutoCore CAN 縱向與橫向資安架構

為防禦上述總線威脅,在 AUTOSAR Classic Platform (CP) 架構下,EB AutoCore / ACG (AutoCore Generic) 透過 SecOC(安全通訊)、Crypto Stack(密碼棧) 與 IdsM(入侵檢測) 模組,構建了兼顧即時性與高安全性的防護架構:

%%{init: {"themeVariables": {"fontSize": "26px", "actorFontSize": "26px", "messageFontSize": "26px", "noteFontSize": "26px"}}}%% flowchart TD classDef app fill:#e9f2ff,stroke:#0052cc,stroke-width:2px,color:#091e42; classDef sec fill:#e3fcef,stroke:#00875a,stroke-width:2px,color:#091e42; classDef bus fill:#fff0b3,stroke:#d97008,stroke-width:2px,color:#091e42; classDef csm fill:#f3e8ff,stroke:#6554c0,stroke-width:2px,color:#091e42; APP["【車載應用層】車載控制 SW-C (煞車 / 轉向 / 扭矩)"]:::app PDUR["【PDU 路由層】PduR 模組"]:::app SECOC["【安全車載通訊】EB AutoCore SecOC
Secured I-PDU 封裝 · MAC 截斷校驗"]:::sec FVM["【新鮮度值管理】FVM Callout 介面
Trip Counter + Reset Counter + Message Counter"]:::sec CSM["【密碼服務層】CSM 密碼服務管理器
Csm_MacGenerate / Csm_MacVerify 快速調度"]:::csm CRYIF["【密碼介面與驅動】CryIf + Crypto Driver
底層硬體安全核心加速 (AES-128-CMAC)"]:::csm CANIF["【CAN 介面層】CanIf 模組 + 資安感測器 (Security Sensor)"]:::bus IDSM["【車載入侵檢測】EB AutoCore IdsM 模組
未知 CAN ID 偵測 · MAC 驗證失敗防洪過濾"]:::sec CAN_DRV["【MCAL 驅動層】Can Driver + 硬體 CAN 控制器"]:::bus APP --> PDUR PDUR -->|Authentic I-PDU| SECOC SECOC <-->|獲取新鮮度值| FVM SECOC <-->|非同步/同步 MAC 計算| CSM CSM <--> CRYIF SECOC -->|Secured I-PDU| CANIF CANIF --> CAN_DRV CANIF -.->|上報異常 CAN 事件| IDSM SECOC -.->|上報 MAC 驗證失敗事件| IDSM
圖 1:EB AutoCore CAN / CAN FD 總線安全防護整體架構

3. SecOC 報文封裝與新鮮度值機制 (FVM)

在 CAN 與 CAN FD 網路中,傳輸頻寬與延遲極為敏感。EB AutoCore SecOC 透過標準的雙重截斷機制(Double Truncation),在確保足夠密碼強度的同時,極小化對總線頻寬的消耗:

欄位名稱 位元長度範例 功能與處理方式
Authentic Payload 1 ~ 56 Bytes 上層應用的原始控制訊號資料(如車速、煞車扭矩等)。
Truncated Freshness Value 4 ~ 8 bits (可配置) 僅傳送單調遞增計數器的最低有效位(LSB)。接收端本地透過歷史快取與滑動窗口重建完整 64-bit FV。
Truncated MAC 28 ~ 64 bits (可配置) 由 AES-128-CMAC 產生的 128-bit MAC 中截取高位(MSB),足以抵禦隨機偽造與暴力碰撞攻擊。
💡 CAN FD 相較於傳統 CAN 的資安優勢
傳統 CAN 最大單幀 Payload 僅為 8 位元組,若附加 MAC 與新鮮度值,有效訊號空間將大幅壓縮。而 CAN FD 支援高達 64 位元組的資料負載,使工程師能夠配置 64-bit 完整 MAC 與較長截斷新鮮度,大幅增強密碼學防護餘裕。

4. 發送與接收端完整互動時序

下圖展示發送端 ECU 透過 EB AutoCore SecOC 進行報文安全封裝,經由 CAN FD 匯流排傳輸,並在接收端 ECU 進行新鮮度同步校驗與 MAC 驗證的端到端時序:

%%{init: {"themeVariables": {"fontSize": "32px", "actorFontSize": "32px", "messageFontSize": "32px", "noteFontSize": "32px"}}}%% sequenceDiagram participant Tx_App as 發送端 SW-C participant Tx_SecOC as 發送端 SecOC participant Tx_CSM as 發送端 CSM / Crypto participant CAN_Bus as CAN / CAN FD 匯流排 participant Rx_SecOC as 接收端 SecOC participant Rx_CSM as 接收端 CSM / Crypto participant Rx_IdsM as 接收端 IdsM participant Rx_App as 接收端 SW-C Note over Tx_App, Tx_CSM: 發送端:報文封裝階段 Tx_App->>Tx_SecOC: 1. PduR 發送請求:Authentic I-PDU (Data) Tx_SecOC->>Tx_SecOC: 2. 取得完整新鮮度 (Complete FV) Tx_SecOC->>Tx_CSM: 3. Csm_MacGenerate(Data + Complete FV) Tx_CSM-->>Tx_SecOC: 4. 回傳完整 128-bit MAC Tx_SecOC->>Tx_SecOC: 5. 組裝 Secured I-PDU (Data + Truncated FV + Truncated MAC) Tx_SecOC->>CAN_Bus: 6. CanIf / CanDriver 廣播 CAN FD 訊框 Note over CAN_Bus, Rx_App: 接收端:鑑別與防放行階段 CAN_Bus->>Rx_SecOC: 7. CanIf 接收中斷:收到 Secured I-PDU Rx_SecOC->>Rx_SecOC: 8. 依據收到的 Truncated FV 重建完整 FV Rx_SecOC->>Rx_CSM: 9. Csm_MacVerify(Data + 重建 FV, Truncated MAC) alt 情況 A:MAC 驗證成功 (E_OK) Rx_CSM-->>Rx_SecOC: 10a. 驗證通過 (MAC Match) Rx_SecOC->>Rx_App: 11a. PduR_SecOCTxConfirmation / 交付 Authentic Data Rx_SecOC->>Rx_SecOC: 12a. 更新本地新鮮度同步快取 else 情況 B:MAC 比對失敗或新鮮度失步 (E_NOT_OK) Rx_CSM-->>Rx_SecOC: 10b. 驗證失敗 (Mismatch) Rx_SecOC->>Rx_SecOC: 11b. 立即拋棄此幀非法報文 (丟棄不送至應用層) Rx_SecOC->>Rx_IdsM: 12b. IdsM_SetSecurityEvent(SEV_MAC_VERIFICATION_FAILED) end
圖 2:EB AutoCore CAN / CAN FD SecOC 端到端鑑別與異常處置時序圖

5. CanIf 與 IdsM 總線異常偵測與防洪

僅依賴 SecOC 驗證並不能完全消除惡意節點發動的「日誌阻斷攻擊(Log Flooding)」。攻擊者若故意以 1ms 週期持續發送錯誤 MAC 報文,若接收端每次驗證失敗都寫入 Flash 或上報網關,ECU 將在幾秒內資源耗盡崩潰。

EB AutoCore 藉由 IdsM 過濾器鏈(Filter Chain) 與 CanIf 資安感測器 實現主動防護:

  • CanIf Security Sensors:在驅動層直接掛載感測機制,檢驗接收到的 CAN-ID 是否存在於合法白名單中、檢查 DLC(Data Length Code)是否相符。未授權 ID 在中斷層即被攔截。
  • 取樣與門檻過濾(Sampling & Threshold):當 SecOC 回報 SEV_MAC_VERIFICATION_FAILED 時,IdsM 啟動滑動窗口統計,在單位時間內僅聚合記錄一次,多餘錯誤直接拋棄並累計計數器,保護 CPU 與儲存資源。

6. EB tresos 關鍵配置參數解析

在 EB tresos Studio 中進行 CAN 資安防護配置時,核心參數需在 SecOC、Csm 與 IdsM 模組間嚴密對應:

配置模組與容器 參數名稱 (Parameter Name) 配置取值範例 工程意義與防護考量
SecOC / SecOCRxSecuredPdu SecOCFreshnessValueTruncLength 8 (bits) 匯流排上傳輸的新鮮度截斷長度。越長防重放滑動窗口越寬,但佔用頻寬增加。
SecOC / SecOCRxSecuredPdu SecOCAuthInfoTruncLength 32 或 64 (bits) 截斷 MAC 長度。動力安全關鍵報文建議配置 64-bit,一般車身訊號可配置 32-bit。
SecOC / SecOCGeneral SecOCPduProcessing ASYNCHRONOUS 非同步調度模式。由 SecOC_MainFunction 派發,防止 MAC 計算阻塞 CAN 接收中斷。
IdsM / IdsMEventFilter IdsMFilterSamplingN 10 每 10 次同類 MAC 錯誤記錄 1 次,直接過濾掉 90% 突發性攻擊雜訊,防範 DoS 攻擊。

7. 法規符合性(UN R155 / ISO 21434)工程映射

在進行整車資安型式認證時,CAN 總線的通訊防護直接對應多項國際標準條款:

  • ISO 21434 第 10 章(產品開發階段):透過 EB AutoCore SecOC 的加密鑑別機制,滿足車載威脅分析與風險評估(TARA)中針對「訊號偽造(Spoofing)」與「篡改(Tampering)」之安全目標(Cybersecurity Goals)。
  • UNECE UN R155 Annex 5(威脅緩解措施):落實 M13「防範車載通訊遭重放攻擊」與 M14「防範未經授權之報文寫入」,確保車輛生命週期內的通訊完整性。

🚀 Jotactic(捷策動能):EB AUTOSAR CAN / CAN FD 資安技術支持與服務

車載 CAN/CAN FD 資安防護涉及通訊矩陣、新鮮度計數器同步與密碼運算的跨模組整合。Jotactic(捷策動能) 基於 EB AUTOSAR 原生架構與標準配置工作流程,在不修改 EB 原廠代碼的前提下,為客戶提供專業技術服務:

✔
EB tresos 模組參數配置服務:協助客戶在 EB tresos Studio 中進行 SecOC 報文映射、新鮮度長度截斷、CSM 密碼原語關聯與 CanIf 資安感測器的標準參數配置與 ARXML 匯入匯出。
✔
技術支持與諮詢服務:提供 EB AUTOSAR CAN 安全通訊標準配置流程與 FVM Callout 介面對接的技術諮詢,協助客戶排查配置過程中的問題。
✔
基於 EB 機制的客製化 Demo 專案開發:基於 EB 原生架構與標準 API 建立 CAN/CAN FD SecOC 驗證 Demo 專案,輔助客戶進行模組功能驗證。

💡 備註:EB AUTOSAR 提供標準化 CAN/CAN FD 安全模組供客戶開發使用;ECU 與整車是否符合特定法規或通過資安認證,屬於 Tier 1 與 OEM 客戶系統層級之工程範疇。捷策動能基於 EB 原生機制提供配置與技術支持服務,不修改 EB 原廠代碼,非 AUTOSAR 基礎軟體開發商。歡迎聯絡捷策動能團隊獲取技術支持。