資安團隊

HSM (硬體安全模組) 功能測試與驗證

HSM (硬體安全模組) 功能測試與驗證

什麼是 HSM?

硬體安全模組 (Hardware Security Module, HSM) 是嵌入在 MCU 內部的獨立安全核心。它擁有獨立的處理器、記憶體與加密引擎,用於執行敏感的安全運算 (如 AES, RSA, ECC) 並安全地存儲金鑰。HSM 是車用資安的信任錨點 (Trust Anchor)。

測試挑戰

HSM 通常作為一個黑盒子運作,應用層 (Host Core) 透過特定的驅動程式 (如 SHE, EVITA) 與其通訊。驗證 HSM 的功能正確性面臨以下挑戰:

  1. 封閉性: 無法直接觀測 HSM 內部狀態。
  2. 複雜性: 加密演算法的輸入輸出必須精確符合標準 (如 NIST 測試向量)。
  3. 效能要求: 需驗證加密運算的吞吐量 (Throughput) 與延遲 (Latency)。

驗證方法與工具

1. 密碼學演算法驗證

驗證 HSM 實作的演算法 (如 AES-128-GCM, SHA-256) 是否符合標準。

  • 工具: Vector vSecLib 提供了一套標準的密碼學函式庫,可用作黃金參考 (Golden Reference) 來比對 HSM 的運算結果。
  • 方法: 使用已知的測試向量 (Test Vectors) 注入 HSM,比對輸出是否一致。

2. 金鑰管理功能測試

驗證金鑰的生成、導入、導出與銷毀流程。

  • 測試案例:
    • 嘗試導出被標記為 “不可導出” 的金鑰 (應失敗)。
    • 驗證金鑰更新計數器 (Counter) 是否正確遞增 (防止重放攻擊)。

3. 隨機數生成器 (RNG) 測試

高品質的隨機數是安全的基礎。

  • 標準: 使用 NIST SP 800-22 或 AIS-31 標準測試套件,分析 HSM 生成的隨機數序列的統計特性。

4. 整合測試

在 CANoe 中模擬真實的車載通訊場景,驗證 HSM 在 SecOC (Secure Onboard Communication) 中的表現。

  • Vector CANoe: 可以模擬發送帶有 MAC (Message Authentication Code) 的安全報文,驗證 ECU (HSM) 是否能正確驗證並接收。

透過嚴格的 HSM 功能驗證,我們確保了車輛安全架構的地基堅固無虞。