Pengukur Kekuatan Kata Sandi yang Sebenarnya Membantu: Panduan UX dan NIST
Cara merancang bidang kata sandi dan pengukur kekuatan yang mengikuti panduan NIST saat ini: panjang simbol, daftar blokir, pengelola tempel dan kata sandi, dan umpan balik yang jelas.
Pengambilan Inti
Panduan NIST saat ini (SP 800-63B) lebih mengutamakan panjang dan daftar blokir daripada aturan komposisi: kata sandi yang digunakan sendiri harus terdiri dari minimal 15 karakter, layanan harus mengizinkan setidaknya 64 karakter, dan tidak boleh memerlukan campuran jenis karakter. Pengukur kekuatan yang baik memperkirakan kemampuan menebak yang sebenarnya, lamanya imbalan, menjelaskan masalah dengan kata-kata sederhana dan bekerja dengan pengelola tempel dan kata sandi.
Apa yang dikatakan NIST sekarang
NIST Publikasi Khusus 800-63B menetapkan aturan kata sandi modern untuk pemverifikasi:
- Kata sandi yang digunakan sebagai satu-satunya faktor harus terdiri dari minimal 15 karakter; kata sandi yang digunakan dalam otentikasi multi-faktor mungkin lebih pendek tetapi setidaknya 8.
- Layanan harus mengizinkan panjang maksimum minimal 64 karakter.
- Layanan tidak boleh memaksakan aturan komposisi seperti mengharuskan campuran tipe karakter.
- Kata sandi baru harus diperiksa berdasarkan daftar blokir nilai umum, yang diharapkan, atau disusupi, dengan alasan penolakan ditampilkan.
- Layanan harus menawarkan panduan untuk membantu orang memilih kata sandi yang kuat.
Meteran yang bagus mengukurnya
Menghitung hadiah jenis karakter "Kata Sandi1!" dan menghukum frasa sandi yang panjang. Penduga seperti zxcvbn sumber terbuka Dropbox mencari pola yang digunakan penyerang, mengenali puluhan ribu kata sandi, nama, dan kata yang umum, dan memperkirakan seberapa mudah ditebaknya kata sandi tersebut. Dasarkan pengukur pada perkiraan seperti itu, ditambah daftar blokir Anda.
Merancang lapangan
Detail kecil menentukan apakah seseorang berhasil:
- Izinkan tempel dan isi otomatis agar pengelola kata sandi berfungsi.
- Tawarkan tombol tampilkan/sembunyikan alih-alih bidang konfirmasi kata sandi jika Anda bisa.
- Tunjukkan persyaratan sebelum mengetik, lalu jalani kemajuan saat orang mengetik.
- Jelaskan penolakan dengan kata-kata sederhana: "Kata sandi ini muncul jika terjadi pelanggaran yang diketahui."
- Jangan menetapkan panjang maksimum yang terlalu rendah secara artifisial.
Gerakan dan umpan balik
Meteran yang terisi dengan lancar seiring dengan peningkatan kata sandi memberikan umpan balik yang menggembirakan dan segera. Jangan terlalu menganimasikannya sehingga mengganggu perhatian, jangan gunakan warna saja (tambahkan label teks seperti "Kuat"), dan hindari mengguncang bidang saat orang masih mengetik.
Kunci Principles untuk Diingat
- NIST: 15+ karakter untuk kata sandi satu faktor, setidaknya 64 karakter diperbolehkan
- Tidak ada aturan komposisi; periksa terhadap daftar blokir sebagai gantinya
- Perkirakan kemampuan menebak (misalnya dengan zxcvbn), bukan tipe karakter
- Izinkan pengelola tempel dan kata sandi; menawarkan tampilkan/sembunyikan
- Pasangkan warna meteran dengan label teks
Pertanyaan yang Sering Diajukan
Sumber
- NIST SP 800-63B: Authentication and Authenticator Management — NIST
- zxcvbn: low-budget password strength estimation — GitHub (Dropbox)
- Error-Message Guidelines — Nielsen Norman Group