Şifre entropisi
Kısa tanım
Bir şifrenin tahmin edilmesinin ne kadar zor olduğunu bit cinsinden ölçen değerdir; karakter havuzu ve şifre uzunluğuna bağlıdır.
Diğer adları: Parola entropisi, Şifre gücü
"Güçlü şifre" dediğimizde aslında saldırganın kaç deneme yapması gerektiğini kastediyoruz. Şifre entropisi bunu tek bir sayıyla ifade eder: her bit, olası seçenek sayısını iki katına çıkarır. 40 bit entropi yaklaşık 1 trilyon, 80 bit ise bunun bir trilyon katı olasılık demektir.
Formül
Rastgele seçilmiş bir şifre için entropi = L × log₂(N); L şifre uzunluğu, N karakter havuzunun büyüklüğüdür. Yaklaşık değerler: yalnızca rakam (N = 10) karakter başına 3,3 bit; küçük harf (26) 4,7 bit; büyük-küçük harf ve rakam (62) 5,95 bit; klavyedeki yazdırılabilir 94 karakter 6,55 bit.
Örnek: 8 küçük harfli rastgele bir şifre 8 × 4,7 ≈ 37,6 bittir. 12 karakterli ve 94 karakterlik havuzdan rastgele seçilmiş bir şifre ise 12 × 6,55 ≈ 78,7 bit eder. Uzunluğu artırmak, karakter çeşidini artırmaktan çoğu zaman daha etkilidir: 20 küçük harf 94 bit verir. Kendi şifreni şifre gücü testiyle sınayabilir, rastgele ve yüksek entropili şifreyi şifre oluşturucuyla üretebilirsin.
Formülün sınırı
Bu hesap yalnızca karakterler gerçekten rastgele seçildiğinde geçerlidir. "Ankara2024!" gibi şifreler kâğıt üzerinde 70 bitin üzerinde görünse de sözlük kelimesi, yıl ve sona eklenen işaret kalıbı nedeniyle saldırı araçları tarafından çok daha hızlı bulunur. Bu yüzden kelime listesinden rastgele seçilmiş 5-6 kelimelik parola cümleleri hem hatırlanması kolay hem de yüksek entropili bir seçenektir: 7.776 kelimelik listeden 6 kelime yaklaşık 77,5 bit eder.
Sunucu tarafında şifreler düz metin değil, bcrypt gibi yavaş hash fonksiyonlarıyla saklanmalıdır; bu, sızıntı durumunda her denemeyi pahalı hâle getirir. Nasıl göründüğünü bcrypt hash oluşturucuda inceleyebilirsin. Hiçbir entropi değeri, aynı şifreyi birden fazla sitede kullanmanın riskini telafi etmez.