Şifre oyunu ve hiçbir şeyi korumayan kurallar

Yayınlanma yazan David Carrero

Haziran 2023’te Neal Agarwal adlı bir programcı, kendi sitesi neal.fun’da The Password Game başlıklı bir şey yayımladı. Sizden bir şifre yazmanızı istiyor. Sonra en az beş karakter olmasını. Sonra bir rakam. Sonra bir büyük harf. Sonra bir özel karakter.

Buraya kadar oyun değil. Bankanızın formu.

Sonra öteki kısım başlıyor. Rakamların toplamı 25 olacak. İçinde bir ay adı geçecek. Çarpımı 35 eden Roma rakamları bulunacak. Bugünkü Wordle cevabını taşıyacak. Bir fotoğraftaki ülkeyi tanımlayacak. Bir satranç konumundaki en iyi hamleyi cebirsel notasyonla içerecek. Otuz beş kural var ve yolda şifrenizin içinde Paul adlı bir yumurta emojisi çatlıyor, tırtıllarla beslenmesi gerekiyor; bu arada bir alev, zamanında söndürmezseniz karakterlerinizi yiyor.

Oyun rahatsız edici bir nedenle işliyor: şakayı kimsenin size açıklaması gerekmiyor. İlk saniyede anlıyorsunuz, çünkü bu mekanizmayı yarım ömürdür çekiyorsunuz. Agarwal’ın yaptığı tek şey ipi biraz daha çekmek oldu.

Ve asıl yavaşlanması gereken yer burası. İlk dört kuralı o uydurmadı.

Zaten bildiğiniz kurallar nereden geldi

Bir büyük harf, bir rakam, bir sembol ve asgari bir uzunluk internet folkloru değil: ABD’li NIST’in 2003’te yayımladığı bir belgenin, Bill Burr’ün yazdığı SP 800-63’ün pratik çevirisi. Oradan dünyanın yarısının formlarına, oradan da kafanıza indi.

Hepsini şifre nedir yazısında anlattık: Burr’ün gerçek şifrelere dair verisi yoktu — neredeyse hiç yoktu — bu yüzden mantıklı görünene doğru akıl yürüttü. Daha çok karakter çeşidi, daha çok kombinasyon, daha çok güvenlik. 2017’de NIST’in kendisi geri adım attı ve Burr Wall Street Journal’a yazdıklarının büyük kısmından pişman olduğunu söyledi.

Yani Agarwal’ın oyunu bir güvenlik politikasını abartmıyor. İlk satırında zaten yanlış olan bir listeyi sürdürüyor. “Bir sembol içermeli” ile “rakamların toplamı 25 olmalı” arasındaki tek fark, birincisine alışmış olmanız.

O kuralların hiç ölçmediği şey

Şakanın komikliğini yitirdiği yer burası, çünkü ölçülebiliyor.

Bu sayılar bu sitenin şifre kontrolünden çıkıyor, kendi beyan ettiği modelle: hızlı bir özet fonksiyonuna karşı çevrimdışı saldırı, saniyede 10¹² deneme. Broşür tahmini değil; aynı dizeleri oraya yazarsanız göreceğiniz şey.

şifre uyduğu kurallar deneme dayanma süresi
Parola1! dördü de 944.400 < 1 saniye
Bahar2026! dördü de 1,3 × 10⁸ < 1 saniye
Zx9#kQ2m dördü de 3,3 × 10¹⁵ 55 dakika
zarla seçilmiş altı kelime, küçük harfle hiçbiri 1,1 × 10²³ 3.500 yıl

Son satır kontrol aracından değil, aritmetikten geliyor; bu bilinçli: araç o altı kelimenin bir zardan çıktığını bilemez, dolayısıyla başka bir şey hesaplardı. Altı atış tam olarak 77,5 bit eder ve saniyede 10¹² denemede 77,5 bit yaklaşık üç bin beş yüz yıl demektir. Sonda buna döneceğiz.

Bir daha okuyun. Parola1! gezegendeki her formu geçer ve tuşu bırakmadan düşer, çünkü kelime sözlükte var ve gerisi herkesin taktığı süs: başta büyük harf, sonda rakam ve sembol. Ve son satır, küçük harfle altı sıradan kelime, hesabınızın olduğu sitelerin yarısı tarafından reddedilirdi: büyük harf yok, rakam yok, sembol yok.

Zx9#kQ2m üzerinde durmaya değer, çünkü kuralın mümkün olan en iyi hâli. Gerçekten rastgele sekiz karakter, dört türün hepsiyle; 2003 politikasının örnek şifre saydığı şeyin ta kendisi. Elli beş dakika. Üstelik bu bir tavan: araç, onu rastgele yazdığınızı bilemez, bu yüzden size şüpheden yararlanma hakkı tanır ve en iyi senaryoyu hesaplar. Zaten kimse böyle yazmaz. Bir insandan sembollü sekiz karakter isteyin, çıkan şey Merhaba123! olur — 4,2 × 10⁶ deneme, bir saniyenin altında.

Kural bu ikisini ayırt etmiyor. Form açısından Merhaba123! ile Zx9#kQ2m aynı şifre. Kusurun tamamı bu: bir bileşim kuralı dizenin biçimini ölçer, direnç ise biçimde değildir.

90 gün kuralı, yani Yaz2026! böyle icat edilir

2003 mirasının öteki yarısı süre dolumu. Doksan günde bir değiştir.

Kimse doksan günde bir yeni şifre icat etmez. İnsanların yaptığı — sizin yaptığınız, benim yaptığım — eldekini bir artırmaktır. Bahar2026! Yaz2026! olur ve iş biter. İkisi de bir saniyeden az dayanır ve bir saldırganın elinde birincisi varsa, ikincisini tahmin etmek saldırı değildir: boşluk doldurmaktır.

NIST zorunlu değiştirmeyi 2017’de SP 800-63B ile kaldırdı. Ağustos 2025 revizyonunda dil sertleşti: doğrulayıcıların bileşim kuralları dayatmaması ve periyodik değişiklik istememesi gerekir denen yerde artık bunların ikisini de yapamayacakları yazıyor. Değişiklik yalnızca şifrenin ele geçirildiğine dair belirti varsa zorunlu kılınır.

İlk geri adımdan dokuz yıl sonra şirketiniz hâlâ her çeyrekte sizden bir büyük harf istiyor.

Karakter sınırı hepsinin en kötü işareti

Agarwal, bardağı taşıran damlanın — oyunu yapmasına yol açan şeyin — bir hesap açmaya çalışırken şifresinin fazla uzun olduğunu söylemeleri olduğunu anlattı.

Bütün absürt kurallar içinde ayrıca kötü bir işaret olan tek kural bu.

Şifrenizi gerektiği gibi saklayan bir sistem onu saklamaz: özetini saklar ve bir özet, ona sekiz karakter de verseniz sekiz yüz de verseniz hep aynı boydadır. On altı karakterlik bir sınır için hiçbir depolama gerekçesi yoktur. Bilinen, meşru tek bir teknik istisna vardır — bcrypt 72 baytı aşanı yok sayar — ve bu, on ikide duran formları açıklamaz.

Kısa bir tavan, şifrenizi düz metin sakladıklarını kanıtlamaz; ama ancak biri onu sabit genişlikte bir veritabanı sütununa tıkıştırdığında ortaya çıkan türden bir ayrıntıdır. SP 800-63B’nin kendisi tersini ister: en az 64 karakterin kabul edilmesini.

İşe yarayan kural bir forma sığmıyor

Asıl rahatsızlık şu: iyi uygulama bir doğrulama kutusu olarak ifade edilemiyor. “Başka yerde kullanmadın” ya da “son sızıntıda yok” için kimse düzenli ifade yazamaz.

Yapılabilen şey saymak. Zarla seçilen kelimelerden oluşan bir öbek — Diceware — kelime başına 12,9 temiz bit ekler ve o bitler gerçekten bittir. Saniyede 10¹² denemelik aynı modelle:

  • Beş kelime 64,6 bit eder: yaklaşık 164 gün.
  • Altı kelime 77,5 bit eder: yaklaşık 3.500 yıl.

İki rakamı da söylemek gerekir, yalnızca ikincisini değil. Beş kelimelik bir öbeğin “yüzyıllar dayandığı” çok tekrarlanır; hızlı bir özete karşı yüzyıllar dayanmaz: beş buçuk ay dayanır. Reinhold bu yüzden beşi asgari, altıyı gerçekten önemli olan için önerdi. Ölçeği değiştiren şey altıncı kelimedir ve bedava.

İkisi de bankanızın formunu geçemezdi.

Oyun neden komik

Oyun rakamlarınızın toplamının 25 olmasını istediğinde gülüyorsunuz, çünkü bu, bir şifreyi güvenli yapan şeyle hiçbir ilgisi olmayan keyfî bir koşul.

Sembol istemek de bir şifreyi güvenli yapan şeyle hiçbir ilgisi olmayan keyfî bir koşul. Fark şu ki onu internetin yarısı sunuyor ve ona alışıp sevdik.

Operasyonel özeti isterseniz üç satıra sığar: üreteci ya da birkaç zar kullanın, sonucu parola yöneticisine koyun ve formun kurallarını, istediğini ekleyerek karşılayın — bunun sizi bir şeyden koruduğuna inanmadan. Baştaki büyük harf ile sondaki ! bir geçiş ücretidir, savunma değil.

Gerisi bir oyun. Fevkalade yapılmış, ve keşke oyun olarak kalsaydı.


Kaynaklar: Neal Agarwal, “The Password Game” (neal.fun, 27 Haziran 2023), 35 kuralı ve yazarın, şifresinin fazla uzun olduğunu söyleyen form hakkındaki kendi anlatımı · NIST SP 800-63 (2003), SP 800-63B (2017) ve SP 800-63B-4 (Ağustos 2025); bileşim kuralları ve süre dolumu konusunda “gerekir”den “yapamaz”a geçer ve en az 64 karakterin kabul edilmesini ister · Bill Burr’ün Wall Street Journal’a demeçleri, Ağustos 2017 · Arnold G. Reinhold, Diceware (1995); kelime başına 12,9 bit oradan gelir. Tablodaki süreler bu sitenin şifre kontrolüyle, beyan ettiği saniyede 10¹² denemelik modelle ve hızlı bir özete karşı ölçüldü; Diceware değerleri aynı hızla, kelime başına log₂(7.776)’dan hesaplandı.

Fotoğraf: Olha Ruskykh · Pexels

← Bloga dön