Ringkasan
Saat menggunakan kunci sandi yang disinkronkan, pengguna akan melakukan autentikasi dengan penyedia kunci sandi.
Untuk membuat dan mengautentikasi dengan kunci sandi, Anda akan menggunakan WebAuthn API untuk web, atau Credential Manager API untuk aplikasi Android. API ini menangani komunikasi antara klien dan penyedia kunci sandi.
Meskipun API ini dipanggil dari klien seperti halaman web atau aplikasi Android, Anda perlu menerapkan fungsi lainnya pada server untuk menyelesaikan kasus penggunaan autentikasi.
Implementasi kunci sandi terdiri dari dua fungsi:
- Pendaftaran kunci sandi. Gunakan WebAuthn API atau Credential Manager API untuk mengizinkan pengguna membuat kunci sandi. Simpan kunci publik terkait di server.
- Autentikasi dengan kunci sandi. Dapatkan verifikasi login dari server dan gunakan WebAuthn API atau Credential Manager API untuk mengizinkan pengguna menandatangani verifikasi ini dengan kunci sandinya. Verifikasi tanda tangan di server. Jika tanda tangan valid, autentikasi pengguna.
Library sisi server
Meskipun Anda dapat menerapkan fungsi kunci sandi sisi server dari awal, sebaiknya Anda mengandalkan library.
Server yang mendukung pembuatan dan autentikasi kunci sandi disebut server FIDO2, atau disingkat server FIDO. Selanjutnya, kita akan merujuk ke library sisi server yang mengimplementasikan dukungan kunci sandi sebagai library sisi server FIDO.
Mengapa menggunakan library?
Menggunakan library sisi server FIDO memiliki beberapa keuntungan:
- Waktu dan pengalaman developer. Spesifikasi WebAuthn kompleks. Library sisi server FIDO dapat menyediakan API sederhana untuk mengimplementasikan kunci sandi, yang dapat menghemat waktu dan sumber daya pengembangan Anda.
- Kemudahan pemeliharaan. Spesifikasi WebAuthn masih dapat berubah. Menggunakan versi terbaru library yang dikelola secara aktif akan membantu memastikan implementasi Anda selalu terbaru.
- Keamanan dan kepatuhan. Anda ingin implementasi kunci sandi sesuai dengan spesifikasi WebAuthn dan persyaratan keamanannya. Library sisi server FIDO dapat membantu Anda menjaga implementasi Anda tetap aman dan sesuai dengan spesifikasi. Bergantung pada produk dan industri Anda, penerapan Anda mungkin juga tunduk kepada peraturan yang mengharuskan Anda menggunakan standar keamanan tertentu untuk autentikasi.
Jika memungkinkan, pertimbangkan untuk mendukung proyek open source secara finansial yang diperlukan produk Anda.
Library
- Repositori GitHub awesome-webauthn menyertakan daftar library sisi server yang diseleksi oleh komunitas. Anda akan menemukan library untuk JavaScript dan TypeScript, Go, Python, dan lainnya.
- Koleksi library tersedia di passkeys.dev. Koleksi ini dikelola oleh Grup Komunitas Adopsi W3C WebAuthn.
- FIDO Alliance merujuk pada kumpulan server FIDO2.