Kalkulator Kekuatan Sandi
Hasil
Entropi
- Kumpulan karakter
- 62
- Entropi per karakter
- 5,95 bit
- Kombinasi (pangkat 10)
- 28
Kekuatan kata sandi adalah soal aritmetika, dan halaman ini menghitungnya alih-alih menebak-nebak. Pilih panjang kata sandi dan kumpulan karakter, lalu Anda mendapat ukuran ruang yang dijelaskan oleh pilihan itu, entropi dalam bit, dan berapa lama waktu tebak yang dibutuhkan sebuah kartu grafis modern untuk mencoba setiap kombinasi — pada hash cepat dan pada hash lambat yang dikonfigurasi dengan benar. Jarak antara dua angka terakhir itulah hal yang paling berguna di halaman ini: kata sandi yang sama, yang tumbang dalam tiga tahun di depan basis data MD5 yang bocor, bertahan jutaan tahun di depan bcrypt. Panjang kata sandi adalah separuh lainnya. Setiap karakter tambahan mengalikan pekerjaan dengan ukuran kumpulan karakter, sedangkan menambahkan satu kumpulan karakter penuh pada panjang yang tetap hanya mengalikannya sekali.
Waktu tebak menurut pita entropi
| Pita | Entropi | Kombinasi | Detik pada 10^10/s | Detik pada 10^4/s |
|---|---|---|---|---|
| Lemah | 28 – 35 bit | 8 | -2 | 4 |
| Menengah | 36 – 59 bit | 10 | 0 | 6 |
| Kuat | 60 – 127 bit | 18 | 8 | 14 |
| Sangat kuat | 128 bit ke atas | 38 | 28 | 34 |
Bacalah dua kolom terakhir sebagai pangkat sepuluh: -2 berarti 10^-2 detik, dan 3 berarti seribu detik. Kolom di sebelah kanan adalah penyerang yang sama terhadap hash lambat yang dikonfigurasi dengan benar, jadi keduanya berbeda dengan faktor satu juta. Entropi adalah batas bawah pita itu, dan itulah sebabnya tabel ini dan lencana kekuatan selalu sepakat. Kombinasinya dibulatkan ke bawah ke pangkat sepuluh supaya tidak pernah dilebih-lebihkan.
Rumus
entropi (bit) = panjang kata sandi × log₂(ukuran kumpulan karakter), dan jumlah kombinasi = 2^entropi
- panjang kata sandi
- Berapa karakter yang dimiliki kata sandi
- ukuran kumpulan karakter
- Berapa banyak karakter berbeda yang tersedia: 26 huruf kecil, 26 huruf besar, 10 angka, 32 simbol
- log₂
- Logaritma basis 2, supaya hasilnya dihitung dalam bit
Pakailah untuk membandingkan dua kebijakan kata sandi sebelum Anda menuliskan satu, atau untuk memeriksa apakah kata sandi yang sudah Anda punya masih layak dipertahankan. Hitungan ini tepat untuk kata sandi yang dibangkitkan secara acak dari kumpulan karakter yang diketahui, dan hanya batas atas untuk kata sandi yang diciptakan manusia — orang memilih pola, jadi kata sandi 12 karakter yang dibuat seseorang memiliki entropi jauh lebih sedikit daripada 12 karakter acak. Serangan brute force juga bukan satu-satunya serangan: kata sandi yang dipakai ulang di beberapa situs ikut bocor bersama kebocoran situs yang lain, dan panjang sebanyak apa pun tidak menolong di situ.
Contoh hitungan
16 karakter, huruf dan angka
- Kumpulan: 26 + 26 + 10 = 62 karakter
- Entropi per karakter: log₂(62) = 5,95 bit
- Entropi total: 16 × 5,95 = 95,3 bit
- Kombinasi: 10^28 — alat ini melaporkan pangkat sepuluhnya, bukan seluruh 29 digitnya
95,3 bit melewati pita 60 bit dengan margin lebar dan mendarat di pita teratas, yang biasanya disediakan untuk 128. Menyalakan simbol juga akan membawa kumpulannya ke 94 dan entropinya ke 104,9 bit — bernilai 9,6 bit, sama dengan menambahkan sekitar 1,6 karakter.
8 karakter, hanya huruf kecil
- Kumpulan: 26 karakter
- Entropi per karakter: log₂(26) = 4,70 bit
- Entropi total: 8 × 4,70 = 37,6 bit
- Kombinasi: 2^37,6 ≈ 2,1 × 10^11, jadi 10^11
37,6 bit mendarat di pita menengah — kira-kira tujuh detik kerja bagi hash cepat pada satu kartu. Menggandakan panjangnya menjadi 16 karakter membawanya ke 75,2 bit, sedangkan membiarkan panjangnya 8 dan menyalakan semua kumpulan karakter hanya mencapai 52,4 bit. Panjang menghasilkan lebih banyak per ketukan tombol daripada keberagaman.
Batasan
Angka entropi mengasumsikan kata sandi dibangkitkan secara seragam dan acak dari kumpulan karakter yang Anda pilih. Kata sandi apa pun yang dipilih orang sendiri punya entropi lebih sedikit, sering jauh lebih sedikit, karena orang meraih kata, tanggal dan pola papan tombol yang justru dicoba lebih dulu oleh alat pemecah. Karena itu halaman ini mengukur kebijakannya, bukan kata sandinya. Waktu tebaknya adalah taksiran orde besaran dari satu kartu grafis modern, bukan pengukuran mesin tertentu: penyerang yang berkeras dengan klaster, atau sekadar kartu yang lebih baru, mengalahkan angka-angka itu dengan faktor besar, dan basis data hash yang dicuri bisa diserang secara luring selama penyerang mau. Tidak ada bagian di sini yang memperhitungkan apakah kata sandinya dipakai ulang, kena phishing, kena keylogger atau direset lewat meja dukungan — justru lewat jalan-jalan itulah kata sandi benar-benar jatuh, dan tak satu pun bergantung pada entropi. Terakhir, halaman ini tidak akan membuatkan kata sandi untuk Anda, dan alasannya langsung: generator yang aman memerlukan sumber acak yang aman secara kriptografis, sedangkan perhitungan murni tidak bisa menjadi sumber itu — sumber itulah yang membedakan generator dari kalkulator.
Pertanyaan yang sering diajukan
- Bagaimana entropi kata sandi dihitung?
- Entropi adalah panjang kata sandi dikalikan logaritma basis 2 dari ukuran kumpulan karakternya. Memilih huruf kecil, huruf besar dan angka menghasilkan kumpulan 62 karakter, log₂(62) sama dengan 5,95 bit per karakter, dan karena itu kata sandi 16 karakter dari kumpulan tersebut membawa 95,3 bit. Jumlah kombinasi yang mungkin adalah 2 pangkat entropi, dan itulah sebabnya entropi menjadi satuan yang berguna: ia bertambah saat kata sandinya makin panjang.
- Apakah 60 bit entropi cukup, dan bagaimana membaca waktu tebaknya?
- Itu sepenuhnya bergantung pada bagaimana situs menyimpan kata sandi Anda. Pada 10^10 tebakan per detik — satu kartu modern melawan hash cepat tanpa peregangan — 60 bit berarti sekitar tiga tahun kerja terus-menerus. Terhadap bcrypt dengan cost 12, kartu yang sama hanya sanggup sekitar 10^4 tebakan per detik dan kata sandi yang sama baru tumbang dalam jutaan tahun. Jadi 60 bit cukup terhadap situs yang mengerjakan bagiannya dengan benar dan berada di ambang batas terhadap situs yang lalai; 80 bit cukup terhadap keduanya.
- Haruskah saya memakai simbol dan campuran huruf besar-kecil, atau cukup memanjangkan kata sandinya?
- Memanjangkan biasanya pertukaran yang lebih baik, dan selalu yang lebih mudah diingat. Beranjak dari kata sandi 8 karakter huruf kecil semua ke 16 karakter bernilai 37,6 bit; membiarkannya 8 karakter tetapi menyalakan semua kumpulan karakter bernilai sekitar 15 bit. Kumpulan karakter hanya berlipat sekali saat Anda memperlebarnya, sedangkan setiap karakter yang ditambahkan berlipat lagi. Pakailah simbol saat sebuah situs menuntutnya, bukan karena simbol adalah cara yang efisien untuk menambah kekuatan.
- Mengapa halaman ini tidak membuatkan kata sandi untuk saya?
- Kata sandi hanya seacak sumber keacakan di belakangnya, dan halaman yang menghitung sebuah angka untuk ditampilkan tidak bisa sekaligus mengambil dari sumber acak yang aman secara kriptografis — sumber itulah yang membedakan generator dari kalkulator. Pakailah generator di pengelola kata sandi Anda atau di sistem operasi Anda, karena keduanya punya sumber itu, lalu gunakan halaman ini untuk memeriksa apakah panjang dan kumpulan karakter yang Anda pilih di sana memang layak.
- Apakah kata sandi yang lebih panjang selalu lebih kuat?
- Hanya kalau kata sandi itu dibangkitkan secara acak. Panjang adalah yang diganjar oleh aritmetika, dan itulah sebabnya frasa sandi empat kata bisa mengalahkan gundukan simbol yang pendek — tetapi kata sandi 20 karakter yang dirakit dari penggalan lirik, tanggal lahir dan sebuah nama bisa ditembus dengan serangan kamus, dan kekuatan sebenarnya sama sekali tidak seperti 20 karakter acak yang diukur halaman ini. Halaman ini memberi Anda batas atas sebuah kebijakan kata sandi; kata sandi yang diciptakan orang duduk jauh di bawahnya.
Referensi
- NIST Special Publication 800-63B: Digital Identity Guidelines — Authentication and Lifecycle Management — National Institute of Standards and Technology
- NIST Special Publication 800-57 Part 1 Revision 5: Recommendation for Key Management — National Institute of Standards and Technology
- Password Storage Cheat Sheet — OWASP Foundation