跳到主要内容

2.23. 新增 Section 8.5 - Random Number, Key Pair 和 Shared Secret Information 的 Entropy

2.23. 新增 Section 8.5 - Random Number, Key Pair 和 Shared Secret Information 的 Entropy

以下小节讨论 random number, asymmetric key 和 shared secret information 的低 entropy 所带来的风险.

在新的 Section 8.4 之后插入本节:

8.5. Random Number, Key Pair 和 Shared Secret Information 的 Entropy

实现必须从 random input 生成 nonce 和 private key. 使用不充分的 pseudorandom number generator (PRNG) 生成 cryptographic key 可能导致几乎没有安全性. 与对整个 key space 进行 brute-force search 相比, 攻击者可能更容易重现生成这些 key 的 PRNG 环境, 并搜索由此得到的小得多的可能性集合. 作为 predictable random number 的例子, 见 [CVE-2008-0166]; low-entropy random number 的后果在 Mining Your Ps and Qs [MiningPsQs] 中讨论. 生成高质量 random number 很困难. ISO/IEC 20543:2019 [ISO.20543-2019], NIST SP 800-90A Rev.1 [NIST_SP_800_90Ar1], BSI AIS 31 V2.0 [AIS31] 以及其他规范在这一领域提供了有价值的指导.

如果 shared secret information 由 cryptographically secure random number generator (CSRNG) 生成, 则可以安全地假定 shared secret information 的 entropy 等于其 bit length. 如果未使用 CSRNG, shared secret information 的 entropy 取决于生成过程细节, 且在生成之后无法安全测量. 如果将用户生成的 password 用作 shared secret information, 则其 entropy 无法测量, 并且通常不足以保护集中生成的 key 或 trust anchor 的交付.

如果用于保护集中生成 key pair 交付的 shared secret information 的 entropy 已知, 则它不应低于该 key pair 的 security strength; 如果 shared secret information 被复用于不同 key pair, 则 shared secret information 的安全性应超过每个单独 key pair 的 security strength.

对于使用 caPubs 或 genm 交付新 trust anchor (例如 root CA certificate) 的 PKI management operation, 如果该 operation (a) 未及时结束, 或 (b) shared secret information 被复用于多个 key management operation, 则 shared secret information 的 entropy (如果已知) 不应低于该 operation 所管理 trust anchor 的 security strength. shared secret information 的 entropy 至少应匹配该 operation 所管理 key material 的 security strength. 某些使用场景可能需要 security strength 较低的 shared secret information, 例如人工生成的 password. RECOMMENDED 将此类 secret information 限制用于单个 PKI management operation.