【EB AutoCore 模組精解】
SecOC 安全車載通訊
深度拆解 FVM 新鮮度管理、MAC 截斷校驗與防重放攻擊實務。CAN / CAN FD 匯流排天生缺乏身分鑑別機制,極易面臨報文偽造與重放攻擊。深入解析 EB AutoCore SecOC 的 Secured I-PDU 組裝邏輯、新鮮度值管理器(FVM)同步機制、滑動窗口校驗演算法,以及如何以微秒級開銷構築 ISO 21434 規範下的匯流排縱深防禦。
1. 為什麼 CAN FD 必須強制引入 SecOC?
在 ISO/SAE 21434 車載網路安全工程體系中,「通訊報文未經身分鑑別與防竄改保護」向來是 TARA(威脅分析與風險評估)中最顯著的高風險攻擊途徑之一。
傳統 CAN / CAN FD 採用廣播機制,匯流排上任一節點皆可監聽並偽造其他節點的訊息 ID。攻擊者若透過 OBD-II 介面、外加惡意硬體或滲透車載網關(Gateway),即可在匯流排上發送偽造的煞車、轉向或動力扭矩報文。
AUTOSAR 定義了 SecOC(Secure Onboard Communication,安全車載通訊) 規範。在 EB AutoCore 架構中,SecOC 作為 PduR 與底層介面之間的通訊資安防火牆,為每幀關鍵控制訊號提供兩大核心防護:
- 真實性與完整性校驗(Authenticity & Integrity):附加訊息鑑別碼(MAC),保證報文確實由合法發送端發出且未遭竄改。
- 防重放攻擊(Anti-Replay Protection):結合單調遞增的新鮮度值(Freshness Value),確保歷史抓包的合法報文無法被黑客重新注入執行。
2. Secured I-PDU 結構深度拆解:安全性與頻寬開銷的極致平衡
在 EB AutoCore 實作中,SecOC 將上層應用資料(Authentic I-PDU)包裝為匯流排傳輸的 Secured I-PDU:
車載控制訊號資料"]:::inBox FV_FULL["【輸入元素】完整新鮮度值 (Complete FV)
64-bit 完整新鮮度計數器"]:::inBox KEY["【輸入元素】對稱金鑰 (CryptoKey)
AES-128 / CMAC Key"]:::inBox MAC_ENGINE["【密碼學運算:調用 CSM】
AES-128-CMAC 演算法
輸入:Data + Complete FV"]:::calcBox MAC_FULL["【計算結果】完整 128-bit MAC 認證碼"]:::calcBox FV_TRUNC["【新鮮度截斷】Truncated FV
發送低 4~8 bits 降低頻寬開銷"]:::truncBox MAC_TRUNC["【MAC 截斷】Truncated MAC
截取高 28~64 bits 安全認證標籤"]:::truncBox FINAL_PDU["【最終傳輸:Secured I-PDU】
Authentic Payload + Truncated FV + Truncated MAC"]:::pduBox DATA --> MAC_ENGINE FV_FULL --> MAC_ENGINE KEY --> MAC_ENGINE MAC_ENGINE --> MAC_FULL MAC_FULL --> MAC_TRUNC FV_FULL -.->|截斷處理| FV_TRUNC DATA --> FINAL_PDU FV_TRUNC --> FINAL_PDU MAC_TRUNC --> FINAL_PDU
3. FVM 新鮮度值管理器演算法精析:抗重放的心臟
新鮮度值管理器(FVM, Freshness Value Manager)是 SecOC 體系中最具技術深度的核心。EB AutoCore 支援靈活的 FVM 外掛與適配架構。
常見複合計數器架構:
| 計數器層級 | 位元寬度(典型) | 遞增條件與更新規則 | 匯流排傳輸方式 |
|---|---|---|---|
| Trip Counter | 16 ~ 24 bit | 每次車輛上電(KL15 ON)或重新發起 Session 時遞增;持久化保存於 NvM。 | 不傳輸(僅本地維護) |
| Reset Counter | 16 ~ 24 bit | 當 Message Counter 達到上限溢位時遞增。 | 透過專用同步 PDU 定期廣播 |
| Message Counter | 16 ~ 32 bit | 每次發送該 PDU 時單調遞增 1。 | 僅傳輸最低 4~8 bit (Truncated FV) |
接收端重建邏輯(Reconstruction Algorithm):
接收端維護本地期望的 Expected_Message_Counter。當收到截斷的 Truncated_FV 時,比較兩者的低位差值:
- 若接收低位在允許的滑動窗口範圍內(如 $+1 \sim +3$),則直接繼承本地高位計數器,判定為合法順序並重建完整 64 位元 FV。
- 若低位小於或等於歷史值,或差值超出窗口,判定發生嚴重的通訊脫節或重放攻擊,拒絕重建並上報驗證失敗。
4. EB AutoCore SecOC 雙向流水線
5. EB tresos 配置實踐與關鍵調優參數
在 EB tresos 配置 SecOC 專案時,需特別關注以下核心參數項:
| 配置容器 / 參數項 | 典型設定值 | 工程含義與調優建議 |
|---|---|---|
SecOCRxAuthDataFreshnessStartPosition |
位元組偏移量(如 0) | 定義新鮮度值在原始報文中的拼接起始位置。 |
SecOCFreshnessValueTruncLength |
4 ~ 8 bits | 匯流排上傳輸的新鮮度長度。越長同步越穩,但佔用頻寬越多。 |
SecOCAuthInfoTruncLength |
28 ~ 64 bits | 截斷 MAC 長度。動力安全報文建議至少 32-bit 以上。 |
SecOCUseCryptoCVMSyncRef |
指向 CSM Job | 關聯底層非同步 MAC 驗證任務。 |
🚀 Jotactic(捷策動能):EB AUTOSAR SecOC 技術支持與配置服務
SecOC 的導入涉及通訊矩陣定義、新鮮度值介面與 CSM 密碼運算的模組協同。Jotactic(捷策動能) 基於 EB AUTOSAR 原生架構與標準配置工作流程,在不修改 EB 原廠代碼的前提下,為客戶提供專業技術服務:
- EB tresos SecOC 模組參數配置服務:協助客戶在 EB tresos Studio 中進行 Secured I-PDU 映射、截斷位元數(MAC / FV)、CSM Job 關聯與新鮮度介面的標準參數配置與 ARXML 匯入匯出。
- 技術支持與諮詢服務:提供 EB AUTOSAR SecOC 模組標準配置流程與驗證機制的技術諮詢,協助客戶排查配置過程中的問題。
- 基於 EB 機制的客製化 Demo 專案開發:基於 EB 原生架構與標準 Callout 機制建立 SecOC 驗證 Demo 專案,輔助客戶進行模組功能驗證。
💡 備註:EB AUTOSAR 提供標準化 SecOC 安全通訊模組供客戶開發使用;ECU 與整車是否符合法規或通過通訊安全認證,屬於 Tier 1 與 OEM 客戶系統層級之工程範疇。捷策動能基於 EB 原生機制提供配置與技術支持服務,不修改 EB 原廠代碼,非 AUTOSAR 基礎軟體開發商。歡迎聯絡捷策動能團隊獲取技術支持。