Anti-penyalahgunaan & keamanan kode
Dalam pratinjauKode adalah rahasia. Kami memperlakukannya seperti itu.
Kode sekali pakai hanya sebaik cara ia dibuat, disimpan, dan dibatasi lajunya. Bird Verify membuat kode dari sumber kriptografis, menyimpan hanya hash-nya, membandingkan dalam constant time, dan membatasi pengiriman maupun tebakan — sehingga log yang bocor atau serangan brute-force tidak membawa penyerang ke mana-mana. Penilaian penipuan akan dibangun di atas dasar ini berikutnya.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();Keamanan yang aktif secara bawaan, bukan tambahan.
Setiap verifikasi pada Bird Verify API memiliki perlindungan yang sama: kode dibuat di sisi server, tidak pernah dikembalikan, dan disimpan hanya sebagai hash; pemeriksaan berjalan dalam constant time dan terhadap batas percobaan yang ditentukan; serta pengiriman dibatasi per penerima dan per workspace. Anda tidak perlu mengaktifkan atau mengonfigurasi ini — begitulah cara API bekerja, baik Anda menggunakannya sebagai login dua faktor maupun masuk tanpa kata sandi.
Lima perlindungan di setiap verifikasi.
Tanpa langkah pengaturan, tanpa SKU tambahan.
- 01
Pembuatan kriptografis.
Kode diambil dari sumber acak kriptografis, seragam di seluruh ruang kode, bukan penghitung atau timestamp yang dapat diprediksi.
- 02
Di-hash saat disimpan, tidak pernah dikirim keluar.
Hanya HMAC-SHA256 dari setiap kode yang disimpan; plaintext tidak pernah dikembalikan oleh API dan tidak pernah ditulis ke stack Anda maupun log kami.
- 03
Perbandingan constant-time.
Kode yang dikirimkan dibandingkan dalam constant time, sehingga penyerang tidak mendapat informasi apa pun dari berapa lama pemeriksaan berlangsung.
- 04
Penguncian percobaan.
Setiap sesi memiliki jumlah pemeriksaan yang terbatas (5 secara bawaan). Setelah habis, sesi gagal, sehingga tebakan tidak bisa berjalan selamanya.
- 05
Batas pengiriman dan kuota.
Batas pengiriman per penerima, jeda pengiriman ulang, dan kuota harian per workspace membatasi pengeluaran dan permukaan penyalahgunaan, masing-masing berupa 429 dengan Retry-After.
Tebakan habis sebelum pengguna Anda habis.
Kode yang salah dikembalikan sebagai hasil dengan sisa percobaan, dan sesi gagal setelah batas habis, sehingga serangan brute-force menabrak tembok, bukan pintu terbuka.
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: guess,
}).safe();
// wrong code, attempts left → { result: "invalid", attempts_remaining: 2 }
// budget spent, session done → { result: "failed", attempts_remaining: null }Segera hadir: sinyal penipuan dan perlindungan SMS-pumping.
Riwayat per pengiriman yang dicatat Verify saat ini adalah fondasi untuk lapisan penipuan yang sedang kami bangun. Lapisan ini menggunakan panggilan create dan check yang sama — jadi mengadopsinya nanti hanya perubahan konfigurasi, bukan integrasi ulang.
Sinyal risiko saat create. Kirimkan konteks perangkat, IP, dan permintaan pada verifikasi, dan percobaan berisiko tinggi mendapat hasil blocked sebelum kode dikirim — sehingga Anda tidak membayar untuk mengirim pesan ke penyerang.
Perlindungan SMS-pumping dan AIT. Batas pengiriman per negara dan per prefiks ditambah batas pengeluaran per workspace menutup serangan artificially-inflated-traffic yang mengarahkan OTP ke rentang nomor premium untuk bagi hasil operator.
Dibangun di atas yang sudah ada. Keputusan risiko membaca riwayat percobaan yang disimpan Verify sejak hari pertama, dan hasil blocked sudah menjadi bagian dari model status — sehingga lapisan penipuan hadir tanpa mengubah integrasi Anda.
FAQ keamanan verifikasi
Di mana kode sekali pakai disimpan?+
Bagaimana Anda mencegah seseorang melakukan brute-force pada kode?+
Bagaimana dengan SMS pumping dan artificially inflated traffic?+
Apakah perlindungan ini dikenakan biaya tambahan?+
Pengguna saya melihat kode dari siapa?+
Platform Verify lainnya
Satu API, satu set kunci. Jelajahi kemampuan lainnya.
Kode yang dibuat, disimpan, dan dibatasi lajunya sebagaimana seharusnya.
Keamanan sudah tertanam dalam Bird Verify, bukan dijual terpisah: kanal, kode, dan batasannya ada dalam dua endpoint yang sama.