2.23. Add Section 8.5 - Entropy of Random Numbers, Key Pairs, and Shared Secret Information (随机数、密钥对和共享秘密信息的熵)
2.23. Add Section 8.5 - Entropy of Random Numbers, Key Pairs, and Shared Secret Information (随机数、密钥对和共享秘密信息的熵)
以下小节解决了随机数、非对称密钥和共享秘密信息的低熵所产生的风险。
在新的 Section 8.4 之后插入此节:
8.5. Entropy of Random Numbers, Key Pairs, and Shared Secret Information
实现必须从随机输入生成随机数和私钥。使用不充分的伪随机数生成器 (PRNG) 来生成加密密钥可能导致很少或没有安全性。攻击者可能发现重现生成密钥的 PRNG 环境并搜索结果的小集合可能性要比暴力搜索整个密钥空间容易得多。作为可预测随机数的例子, 请参见 [CVE-2008-0166]; 低熵随机数的后果在 Mining Your Ps and Qs [MiningPsQs] 中讨论。生成高质量的随机数很困难。ISO/IEC 20543:2019 [ISO.20543-2019], NIST SP 800-90A Rev.1 [NIST_SP_800_90Ar1], BSI AIS 31 V2.0 [AIS31] 以及其他规范在这一领域提供了有价值的指导。
如果共享秘密信息由加密安全随机数生成器 (CSRNG) 生成, 则可以安全地假设共享秘密信息的熵等于其位长度。如果未使用 CSRNG, 则共享秘密信息的熵取决于生成过程的详细信息, 并且在生成后无法安全测量。如果使用用户生成的密码作为共享秘密信息, 则其熵无法测量, 并且通常不足以用于集中生成的密钥或信任锚点的受保护交付。
如果保护集中生成的密钥对交付的共享秘密信息的熵已知, 则它不应低于该密钥对的安全强度; 如果共享秘密信息被重用于不同的密钥对, 则共享秘密信息的安全性应超过每个单独密钥对的安全强度。
对于使用 caPubs 或 genm 传递新信任锚点 (例如根 CA 证书) 的 PKI 管理操作, 如果 (a) 未及时完成或 (b) 共享秘密信息被重用于多个密钥管理操作, 则共享秘密信息的熵 (如果已知) 不应低于该操作管理的信任锚点的安全强度。共享秘密信息应具有至少与该操作管理的密钥材料的安全强度相匹配的熵。某些用例可能需要低安全强度的共享秘密信息, 例如人工生成的密码。建议将此类秘密信息限制为单个 PKI 管理操作。