Bahasa Indonesia

Bagaimana entropi frasa sandi dihitung

Rumus log2, contoh yang berfungsi untuk ketiga daftar EFF, berapa biaya akrostiknya, dan mengapa pengukur kekuatan situs web tidak sesuai dengan halaman ini.

Entropi mengukur proses, bukan kata sandi

Satu kata sandi tidak memiliki entropi. Ungkapan "pokok baterai kuda yang benar" tidaklah kuat atau lemah - yang penting adalah bagaimana hal itu bisa ada. Jika sebuah mesin mengambil empat kata secara seragam dari daftar 7,776, itu adalah salah satu dari sekitar 3.7 juta juta kemungkinan hasil yang sama. Jika seseorang memilihnya karena mereka pernah melihatnya di kartun, itu hanyalah salah satu dari segelintir orang, dan tidak ada aritmatika yang dapat mengubahnya.

Jadi setiap gambar di situs ini menjelaskan generator dan pengaturannya, dengan asumsi bahwa penyerang mengetahui pengaturan tersebut dan hanya bisa menebak-nebak undian acak. Asumsi tersebut merupakan asumsi yang konservatif. Daftar, jumlah kata, rentang panjang, pemisah, dan aturan kasus semuanya dipublikasikan di halaman ini, jadi memperlakukannya sebagai rahasia akan memperbesar setiap angka di sini.

Rumusnya

Untuk pilihan yang dibuat secara seragam dari N kemungkinan yang sama, entropinya adalah log2(N) bit. Setiap pilihan independen menambahkan bit-bitnya sendiri, jadi k pengambilan independen dari kumpulan N yang sama menghasilkan:

bit = k × log2(N)

Itulah keseluruhan penghitungan untuk frasa sandi. Basis log 2 inilah yang mengubah "berapa banyak kemungkinan" menjadi "berapa banyak bit", dan bit mudah digunakan karena setiap bit tambahan menggandakan pekerjaan yang dihadapi penyerang. Tujuh puluh bit dua kali lebih keras dari enam puluh sembilan, dan sekitar seribu kali lebih keras dari enam puluh.

Rumus yang sama mencakup kata sandi karakter acak, dengan ukuran N dari kumpulan karakter dan k panjangnya: dua puluh karakter yang diambil dari kumpulan 80 menghasilkan 20 × log2(80), yaitu sekitar 126 bits.

Contoh praktis untuk tiga daftar

Daftar panjang EFF berisi 7,776 kata. log2(7,776) adalah sekitar 12.925, jadi setiap kata mengandung kira-kira 12.9 bits. Enam kata memberikan 6 × 12.925, tentang 77.5 bits — default pada halaman ini, dan rekomendasi EFF sendiri untuk daftar tersebut. Tujuh kata memberi arti tentang 90.5, delapan kata tentang 103.4.

Kedua daftar pendek berisi 1,296 kata. log2(1,296) adalah tentang 10.34, jadi enam kata menghasilkan tentang 62 bits, tujuh tentang 72.4, dan delapan tentang 82.7. Itulah sebabnya daftar pendek memerlukan satu atau dua kata tambahan untuk mencocokkan daftar panjang.

Lima kata dari daftar panjang menghasilkan sekitar 64.6 bits — hampir sama persis dengan enam kata dari daftar pendek. Dua rute menuju kekuatan tertentu benar-benar dapat dipertukarkan; pilih mana yang menghasilkan kata-kata yang menurut Anda lebih mudah untuk diketik.

Apa pengaruh rentang panjang terhadap gambar tersebut

Panjang kata minimum dan maksimum menyaring daftar sebelum kata apa pun diambil, jadi N dalam rumusnya adalah jumlah kata yang bertahan dalam filter, bukan ukuran file. Halaman ini menghitung ulang ini saat Anda mengubah rentang dan menunjukkan jumlah yang bertahan, sehingga angka entropi selalu mengenai kumpulan yang benar-benar digunakan.

Ini adalah efek kecil untuk rentang yang masuk akal dan efek yang besar untuk rentang yang ekstrim. Membatasi daftar panjang menjadi kata-kata yang terdiri dari empat huruf akan menyisakan beberapa ratus kandidat, sehingga setiap kata akan berkurang dari sekitar 12.9 bits menjadi sekitar 8 — yang mengubah frasa sandi enam kata dari sekitar 77 bits menjadi sekitar 48. Halaman tersebut akan menunjukkan hal itu, dan pada saat itu ia meminta Anda untuk memperluas jangkauan atau menambahkan kata.

Apa yang ditambahkan oleh pemisah dan opsi casing

Pemisah tetap tidak menambahkan apa pun. Jika setiap celah adalah tanda hubung, penyerang yang mengetahui pengaturannya juga akan menempatkan tanda hubung di setiap celah; tidak ada pilihan bagi mereka untuk menebak.

Opsi pemisah acak berbeda. Setiap celah secara independen mengambil satu dari lima karakter, sehingga setiap celah menambahkan log2(5), tentang 2.32 bits. Frasa sandi enam kata memiliki lima celah, yaitu sekitar 11.6 bit tambahan — sebuah keuntungan nyata, dan halaman menghitungnya.

Logika yang sama berlaku untuk kasus. Bawah, atas, huruf kapital, dan bergantian adalah aturan tetap dan tidak menambahkan apa pun. Kasus acak membalik koin independen per kata, sehingga menambahkan tepat satu bit per kata: enam bit pada frasa sandi enam kata. Itu juga dihitung.

Perlu diperhatikan betapa sederhananya hal ini. Pemisah huruf besar-kecil dan acak bersama-sama menambahkan sekitar 17 bits ke frasa sandi enam kata, sedangkan kata ketujuh menambahkan sekitar 13 dengan sendirinya dan jauh lebih mudah diingat. Menambahkan kata-kata hampir selalu merupakan cara yang lebih baik.

Sungguh biaya yang sangat besar

Dengan akrostik, setiap kata tidak lagi diambil dari keseluruhan kumpulan — melainkan diambil dari kata yang diawali dengan huruf yang Anda tentukan. Jadi rumusnya menjadi penjumlahan, bukan perkalian: totalnya adalah log2 kumpulan untuk huruf pertama, ditambah log2 kumpulan untuk huruf kedua, dan seterusnya.

Penyebaran surat-suratnya sangat tidak merata. Dalam daftar panjang EFF, dibatasi pada kata yang terdiri dari lima hingga sembilan huruf, kumpulan yang dimulai dengan s beberapa kali lebih besar daripada kumpulan yang dimulai dengan j, dan jauh lebih besar daripada kumpulan yang dimulai dengan x. Oleh karena itu, akrostik enam huruf memberikan angka di bawah enam kali nilai per kata yang tidak dibatasi, dan seberapa jauh di bawahnya bergantung sepenuhnya pada huruf mana yang Anda pilih.

Halaman ini melakukan penjumlahan untuk huruf-huruf yang Anda ketikkan, yang merupakan satu-satunya cara untuk memberikan nomor yang jujur. Jika salah satu huruf Anda tidak memiliki kata di belakangnya dalam daftar dan rentang panjangnya saat ini, ia akan menyebutkan huruf yang mana daripada gagal secara diam-diam.

Akrostik juga bukan rahasia. Asumsikan penyerang mengetahui inisial ejaan nama anjing Anda, karena hal itulah yang mudah ditebak.

Sejujurnya, mengubah sedikit menjadi waktu

Perkiraan waktu di halaman ini mengasumsikan serangan offline dengan satu triliun tebakan per detik terhadap database kata sandi yang dicuri, dan separuh kemungkinan harus dicoba sebelum kemungkinan yang tepat muncul. Asumsi tersebut dinyatakan dimanapun suatu waktu muncul, karena perkiraan waktu tanpa asumsi tersebut tidak ada artinya.

Satu triliun tebakan per detik adalah angka yang sengaja dibuat kasar. Ini berada di wilayah yang tepat untuk perangkat keras khusus yang menyerang fungsi hash yang cepat dan dipilih dengan buruk. Situs yang menggunakan hash kata sandi modern dengan benar lebih lambat diserang hingga jutaan kali lipat, dan formulir login online apa pun masih lebih lambat hingga miliaran kali lipat, karena setiap upaya merupakan permintaan jaringan yang dapat dibatasi oleh server.

Itu sebabnya angka-angka di halaman ini sengaja dibuat pesimistis. Jika perkiraan menunjukkan bahwa pencarian akan memakan waktu jauh lebih lama dibandingkan yang dilakukan orang lain, maka angka sebenarnya jika dibandingkan dengan layanan yang dijalankan secara kompeten masih jauh lebih lama.

Mengapa pengukur kekuatan situs web mengatakan sesuatu yang berbeda

Kebanyakan pengukur kekuatan menilai karakter di depan mereka, karena hanya itu yang mereka miliki: mereka tidak pernah melihat bagaimana kata sandi dibuat. Mereka memberi penghargaan pada kelas karakter campuran, menghukum pengulangan, dan sering kali mencocokkannya dengan kamus kata sandi umum. Terhadap kata sandi buatan manusia yang merupakan heuristik yang masuk akal, dan itu adalah satu-satunya hal yang dapat dilakukan oleh suatu formulir.

Ini memberi skor buruk pada frasa sandi yang dihasilkan karena alasan yang salah. Enam kata kamus huruf kecil dengan spasi di antaranya terlihat, seperti heuristik penghitungan karakter, seperti hal yang dibuat untuk memperingatkan - meskipun kata-kata tersebut diambil secara acak dan hasilnya lebih kuat daripada apa pun yang akan dipuji oleh meteran.

Ketika meteran dan halaman ini tidak sesuai dengan frasa sandi yang dihasilkan di sini, halaman tersebut menjelaskan prosesnya dan meteran tersebut menjelaskan tampilannya. Tidak ada yang berbohong; mereka mengukur hal-hal yang berbeda, dan hanya satu dari mereka yang mengetahui dari mana kata-kata itu berasal.

Apa yang terjadi pada apa yang Anda hasilkan

ToolAcre menghasilkan kata sandi secara lokal di browser Anda. Untuk lingkungan yang sangat sensitif, pastikan browser, perangkat, dan sistem operasi Anda tepercaya sebelum menggunakan generator kata sandi berbasis web apa pun.

  • Setiap frasa sandi dan kata sandi dihasilkan di tab browser Anda, oleh generator nomor acak kriptografis milik browser Anda. Tidak ada server yang terlibat setelah halaman dimuat.
  • Tidak ada apa pun yang dihasilkan di sini yang dikirim ke ToolAcre. Kebijakan Keamanan Konten produk ini membatasi halaman tersebut dari halaman aslinya, sehingga browser itu sendiri memblokir segala upaya untuk mengirim data ke tempat lain.
  • Tidak ada yang ditulis ke penyimpanan lokal, penyimpanan sesi, cookie, database dalam browser, bilah alamat, atau konsol browser. Memuat ulang akan membuangnya; menutup tab akan membuangnya.
  • Tidak ada akun, tidak ada proses masuk, tidak ada skrip analitik, dan tidak ada skrip iklan. Satu-satunya file yang diunduh adalah daftar kata statis.
  • Tidak ada sejarah yang disimpan. Menghasilkan lagi akan menggantikan nilai, dan nilai sebelumnya tidak dapat dipulihkan.

Pertanyaan

Berapa bit yang cukup?

Untuk akun biasa yang menggunakan pengelola kata sandi, apa pun di atas tentang 70 bits tidak dapat ditebak secara realistis. Untuk beberapa frasa sandi yang melindungi segalanya — pengelola itu sendiri, perangkat Anda, email Anda — bidik lebih tinggi, sekitar 90 bits atau lebih, yaitu tujuh atau delapan kata dari daftar panjang.

Mengapa menambahkan kata lebih membantu daripada menambahkan simbol?

Sebuah kata dari daftar panjang mengalikan jumlah kemungkinan dengan 7,776, sekitar 12.9 bits. Simbol yang ditambahkan pada posisi tetap akan mengalikannya dengan satu, karena penyerang mengetahui simbol tersebut ada di sana. Hanya pilihan yang benar-benar dihitung secara acak.

Apakah halaman tersebut menghitung opsi kasus acak pada gambar?

Ya, dengan satu bit per kata, karena setiap kata merupakan pelemparan koin yang independen. Aturan kasus tetap dihitung sebagai nol, karena penyerang yang mengetahui aturan tersebut dapat menerapkannya sendiri.

Mengapa separuh keyspace digunakan dalam perkiraan waktu?

Karena rata-rata pencarian yang mendalam menemukan jawabannya di tengah jalan. Menggunakan keyspace penuh akan melebih-lebihkan waktu sebanyak dua kali lipat, yang merupakan kesalahan pembulatan pada skala ini namun masih dalam arah yang salah.

Apakah 77 bits cukup mengingat kecepatan komputer?

Menebak biayanya berlipat ganda dengan setiap tambahan, sehingga aritmatika sangat menguntungkan bek. Risiko realistis terhadap frasa sandi 77-bit bukanlah komputasi mentah — melainkan phishing, malware di perangkat Anda, penggunaan kembali di seluruh situs, dan layanan yang menyimpannya secara sembarangan. Itulah hal-hal yang perlu diperhatikan.

Keterbatasan

  • Entropi adalah batas atas kesulitan menebak, bukan prediksi bagaimana suatu akun akan disusupi. Sebagian besar akun hilang karena phishing, penggunaan kembali, dan pembobolan basis data, bukan karena dugaan.
  • Angka-angka tersebut mengasumsikan sumber acak adalah suara. Halaman ini menggunakan generator kriptografi browser dan menolak untuk berjalan tanpanya, namun tidak dapat mengaudit generator tersebut dari dalam halaman.
  • Perkiraan waktu bergantung sepenuhnya pada tingkat perkiraan yang diasumsikan. Tarif yang digunakan di sini dinyatakan, sengaja dibuat keras, dan mungkin salah untuk penyerang tertentu.
  • Perhitungannya mengasumsikan setiap kata diambil secara independen dan seragam. Ini akan melebih-lebihkan kekuatan jika itu tidak benar, itulah sebabnya generator menggunakan kata pengganti daripada menghilangkan kata-kata yang telah digunakannya.
  • Tidak ada angka entropi yang menyebabkan frasa sandi digunakan kembali, ditulis di tempat yang tidak aman, atau diketik pada mesin yang disusupi.