Sabit IV (ARCH3114)
Anahtar typescript.security.static-iv · Önem error · Kategori security · CWE CWE-329
Bir şifreleyiciye sabit veya sıfır IV/nonce vermek, aynı anahtarla şifrelenen mesajlarda anlamsal güvenliği yok eder ve CBC/CTR/GCM modlarını kırar.
Hatalı
Bölüm başlığı “Hatalı”import { createCipheriv } from "crypto";
const iv = Buffer.alloc(16, 0); // sabit sıfır IVconst cipher = createCipheriv("aes-256-cbc", key, iv);import { createCipheriv, randomBytes } from "crypto";
const iv = randomBytes(16); // her şifrelemede benzersizconst cipher = createCipheriv("aes-256-cbc", key, iv);// iv'yi şifreli metinle birlikte saklayınDüzeltme
Bölüm başlığı “Düzeltme”Her şifreleme işlemi için randomBytes ile rastgele ve benzersiz bir IV üretin.