Kata sandi adalah mata rantai terlemah dalam keamanan akun. Kata sandi bisa di-phishing, bocor, digunakan ulang, atau dilupakan. Itulah mengapa kami menambahkan dukungan untuk WebAuthn Passkeys - metode autentikasi tanpa kata sandi yang tahan phishing, lebih aman dan lebih nyaman.
Apa itu Passkeys?
Passkeys adalah kredensial kriptografi yang disimpan di perangkat Anda (ponsel, laptop, kunci keamanan) yang menggantikan kata sandi untuk autentikasi. Mereka menggunakan standar WebAuthn (bagian dari FIDO2) dan memberikan beberapa keuntungan:
- Tahan phishing - Passkeys terikat pada domain situs web, sehingga tidak dapat digunakan di situs palsu
- Tidak ada rahasia yang bocor - Hanya kunci publik yang disimpan di server
- Terikat perangkat - Kunci privat tidak pernah meninggalkan perangkat Anda
- Dilindungi biometrik - Biasanya diamankan oleh Face ID, Touch ID, atau Windows Hello
- Sinkronisasi lintas perangkat - Platform modern menyinkronkan Passkeys antar perangkat melalui akun iCloud, Google, atau Microsoft
Implementasi Kami
Kami mengintegrasikan dukungan WebAuthn Passkeys ke dalam stack autentikasi django-allauth yang sudah ada, menyediakan endpoint API untuk web dan mobile.
Alur Pendaftaran
Ketika pengguna mendaftarkan Passkey baru, alurnya bekerja seperti ini:
- Klien meminta opsi pendaftaran dari server
- Server menghasilkan tantangan dengan informasi pengguna dan relying party
- API WebAuthn browser meminta pengguna (biometrik atau kunci keamanan)
- Klien mengirim kredensial kembali ke server
- Server memverifikasi dan menyimpan kunci publik
| |
Alur Autentikasi
Untuk autentikasi dua faktor menggunakan Passkey:
- Pengguna menyelesaikan autentikasi primer (username/password atau login sosial)
- Server mengembalikan tantangan untuk verifikasi WebAuthn
- Browser meminta Passkey (sentuhan biometrik)
- Kredensial diverifikasi terhadap kunci publik yang tersimpan
- Pengguna sepenuhnya terautentikasi
| |
Manajemen Passkey
Pengguna dapat mengelola Passkeys yang terdaftar:
- Daftar semua Passkeys dengan tanggal pendaftaran dan penggunaan terakhir
- Ganti nama Passkeys untuk identifikasi lebih mudah (misalnya, “iPhone”, “MacBook”)
- Hapus Passkeys (dengan perlindungan terhadap penghapusan autentikator terakhir)
| |
Endpoint API
REST API kami menyediakan dukungan WebAuthn penuh untuk aplikasi mobile:
| Endpoint | Metode | Deskripsi |
|---|---|---|
/api/webauthn/register/options/ | GET | Dapatkan tantangan pendaftaran |
/api/webauthn/register/complete/ | POST | Selesaikan pendaftaran |
/api/webauthn/authenticate/options/ | GET | Dapatkan tantangan autentikasi |
/api/webauthn/verify/ | POST | Verifikasi kredensial untuk 2FA |
/api/webauthn/ | GET | Daftar Passkeys yang terdaftar |
/api/webauthn/<id>/ | PATCH | Ganti nama Passkey |
/api/webauthn/<id>/ | DELETE | Hapus Passkey |
Pertimbangan Keamanan
Kode Pemulihan
Ketika pengguna mendaftarkan autentikator pertama mereka (Passkey atau TOTP), kami secara otomatis menghasilkan kode pemulihan. Kode sekali pakai ini dapat digunakan jika semua metode autentikasi lainnya tidak tersedia:
| |
Pencegahan Penguncian
Pengguna tidak dapat menghapus Passkey terakhir mereka jika itu akan membuat mereka tanpa metode autentikasi dua faktor:
| |
Pemantauan
Kami melacak penggunaan Passkey melalui metrik Datadog untuk pemantauan keamanan:
| |
Dukungan Browser
WebAuthn didukung di semua browser modern:
- Chrome 67+
- Firefox 60+
- Safari 13+
- Edge 79+
- Chrome Mobile, Safari, Firefox
Untuk browser lama, pengguna masih dapat menggunakan TOTP (aplikasi autentikator) atau kode pemulihan.
Pengalaman Pengguna
Menambahkan Passkey hanya membutuhkan beberapa detik:
- Buka Pengaturan → Keamanan → Autentikasi Dua Faktor
- Klik Tambah Passkey
- Beri nama perangkat Anda (misalnya, “iPhone 15”)
- Autentikasi dengan Face ID / Touch ID / Windows Hello
- Selesai! Passkey Anda terdaftar
Login selanjutnya hanya memerlukan konfirmasi biometrik - tidak perlu mengetik kata sandi atau menyalin kode dari aplikasi autentikator.
Mengapa Kami Memilih Passkeys
| Metode | Risiko Phishing | Pengalaman Pengguna | Pemulihan |
|---|---|---|---|
| Kata Sandi | Tinggi | Buruk (lupa, lemah) | Reset email |
| SMS 2FA | Sedang (SIM swap) | Cukup | Nomor telepon |
| Aplikasi TOTP | Rendah | Input kode manual | Kunci cadangan |
| Passkeys | Sangat Rendah | Sangat Baik | Kode pemulihan |
Passkeys mewakili masa depan autentikasi. Mereka sudah didukung oleh platform Apple, Google, dan Microsoft, membuatnya dapat diakses oleh hampir semua pengguna kami.
Siap bebas kata sandi? Aktifkan Passkeys di pengaturan keamanan Anda!