Mot de passe à usage unique basé sur le temps

Un article de Wikipédia, l'encyclopédie libre.

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[modifier | modifier le code]

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[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. a et b « 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 )