Zum Hauptinhalt springen

1.2. Background (Hintergrund)

1.2. Background (Hintergrund)

Wie in [RFC4226] definiert, basiert der HOTP-Algorithmus auf dem HMAC-SHA-1-Algorithmus (wie in [RFC2104] spezifiziert) und wird auf einen ansteigenden Zählerwert angewendet, der die Nachricht in der HMAC-Berechnung darstellt.

Grundsätzlich wird die Ausgabe der HMAC-SHA-1-Berechnung gekürzt, um benutzerfreundliche Werte zu erhalten:

HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))

wobei Truncate die Funktion darstellt, die einen HMAC-SHA-1-Wert in einen HOTP-Wert konvertieren kann. K und C repräsentieren das gemeinsame Geheimnis und den Zählerwert; siehe [RFC4226] für detaillierte Definitionen.

TOTP ist die zeitbasierte Variante dieses Algorithmus, bei der ein Wert T, der aus einer Zeitreferenz und einem Zeitschritt abgeleitet wird, den Zähler C in der HOTP-Berechnung ersetzt.

TOTP-Implementierungen KÖNNEN HMAC-SHA-256- oder HMAC-SHA-512-Funktionen verwenden, die auf SHA-256- oder SHA-512-Hash-Funktionen [SHA2] basieren, anstelle der HMAC-SHA-1-Funktion, die für die HOTP-Berechnung in [RFC4226] spezifiziert wurde.