熵源驗證(NIST ESV):密碼安全的根基從亂度開始
「你的加密金鑰是用真正不可預測的亂數生成的嗎?」——NIST ESV 是驗證密碼系統亂數來源品質的權威認證,確保加密安全不是建立在可預測的基礎上。
為什麼亂度(Entropy)是密碼安全的根基
密碼學的所有安全保障,最終都建立在一個前提上:系統能產生不可預測的亂數。金鑰生成、初始化向量(IV)、nonce、session token——這些關鍵參數的安全性,取決於生成它們的亂數來源是否真正隨機。
用一個直觀的比喻:密碼學演算法是鎖頭,entropy 則是你設密碼時的亂度。鎖頭再堅固,如果密碼設成 0000 或 1234 這種容易猜到的組合,等於形同虛設。同理,AES-256 的數學強度再高,如果生成金鑰的亂數來源可以被預測,攻擊者就能大幅縮小暴力破解的搜索空間,甚至直接推算出金鑰。
歷史上不乏因為 entropy 不足而導致的安全事件。2012 年,研究人員分析了大量 RSA 公鑰後發現,部分嵌入式裝置因為亂數生成器品質不佳,產出的質因數存在重複,使得數千組 RSA 金鑰可以透過最大公因數分解直接破解。2008 年的 Debian OpenSSL 漏洞更為經典——一個開發者為了消除編譯器警告而移除了 entropy 收集程式碼,導致整整兩年內所有 Debian 系統產出的金鑰實際上只有約 32,000 種可能值。這些案例的共通點:演算法本身沒有問題,問題出在亂數來源。
什麼是 NIST ESV
ESV(Entropy Source Validation)是由美國國家標準與技術研究院(NIST)主持的驗證計畫,專門針對密碼系統中的熵源(entropy source)進行獨立測試與驗證。ESV 的技術基礎是 NIST SP 800-90B,這份標準定義了 entropy source 的設計要求、測試方法與最低 entropy 估算規範。
如果你讀過我們先前關於 CAVP 的文章,可以這樣理解兩者的關係:CAVP 驗證的是密碼演算法的實作正確性——你的 AES 運算結果是否與標準一致。ESV 驗證的則是更上游的問題——餵給這些演算法的亂數,其來源本身的品質是否合格。
換句話說,CAVP 確保你的鎖頭堅固可靠,ESV 確保你的密碼是真正隨機設定的、不會被猜中。兩者各自回答不同層次的安全問題,缺一不可。
ESV 驗證的技術內涵
SP 800-90B 將一個合格的 entropy source 定義為三個核心組件的組合:noise source、conditioning component 與 health tests。理解這三者的角色,就能掌握 ESV 驗證在測試什麼。
Noise Source
Noise source 是 entropy 的原始來源——利用物理現象(如熱雜訊、電子雜訊、時脈抖動等)產生不可預測的原始位元。這些物理現象的共同特徵是具有內在的量子或統計不確定性,無法透過觀察歷史輸出來預測未來輸出。
Conditioning
Noise source 產出的原始位元流雖然含有 entropy,但通常每個位元的 entropy 含量不到 1 bit——也就是說,原始資料中存在某種程度的偏差(bias)或相關性。Conditioning component 的作用是將這些「不夠純」的原始位元,透過確定性函數(如雜湊函數)壓縮提煉成高品質的 entropy 輸出。
用類比來說:noise source 產出的是含有雜質的礦石,conditioning 是冶煉過程,最終輸出的是純度達標的金屬。壓縮比取決於原始 entropy 含量——如果每個原始位元只有 0.5 bit 的 entropy,那麼至少需要 2 個原始位元才能提煉出 1 bit 的有效 entropy。
Health Tests
物理元件會老化、會受環境影響、會故障。Health tests 是 entropy source 的品質監控機制,持續檢查 noise source 的輸出是否維持在預期的統計特性範圍內。
SP 800-90B 規定了兩類 health tests:啟動測試(start-up tests)在系統開機時執行,確認 noise source 初始狀態正常;連續測試(continuous tests)在運作期間即時監控,一旦偵測到異常就立即觸發警報並停止輸出。
整體來看:noise source 是礦場,conditioning 是冶煉廠,health tests 是品管部門。ESV 驗證的就是這整條生產線是否能穩定產出符合標準的 entropy。
為什麼 ESV 認證難度高且具公信力
ESV 不是填個表格、跑個測試就能通過的認證。整個驗證過程的嚴謹程度,正是其公信力的來源。
首先,廠商必須提交完整的 entropy assessment report,詳細描述 entropy source 的設計架構、noise source 的物理原理、conditioning 的實作方式、health tests 的設計參數,以及對 entropy 產出量的理論分析。這份報告本身就要求廠商對自己的 entropy source 有透徹的理解。
在 entropy 估算方面,SP 800-90B 採用 min-entropy 而非 Shannon entropy。Min-entropy 衡量的是最壞情況下的不可預測性——不看平均值,只看最容易被猜中的那個輸出值的機率。這是刻意保守的設計:密碼學關心的不是平均安全,而是最差情況下是否仍然安全。
測試過程由 NIST 認可的第三方實驗室獨立執行,廠商需要提供大量的原始雜訊樣本(通常數百萬筆以上),實驗室會以 NIST 提供的測試套件對這些樣本進行全面的統計分析。整個流程通常耗時數月。
更重要的是,ESV 不只看單一條件下的測試結果。廠商必須證明 entropy source 在各種操作條件下(溫度變化、電壓波動、長時間運作等)都能維持穩定的 entropy 產出。這直接反映了實際部署環境中的可靠性。
截至目前,全球通過 ESV 認證的產品數量相當有限。高門檻意味著每一張 ESV 認證都代表了嚴謹的工程投入與獨立的第三方背書。
ESV 對金融與高安全需求產業的意義
金鑰生成的品質直接決定整個密碼系統的安全上限。如果 entropy source 有缺陷,無論後續使用的加密演算法多強、金鑰管理流程多嚴謹,整個系統的安全性都會從根本上被削弱。
在合規層面,FIPS 140-3 明確要求密碼模組中使用的 entropy source 必須符合 SP 800-90B 標準。ESV 認證正是證明這項合規要求已獲滿足的最直接方式。對於需要取得或維持 FIPS 140-3 認證的產品而言,ESV 是不可繞過的前置條件。
在供應鏈信任方面,ESV 認證提供了可查核的第三方證據。當金融機構在評估密碼產品時,ESV 認證意味著該產品的 entropy 品質不是廠商的自我宣告,而是經過 NIST 體系獨立驗證的事實。
Angela 產品通過 ESV 認證
聯宏科技的 Angela 產品已於 2026 年初通過 NIST ESV 認證,其硬體熵源通過了 SP 800-90B 的完整測試流程,包括 noise source 的統計特性分析、conditioning 的 entropy 壓縮有效性驗證,以及 health tests 的設計與實作審查。
結合先前取得的 CAVP 認證,Angela 產品在 NIST 密碼驗證體系中已完成兩個關鍵面向的獨立驗證:CAVP 確認密碼演算法的實作正確性,ESV 確認亂數來源的品質合格。這兩項認證分別守護了密碼系統的兩個根本問題——「運算正不正確」和「亂數夠不夠亂」。
對採用 Angela 產品的客戶而言,ESV 認證帶來的實質效益包括:
- 金鑰生成的 entropy 品質有 NIST 體系的第三方獨立背書
- 滿足 FIPS 140-3 對 entropy source 的合規要求
- 稽核審查時可直接引用 ESV 認證紀錄
- 降低因 entropy 不足而導致的系統性密碼風險
- 結合 CAVP 認證,形成從亂數來源到演算法實作的完整驗證鏈
結語
密碼安全的強度取決於最弱的環節。演算法可以在數學上被證明安全,協定可以在形式化模型中被驗證無誤,但如果最源頭的亂數來源品質不足,一切安全保障都會從根基動搖。ESV 認證正是針對這個根基的嚴格檢驗。
聯宏科技持續推動 Angela 產品線在 NIST 密碼驗證體系中的認證工作。從 CAVP 到 ESV,每一項認證都是對客戶的具體承諾:Angela 的密碼安全不建立在自我宣告上,而是經得起獨立第三方的嚴格驗證。如需了解 Angela 產品的 ESV 認證詳情,歡迎與我們聯繫。