Un OTP (one-time password, mot de passe à usage unique) est un code valable une seule fois, et généralement pour une courte durée. Il sert de facteur « je possède » : sa détention est censée prouver l'accès à un appareil ou à un canal déterminé. Il ne remplace pas un mot de passe, il s'y ajoute.
Génération et livraison : deux questions distinctes
La génération repose sur deux algorithmes normalisés : HOTP (RFC 4226), fondé sur un compteur incrémenté à chaque usage, et TOTP (RFC 6238), fondé sur l'horloge avec un pas de trente secondes le plus souvent.
La livraison est un sujet séparé, et c'est elle qui détermine le niveau de risque :
- application d'authentification : le code est calculé localement, rien ne transite ;
- SMS ou appel vocal : le code traverse le réseau opérateur, exposé au SIM swapping et aux détournements d'acheminement. Le NIST classe ce canal « restricted » dans la SP 800-63B ;
- courriel : la sécurité de l'OTP se réduit à celle de la boîte de réception.
La limite commune à tous les OTP
Un OTP est saisissable par un humain, donc communicable. Une page d'hameçonnage le demande et le relaie en quelques secondes ; un faux conseiller l'obtient par téléphone ; un proxy inverse le transmet sans que la victime remarque quoi que ce soit. Rien dans le code ne le lie au site qui le réclame, ni à l'opération qu'il est censé valider.
Aller plus loin : définition de TOTP · définition de HOTP · le SMS-OTP est-il encore sûr · l'authentification cognitive