【車載通訊協定資安】
CAN / CAN FD 總線安全防護
EB AutoCore SecOC 報文鑑別、新鮮度防重放與 IdsM 總線防洪實踐。全面解析在 AUTOSAR CP 架構中,如何透過 SecOC 模組與 IdsM 入侵檢測,抵禦 CAN 總線竊聽、偽造、重放攻擊與總線洪泛。
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 狀態。
2. EB AutoCore CAN 縱向與橫向資安架構
為防禦上述總線威脅,在 AUTOSAR Classic Platform (CP) 架構下,EB AutoCore / ACG (AutoCore Generic) 透過 SecOC(安全通訊)、Crypto Stack(密碼棧) 與 IdsM(入侵檢測) 模組,構建了兼顧即時性與高安全性的防護架構:
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
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),足以抵禦隨機偽造與暴力碰撞攻擊。 |
4. 發送與接收端完整互動時序
下圖展示發送端 ECU 透過 EB AutoCore SecOC 進行報文安全封裝,經由 CAN FD 匯流排傳輸,並在接收端 ECU 進行新鮮度同步校驗與 MAC 驗證的端到端時序:
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 AUTOSAR 提供標準化 CAN/CAN FD 安全模組供客戶開發使用;ECU 與整車是否符合特定法規或通過資安認證,屬於 Tier 1 與 OEM 客戶系統層級之工程範疇。捷策動能基於 EB 原生機制提供配置與技術支持服務,不修改 EB 原廠代碼,非 AUTOSAR 基礎軟體開發商。歡迎聯絡捷策動能團隊獲取技術支持。