Вектор инициализации сгенерирован от слабого генератора случайных чисел
Предсказуемый вектор инициализации блочного шифра происходит, когда вы используете слабый генератор случайных чисел в векторе инициализации блочного шифра.
Если вы используете слабый генератор случайных чисел в векторе инициирования, ваши данные уязвимы для атак с подбором по словарю.
Блочные шифры повреждают ваши данные в блоки фиксированного размера. Режимы блочного шифра, такие как CBC (Сцепление блоков шифра) защищают от атак с подбором по словарю XOR-лугом каждый блок с зашифрованным выходом от предыдущего блока. Чтобы защитить первый блок, эти режимы используют случайный вектор инициализации (IV). Если вы используете слабый генератор случайных чисел в своем IV, ваши данные становятся уязвимыми для атак с подбором по словарю.
Используйте сильный генератор псевдослучайного числа (PRNG) в векторе инициализации. Например, используйте:
OS-level PRNG, такой как /dev/random
на UNIX® или CryptGenRandom()
на Windows®
Уровень приложения PRNG, такой как Усовершенствованный стандарт шифрования (AES) в режиме Counter (CTR), HMAC-SHA1, и т.д.
Для списка генераторов случайных чисел, которые криптографически слабы, смотрите Vulnerable pseudo-random number generator
.
Группа: криптография |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: CRYPTO_CIPHER_PREDICTABLE_IV |
Удар: носитель |
ID CWE: 310, 329, 330, 338 |