Her yıl milyonlarca hesap ele geçiriliyor. Saldırganların işini kolaylaştıran şey çoğu zaman karmaşık bir güvenlik açığı değil, zayıf bir şifredir. "123456" hala dünyanın en çok kullanılan şifresi ve kırılması bir saniyeden kısa sürüyor.
Güçlü şifre kavramı yıllar içinde değişti. Eskiden 8 karakter yeterliydi, artık güvenlik uzmanları minimum 12 karakter öneriyor. Karakter sayısı arttıkça kırılma süresi katlanarak büyür. 8 karakterlik bir şifre saatler içinde kırılabilirken, 16 karakterlik birinin kırılması milyonlarca yıl alabilir.
Peki güçlü şifre tam olarak ne anlama geliyor? Hangi kriterleri karşılamalı? Ve daha önemlisi, şifre güvenliğini artırmanın gerçekten işe yarayan yolları neler?
Güçlü şifre nedir?
Kısa cevap: otomatik saldırı yöntemlerine karşı dayanıklı olan şifre. Bunu belirleyen şey entropi, yani şifrenin tahmin edilme zorluğunu bit cinsinden ölçen bir değer. Yüksek entropi, güçlü şifre.
Güçlü bir şifrede şu özellikler bir arada bulunur:
- En az 12 karakter uzunluğunda
- Büyük harf (A-Z) ve küçük harf (a-z) bir arada
- En az bir rakam (0-9)
- En az bir özel karakter (!@#$%^&*)
- Sözlükte geçen kelimelerden oluşmuyor
- Kişisel bilgi barındırmıyor (doğum tarihi, isim gibi)
Tek başına uzunluk yetmez. Tek başına karakter çeşitliliği de değil. İkisi birlikte çalıştığında brute force saldırılarına karşı ciddi bir direnç ortaya çıkar.
Şifre uzunluğu neden bu kadar önemli?
Uzunluk. Şifre güvenliğinde en belirleyici faktör bu.
Her eklenen karakter olası kombinasyon sayısını katladığı için fark inanılmaz hızlı büyür. Sadece küçük harflerden oluşan 6 karakterlik bir şifrede 308 milyon kombinasyon var. Çok gibi geliyor, değil mi? Aynı karakter setiyle 12 karaktere çıktığınızda bu sayı 95 katrilyona fırlıyor. Büyük harf, rakam ve sembol eklediğinizde ise astronomik rakamlara ulaşıyorsunuz.
Kırılma süreleri karşılaştırması
| Şifre uzunluğu | Sadece küçük harf | Karışık (harf+rakam+sembol) |
|---|---|---|
| 6 karakter | Anlık | 5 dakika |
| 8 karakter | 2 saat | 8 saat |
| 12 karakter | 200 yıl | 34.000 yıl |
| 16 karakter | 3 milyon yıl | 1 trilyon yıl |
Bu süreler günümüz donanımlarına göre. GPU'lar her yıl daha güçleniyor, dolayısıyla kısa şifrelerin ömrü giderek kısalıyor.
NIST (ABD Ulusal Standartlar ve Teknoloji Enstitüsü) güncel rehberlerinde minimum 12 karakter öneriyor. İlginç bir detay: 2024'te yayımlanan NIST SP 800-63B revizyonunda karmaşıklık kuralları (büyük harf zorunluluğu gibi) artık önerilmiyor. Uzunluk her şeyin önüne geçti.
Karakter çeşitliliği ne kadar fark yaratır?
"aaaaaaaaaaaa" da 12 karakter. Güçlü mü? Hiç değil.
Asıl mesele karakter setinin genişliği. Sadece küçük harfle her pozisyonda 26 seçenek var. Büyük harf eklediğinizde 52'ye, rakamlarla 62'ye, sembollerle 95'e çıkıyor. 12 karakterlik bir şifrede bu farkın yarattığı kombinasyon uçurumu gerçekten büyük.
Özel karakterlerin rolü
Özel karakterler (!@#$%^&*()_+-=) entropiyi ciddi şekilde yükseltir. Saldırganlar genellikle önce harf ve rakam kombinasyonlarını deniyor, sembol içeren şifreler sıranın sonuna kalıyor.
Bazı sistemler özel karakter kabul etmiyor, bu da ayrı bir sorun. O zaman ne yapmalı? Uzunluğu artırın. 16 karakterlik sade harfli bir şifre, 12 karakterlik sembol içeren birinden daha güvenli olabiliyor. Sembol ekleyemiyorsanız panik yok, birkaç karakter daha ekleyin, aynı kapıya çıkar.
Zayıf şifrelerin ortak özellikleri
Sızan şifre veritabanlarına bir göz atın, hep aynı kalıplar. Saldırganlar da bunları gayet iyi biliyor.
En yaygın zayıf şifre kalıpları:
- Ardışık sayılar: 123456, 123456789
- Klavye desenleri: qwerty, asdfgh
- Yaygın kelimeler: password, şifre, admin
- Kişisel bilgiler: doğum yılı, evcil hayvan adı
- Basit değişiklikler: P@ssw0rd (saldırganlar bunu bilir)
- Tekrarlayan karakterler: aaaaaa, 111111
"P@ssw0rd" güçlü görünüyor, değil mi? Büyük harf var, sembol var, rakam var. Leet speak dönüşümleri saldırı sözlüklerinde çoktan mevcut olduğu için bu tür "akıllıca" değişiklikler saldırganları yavaşlatmıyor bile. Bir sözlük saldırısı yazılımı "password" kelimesinin tüm varyasyonlarını saniyeler içinde tarar. 2023 NordPass raporuna göre "P@ssw0rd" dünya genelinde en çok kırılan 50 şifre arasında.
Aynı şifreyi birden fazla hesapta kullanmak
Diyelim ki mükemmel bir şifreniz var. 20 karakter, semboller, tamamen rastgele. Aynı şifreyi üç farklı yerde kullanıyorsanız? Domino taşı gibi düşünün. Bir tanesi düştüğünde saldırganlar diğerlerini otomatik olarak deniyor. Buna credential stuffing deniyor ve düşündüğünüzden çok daha yaygın.
LinkedIn'in 2012'deki ihlalinde 117 milyon şifre sızdı. Yahoo'da 2013-2014 arasında 3 milyar hesap etkilendi. Bir e-ticaret sitesindeki şifreniz Gmail şifrenizle aynıysa, o site hacklendiğinde Gmail'iniz de tehlikede.
Güvenli şifre oluşturma yöntemleri
İki temel yöntem var: rastgele karakter dizisi ve passphrase. Hangisini seçeceğiniz kullanım şeklinize bağlı.
Rastgele karakter dizisi
En güvenli yöntem. Kriptografik rastgele sayı üreteci ile oluşturulan şifreler hiçbir kalıp içermez: k7#Lm9$xQp2&Tn
Akılda kalması mı? İmkansız. Zaten kalmasına gerek yok, bir şifre yöneticisi bu işi hallediyor. Önemli olan şu: rastgele şifreleri kendiniz üretmeye çalışmayın. İnsanlar rastgele seçim yapmakta gerçekten kötü. Farkında olmadan kalıplar oluşturuyoruz, klavyede "rastgele" bastığımız tuşlar bile genellikle belirli bir bölgeye yoğunlaşıyor. Kriptografik güvenli bir araçla otomatik olarak oluşturmak çok daha mantıklı.
Passphrase yöntemi
Birden fazla rastgele kelimeyi birleştiriyorsunuz: Masa7Kedi$Bulut. Hem güçlü hem akılda kalıcı. Passphrase'lerin en büyük avantajı bu. 3-4 rastgele kelime yan yana geldiğinde yeterli entropi sağlanıyor, araya rakam ve sembol serpiştirmek güvenliği daha da artırır. Dikkat edilmesi gereken tek şey: kelimeler arasında mantıksal bağlantı olmamalı. "GüneşDenizKum" gibi ilişkili kelimeler tahmin edilebilir çünkü saldırganlar tematik kelime gruplarını da deniyor. "LahmacunPiyano42Çorap" gibi absürt kombinasyonlar çok daha güvenli.
Şifre yöneticisi kullanmalı mısınız?
Her hesap için farklı, güçlü şifre. Kulağa güzel geliyor ama ortalama bir kullanıcının 80-100 çevrimiçi hesabı var. Hepsini akılda tutmak? Gerçekçi değil.
Şifre yöneticileri tam olarak bu sorunu çözüyor. Tüm şifreleriniz şifreli bir kasada duruyor, siz sadece bir ana şifre hatırlıyorsunuz. Gerisi otomatik. Seçerken uçtan uca şifreleme (zero-knowledge), 2FA koruması, otomatik doldurma ve veri ihlali uyarı sistemi olan bir çözüm tercih edin.
Ana şifreniz en güçlü şifreniz olmalı. En az 16 karakter, passphrase yöntemiyle oluşturulmuş, başka hiçbir yerde kullanılmamış. Bu şifre diğer her şeyin kapısı, burada taviz vermeyin.
"Şifre yöneticisinin kendisi hacklenirse?" diye sorabilirsiniz. Zero-knowledge mimarisinde şifreleme anahtarı sunucuda değil sizde tutulur. Servis sağlayıcı bile şifrelerinizi okuyamaz. 2022'de LastPass'ın yaşadığı ihlalde kasalar sızdı, ancak güçlü ana şifre kullanan hesaplar korundu. Zayıf ana şifre kullananlar ise risk altına girdi. Yine aynı noktaya dönüyoruz: ana şifrenin gücü her şeyi belirliyor.
İki faktörlü doğrulama ile şifre güvenliğini artırma
Şifre tek katmanlı bir savunma. Phishing, keylogger, veri ihlali — herhangi biri o katmanı deliyor ve geride hiçbir şey kalmıyor.
İki faktörlü doğrulama (2FA) ikinci bir katman ekliyor. Teknik olarak "bildiğiniz bir şey" (şifre) ile "sahip olduğunuz bir şey" (telefon, donanım anahtarı) kombinasyonu. Şifrenizi ele geçiren biri ikinci faktör olmadan hesaba erişemiyor.
SMS tabanlı 2FA hiç olmamasından iyi. En güvenli yöntem değil gerçi, SIM swap saldırılarıyla atlatılabiliyor. Authenticator uygulamaları (Google Authenticator, Authy) veya donanım anahtarları (YubiKey) daha sağlam alternatifler. YubiKey gibi fiziksel anahtarların bir güzel tarafı daha var: doğrulama domain bazlı çalıştığı için sahte bir giriş sayfasında anahtar tepki vermiyor. Phishing'e karşı da koruma sağlıyor yani.
E-posta, banka ve sosyal medya hesaplarında 2FA mutlaka açık olmalı. Neden özellikle e-posta? Diğer tüm hesaplarınızın şifre sıfırlama noktası orası. O düşerse gerisini siz düşünün.
Şifre ne sıklıkla değiştirilmeli?
90 günde bir şifre değiştirmek. Yıllarca altın kural buydu. NIST bu yaklaşımı çöpe attı ve haklıydı. Sık değiştirme zorunluluğu insanları köşeye sıkıştırıyor: "Şifre1", "Şifre2", "Şifre3"... Tanıdık geldi mi?
Şifrenizi değiştirmeniz gereken durumlar net:
- Kullandığınız bir servis veri ihlali yaşadığında
- Şifrenizin ele geçirildiğinden şüphelendiğinizde
- Şifrenizi başka biriyle paylaştıysanız
- Ortak kullanılan bir cihazda oturum açtıysanız
Güçlü ve benzersiz bir şifre kullanıyorsanız rutin değişiklik gerekmez. Enerjinizi şifre değiştirmeye değil, her hesap için farklı şifre kullanmaya ve 2FA etkinleştirmeye harcayın.
Temel prensipler basit aslında: uzun, rastgele, benzersiz. Bir şifre yöneticisiyle saklayın, 2FA açın, aynı şifreyi iki yerde kullanmayın. Mevcut şifrelerinizin gücünü merak ediyorsanız, şifre gücü analizi yaparak entropi skorunu ve tahmini kırılma süresini öğrenebilirsiniz. Sunucu tarafında ise erişim kontrolü yapılandırarak brute force saldırılarına karşı ek koruma sağlayabilirsiniz.