什麼是 HSM?
硬體安全模組 (Hardware Security Module, HSM) 是嵌入在 MCU 內部的獨立安全核心。它擁有獨立的處理器、記憶體與加密引擎,用於執行敏感的安全運算 (如 AES, RSA, ECC) 並安全地存儲金鑰。HSM 是車用資安的信任錨點 (Trust Anchor)。
測試挑戰
HSM 通常作為一個黑盒子運作,應用層 (Host Core) 透過特定的驅動程式 (如 SHE, EVITA) 與其通訊。驗證 HSM 的功能正確性面臨以下挑戰:
- 封閉性: 無法直接觀測 HSM 內部狀態。
- 複雜性: 加密演算法的輸入輸出必須精確符合標準 (如 NIST 測試向量)。
- 效能要求: 需驗證加密運算的吞吐量 (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 功能驗證,我們確保了車輛安全架構的地基堅固無虞。