Aplikasi autentikator, token perangkat keras, dan kode SMS adalah metode autentikasi umum saat menyiapkan autentikasi dua faktor (2FA). Semuanya bergantung pada kata sandi sekali pakai (OTP). TOTP and HOTP adalah dua jenis OTP terstandarisasi, sedangkan kode SMS dan email merupakan metode pengiriman OTP umum lainnya. Meskipun pada dasarnya memiliki tujuan dasar yang sama, penerapannya berbeda, sehingga memberikan keuntungan dan keterbatasan yang unik. Dalam artikel ini, kami akan menguraikan HOTP vs TOTP vs OTP dan menjelaskan opsi mana yang paling logis untuk berbagai kasus penggunaan.

Memahami HOTP, TOTP, dan OTP

Kata sandi sekali pakai (OTP)

OTP adalah kode sementara, yang terkadang disebut sebagai kata sandi sekali pakai atau kode 2FA, yang hanya digunakan sekali. OTP tidak menggantikan kata sandi; melainkan menyediakan lapisan keamanan tambahan. OTP umumnya digunakan dalam aplikasi perbankan untuk verifikasi identitas saat masuk atau saat menyiapkan akun daring.

Note: OTP adalah istilah umum untuk berbagai bentuk kata sandi sekali pakai, termasuk TOTP, HOTP, dan email/SMS.

Time-based one-time password (TOTP)

Kode TOTP biasanya berupa kode 6 digit yang dihasilkan oleh aplikasi autentikator. Kode ini berlaku selama sekitar 30 detik (terkadang hingga 60 detik, tergantung pada layanan). Ketika kode kedaluwarsa, kode tersebut tidak lagi berfungsi, dan kode baru akan dihasilkan. Sifat TOTP yang berbasis waktu menjadikannya sangat aman, karena membatasi celah kesempatan bagi penyerang untuk menggunakan kode apa pun yang dicuri.

HMAC-based one-time password (HOTP)

HOTP umumnya ditemukan pada token perangkat keras seperti YubiKey dan bergantung pada sistem berbasis penghitung untuk menghasilkan kode. Sistem ini bekerja dengan cara yang mirip dengan buku voucer bernomor — terdapat urutan kode berjalan yang dicocokkan dengan sistem. Selama token perangkat keras dan server aplikasi tetap sinkron, akses akan diberikan.

Berختلف dengan TOTP, kode HOTP tidak kedaluwarsa berdasarkan pengukur waktu. Kode tersebut tetap berlaku hingga digunakan atau kode baru dihasilkan. Hal ini membuatnya ideal untuk skenario luring, tetapi juga berarti jika kode dihasilkan dan tidak digunakan, kode tersebut tetap menjadi kunci valid yang dapat ditemukan dan digunakan oleh penyerang.

HOTP, TOTP, dan OTP: Perbedaan utama

TOTP dan HOTP sama-sama merupakan jenis OTP dengan metode pembuatan yang berbeda. Misalnya, jika membandingkan TOTP dengan OTP, kemungkinan besar Anda membandingkan kode berbasis waktu dari aplikasi autentikator dengan metode OTP umum seperti kode SMS dan email.

Kode SMS/EmailTOTPHOTP
Masa berlaku kodeBervariasi (menit hingga jam)30 hingga 60 detikHingga kode baru dihasilkan
Keamanan*RendahTinggiSedang
Kompleksitas pengaturanTidak adaRendahSedang
Persyaratan jaringan aktifYaTidakTidak
Perangkat keras tambahan Tidak adaTidak adaToken perangkat keras

*Tingkat keamanan berdasarkan masa berlaku kode dan risiko penyadapan.

Keamanan

HOTP, TOTP, dan OTP menawarkan tingkat keamanan yang berbeda, dengan pertimbangan utama berupa waktu paparan dan metode transmisi.

TOTP umumnya menawarkan keamanan yang lebih kuat daripada kode SMS atau email, karena kode dihasilkan di perangkat dan memiliki masa berlaku yang singkat. Jika penyerang berhasil mendapatkan kode TOTP, kode tersebut akan menjadi tidak berguna.

HOTP dibuat di atas fondasi kriptografi, memberikan keamanan yang kokoh. Namun, karena kode HOTP tidak kedaluwarsa berdasarkan pengukur waktu, masa berlaku yang berpotensi panjang dapat membuat kode yang dicuri menjadi suatu kerentanan.

Kode SMS dan email adalah yang paling tidak aman di antara ketiganya. Keduanya ditransmisikan melalui jaringan yang dapat disadap atau dialihkan, membuatnya lebih rentan terhadap serangan penukaran SIM atau phishing..

Catatan: Tidak ada metode OTP yang kebal terhadap serangan rekayasa sosial, seperti phishing. Penting untuk mengetahui cara mengenali phishing untuk melindungi diri dengan benar.

Kode SMS/EmailTOTPHOTP
Rentan terhadap penyadapan karena persyaratan jaringan aktifWaktu minimal bagi penyerang untuk mengeksploitasi kode yang dicuriMasa berlaku yang lama menawarkan peluang serangan yang lebih luas
Platform yang tidak terenkripsi membuat kode lebih mudah dicuriRisiko penyadapan lebih rendah karena kode dihasilkan di perangkatKeamanan kokoh yang dibangun di atas fondasi kriptografi

Pengalaman pengguna

Kompleksitas pengaturan, keterbatasan waktu, dan keandalan memengaruhi pengalaman pengguna dari ketiga metode tersebut.

TOTP andal dan nyaman. Pengaturan sangat mudah (sering kali hanya dengan pemindaian kode QR), dan kode dihasilkan bahkan tanpa jaringan aktif. Namun, kedaluwarsa kode yang singkat menciptakan keterbatasan waktu, yang dapat menyebabkan frustrasi bagi pengguna yang lebih lambat atau mereka yang mengelola beberapa akun.

Sebagai perbandingan, HOTP jauh lebih santai tanpa batasan waktu sama sekali. Namun, pengaturan jauh lebih kompleks dan mungkin memerlukan pembelian perangkat keras tambahan.

Kode SMS dan email adalah yang paling praktis tanpa perlu pengaturan, tetapi keduanya bergantung pada konektivitas jaringan, yang dapat menyebabkan keterlambatan saat terjadi pemadaman atau gangguan jaringan.

Kode SMS/EmailTOTPHOTP
Tidak memerlukan pengaturanPengaturan mudah melalui kode QR dengan autentikator 2FAPengaturan kompleks, mungkin memerlukan perangkat keras tambahan
Sedikit keterbatasan waktu, dengan beberapa kode kedaluwarsa dalam hitungan jamKeterbatasan waktu dapat menyebabkan frustrasiTanpa keterbatasan waktu
Sepenuhnya bergantung pada jaringan aktif untuk pengiriman kodeBerfungsi dengan andal bahkan tanpa koneksi jaringanBerfungsi secara luring, tetapi masalah sinkronisasi dapat terjadi

Keterbatasan

Keterbatasan unik dari setiap metode akan memengaruhi cara dan waktu penggunaannya. Kode SMS dan email berfungsi dengan perangkat yang ada, tetapi ketergantungannya pada koneksi jaringan dan internet dapat menyebabkan keterlambatan pengiriman kode yang bahkan mungkin berlangsung lebih lama dari masa berlakunya.

TOTP tidak memerlukan koneksi jaringan untuk menghasilkan kode, tetapi memerlukan ponsel pintar agar disinkronkan waktunya dengan server agar kode dapat berfungsi. Cara terbaik untuk memastikannya adalah dengan membuat jam perangkat disinkronkan secara otomatis dengan internet. Dengan demikian, saat bepergian, sinkronisasi waktu tetap terjaga.

Dengan HOTP, menghasilkan kode baru secara luring dapat bermanfaat ketika konektivitas jaringan buruk. Namun, hal ini seperti pisau bermata dua. Membuat ulang kode tanpa menggunakannya dapat menyebabkan perangkat tidak sinkron dengan server, sehingga menimbulkan kegagalan autentikasi. Selain itu, pembuatan ulang secara manual yang diperlukan oleh HOTP memberikan beban keamanan yang besar bagi pengguna.

Kode SMS/EmailTOTPHOTP
Area dengan jaringan buruk dapat menyebabkan keterlambatan signifikan dalam pengiriman kodeWaktu perangkat harus sinkron dengan waktu server, bahkan saat bepergianDapat menjadi tidak sinkron jika terlalu banyak kode yang dihasilkan tetapi tidak digunakan

Metode OTP apa yang sebaiknya digunakan?

Jawaban singkatnya adalah TOTP adalah standar terbaik bagi sebagian besar orang, sedangkan HOTP melayani kebutuhan luring tertentu. Keduanya lebih unggul daripada SMS.

Meskipun kebutuhan individu berbeda-beda, TOTP tampaknya menjadi pilihan yang lebih seimbang dalam sebagian besar situasi. Sifatnya yang berbasis waktu memberikan lapisan keamanan tambahan, dan aksesibilitas yang didukung ponsel pintar menjadikannya pilihan yang nyaman serta aman untuk akun yang sering diakses. Namun, untuk perlindungan yang lebih kuat terhadap phishing, metode berbasis perangkat keras seperti FIDO2/kunci sandi memberikan perlindungan yang lebih baik daripada metode OTP mana pun.

Simpan kata sandi dan hasilkan OTP dengan aman

Mengelola kata sandi dan kode autentikasi TOTP bisa merepotkan — perpindahan aplikasi yang konstan saat masuk mengurangi waktu yang sudah terbatas untuk memasukkan kode. Proton Pass adalah pengelola kata sandi yang aman yang mengurangi hambatan ini dengan fungsionalitas 2FA terintegrasi (TOTP) kami. Akses kata sandi, kode 2FA, dan lainnya dari satu brankas terenkripsi yang aman.