L’authentification multifacteur, c’est quoi ?
22 Jun 2025L’authentification multifacteur, aussi connue sous les noms 2FA ou MFA, est en train d’être mise en place et imposée de plus en plus souvent un peu partout, que ce soit auprès des banques, des forges logicielles ou de certains services de courriel. D’un point de vue professionnel, nous avons commencé à déployer la 2FA au niveau d’un certain nombre de services mis à la disposition de nos collègues de tout type de profil (techniciens, laborantins, administratifs, ingénieurs, chercheurs, enseignants, étudiants…).
Force est de constater que, déjà, il m’a été difficile, il y a quelques années, de comprendre comment ça marche, mais là, c’est encore plus compliqué à expliquer en fonction de la personne que l’on a en face de nous.
Je vais essayer d’illustrer un peu le principe en cherchant à ne pas vous noyer dans la technique.
De quoi parle-t-on ?
Il faut savoir que l’authentification multifacteur est une amélioration de l’authentification.
L’authentification
L’authentification est un moyen, mis à la disposition d’une personne utilisant un service en ligne, de se connecter sur son compte d’utilisation. Classiquement, il s’agit d’un couple identifiant et mot de passe.
L’identifiant est un élément qui permet d’identifier la personne (moi) et le compte associé (mon compte en banque), il peut s’agir d’un pseudonyme ou d’une adresse courriel, par exemple. Cela permet, via un formulaire, de se connecter à un service, en indiquant :
- qui je suis (l’identifiant correspondant au compte)
- quelle est ma clé (le mot de passe)
L’avantage de cette méthode, utilisée depuis des années, c’est que vous pouvez vous connecter à un service de n’importe où autour du globe. L’inconvénient, c’est que si jamais votre mot de passe est exposé (vol de données, voisin peu scrupuleux qui vous a vu le saisir, le mot de passe est en fait le nom de votre animal de compagnie…), alors rien ne garanti que vous, et vous seul, pouvez vous connecter à votre compte.
C’est là que le multi-facteur va entrer en jeu.
Le multifacteur
Le multifacteur est un moyen de s’assurer que la personne qui se connecte est bien celle qu’elle prétend être.
Pour ce faire, le service va demander à la personne de fournir un élément dans un formulaire que seule la personne du compte connecté est en mesure de fournir. Et non, demander le nom de jeune fille de votre mère n’est pas un multifacteur.
Depuis plusieurs années, un certain nombre de services, comme EDF, envoient un code par SMS sur le téléphone de l’abonné qui souhaite se connecter, utilisable seulement pour une durée limitée. C’est le principe du multifacteur. Parce qu’a priori seule la personne à qui appartient le compte possède également le téléphone qui permet de la contacter.
En résumé, le multifacteur repose sur deux étapes :
- l’authentification de la personne sur le service ;
- la confirmation par la personne qu’elle est bien qui elle prétend être en soumettant un élèment connu seulement du service et de la personne à qui appartient le compte.
Bien sûr, rien n’interdit de mettre plus de portes de sécurité, en demandant par exemple à la personne de fournir ses coordonnées GPS fournies par son téléphone (j’invente), mais restons-en à l’exemple de la double authentification.
Comment on met ça en place ?
À ce stade, vous avez peut-être compris le principe. Maintenant, comment mettre ça en place si le service ne connaît pas notre numéro de téléphone ou qu’on ne le souhaite pas ?
De nos jours, de plus en plus de services proposent une authentification multifacteur, et non pas un envoi de code par SMS ou courriel, il s’agit le plus souvent d’un code secret partagé entre le service et vous.
Pour obtenir ce secret partagé, à partir de votre compte utilisateur (comme la page où vous mettez votre courriel), le service va vous indiquer le secret et, le plus souvent, vous demander de saisir un code de vérification à six chiffres. Vous allez avoir besoin de vous équiper de ce que l’on appelle un calculateur de code de vérification.
Ce calculateur peut être une application dédiée sur votre smartphone ou une extension sur votre navigateur. Tout ce dont le calculateur a besoin, c’est de connaître votre code secret, à partir de ce code, il va être en mesure de vous fournir le code de vérification attendu par le service. Souvent le code secret vous est indiqué sous deux formes :
- le code secret, sous la forme d’une chaîne de caractères constituée de lettres majuscules et de chiffres ;
- une image bizarre constituée de carrés noirs sur fond blanc, appelé QRCode, que vous pouvez scanner avec votre calculateur ;
- le cas échéant, la durée de validité du code de vérification, si celle-ci n’est pas conventionnelle (30 secondes étant le temps recommandé).
Le code secret fourni ne doit pas être modifié, vous risqueriez de vous retrouver bloqué !
Une fois que vous avez activé la double-authentification, après avoir validé que le code de vérification est bon, à chaque nouvelle connexion au service, celui-ci vous demandera alors d’entrer également le code de vérification calculé. Le code de vérification est calculé toutes les 30 secondes, voire plus, c’est le service qui décide. Il est donc important de vérifier que votre application est à la même heure que le serveur.
Selon les services, il peut vous être proposé de garder en mémoire la machine à partir de laquelle vous vous connectez pour une durée déterminée, par exemple sur Roundcube ce temps est de 30 jours.
Mais en fait, qu’y a-t-il derrière ?
Ce que je viens de vous décrire est ce que l’on appelle, dans le jargon, du TOTP : Time-based One Time Password Algorithm (voir la RFC 6238, en anglais, pour plus de détails).
Le principe de fonctionnement repose sur trois éléments que vous venez de voir :
- une clé secrète ;
- une heure d’interaction ;
- un intervale de temps de calcul, il est recommandé de le limiter à 30 secondes.
À partir de ces trois élèments, l’algorithme présent dans votre calculateur de code de vérification va pouvoir vous fournir la suite de six chiffres qui permettent de valider que vous disposez du secret pour la durée de l’intervalle. Il est donc important que votre horloge et celle du serveur soient synchrones.
Comment s’outiller ?
Vous êtes prêts à vous lancer, mais vous ne savez pas quelle application utiliser ? Voici une liste des applications que nous (mes collègues et moi) recommandons à nos collègues et à nos élèves :
- sur smartphone Android : Aegis Authenticator
- sur smartphone Apple : Raivo OTP
- sur ordinateur sous Linux, MacOS ou Windows : KeePassXC
Personnellement, sur Firefox j’utilise l’extension Authenticator.
La plupart des calculateurs vous proposent de pouvoir importer ou exporter vos clés secrètes, n’hésitez donc pas à vous en servir pour faire des sauvegardes.
Pour plus de sécurité, vous pouvez également ajouter un mot de passe sur l’application, mot de passe qui sera demandé à chaque utilisation.
Pour aller plus loin
Un billet de blog de Stéphane Bortzmeyer explicitant davantage la RFC 6238 : https://www.bortzmeyer.org/6238.html