Zwei-Faktor-Authentifizierung (2FA) oder allgemein Mehr-Faktor-Authentifizierung (MFA) hat in den letzten Jahren stark an Bekanntheit und Bedeutung zugenommen. In diesem Beiträge möchte ich mich auf das Time-based One-time Password (TOTP) Verfahren beschränken, dass wohl bekannteste Verfahren, welches in unzähligen Anwendungen Einzug gehalten hat. Das TOTP Verfahren wird beispielsweise von der 2FA Google Authenticator App verwendet. Viele werden es auch von den kleinen Hardware-Token kennen, welche alle 60 Sekunden ein neues Einmalpasswort generieren und anzeigen.
2FA: Wie funktioniert das TOTP Verfahren?
Das TOTP Verfahren wurde 2011 im Rahmen der Internet Engineering Task Force (IETF) als RFC 6238 veröffentlicht. Beim TOTP Algorithmus handelt es sich um eine Hashfunktion, in welcher ein geheimes Passwort zusammen mit der aktuellen Uhrzeit gehasht wird.
Hinter steckt der HMAC-based One-time Password Algorithmus nach RFC 4226 - vereinfacht gesagt nichts weiter als ein Standard, der auf bestimmte Weise einen Hash bildet.