Entropi bitleri nedir ve size neden yüzde vermiyoruz

Yayınlanma yazan David Carrero

Güç yüzdesi, virgülden sonra iki hane eklenmiş bir kanaattir.

Bir site size parolanızın “%92 güvenli” olduğunu söylediğinde akla gelen soru şudur: neyin %92’si? 100 neresi? Öyle bir yer yok. Geri kalan her şeyin kendisiyle ölçüldüğü kusursuz parolayı kimse yayımlamadı. O sayı, birinin salı günü uydurduğu bir orantıdan çıkıyor —büyük harfe şu kadar puan, sembole bu kadar— ve tek gerçek işi, siz devam edesiniz diye o yeşil çubuğu doldurmak.

Bitler ise her zaman tam olarak aynı şeyi ifade eder. Üstelik işinize yarayacak bir şeyi.

Bir bit, evet ya da hayır sorusudur

Bütün fikir tek cümleye sığıyor: her bit, sizin hakkınızda hiçbir şey bilmeyen birinin yapması gereken deneme sayısını ikiye katlar.

Bir bit iki ihtimal demek. İki bit dört. Üç bit sekiz. On bit 1.024, yirmi bit ise bir milyonun biraz üstü. Sayı artmıyor, katlanıyor; sezgimizin uçurumdan yuvarlanmasının sebebi de bu katlanma.

Bu yüzden “40 bit, 20 bitin iki katı iyidir” cümlesi neredeyse komik bir biçimde yanlıştır. 20 ile 40 bit arasında yirmi katlanma, yani 2²⁰’lik bir çarpan var: 40 bit, 20 bitin iki katı değil, bir milyon katıdır. 60 bit de 20 bitin üç katı değildir: 40 bitin bir milyon katıdır. Kafamız bu ölçeği bir cetvel gibi okuyor, oysa cetvel değil. Deprem ölçeği ya da desibel gibi bir şey: sayıdaki minicik bir adım, gerçeklikte devasa bir sıçrama.

Bitin yüzdeye karşı bütün üstünlüğü bu. Yüzde size bir his verir. Bit size bir iş miktarı verir.

Kelime nereden geliyor

Bilgiye uygulanan entropi sözcüğü 1948 tarihli bir makaleden geliyor: Claude Shannon’ın A Mathematical Theory of Communication’ı.

Bunu dikkatli söylemek gerek, çünkü sık sık yanlış aktarılıyor: Shannon parolaları düşünmüyordu. Anmaya değer bir bilgisayar parolası yoktu ortada. Bell Labs’ta bambaşka bir problem üzerinde çalışıyordu —bir mesaj gerçekte ne kadar bilgi taşır ve bozulmadan ne kadar sıkıştırılabilir— ve elle tutulması zor bir şeyi ölçmesi gerekiyordu: karşı taraftakinin belirsizliğini.

Bulduğu şey, kabaca söylersek, bilgi ile sürprizin aynı şey olduğu. Zaten bildiğiniz bir mesaj size hiçbir şey bildirmez. Öngörülmesi imkânsız bir mesaj ise size çok şey bildirir. Entropi, mesajları üreten kaynakta ne kadar sürpriz olduğunu ölçer ve birimi bittir.

Bunun parolalara yaraması neredeyse mutlu bir kaza. Çünkü parola tam olarak şudur: öngörülmesi imkânsız olması gereken bir mesaj.

Rakamlı bisiklet kilidi

İşte yazının tek formülü, ve söz veriyorum, bedavaya geliyor:

H = L × log₂(N)

Logaritmayı bir an için unutun ve şu rakamlı bisiklet kilitlerinden birini düşünün. Onu açmak isteyenin işini zorlaştırmanın iki yolu var:

  • Daha çok halka takmak. Bu uzunluk (L): parolanızın kaç karakteri olduğu.
  • Her halkaya daha çok sembol koymak. Bu alfabe (N): her halkada yalnız on rakam mı var, 26 harf mi, yoksa harfler, rakamlar ve işaretler mi.

Logaritma tek bir iş yapıyor: “bir halkada kaç sembol var” sorusunu “o halka kaç bit katıyor” sorusuna çeviriyor. 26 harflik bir halka yaklaşık 4,7 bit katar. Klavyenin 95 yazdırılabilir karakterini taşıyan bir halka yaklaşık 6,6.

Ve işin şakası burada. Formülde neyin nerede durduğuna bakın. Alfabe logaritmanın içinde, ezilmiş halde; uzunluk dışarıda, çarpan olarak.

Her halkadaki sembol sayısını neredeyse dörde katlamak —26 harften 95 karaktere— size halka başına iki bitten azını kazandırır. Bir halka daha eklemek ise tam bir log₂(N) kazandırır, sonra bir daha, bir daha. Bu yüzden başka hiçbir şey içermeyen on iki küçük harf (yaklaşık 56 bit), formların dayattığı türden büyük harfli, rakamlı ve sembollü sekiz karakteri (yaklaşık 53) yener. P@ssw0rd, atdogrupilzimba karşısında kaybeder ve yaklaşamaz bile.

NIST, SP 800-63B’de aynı yere başka bir yoldan vardı: bileşim kurallarını —bir büyük harf, bir rakam, bir sembol— çöpe attı, geriye uzunluğu ve parolayı sızıntı listeleriyle karşılaştırmayı bıraktı. Ona söylemediği sözleri yakıştırmamak gerek: gerekçesi bu formül değil, insanları bir sembol koymaya zorlamanın onları öngörülemez yapmadığı, sadece başka bir biçimde öngörülebilir kıldığıdır. Zaten belgenin kendisi de bir insanın seçtiği parolanın entropisini tahmin etmeye kuşkuyla bakar. İki ayrı akıl yürütme, aynı sonuç. Zorunlu karmaşıklık logaritmanın içinde çalışır. Uzunluk dışarıda.

Neredeyse kimsenin okumadığı küçük yazı

Bir tuzak var ve bütün bu işin dürüst tarafı da o: entropi parolanızı ölçmez, onu yaratan süreci ölçer.

4$Kp!9zQ o 53 bite zor göründüğü için sahip değildir. Ancak ve ancak 95 tuş arasından gerçekten rastgele bir çekilişten çıktıysa sahiptir. Rastgele görünmeye çalışarak onu siz yazdıysanız formül geçerli değildir: siz bir çekiliş değilsiniz. Büyük harfi başa koyarsınız, rakamı sona, sembol de ! olur. Size saldıran kişi her konum için 95 seçeneği denemez: önce insanların yaptıklarını dener.

Parola güvenliğinin o rahatsız edici asimetrisi buradan çıkar. Entropi bir tavandır, taban değil. Parolayı bir makine üretiyorsa tavan gerçektir. Onu siz seçiyorsanız bildiğiniz tek şey altında kaldığınızdır — ne kadar altında, onu bilmezsiniz.

İşte bu yüzden tek değil, iki araç var. Üretici gerçekten çekiliş yapar, bu yüzden bitleri size ciddi bir yüzle gösterebilir: kaç halkası olduğunu bilir (L), her halkada kaç sembol taşıdığını bilir (N) ve çarpmayı gözünüzün önünde yapar. Kaydırıcıyı oynatıp sayının yükseldiğini gördüğünüzde L’nin itişini görüyorsunuz. Kontrol aracı ise hâlihazırda var olan bir parolayla bunu yapamaz: onun nasıl doğduğu hakkında hiçbir fikri yoktur, o yüzden yapılacak tek makul şeyi yapar — parolayı sözlüklerde, isimlerde ve klavye desenlerinde arar ve en kötüsünü varsayar.

Cebe koyulacaklar

Üç cümle:

  • Bir bit, bir katlanmadır. On bit fazlası bin kat iş demek; yirmi bit fazlası bir milyon kat.
  • Uzunluk çarpar, alfabe ancak biraz ekler. Bir kelime eklemek, bir ünlem işareti eklemekten daha değerlidir.
  • Bitler ancak rastgelelik gerçekse bir şey ifade eder. Bir makine bunu vaat edebilir. Elle yazan siz edemezsiniz.

Shannon bir mesaja ne kadar sürpriz sığdığını arıyordu. Yetmiş küsur yıl sonra görülüyor ki bir parola için doğru soru tam da buymuş: karmaşık görünüp görünmediği değil, sizi hiç tanımayan biri için içinde ne kadar sürpriz taşıdığı.


Kaynaklar: C. E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal, 1948 · NIST SP 800-63B, Digital Identity Guidelines (Authentication and Lifecycle Management) · H = L × log₂(N) hesaplayan ve L, N ile sonuçtaki bitleri gösteren password.es üreticisi.

← Bloga dön