HardcodedIVCNG (Windows Driver CodeQL Query)
Übersicht
Ein Initialisierungsvektor (IV) ist eine Eingabe für ein kryptografisches Primitive, das verwendet wird, um den Anfangszustand bereitzustellen. Die IV muss in der Regel zufällig oder pseudorandom (randomisiertes Schema) sein, aber manchmal muss eine IV nur unvorhersehbar oder eindeutig sein (zustandsbehaftetes Schema).
Die Randomisierung ist für einige Verschlüsselungsschemas entscheidend, um semantische Sicherheit zu erreichen. Eine Eigenschaft, bei der die wiederholte Verwendung des Schemas unter demselben Schlüssel es einem Angreifer nicht ermöglicht, Beziehungen zwischen (potenziell ähnlichen) Segmenten der verschlüsselten Nachricht abzuleiten.
Empfehlung
Alle symmetrischen Blockchiffre müssen auch mit einem geeigneten Initialisierungsvektor (IV) gemäß dem verwendeten Betriebsmodus verwendet werden.
Wenn Sie ein randomisiertes Schema wie CBC verwenden, empfiehlt es sich, kryptografisch sichere Pseudorandomzahlen-Generator wie BCryptGenRandom zu verwenden.
Zusätzliche Details
Diese Abfrage finden Sie im Microsoft GitHub CodeQL-Repository. Weitere Informationen dazu, wie Entwickler von Windows-Treibern CodeQL herunterladen und ausführen können, finden Sie auf der Seite CodeQL und auf der Seite Logo Test für statische Tools .