TOTP adalah singkatan dari time-based one-time password. Teknologi ini menjadi dasar di balik banyak kode enam digit yang ditampilkan oleh aplikasi otentikator. Kode TOTP dihitung berdasarkan kunci pengaturan pribadi dan waktu saat ini, lalu kedaluwarsa setelah interval waktu yang singkat.

TOTP umumnya digunakan sebagai langkah kedua dalam otentikasi dua faktor. TOTP dapat berfungsi tanpa sinyal seluler karena aplikasi otentikator menghitung kode secara lokal, bukan dengan menunggu pesan.

Informasi apa saja yang membentuk kode TOTP?

Ada dua masukan yang penting: rahasia bersama dan penghitung waktu. Penyedia akun membuat rahasia tersebut saat pengaturan dan memberikannya ke aplikasi otentikasi Anda melalui kode QR atau kunci manual. Kedua pihak kemudian membagi waktu menjadi jendela-jendela yang sama dan melakukan perhitungan kriptografi yang sama.

Jika rahasia, algoritma, dan jendela waktu cocok, kedua belah pihak akan menghasilkan kode pendek yang sama. Rahasia itu sendiri tidak perlu dikirimkan setiap kali login.

Four-stage TOTP process from secret and time to code validation
Aplikasi otentikator dan layanan secara independen menghitung nilai dari rahasia dan jendela waktu yang sama.

Bagaimana cara kerja TOTP?

  1. Penyedia membuat kode rahasia unik untuk pendaftaran perangkat otentikator.
  2. Anda memindai kode QR pengaturan atau memasukkan kunci rahasia manual pada perangkat tepercaya.
  3. Penerbit kode otentikasi menggabungkan rahasia tersebut dengan jendela waktu saat ini.
  4. Hasilnya disederhanakan menjadi kode numerik pendek, biasanya enam digit.
  5. Penyedia menghitung kode yang diharapkan dan membandingkannya dengan entri Anda.

RFC 6238 mendefinisikan TOTP sebagai variasi HOTP berbasis waktu. Konfigurasi umum menggunakan periode 30 detik, enam digit, dan HMAC-SHA-1, meskipun ada algoritma dan pengaturan lain yang didukung.

Mengapa kode TOTP kedaluwarsa?

Masa berlaku yang singkat membatasi berapa lama kode yang disalin dapat digunakan kembali. Setelah jendela waktu berubah, otentikator akan menghasilkan nilai lain. Layanan mungkin mentolerir jendela waktu yang berdekatan untuk memperhitungkan penundaan jaringan dan perbedaan waktu yang kecil, tetapi toleransi yang lebih luas juga memperpanjang jendela penerimaan.

Masukkan kode baru menjelang akhir hitungan mundurnya. Jika kode terus-menerus ditolak, ikuti panduan kami untuk memperbaiki kode 2FA yang tidak berfungsi.

TOTP versus HOTP

TOTP dan HOTP menggunakan perhitungan yang serupa tetapi berkembang secara berbeda:

  • TOTP berubah sesuai dengan langkah waktu, sehingga jam otentikator harus disinkronkan.
  • HOTP berubah saat penghitung maju, seperti setelah tombol ditekan atau penggunaan yang berhasil.

TOTP umum digunakan dalam aplikasi otentikator perangkat lunak karena waktu menyediakan faktor pergerakan otomatis. HOTP masih digunakan oleh beberapa token perangkat keras dan sistem khusus.

TOTP versus kode SMS

Aplikasi TOTP menghitung kode di perangkat dan biasanya berfungsi secara offline. SMS mengandalkan jaringan telepon untuk mengirimkan kode. SMS memang praktis, tetapi dapat terpengaruh oleh penukaran SIM, penugasan ulang nomor, intersepsi, dan kegagalan pengiriman.

Baik TOTP biasa maupun SMS tidak sepenuhnya tahan terhadap phishing: halaman masuk palsu yang meyakinkan dapat menangkap dan meneruskan kode saat ini. Untuk akun penting, passkey atau kunci keamanan FIDO umumnya lebih kuat jika didukung. Lihat perbandingan terperinci kami antara aplikasi otentikator dan SMS.

Apa itu rahasia TOTP?

Kode rahasia adalah kredensial jangka panjang yang menjadi dasar semua kode di masa mendatang untuk pendaftaran tersebut. Siapa pun yang memilikinya dapat mengonfigurasi otentikator lain dan menghasilkan nilai yang sesuai. Tangkapan layar kode QR pengaturan bersifat sensitif karena biasanya berisi kode rahasia tersebut.

Panduan kami menjelaskan di mana menemukan kunci pengaturan 2FA manual dan cara membedakannya dari kata sandi atau kode pemulihan.

Apakah TOTP dapat berfungsi secara offline?

Ya. Setelah dikonfigurasi, aplikasi otentikator memerlukan rahasia dan jam yang akurat, bukan koneksi internet aktif. Layanan yang memverifikasi login tetap memerlukan akses ke informasi pendaftaran yang disimpan.

Cara menggunakan generator TOTP dengan aman

  • Gunakan hanya rahasia yang terkait dengan akun yang Anda berwenang untuk kelola.
  • Periksa alamat situs web dan perangkat sebelum memasukkan kunci rahasia.
  • Jangan pernah mengirimkan kode rahasia atau kode QR pengaturan melalui obrolan atau formulir dukungan.
  • Simpan kode pemulihan secara terpisah dari otentikator yang digunakan sehari-hari.
  • Buat ulang pendaftaran jika kode rahasia tersebut kemungkinan telah bocor.

Untuk pengujian yang diizinkan, generator TOTP Get2FA.dev menghitung kode standar di browser Anda. Untuk penggunaan sehari-hari pada akun penting, gunakan otentikator tepercaya atau metode berbasis perangkat keras.

Pertanyaan yang sering diajukan

Berapa lama kode TOTP berlaku?

Tiga puluh detik adalah pengaturan default umum, tetapi penyedia layanan dapat mengatur jangka waktu lain. Hitung mundur berlaku dalam rentang waktu tertentu; hitung mundur tidak dimulai ulang saat Anda melihat atau menyalin kode.

Mengapa kode TOTP biasanya terdiri dari enam digit?

Enam digit menyeimbangkan kegunaan dengan jumlah nilai yang mungkin terbatas. Batasan frekuensi dan jendela validitas yang singkat penting karena ruang kode itu sendiri tidak besar.

Apakah dua perangkat dapat menampilkan kode TOTP yang sama?

Ya, jika keduanya memiliki rahasia yang sama, menggunakan pengaturan yang sama, dan jamnya telah disinkronkan. Apakah menduplikasi pendaftaran itu tepat atau tidak tergantung pada kebijakan keamanan Anda.

Apakah TOTP sama dengan 2FA?

Tidak. TOTP adalah salah satu metode otentikasi yang mungkin. Baca apa arti 2FA dan bagaimana metode-metode lainnya bekerja.