Missbrauchsschutz & Code-Sicherheit
In der VorschauDer Code ist ein Geheimnis. Wir behandeln ihn auch so.
Ein Einmalcode ist nur so gut wie die Art, wie er generiert, gespeichert und ratenbegrenzt wird. Bird Verify generiert Codes mit einer kryptografischen Quelle, speichert ausschließlich einen Hash, vergleicht in konstanter Zeit und begrenzt sowohl Versand als auch Rateversuche – so bringt ein geleaktes Log oder eine Brute-Force-Schleife einem Angreifer nichts. Fraud-Scoring baut als Nächstes darauf auf.
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();
Sicherheit, die standardmäßig aktiv ist – kein Add-on.
Jede Verifizierung über die Bird Verify API bietet denselben Schutz: Der Code wird serverseitig generiert, nie zurückgegeben und nur als Hash gespeichert; Prüfungen laufen in konstanter Zeit und gegen ein begrenztes Versuchsbudget; und der Versand wird pro Empfänger und pro Workspace begrenzt. Sie müssen nichts aktivieren oder verdrahten – so funktioniert die API, egal ob Sie sie als Zwei-Faktor-Login oder passwortlose Anmeldung einsetzen.
Fünf Schutzmaßnahmen bei jeder Verifizierung.
Kein Setup-Schritt, kein Add-on.
- 01
Kryptografische Generierung.
Codes werden aus einer kryptografischen Zufallsquelle erzeugt, gleichmäßig über den Code-Raum verteilt – kein vorhersagbarer Zähler oder Zeitstempel.
- 02
Gehasht gespeichert, niemals im Klartext ausgegeben.
Nur ein HMAC-SHA256 jedes Codes wird gespeichert; der Klartext wird nie von der API zurückgegeben und nie in Ihren Stack oder unsere Logs geschrieben.
- 03
Constant-Time-Vergleich.
Übermittelte Codes werden in konstanter Zeit verglichen, sodass ein Angreifer aus der Dauer einer Prüfung nichts ableiten kann.
- 04
Sperrung nach Fehlversuchen.
Jede Sitzung hat eine begrenzte Anzahl von Prüfungen (standardmäßig 5). Sind sie aufgebraucht, schlägt die Sitzung fehl – Raten kann nicht endlos weitergehen.
- 05
Sendelimits.
Ein Sendelimit pro Empfänger und eine Wartezeit zwischen erneutem Senden begrenzen die Kosten und die Angriffsfläche – jeweils mit einem 429 und Retry-After.
Rateversuche sind erschöpft, bevor Ihre Nutzer es sind.
Ein falscher Code wird als Ergebnis mit den verbleibenden Versuchen zurückgegeben, und die Sitzung schlägt fehl, sobald das Budget aufgebraucht ist – eine Brute-Force-Schleife läuft gegen eine Wand statt durch eine offene Tür.
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 }Demnächst: Betrugserkennung und SMS-Pumping-Schutz.
Die Versandhistorie, die Verify heute pro Versand aufzeichnet, ist die Grundlage für eine Fraud-Schicht, die wir gerade entwickeln. Sie nutzt dieselben Create- und Check-Aufrufe – eine spätere Einführung ist daher nur eine Konfigurationsänderung, keine Neuintegration.
Risikosignale beim Erstellen. Übergeben Sie Geräte-, IP- und Anfrageinformationen bei einer Verifizierung, und Hochrisikoversuche erhalten ein „blockiert"-Ergebnis, bevor überhaupt ein Code gesendet wird – so zahlen Sie nicht dafür, einem Angreifer eine Nachricht zu senden.
SMS-Pumping- und AIT-Schutz. Sendelimits pro Land und pro Vorwahl sowie eine Ausgabenobergrenze pro Workspace stoppen den Artificially-Inflated-Traffic-Angriff, bei dem OTPs an Premium-Nummernbereiche gesendet werden, um Carrier-Revenue-Shares zu generieren.
Aufgebaut auf dem, was bereits da ist. Die Risikobewertung nutzt die Versuchshistorie, die Verify vom ersten Tag an führt, und das „blockiert"-Ergebnis ist bereits Teil des Statusmodells – so fügt sich die Fraud-Schicht ein, ohne Ihre Integration umzubauen.
FAQ zur Verifizierungssicherheit
Wo wird der Einmalcode gespeichert?
Wie verhindern Sie das Brute-Forcing des Codes?
Was ist mit SMS-Pumping und künstlich aufgeblähtem Datenverkehr?
Kosten diese Schutzmaßnahmen extra?
Von wem sehen meine Nutzer den Code?
Der Rest der Verify-Plattform
Eine API, ein Schlüsselsatz. Entdecken Sie die weiteren Funktionen.
Codes werden so generiert, gespeichert und ratenlimitiert, wie es sein sollte.
Sicherheit ist in Bird Verify integriert, nicht aufgesetzt: Die Kanäle, der Code und die Limits sind dieselben zwei Endpunkte.