Bahasa Melayu

Cara entropi frasa laluan dikira

Formula log2, berfungsi sebagai contoh untuk ketiga-tiga senarai EFF, berapa kos akrostik dan sebab meter kekuatan tapak web tidak bersetuju dengan halaman ini.

Entropi mengukur proses, bukan kata laluan

Kata laluan tunggal tidak mempunyai entropi. Frasa "stapel bateri kuda yang betul" tidak kuat atau lemah dengan sendirinya — yang penting ialah bagaimana ia wujud. Jika mesin mengeluarkan empat perkataan secara seragam daripada senarai 7,776, ia adalah salah satu daripada kira-kira 3.7 juta hasil yang berkemungkinan sama. Jika seseorang memilihnya kerana mereka pernah melihatnya dalam kartun, ia adalah salah satu daripada segelintir, dan tiada aritmetik mengubahnya.

Jadi setiap angka di laman web ini menerangkan penjana dan tetapannya, dengan andaian bahawa penyerang mengetahui tetapan tersebut dan dikurangkan untuk meneka cabutan rawak. Andaian itu adalah yang konservatif. Senarai, kiraan perkataan, julat panjang, pemisah dan peraturan kes semuanya diterbitkan di halaman ini, jadi menganggapnya sebagai rahsia akan meningkatkan setiap nombor di sini.

Formulanya

Untuk pilihan yang dibuat secara seragam daripada N kemungkinan yang sama, entropi ialah bit log2(N). Setiap pilihan bebas menambah bitnya sendiri, jadi k cabutan bebas daripada kumpulan N yang sama berikan:

bit = k × log2(N)

Itulah keseluruhan pengiraan untuk frasa laluan. Pangkalan log 2 ialah perkara yang menukarkan "berapa banyak kemungkinan" kepada "berapa banyak bit", dan bit adalah mudah kerana setiap bit tambahan menggandakan kerja yang dihadapi oleh penyerang. Tujuh puluh bit adalah dua kali lebih keras daripada enam puluh sembilan, dan kira-kira seribu kali lebih keras daripada enam puluh.

Formula yang sama meliputi kata laluan aksara rawak, dengan saiz N set aksara dan k panjang: dua puluh aksara yang diambil daripada set 80 memberikan 20 × log2(80), iaitu kira-kira 126 bits.

Contoh yang berkesan untuk tiga senarai

Senarai panjang EFF mengandungi 7,776 perkataan. log2(7,776) ialah lebih kurang 12.925, jadi setiap perkataan mengandungi kira-kira 12.9 bits. Enam perkataan memberikan 6 × 12.925, kira-kira 77.5 bits — lalai pada halaman ini dan pengesyoran EFF sendiri untuk senarai itu. Tujuh perkataan memberikan kira-kira 90.5, lapan tentang 103.4.

Kedua-dua senarai pendek mengandungi 1,296 perkataan. log2(1,296) ialah kira-kira 10.34, jadi enam perkataan memberikan kira-kira 62 bits, tujuh tentang 72.4 dan lapan tentang 82.7. Itulah sebabnya senarai pendek mahukan satu atau dua perkataan tambahan untuk memadankan perkataan yang panjang.

Lima perkataan daripada senarai panjang datang kepada kira-kira 64.6 bits — hampir sama dengan enam daripada senarai pendek. Kedua-dua laluan kepada kekuatan yang diberikan benar-benar boleh ditukar ganti; pilih mana-mana yang menghasilkan perkataan yang anda rasa lebih mudah untuk ditaip.

Apakah yang dilakukan oleh julat panjang kepada rajah

Panjang perkataan minimum dan maksimum menapis senarai sebelum sebarang perkataan dilukis, jadi N dalam formula ialah bilangan perkataan yang bertahan dalam penapis, bukan saiz fail. Halaman mengira semula ini semasa anda menukar julat dan menunjukkan kiraan yang masih hidup, jadi angka entropi sentiasa mengenai kumpulan yang sebenarnya digunakan.

Ini adalah kesan kecil untuk julat yang wajar dan kesan yang besar untuk julat yang melampau. Mengehadkan senarai panjang kepada perkataan tepat empat huruf meninggalkan beberapa ratus calon, menjatuhkan setiap perkataan daripada kira-kira 12.9 bits kepada kira-kira 8 — yang menukar frasa laluan enam perkataan daripada kira-kira 77 bits kepada kira-kira 48. Halaman akan menunjukkan itu, dan pada ketika itu ia memberitahu anda untuk meluaskan julat atau menambah perkataan.

Perkara yang ditambahkan oleh pemisah dan pilihan kes

Pemisah tetap tidak menambah apa-apa. Jika setiap jurang adalah tanda sempang, penyerang yang mengetahui tetapan itu meletakkan tanda sempang dalam setiap jurang juga; tiada pilihan untuk mereka meneka.

Pilihan pemisah rawak adalah berbeza. Setiap jurang secara berasingan mengambil satu daripada lima aksara, jadi setiap jurang menambah log2(5), kira-kira 2.32 bits. Frasa laluan enam perkataan mempunyai lima jurang, iaitu kira-kira 11.6 bit tambahan — keuntungan sebenar, dan halaman mengiranya.

Logik yang sama berlaku untuk kes. Bawah, atas, huruf besar dan berselang-seli ialah peraturan tetap dan tidak menambah apa-apa. Kes rawak membalikkan syiling bebas bagi setiap perkataan, jadi ia menambah tepat satu bit setiap perkataan: enam bit pada frasa laluan enam perkataan. Itu pun dikira.

Perlu diperhatikan betapa sederhananya ini. Huruf rawak dan pemisah rawak bersama-sama menambah kira-kira 17 bits pada frasa laluan enam perkataan, manakala perkataan ketujuh menambah kira-kira 13 sendiri dan jauh lebih mudah diingati. Menambah perkataan hampir selalu merupakan tuil yang lebih baik.

Sungguh kos akrostik

Dengan akrostik, setiap perkataan tidak lagi diambil dari keseluruhan kolam — ia diambil daripada perkataan yang bermula dengan huruf yang anda tentukan. Jadi formula menjadi jumlah dan bukannya produk: jumlahnya ialah log2 kumpulan untuk huruf pertama, ditambah log2 kumpulan untuk kedua, dan seterusnya.

Surat-surat itu sangat tidak sekata. Dalam senarai panjang EFF, terhad kepada perkataan lima hingga sembilan huruf, kumpulan yang bermula dengan s adalah beberapa kali lebih besar daripada kumpulan yang bermula dengan j dan jauh lebih besar daripada kumpulan yang bermula dengan x. Oleh itu, akrostik enam huruf memberikan angka di bawah enam kali nilai setiap perkataan tanpa batasan, dan sejauh mana di bawah bergantung sepenuhnya pada huruf yang anda pilih.

Halaman melakukan jumlah ini untuk huruf tepat yang anda taip, yang merupakan satu-satunya cara untuk memberikan nombor yang jujur. Jika salah satu surat anda tidak mempunyai perkataan di belakangnya dalam senarai semasa dan julat panjang, ia menyatakan huruf mana dan bukannya gagal secara senyap-senyap.

Akrostik juga bukan rahsia. Anggap penyerang tahu huruf awal mengeja nama anjing anda, kerana perkara itu yang boleh diteka.

Mengubah bit menjadi masa, jujur

Anggaran masa pada halaman ini menganggap serangan luar talian pada satu trilion meneka satu saat terhadap pangkalan data kata laluan yang dicuri, dan separuh daripada kemungkinan mesti dicuba sebelum yang betul muncul. Andaian tersebut dinyatakan di mana-mana masa muncul, kerana anggaran masa tanpanya adalah tidak bermakna.

Satu trilion meneka satu saat adalah angka yang sengaja keras. Ia berada di kawasan yang betul untuk perkakasan khusus yang menyerang fungsi cincang yang pantas dan dipilih dengan buruk. Tapak yang menggunakan cincang kata laluan moden dengan betul adalah lebih perlahan untuk diserang dengan faktor berjuta-juta, dan sebarang borang log masuk dalam talian adalah lebih perlahan dengan faktor berbilion-bilion, kerana setiap percubaan adalah permintaan rangkaian yang boleh dihadkan oleh pelayan.

Itulah sebabnya nombor di halaman ini sengaja pesimis. Jika anggaran mengatakan carian akan mengambil masa yang jauh lebih lama daripada sesiapa pun, angka sebenar terhadap perkhidmatan yang dikendalikan dengan cekap adalah lebih lama.

Mengapa meter kekuatan tapak web menyatakan sesuatu yang berbeza

Kebanyakan meter kekuatan menjaringkan aksara di hadapan mereka, kerana itu sahaja yang mereka ada: mereka tidak pernah melihat bagaimana kata laluan itu dijana. Mereka memberi ganjaran kepada kelas aksara bercampur, menghukum pengulangan dan selalunya sepadan dengan kamus kata laluan biasa. Terhadap kata laluan ciptaan manusia yang merupakan heuristik yang munasabah, dan ia adalah satu-satunya perkara yang boleh dilakukan oleh borang.

Ia menskor frasa laluan yang dijana dengan teruk atas sebab yang salah. Enam perkataan kamus huruf kecil dengan ruang di antara mereka kelihatan, kepada heuristik pengiraan aksara, seperti tepatnya perkara yang dibina untuk memberi amaran — walaupun perkataan itu dilukis secara rawak dan hasilnya lebih kuat daripada hampir semua perkara yang akan dipuji oleh meter.

Apabila meter dan halaman ini tidak bersetuju tentang frasa laluan yang dijana di sini, halaman itu menerangkan proses dan meter menerangkan penampilan. Tidak juga berbohong; mereka mengukur perkara yang berbeza, dan sahaja seorang daripada mereka yang tahu dari mana perkataan itu datang.

Apa yang berlaku kepada apa yang anda hasilkan

ToolAcre menjana kata laluan secara setempat dalam pelayar anda. Untuk persekitaran yang sangat sensitif, sahkan pelayar, peranti dan sistem pengendalian anda dipercayai sebelum menggunakan mana-mana penjana kata laluan berasaskan web.

  • Setiap frasa laluan dan kata laluan dijana dalam tab pelayar anda, oleh penjana nombor rawak kriptografi pelayar anda sendiri. Tiada pelayan terlibat selepas halaman dimuatkan.
  • Tiada apa-apa yang dijana di sini dihantar ke ToolAcre. Polisi Kandungan-Keselamatan-Keselamatan produk ini mengehadkan halaman kepada asalnya sendiri, jadi pelayar itu sendiri menyekat sebarang percubaan untuk menghantar data ke tempat lain.
  • Tiada apa-apa ditulis pada storan tempatan, storan sesi, kuki, pangkalan data dalam pelayar, bar alamat atau konsol pelayar. Memuat semula membuangnya; menutup tab membuangnya.
  • Tiada akaun, tiada log masuk, tiada skrip analitik dan tiada skrip pengiklanan. Satu-satunya fail yang dimuat turun ialah senarai perkataan statik.
  • Tiada sejarah disimpan. Menjana semula menggantikan nilai, dan yang sebelumnya tidak boleh dipulihkan.

Soalan

Berapa bit cukup?

Untuk akaun biasa di belakang pengurus kata laluan, perkara di atas tentang 70 bits adalah di luar jangkaan realistik. Untuk beberapa frasa laluan yang melindungi segala-galanya — pengurus itu sendiri, peranti anda, e-mel anda — sasarkan lebih tinggi, sekitar 90 bits atau lebih, iaitu tujuh atau lapan perkataan daripada senarai panjang.

Mengapa menambah perkataan lebih membantu daripada menambah simbol?

Satu perkataan daripada senarai panjang mendarabkan bilangan kemungkinan dengan 7,776, kira-kira 12.9 bits. Simbol yang dilampirkan dalam kedudukan tetap mendarabkannya dengan satu, kerana penyerang tahu ia ada di sana. Sahaja pilihan yang sebenarnya dikira secara rawak.

Adakah halaman mengira pilihan kes rawak dalam rajah?

Ya, pada satu bit setiap perkataan, kerana setiap perkataan adalah flip syiling bebas. Peraturan kes tetap dikira sebagai sifar, kerana penyerang yang mengetahui peraturan itu boleh menggunakannya sendiri.

Mengapakah separuh ruang kekunci digunakan dalam anggaran masa?

Kerana rata-rata pencarian menyeluruh menemui jawapan di tengah jalan. Menggunakan ruang kekunci penuh akan melebihkan masa dengan faktor dua, yang merupakan ralat pembundaran pada skala ini tetapi masih dengan cara pusingan yang salah.

Adakah 77 bits mencukupi memandangkan kelajuan komputer semakin meningkat?

Kos meneka berganda dengan setiap bit tambahan, jadi aritmetik sangat memihak kepada pemain pertahanan. Risiko realistik kepada frasa laluan 77-bit bukanlah pengiraan mentah — ia adalah pancingan data, perisian hasad pada peranti anda, guna semula merentas tapak dan perkhidmatan yang menyimpannya secara sembarangan. Itulah perkara yang patut diberi perhatian.

Had

  • Entropi ialah had atas kesukaran meneka, bukan ramalan bagaimana akaun sebenarnya akan dikompromi. Kebanyakan akaun hilang oleh pancingan data, penggunaan semula dan pangkalan data yang dilanggar daripada meneka.
  • Angka tersebut menganggap sumber rawak adalah bunyi. Halaman ini menggunakan penjana kriptografi pelayar dan enggan berjalan tanpanya, tetapi ia tidak boleh mengaudit penjana itu dari dalam halaman.
  • Anggaran masa bergantung sepenuhnya pada kadar meneka yang diandaikan. Kadar yang digunakan di sini dinyatakan, dengan sengaja keras, dan mungkin salah dalam mana-mana arah untuk mana-mana penyerang tertentu.
  • Pengiraan menganggap setiap perkataan dilukis secara bebas dan seragam. Ia akan melebih-lebihkan kekuatan jika itu tidak benar, itulah sebabnya penjana menarik dengan penggantian daripada mengeluarkan perkataan yang telah digunakannya.
  • Tiada angka entropi menjelaskan frasa laluan yang digunakan semula, ditulis di tempat yang tidak selamat atau ditaip pada mesin yang terjejas.