TOTP (Time-based One-Time Password, RFC 6238) génère un mot de passe à usage unique dérivé de l'horloge. Le générateur et le serveur partagent une clé secrète ; le temps écoulé depuis une origine commune est divisé par un pas — trente secondes dans la plupart des implémentations — et le quotient sert de compteur à l'algorithme HOTP. Le code obtenu, à six chiffres le plus souvent, n'est valable que pendant sa fenêtre.
Dérive d'horloge et fenêtre de tolérance
TOTP est une spécialisation de HOTP : la seule différence tient à l'origine du compteur, le temps au lieu d'un compteur d'événements. La conséquence pratique est une exigence de synchronisation. Les serveurs acceptent en général la fenêtre précédente et la suivante pour absorber la dérive et la latence de saisie, ce qui allonge d'autant la durée de validité effective du code.
La clé secrète est transmise lors de l'enrôlement, souvent par un QR code. Ce moment est critique : si le secret initial fuite ou s'il est enregistré sur plusieurs appareils sans contrôle, le facteur « je possède » perd son sens, puisqu'il devient duplicable.
Ce que TOTP ne protège pas
Le code est saisi par l'utilisateur, donc transmissible. Rien ne le lie au site qui le demande. Une page d'hameçonnage ou un proxy inverse le relaie en quelques secondes, avant expiration ; un faux conseiller l'obtient par téléphone. TOTP améliore nettement la situation par rapport au SMS — pas de dépendance à l'opérateur, pas d'exposition au SIM swapping — mais il ne constitue pas une MFA résistante au phishing.
Aller plus loin : définition de HOTP · TOTP ou SMS-OTP : lequel choisir · TOTP face à l'AiTM · l'authentification cognitive