Ta ligne mobile n'est pas un objet que tu possèdes. C'est un service que quelqu'un peut transférer.
Un code à six chiffres arrive sur le téléphone. On le lit sur l'écran verrouillé, sans même déverrouiller l'appareil, on le recopie, on valide. Deux secondes. Ce geste, répété des milliards de fois par jour, a fait du SMS le second facteur le plus déployé de la planète.
Le même geste dit ses limites. Un code qui s'affiche sans déverrouillage s'affiche pour qui tient le téléphone. Un code qui voyage par le réseau mobile dépend de qui contrôle la ligne. Et une ligne mobile ne t'appartient pas : elle t'est attribuée par un opérateur, qui peut la réattribuer.
On ne choisit pas son opérateur comme on choisit une serrure. On choisit ce qu'on lui confie.
D'où ça vient
Le code à usage unique par SMS naît dans la banque en ligne européenne, au début des années 2000. Les banques allemandes, autrichiennes et néerlandaises utilisaient jusque-là des listes de codes imprimés, les TAN, envoyées par courrier. Le client rayait un code à chaque virement.
Le mTAN remplace le papier par le réseau mobile. Le principe change de nature : au lieu d'une liste préimprimée, la banque génère un code au moment de l'opération et l'envoie sur un second appareil, avec le montant et le destinataire dans le corps du message. Deux appareils, un code lié à une opération précise, aucun matériel à distribuer. Pour l'époque, le raisonnement se tient.
Le web grand public reprend le mécanisme sans en reprendre la finesse. Le code de connexion par SMS ne contient plus ni montant ni destinataire : il valide une session, pas une transaction. Il se généralise parce qu'il ne coûte presque rien à déployer, tout le monde ayant déjà un téléphone qui reçoit des SMS.
La mise en garde arrive vite. Le brouillon de NIST SP 800-63B, en 2016, parle de déprécier l'envoi de codes par le réseau téléphonique. La version publiée en juin 2017 adoucit le terme sans changer le fond : la section 5.1.3.3 énonce que l'usage du réseau téléphonique commuté pour la vérification hors bande est RESTRICTED. Traduction pratique : autorisé, mais l'organisation doit évaluer le risque, en informer les personnes et prévoir une sortie.
Le problème que ça résout
Un mot de passe fuité se rejoue tout seul. Les listes issues de fuites circulent, un script les rejoue sur des centaines de services, et il suffit que la même paire ait servi deux fois. C'est le mécanisme décrit dans Le mot de passe : le simulateur compte le rejeu d'identifiants fuités à 0,90 pour un attaquant automatisé quand le mot de passe est réutilisé.
Le SMS casse ce rejeu. Le script possède la paire, pas le téléphone. Il s'arrête là.
Les chiffres existent. En mai 2019, Google a publié avec des chercheurs de l'université de New York et de l'UC San Diego une étude portant sur plus de 350 000 tentatives réelles de prise de compte, sur un échantillon de 1,2 million d'utilisateurs. Un code envoyé au numéro de secours a bloqué 100 % des tentatives automatisées, 96 % de l'hameçonnage de masse et 76 % des attaques ciblées.
La question qu'on pose d'habitude, c'est de savoir si le SMS est encore sûr. Elle n'a pas de réponse tant qu'on n'a pas dit sûr contre qui. Contre un script, il tient. Contre une campagne d'hameçonnage générique, il tient encore. Contre quelqu'un qui te vise personnellement, un quart des tentatives passe.
Le facteur ne se dégrade pas au hasard. Il se dégrade dès qu'un humain entre dans la chaîne d'attaque.
Les problèmes que ça ajoute
Rien de ce qui suit ne retire ce qui précède. Le SMS ferme la porte la plus fréquentée, et il la ferme bien. Il en ouvre d'autres, plus étroites, et le périmètre de chacune se décrit précisément.
Le numéro n'est pas à toi. Un détournement de ligne (SIM swap) consiste à convaincre l'opérateur de transférer ton numéro vers une autre carte SIM. Aucune compétence technique, juste un appel et quelques informations personnelles. Le compte Twitter de Jack Dorsey a été pris ainsi le 30 août 2019 : le transfert accordé par AT&T a suffi, parce que Twitter acceptait alors la publication de messages par SMS depuis le numéro enregistré. Le numéro valait identité.
Le réseau lui-même transporte en clair. En janvier 2017, des attaquants ont exploité le protocole de signalisation SS7 pour rediriger les SMS de clients allemands d'O2-Telefónica et vider leurs comptes bancaires. La méthode s'est déroulée en deux temps : hameçonnage classique pour obtenir les identifiants bancaires, puis renvoi des mTAN vers un numéro contrôlé. L'accès au réseau d'un opérateur étranger complice aurait coûté moins de 1 000 euros. Ce chemin reste rare et hors de portée d'un attaquant de masse, mais il existe.
Le code s'affiche sur l'écran verrouillé. C'est le confort qui vend le SMS, et c'est l'ouverture pour quiconque tient l'appareil quelques secondes. Le simulateur compte la lecture ou l'interception du SMS à 0,30 pour un proche, contre 0,01 pour un attaquant automatisé.
Le faux conseiller marche très bien. Un appel, un ton pressé, une raison plausible, et le code se dicte à voix haute. Cette technique traverse le SMS, le code temporaire, le code par email et la notification sans distinction : le simulateur la compte à 0,35 pour un attaquant ciblé.
La page relais retape le code à ta place. Une fausse page de connexion qui relaie en temps réel vers le vrai service reçoit ton mot de passe puis ton code, les rejoue immédiatement, et récupère la session ouverte. Le SMS n'oppose rien à ce chemin. Seule une clé d'accès refuse de signer pour le mauvais domaine.
Le numéro devient une porte de récupération. C'est le problème le plus discret et le plus coûteux. Quand un service enregistre ton numéro, il l'utilise souvent pour te réidentifier en cas d'oubli, sans que tu l'aies demandé. Ta ligne devient alors un chemin d'entrée complet, parallèle au mot de passe, du genre décrit dans Les portes de service.
Les niveaux
Le simulateur distingue trois positions, et elles ne sont pas ordonnées comme on l'imagine.
Le SMS comme second facteur. Un obstacle supplémentaire sur le chemin principal, après le mot de passe. Le gain est réel, et il se voit surtout contre l'attaquant automatisé.
Le SMS comme recours. Une case du genre « recevoir un code de secours par SMS » ouvre un chemin distinct, qui ne passe pas par le mot de passe. Ce chemin pèse dans la note même quand tu as mieux ailleurs. Règle du modèle : ajouter une porte n'améliore jamais la note, en fermer une l'améliore toujours.
Pourquoi retirer le SMS plutôt que de le garder à côté ? Parce qu'une porte supplémentaire n'en ferme aucune. Ce qui coûte cher ici, c'est le choix de laisser le SMS branché après avoir posé mieux ailleurs.
Le SMS comme protection d'un compte pivot. Une boîte email protégée par SMS tombe dans la même catégorie qu'une boîte protégée par mot de passe seul : le simulateur compte sa prise de contrôle à [0,25, 0,55, 0,50], contre [0,03, 0,18, 0,18] pour une boîte tenue par un code temporaire ou une clé d'accès. Même chose pour un compte tiers : protégé par SMS, il se franchit à 0,20 pour un attaquant ciblé, contre 0,02 s'il est tenu par un code temporaire.
Un compte ne vaut jamais plus que celui qui sert à y entrer. Si la boîte email tient par un SMS, tous les comptes qui se réinitialisent par email héritent de ce plafond.