Un mot de passe à usage unique (siglé OTP, de l'anglais one-time password) est un mot de passe qui n'est valable que pour une session ou une transaction. Les OTP permettent de combler certaines lacunes associées aux traditionnels mots de passe statiques, comme la vulnérabilité aux attaques par rejeu. Cela signifie que, si un intrus potentiel parvient à enregistrer un OTP qui était déjà utilisé pour se connecter à un service ou pour effectuer une opération, il ne sera pas en mesure de l'utiliser car il ne sera plus valide. En revanche, les OTP ne peuvent pas être mémorisés par les êtres humains, par conséquent, ils nécessitent des technologies complémentaires afin de s'en servir.
Comment les OTP sont générés et distribués
Se fondent sur le temps et un mot de passe fourni par le client (les TOTP ne sont valables que pour une courte période de temps)
Utilisent un algorithme mathématique pour générer un nouveau mot de passe basé sur le mot de passe précédent (les OTP forment une chaîne et doivent être utilisées dans un ordre prédéfini).
Utilisent un algorithme mathématique où le nouveau mot de passe est basé sur un défi (par exemple, un nombre aléatoire choisi par le serveur d'authentification ou les détails d'une opération) ou un compteur.
Il existe également différentes manières d'intégrer l'utilisateur dans le prochain OTP à utiliser :
Certains systèmes utilisent des jetons d'authentification électroniques qui génèrent des OTP en utilisant un petit écran ;
D'autres se composent d'un logiciel qui s'exécute sur le téléphone mobile de l'utilisateur ;
Il y a aussi des OTP générés du côté du serveur et envoyés à l'utilisateur en utilisant un canal de télécommunication (un message SMS la plupart du temps) ;
Enfin, dans certains systèmes, les OTP sont imprimés sur du papier que l'utilisateur est tenu de garder avec lui.
Voir aussi
FreeOTP (logiciel de génération de mots de passe à usage unique)