Two-factor authentication (2FA) mengharuskan dua jenis bukti terpisah sebelum mengizinkan seseorang masuk ke akun. Yang pertama hampir selalu kata sandi (sesuatu yang Anda tahu). Yang kedua adalah kategori bukti yang berbeda, seperti kode dari ponsel Anda (sesuatu yang Anda miliki) atau sidik jari (sesuatu yang melekat pada diri Anda). Karena kedua bukti berasal dari kategori berbeda, mencuri satu jarang memberikan yang lain kepada penyerang.
Pembedaan kategori itulah inti utamanya. Kata sandi bisa bocor dalam pelanggaran data, dicuri lewat phishing, atau ditebak. Jika satu-satunya penghalang antara penyerang dan akun Anda adalah kata sandi itu, akun Anda tinggal satu kebocoran dari pembobolan. Menambahkan faktor kedua dari kategori berbeda berarti penyerang harus mengalahkan dua hal yang tidak berhubungan sekaligus, yang jauh lebih sulit dilakukan dalam skala besar.
Tiga faktor autentikasi
Pakar keamanan mengelompokkan bukti menjadi tiga kategori. Login dianggap two-factor hanya jika kedua bukti berasal dari dua kategori berbeda.
- Knowledge (sesuatu yang Anda tahu): kata sandi, PIN, jawaban pertanyaan keamanan.
- Possession (sesuatu yang Anda miliki): ponsel yang menerima SMS atau push, aplikasi autentikator, kunci keamanan hardware.
- Inherence (sesuatu yang melekat pada diri Anda): sidik jari, pemindaian wajah, cetak suara.
Dua kata sandi tetap hanya knowledge, jadi meminta kata sandi lalu PIN bukanlah 2FA. Kata sandi ditambah kode dari ponsel Anda adalah 2FA, karena menggabungkan knowledge dengan possession. Jika Anda ingin penjelasan lebih lengkap tentang batas perbedaannya, lihat two-factor authentication vs. two-step verification.
Apa saja pilihan faktor kedua?
Dalam praktiknya, faktor kedua hampir selalu faktor possession, dan Anda memiliki beberapa opsi yang mempertimbangkan kemudahan terhadap ketahanan serangan.
- SMS atau OTP suara. One-time password singkat dikirim ke nomor telepon Anda lewat teks atau dibacakan oleh panggilan otomatis. Cara ini berfungsi di ponsel apa pun tanpa perlu menginstal aplikasi, sehingga menjadi faktor kedua paling umum di dunia.
- Aplikasi autentikator TOTP. Aplikasi seperti Google Authenticator atau Authy menghasilkan kode enam digit yang berputar setiap 30 detik, dihitung dari kunci rahasia bersama dan waktu saat ini. Kode ini tidak pernah melewati jaringan, sehingga tidak ada yang bisa disadap saat transit.
- Push approval. Layanan mengirim prompt ke aplikasi terdaftar dan Anda mengetuk setuju atau tolak. Praktis, tetapi mengundang serangan "push fatigue" di mana pengguna mengetuk setuju hanya agar prompt berhenti muncul.
- Hardware key dan passkey. Kunci fisik (FIDO2/WebAuthn) atau passkey yang tersimpan di perangkat Anda menandatangani tantangan dengan kunci privat yang tidak pernah meninggalkan hardware. Ini tahan terhadap phishing karena tanda tangan terikat pada origin situs asli, sehingga domain tiruan tidak dapat mengumpulkan apa pun yang bisa digunakan ulang.
Mengapa ini penting
Sebagian besar pengambilalihan akun dimulai dengan kata sandi yang sudah dimiliki penyerang, dari dump kebocoran, kredensial yang dipakai ulang, atau halaman phishing. Tidak satu pun memberikan faktor kedua Anda kepada penyerang. Jadi bahkan kode SMS dasar, yang bukan opsi terkuat, memblokir sebagian besar serangan massal dan otomatis yang hanya mengandalkan kata sandi curian.
Perlu diakui bahwa 2FA bukan satu hal dengan satu tingkat keamanan. Hardware key dan kode SMS sama-sama "2FA," tetapi melindungi dari ancaman yang sangat berbeda. Pilih faktor kedua yang sesuai dengan nilai aset yang Anda lindungi.
Apa saja pertimbangannya?
2FA berbasis SMS paling mudah diterapkan dan paling mudah diserang. SIM-swap fraud (penyerang meyakinkan operator untuk memindahkan nomor Anda ke SIM mereka) dan intersepsi SS7 dapat mengirimkan kode Anda ke orang lain. TOTP berbasis aplikasi menghindari operator sepenuhnya karena kode dihasilkan di perangkat Anda, sehingga tidak ada pesan yang bisa dialihkan. Hardware key dan passkey melangkah lebih jauh dengan ketahanan terhadap phishing, dengan konsekuensi pengguna harus memiliki dan membawa kunci tersebut.
Default yang wajar: tawarkan SMS karena jangkauannya paling luas, tetapi biarkan pengguna yang sadar keamanan beralih ke aplikasi autentikator atau passkey. Beberapa akun (konsol admin, dasbor keuangan) layak mewajibkan opsi yang lebih kuat.
Bagaimana cara menambahkan 2FA?
Jika Anda pengguna, buka pengaturan akun atau keamanan layanan tersebut dan aktifkan 2FA. Layanan biasanya menampilkan kode QR untuk dipindai ke aplikasi autentikator, atau meminta Anda mengonfirmasi nomor telepon untuk kode SMS. Simpan kode pemulihan di tempat aman agar ponsel yang hilang tidak mengunci Anda dari akun.
Jika Anda membangun fitur ini, ada dua jalur. Anda dapat mengimplementasikan TOTP sendiri (standarnya terspesifikasi dengan baik dan kalkulasinya sederhana) dan menyimpan kunci rahasia bersama per pengguna. Atau Anda dapat menyerahkan pengiriman dan verifikasi OTP ke penyedia agar tidak menjalankan pipeline SMS atau logika pembatasan laju permintaan secara manual. Verifications product dari Bird mengirim dan memeriksa kode sekali pakai melalui SMS, voice, dan email, dan SMS product yang mendasarinya menangani pengiriman pesan jika Anda ingin merangkai alur sendiri.
FAQ
Apakah two-factor authentication sama dengan two-step verification?
Tidak persis. 2FA mengharuskan dua bukti dari kategori faktor berbeda. Two-step verification berarti dua langkah berurutan, yang mungkin atau mungkin tidak menggunakan dua faktor berbeda. Istilah ini sering digunakan secara bergantian, tetapi perbedaannya penting saat Anda menganalisis apa yang harus dikalahkan oleh suatu serangan.
Apakah 2FA berbasis SMS cukup aman?
Untuk sebagian besar akun konsumen, ya, karena memblokir serangan massal yang mengandalkan kata sandi curian. Untuk akun bernilai tinggi, pilih aplikasi autentikator atau hardware key, karena SMS rentan terhadap SIM-swap dan intersepsi jaringan.
Apa yang terjadi jika saya kehilangan faktor kedua?
Sebagian besar layanan menerbitkan kode pemulihan saat Anda mengaktifkan 2FA. Simpan secara offline. Tanpa jalur pemulihan, kehilangan perangkat yang menyimpan faktor kedua Anda dapat mengunci Anda dari akun sepenuhnya.
Apakah 2FA menggantikan kata sandi yang kuat?
Tidak. Faktor kedua adalah lapisan tambahan, bukan pengganti. Kata sandi yang lemah atau dipakai ulang tetap memperluas permukaan serangan, jadi tetap gunakan pengelola kata sandi dan kata sandi unik bersamaan dengan 2FA.
Two-factor authentication adalah salah satu cara paling murah untuk meningkatkan biaya pengambilalihan akun, dan faktor kedua biasanya berupa kode sekali pakai. Jika Anda ingin melihat cara kerja kode itu sendiri, baca apa arti OTP, atau lihat bagaimana Bird menangani pengiriman dan verifikasi kode di Verifications product.