Freigeben über


HardcodedIVCNG (CodeQL-Abfrage für Windows-Treiber)

Überblick

Ein Initialisierungsvektor (IV) ist eine Eingabe für einen kryptografischen Grundtyp, der verwendet wird, um den Anfangszustand bereitzustellen. Der IV ist in der Regel zufällig oder pseudorandom erforderlich (randomisiertes Schema), aber manchmal muss ein IV nur unvorhersehbar oder eindeutig sein (zustandsbehaftetes Schema).

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 zufälliges Schema wie CBC verwenden, empfiehlt es sich, kryptografisch sichere Pseudorandomzahlengenerator wie BCryptGenRandom zu verwenden.

Zusätzliche Details

Diese Abfrage finden Sie im Microsoft GitHub CodeQL-Repository. Details dazu, wie Windows-Treiberentwickler CodeQL herunterladen und ausführen können, finden Sie auf der Seite " CodeQL" und auf der Seite "Logotest für statische Tools ".

Weitere Referenzen: