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 ?