TOTP
Time-based One-Time Password (RFC 6238): een code van 6 cijfers, afgeleid van een gedeeld geheim en de huidige tijd (venster van 30 seconden).
Bouwt voort op HOTP: HMAC-SHA1(geheim, floor(unix_time / 30)), afgekapt tot 6 cijfers. Het geheim wordt gedeeld via een QR-code met otpauth://totp/...?secret=.... Werkt offline; alleen de klok van de telefoon moet gelijklopen met die van de server.
Beter dan sms-2FA (SIM-swap), slechter dan passkeys/FIDO2 (phishbaar: een gebruiker is te verleiden de code op een nepsite in te typen). Drijft Google Authenticator, Authy, 1Password en Bitwarden aan. De standaard 2FA-methode totdat passkeys het overnemen.