İçeriğe geç

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.

byte[] iv = new byte[16]; // hep sıfır
Cipher 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));

Her şifreleme işlemi için SecureRandom ile benzersiz, rastgele bir IV üretin ve onu şifreli metinle birlikte saklayın.