Hizmetler Hosting & Sunucu Araçlar Blog Ara Kurumsal EnglishEN
Teklif Alın

Karmaşık görünen şifreler neden yeterli değildir

Bir şifrenin güçlü olup olmadığını çoğu zaman içerdiği büyük harf, rakam ve sembol sayısına bakarak değerlendiririz. Ancak P@ssw0rd! gibi bir şifre bu kurallara uysa da zayıftır, çünkü gerçek saldırganlar şifreleri rastgele denemez; sözlük saldırıları, sızdırılmış şifre listeleri ve yaygın harf-rakam değişim kalıplarını (a→@, o→0, s→$ gibi) modelleyen araçlar kullanırlar. Bir şifrenin gerçek dayanıklılığını neyin belirlediğini anlamak için entropi kavramına bakmak gerekir.

Entropi nedir: karakter havuzu ve uzunluk

Şifre entropisi, bir şifrenin kaç farklı olası kombinasyondan biri olabileceğinin bit cinsinden ölçüsüdür. Hesaplama, şifrede kullanılan karakter türlerinden bir "havuz büyüklüğü" çıkarır:

Karakter türüHavuza katkısı
Küçük harf (a-z)+26
Büyük harf (A-Z)+26
Rakam (0-9)+10
Sembol+32

Entropi (bit cinsinden) şu formülle hesaplanır: uzunluk × log2(havuz büyüklüğü). Ortalama olarak bir saldırganın olası kombinasyonların yarısını denemesi gerektiği varsayılır; tahmini kırılma süresi de toplam kombinasyon sayısının yarısının, varsayılan deneme hızına bölünmesiyle bulunur. Bu, salt teorik bir formül değildir; şifre üretici araçlarının güç göstergelerinde kullanılan yöntemle aynıdır ve bir şifrenin "görünüşte" değil ölçülebilir biçimde ne kadar dayanıklı olduğunu ortaya koyar.

Brute-force saldırısı nasıl işler

Brute-force (kaba kuvvet) saldırısı, doğru şifreyi bulana kadar olası tüm kombinasyonları sırayla veya rastgele deneyen bir yöntemdir. Saldırgan şifrenin kendisini bilmez; yalnızca karakter uzayını ve olası uzunluğu tarar. Bir şifrenin entropisi ne kadar yüksekse taranması gereken kombinasyon uzayı o kadar büyür ve ortalama deneme sayısı katlanarak artar. Ancak sonucu asıl belirleyen, saldırganın saniyede kaç kombinasyon deneyebildiğidir — bu da az sonra anlatılan çevrimiçi/çevrimdışı saldırı senaryosu farkına doğrudan bağlıdır.

Neden uzunluk karmaşıklıktan daha belirleyicidir

Formülde uzunluk çarpan konumundadır: her ek karakter olası kombinasyon sayısını katlanarak artırır. Bir karakter türü daha eklemek (örneğin küçük harfe sembol eklemek) havuz büyüklüğünü artırır, ama etkisi uzunluk kadar büyük değildir. Örneğin yalnızca küçük harflerden oluşan 8 karakterlik bir şifride havuz büyüklüğü 26'dır ve entropi 8 × log2(26) ≈ 37,6 bit eder. Aynı uzunlukta dört karakter türünü birden kullanan bir şifride havuz büyüklüğü 26+26+10+32=94'e çıkar ve entropi 8 × log2(94) ≈ 52,4 bit olur — sembol eklemek elbette işe yarar. Ama yalnızca küçük harflerden oluşan 20 karakterlik bir şifrenin entropisi 20 × log2(26) ≈ 94 bit'tir; yani dört karakter türünü kullanan 8 karakterlik şifreden çok daha yüksektir. Bu yüzden birkaç rastgele kelimeden oluşan uzun bir parola (passphrase), kısa ve sembollerle süslenmiş bir şifreden genellikle daha güçlüdür — ve hatırlaması da daha kolaydır.

Bilgi
Bu, yalnızca ortalama durum için eğitim amaçlı bir tahmindir. Gerçek kelimelerden oluşan uzun bir şifre bile, ham entropi hesabının önerdiğinden çok daha hızlı kırılabilir; çünkü saldırganlar rastgele karakter denemek yerine sözlük tabanlı ve kalıp tabanlı tahmin kullanır.

Saldırı senaryosu neden belirleyicidir: çevrimiçi ve çevrimdışı

Aynı şifre, saldırının nerede gerçekleştiğine göre çok farklı sürelerde kırılabilir. Oran sınırlı (rate-limited) bir çevrimiçi giriş formunda saldırgan saniyede yaklaşık 1.000 denemeyle sınırlıdır; sistem birkaç başarısız denemeden sonra hesabı geçici olarak kilitleyebilir veya isteği geciktirebilir. Ancak bir veri tabanı sızıntısıyla şifre hash'leri saldırganın eline geçtiğinde denemeler artık çevrimdışı (offline) yapılır ve bu sınırlama tamamen ortadan kalkar: korumasız veya hızlı bir hash algoritmasına karşı yaygın saldırı temposu saniyede yaklaşık 1 milyar denemeye, büyük ölçekli özel donanımla ise saniyede yaklaşık 1 trilyon denemeye kadar çıkabilir.

Bu üç senaryo arasındaki fark önemlidir: bir şifrenin yalnızca çevrimiçi bir formda dayanıklı görünmesi yeterli değildir. Gerçek tehdit modeli, şifrenin bir gün sızdırılmış bir hash olarak saldırganın elinde çevrimdışı kırılmaya çalışılacağı varsayımıdır.

Passphrase yaklaşımı

Birkaç rastgele, birbiriyle ilgisiz kelimeden oluşan bir parola (passphrase), hem uzunluğu hem de hatırlanabilirliği bir araya getirir. Kelime sayısı arttıkça toplam kombinasyon uzayı büyür ve rastgele seçilmiş kelimeler — bilinen bir cümle veya tanıdık bir ifade değil — sözlük tabanlı saldırılara karşı da dirençli kalır. Kritik nokta rastgeleliktir: "GüneşDenizKumSaat" gibi tahmin edilebilir bir birleşim, gerçekten rastgele seçilmiş kelimelerden çok daha zayıftır.

Bir şifre yöneticisi kullanmak, bu iki yaklaşımı bir arada uygulamayı pratik hale getirir: her hesap için ayrı, uzun ve tamamen rastgele üretilmiş bir şifre saklarken, yalnızca şifre yöneticisinin kendisini açan tek bir güçlü passphrase'i ezberlemeniz yeterli olur.

Şifre entropisi tek başına yeterli midir

Yüksek entropili bir şifre bile tek başına tam güvenlik anlamına gelmez. Şifre, sunucu tarafında ele geçirilebilir, kullanıcının cihazına bulaşan bir zararlı yazılım tarafından çalınabilir veya oltalama (phishing) yoluyla doğrudan ele geçirilebilir; bu senaryoların hiçbirinde şifrenin entropisi bir koruma sağlamaz. Bu nedenle çok faktörlü kimlik doğrulama (MFA), güçlü bir şifreyi tamamlayan ayrı bir savunma katmanı olarak değerlendirilmelidir: şifre ele geçirilse bile saldırganın ikinci bir doğrulama adımını da geçmesi gerekir. Entropi hesabı, yalnızca şifrenin kendisinin tahmin edilmeye karşı ne kadar dayanıklı olduğunu ölçer; bu, genel hesap güvenliğinin sadece bir bileşenidir.

Sık yapılan hatalar

  • Aynı şifreyi birden fazla sitede kullanmak: Bir sitedeki sızıntı, aynı şifrenin kullanıldığı diğer tüm hesapları da risk altına sokar.
  • Öngörülebilir harf-rakam değişimlerine güvenmek: a→@, i→1, s→$ gibi değişimler saldırganların kullandığı kalıp listelerinde zaten yer alır, gerçek rastgelelik sağlamaz.
  • Kısa ama sembollü bir şifreyi uzun bir passphrase'den daha güçlü sanmak: Uzunluk, karakter çeşitliliğinden daha belirleyicidir.
  • Bir hesabın hash olarak sızdığında çevrimiçi hız sınırlamasının artık geçerli olmadığını göz ardı etmek: Sızıntı sonrası saldırı çevrimdışı ve çok daha hızlı yürütülür.

Bir şifrenin gerçek dayanıklılığını gözle değerlendirmek yanıltıcıdır; entropi hesabı ve farklı saldırı hızı senaryoları somut bir referans noktası sağlar. Aşağıdaki araç, girdiğiniz şifrenin tahmini entropisini ve üç farklı savunma senaryosundaki tahmini kırılma süresini tamamen tarayıcınızda, hiçbir yere göndermeden hesaplar; sonuç saniye, dakika, saat, gün, yıl veya yüzyıl biriminden en uygun olanıyla gösterilir, çok yüksek entropili şifrelerde ise doğrudan "yüzyıllardan uzun" ifadesiyle özetlenir.

WhatsApp