AUTOSAR BSW 深度精解 · MCAL / 驅動層模組

【EB AutoCore 模組精解】
Crypto Driver 密碼驅動層

硬體安全引擎抽象與純軟體備援實踐。直面底層安全隔離與算力加速的核心。深度解析 EB AutoCore 架構下 Crypto 驅動對象(Driver Objects)、金鑰元素(Key Elements)的安全屬性劃分,以及純軟體密碼庫 Crypto_EB 如何為系統構建堅固的備援信任鏈。

Crypto Driver 硬體加速 軟體備援 金鑰元素

1. Crypto Driver 在 AUTOSAR CP 架構中的基石地位

在 AUTOSAR Classic Platform(CP)與 EB AutoCore 分層體系中,Crypto Driver(密碼驅動層) 位於最底層(MCAL / BSW 驅動層)。它是密碼學操作從「軟體指令」轉化為「底層運算」的最終執行者。

在 EB AutoCore 解決方案中,驅動層提供了統一的標準介面,主要支援兩種實現實體:

  • 硬體安全模組驅動(HW Crypto Driver):介接晶片內部獨立的硬體安全子系統(HSM / 安全核心),透過專用硬體郵箱或 IPC 傳遞 Descriptor,執行硬體對稱/非對稱演算法加速。
  • 軟體密碼函式庫(Crypto_EB):Elektrobit 自主研發、經過 MISRA-C 車規級品質嚴格審查的純軟體密碼演算法庫,直接在主核上執行運算。

2. 驅動對象與金鑰元素架構設計

在 EB tresos AutoCore 中,Crypto Driver 模組以 CryptoDriverObject 與 CryptoKey 為核心資料結構:

flowchart TD classDef objNode fill:#fff0b3,stroke:#d97008,stroke-width:2px,color:#091e42; classDef keyNode fill:#f3e8ff,stroke:#6554c0,stroke-width:2px,color:#091e42; classDef elemNode fill:#e3fcef,stroke:#00875a,stroke-width:2px,color:#091e42; OBJ["【執行實體:CryptoDriverObject】
CryptoDriverObject_0
• 內部佇列管理 (CryptoQueueSize)
• 密碼原語宣告 (Primitives: AES, SHA, RSA)
• 中斷 / 輪詢調度旗標"]:::objNode KEY["【金鑰容器:CryptoKey】
CryptoKey_SecOC (KeyId = 1)
• 包含多個金鑰元素 (Key Elements)
• 金鑰狀態追蹤 (Valid / NotValid)"]:::keyNode ELEM_MATERIAL["【金鑰元素:CRYPTO_KE_MAC_KEY】
• 唯寫 (Write-only) · 不可導出 (Non-exportable)
• 實際存於硬體安全儲存區"]:::elemNode ELEM_IV["【金鑰元素:CRYPTO_KE_CIPHER_IV】
• 初始化向量 (IV) 資料"]:::elemNode OBJ -.->|執行運算時關聯引用| KEY KEY -->|包含金鑰本體| ELEM_MATERIAL KEY -->|包含參數向量| ELEM_IV
圖 1:EB AutoCore Crypto Driver 內部 Object 與 Key Element 架構關聯圖
🔒 符合 ISO 21434 的金鑰屬性防護
在 EB tresos 配置中,CryptoKeyElement 支援配置強固的存取權限標誌:
  • CryptoKeyElementReadAccess:設為 CRYPTO_RA_DENIED,保證主核無法以任何 API 讀回金鑰明文。
  • CryptoKeyElementAllowPartialAccess:設為 FALSE,杜絕金鑰片段洩漏攻擊。

3. Crypto_EB 純軟體密碼庫的策略價值

許多工程師常有誤解,認為車載資安「必須完全依賴硬體安全核心」。然而在實際工程交付中,EB 提供的 Crypto_EB 軟體密碼庫 具有不可替代的三大戰略價值:

  1. 硬體解耦與提早開發(Shift-Left Testing):在晶片樣件開發初期,硬體安全核心韌體往往尚未就緒。此時引入 Crypto_EB,上層 SecOC 與診斷棧即可立即開展通訊聯調,軟體進度無需等待硬體交付。
  2. 非對稱加密彈性擴充:部分車載晶片的硬體加速器僅支援 AES 與 SHA,若專案面臨 CRA 規範必須升級支援 RSA-4096 或特定 ECC 曲線時,Crypto_EB 能在不更換 MCU 的前提下完成演算法擴充。
  3. 極端故障降級備援:當硬體安全核心偵測到內部硬體故障或暫存器異常時,系統可平滑切換至 Crypto_EB 執行安全降級,保障車輛基本診斷與通訊可用性。

4. 硬體加速 vs 軟體運算混合部署模式

Jotactic 技術團隊在多個專案支援經驗中推薦採用以下「硬軟混合部署實踐方案」:

業務服務項目 推薦指派驅動 調度模式 架構考量與設計依據
SecOC CAN FD 報文驗證 硬體加速驅動 (HW) 非同步 + 中斷通知 高頻運算(每 10ms),必須由硬體加速器承擔,零 CPU 負擔。
UDS 0x27 隨機數 (Seed) 硬體驅動 (HW TRNG) 同步 / 非同步 必須由真隨機數產生器提供高熵亂數,防範預測攻擊。
X.509 證書鏈解析驗證 Crypto_EB (軟體) 非同步 + 背景 Task 證書解析包含複雜的 ASN.1 遞迴樹結構,適合主核軟體靈活處理。

5. EB tresos 配置實踐與調試技巧

在 EB tresos 配置 Crypto Driver 時,需特別注意以下要點:

  • 佇列深度(CryptoQueueSize):硬體驅動內部通常維護有限的 Descriptor 佇列。若上層 CSM 同步或非同步請求過於密集,應將 CryptoQueueSize 與 CSM Queue 連動微調,避免拋出 CRYPTO_E_QUEUE_FULL。
  • 主週期函數(Crypto_MainFunction):在純輪詢模式下,必須確保該函數調度週期與上層通訊時間窗口嚴格匹配。

🚀 Jotactic(捷策動能):EB AUTOSAR 密碼驅動技術支持與工程服務

密碼驅動層涉及驅動對象定義、金鑰元素屬性宣告與底層介面配置。Jotactic(捷策動能) 基於 EB AUTOSAR 原生架構與標準配置工作流程,在不修改 EB 原廠代碼的前提下,為客戶提供專業技術服務:

  • EB tresos Crypto Driver 模組參數配置服務:協助客戶在 EB tresos Studio 中進行驅動佇列(CryptoQueueSize)、金鑰元素存取權限與通道調度的標準配置與 ARXML 匯入匯出。
  • 技術支持與諮詢服務:提供 EB AUTOSAR Crypto Driver 標準介面與驅動對象配置流程的技術諮詢,協助客戶排查配置過程中的問題。
  • 基於 EB 機制的客製化 Demo 專案開發:基於 EB 原生架構與 Crypto_EB 軟體密碼庫建立演算法功能驗證 Demo 專案,輔助客戶進行模組功能驗證。

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