Compartir a través de


HardcodedIVCNG (consulta de CodeQL del controlador de Windows)

Información general

Un vector de inicialización (IV) es una entrada para un primitivo criptográfico que se usa para proporcionar el estado inicial. El IV suele ser aleatorio o pseudoaleatorio (esquema aleatorio), pero a veces un IV solo debe ser impredecible o único (esquema con estado).

La selección aleatoria es fundamental para algunos esquemas de cifrado para lograr la seguridad semántica, una propiedad en la que el uso repetido del esquema en la misma clave no permite a un atacante deducir relaciones entre segmentos (potencialmente similares) del mensaje cifrado.

Recomendación

Todos los cifrados de bloques simétricos también deben usarse con un vector de inicialización adecuado (IV) según el modo de operación que se usa.

Si usa un esquema aleatorio como CBC, se recomienda usar el generador de números pseudoaleatorios criptográficos seguros, como BCryptGenRandom.

Detalles adicionales

Esta consulta se puede encontrar en el repositorio de Microsoft GitHub CodeQL. Consulta la página CodeQL y la Static Tools Logo Test para obtener más información sobre cómo los desarrolladores de controladores de Windows pueden descargar y ejecutar CodeQL.

Referencias adicionales: