Hatırlanabilir Parola Tavsiyelerinin Hangisi Gerçekten İşe Yarıyor?
Parola oluşturma ekranı, kullanıcıyı iki zıt yöne aynı anda iten nadir arayüzlerden biri: tahmin edilemeyecek kadar rastgele, ama hatırlanacak kadar tanıdık. Bu gerilimi hafıza teknikleriyle çözmeye çalışan tavsiyelerin bir kısmı gerçekten işe yarıyor, bir kısmı ise güvenliği sessizce düşürüyor. Farkı görmek için önce parolanın gücünün nasıl hesaplandığına bakmak gerekiyor, çünkü tavsiyelerin çoğu tam da o hesabı atlıyor.
Güç neyle ölçülür: karakter çeşidi değil, seçenek sayısı
Bir parolanın kaba kuvvete direnci, saldırganın denemesi gereken olasılık sayısıyla ölçülür ve bu sayı bit cinsinden ifade edilir. Hesap basit: her karakter için kaç seçenek varsa, o sayının parola uzunluğu kadar kuvveti alınır.
Klavyeden girilebilen 94 işaretin tamamını kullanan, tamamen rastgele sekiz karakterlik bir parola 94^8 olasılık üretir. Bu yaklaşık 52 bit demektir. Şimdi bunu bir parola cümlesiyle karşılaştıralım: 7776 kelimelik bir listeden rastgele seçilmiş dört kelime 7776^4 olasılık verir, yani yine yaklaşık 52 bit. İki parola aynı güçte, ama biri ezberlenemez, diğeri bir okumada akılda kalır.
Asıl fark beşinci kelimede ortaya çıkar. Kelime başına eklenen yaklaşık 12,9 bit, karakter başına eklenen 6,5 bitin iki katıdır; beş kelime 65 bite, altı kelime 77 bite çıkar. Sekiz karakterlik bir parolayı aynı seviyeye taşımak için on iki karakter ve tam rastgelelik gerekir, ki o noktada hatırlama şansı sıfırdır.
Bu yüzden kaynak metinlerde sıkça geçen kısa ve öz tutun önerisi ters çalışıyor. Uzunluk, hatırlanabilirlikle çatışan bir değişken değil; aksine, hatırlanabilirliği ucuza satın alabildiğin tek değişken.
Hesabın geçerli olduğu tek koşul
Yukarıdaki sayılar yalnızca kelimeler rastgele seçilmişse geçerli. Kelimeleri kendin seçtiğinde olasılık uzayı listenin tamamı olmaktan çıkar, senin o an aklına gelebilecek birkaç yüz kelimeye iner. Zar, rastgele sayı üreteci veya parola yöneticisinin üretici işlevi, tekniğin süsü değil şartıdır.
Kişisel anlam hatırlatır, ama tahmini de kolaylaştırır
Anıya dayalı parola tavsiyesi hafıza açısından doğru: bağlam taşıyan bilgi kodlanırken daha derin işlenir, geri çağrılması kolaylaşır. Sorun, aynı bağlamın saldırgan tarafından da erişilebilir olması.
Mezuniyet yılı, okul adı, evcil hayvan ismi ve doğum tarihi, sızmış veri kümelerinde en çok bulunan bileşenlerdir. Modern kırma araçları rastgele deneme yapmaz; ad, tarih ve yaygın kalıpları birleştiren kural setleriyle çalışır. Baş harfi büyütmek, sonuna ünlem koymak ve a yerine @ yazmak bu kuralların ilk sırasındaki dönüşümlerdir.
Yani kişisel anlam taşıyan bir parola, kullanıcıya güçlü hissettirir ama gerçek olasılık uzayı göründüğünden çok daha küçüktür. Anlamı hatırlamak için değil, sıralamayı hatırlamak için kullan: rastgele üretilmiş kelimeleri kendi kafanda bir sahneye yerleştirmek, kelimeleri kendin seçmekten hem daha güvenli hem hafıza açısından neredeyse aynı verimde.
Arayüz tarafı: güç göstergesi neyi ölçüyor?
Kayıt formlarındaki renkli çubukların çoğu güvenliği değil, kural uyumunu ölçer. Büyük harf var mı, rakam var mı, sembol var mı diye bakar ve Parola123! için yeşil yanar. Aynı çubuk, altı rastgele kelimeden oluşan ve semboller içermeyen bir parolayı zayıf gösterir. Kullanıcıyı yanlış yöne itmek için bundan iyi bir mekanizma zor bulunur.
Ölçmek isteniyorsa doğru araç tahmin edilebilirliğe bakan kütüphanelerdir; zxcvbn bunların en yaygını ve yaygın parola listeleri, klavye dizilimleri, tarih kalıpları üzerinden bir tahmin sayısı döndürür. Bir formdaki regex tabanlı kontrolü bununla değiştirmek yarım günlük iştir (kural setini genişletip her yeni istisnayı ayrı ayrı yamalamaktan da ucuza gelir).
İki küçük ayrıntı, ölçümden bağımsız olarak parola deneyimini sessizce bozar. Parola alanına maxlength koymak, uzun parola cümlesini yazan kullanıcıyı kesip haberdar bile etmez. Yapıştırmayı engellemek ise parola yöneticisi kullanan herkesi cezalandırır, yani en güvenli davranan grubu. Her ikisi de arayüzde tek satırlık kararlar, ama tavsiye metninde savunulan her şeyi geçersiz kılar.
Zorunlu değişiklik ve türetme alışkanlığı
Sistemin belirli aralıklarla parola değiştirmeyi dayatması, kullanıcıyı türetmeye iter: aynı gövde, sonuna sıra numarası veya ay adı. Bir kişinin önceki parolasını bilen saldırgan için sonrakini bulmak birkaç denemelik iştir.
NIST'in SP 800-63B kılavuzu bu yüzden periyodik zorunlu değişiklik önermiyor, parola ancak sızma şüphesi varsa değiştiriliyor. Aynı belge karakter kompozisyonu kurallarını da bırakmayı, bunun yerine bilinen sızmış parola listelerine karşı kontrol yapmayı öneriyor. Kurumsal bir panelde bu iki değişikliği yapmak, kullanıcıya hafıza tekniği öğretmekten daha fazla iş görür.
Pratikte ne yapmalı
Ezberlenmesi gereken parola sayısını üçe indirmek, hatırlama tekniklerini geliştirmekten daha etkili bir strateji: cihaz açılış parolası, parola yöneticisinin ana parolası ve kurumsal hesap. Bunların üçü de rastgele üretilmiş çok kelimeli parola cümlesi olsun, geri kalan her şeyi yönetici üretsin ve saklasın.
Arayüz tasarlıyorsan sıralama şu: uzunluk sınırını kaldır, yapıştırmayı serbest bırak, göstergeyi tahmin edilebilirlik üzerinden hesapla, zorunlu rotasyonu kaldır. Kullanıcıya daha iyi ezberleme yöntemi öğretmek listenin en sonunda gelir, çünkü diğer dördü yapılmadan hiçbir hafıza tekniği tek başına sonuç vermez.