Diceware: zarlar neden senden daha iyi şifre üretir

Yayınlanma yazan David Carrero

Rastgele bir kelime düşün. Şu anda, aklına ilk geleni.

Ne düşündüysen düşün, rastgele değildi. Sana ait bir kelimeydi: bu hafta okuduğun bir şey, karşında duran bir nesne, adının baş harfi. İnsandan rastgelelik istendiğinde ürettiği şey otobiyografidir. Otobiyografi de tahmin edilir.

Şifre meselesinin tamamı bu, özeti bu. İnsanlar tembel diye değil — o da var ama — rastgelelik üretmeye yapısal olarak beceriksiz olduğumuz için. Bazı harfleri severiz, tekrarlardan kaçarız çünkü “rastgele durmuyor”, farkında olmadan sesli ve sessiz harfleri sırayla diziveririz ve bizden bir sayı istendiğinde elimizin altındakine uzanırız: tarihler, yaşlar, anlamı olan rakamlar. Saldırganın bunu sömürmek için kim olduğunu bilmesine gerek yok. İnsan olduğunu bilmesi yetiyor.

Bir mühendis, beş zar ve bir liste

1995’te Arnold G. Reinhold, kendi web sayfasında Diceware adını verdiği bir yöntem yayımladı. Fikir o kadar basit ki anlatmak zorunda kalmak insanın biraz zoruna gidiyor: madem sorun insanın rastgele seçmeyi bilmemesi, seçimi insandan al.

Yöntemin tamamı üç satıra sığıyor:

  1. Beş zar atıyorsun ve sonuçları sırasıyla not ediyorsun. Diyelim ki 4-2-6-1-3 geldi.
  2. Bir listede 42613i buluyorsun.
  3. Kelimen bu. Sonraki için tekrar ediyorsun.

Listede 7.776 kayıt var ve bu sayı keyfi değil: 6⁵, yani beş zarın tüm olası sonuçları. Her kombinasyon — 11111den 66666ya — farklı bir kayda denk geliyor; ne dışarıda kalan var ne de tekrar eden. Orijinal liste kısa İngilizce kelimeleri birtakım hecelerle, rakamlarla ve tek tük işaretlerle karıştırıyor; çünkü iyi 7.776 kelime bulmak göründüğünden zor.

Ama önemli olan liste değil. Zar.

12,9 bit neden gerçekten 12,9 bit

İşte neredeyse kimsenin anlamadığı, buna karşılık önemi olan tek kısım burası.

Bir Diceware kelimesinin entropisi log₂(7.776) = 12,9 bit. Bu güvenlik değil, aritmetik: 7.776 sonuç var ve hepsinin olasılığı tıpatıp aynı.

Şimdi bunu, seçimi sen yaptığında olanla karşılaştır. Senden 7.776 kelimelik bir sözlükten bir kelime istesem hesap aynı görünür — orada da 7.776 seçenek var — ama değildir, çünkü sen onları eşit olasılıkla seçmezsin. Sık kullanılan kelimeleri, hoşuna giden kelimeleri, bugün gözüne çarpmış kelimeleri seçersin. O sözlük kâğıt üzerinde 12,9 bit eder, senin kafanda çok daha azını; saldırgan da listesini sıklığa göre sıralayıp önce insanların seçtiklerini dener. Entropi kaç seçenek olduğu değildir: saldırganın senin zevkin hakkında bildikleri düşüldükten sonra kaç seçenek kaldığıdır.

Zarların zevki yoktur. Hafızası da yoktur: zar bir önceki atışta orman geldiğini bilmez, dolayısıyla tekrardan kaçınmaz, çeşitlilik aramaz ve aynı harfle başlayan iki kelime çıkarsa utanmaz. Diceware’in 12,9 biti bu yüzden gerçek 12,9 bittir, broşürlerdeki iyimser bir rakam değil.

Hesap da bu yüzden yukarı doğru tutuyor. Her kelime ekleniyor:

  • Beş kelime: yaklaşık 64 bit.
  • Altı kelime: yaklaşık 77 bit.
  • Yedi kelime: yaklaşık 90 bit.

Bu temiz bir toplama, sihirli bir çarpma değil; çünkü her atış diğerlerinden bağımsız. Reinhold beş kelimenin altına inmemeyi, gerçekten önemli olan şeyler içinse altı ya da daha fazlasını öneriyor. Etkisini üreteçte görebilirsin: bir kelime eklemek hep aynı miktarı ekler ve o “hep” işin bütün marifeti.

Sır listede değil

İtiraz kendiliğinden geliyor: liste herkese açıksa kırmak daha kolay olmuyor mu?

Hayır, ve bunu ağır ağır söylemekte fayda var. 12,9 bit, saldırganın listeye sahip olduğunu zaten varsayıyor. Ayrıca Diceware kullandığını bildiğini, parolanın kaç kelimeden oluştuğunu bildiğini ve kelimeleri hangi sırayla yazdığını bildiğini de varsayıyor. Bunların hepsi hesaptan düşülmüş durumda. Bilmediği tek şey zarlarında ne çıktığı ve “77 bit” derken saydığın şey tam olarak bu.

P@ssw0rdta yaptığımızın tam tersi. Orada bütün umut, kimsenin a yerine @ koymayı akıl edemeyeceğine bağlanmış durumda. Ediyor. Herhangi bir sözlük saldırısı aracının uyguladığı ilk kurallardan biri bu. Aklına yatıyorsa kontrol aracında dene ve ne kadar dayandığına bak.

EFF ve alternatif listeler

2016’da Electronic Frontier Foundation zarlı parolalar için kendi kelime listelerini yayımladı. Uzun liste 7.776 kaydı koruyor — aynı beş zar, aynı 12,9 bit — ama içeriği değiştiriyor: tuhaf heceler ve işaretler dışarı, yazması ve birbirinden ayırt etmesi kolay sıradan kelimeler içeri. Ayrıca 1.296 kelimelik kısa listeler de yayımladılar (6⁴, dört zar, kelime başına 10,3 bit): biri daha kısa ve akılda kalıcı kelimelerden oluşuyor, diğeri ise her kelime ilk harflerinden ayırt edilip otomatik tamamlanabilsin diye tasarlanmış. Karşılığında her atış daha az ediyor ve daha çok atmak gerekiyor.

İşin zarif tarafı şu: aritmetik kimsenin zevkine göre değişmiyor. Belirleyici olan kayıt sayısı. Kendi listeni Türkçe, Lazca ya da Klingonca yapabilirsin: 7.776 farklı kaydı olduğu ve seçimi zarla yaptığın sürece her kelime 12,9 bit eder. Liste değiştirerek karar verdiğin tek şey sonucun sana ne kadar hoş geldiği; ne kadar güvenli olduğu değil.

Bunu berbat etmenin üç yolu

Diceware üç şekilde çuvallıyor ve üçü de aynı hata: insanın işe yeniden elini sokması.

  • “Bu hoşuma gitmedi” diye atıp tekrar atmak. Sonuçları eliyorsan zar kullanmıyorsun demektir: dekor niyetine bir zarla kendi kriterini kullanıyorsun. Ne geldiyse odur.
  • Cümle gibi dursun diye kelimelerin sırasını değiştirmek. Sıra da atışın bir parçası.
  • Sonuna bir !, başına bir büyük harf koyup “iyileştirmek”. İnsanların sonuna ! ve başına büyük harf koyduğunu bilen bir saldırgan karşısında bu hiçbir şey eklemiyor. Aptalca bir politikayı sağlaman gerekiyorsa yap, ama güvenlik kazandığını sanma: onu bir kez daha zar atarak kazanmıştın.

Bir de Reinhold’un o zaman bile verdiği bir uyarı: sıradan zarlar fazlasıyla iş görür — kumarhane zarları daha hassastır ama gerekmez —, düz bir yüzeye atmakta fayda vardır ve sonuç geldiği gibi not edilir.

Özet

Zarla çıkarılmış altı kelimelik bir parolayı yazmak P@ssw0rdtan daha uzun sürer, hatırlaması Tr0ub4dor&3ten daha kolaydır ve kırması ikisinden de kat kat daha pahalıdır. Daha karmaşık olduğu için değil — değil zaten, altı sıradan kelime — şifrendeki tek karar vermediğin şey o olduğu için.

Diceware’in bütün esprisi bu: sahip olabileceğin en iyi şifre, senin fikrinin karışmadığı şifredir.


Kaynaklar: Arnold G. Reinhold, “The Diceware Passphrase Home Page” ve 7.776 kelimelik listesi (1995) · Electronic Frontier Foundation, zarlı parolalar için kelime listeleri (2016) · aritmetik doğrulanabilir: 6⁵ = 7.776 ve log₂(7.776) ≈ 12,92 bit/kelime.

← Bloga dön