Verify

OTP vs TOTP vs HOTP: Was ist der Unterschied?

OTP bezeichnet einen Einmal-Bestätigungscode; HOTP erzeugt ihn aus einem Zähler, während TOTP ihn aus der Zeit erzeugt.

Eine Authenticator-App kann einen Code erzeugen, ohne eine Nachricht zu empfangen. Ein per SMS gesendeter Bestätigungscode kommt stattdessen über einen Zustellkanal an, daher unterscheiden sich Einrichtung und Fehlerbehandlung.

Was bedeutet jeder Begriff?

OTP beschreibt einen Code, der einmal akzeptiert wird. HOTP und TOTP beschreiben Algorithmen zur Erzeugung dieses Codes.

BegriffWas den Code liefertWas der Nutzer benötigt
OTPDie allgemeine Kategorie, unabhängig vom ErzeugungsverfahrenAbhängig vom gewählten Verfahren
HOTPEin geteiltes Geheimnis und ein fortlaufender ZählerEin registriertes Token oder eine Anwendung
TOTPEin geteiltes Geheimnis und das aktuelle ZeitintervallEin registrierter Authenticator mit funktionierender Uhr

RFC 4226 definiert das geteilte Geheimnis und den Zähler von HOTP. RFC 6238 verwendet für TOTP die Zeit anstelle dieses Zählers.

Der Authenticator und der Verifizierer benötigen dasselbe Geheimnis, um übereinstimmende Codes zu berechnen. Schützen Sie dieses Geheimnis bei der Registrierung und Speicherung, da sein Besitz die Codeerzeugung ermöglicht.

Wie ändert HOTP seinen Code?

Das Token erhöht einen Zähler, wenn es einen Code erzeugt. Der Verifizierer erhöht seinen entsprechenden Zustand nach Annahme des erwarteten Codes.

Ein HOTP-Code verfällt nicht allein durch Zeitablauf. Das Erzeugen von Codes ohne deren Übermittlung kann das Token dem Verifizierer vorausbringen.

Stellen Sie die von der Spezifikation von HOTP geforderte Zähler-Resynchronisierung bereit. Begrenzen Sie die Suche nach späteren Zählerwerten, da die Annahme weiterer Kandidaten die Ratemöglichkeit erhöht.

Beschränken Sie fehlgeschlagene Authentifizierungsversuche während dieses Vorgangs. Die Resynchronisierung darf kein Einfallstor für unbegrenzte Rateversuche werden.

Wie ändert TOTP seinen Code?

TOTP erzeugt einen Code aus dem geteilten Geheimnis und dem aktuellen Zeitintervall, auch wenn niemand einen neuen Code anfordert.

RFC 6238 empfiehlt einen 30-Sekunden-Zeitschritt. Der angezeigte Code wechselt, wenn die Uhr ins nächste Intervall übergeht.

Ein Code, der nahe dem Ende eines Intervalls eingegeben wird, kann den Verifizierer im folgenden Intervall erreichen. Erlauben Sie eine begrenzte Verzögerung, damit normales Eingabetiming keine unnötigen Fehler verursacht.

Der RFC empfiehlt höchstens einen Schritt für Netzwerkverzögerung. Diese Empfehlung betrifft die Übertragungsverzögerung; sie ist kein universelles Limit für jede Uhr-Resynchronisierung.

Halten Sie die Uhren von Gerät und Server synchron. Ein breites Akzeptanzfenster toleriert mehr Abweichung. Es akzeptiert aber auch mehr Codekandidaten.

Lehnen Sie einen bereits akzeptierten Code ab, auch innerhalb seines Zeitintervalls. Der spätere Uhrenwechsel erzwingt allein keine Einmalverwendung.

Ist ein per Bird gesendeter Bestätigungscode ein TOTP?

Nein. Bird Verify erzeugt einen zufälligen Bestätigungscode und stellt ihn über den gewählten Kanal zu.

Der Empfänger registriert kein geteiltes Authenticator-Geheimnis, um diesen Code zu erhalten. Seine Gültigkeit folgt der Ablaufzeit und der Versuchsrichtlinie der Verifizierung, nicht dem Zähler oder Zeitintervall eines Authenticators.

Wählen Sie Codelänge, Ablaufzeit und Versuchslimit für den Verifizierungsablauf. Messen Sie die Zustell- und Abschlussintervalle, wenn Empfänger Verzögerungen melden.

HOTP und TOTP erzeugen Codes nach der Registrierung lokal, sodass sie bei der Anmeldung nicht auf eine Nachricht warten. Ihre Wiederherstellung muss stattdessen den Verlust eines Authenticators oder geteilten Geheimnisses berücksichtigen.

Welche Methode sollte ich wählen?

  1. Verwenden Sie einen zugestellten Bestätigungscode, wenn der Ablauf den Zugang zu einer erreichbaren Nummer oder Adresse verifizieren muss.
  2. Verwenden Sie TOTP, wenn Nutzer einen Authenticator mit zuverlässiger Uhr registrieren und behalten können.
  3. Verwenden Sie HOTP, wenn das Token sich nicht auf die Zeit verlassen kann und Sie die Zählersynchronisierung aufrechterhalten können.
  4. Begrenzen Sie bei jeder Methode die Rateversuche, erzwingen Sie die Einmalverwendung und definieren Sie die Kontowiederherstellung vor dem Start.

In short

  1. OTP ist die Kategorie.

    HOTP und TOTP sind Verfahren zur Erzeugung von Einmalcodes. Ein Server kann auch einen zufälligen Bestätigungscode erzeugen und zustellen.

  2. HOTP folgt einem Zähler.

    Das Erzeugen ungenutzter Codes kann das Gerät dem Verifizierer vorausbringen. Stellen Sie einen begrenzten Weg zur Resynchronisierung bereit.

  3. TOTP folgt der Uhr.

    Der empfohlene Zeitschritt beträgt 30 Sekunden. Berücksichtigen Sie die Eingabeverzögerung, ohne das Akzeptanzfenster unnötig weit zu machen.

  4. Wählen Sie das Registrierungs- und Wiederherstellungsmodell.

    Authenticator-Codes erfordern ein zuvor geteiltes Geheimnis. Zugestellte Codes erfordern einen funktionierenden Zustellkanal.

Build on the same network.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor