Un mot de passe à usage unique basé sur le temps (TOTP) est un code numérique à durée de vie limitée, généré à partir d'un secret partagé et de l'heure actuelle, et actualisé automatiquement toutes les 30 secondes. Une application d'authentification le génère après un scan unique d'un code QR, et il sert de deuxième facteur d'authentification permettant de vérifier que l'utilisateur dispose bien d'un appareil spécifique enregistré.
Points clés à retenir
- Le TOTP permet de vérifier qu'un utilisateur dispose bien d'un appareil enregistré, et pas seulement d'un mot de passe.
- Les codes sont calculés à partir d'un secret partagé et de l'instant actuel.
- Une application d'authentification génère des codes hors ligne après la lecture d'un code QR.
- Les codes sont généralement actualisés toutes les 30 secondes, ce qui limite les attaques par rejeu.
- Versa SASE Client et Concerto proposent tous deux le TOTP comme deuxième facteur d'authentification.
Sur cette page : Pourquoi est-ce important ?Comment ça marcheTypesTOTP et VersaFAQ
Pourquoi le TOTP est-il important ?
Les mots de passe constituent à eux seuls le maillon faible de l'accès à distance : ils font l'objet d'hameçonnage, sont réutilisés et collectés lors d'attaques par « credential stuffing ». Un deuxième facteur comble cette faille en exigeant une preuve qu'un attaquant ne peut pas copier à partir d'une violation de données, à savoir que l'utilisateur est en possession d'un appareil spécifique. Le TOTP fournit cette preuve hors ligne : le code est calculé localement à partir d'un secret déjà stocké sur l'appareil, ce qui lui permet de continuer à fonctionner même en cas de retard ou d'interception du SMS.
Le TOTP étant une norme ouverte, n’importe quelle application d’authentification peut enregistrer le même secret partagé et générer des codes compatibles ; les organisations ne sont donc pas liées à l’application d’un seul fournisseur. C’est cette portabilité, associée à la résistance à l’interception, qui explique pourquoi des référentiels tels que la norme NIST SP 800-63B recommandent le TOTP, et pourquoi le client Versa SASE le propose en complément de l’authentification par certificat et SAML.
Qu'est-ce que le TOTP ?
Le TOTP est défini dans la RFC 6238 comme une variante temporelle du HOTP (mot de passe à usage unique basé sur HMAC, RFC 4226). L'enregistrement commence lorsque le serveur génère un secret partagé aléatoire et l'encode – généralement sous la forme d'un code QR – afin que l'application d'authentification puisse l'importer sans que l'utilisateur ait à saisir manuellement une longue chaîne de caractères.
Pour générer un code, l'application divise le temps Unix actuel par un pas fixe (généralement 30 secondes), calcule un HMAC à partir du secret et de ce compteur, puis tronque le résultat en une courte chaîne numérique – généralement de 6 chiffres. Le serveur effectue le même calcul et compare les résultats, en tolérant une petite marge de pas adjacents pour tenir compte de la dérive de l'horloge. Le code ne peut pas être réutilisé une fois son pas expiré.
Types de TOTP
Le TOTP est l'une des variantes de la famille de mots de passe à usage unique OATH. Le HOTP (RFC 4226) est son équivalent basé sur les événements : il fait avancer un compteur à chaque fois qu'un code est demandé, plutôt que de suivre le temps qui s'écoule, ce qui convient aux clés matérielles dotées d'un bouton physique, mais peut entraîner un décalage si un code n'est pas utilisé. Le TOTP a remplacé le compteur par le temps, ce qui permet de maintenir automatiquement la synchronisation entre le client et le serveur.
Au sein même du protocole TOTP, les déploiements varient en fonction de trois paramètres : l’algorithme de hachage (SHA-1 par défaut, avec SHA-256 et SHA-512 comme alternatives), la longueur du code (6 chiffres en standard ; certains en utilisent 8) et l’intervalle de temps (30 secondes en général ; quelques-uns utilisent 60). Le mode de diffusion varie également : la plupart s’appuient sur une application mobile, mais les clés de sécurité matérielles mettent en œuvre le même algorithme.
TOTP & Versa
Le client « Versa »SASE prend en charge le TOTP parmi ses options d’authentification multifactorielle, aux côtés de l’authentification par mot de passe à usage unique (OTP) par SMS ou e-mail et de l’authentification par certificat x509, s’ajoutant à l’authentification des utilisateurs via LDAP, RADIUS ou SAML. Le TOTP s’active depuis un nœud Versa Director (version 22.1.3 de VOS et ultérieures) ou, dans Concerto, à partir d’une règle d’accès client sécurisé : sous « Configuration du client », l’activation de l’authentification multifactorielle (MFA) et la sélection du service d’authentification par mot de passe à usage unique basé sur le temps (TOTP) activent les codes à durée limitée ; les versions 12.2.2 et ultérieures de Concerto permettent également d’envoyer le code QR d’inscription par e-mail.
Lors de la première inscription, si la méthode TOTP est requise, le client affiche un code QR ; l'utilisateur le scanne à l'aide d'une application d'authentification de son choix et saisit le code obtenu pour finaliser l'inscription. Pour connaître le déroulement complet du processus, consultez les documents « Utilisation de l'application client Versa SASE », « Utilisation du client Versa SASE avec Concerto » et « Configuration de bout en bout de Concerto SASE ».
Questions fréquentes
Quelle est la différence entre le TOTP et le HOTP ?
Le système HOTP incrémente un compteur à chaque fois qu’un code est demandé ; par conséquent, le client et le serveur peuvent se désynchroniser si des codes sont ignorés. Le système TOTP remplace ce compteur par l’heure actuelle, par incréments fixes, ce qui permet de maintenir automatiquement la synchronisation entre les deux parties – c’est pourquoi la plupart des applications d’authentification utilisent le système TOTP.
Comment puis-je enregistrer un appareil dans TOTP ?
Le serveur génère un secret partagé et l'affiche sous forme de code QR. En le scannant avec une application d'authentification, on importe ce secret ; l'application calcule ensuite un nouveau code toutes les 30 secondes, sans autre échange réseau avec le serveur.
Pourquoi le TOTP est-il considéré comme plus sûr que l'OTP par SMS ?
Les codes TOTP sont générés localement à partir d'un secret déjà stocké sur l'appareil ; ils ne peuvent donc pas être interceptés en cours de transmission, contrairement aux SMS, y compris dans le cadre d'attaques par « SIM swap » visant à détourner le numéro de téléphone de la victime. Le système TOTP fonctionne également sans connexion mobile ni Wi-Fi.
Que se passe-t-il si l'horloge de mon appareil présente un décalage ?
Les codes TOTP étant calculés à partir de l'heure actuelle, un décalage trop important entre l'horloge de l'appareil et celle du serveur génère des codes qui ne sont plus valides. Les serveurs acceptent généralement une petite marge de temps pour compenser les légers décalages ; en cas de décalage persistant, il est nécessaire de resynchroniser l'appareil.
Comment Versa utilise-t-il le TOTP pour le client SASE ?
Le client « Versa » (SASE ) propose le TOTP comme deuxième facteur d'authentification lors de l'inscription et de la connexion. Cette fonctionnalité est configurée à partir de Versa Director ou d'une règle d'accès client Concerto Secure. Le client affiche un code QR une seule fois ; une fois celui-ci scanné, les connexions suivantes ne nécessitent plus que le code TOTP actuel.
En savoir plus sur le TOTP
Si vous souhaitez en savoir plus, voici des sources auxquelles nous faisons confiance.
| RFC 6238 : TOTP | RFC 4226 : HOTP |
|---|---|
| La norme de l'IETF définissant l'algorithme TOTP : comment le secret partagé, l'intervalle de temps et le HMAC s'associent pour générer un code. | La norme de mot de passe à usage unique (OTP) basée sur HMAC, que la norme TOTP étend en remplaçant son compteur d'événements par la durée. |
Termes associés
Si vous vous intéressez au TOTP, voici quelques liens qui pourraient vous intéresser.
| Mot de passe à usage unique | Algorithme de hachage sécurisé | SASE Client |
|---|---|---|
| La catégorie plus large des codes d'authentification à usage unique à laquelle appartient le TOTP, aux côtés des codes envoyés par SMS et par e-mail. | La famille d'algorithmes de hachage HMAC sur laquelle s'appuie le TOTP pour combiner le secret partagé et l'intervalle de temps en un code vérifiable. | L'application client Versa , qui propose le TOTP comme deuxième facteur d'authentification lors de l'inscription et de la connexion. |