Apa itu WebAuthn API?
Web Authentication API (WebAuthn API) adalah antarmuka pemrograman aplikasi (API) untuk manajemen kredensial yang memungkinkan aplikasi web mengautentikasi pengguna tanpa menyimpan kata sandi mereka di server. WebAuthn API memungkinkan server untuk terintegrasi dengan autentikator kuat yang tertanam dalam perangkat, seperti Apple Touch ID dan Windows Hello. WebAuthn API adalah standar web resmi yang dikembangkan oleh World Wide Web Consortium (W3C) dan FIDO Alliance, serta didukung oleh vendor besar seperti Microsoft, Mozilla, dan Google.
WebAuthn API menggunakan pasangan kunci privat-publik sebagai kredensial, bukan kata sandi. Kunci privat disimpan dengan aman di perangkat pengguna, sedangkan kunci publik adalah ID kredensial yang dibuat secara acak dan dikirim ke server untuk disimpan. Server kemudian menggunakan kunci publik ini untuk memverifikasi identitas pengguna. Kunci publik tidak bersifat rahasia karena tidak dapat digunakan tanpa kunci privat yang sesuai.
Bagaimana cara kerja WebAuthn API?
Ketika pengguna masuk ke situs web yang mendukung WebAuthn, aplikasi menawarkan beberapa opsi autentikasi menggunakan dukungan bawaan dalam semua browser dan platform utama.
Pengguna dapat mendaftar ke layanan web menggunakan berbagai autentikator, termasuk autentikator yang tertanam dalam platform seperti biometrik (pemindaian iris, pengenalan wajah, sidik jari) atau autentikator eksternal seperti kunci keamanan.
Setelah mendaftar, pengguna diautentikasi ke layanan pada perangkat tersebut. Setelah terdaftar, mereka dapat keluar dan masuk kembali dengan autentikator pilihan mereka.
WebAuthn API unik karena tidak dapat digunakan untuk mengidentifikasi pengguna antara situs web yang berbeda. Kredensial yang dihasilkan terikat pada domain dari situs web yang membuatnya, memberikan lapisan privasi tambahan kepada pengguna.
Mengapa WebAuthn API penting?
WebAuthn API menyelesaikan berbagai masalah keamanan yang signifikan terkait dengan pelanggaran data, phishing, dan serangan terhadap metode autentikasi dua faktor seperti kode SMS. API ini juga meningkatkan kemudahan penggunaan karena pengguna tidak perlu mengelola banyak kata sandi.
Sebelumnya, pengguna harus memberikan kata sandi yang disimpan di server, yang berisiko diretas jika server tidak aman atau kata sandi mudah ditebak. WebAuthn API menghilangkan kebutuhan untuk menyimpan kata sandi di server dengan menggunakan pasangan kunci privat-publik sebagai metode autentikasi.
Sejarah WebAuthn API
Pada Desember 2014, FIDO Alliance mulai mengembangkan Universal Authentication Factor (UAF) untuk menangani autentikasi pengguna dengan cara yang lebih modern dan aman.
Namun, spesifikasi UAF tidak banyak diadopsi karena kurangnya dukungan di browser utama. Pada November 2015, FIDO Alliance mulai mengembangkan pembaruan UAF yang dikenal sebagai Fast IDentity Online 2 (FIDO2). Bersama dengan W3C, mereka menciptakan serangkaian API dari 2016 hingga 2018. Teknologi ini mendapatkan dukungan dari Microsoft, Mozilla, dan Google. Apple menambahkan dukungan untuk FIDO2 dan WebAuthn pada 2019.
Tujuan utama FIDO2 dan WebAuthn API adalah untuk:
- menyediakan lebih banyak opsi dan fleksibilitas untuk autentikasi pengguna;
- menawarkan pengalaman pengguna yang lebih lancar dan sederhana;
- memudahkan pengembang dalam mengimplementasikan aplikasi mereka; dan
- memastikan keamanan yang lebih baik.
FIDO Alliance dan W3C berusaha menciptakan pengalaman web tanpa ketergantungan pada kata sandi multi-karakter.
Perkembangan Terbaru
Sejak 2023, WebAuthn semakin berkembang dengan adopsi passkeys, yang menggantikan kata sandi dengan autentikasi berbasis perangkat. Passkeys disimpan secara aman di perangkat dan dapat disinkronkan melalui layanan cloud seperti iCloud Keychain atau Google Password Manager. Ini semakin meningkatkan kemudahan penggunaan dan keamanan dalam autentikasi tanpa kata sandi.