HardcodedIVCNG (Windows Driver CodeQL Query)
Vue d’ensemble
Un vecteur d’initialisation (IV) est une entrée d’une primitive de chiffrement utilisée pour fournir l’état initial. L’IV est généralement requise pour être aléatoire ou pseudo-aléatoire (schéma aléatoire), mais parfois un IV doit uniquement être imprévisible ou unique (schéma avec état).
La randomisation est essentielle pour que certains schémas de chiffrement obtiennent la sécurité sémantique, une propriété par laquelle l’utilisation répétée du schéma sous la même clé ne permet pas à un attaquant de déduire des relations entre des segments (potentiellement similaires) du message chiffré.
Recommandation
Tous les chiffrements par blocs symétriques doivent également être utilisés avec un vecteur d’initialisation (IV) approprié en fonction du mode d’opération utilisé.
Si vous utilisez un schéma aléatoire tel que CBC, il est recommandé d’utiliser un générateur de nombres pseudo-aléatoires sécurisés par chiffrement, tel que 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 de pilotes Windows peuvent télécharger et exécuter CodeQL.