Ana içeriğe geç

Şifre Kaç Karakter Olmalı? İdeal Şifre Uzunluğu

Şifre Kaç Karakter Olmalı? İdeal Şifre Uzunluğu - Güvenlik Rehberi

Orta seviye bir GPU, sekiz karakterlik — büyük-küçük harf ve rakam karışık — bir şifreyi birkaç saat içinde deneyebilir. Bu süre donanıma ve kullanılan karakter setine göre değişir; ama genel eğilim değişmedi. Sekiz karakter artık bir güvenlik sınırı değil, en fazla bir gecikme.

Peki yeterli uzunluk nasıl belirleniyor? Cevap sabit bir rakamdan çok bağlama ve hesaplama maliyetine bağlı. Ama bazı eşiklerin neden geçerliliğini yitirdiğini anlamak, doğru karar için iyi bir başlangıç noktası.

Sekiz karakterin neden artık kısaldığı

2010 öncesinde 8 karakter yaygın bir standarttı. Bankaların çoğu, kurumsal sistemlerin büyük kısmı bu sınırı kullanıyordu ve o dönemde mantıklıydı; brute force saldırılarında saniyede binler, on binler düzeyinde deneme yapılabiliyordu. Şimdi aynı hesaplama GPU kümeleriyle saniyede milyarlarca denemeye ulaşıyor.

Hashed veritabanlarının sızdırıldığı senaryolarda durum daha keskin bir hal alıyor: saldırgan çevrimiçi bir sisteme karşı değil, ele geçirilmiş bir hash listesine karşı çalışıyor. Ağ gecikmesi, hesap kilitleme politikası, rate limiting — bunların hiçbiri devrede değil. Saf hesaplama hızı belirleyici oluyor.

MD5 gibi hızlı hash algoritmalarıyla korunan 8 karakterlik bir şifreyi kırmak, modern donanımla dakikalar içinde mümkün. bcrypt veya Argon2 gibi yavaş algoritmalar bu süreyi önemli ölçüde artırıyor (ve bu farkı çoğu platform kullanıcıya bildirmiyor); ama bu, uzunluk sorununu ortadan kaldırmıyor — sadece erteliyor. Hash algoritması ne kadar yavaş olursa olsun, saldırganın hesaplama bütçesi genişlediğinde 8 karakterin kombinasyon uzayı yeniden işlenebilir hale geliyor.

8 karakter yetmiyor. Bu bir gözlem, tartışma konusu değil.

Uzunluk tek başına ne anlama gelir?

Şifre uzunluğu ile şifre entropisi aynı şey değil; ama doğrudan ilişkililer. Entropi, bir şifrenin tahmin edilebilirliğini ölçer — ne kadar olası kombinasyon barındırıyorsa entropi o kadar yüksek. Karakterler rastgele seçilirse, her ekstra karakter kullanılan karakter setinin boyutu kadar olası kombinasyonu çarpımlı artırıyor.

Yalnızca küçük harf içeren 12 karakterlik bir şifre ile harf, rakam ve sembol içeren 10 karakterlik bir şifre arasındaki farkı rakamla koymak gerekirse: birincisi yaklaşık 26^12, ikincisi yaklaşık 94^10 kombinasyon içeriyor. 94^10 belirgin biçimde daha yüksek; karmaşıklık, kısa bir şifreyi sırf rakamsal uzunlukla yarışan uzun bir şifreden öne geçirebiliyor. Büyük-küçük harf, rakam ve en az bir sembol içeren 12 karakterlik bir şifre bu iki faktörü birleştiriyor ve pratikte makul bir başlangıç noktası sunuyor.

Ama "12 karakter = güvenli" de kesin bir formül değil. Platform bu şifreyi nasıl saklıyor? Hash algoritması nedir? Hesap başına kilitleme var mı? Bu sorular, uzunluğun yarattığı korumayı belirleyen çerçeveyi oluşturuyor. Hangi karakter kombinasyonlarının entropiye ne kadar katkı yaptığını daha ayrıntılı incelemek istiyorsanız güçlü şifre koşullarını ele alan yazıda bu hesabın farklı boyutlarını bulabilirsiniz.

Kırılma süreleri: neden belirli bir eşik ötesinde hesaplama anlamsızlaşıyor?

8 karakter, büyük-küçük harf ve rakam içeren (~62 karakterlik alfabe) rastgele bir şifre yaklaşık 218 trilyon kombinasyon barındırıyor. Bu büyük bir rakam gibi görünüyor; ancak modern GPU'larla MD5 gibi hızlı algoritmaların hashlenmiş veritabanlarına karşı saniyede yüzlerce milyar deneme yapılabiliyor. Sonuç: 8 karakterlik bu şifre teorik olarak saatler, hatta dakikalar içinde erişilebilir hale geliyor.

12 karaktere geçildiğinde tablo köklü biçimde değişiyor. 62^12, yaklaşık 3 × 10^21 kombinasyon demek — aynı donanımla bu büyüklüğü işlemek yıllar değil, nesiller gerektiriyor. Sembol eklenerek karakter seti ~94'e çıkarıldığında fark daha da açılıyor. Bu eşiğin pratikte anlamı şu: saldırgan, hesaplama maliyetinin getirisini meşrulaştıramıyor ve daha zayıf hedeflere yöneliyor.

Ama bu hesaplar statik değil. Donanım hızlanıyor; 2024'te nesiller gerektiren bir hesaplama 2034'te yıllara inebilir. Güvenlik değerlendirmelerinde "şu an kırılamaz" yerine "hesaplama süresi tatmin edici bir eşiğin ötesinde" ifadesi kullanılıyor — bu ayrım önemli. Bugün yeterli olan uzunluk, birkaç yıl içinde yeniden sorgulanabilir.

Denklemin ikinci ve çoğu zaman daha belirleyici değişkeni hash algoritması. bcrypt, scrypt ve Argon2 gibi algoritmalar, her denemeyi hesaplama açısından kasıtlı olarak pahalı kılıyor; saniyedeki deneme sayısını dramatik biçimde düşürüyor. 16 karakterlik rastgele bir şifre bu algoritmalarla saklandığında, endüstri ölçeğindeki donanımla bile pratik kırılma süreleri astronomik seviyelere ulaşıyor.

Sorun şu: kullandığınız hizmetin hangi hash algoritmasını seçtiğini çoğu zaman bilemiyorsunuz. Sızdırılmış veritabanlarında hâlâ MD5 ile hashlenen şifrelere rastlanıyor. Bu belirsizliği yönetmenin en doğrudan yolu şifre uzunluğunu güvenlik marjı olarak kullanmak: 20 karakter ve üzeri, hash algoritmasındaki zayıflıkların bir bölümünü telafi ediyor. Sisteme güvenemiyorsanız şifreniz o güvensizliğin bir kısmını absorbe edebilir.

Platform bağlamına göre uzunluk kararı

Tek bir "ideal şifre uzunluğu" yok. Bağlam belirleyici.

E-posta hesabı gibi yüksek değerli, şifre yöneticisiyle yönetilen ve hatırlanması gerekmeyen şifreler için 20 karakter ve üzeri mantıklı. Hatırlamak zorunda olmadığınızda uzunluk sınırı pratikte ortadan kalkıyor; 32 veya 64 karakter de sorun yaratmıyor, hatta tercih edilebilir. Buradaki risk modeli farklı: bu hesabın ele geçirilmesi diğer hesaplara zincirleme erişim anlamına geliyorsa, uzunluğu kısmak için hiçbir neden yok.

Hatırlanması gereken şifreler için hesap değişiyor. Passphrase yaklaşımı burada devreye giriyor: dört ya da beş rastgele kelime, hem yüksek entropi hem de hatırlanabilirlik sağlıyor. "doğru-at-pil-zımba" biçiminde gerçekten rastgele seçilmiş bir kelime dizisi, karmaşık karakterlerle dolu 10 karakterlik bir şifreden genellikle daha uzun ve daha tahmin edilemez oluyor. Kritik nokta şu: "rastgele seçilmiş" olması şart. "benim-adim-ali-sifrem" bir passphrase değil; dictionary attack bunu çok hızlı çözüyor.

WiFi şifreleri farklı bir bağlam sunuyor. WPA2 ve WPA3 için minimum 8 karakter teknik zorunluluk, ama bu minimum koruma anlamına geliyor. Kablosuz ağlara yönelik offline saldırılarda saldırgan önce handshake yakalıyor, ardından şifreyi çevrimdışı deniyor. 20+ karakterlik, rastgele oluşturulmuş bir WiFi şifresi bu saldırıyı hesaplama açısından anlamsız bir süreye sürüklüyor.

API anahtarları ve veritabanı şifrelerinde ise insan hatırlama faktörü tamamen devreden çıkıyor. 40-64 karakter, tam rastgele, bir yapılandırma yönetim sistemiyle saklanan — bu bağlamda "ne kadar uzun?" sorusu yerini "ne kadar rastgele?" sorusuna bırakıyor. Uzunluk hâlâ önemli, ama rastgelelik daha belirleyici.

Uzun mu, karmaşık mı — hangisi daha güçlü?

Bu soru yanlış bir ikili kuruyor, ama çok soruluyor.

"Tr0ub4dor&3" gibi sekiz karakterlik karmaşık bir şifre ile rastgele seçilmiş dört kelimeden oluşan bir passphrase karşılaştırıldığında, ikincisi çoğu ölçütte daha güçlü çıkıyor: daha uzun, daha yüksek entropi, daha hatırlanabilir. Kısa ama karmaşık ile uzun ama öngörülebilir arasında kalmak yerine her ikisini birden sağlamak gerçekten zor değil — özellikle rastgele üretim kullandığınızda.

16 karakter, rastgele, büyük-küçük harf ile rakam ve sembol içeren bir şifre hem uzun hem karmaşık oluyor. Bu kombinasyon, günümüz donanımıyla pratik anlamda kırılamaz hesaplama sürelerini gerektiriyor — bir şifre yöneticisiyle saklandığı sürece hatırlama baskısı da ortadan kalkıyor.

Karışıklık genellikle şuradan kaynaklanıyor: güvenlik açıklamalarında yıllarca "karmaşık şifre kullanın" vurgusu yapıldı; uzunluk ikinci plana itildi. Gerçekte ikisi birbirini tamamlayan faktörler; biri diğerinin yerine geçmiyor.

Uzun şifrenin getirdiği pratik sorun

Mantık buraya kadar net. Asıl sürtünme noktası farklı: her platform için farklı, uzun, karmaşık bir şifre nasıl yönetilecek?

20 karakterlik rastgele bir şifreyi hatırlamak mümkün değil. Bu şifrenin bir yerde saklanması gerekiyor — kağıt not, tarayıcı kaydedici, metin dosyası veya şifre yöneticisi; her biri farklı bir risk modeli taşıyor. Tarayıcı kaydediciler cihaza bağlı ve senkronizasyon konusunda sınırlı; metin dosyası şifrelenmemiş veri barındırıyor; kağıt fiziksel erişime açık. Şifre yöneticisi bu kanallar arasında en yapısal çözümü sunuyor, ama kendine özgü bağımlılık ve ana şifre riski var. Bu seçim üzerinde daha kapsamlı düşünmek isteyenler için şifre yöneticisinin ne sunduğunu ve ne zaman işe yaradığını bu yazıda bulabilirsiniz.

Bir pratik not: bazı platformlar hâlâ 8 veya 10 karakter üst sınırı uyguluyor. Bu kısıtlama kullanıcı hatasından değil, platform mimarîsindeki tercihlerden — çoğu zaman eski sistemlerle uyumluluktan — kaynaklanıyor. Bu tür platformlarda izin verilen maksimuma kadar gitmek ve her durumda rastgele üretilmiş şifre kullanmak en iyi yaklaşım.

Genel amaçlı hesaplar için 16 karakter makul bir başlangıç; yüksek değerli hesaplarda 20-24 veya üzeri tercih edilmeli. Bu kararı manuel değerlendirmeden çıkarmak ve farklı uzunluk seçenekleriyle rastgele şifre üretmek süreci basitleştiriyor — özellikle her hesap için farklı şifre kullandığınızda bu otomasyon kaçınılmaz hale geliyor.