Random-Number-Generator
熵收集的標准或指南
我需要編寫一些高級安全要求,其中包括適用於密碼學的隨機數生成器。我不需要非常正式的東西,這不是安全認證或工單。我只想從“提供合適的RNG”更上一層樓。
適當的 RNG 應該建立在從適當的熵源播種的加密 PRNG 上。對於密碼PRNG甚至種子方法,不難找到適用的標準;例如,我很樂意寫 PRNG 必須使用FIPS 140-2 附件 C中列出的算法之一,或者達到同等的安全級別。
熵收集或播種呢?有沒有類似的文件可以引用?任何容易用英語獲得的東西都可以,它不一定是(或不是)政府標准或 RFC 或類似的,但如果它看起來有點官方或值得信賴會更好。
提供具體指導將是一個加分項。然而,這可能很難,因為可能需要以非常不同的方式來滿足要求(例如,嵌入式設備中的非確定性振盪器、帶有放射源的伺服器、帶有某人擺動滑鼠的 PC ……)。
據我所知,NIST 只有一份關於熵收集的官方文件。SP-800-90B。
NIST 特別出版物 (SP) 800-90B 的目的是指定熵源的設計和測試要求,這些熵源可以被 NIST 的 CAVP 和 CMVP 驗證為批准的熵源。
它本質上定義了一堆統計測試來檢查特定熵源的強度。尋求滿足要求的熵方法是一個很好的第一步,特別是如果您需要 NIST 的“官方”認證。
德國的 BSI 制定了AIS 31,其中包括對物理真 RNG (PTRNG) 的要求。它旨在填補通用標準標準中的空白。
第 4 章描述了物理真、非物理真、確定性和混合隨機數生成器的預定義類。…基本概念和評估標准在第 5 章中通過附加範例進行說明。