Statik IV (ARCH4114)
Anahtar java.security.static-iv · Önem error · Kategori security · CWE CWE-329
Sabit kodlanmış veya sıfır bir IV/nonce kullanmak CBC, CTR ve GCM modlarında semantik güvenliği yok eder; aynı düz metin her zaman aynı şifreli metni üretir ve örüntüler sızar.
Hatalı
Bölüm başlığı “Hatalı”byte[] iv = new byte[16]; // hep sıfırCipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");c.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv));byte[] iv = new byte[16];SecureRandom.getInstanceStrong().nextBytes(iv);Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");c.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv));Düzeltme
Bölüm başlığı “Düzeltme”Her şifreleme işlemi için SecureRandom ile benzersiz, rastgele bir IV üretin ve onu şifreli metinle birlikte saklayın.