Sabit IV (ARCH7114)
Anahtar php.security.static-iv · Önem error · Kategori security · CWE CWE-329
Sabit veya sıfır bir IV/nonce, CBC/CTR/GCM modlarının anlamsal güvenliğini yok eder: aynı düz metin her zaman aynı şifreli metni üretir ve örüntüler sızar. Her şifreleme için rastgele bir IV üretilmelidir.
Hatalı
Bölüm başlığı “Hatalı”<?php$iv = str_repeat("\0", 16);$ct = openssl_encrypt($plain, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);<?php$len = openssl_cipher_iv_length('aes-256-cbc');$iv = random_bytes($len);$ct = openssl_encrypt($plain, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);$out = $iv . $ct; // IV'yi şifreli metinle birlikte saklayınDüzeltme
Bölüm başlığı “Düzeltme”Her şifreleme işleminde random_bytes() ile benzersiz bir IV üretin ve şifreli metinle birlikte saklayın.