CWE一覧に戻る
CWE-338

暗号的に弱い疑似乱数生成器(PRNG)の使用

Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
脆弱性 レビュー中
JA

この製品は、セキュリティの観点から疑似乱数生成器(PRNG)を使用しているが、PRNGのアルゴリズムは暗号的に強力ではない。

非暗号化PRNGを暗号の文脈で使用すると、暗号がある種の攻撃にさらされる可能性がある。

多くの場合、擬似乱数生成器(PRNG)は暗号用に設計されていません。乱数を使用するアルゴリズムでは、平凡な乱数源で十分であったり、望ましい場合もあります。弱いジェネレーターは一般的に処理能力が低く、システム上の貴重で有限なエントロピー源を使用しません。そのようなPRNGは非常に便利な機能を持っているかもしれないが、同じ機能が暗号を破るために使われる可能性もある。

EN

The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.

When a non-cryptographic PRNG is used in a cryptographic context, it can expose the cryptography to certain types of attacks.

Often a pseudo-random number generator (PRNG) is not designed for cryptography. Sometimes a mediocre source of randomness is sufficient or preferable for algorithms that use random numbers. Weak generators generally take less processing power and/or do not use the precious, finite, entropy sources on a system. While such PRNGs might have very useful features, these same features could be used to break the cryptography.

Scope: Access Control / Impact: Bypass Protection Mechanism
Use functions or hardware which use a hardware-based random number generation for all crypto. This is the recommended solution. Use CyptGenRandom on Windows, or hw_rand() on Linux.
MITRE公式ページ — CWE-338