Partager via


HardcodedIVCNG (requête CodeQL du pilote Windows)

Aperçu

Un vecteur d’initialisation (IV) est une entrée à une primitive de chiffrement utilisée pour fournir l’état initial. L'IV est généralement requis pour être aléatoire ou pseudo-aléatoire (schéma de randomisation), mais parfois un IV doit simplement être imprévisible ou unique (schéma à état).

La randomisation est cruciale pour certains schémas de chiffrement afin d’assurer la sécurité sémantique, une propriété dans laquelle l’utilisation répétée du schéma sous la même clé ne permet pas à un attaquant de déduire les relations entre (potentiellement similaires) segments du message chiffré.

Recommandation

Tous les chiffrements de blocs symétriques doivent également être utilisés avec un vecteur d’initialisation approprié (IV) en fonction du mode d’opération utilisé.

Si vous utilisez un schéma aléatoire tel que CBC, il est recommandé d’utiliser le générateur de numéros pseudo-random sécurisés par chiffrement comme BCryptGenRandom.

Informations supplémentaires

Cette requête se trouve dans le référentiel Microsoft GitHub CodeQL. Consultez la page CodeQL et Static Tools Logo Test pour plus d’informations sur la façon dont les développeurs windows Driver peuvent télécharger et exécuter CodeQL.

Références supplémentaires :