Mot de passe à usage unique basé sur le tempsUn mot de passe à usage unique basé sur le temps (TOTP, Time based One Time Password en anglais) est un algorithme permettant de générer un mot de passe à usage unique. Il permet la génération d'une séquence de caractères valable seulement pendant un intervalle de temps limité afin d'utiliser un mécanisme de double authentification. C'est une extension du mot de passe à usage unique basé sur HMAC (HOTP), standardisée en dans la RFC 6238[1] par l'IETF. Contrairement à HOTP qui nécessite un compteur incrémental partagé entre les deux entités pour garantir l'utilisation unique, TOTP utilise l'heure et un secret partagé. Un intervalle de temps de validité est défini pour tolérer une désynchronisation des horloges. AlgorithmeL'algorithme de génération est utilisé symétriquement par les deux parties : le « prouveur » souhaitant se connecter et le « vérifieur » responsable de la vérification de la connexion. Ils doivent donc partager un certain nombre d'informations[1] :
Le partage de ces caractéristiques est primordial pour le bon fonctionnement de l'algorithme. Il est fréquemment fait grâce à un QRcode[2]. Soit T, le nombre d'intervalle s'étant écoulé depuis l'epoch, c'est-à-dire : T = (temps de la machine sous sa forme POSIX - T0) / X. Le TOTP est généré en utilisant l'algorithme HOTP, avec pour paramètres la clé secrète et un nombre T, de la façon suivante : TOTP = HOTP(K,T). SécuritéContrairement aux mots de passe, les codes TOTP sont à usage unique, ainsi un identifiant compromis n'est valide que pour une période limitée. Les utilisateurs doivent cependant entrer le code TOTP dans un formulaire d'authentification ce qui laisse une possibilité d'attaque par hameçonnage. Grâce à la brêve fenêtre durant laquelle est valide un code TOTP, les attaquants doivent émuler les identifiants en temps réel[3]. Les identifiants TOTP sont aussi basés sur un secret partagé connu du client et du serveur, créant de nombreux points où le secret peut être dérobé[4]. Un attaquant ayant accès à ce secret partagé peut alors générer de nouveaux codes TOTP à sa guise. Ceci peut représenter un véritable problème si l'attaquant a ainsi accès à une importante base de données d'authentification[5]. Implémentations existantes
Notes et références
|