Mot de passe à usage unique basé sur le temps

Un 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 2011 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.

Algorithme

L'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] :

  • un temps Unix, noté T0, correspondant au temps d'origine (par défaut il est à 0, soit l'epoch) ;
  • un choix d'intervalle de temps commun, noté X ;
  • un secret commun (ou une clé secrète identique), noté k.

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).

Implémentations existantes

Notes et références

  1. « TOTP: Time-Based One-Time Password Algorithm », sur datatracker.ietf.org (consulté le )
  2. « Blog Stéphane Bortzmeyer: RFC 6238: TOTP: Time-Based One-Time Password Algorithm », sur www.bortzmeyer.org (consulté le )
  3. « Application d’authentification pour téléphone mobile Microsoft | Sécurité Microsoft », sur www.microsoft.com (consulté le )
  • Portail de la sécurité informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.