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 Telefonnummernverifizierung bezeichnet, ist eine der zugänglichsten MFA-Methoden. Sie nutzt die Allgegenwärtigkeit von Mobiltelefonen, um temporäre, einmalige Verifizierungscodes direkt an die Geräte der Benutzer per SMS zu senden. Im Gegensatz zu App-basierten Authenticatoren, die eine zusätzliche Softwareinstallation erfordern, verwendet SMS MFA die bestehende Nachrichteninfrastruktur, die bei jedem Mobilgerät standardmäßig vorhanden ist, und ist somit sofort ohne 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 geeigneten SMS-Connector (Twilio, SMS Aero, usw.)
  3. Konfiguriere die Verbindungsparameter.
  4. Richte die SMS-Vorlage für MFA mit den dedizierten Verwendungstypen ein.
    • MfaVerification usageType zum Verifizieren von MFA.
    • BindMFA usageType zum Binden von MFA.
  5. Teste die Connector-Funktionalität, um eine ordnungsgemäße Nachrichtenübermittlung sicherzustellen.
  6. Siehe SMS-Connectors für anbieter-spezifische Einrichtungsanweisungen.

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 der Passwort-Wiederherstellung: Während SMS-Verifizierungscodes gleichzeitig sowohl für Passwort vergessen als auch für MFA verwendet werden können, wird diese Kombination nicht empfohlen. Diese Konfiguration verringert die Sicherheit von MFA, da Benutzer MFA potenziell 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.

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 mit einem SMS-Verifizierungscode bestätigt, bindet das System diese Nummer automatisch als MFA-Faktor und es ist keine weitere Verifizierung erforderlich. Gibt es weitere primäre Faktoren, zeigt die Benutzeroberfläche 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 bestätigte primäre Telefonnummer, verhält sich die Einrichtung wie im Fall des Registrierungs-Identifiers oben.

Nachfolgend sind drei gängige SMS MFA-Bindungsszenarien aufgeführt.

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

Wenn die Telefonnummer nicht einer der Registrierungs-Identifier ist und nur für MFA verwendet wird, 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“-Listenansicht 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 bestätigt

Wenn die Telefonnummer der Registrierungs-Identifier ist und der Benutzer sie während der Registrierung bereits mit einem SMS-Code bestätigt hat, bindet das System diese Nummer automatisch als MFA-Faktor — keine zusätzliche Verifizierung ist erforderlich.

Beispiele:

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

SMS MFA-Einrichtungsablauf 2

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

Wurde die Telefonnummer bei der Registrierung (als Registrierungs-Identifier) bestätigt, das Konto verfügt jedoch über mehrere primäre MFA-Faktoren (z. B. SMS plus Passkeys oder Authenticator-Apps), fordert die Benutzeroberfläche den Benutzer mit „Weitere 2-Schritt-Verifizierung hinzufügen“ auf. Der Benutzer kann einen weiteren Faktor hinzufügen oder überspringen; die Aufforderung signalisiert auch, 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 aktivierter 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 Prioritätsreihenfolge, die in MFA konfigurieren festgelegt ist.

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, Versuchsanzahl 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