Connexion par QR code : comment un scan vous authentifie — featured illustration
Sécurité

Connexion par QR code : comment un scan vous authentifie

6 min de lecture
Créer un QR code

Taper un mot de passe avec une télécommande est un petit supplice : flèche, flèche, flèche, valider, mauvais caractère, retour. Vingt secondes par mot, et les majuscules coûtent encore plus. Alors l'application affiche un carré, vous le visez avec votre téléphone, et avant même d'avoir posé la télécommande, le téléviseur sait qui vous êtes.

Cela ressemble à de la magie, d'une façon légèrement dérangeante. Ce n'en est pas. C'est une conversation courte et bien définie entre trois parties, et la comprendre vous dit exactement quand lui faire confiance et quand passer votre chemin.

Les trois parties

D'un côté, un écran qui cherche à être connecté : l'application d'un téléviseur, un logiciel sur un ordinateur, un onglet de navigateur sur un poste partagé. Cet écran ne sait absolument pas qui vous êtes.

Il y a votre téléphone, qui le sait déjà. Vous vous y êtes connecté il y a des semaines et il détient un identifiant valide pour votre compte.

Et il y a le serveur du service au milieu, la seule partie qui décide réellement quoi que ce soit. L'écran et le téléphone ne se parlent jamais directement. Tous deux parlent au serveur, et c'est ce qui fait fonctionner tout l'arrangement.

La poignée de main, étape par étape

En gros, avec des détails qui diffèrent selon les services :

  1. L'écran demande une session. Quand vous ouvrez la page de connexion, il contacte le serveur et demande une tentative de connexion en attente. Le serveur en crée une, la marque non approuvée, et renvoie un identifiant.
  2. L'identifiant devient un code. Ce jeton de courte durée est encodé dans le carré que vous voyez. Ce n'est pas votre nom d'utilisateur, pas votre mot de passe, et pas une session utilisable. C'est un numéro de ticket pour une demande qui n'a pas encore été accordée. Comment les codes encodent les données explique pourquoi un jeton compact tient si confortablement dans ce petit carré.
  3. L'écran se met à attendre. Il interroge le serveur, ou garde une connexion ouverte, en demandant si cette tentative en attente a été approuvée.
  4. Votre téléphone lit le code. Généralement depuis l'application elle-même plutôt que depuis l'appareil photo général, car l'application doit reconnaître le jeton et détient déjà votre identifiant.
  5. Le téléphone approuve. Il envoie au serveur un message qui revient à dire : je suis ce compte, je détiens un identifiant valide, et j'autorise la tentative en attente portant cet identifiant. Beaucoup de services ajoutent ici un écran de confirmation, et certains demandent une empreinte, une reconnaissance faciale ou le code de l'appareil avant l'envoi.
  6. Le serveur bascule et l'écran récupère. La tentative en attente est marquée approuvée et rattachée à votre compte. La prochaine interrogation de l'écran en attente revient avec un vrai jeton de session, et l'interface passe à votre vue connectée.

Votre mot de passe ne voyage jamais jusqu'à la télé. La télé ne voit jamais votre identifiant. Elle reçoit une session que le serveur a émise pour elle après que votre téléphone s'est porté garant de la demande. C'est le véritable bénéfice de sécurité, en particulier sur un appareil qui ne vous appartient pas et où vous préféreriez ne pas taper de mot de passe.

Steam, Netflix, WhatsApp Web et Google Messages proposent tous une connexion de cette forme générale. Leurs écrans, leurs formulations et leurs protocoles exacts diffèrent : considérez les six étapes ci-dessus comme le schéma, pas comme l'implémentation d'une entreprise précise.

Pourquoi le code expire si vite

Observez le carré et vous le verrez souvent se rafraîchir après une ou deux minutes, ou se griser en vous demandant de réessayer.

C'est délibéré. Entre le moment où le code apparaît et celui où vous l'approuvez, il existe une session en attente non réclamée. Quiconque obtient ce jeton et y fait rattacher une approbation se retrouve détenteur de la session qui en résulte. La fenêtre est le risque, donc les services la gardent courte.

Une expiration courte gère aussi le cas ordinaire où vous ouvrez l'écran de connexion, êtes distrait, et revenez dix minutes plus tard. L'ancien jeton meurt discrètement au lieu d'attendre d'être capturé depuis un écran dans un lieu public.

Certaines implémentations lient davantage la session, en exigeant que le téléphone soit sur le même réseau. Cela ajoute de la friction et n'est pas universel.

Pourquoi ce doit être votre téléphone

Tout le modèle repose sur une hypothèse : l'appareil qui scanne est déjà de confiance et déjà authentifié.

Votre téléphone détient un identifiant actif pour votre compte. Quand il approuve une session en attente, le serveur le croit parce que l'identifiant est valide. Il n'y a pas de seconde vérification pour savoir si vous vouliez approuver. Le téléphone a dit oui, donc la réponse est oui.

C'est pourquoi le verrouillage de votre téléphone compte plus qu'il n'y paraît. Un téléphone laissé déverrouillé entre les mains de quelqu'un d'autre est une machine à approuver pour tout service prenant en charge ce flux. C'est aussi pourquoi beaucoup d'applications insèrent une vérification biométrique ou par code avant d'envoyer l'approbation : elle confirme que la personne qui tient le téléphone possède le compte.

La règle qui compte vraiment

Ne scannez jamais un code de connexion que quelqu'un vous envoie, vous montre, ou vous demande de scanner.

Pas un code dans un message. Pas celui sur l'ordinateur d'un inconnu qui a besoin d'aide. Pas celui dans un e-mail affirmant que votre compte doit être revérifié. Pas celui d'un agent d'assistance qui vous guide dans une réparation.

Voici pourquoi, en clair. Quand vous scannez un code de connexion, vous ne prouvez pas votre identité à vous-même. Vous approuvez une session en attente précise qui existe déjà quelque part. Si cette session a été créée sur l'écran de quelqu'un d'autre, votre scan lui remet une session connectée sur votre compte. Cette personne n'a plus besoin de votre mot de passe. Elle a mieux : une session active qui se comporte exactement comme si vous vous étiez connecté depuis sa machine.

C'est toute l'attaque, et elle est assez élégante pour continuer de fonctionner. Le message porte toujours une raison : une demande de vérification, un lot gagné, une alerte de sécurité, un ami qui a besoin d'aide. La raison importe peu. L'action est la même à chaque fois.

L'habitude sûre est courte : le seul code de connexion que vous scannez est celui affiché par un écran devant lequel vous vous tenez physiquement, après avoir vous-même choisi de vous y connecter. Si vous n'avez pas ouvert la page de connexion vous-même, ne scannez pas. Nos notes sur la sécurité des QR codes et le repérage des codes malveillants couvrent les astuces voisines.

Et en France ?

Pour les services publics français, la connexion passe par FranceConnect, qui vous identifie avec un compte que vous possédez déjà, comme celui des impôts ou de l'Assurance maladie. C'est toujours vous qui choisissez de vous connecter, depuis le site officiel ou l'application officielle du service.

D'où une règle simple : méfiez-vous de tout QR code affiché sur un écran que vous ne connaissez pas, dans un courrier inattendu ou un message, qui prétend vous connecter à votre compte des impôts, de l'Assurance maladie ou de votre banque. Scanner ce type de code peut valider une connexion au profit de quelqu'un d'autre. Dans le doute, ouvrez vous-même l'application du service concerné.

Un peu de ménage utile

  • Vérifiez vos sessions actives. La plupart des services listent les appareils disposant d'une session en cours et permettent de les révoquer. Faites-le après les télés d'hôtel, les postes de conférence et les portables empruntés.
  • Déconnectez-vous sur les écrans partagés. Partir laisse votre session vivante pour la personne qui s'assoit ensuite.
  • Traitez les demandes d'approbation inattendues comme des alarmes. Si votre téléphone vous demande de confirmer une connexion que vous n'avez pas lancée, refusez et changez votre mot de passe.
  • Inspectez avant de vous engager. Si vous ignorez ce que contient un code, lisez-le sans ouvrir le lien plutôt que de le scanner dans une application connectée. Ce qui se passe quand vous scannez traite le cas général.

Prochaine étape : ouvrez la rubrique sécurité ou appareils connectés du compte que vous utilisez le plus, regardez quels appareils y ont une session ouverte, et déconnectez tout ce que vous ne reconnaissez pas.

Partager cet article