Zurück zum Blog Qualität und Vertrauen

Circuit Breaker für SMS-OTP: Schwellenwerte, Zustände und sichere Wiederherstellung

Operativer Leitfaden, um den Versand von SMS-OTPs bei nachlassender Akzeptanz, problematischen Zustellstatus oder steigender Latenz reversibel zu begrenzen, ohne legitime Nutzer auszusperren.

Operatives Dashboard mit den Zuständen eines Circuit Breakers für SMS-OTPs

Welches Problem ein Circuit Breaker in SMS-OTP-Flüssen löst

Ein Circuit Breaker für SMS-OTPs ist eine operative Steuerung, die Sendungen vorübergehend reduziert oder verändert, wenn in einem bestimmten Segment Anzeichen einer Verschlechterung auftreten. Sein Zweck besteht darin, die Kontinuität des Authentifizierungsflusses zu schützen, die Auswirkungen einer betroffenen Route oder eines betroffenen Ziels zu begrenzen und zu verhindern, dass ein Vorfall Wiederholungsversuche, Duplikate und Code-Abläufe verstärkt.

Er ersetzt nicht die Sicherheitskontrollen des OTP. Die Begrenzung von Codevalidierungsversuchen, die Gültigkeitsdauer des Geheimnisses, die Einmalverwendung und Schutzmaßnahmen gegen Missbrauch sind separate Kontrollen. Der Circuit Breaker wirkt auf die Entscheidung, Nachrichtenanfragen zu senden oder zu verarbeiten; er darf Authentifizierungslimits nicht allein deshalb zurücksetzen, weil ein neuer Code ausgegeben wird.

In einem Out-of-Band-Fluss über SMS wird das kurzlebige Geheimnis für einen Authentifizierungsvorgang erzeugt und über einen sekundären Kanal übertragen. Ein Zustellproblem kann daher verhindern, dass eine legitime Authentifizierung abgeschlossen wird. Die Lösung besteht jedoch nicht zwangsläufig darin, den gesamten Verkehr anzuhalten. Das betroffene Segment sollte isoliert und eine verhältnismäßige Reaktion angewendet werden.

  • Ziel: den Wirkungsbereich einer Verschlechterung begrenzen.
  • Umfang: Entscheidungen über Versand, Warteschlange, Durchsatz, Route oder erlaubten alternativen Authenticator.
  • Nicht: ein Betrugsnachweis, ein Ersatz für das Rate Limiting bei der Verifizierung oder eine Zustellgarantie.
  • Operatives Prinzip: reversible, segmentierte und auditierbare Entscheidungen.
Welches Problem ein Circuit Breaker in SMS-OTP-Flüssen löst

Warum mehr negative DLRs nicht ausreichen, um Sendungen automatisch zu blockieren

Ein Identifier, der bei der Übergabe einer Nachricht an eine API, einen Provider oder ein SMSC zurückgegeben wird, bestätigt die Annahme dieser Übergabe gemäß Protokoll oder Integration. Er bestätigt nicht, dass das Telefon das OTP erhalten hat. Die Zustellung ist eine nachgelagerte Phase und muss anhand der verfügbaren Status separat beobachtet werden.

Ebenso sollte nicht jeder negative DLR als ausreichender Grund angesehen werden, einen globalen Circuit Breaker zu öffnen. In SMPP gibt es Zwischenstatus wie ENROUTE und Endstatus wie DELIVERED, EXPIRED, DELETED oder UNDELIVERABLE. Eine Nachricht mit Zwischenstatus kann noch verarbeitet oder erneut versucht werden, bevor sie einen Endstatus erreicht.

Auch das Ausbleiben eines DLR bedeutet nicht automatisch, dass keine Zustellung erfolgt ist. Die Rückgabe von Zustellbestätigungen hängt von der Konfiguration von registered_delivery und von der Implementierung des Nachrichtencenters oder Providers ab. Eine belastbare Richtlinie definiert, welches Ausbleiben eines Endstatus über welchen Zeitraum und für welche Kohorten relevant ist, anstatt jedes Schweigen als Fehler zu werten.

  • Annahme der Sendung, Zustellstatus und erfolgreiche OTP-Validierung getrennt betrachten.
  • ENROUTE als Zwischenstatus und nicht als Endergebnis klassifizieren.
  • Negative DLRs im Kontext von Volumen, Zeit, Ziel und Route bewerten.
  • Fehlende DLRs als Unsicherheit der Beobachtbarkeit behandeln, nicht als Beweis fehlender Zustellung.
  • Nicht annehmen, dass ein DLR mit DELIVERED unabhängig den Empfang oder das Lesen durch den Nutzer beweist.
Warum mehr negative DLRs nicht ausreichen, um Sendungen automatisch zu blockieren

Signale, die getrennt betrachtet werden sollten

Der Circuit Breaker sollte nicht mit einer einzigen vermischten Kennzahl gespeist werden. Jedes Signal beschreibt eine andere Phase und kann eine andere Maßnahme erfordern. Werden beispielsweise API-Fehler mit verspäteten DLRs kombiniert, kann verschleiert werden, ob der Vorfall in der Integration, vor der Annahme, in der Beobachtbarkeit von Status oder auf einer Zustellroute liegt.

Definieren Sie normalisierte Ereignisse und eine stabile Taxonomie, bevor Sie Schwellenwerte festlegen. Der Nutzen des Mechanismus hängt davon ab, dass dieselbe Bedingung stets zur gleichen Klassifizierung führt – auch wenn sich das Bereitschaftsteam oder die Implementierung einer Route ändert.

  • Integrations- oder Transportfehler: Authentifizierungsfehler, Verbindungsprobleme, Timeouts und Protokollfehler zwischen Anwendung und Sendepunkt.
  • Vorherige Ablehnungen: Anfragen, die von der Sende-Schnittstelle nicht angenommen werden. Sie müssen von angenommenen Nachrichten unterschieden werden, die später keinen günstigen Endstatus erreichen.
  • Negative Endstatus: endgültige Ergebnisse, die später für angenommene Nachrichten gemeldet werden.
  • Zwischenstatus: Nachrichten, die noch in Bearbeitung sind; sie dürfen nicht pauschal zu den endgültigen Fehlern gezählt werden.
  • Latenz: Zeit von der akzeptierten Übergabe bis zum verfügbaren Endstatus, nach Kohorte analysiert.
  • Fehlender Endstatus: Nachrichten ohne Endstatus innerhalb der in der Richtlinie definierten Frist.
  • Wiederholungsverhalten: wiederholte Anfragen, mögliche Duplikate, neu ausgegebene OTPs und nachfolgende Validierungen.

Drei-Zustands-Modell: geschlossen, offen und kontrollierter Wiederherstellungstest

Das einfachste und nachvollziehbarste Modell verwendet drei Zustände. Im geschlossenen Zustand arbeitet das Segment gemäß der normalen Richtlinie, während Signale beobachtet werden. Im offenen Zustand wird die für dieses Segment definierte Schutzmaßnahme angewendet. Im kontrollierten Wiederherstellungstest wird ein begrenzter und ausdrücklich gesteuerter Anteil des Verkehrs freigegeben, um zu prüfen, ob die Verschlechterung beendet ist.

Es gibt keinen universellen Prozentsatz, keine universelle Dauer und keine universelle Fehlerrate für alle Ziele. Diese Werte müssen von dem zuständigen Team als Richtlinienparameter genehmigt und an Volumen, OTP-Gültigkeit, verfügbare Alternativen und das Risiko einer Beeinträchtigung legitimer Nutzer angepasst werden.

Der Übergang sollte deterministisch sein. Legen Sie fest, welche Signale den Circuit Breaker öffnen, wie lange er zunächst offen bleibt, wann er in den Testmodus wechseln darf und unter welcher Bedingung er wieder geöffnet wird. Vermeiden Sie manuelle Änderungen ohne Protokollierung, da sonst nicht nachvollzogen werden kann, warum eine Entscheidung getroffen wurde.

  • Geschlossen: normaler Versand und Erfassung von Signalen je Segment.
  • Offen: Pause, Begrenzung, bedingte Warteschlange oder erlaubte Alternative gemäß Richtlinie.
  • Kontrollierter Test: begrenzte, überwachte Freigabe vor der Wiederherstellung des Normalbetriebs.
  • Wiedereröffnung: sofortige Rückkehr in den offenen Zustand, wenn die definierten Signale erneut auftreten.
  • Schließen: Wiederherstellung erst nach Erfüllung der Stabilitätskriterien und bei ausreichendem Volumen.

Schwellenwerte mit Mindestvolumen, Zeitfenster und Segmentierung definieren

Berechnen Sie Schwellenwerte für kohärente operative Kohorten. Segmentieren Sie mindestens nach Land oder Nummerierungsplan. Wenn die Telemetrie zuverlässig ist, ergänzen Sie Zielnetzbetreiber und Route. Ein globaler Durchschnitt kann eine lokale Verschlechterung verdecken oder umgekehrt wegen des Verhaltens eines kleinen Verkehrsanteils eine weitreichende Blockierung auslösen.

Jeder Schwellenwert sollte drei Elemente enthalten: ein Zeitfenster, ein Mindestvolumen an Beobachtungen und eine Bedingung für Verschlechterung. Ohne Mindestvolumen kann eine kleine Stichprobe eine extreme und instabile Rate erzeugen. Ohne Zeitfenster kann ein altes Ereignis zu lange Einfluss haben oder ein kurzer Ausschlag eine Überreaktion verursachen.

Halten Sie Schwellenwerte für Integration, Ablehnung, Endergebnis, Latenz und fehlenden Endstatus getrennt. Ebenso ist eine Richtlinie für neue oder volumenarme Segmente sinnvoll: Statt eine abschließende Rate abzuleiten, kann eine operative Prüfung verlangt oder eine konservativere, reversible Maßnahme angewendet werden.

  • Empfohlenes Segment: Nummerierungsziel; bei zuverlässigen Daten um Betreiber und Route erweitern.
  • Zeitfenster: den genauen Berechnungszeitraum und die Aktualisierungsmethode angeben.
  • Mindestvolumen: Öffnungsraten erst bewerten, wenn das genehmigte Minimum erreicht wurde.
  • Bedingung: festlegen, welche Kombination aus Signal, Anteil und Persistenz den Übergang auslöst.
  • Ausschlüsse: Wartungen, geplante Änderungen oder Instrumentierungsereignisse dokumentieren, welche die Auswertung ungültig machen.
  • Versionierung: jedem Schwellenwertsatz eine Version zuweisen und dessen Verlauf aufbewahren.

Welche Maßnahmen beim Öffnen des Circuit Breakers anzuwenden sind

Das Öffnen eines Circuit Breakers bedeutet nicht zwingend, jede Anfrage zu verwerfen. Die Maßnahme muss die Gültigkeitsdauer des OTP und die Auswirkungen auf den Nutzer berücksichtigen. Eine Warteschlange ist nur sinnvoll, wenn der Code weiterhin gültig sein wird und die Verzögerung die Person nicht dazu veranlasst, wiederholt neue Nachrichten anzufordern. Hat die alte Anfrage keinen Nutzen mehr, sollte sie nicht reaktiviert werden.

Alternative Authentifizierungsmethoden müssen vor einem Vorfall aktiviert und genehmigt sein. Improvisieren Sie keinen alternativen Kanal, dessen Nutzung von der Authentifizierungsrichtlinie nicht erlaubt ist. Insbesondere darf E-Mail laut NIST nicht für Out-of-Band-Authentifizierung verwendet werden, auch wenn sie gemäß eigener Richtlinie andere Zwecke erfüllen kann, etwa die Bestätigung einer Adresse oder die Kontowiederherstellung.

Die Entscheidung kann je nach Schweregrad unterschiedlich ausfallen. Ein vollständiger Integrationsausfall kann eine sofortige Pause im betroffenen Umfang erfordern. Ein Anstieg der Latenz oder der DLR-Unsicherheit kann eine Durchsatzbegrenzung oder Tests autorisierter Routen rechtfertigen, sofern die Organisation über diese Optionen verfügt und deren Ergebnisse beobachten kann.

  • Neue Sendungen für das betroffene Segment pausieren.
  • Den Durchsatz begrenzen, um die Verstärkung einer Verschlechterung zu reduzieren.
  • Nur Anfragen in die Warteschlange stellen, die innerhalb der nutzbaren OTP-Gültigkeitsdauer abgeschlossen werden können.
  • Gemäß einer vorab genehmigten Richtlinie auf eine verfügbare Alternative oder Route umleiten.
  • Dem Nutzer eine bereits erlaubte und konfigurierte alternative Authentifizierungsmethode anbieten.
  • Verbrauchte OTPs nicht wiederverwenden und alte Anfragen nicht wahllos reaktivieren.

Wie sich eine Sperrung legitimer Nutzer vermeiden lässt

Ein schlecht segmentierter Circuit Breaker kann eine lokale Verschlechterung in eine Zugriffsverweigerung für legitime Nutzer verwandeln. Um dieses Risiko zu senken, begrenzen Sie den anfänglichen Geltungsbereich, bevorzugen Sie reversible Maßnahmen und bewerten Sie die negativen Auswirkungen der Steuerung gemeinsam mit ihrer operativen Wirksamkeit.

Lassen Sie Wiederholungsanforderungen nicht zu einem unbegrenzten Ausweg werden. Wenn der Nutzer kein OTP erhält, können Wiederholungsversuche das Volumen erhöhen, Duplikate verursachen und Codes mit überlappender Gültigkeit erzeugen. Der Fluss benötigt klare Regeln, um Anfragen zuzuordnen, Authentifizierungslimits aufrechtzuerhalten und gemäß Richtlinie zu entscheiden, welches Geheimnis weiterhin gültig ist.

SMS/PSTN hat eigene Grenzen und Risiken, darunter Phishing, SIM-Wechsel, Rufnummernportierung und Dienstumleitung. Ein Circuit Breaker kann die Versandkontinuität verbessern, beseitigt diese Risiken jedoch nicht. Authentifizierungsentscheidungen müssen ihre Risikokontrollen und alternativen Authenticator unabhängig vom Zustellstatus beibehalten.

  • Den Circuit Breaker auf das engste Segment anwenden, das durch die Signale erklärt wird.
  • Abbrüche, Wiederholungsversuche und Verifizierungsfehler nach jeder Aktivierung messen.
  • Grenzen für fehlgeschlagene Authentifizierungsversuche nicht beim Ausgeben eines neuen Geheimnisses zurücksetzen.
  • Wiederherstellungswege und alternative Authenticator für Personen anbieten, die PSTN nicht nutzen können.
  • Ein Messaging-Problem von einem Betrugssignal oder einem Verifizierungsfehler unterscheiden.

Wiederherstellung gestalten: schrittweise Tests, Schließen und Rücksetzung

Die Wiederherstellung muss ebenso eindeutig sein wie das Öffnen. Nach der anfänglichen offenen Phase kann das System in einen kontrollierten Test wechseln, wenn die Anforderungen der Richtlinie erfüllt sind. Dieser Test sollte einen begrenzten Umfang, verstärkte Beobachtung und unmittelbare Abbruchkriterien haben, falls die Verschlechterungssignale erneut auftreten.

Schließen Sie den Circuit Breaker nicht allein deshalb, weil Zeit vergangen ist. Fordern Sie Nachweise in derselben betroffenen Kohorte: ausreichendes Volumen, erwartetes Annahmeverhalten, verfügbare Zustellergebnisse innerhalb der geltenden Frist und das Ausbleiben der Bedingung, die zur Öffnung geführt hat. Ist die DLR-Beobachtbarkeit unvollständig, darf eine Wiederherstellung der Zustellung nicht allein anhand fehlender Fehler erklärt werden.

Eine sichere Rücksetzung verhindert, dass ein schwankender Vorfall das System in eine schwer erklärbare Folge von Öffnungen und Schließungen versetzt. Behalten Sie eine anfängliche Offen-Dauer, Regeln für den Wiedereintritt in den Testmodus und eine klare Bedingung für die Wiedereröffnung bei. Protokollieren Sie jeden Übergang.

  • Nur anhand vorheriger und dokumentierter Kriterien in den Testmodus wechseln.
  • Begrenzten Verkehr in genau der Kohorte freigeben, die geprüft wird.
  • Dieselben Signale beobachten, welche die Öffnung ausgelöst haben, nicht nur eine günstige Kennzahl.
  • Erst nach der in der Richtlinie definierten Stabilität und ausreichendem Volumen schließen.
  • Wieder öffnen, wenn die Verschlechterungsbedingung erneut auftritt.
  • Die Konfiguration überprüfen, wenn der Circuit Breaker wiederholt schwankt.
FAQ

Häufige Fragen

Bestätigt ein erfolgreiches submit_sm_resp, dass der Nutzer das OTP erhalten hat?

Nein. Es bestätigt, dass das SMSC gemäß SMPP einen Identifier für die übergebene Nachricht zurückgegeben hat. Die Zustellung wird später, sofern verfügbar, über Statusereignisse gemeldet. Auch ein DLR sollte als Nachweis eines Messaging-Status und nicht als unabhängiger Beweis dafür interpretiert werden, dass der Nutzer die Nachricht gelesen hat.

Bedeutet das Ausbleiben eines DLR, dass die SMS nicht zugestellt wurde?

Nicht unbedingt. Die Rückgabe von Zustellbestätigungen hängt von registered_delivery und von der Implementierung des Nachrichtencenters oder Providers ab. Das Ausbleiben sollte als fehlender Endstatus innerhalb der in der Richtlinie definierten Frist klassifiziert werden, nicht als automatischer Beweis fehlender Zustellung.

Sollte ein globaler Circuit Breaker geöffnet werden, wenn negative DLRs zunehmen?

Nicht als automatische Regel. Bewerten Sie Mindestvolumen, Zeitfenster und die betroffene Kohorte. Segmentieren Sie mindestens nach Nummerierungsziel und, sofern die Informationen zuverlässig sind, nach Betreiber und Route. Ein globaler Durchschnitt kann das Problem verdecken oder unangemessen ausweiten.

Kann E-Mail als sofortige Alternative für Out-of-Band-Authentifizierung verwendet werden?

Laut NIST darf sie nicht für Out-of-Band-Authentifizierung verwendet werden. Alternativen müssen innerhalb der Authentifizierungsrichtlinie genehmigt, implementiert und bewertet sein, bevor eine Verschlechterung auftritt.

Was geschieht mit OTPs in der Warteschlange, wenn der Circuit Breaker geöffnet wird?

Sie sollten nur beibehalten werden, wenn sie innerhalb ihrer Gültigkeitsdauer noch nutzbar sind und die Richtlinie ihre Verarbeitung erlaubt. Alte Anfragen sollten nicht wahllos reaktiviert und verbrauchte Geheimnisse nicht wiederverwendet werden. OTPs müssen nur einmal nutzbar sein.

Was sollte bei jeder Zustandsänderung protokolliert werden?

Mindestens der Korrelations-Identifier, das betroffene Segment, der vorherige und der neue Zustand, die Signale und Quellen der Entscheidung, die Schwellenwertversion, die angewendete Maßnahme, die Verantwortlichen und das Ergebnis der Wiederherstellungstests.

Verwendete Quellen

  1. NIST SP 800-63B — autenticación fuera de banda y uso de PSTNNational Institute of Standards and Technology (NIST)
  2. SMPP Protocol Specification v3.4 — Appendix B, Delivery Receipt FormatSMPP Developers Forum
  3. SMPP Delivery Receipts — estados finales e intermediosSMPP Developers Forum
  4. TS 23.040 — Technical realization of the Short Message Service3GPP / ETSI
  5. ITU-T Recommendation E.164 — plan internacional de numeración públicaInternational Telecommunication Union (ITU)
  6. OWASP Authentication Cheat Sheet — registro y supervisión de autenticaciónOpen Worldwide Application Security Project (OWASP)