Autentikasi dua faktor (2FA) adalah cara memverifikasi identitas pengguna dengan meminta dua bukti, seperti kata sandi akun online (faktor pertama) dan kode sandi sekali pakai dari aplikasi autentikator (faktor kedua).
Kebanyakan orang sudah familier dengan sistem keamanan 2FA berbasis teks SMS. Dalam versi ini, aplikasi mengirimkan kode numerik ke ponsel pengguna saat login. Pengguna harus memasukkan kata sandi dan kode ini untuk melanjutkan. Memasukkan hanya satu atau yang lain tidak cukup untuk autentikasi.
2FA adalah bentuk autentikasi multifaktor (MFA) yang paling umum, yang mengacu pada metode autentikasi dimana pengguna harus menyediakan lebih dari satu faktor autentikasi untuk membuktikan identitas mereka.
Meskipun 2FA sering dikaitkan dengan sistem komputer, 2FA juga dapat menjaga aset dan lokasi fisik. Misalnya, bangunan terbatas mungkin mengharuskan orang untuk menunjukkan lencana ID dan melewati pemindaian sidik jari untuk masuk.
Menurut Laporan Biaya Pelanggaran Data IBM, kredensial yang disusupi adalah penyebab paling umum dari pelanggaran data. Kata sandi relatif mudah dicuri oleh aktor ancaman melalui phishing, spyware, atau serangan brute-force.
Otentikasi dua faktor membantu memperkuat keamanan akun dengan memerlukan faktor kedua. Peretas tidak hanya perlu mencuri dua kredensial untuk merusak sistem, tetapi faktor kedua seringkali merupakan sesuatu yang sulit dihack, seperti sidik jari atau kode sandi terbatas waktu. Faktor kedua yang umum termasuk sidik jari dan biometrik, kunci keamanan fisik, dan kode sandi kedaluwarsa.
Faktor otentikasi adalah kredensial yang disediakan pengguna untuk memverifikasi identitas mereka. Sistem autentikasi dua faktor menggunakan beberapa jenis faktor autentikasi, dan sistem 2FA yang sebenarnya menggunakan dua faktor dari dua jenis yang berbeda.
Menggunakan dua jenis faktor yang berbeda lebih aman daripada menggunakan dua faktor yang sama karena hacker perlu menggunakan metode yang berbeda untuk meng-hack setiap faktor.
Misalnya, peretas dapat mencuri kata sandi pengguna dengan menanam spyware di komputer mereka. Namun spyware itu tidak akan mengambil kode sandi satu kali di smartphone pengguna. Para peretas perlu menemukan cara lain untuk mencegat pesan-pesan itu.
Jenis faktor autentikasi meliputi:
Faktor pengetahuan adalah sedikit informasi yang, secara teoritis, hanya pengguna yang tahu. Kata sandi adalah faktor pengetahuan yang paling umum. Nomor identifikasi pribadi (PIN) dan jawaban atas pertanyaan keamanan juga umum.
Dalam sebagian besar implementasi 2FA, faktor pengetahuan adalah faktor autentikasi pertama.
Meskipun penggunaannya tersebar luas, faktor pengetahuan adalah jenis faktor autentikasi yang paling rentan. Peretas dapat memperoleh kata sandi melalui serangan phishing, malware atau serangan brute force di mana mereka menggunakan bot untuk membuat dan menguji beberapa kemungkinan kata sandi pada akun hingga kata sandi tersebut berfungsi.
Jenis faktor pengetahuan lainnya juga tidak memberikan tantangan besar bagi penjahat siber. Jawaban atas banyak pertanyaan keamanan, seperti pertanyaan klasik “Siapa nama asli ibumu?”, dapat ditemukan dengan mudah melalui pencarian dasar atau serangan rekayasa sosial yang mengelabui pengguna untuk mengungkap informasi pribadi.
Praktik umum yang mengharuskan kata sandi dan pertanyaan keamanan bukanlah 2FA yang sebenarnya karena menggunakan dua faktor dari jenis yang sama, dalam hal ini, dua faktor pengetahuan.
Dua faktor pengetahuan akan menjadi contoh proses verifikasi dua langkah. Prosesnya memiliki dua langkah, yaitu memasukkan kata sandi dan menjawab pertanyaan, tetapi hanya menggunakan satu jenis faktor.
Verifikasi dua langkah bisa lebih aman daripada kata sandi saja karena memerlukan dua bukti. Namun, karena ini adalah dua faktor dari jenis yang sama, mereka lebih mudah dicuri daripada dua jenis faktor yang berbeda.
Faktor kepemilikan adalah hal-hal yang dimiliki seorang individu. Dua jenis faktor kepemilikan yang paling umum adalah token perangkat lunak dan token perangkat keras.
Token perangkat lunak sering mengambil bentuk kata sandi satu kali (OTP). OTP biasanya 4-8 digit kode sandi sekali pakai yang kedaluwarsa setelah jumlah waktu yang ditentukan. Token perangkat lunak dapat dikirim ke ponsel pengguna melalui pesan teks, email, atau pesan suara. Token juga dapat dihasilkan oleh aplikasi autentikator yang diinstal pada perangkat.
Dengan token perangkat lunak, perangkat pengguna bertindak sebagai faktor kepemilikan. Sistem 2FA mengasumsikan bahwa hanya pengguna yang sah yang memiliki akses ke informasi apa pun yang dikirim ke atau dihasilkan oleh perangkat itu.
Sementara OTP berbasis teks SMS adalah beberapa faktor kepemilikan yang paling ramah pengguna, mereka juga yang paling tidak aman. Pengguna memerlukan koneksi internet atau seluler untuk menerima kode otentikasi ini, dan peretas dapat menggunakan phishing canggih atau serangan man-in-the-middle untuk mencurinya.
OTP juga rentan terhadap kloning SIM, di mana para penjahat membuat duplikat fungsional dari kartu SIM ponsel pintar korban dan menggunakannya untuk menyadap pesan teks mereka.
Aplikasi autentikator, seperti Google Authenticator, Authy, Microsoft Authenticator, dan Duo, dapat menghasilkan token tanpa koneksi jaringan. Pengguna memasangkan aplikasi autentikator dengan layanan, seringkali dengan memindai kode QR. Aplikasi kemudian terus menghasilkan kata sandi satu kali berbasis waktu (TOTP) untuk layanan yang dipasangkan. Setiap TOTP kedaluwarsa dalam 30–60 detik, sehingga sulit untuk dicuri.
Beberapa aplikasi autentikator menggunakan pemberitahuan push, bukan TOTP. Ketika pengguna masuk ke sebuah akun, aplikasi ini mengirimkan notifikasi push ke sistem operasi iOS atau Android mereka, yang harus mereka ketuk untuk mengonfirmasi bahwa upaya tersebut sah.
Meskipun aplikasi otentikator lebih sulit dipecahkan daripada pesan teks, mereka tidak mudah. Peretas dapat menggunakan malware untuk mencuri TOTP langsung dari autentikator. Mereka juga dapat meluncurkan serangan kelelahan MFA, di mana mereka membanjiri perangkat dengan notifikasi push palsu dengan harapan korban secara tidak sengaja mengonfirmasinya.
Token perangkat keras adalah perangkat khusus, seperti kunci fob, tanda pengenal, atau dongle, yang berfungsi sebagai kunci keamanan. Beberapa token perangkat keras dicolokkan ke port USB komputer dan mengirimkan informasi autentikasi ke halaman login. Token lain menghasilkan kode verifikasi untuk pengguna memasukkan secara manual saat diperintahkan.
Meskipun token perangkat keras sulit diretas, token ini dapat dicuri, seperti halnya perangkat seluler pengguna yang berisi token perangkat lunak. Menurut Laporan Biaya Pelanggaran Data IBM, perangkat yang hilang dan dicuri merupakan faktor dari 6% pelanggaran data.
Juga disebut “biometrik”, faktor yang melekat adalah karakteristik fisik atau sifat yang unik bagi pengguna, seperti sidik jari, fitur wajah, atau pola retina. Banyak smartphone dan laptop memiliki pembaca wajah dan sidik jari bawaan, dan banyak aplikasi serta situs web yang dapat menggunakan data biometrik ini sebagai faktor autentikasi.
Meskipun faktor bawaan adalah yang paling sulit untuk diretas, akibatnya bisa sangat berbahaya jika berhasil dilakukan. Jika peretas mendapatkan akses ke database biometrik, mereka dapat mencuri data tersebut atau menautkan biometrik mereka sendiri ke profil pengguna lain. Ketika data biometrik disusupi, data biometrik tidak dapat diubah dengan cepat atau mudah, sehingga sulit untuk menghentikan serangan yang sedang berlangsung.
Kemajuan dalam pembuatan gambar kecerdasan buatan (AI) membuat para pakar keamanan siber khawatir bahwa peretas mungkin menggunakan alat ini untuk mengelabui perangkat lunak pengenalan wajah.
Faktor perilaku adalah artefak digital yang memverifikasi identitas pengguna berdasarkan pola perilaku. Contohnya termasuk rentang alamat IP umum, lokasi umum, dan kecepatan pengetikan rata-rata pengguna.
Sistem otentikasi perilaku menggunakan AI dan machine learning (ML) untuk menentukan dasar pola normal pengguna dan menandai aktivitas anomali, seperti melakukan login dari perangkat, nomor telepon, atau lokasi baru.
Beberapa sistem autentikasi dua faktor memungkinkan pengguna untuk mendaftarkan perangkat tepercaya sebagai faktor. Meskipun pengguna mungkin perlu menyediakan dua faktor saat login pertama, penggunaan perangkat tepercaya secara otomatis bertindak sebagai faktor kedua di masa mendatang.
Faktor perilaku juga berperan dalam sistem autentikasi adaptif, yang mengubah persyaratan autentikasi berdasarkan tingkat risiko. Misalnya, pengguna mungkin hanya memerlukan kata sandi untuk masuk ke aplikasi dari iPhone tepercaya di jaringan perusahaan. Pengguna itu mungkin perlu menambahkan faktor kedua untuk masuk dari perangkat baru atau jaringan yang tidak dikenal.
Meskipun faktor perilaku menawarkan cara yang canggih untuk mengautentikasi pengguna, faktor ini membutuhkan sumber daya dan keahlian yang signifikan untuk diterapkan. Selain itu, jika seorang hacker mendapatkan akses ke perangkat tepercaya, mereka dapat mudah menyamar sebagai pengguna.
Sistem autentikasi dua faktor tanpa kata sandi hanya menerima faktor kepemilikan, faktor bawaan, dan faktor perilaku, tidak faktor pengetahuan. Misalnya, meminta pengguna untuk sidik jari bersama dengan token fisik akan merupakan konfigurasi 2FA tanpa kata sandi.
Otentikasi tanpa kata sandi menghilangkan faktor pengetahuan karena mudah dikompromikan. Sementara sebagian besar metode 2FA saat ini menggunakan kata sandi, para pakar industri mengantisipasi masa depan yang semakin tanpa kata sandi.
Kunci akses, seperti yang sesuai dengan Standar FIDO yang populer, adalah salah satu bentuk autentikasi tanpa kata sandi yang paling umum. Itu menggunakan kriptografi kunci publik untuk memverifikasi identitas pengguna.
Menurut Laporan Biaya Pelanggaran Data, kredensial yang disusupi dan phishing adalah dua vektor serangan siber yang paling umum. Secara keseluruhan, keduanya bertanggung jawab atas 31% dari pelanggaran data. Kedua vektor tersebut sering kali bekerja dengan mencuri kata sandi, yang kemudian dapat digunakan peretas untuk membajak akun dan perangkat sah guna menimbulkan kekacauan.
Peretas biasanya menargetkan kata sandi karena mereka relatif mudah dipecahkan melalui brute force atau penipuan. Selain itu, karena orang menggunakan ulang kata sandi, peretas sering kali dapat menggunakan satu kata sandi curian untuk membobol banyak akun. Konsekuensi dari kata sandi yang dicuri dapat signifikan bagi pengguna dan organisasi, yaitu pencurian identitas, pencurian dana, dan sabotase sistem.
Autentikasi dua faktor membantu menggagalkan akses yang tidak sah dengan menambahkan lapisan keamanan ekstra ke sistem manajemen identitas dan akses (IAM). Bahkan jika peretas dapat mencuri kata sandi, mereka masih membutuhkan faktor kedua untuk mendapatkan akses ke akun.
Selain itu, faktor kedua ini biasanya lebih sulit dicuri daripada faktor pengetahuan. Peretas perlu memalsukan biometrik, meniru perilaku, atau mencuri perangkat fisik.
Metode otentikasi dua faktor juga dapat membantu organisasi memenuhi kewajiban kepatuhan tertentu. Misalnya, Standar Keamanan Data Industri Kartu Pembayaran (PCI DSS) secara eksplisit mensyaratkan MFA untuk sistem yang menangani data kartu pembayaran.
Peraturan lain, termasuk Undang-Undang Sarbanes-Oxley (SOX) dan Peraturan Perlindungan Data Umum (GDPR), tidak secara eksplisit memerlukan 2FA. Namun, 2FA dapat membantu organisasi memenuhi standar keamanan ketat yang ditetapkan undang-undang ini.
Meskipun autentikasi dua faktor lebih kuat daripada metode autentikasi satu faktor, terutama yang hanya menggunakan kata sandi, 2FA tidak sepenuhnya aman. Khususnya, peretas dapat menyalahgunakan sistem pemulihan akun untuk menghindari 2FA dan mengambil alih akun.
Contohnya, seorang peretas dapat berpura-pura menjadi pengguna yang sah yang kehilangan akses dan perlu mengatur ulang kredensial akun mereka. Sistem pemulihan akun sering memerlukan beberapa cara autentikasi lain, seperti jawaban atas pertanyaan keamanan. Jika pertanyaan itu sangat mendasar seperti “nama asli ibu,” peretas dapat menemukan jawabannya dengan sedikit pencarian. Peretas kemudian dapat mengatur ulang kata sandi akun, mengunci pengguna yang sebenarnya.
Peretas juga dapat membahayakan suatu akun dengan mendapatkan akses ke akun lain. Sebagai contoh, jika seorang penyerang ingin membobol sistem perusahaan yang sensitif, mereka mungkin akan mengambil alih akun email pengguna terlebih dahulu. Mereka kemudian dapat meminta pengaturan ulang kata sandi dengan sistem perusahaan, yang mengirimkan email ke akun yang sekarang dikuasai peretas.
2FA berbasis SMS, mungkin bentuk 2FA yang paling umum, dapat diretas melalui rekayasa sosial yang canggih. Penyerang dapat menyamar sebagai target mereka dan menghubungi penyedia telepon target, mengklaim ponsel mereka dicuri dan mereka harus mentransfer nomor mereka ke yang baru. OTP kemudian dikirim ke telepon yang dikendalikan oleh peretas, bukan ke telepon target.
Pengguna dapat melindungi diri dari serangan ini dengan memastikan bahwa semua akun mereka, dari akun email hingga akun dengan penyedia layanan telepon, memerlukan 2FA atau MFA yang kuat. Menyetel MFA pada semuanya membuat lebih sulit bagi peretas untuk menggunakan satu akun untuk mengkompromikan yang lain.
Pengguna juga dapat memastikan bahwa faktor autentikasi yang mereka pilih sulit diretas. Biometrik dan token keamanan fisik, misalnya, lebih sulit dicuri daripada jawaban pertanyaan keamanan.