Verify

Berapa lama OTP sebaiknya berlaku, dan berapa digit yang diperlukan?

Gunakan enam digit acak atau lebih, terima kode verifikasi hanya sekali, dan kedaluwarsakan dalam sepuluh menit sambil membatasi tebakan.

Kode verifikasi harus bertahan cukup lama untuk sampai dan diketik, sekaligus membatasi peluang menebak atau menggunakannya kembali. Ukur alur verifikasi secara lengkap sebelum memilih durasinya.

Berapa lama kode verifikasi sebaiknya tetap valid?

Berikan waktu tidak lebih dari sepuluh menit untuk kode autentikasi yang dikirim, termasuk pengiriman dan pengetikan.

Panduan autentikasi NIST menetapkan batas maksimum tersebut untuk autentikasi melalui saluran terpisah. Panduan ini juga mengharuskan server menerima kode hanya sekali, mencegah penggunaan ulang setelah autentikasi berhasil.

Tandai kode sebagai telah digunakan saat berhasil. Tolak pengiriman ulang kode tersebut meskipun belum kedaluwarsa.

Sepuluh menit adalah batas maksimum, bukan durasi yang disarankan. Pilih jendela lebih pendek jika hasil pengukuran pengiriman dan pengetikan Anda mendukungnya.

Kode yang membutuhkan empat puluh detik untuk sampai menyisakan sembilan menit dua puluh detik dalam jendela sepuluh menit. Sertakan waktu membaca dan mengetik saat menggunakan hasil pengukuran waktu tiba Anda.

Kode yang dihasilkan aplikasi autentikator mengikuti model waktu yang berbeda. Gunakan aturan TOTP atau HOTP yang sesuai jika aplikasi menghasilkan kode secara lokal.

Berapa digit yang diperlukan?

Gunakan minimal enam digit yang dihasilkan secara acak. Tetapkan batas percobaan tebakan gagal.

NIST mengharuskan minimal enam digit desimal dari generator acak yang disetujui untuk rahasia autentikasi yang dikirim. Penghitung atau stempel waktu yang dapat diprediksi tidak memenuhi persyaratan tersebut.

Enam digit acak menghasilkan satu juta kemungkinan kode. Lima tebakan berbeda memiliki lima peluang dalam satu juta, atau satu dalam dua ratus ribu.

Hitung percobaan gagal terhadap akun. NIST mengharuskan kode baru mempertahankan hitungan tersebut, sehingga pengiriman ulang tidak dapat menciptakan tebakan tanpa batas.

Batas percobaan juga memerlukan jalur pemulihan bagi pengguna sah yang menghabiskannya. Tentukan cara mereka mendapatkan kembali akses tanpa mereset batas tersebut bagi penyerang.

Haruskah saya menggunakan delapan digit?

Gunakan delapan digit jika probabilitas tebakan yang lebih kecil sebanding dengan dua digit tambahan yang harus diketik pengguna.

Delapan digit acak menghasilkan seratus juta kemungkinan kode. Dengan lima tebakan, peluangnya menjadi lima dalam seratus juta.

Itu seratus kali lebih rendah daripada lima tebakan terhadap enam digit. Pertahankan batas percobaan yang sama saat menambah panjang kode.

Kode yang lebih panjang tidak memperbaiki tebakan tanpa batas. Terapkan batas percobaan sebelum menganggap digit tambahan sebagai perlindungan yang memadai.

Apa yang dapat saya konfigurasi di Bird?

Atur kebijakan kode verifikasi workspace. Periksa pengaturan resolved yang dikembalikan untuk setiap verifikasi.

FieldYang harus dipilih
code_lengthBird menerima 4 hingga 8 karakter. Pilih minimal enam untuk kebijakan ini
code_typePeriksa set karakter yang dikembalikan, numeric atau alphanumeric
ttl_secondsBird menerima 1 hingga 59940 detik. Pertahankan jendela autentikasi pada 600 detik atau kurang
max_attemptsPilih 1 hingga 10 pengiriman salah sebelum verifikasi gagal
resend_cooldown_secondsPilih 0 hingga 3600 detik antara pengiriman ke penerima

Durasi yang diizinkan API melampaui rekomendasi autentikasi ini. Tetapkan nilainya secara sengaja alih-alih menganggap nilai maksimum yang diterima sebagai kedaluwarsa yang sesuai.

Permintaan verifikasi dapat menimpa code_length untuk verifikasi tersebut. Periksa kebijakan resolved-nya saat menyelidiki perilaku yang berbeda dari konfigurasi workspace.

Apa yang sebaiknya saya pilih?

  1. Mulai dengan enam digit acak dan batas percobaan kecil yang diterapkan ketat.
  2. Tentukan jendela validitas dari waktu pengiriman dan pengetikan yang terukur, dalam batas sepuluh menit.
  3. Gunakan delapan digit jika tindakan tersebut memerlukan probabilitas tebakan yang lebih kecil.
  4. Terapkan penggunaan sekali pakai dan pertahankan hitungan percobaan gagal saat menerbitkan kode baru.

Singkatnya

  1. Berikan waktu tidak lebih dari sepuluh menit.

    Pengiriman dan pengetikan sama-sama menghabiskan jendela validitas. Pilih durasi lebih pendek jika hasil pengukuran alur Anda mendukungnya.

  2. Gunakan minimal enam digit acak.

    Hitung tebakan gagal selain memilih panjang kode. Kode yang lebih panjang tidak menggantikan batas percobaan.

  3. Terima setiap kode hanya sekali.

    Tolak kode yang sudah pernah diterima meskipun jendela validitasnya belum berakhir.

  4. Pertahankan hitungan percobaan saat pengiriman ulang.

    Menerbitkan kode baru tidak boleh memberikan akun tersebut jatah tebakan baru.

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