Kasus pengambilalihan akun di layanan keuangan beberapa tahun terakhir jarang berawal dari kata sandi yang lemah. Lebih sering awalnya adalah kode enam digit yang diketik korban sendiri ke halaman palsu, atau SMS yang diam-diam diteruskan oleh aplikasi APK “undangan pernikahan” ke ponsel penipu. YubiKey FIDO2 menutup jalur itu dengan cara yang berbeda dari OTP SMS: kunci ini tidak pernah menyerahkan rahasia yang bisa diketik ulang, diteruskan, atau dicegat. Artikel ini membahas apa yang terjadi di dalam kunci dan di sisi server ketika pengguna menyentuh YubiKey, juga celah yang masih terbuka bila implementasinya dikerjakan setengah jalan.

Bila Anda butuh gambaran dasar protokolnya lebih dulu, kami sudah menulis penjelasan cara kerja FIDO2 WebAuthn secara umum. Di sini fokusnya bergeser ke perangkat dan ke pemeriksaan yang wajib dilakukan server.
Apa itu YubiKey FIDO2 dan di mana posisinya dalam alur login
YubiKey adalah autentikator perangkat keras buatan Yubico. Dalam istilah WebAuthn, ia termasuk roaming authenticator: perangkat terpisah yang tersambung lewat USB-A, USB-C, NFC, atau Lightning, sehingga satu kunci bisa dipakai di laptop kantor, PC teller, maupun ponsel. Selain FIDO2/CTAP2, seri YubiKey 5 juga mendukung U2F, smart card PIV, OTP Yubico, dan OpenPGP dalam satu badan perangkat. Spesifikasi tiap seri dapat Anda lihat di halaman YubiKey security key untuk kebutuhan enterprise.
Ada tiga pihak dalam setiap login FIDO2. Server aplikasi (disebut relying party), browser atau sistem operasi (klien), dan YubiKey (autentikator). Detail yang sering terlewat: yang melaporkan alamat situs ke kunci adalah browser, bukan pengguna. Pengguna bisa tertipu oleh domain yang mirip; browser tidak.
Cara kerja YubiKey FIDO2 saat registrasi
Satu pasangan kunci untuk setiap situs
Ketika pengguna mendaftarkan kunci di, misalnya, portal internet banking ib.bankcontoh.co.id, server mengirim tantangan acak beserta RP ID, yaitu domain yang menjadi identitas layanan. YubiKey lalu membangkitkan pasangan kunci baru yang khusus untuk RP ID tersebut. Kunci privat tidak pernah keluar dari chip pengaman. Server hanya menerima kunci publik dan sebuah credential ID.
Untuk kredensial biasa (non-discoverable), YubiKey tidak perlu menyimpan apa pun. Materi kuncinya dibungkus secara terenkripsi ke dalam credential ID dengan rahasia internal perangkat dan diikat ke RP ID, sehingga jumlah akun yang bisa didaftarkan praktis tak terbatas. Kredensial discoverable, yang dipakai untuk login tanpa username atau passkey, disimpan di slot internal yang jumlahnya terbatas: 25 pada firmware lama dan hingga 100 pada firmware 5.7 ke atas.
Attestation: memastikan kunci yang dipakai memang kunci resmi
Saat registrasi, YubiKey dapat menyertakan sertifikat attestation yang membuktikan model perangkatnya melalui AAGUID. Bagi bank atau rumah sakit yang membagikan kunci ke karyawan, fitur ini berguna untuk menolak autentikator di luar daftar, misalnya hanya menerima seri YubiKey FIPS untuk akun administrator sistem inti.
Yang terjadi saat login: tanda tangan, bukan kode
Pada saat login, server mengirim tantangan acak baru. Browser menyusun clientDataJSON berisi tantangan itu, jenis operasi, dan origin halaman yang sedang dibuka, lalu meneruskan hash-nya ke YubiKey. Kunci memeriksa apakah ada kredensial untuk RP ID tersebut, meminta sentuhan sebagai bukti kehadiran pengguna, dan bila kebijakannya menuntut, meminta PIN. Setelah itu YubiKey menandatangani gabungan authenticatorData (hash RP ID, flag, penghitung) dan hash data klien.
Keamanan FIDO2 sebagian besar bergantung pada disiplin server saat memverifikasi hasil itu. Minimal, server harus memeriksa:
- Tantangan cocok dengan yang diterbitkan dan hanya bisa dipakai sekali, dengan masa berlaku pendek.
- Origin di
clientDataJSONpersis sama dengan domain yang diharapkan, tanpa pencocokan longgar berbasis wildcard. - Hash RP ID di
authenticatorDatasesuai dengan RP ID layanan. - Flag kehadiran pengguna (UP) aktif, dan flag verifikasi pengguna (UV) aktif untuk peran yang mewajibkan PIN.
- Tanda tangan valid terhadap kunci publik yang tersimpan untuk credential ID tersebut.
- Nilai penghitung tanda tangan diperlakukan sebagai sinyal anomali, bukan satu-satunya dasar pemblokiran, karena sebagian autentikator mengembalikan nilai nol.
Pustaka WebAuthn yang matang sudah menangani sebagian besar pemeriksaan ini. Masalah biasanya muncul ketika tim menulis verifikasi sendiri dan melonggarkan pengecekan origin agar staging dan produksi bisa berbagi konfigurasi.
Kenapa YubiKey FIDO2 lebih aman dari OTP SMS
OTP SMS adalah rahasia bersama yang diangkut oleh manusia. Server mengirim kode, pengguna membacanya, lalu mengetikkannya ke halaman yang ia kira asli. Setiap titik di jalur itu bisa disadap. Kit phishing adversary-in-the-middle meneruskan kode ke situs asli dalam hitungan detik. SIM swap lewat rekayasa sosial di gerai operator membuat SMS jatuh ke kartu milik penipu. Malware Android pembaca SMS bahkan tidak perlu menipu pengguna untuk mengetik apa pun.
Dengan FIDO2, halaman tiruan di bankcontoh-login.com memiliki origin yang berbeda. YubiKey tidak menemukan kredensial untuk domain itu, sehingga tidak ada tanda tangan yang bisa dicuri. Kalaupun penyerang meneruskan permintaan dari situs asli, origin yang tercatat di data klien tetap domain palsu, dan server asli akan menolaknya. Perbandingan lebih rinci per skenario ada di artikel security key vs OTP SMS dari sisi ketahanan phishing.
| Vektor serangan | OTP SMS | YubiKey FIDO2 |
|---|---|---|
| Halaman phishing dengan proxy real-time | Kode diteruskan ke situs asli sebelum kedaluwarsa | Tanda tangan terikat origin, ditolak server |
| SIM swap | Kode terkirim ke kartu SIM penyerang | Tidak bergantung pada nomor ponsel |
| Malware pembaca SMS | Kode terbaca tanpa interaksi pengguna | Kunci privat tidak dapat diekstrak dari perangkat |
| Penyadapan jaringan seluler (SS7) | Rentan | Tidak ada rahasia yang melintasi jaringan seluler |
| Pencurian perangkat fisik | Notifikasi SMS sering terlihat di layar terkunci | Perlu PIN; fungsi FIDO2 terkunci setelah delapan kali salah berturut-turut |
NIST SP 800-63B sejalan dengan penilaian ini. Pedoman tersebut menggolongkan OTP lewat jaringan telepon sebagai autentikator berkategori restricted, sedangkan level AAL3 mensyaratkan autentikator kriptografi perangkat keras yang tahan terhadap peniruan verifier, persis sifat yang dimiliki FIDO2.
Regulasi Indonesia: apa yang diminta, apa yang tidak
Perlu jujur di sini: tidak ada regulasi Indonesia yang secara eksplisit mewajibkan FIDO2 atau security key. Yang ada adalah kewajiban berbasis risiko. POJK 11/POJK.03/2022 tentang Penyelenggaraan Teknologi Informasi oleh Bank Umum meminta bank mengelola risiko TI, termasuk pengamanan akses dan autentikasi. PP 71/2019 mewajibkan penyelenggara sistem elektronik menjalankan sistemnya secara andal dan aman. UU 27/2022 tentang Pelindungan Data Pribadi mewajibkan pengendali data menjaga keamanan data pribadi dengan langkah teknis yang memadai.
FIDO2 adalah cara yang kuat untuk menunjukkan kontrol tersebut kepada auditor, bukan kotak centang kepatuhan. Untuk organisasi yang terikat persyaratan modul kriptografi tervalidasi, misalnya kontraktor proyek pemerintah asing, tersedia seri YubiKey FIPS. Pemetaan lengkap ke kebijakan internal dibahas dalam panduan MFA tahan phishing untuk enterprise dan perbankan.
Celah yang tetap terbuka bila implementasinya setengah jalan
Kunci yang kuat tidak menolong bila pintu sampingnya dibiarkan terbuka. Pola yang paling sering kami temui: SMS masih aktif sebagai metode cadangan, sehingga penyerang cukup memilih “coba cara lain” di layar login. Pemulihan akun lewat call center tanpa verifikasi berlapis juga mengembalikan risiko rekayasa sosial. Karyawan yang hanya mendaftarkan satu kunci akan kehilangan akses begitu kunci tertinggal, dan reset darurat oleh helpdesk menjadi titik terlemah.
FIDO2 juga hanya melindungi proses login. Cookie sesi yang dicuri infostealer setelah pengguna masuk tetap bisa disalahgunakan. Karena itu, praktik yang masuk akal adalah dua kunci per pengguna untuk peran istimewa, mematikan SMS sebagai fallback bagi administrator, mewajibkan PIN untuk akses sistem inti, dan memperpendek umur sesi.
Pertanyaan yang sering diajukan
Apakah YubiKey FIDO2 menyimpan kata sandi saya?
Tidak. YubiKey menyimpan atau membungkus kunci privat kriptografi per layanan. Kata sandi, bila masih dipakai, tetap diverifikasi oleh server secara terpisah.
Jika YubiKey hilang, apakah penemunya bisa masuk ke akun saya?
Penemunya masih membutuhkan PIN bila layanan mewajibkan verifikasi pengguna, dan fungsi FIDO2 terkunci setelah delapan kali salah. Segera cabut kredensial kunci tersebut dari akun dan gunakan kunci cadangan yang sudah didaftarkan.
Apakah OJK mewajibkan bank memakai security key?
Tidak secara spesifik. POJK 11/POJK.03/2022 menuntut pengamanan autentikasi berbasis risiko, dan security key FIDO2 adalah salah satu kontrol terkuat untuk memenuhinya, terutama bagi akses administrator dan transaksi bernilai besar.
Apakah YubiKey bisa dipakai di ponsel?
Bisa. Model dengan NFC dapat ditempelkan ke ponsel Android dan iPhone yang mendukung, sedangkan model USB-C dapat dicolokkan langsung ke perangkat yang memiliki port tersebut.
Pelajari YubiKey security key resmi dari DTI.





Add comment