Поделиться через


HardcodedIVCNG (запрос CodeQL для драйвера Windows)

Обзор

Вектор инициализации (IV) — это входные данные для криптографического примитива, используемого для предоставления начального состояния. IV обычно требуется для случайного или псевдослучайного (рандомизированной схемы), но иногда IV требуется непредсказуемая или уникальная (схема с сохранением состояния).

Случайность имеет решающее значение для некоторых схем шифрования для обеспечения семантической безопасности, свойство, в котором повторяющееся использование схемы под тем же ключом не позволяет злоумышленнику выводить связи между (потенциально похожими) сегментами зашифрованного сообщения.

Рекомендация

Все шифры симметричного блока также должны использоваться с соответствующим вектором инициализации (IV) в соответствии с используемым режимом операции.

При использовании случайной схемы, такой как CBC, рекомендуется использовать криптографически безопасный генератор псевдорандомных чисел, например BCryptGenRandom.

Дополнительные сведения

Этот запрос можно найти в репозитории Microsoft GitHub CodeQL. Подробности о том, как разработчики драйверов Windows могут скачать и запустить CodeQL, см. на странице CodeQL and the Static Tools Logo Test.

Дополнительные ссылки: