TOTP

Dernière mise à jour : 15 avril 2019

TOTP signifie Time-Based One-Time Password Algorithm. Bien. Les choses sont posées.

Second facteur

Deux, c’est mieux qu’une, dit-on en général. Deux vérifications valant donc mieux qu’une, effectuer une seconde authentification est une précaution qui n’est pas uniquement un luxe !

RFC 6238 et RFC 4226

Une type bien précis de TOTP est celui défini dans une RFC, la RFC 6238, elle-même issue de la RFC 4226 décrivant les HMAC-Based One-Time Password Algorithm (Algorithme de mot de passe unique basé sur un HMAC). Même sans avoir valeur de standard ou de norme, avoir une RFC décrivant ce mécanisme présente de nombreux avantages :

  • La méthode est connue, claire ;
  • Elle ne présente pas de fonctionnalité non documentée ;
  • Chacun est libre de l’implémenter à sa façon, sans avoir besoin de se reposer sur un tiers.

Autres avantages

Un TOTP est basé sur un code unique généré à partir d’un secret et d’un temps (d’une horloge). Ainsi, à part pour la transmission du secret (et éventuellement la synchronisation de l’horloge, mais cette dernière est facultative), aucune interaction extérieure n’est nécessaire pour la génération du code TOTP.

Quelques exemples

Google Authenticator

Ok c’est Google. Mais son code source est public, et il peut être audité. En théorie. Un volontaire ?