2FA – Le TOTP

Le mot de passe à usage unique, basé sur le temps !

Quelle belle invention, imaginez, vous partagez une phrase secrète que vous utilisez afin de convenir d’un mot de passe unique basé sur le temps. Juste 6 chiffres, aucune information par rapport à la phrase secrète, mais cette dernière nécessaire pour vérifier si les 6 chiffres sont bon.

Ceci, c’est le TOTP !

Afin de le calculer, les 2 tiers n’ont besoin que de la date, l’heure et la phrase secrète. Aussi, pour vérifier ce dernier, le serveur aura juste à calculer son code et le comparer avec celui envoyé par le client.

C’est simple, sécurisé et implanté dans de nombreux sites principalement sous le nom de GOOGLE AUTENTICATOR

Pourtant, Google n’a pas le monopole sur cette méthode, n’importe quel site peut l’implémenter et n’importe quel développeur peut créer son client TOTP. Il existe même une URI diffusable sous forme de QRCode afin de faciliter l’ajout de la phrase secrète dans votre client TOTP

Exemple de QRCode TOTP
Exemple de QRCode TOTP

Ce second facteur d’authentification est déjà utilisable sur de nombreux sites et est surtout résilient.

Quelques sites proposant le TOTP pour votre compte :

  • Google (avec leur propre application Google Authenticator)
  • Amazon
  • Facebook
  • Microsoft (avec leur propre application Microsoft Auathenticator)
  • OVH
  • WordPress (via PlugIn)
  • Mastodon
  • NextCloud (via Application à activer par le gestionnaire du serveur)

Cette méthode est à mes yeux la plus efficace car aucun serveur tiers n’est nécessaire à son utilisation, tout se passe uniquement entre le client et le serveur, et surtout, nous sommes libre d’utiliser le client de notre choix pour générer nos codes TOTP.

Quelques logiciels client compatible TOTP (et leurs supports) :

  • BitWarden (Toutes plate-formes – TOTP sur version premium ou auto-hébergée)
     Gestionnaire de mots de passes et générateur TOTP libre et disponible en auto-hébergement
  • FreeOTP (Android – iOS)
  • Google Authenticator (Android – iOS)
  • Microsoft Authenticator (Android – iOS)
  • Twillo Authy (Toutes plate-formes)