Kunci sandi yang aman dan lancar: Checklist deployment

Kunci sandi dirancang untuk merevolusi pengalaman login, menawarkan alternatif yang lebih sederhana, lebih cepat, dan lebih aman dibandingkan sandi. Checklist ini akan memandu Anda melalui aspek-aspek utama penerapan kunci sandi untuk mencapai hasil pengalaman pengguna (UX) yang optimal.

Cara menggunakan checklist ini

Checklist ini ditujukan untuk developer dan tim produk yang menerapkan kunci sandi dalam alur autentikasi mereka. Gunakan untuk:

  • Validasi bahwa penerapan Anda mengikuti praktik terbaik UX kunci sandi modern yang dijelaskan dalam artikel berikut.
  • Identifikasi elemen wajib dan opsional yang meningkatkan kegunaan, keamanan, dan kompatibilitas.
  • Periksa penerapan Anda selama pengembangan dan sebelum deployment.
  • Sesuai dengan praktik terbaik yang mendukung adopsi pengguna dan interoperabilitas sistem.

Hal ini membantu Anda memberikan pengalaman yang lancar dan aman bagi pengguna akhir.

Pendaftaran kunci sandi

Untuk melakukan transisi yang lancar dari sandi ke kunci sandi di situs Anda, memiliki kemampuan pendaftaran kunci sandi yang canggih adalah kuncinya. Ikuti petunjuk yang dijelaskan dalam Membuat kunci sandi untuk login tanpa sandi untuk membuat fitur pendaftaran kunci sandi di situs Anda. Berikut adalah hal-hal yang harus Anda periksa selain fitur pendaftaran kunci sandi dasar:

✅ Tentukan "platform" sebagai nilai lampiran pengautentikasi yang akan diteruskan ke navigator.credentials.create() untuk pembuatan kunci sandi yang dipromosikan.

  • Berikan alur pembuatan kunci sandi yang dioptimalkan dan lancar bagi pengguna yang membuat kunci sandi secara reaktif.

✅ Verifikasi pengguna dengan metode autentikasi terkuat yang tersedia untuk digunakan sebelum mengizinkan mereka membuat kunci sandi.

  • Hal ini penting untuk mencegah penyerang membuat kunci sandi di akun yang dibajak.

✅ Mencegah pembuatan kunci sandi duplikat untuk penyedia kunci sandi yang sama menggunakan excludeCredentials.

  • Banyak penyedia kunci sandi hanya mengakomodasi satu kunci sandi per akun dan ID RP. Hindari membuat duplikat.

Gunakan AAGUID untuk mengidentifikasi penyedia kunci sandi dan untuk memberi nama kredensial bagi pengguna.

  • Mengaitkan kunci sandi dengan penyedia kunci sandinya adalah cara intuitif untuk menampilkan kredensial jika memungkinkan.

✅ Sinyal jika upaya untuk mendaftarkan kunci sandi gagal dengan PublicKeyCredential.signalUnknownCredential().

  • Kunci sandi yang tidak sengaja dapat menyebabkan kebingungan. Beri tahu penyedia kunci sandi jika server gagal mendaftarkan kunci sandi.

Kirim notifikasi kepada pengguna setelah membuat dan mendaftarkan kunci sandi untuk akun mereka.

  • Pastikan pengguna mengetahui kunci sandi yang dibuat, terutama jika dilakukan oleh orang lain.

Autentikasi kunci sandi

Menyesuaikan pengguna sandi dan pengguna kunci sandi tanpa hambatan minimal dapat menjadi tantangan. Ikuti petunjuk yang dijelaskan dalam Login dengan kunci sandi melalui isi otomatis formulir untuk membuat fitur isi otomatis formulir kunci sandi di situs Anda. Berikut adalah hal-hal yang harus Anda periksa selain fitur autentikasi kunci sandi dasar:

✅ Izinkan pengguna login dengan kunci sandi melalui isi otomatis formulir.

  • Jika situs Anda bertransisi dari sandi ke kunci sandi, pendekatan terbaik untuk mengakomodasi kedua pengguna adalah menggunakan fitur isi otomatis formulir browser.

✅ Sinyal saat kredensial pencocokan kunci sandi tidak ditemukan di backend dengan PublicKeyCredential.signalUnknownCredential().

  • Kunci sandi yang tidak sengaja dapat menyebabkan kebingungan. Beri tahu penyedia kunci sandi kunci sandi mana yang tidak dapat digunakan sehingga penyedia dapat menghapusnya.

✅ Minta pengguna untuk membuat kunci sandi secara manual jika pengguna belum membuatnya setelah login.

  • Jika pengguna belum membuat kunci sandi, dorong mereka untuk membuatnya.

Buat kunci sandi secara otomatis (pembuatan kondisional) setelah pengguna login dengan sandi (dan faktor kedua).

  • Mempercepat adopsi kunci sandi pengguna.

✅ Minta pembuatan kunci sandi lokal jika pengguna telah login dengan kunci sandi lintas perangkat.

  • Membuat kunci sandi lokal membantu pengguna login tanpa memindai kode QR untuk selanjutnya.

Memberi sinyal daftar kunci sandi yang tersedia dan detail pengguna yang diperbarui (nama pengguna, nama tampilan) ke penyedia setelah login

  • Menjaga sinkronisasi daftar kunci sandi dan detail pengguna antara server dan penyedia kunci sandi akan meningkatkan pengalaman pengguna.

Pengelolaan kunci sandi

Memberikan pemahaman yang baik tentang kunci sandi kepada pengguna akan membantu mereka mendapatkan pemahaman yang lebih baik tentang lanskap dan kontrol atas kunci sandi. Ikuti petunjuk yang dijelaskan di Membantu pengguna mengelola kunci sandi secara efektif untuk membuat fitur pengelolaan kunci sandi di situs Anda. Berikut adalah hal-hal yang harus Anda periksa:

✅ Izinkan pengguna mengelola kunci sandi di halaman pengelolaan kunci sandi.

  • Buat tempat terpusat tempat pengguna dapat mengelola kunci sandi mereka.

✅ Mendukung pendaftaran beberapa kunci sandi.

  • Kemampuan untuk mendaftarkan beberapa kunci sandi membantu pengguna mencegah terkunci tanpa kembali ke metode autentikasi yang lebih lemah.

✅ Izinkan pengguna menambahkan jenis kunci sandi baru dan fleksibel di halaman pengelolaan.

✅ Menampilkan nama kunci sandi.

  • Beri nama kunci sandi berdasarkan AAGUID dan berikan visual yang nyata dari kunci sandi pengguna.

✅ Menunjukkan apakah kunci sandi dapat disinkronkan atau tidak dapat disinkronkan.

  • Beri tahu pengguna saat kunci sandi tidak disinkronkan.

✅ Mengizinkan pengguna menghapus kunci publik dari server.

✅ Memberi sinyal ke daftar kunci sandi saat kunci publik terkait dihapus dari server.

  • Menjaga sinkronisasi daftar kunci sandi antara server dan penyedia kunci sandi akan meningkatkan pengalaman pengguna.
Contoh halaman pengelolaan kunci sandi yang menampilkan praktik yang baik.
Contoh halaman pengelolaan kunci sandi yang menunjukkan praktik yang baik.

Pertimbangan tambahan

Memberi sinyal detail pengguna yang diperbarui (nama pengguna, nama tampilan) saat pengguna memperbaruinya.

Membuat kunci sandi, bukan sandi baru, saat pengguna "Lupa sandi".

Resource