Google Authenticator unterschied zeitbasiert und zählerbasiert?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Zeitbasiert: Geheimnis + Uhrzeit = Code (TOTP)

Zählerbasiert: Geheimnis + interner Zähler = Code (HOTP)

Der Server muss dann auch den Wert des Zählers speichern, der wird nach jedem Login erhöht. In Klammern die Protokollabkürzungen, die findest du auch in Wikipedia.


Roal3 
Fragesteller
 22.12.2023, 11:12

HOPT verstehe ich nicht.

0
Pinguingottin  22.12.2023, 15:58
@Roal3

Beim Zähler hast du das Problem wenn du Code 1 und 2 hast kannst du Code 3 berechnen, sollte es dazu kommen und ist halt "einfacher zu erraten" als ein Code der sich alle 30sec anhand der Zeit ändert.

0
iQa1x  22.12.2023, 20:17
@Pinguingottin

Nein, das ist ne krypographische Hashfunktion, du kannst vom Code nicht auf das interne Geheimnis zurückrechnen.

0
Pinguingottin  22.12.2023, 21:31
@iQa1x

habe es vielleicht ungenau formuliert.

Ich bezog mich auf replay Angriffe hier

0
iQa1x  22.12.2023, 22:02
@Pinguingottin

Wichtigstes Element ist das interne Geheimnis, was beim Einrichten des Authentifikator per QR Code übertragen wird. Jeder, der diesen Einrichtungs-Code besitzt, kann gültige OTP-Codes erzeugen. Daher sollte man sich auch überlegen, ob man Google verwendet (der den Kram ggf. in der Cloud sichert) oder lieber FreeOTP o.Ä. (es gibt she viele Apps), die dieses Geheimnis nicht exportieren können sondern nur im sicheren Speicher des Handy ablegen.

Aus den OTP-Codes selbst kann man nicht auf die das Geheimnis, die Uhrzeit oder den Zähler zurückrechnen, da das eben eine Einwegfunktion ist, die nicht umkehrbar ist. Werfe mal Hashfunktion uder direkt SHA-2 in Wikipedia. Der wirft also Geheimnis und Uhrzeit in die Hashfunktion und bekommt einen OTP-Code. Der Server macht das Gleiche und vergleicht dann den eingegebenen Code.

1
Roal3 
Fragesteller
 23.12.2023, 06:50
@iQa1x

Verstehe es nicht, zu komplex

0