Zum Hauptinhalt springen

SMS-Verifizierung für MFA

Logto unterstützt SMS-basierte Multi-Faktor-Authentifizierung (MFA), die die Kontosicherheit erhöht, indem einmalige Verifizierungscodes an die registrierten Telefonnummern der Benutzer gesendet werden. SMS MFA dient als zweiter Authentifizierungsfaktor und kann mit anderen MFA-Faktoren (wie TOTP, Passkeys, Backup-Codes) kombiniert werden, um den Benutzern flexible Zwei-Faktor-Authentifizierungsoptionen zu bieten.

Konzepte

SMS-Verifizierung, auch als Telefonnummern-Verifizierung bezeichnet, ist eine der zugänglichsten MFA-Methoden. Sie nutzt die Allgegenwärtigkeit von Mobiltelefonen, um temporäre, einmalige Verifizierungscodes direkt per Textnachricht an die Geräte der Benutzer zu senden. Im Gegensatz zu App-basierten Authenticatoren, die zusätzliche Software erfordern, nutzt SMS MFA die bestehende Nachrichteninfrastruktur, die auf jedem Mobilgerät standardmäßig vorhanden ist, und ist somit sofort ohne weitere Einrichtung für Benutzer verfügbar.

SMS-Verifizierung für MFA konfigurieren

Schritt 1: SMS-Connector und Vorlagen konfigurieren

  1. Navigiere zu Konsole > Connectors > E-Mail- und SMS-Connectors
  2. Wähle einen passenden SMS-Connector (Twilio, SMS Aero, etc.)
  3. Konfiguriere die Verbindungsparameter.
  4. Richte die SMS-Vorlage für MFA mit den entsprechenden Verwendungsarten ein.
    • MfaVerification usageType für die Verifizierung von MFA.
    • BindMFA usageType für das Binden von MFA.
  5. Teste die Connector-Funktionalität, um eine korrekte Nachrichtenübermittlung sicherzustellen.
  6. Siehe SMS-Connectors für anbieter-spezifische Einrichtungshinweise.

Schritt 2: SMS für MFA aktivieren

  1. Navigiere zu Konsole > Multi-Faktor-Authentifizierung
  2. Aktiviere den Faktor „SMS-Verifizierungscode“. Es wird empfohlen, SMS MFA in Kombination mit anderen MFA-Faktoren (TOTP, Passkeys, Backup-Codes) zu verwenden, um die Abhängigkeit von einem einzelnen Faktor zu reduzieren.
  3. Konfiguriere deine bevorzugte MFA-Richtlinie (erforderlich vs. optional).
  4. Speichere deine Konfigurationsänderungen.
Wichtige Nutzungshinweise:
  1. Beschränkung der Anmeldemethode: SMS-Verifizierungscodes können nicht gleichzeitig als Anmeldemethode (1FA) und als MFA-Faktor (2FA) verwendet werden. Wähle einen Authentifizierungsablauf pro SMS-Implementierung.

  2. Kompatibilität der Registrierungs-Methode: SMS-Verifizierungscodes können gleichzeitig sowohl für die Registrierungs-Methode als auch für MFA verwendet werden. Logto optimiert den Registrierungsablauf für Endbenutzer basierend auf deiner gewählten MFA-Richtlinie, um zu vermeiden, dass für dieselbe Telefonnummer zweimal eine SMS-Verifizierung erforderlich ist.

  3. Kompatibilität mit Passwort-Wiederherstellung: Während SMS-Verifizierungscodes gleichzeitig für Passwort vergessen und MFA verwendet werden können, wird diese Kombination nicht empfohlen. Diese Konfiguration verringert die Sicherheit der MFA, da Benutzer MFA umgehen könnten, indem sie die Passwort-vergessen-SMS-Verifizierung nutzen, um ihr Passwort zurückzusetzen, dann das neue Passwort für die primäre Authentifizierung (1FA) verwenden und anschließend dieselbe SMS-Methode für die MFA-Verifizierung nutzen.

SMS MFA-Einrichtungsabläufe

Die MFA-Einrichtungsaufforderung kann während der Benutzerregistrierung oder nach der Anmeldung erscheinen, abhängig von deiner konfigurierten MFA-Richtlinie. Benutzer können SMS MFA auch über ihre Kontoeinstellungen aktivieren.

Der SMS MFA-Einrichtungsablauf wird durch folgende Faktoren beeinflusst:

  • Anzahl der primären MFA-Faktoren: Gibt es mehrere primäre Faktoren, muss der Benutzer einen zur Konfiguration auswählen. Primäre Faktoren sind MFA-Methoden außer Backup-Codes.
  • Backup-Codes aktiviert: Wenn aktiviert, werden Backup-Codes automatisch nach der Konfiguration des primären MFA-Faktors generiert; der Benutzer wird aufgefordert, sie zu speichern.
  • Konfiguration des Registrierungs-Identifiers: Wurde die Telefonnummer als Registrierungs-Identifier verwendet und der Benutzer hat sie während der Registrierung bereits per SMS-Code verifiziert, bindet das System diese Nummer automatisch als MFA-Faktor und es ist keine weitere Verifizierung erforderlich. Gibt es weitere primäre Faktoren, zeigt die UI eine Option „Weitere 2-Schritt-Verifizierung hinzufügen“ an (der Benutzer kann dies überspringen), was auch klar signalisiert, dass MFA aktiviert ist.
  • Vorhandene Benutzerdaten: Wenn ein bestehender Benutzer MFA nach der Anmeldung einrichtet, muss er zunächst die primäre Authentifizierung abschließen und dann mit der MFA-Einrichtung fortfahren. Enthält das Konto bereits eine verifizierte primäre Telefonnummer, verhält sich die Einrichtung wie im Fall des Registrierungs-Identifiers oben.

Nachfolgend drei typische Szenarien für das Binden von SMS MFA.

Szenario 1: Telefonnummer nur für MFA verwendet (Typischer Ablauf)

Wenn die Telefonnummer nicht als Registrierungs-Identifier verwendet wird und nur für MFA dient, folge der Standard-Einrichtungssequenz:

  • Gibt es nur einen SMS MFA-Faktor, wird die Einrichtungsoberfläche für diesen Faktor direkt angezeigt.
  • Gibt es mehrere primäre MFA-Faktoren, wird eine „MFA einrichten“-Liste angezeigt und der Benutzer kann wählen, welchen Faktor er konfigurieren möchte.

Beispiele:

Registrierung: E-Mail + E-Mail-Verifizierungscode + Passwort | MFA: SMS-Verifizierungscode + Backup-Codes

SMS MFA-Einrichtungsablauf 1-1

Registrierung: E-Mail + E-Mail-Verifizierungscode + Passwort | MFA: SMS-Verifizierungscode + Passkeys + Authenticator-App OTP + Backup-Codes

SMS MFA-Einrichtungsablauf 1-2

Szenario 2: Telefonnummer als Registrierungs-Identifier verifiziert

Ist die Telefonnummer der Registrierungs-Identifier und wurde sie vom Benutzer während der Registrierung bereits per SMS-Code verifiziert, bindet das System diese Nummer automatisch als MFA-Faktor — eine zusätzliche Verifizierung ist nicht erforderlich.

Beispiele:

Registrierung: Telefonnummer + SMS-Verifizierungscode + Passwort | MFA: SMS-Verifizierungscode + Backup-Codes

SMS MFA-Einrichtungsablauf 2

Szenario 3: Telefonnummer verifiziert, aber mehrere primäre Faktoren verfügbar

Wurde die Telefonnummer bei der Registrierung (als Registrierungs-Identifier) verifiziert, das Konto verfügt jedoch über mehrere primäre MFA-Faktoren (z. B. SMS plus Passkeys oder Authenticator-Apps), fordert die UI den Benutzer mit „Weitere 2-Schritt-Verifizierung hinzufügen“ auf. Der Benutzer kann einen weiteren Faktor hinzufügen oder überspringen; die Aufforderung signalisiert ebenfalls, dass MFA bereits aktiviert ist.

Beispiele:

Registrierung: Telefonnummer + SMS-Verifizierungscode + Passwort | MFA: SMS-Verifizierungscode + Passkeys + Authenticator-App OTP + Backup-Codes

SMS MFA-Einrichtungsablauf 3

SMS MFA-Verifizierungsabläufe

Wenn sich ein Benutzer mit aktiviertem SMS MFA anmeldet, wird er nach erfolgreicher primärer Authentifizierung (1FA) aufgefordert, seine Identität mit dem SMS-Verifizierungscode als zweitem Authentifizierungsfaktor (2FA) zu bestätigen.

Sind mehrere MFA-Faktoren verfügbar, können Benutzer aus ihren konfigurierten Faktoren wählen. Das System bestimmt, welcher MFA-Faktor zuerst abgefragt wird, basierend auf der in MFA konfigurieren festgelegten Prioritätsreihenfolge.

Beispiele:

Anmeldung: E-Mail-Adresse + Passwort | MFA: SMS-Verifizierungscode (zuletzt verwendet) / Authenticator-App OTP / Backup-Codes

SMS MFA-Verifizierungsablauf

Fehlerbehandlung

  1. Telefonnummer nicht gebunden

    • Fehlercode: session.mfa.mfa_factor_not_enabled
    • Behandlung: Benutzer anleiten, zuerst Telefonnummer zu binden
  2. Falscher Verifizierungscode

    • Fehlercode: verification_code.code_mismatch
    • Behandlung: Benutzer zur erneuten Eingabe auffordern, Anzahl der Versuche begrenzen
  3. Verifizierungscode abgelaufen

    • Fehlercode: verification_code.expired
    • Behandlung: Benutzer auffordern, neuen Verifizierungscode anzufordern
  4. Sende-Limit überschritten

    • Fehlercode: connector.rate_limit_exceeded
    • Behandlung: Wartezeit anzeigen, erneutes Senden begrenzen