Verify

OTP vs TOTP vs HOTP: apa perbedaannya?

OTP menyebut kode sekali pakai; HOTP menghasilkannya dari penghitung, sedangkan TOTP menghasilkannya dari waktu.

Aplikasi autentikator dapat menghasilkan kode tanpa menerima pesan. Kode verifikasi yang dikirim via teks tiba melalui saluran pengiriman, sehingga penyiapan dan penanganan kegagalannya berbeda.

Apa arti masing-masing istilah?

OTP menggambarkan kode yang diterima sekali pakai. HOTP dan TOTP menggambarkan algoritma untuk menghasilkan kode tersebut.

IstilahApa yang menyediakan kodeApa yang dibutuhkan pengguna
OTPKategori umum, tidak tergantung metode pembuatanBergantung pada metode yang dipilih
HOTPKunci rahasia bersama dan penghitung yang bertambahToken atau aplikasi yang sudah didaftarkan
TOTPKunci rahasia bersama dan interval waktu saat iniAutentikator yang sudah didaftarkan dengan jam yang berfungsi

RFC 4226 mendefinisikan kunci rahasia bersama dan penghitung HOTP. RFC 6238 menggunakan waktu sebagai pengganti penghitung tersebut untuk TOTP.

Autentikator dan verifier memerlukan rahasia yang sama untuk menghitung kode yang cocok. Lindungi rahasia tersebut selama pendaftaran dan penyimpanan, karena memilikinya memungkinkan pembuatan kode.

Bagaimana HOTP mengubah kodenya?

Token menambah penghitung saat menghasilkan kode. Verifier menambah statusnya yang sesuai setelah menerima kode yang diharapkan.

Kode HOTP tidak kedaluwarsa hanya karena waktu berlalu. Menghasilkan kode tanpa mengirimkannya dapat membuat token lebih maju dari verifier.

Sediakan sinkronisasi ulang penghitung yang diwajibkan oleh spesifikasi HOTP. Batasi pencarian nilai penghitung berikutnya, karena menerima lebih banyak kandidat meningkatkan peluang untuk menebak.

Batasi percobaan autentikasi yang gagal selama proses tersebut. Sinkronisasi ulang tidak boleh menjadi jalur menuju tebakan tanpa batas.

Bagaimana TOTP mengubah kodenya?

TOTP menghasilkan kode dari kunci rahasia bersama dan interval waktu saat ini, bahkan ketika tidak ada yang meminta kode baru.

RFC 6238 merekomendasikan langkah waktu 30 detik. Kode yang ditampilkan berubah saat jam melewati interval berikutnya.

Kode yang dimasukkan mendekati akhir interval bisa sampai ke verifier pada interval berikutnya. Izinkan jeda yang dibatasi agar pewaktuan entri yang wajar tidak menyebabkan kegagalan yang tidak perlu.

RFC merekomendasikan paling banyak satu langkah untuk jeda jaringan. Rekomendasi tersebut berkaitan dengan jeda transmisi; bukan batas universal untuk semua sinkronisasi ulang jam.

Jaga agar jam perangkat dan server tetap selaras. Jendela penerimaan yang lebar mengakomodasi lebih banyak penyimpangan. Namun juga menerima lebih banyak kode kandidat.

Tolak kode yang sudah pernah diterima meskipun masih dalam interval waktunya. Pergantian jam di kemudian waktu tidak dengan sendirinya menjamin penggunaan sekali pakai.

Apakah kode verifikasi yang dikirim oleh Bird termasuk TOTP?

Tidak. Bird Verify menghasilkan kode verifikasi acak dan mengirimkannya melalui saluran yang dipilih.

Penerima tidak perlu mendaftarkan kunci rahasia autentikator bersama untuk menerima kode tersebut. Validitasnya mengikuti kedaluwarsa dan kebijakan percobaan verifikasi, bukan penghitung atau interval jam autentikator.

Pilih panjang kode, kedaluwarsa, dan batas percobaan untuk alur verifikasi. Ukur interval pengiriman dan penyelesaian ketika penerima melaporkan keterlambatan.

HOTP dan TOTP menghasilkan kode secara lokal setelah pendaftaran, sehingga tidak perlu menunggu pesan saat masuk. Pemulihan keduanya perlu memperhitungkan autentikator atau kunci rahasia bersama yang hilang.

Metode mana yang harus saya pilih?

  1. Gunakan kode verifikasi yang dikirim ketika alur perlu memverifikasi akses ke nomor atau alamat yang dapat dijangkau.
  2. Gunakan TOTP ketika pengguna dapat mendaftarkan dan mempertahankan autentikator dengan jam yang andal.
  3. Gunakan HOTP ketika token tidak dapat mengandalkan waktu dan Anda dapat menjaga sinkronisasi penghitung.
  4. Untuk setiap metode, batasi tebakan, terapkan penggunaan sekali pakai, dan tentukan pemulihan akun sebelum peluncuran.

Singkatnya

  1. OTP adalah kategorinya.

    HOTP dan TOTP adalah cara menghasilkan kode sekali pakai. Server juga dapat menghasilkan dan mengirimkan kode verifikasi acak.

  2. HOTP mengikuti penghitung.

    Menghasilkan kode yang tidak digunakan dapat membuat perangkat lebih maju dari verifier. Sediakan cara yang dibatasi untuk menyinkronkan ulang keduanya.

  3. TOTP mengikuti jam.

    Langkah waktu yang direkomendasikan adalah 30 detik. Perhitungkan jeda entri tanpa membuat jendela penerimaan terlalu lebar.

  4. Pilih model pendaftaran dan pemulihan.

    Kode autentikator memerlukan kunci rahasia bersama yang sudah didaftarkan sebelumnya. Kode yang dikirim memerlukan saluran pengiriman yang berfungsi.

Bangun di jaringan yang sama.

Kunci API uji coba langsung tersedia untuk Anda. Akses produksi terbuka saat Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Mulai dengan satu channel.
Tambahkan yang lain saat Anda siap.

API key uji coba langsung tersedia untuk Anda. Akses produksi terbuka setelah Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Menggunakan Claude Code, Cursor, atau Codex? Salin prompt pengaturan dan agen Anda akan menginstal Bird CLI dan skill untuk Anda. Pilih milik Anda:

Cursor