En détail
Un code TOTP se calcule en appliquant HMAC à un compteur égal à l'heure Unix actuelle divisée par la durée du pas (normalement 30 secondes), avec une clé secrète partagée une seule fois lors du scan d'un QR code. Les applications d'authentification et le site web exécutent le même calcul : aucun message n'a besoin de circuler entre eux. La méthode est normalisée dans la RFC 6238 et constitue une variante temporelle de HOTP.
Pourquoi c'est important
Le TOTP est la deuxième étape la plus courante de l'Authentification multifacteur (MFA). Il protège un compte même quand le mot de passe fuite, car l'attaquant a aussi besoin d'un code issu de votre appareil. Comme les codes dépendent de l'horloge, un appareil réglé sur la mauvaise heure produira des codes que le serveur rejette.
Exemple
Avec le secret de test de la RFC 12345678901234567890, le code à 8 chiffres à la seconde 59 est 94287082, donc le code à 6 chiffres est 287082. Vous pouvez le reproduire avec le générateur TOTP.
Confusion fréquente
Le TOTP n'est pas la même chose qu'un code par SMS. Un code SMS vous est envoyé par le réseau téléphonique, alors qu'un code TOTP est calculé localement. Aucun des deux ne résiste à l'hameçonnage comme une clé de sécurité matérielle.