Güc ölçəni nə deyə bilər, nə deyə bilməz
Güc ölçəni bir sətir oxuyur. Şifrənin sağ qalıb-qalmayacağı isə sətrin daşımadığı bir şeydən asılıdır: onun necə yaradılmasından. Ölçənlərin səhv saldığı demək olar ki, hər şey bu boşluqdan doğur.
Entropiya prosesə aiddir, simvollara yox
correct horse battery staple sətrini
güc yoxlayıcısına yazın: 165 bit və
ən yuxarı hökm — Çox güclü. Hovuzu 59 olan 28 simvol; yoxlayıcının gördüyü
yalnız kiçik hərflər və sözlərin arasındakı boşluqdur.
İndi soruşun: bu sətir haradan gəlib?
- EFF-in uzun siyahısından dörd söz kimi seçilibsə — 7.776 söz, yəni log2(7776) = söz başına 12,92 bit — daşıdığı 51,7 bitdir. Reseptdən xəbəri olan və oğurlanmış sürətli heşi saniyədə on milyard cəhdlə üyüdən birinə qarşı bu, iki gün deməkdir.
- Komiksi oxuduğunuz üçün yazılıbsa, demək olar ki, heç nə daşımır. Bu ifadə on ildir sındırma lüğətlərindədir. Bu, bir cəhddir və hovuz hesabının ona heç bir aidiyyəti yoxdur.
Eyni 28 simvol, fərqli cavablar, və ölçən hansı hekayəyə baxdığını ayırd edə bilmir. Onun rəqəmini oxumağın dürüst yolu tavan kimidir: əgər hər simvol təsadüfi seçilsəydi, şifrə nəyə dəyərdi.
Məşhur şifrələr siyahısı simvol sinfi qaydalarını üstələyir
Password123! içində böyük hərf, kiçik hərf, rəqəm və simvol var, uzunluğu isə
on ikidir — indiyə qədər yazılmış hər tərkib qaydasını ödəyir. Hovuz hesabı da
razıdır: 12 × log2(95) = 78,8 bit.
Yoxlayıcı isə 20 bit, Çox zəif çap edir, çünki əvvəlcə məşhur şifrələr siyahısı işləyir və tanıdığı hər şeyi kəsir.
Tanımaq hərfi uyğunluq deyil. Şifrə həm yazıldığı kimi, həm sondakı rəqəmlər və
! @ # $ % . işarələri atıldıqda qalan kök kimi, həm də bunların leet-yazısı
geri açılmış halları kimi yoxlanır. Beləliklə Password1!, Password123! və P@ssw0rd!
hamısı password-a enir və üçü də 20 bit, Çox zəif oxunur: onlayn təxminən
bir saat, oflayn dərhal.
Yoxlayıcının içindəki siyahıda 134 yazı var — on beş ildir sızma reytinqlərinin başında duranlar, üstəgəl yerli favoritlər. Bu, qəsdən kiçikdir və yalnız bir istiqamətdə kəsir. Siyahının verdiyi işarə şifrənin pis olduğunu sübut edir. Susması isə heç nəyi sübut etmir, çünki real hücumçunun siyahısı yüz milyonlarla yazıdan ibarətdir və üstündən qayda mühərrikləri işləyir.
Hücumçunun birinci avtomatlaşdırdığı şey əvəzləmədir
Geri açma sabit cədvəldir və kiçildilmiş sətrə tətbiq olunur: @→a, $→s, 0→o, 1→i, 3→e, 4→a, 5→s, 7→t, !→i. Bu, yoxlayıcının hiyləgərliyi deyil: həmin əvəzləmələr hər sındırma qaydalar dəstinin ilk sətirləridir, ona görə də onları geri açmaq ölçənin hücumçunun gördüyünü görməsi üçün minimumdur.
Sıra göründüyündən vacibdir. p@ssw0rd2024 geri açılanda password2o2a alınır
— ilin içindəki 0 və 4 hərfə çevrilir və heç bir son-şəkilçi qaydası artıq
orada il tapa bilmir. Ona görə sondakı rəqəmlər həm geri açmadan əvvəl, həm də
sonra atılır. Bütöv verildikdə P@ssw0rd2024! 14 bit oxunur, məşhur şifrə
və içində il olması ilə işarələnir: onlayn bir dəqiqə.
Uzunluq və simvol dəstinin ölçüsü
Bit uzunluq vur log2(hovuz)-dur və iki giriş eyni gücdə dartmır.
| Forma | Hovuz | Bit |
|---|---|---|
| 8 simvol, yalnız kiçik hərf | 26 | 37,6 |
| 8 simvol, tam klaviatura | 95 | 52,6 |
| 12 simvol, yalnız kiçik hərf | 26 | 56,4 |
| 12 simvol, tam klaviatura | 95 | 78,8 |
| 16 simvol, yalnız kiçik hərf | 26 | 75,2 |
| 16 simvol, tam klaviatura | 95 | 105,1 |
İlk üç sətri ardıcıl oxuyun. Səkkiz kiçik hərfi tam klaviaturaya keçirmək 15,0 bit qazandırır. Daha dörd kiçik hərf əlavə etmək — eyni əlifba, yadda saxlanacaq yeni heç nə — 18,8 bit qazandırır. Hovuzun ölçüsü loqarifmin içində oturur; uzunluq isə bütün nəticəni vurur.
Elə buna görə Tr0ub4d! və J7#pL2mZ ikisi də 53 bit, Orta oxunur. Sətrin
deyə biləcəyi qədəri ilə, tam klaviaturadan səkkiz simvol tam klaviaturadan
səkkiz simvoldur. Birincisi generasiya olunub və oxunuş təxminən doğrudur;
o birisi sözdən qurulub və əvəzləmə qaydaları olan lüğət hücumu ona 53 bitin
vəd etdiyindən xeyli əvvəl çatır.
Ölçənin çap etdiyi zolaqlar
| Bit, cərimələrdən sonra | Hökm |
|---|---|
| 28-dən aşağı | Çox zəif |
| 28 ilə 40 arası | Zəif |
| 40 ilə 60 arası | Orta |
| 60 ilə 80 arası | Güclü |
| 80 və yuxarı | Çox güclü |
Yükü daşıyan hissə «cərimələrdən sonra»dır: tanınmış şifrə cəmi 20-də kəsilir,
klaviatura və ya əlifba üzrə dörd simvolluq ardıcıllıq 10 çıxır, üç dəfə
təkrarlanan simvol 8 çıxır, içəridəki il 6 çıxır. qwerty123 həm kəsilmə, həm
ardıcıllıq alır və 10 bitə düşür — onlayn beş saniyə.
İki sındırılma vaxtı eyni açar fəzasının iki sürətdəki oxunuşudur, gözlənilən nöqtə isə yarıdır: limitləyən loginə qarşı saniyədə yüz cəhd, GPU dəstindəki oğurlanmış heşə qarşı on milyard. Oflayn sütun sürətli və duzsuz heş fərz edir. Şifrələri bcrypt, scrypt və ya Argon2 ilə saxlayan sayt bundan qat-qat yavaşdır, ona görə həmin sütunu proqnoz kimi yox, aşağı hədd kimi oxuyun.
Ölçənin əlində qalan iş
Təsadüfi sətirlər yaradan şifrə meneceri yuxarıdakı bütün sualları verilməzdən əvvəl həll edir. Proses məlumdur, deməli entropiya da məlumdur — şifrə generatorunda seçdiyiniz uzunluq və əlifba nə verirsə, odur, və onu qiymətləndirmək üçün ölçənə ehtiyac yoxdur. Güc yoxlayıcısı o biri hal üçündür: insanın özünün uydurduğu şifrə, burada yeganə dəlil sətrin özüdür və zolaqdakı rəqəm onun ən nikbin oxunuşudur.