Est-il sûr de partager un QR code 2FA ?

Non, et le plus utile est de savoir pourquoi : qui voit un QR code partagé, ce qu’il peut en faire, et si une fuite mérite une réinitialisation.

Non. Un QR code 2FA est le second facteur du compte sous une forme qu’un appareil photo sait lire : en partager un revient à distribuer une copie permanente de l’identifiant, que personne ne peut compter et que personne ne peut reprendre. Il existe deux situations étroites où le faire délibérément se défend, et elles sont vers la fin de cet article, mais la réponse par défaut tient.

Ce que contient l’image et si une seconde application l’acceptera est traité dans peut-on partager un QR code Google Authenticator ?. Cet article-ci parle de ce sur quoi la décision repose vraiment : qui finit par voir un QR code partagé, ce qu’il peut en faire, et comment juger si une fuite donnée mérite qu’on agisse. S’il vous faut surtout un moyen de faire parvenir des codes à vos collègues sans passer par l’image, commencez par partager les codes Google Authenticator en équipe.

Qui voit un QR code partagé, en pratique

Le problème n’est pas qu’un collègue ne soit pas digne de confiance. C’est qu’un QR code est une image, et que les outils sur lesquels tourne une organisation sont faits pour stocker, indexer et transférer des images. Chacun des cas suivants a une audience réelle, rarement celle que vous aviez en tête.

  • Un canal de discussion. L’audience, c’est tout le canal plus tous ceux qu’on y ajoutera ensuite, parce que l’historique est cherchable. Quelqu’un qui arrive dans quatorze mois le retrouve en tapant le nom du compte.
  • Une pellicule photo synchronisée. Quelqu’un capture l’écran d’enrôlement pour le scanner plus tard. L’audience, c’est tous les appareils connectés à ce compte photo.
  • Un partage d’écran pendant une réunion d’intégration. L’audience, ce sont les participants, puis tous ceux qui ont accès à l’enregistrement et aux archives de cette série de réunions.
  • Un tableau blanc photographié. Un enrôlement en présentiel donne un sentiment de circuit fermé ; la photo prise pour que chacun puisse la scanner, elle, ne l’est pas, et elle traîne dans une pellicule sans rien qui dise ce que c’est.
  • Un ticket de support. Collé pour montrer ce qui a été configuré. L’audience, c’est une file d’agents qui tourne, plus ce que l’outil de ticketing conserve.
  • Un export de coffre. Entrées et pièces jointes exportées avant une migration. L’audience, c’est là où ce fichier est parti, en général un ordinateur portable.
  • Un poste de travail déverrouillé. Petite audience, courte fenêtre, et ça vaut la peine d’être cité parce que c’est le seul cas que les gens remarquent vraiment quand il arrive.

Aucun de ces cas ne suppose que quelqu’un se comporte mal, et aucun ne laisse de trace dans les réglages de sécurité du compte. C’est cette seconde propriété qui rend le reste de cet article nécessaire.

Ce que peut vraiment faire celui qui le détient

Soyons précis, parce qu’exagérer est la meilleure façon de ne plus être écouté.

Quiconque a l’image peut produire des codes valides indéfiniment, sur son propre appareil, et ses codes sont indiscernables des vôtres : mêmes chiffres, même rythme. C’est une propriété du protocole plutôt qu’un défaut, et c’est la même mécanique qu’explore plusieurs personnes peuvent-elles utiliser le même TOTP ?.

Ce qu’il ne peut pas faire, c’est se connecter. Il lui faut toujours le mot de passe.

La description exacte d’un QR code exposé est donc que le compte a perdu son second facteur vis-à-vis d’un groupe précis de personnes, pas que le compte est compromis. Pour tous les autres, la 2FA fonctionne comme prévu et un mot de passe volé ne fait entrer personne. Pour ceux qui détiennent l’image, le compte est revenu au mot de passe seul.

Cette distinction s’effondre dans quelques cas ordinaires, qu’il vaut mieux vérifier avant de conclure qu’une fuite était mineure :

  • Le mot de passe est passé par le même canal. Un QR code et un mot de passe dans le même fil, c’est un identifiant, pas deux.
  • Le mot de passe est réutilisé ou devinable, ou vit dans un coffre que les mêmes personnes peuvent atteindre.
  • La réinitialisation du mot de passe passe par une boîte mail que ces personnes peuvent lire, ce qui fait du second facteur la seule chose entre elles et une réinitialisation.

Pourquoi ce risque-là est inconfortable

Un mot de passe fuité est désagréable mais traitable : on le change, l’ancien meurt, et la plupart des services notent sa dernière modification. Une session volée expire ou peut être déconnectée. Un QR code exposé n’offre rien de tout ça.

Rien dans le compte n’a l’air différent ensuite. Pas de liste d’appareils, pas de journal d’enrôlement, aucun événement disant qu’une seconde application s’est mise à produire des codes.

Le secret derrière l’image n’a pas non plus de durée de vie. Il cesse de fonctionner quand la 2FA est reconfigurée sur le compte, et à aucun autre moment.

Et les copies ne se comptent pas. Vous savez à qui vous avez montré l’image ; combien de copies ont suivi ensuite, et où elles sont, il n’y a nulle part où le vérifier.

La comparaison quotidienne la plus proche, c’est une clé reproduite sans registre. La serrure fonctionne toujours et la clé tourne toujours, et vous n’avez aucun moyen d’établir combien sont en circulation. Le seul remède est de changer la serrure, et c’est pour ça que la réponse à un QR code exposé est un réenrôlement plutôt qu’un nettoyage. Les propriétés du secret sous-jacent, et pourquoi on ne peut pas les contourner, sont exposées dans comment fonctionnent les secrets TOTP (et pourquoi il ne faut pas les partager).

Juger si une fuite mérite une réinitialisation

La plupart des équipes qui se posent la question ont déjà partagé un QR code quelque part et veulent savoir si c’est grave. Cinq questions mènent à une réponse honnête.

Le canal était-il privé, et combien de temps garde-t-il les choses ? Un message direct qui s’efface tout seul entre deux personnes n’est pas le même objet qu’un canal à l’historique cherchable et à quarante membres.

Qui a pu le lire depuis ? Pas qui était présent au moment de la publication : qui a été ajouté depuis, qui peut ouvrir l’export ou l’enregistrement, qui administre la plateforme.

Le mot de passe a-t-il pris le même chemin ? Si oui, arrêtez de compter les points et traitez ça comme une exposition du compte plutôt que du second facteur.

Qu’y a-t-il derrière le compte ? L’argent, les domaines, les données clients, les droits de publication et l’infrastructure cloud vont dans un même panier. Un tableau de bord de reporting en lecture seule va dans un autre.

Une réinitialisation coûte-t-elle une heure ou une journée ? Comptez les personnes qui auront besoin d’un accès aux codes ensuite, la présence des codes de récupération, et l’existence d’un automate qui se connecte avec ce compte.

Deux réponses tranchent à elles seules. Si le mot de passe est passé par le même chemin, réinitialisez. Si le compte détient de l’argent, de l’infrastructure ou des données clients, réinitialisez même quand la fuite semble contenue, parce que le coût de se tromper n’est pas symétrique. Sinon, vous mettez en balance un petit risque non mesurable et du travail réel, et l’accepter est une issue légitime. Noter que vous l’avez accepté est ce qui sépare une décision d’une chose que personne n’a eu le temps de faire.

Quand « oui, mais » est la réponse honnête

Deux cas où partager l’image est un arbitrage raisonnable.

Deux administrateurs enrôlant leurs propres appareils depuis un seul écran. Vérifiez d’abord si le fournisseur accepte plusieurs applications d’authentification : si oui, chacun s’enrôle séparément et il n’y a aucun QR code à partager. Là où un seul enrôlement est permis et où le compte ne peut pas dépendre d’un seul téléphone, montrer le code à un collègue nommé, dans la pièce, sans rien capturer ni rien envoyer, achète de la disponibilité au prix de la comptabilité des copies. Notez qui le détient : c’est cette note qui transformera son départ en réinitialisation programmée plutôt qu’en copie oubliée.

Un compte avec rien derrière. Un outil en forfait gratuit, sans coordonnées bancaires ni données clients. Le coût de la réinitialisation dépasse celui de la fuite, et prétendre le contraire dépense de l’attention là où elle ne sert à rien.

Ni l’un ni l’autre ne s’étend à publier l’image dans un canal, et aucun des deux n’est une politique. Ce sont des exceptions qu’on justifie une par une.

Si c’est déjà sorti

Version courte, la procédure complète vivant ailleurs.

  1. Passez les cinq questions ci-dessus et décidez si ce compte va dans le panier « réinitialisation ».
  2. Si oui, ayez les codes de récupération en main avant de toucher à quoi que ce soit, puis désactivez et réenrôlez la 2FA pour que chaque copie existante cesse de fonctionner, puis accordez l’accès aux codes sans distribuer le nouveau secret. La version ordonnée, avec les sessions, jetons et applications connectées qu’une réinitialisation de la 2FA laisse tourner, est dans comment fonctionnent les secrets TOTP (et pourquoi il ne faut pas les partager).
  3. Supprimez l’image là où vous pouvez l’atteindre, en considérant ça comme du rangement et non comme une remédiation. Les copies qui comptent ont été faites au moment du scan.
  4. Écrivez une ligne disant où vit le nouveau secret et qui peut l’atteindre.

Éviter la récidive suppose que l’image cesse d’être le mécanisme de distribution, ce qui est le sujet de partager des codes TOTP sans partager le secret.

Où Share Auth se place

Share Auth existe pour que le QR code soit scanné une fois, par le coffre, et n’ait jamais à être remontré. Le secret est saisi une seule fois et chiffré au repos ; les membres invités voient le code courant et son décompte plutôt que le secret derrière. Les permissions se règlent par membre et par compte, chaque consultation est écrite dans un journal d’accès, et retirer un membre retire son accès partout d’un coup. Il y a une API pour les comptes auxquels un automate se connecte.

Le forfait gratuit couvre trois secrets et trois membres sans carte bancaire, de quoi déplacer les comptes partagés dont le QR code traîne actuellement dans un canal de discussion.

En bref

  • Un QR code partagé est une copie permanente et incomptable du second facteur.
  • Son audience réelle est un index de recherche, une pellicule synchronisée ou une file de support, pas la personne que vous vouliez aider.
  • Celui qui le détient vous coûte le second facteur, pas le compte, sauf si le mot de passe a voyagé avec.
  • Le risque est inobservable, sans expiration et incomptable : le réenrôlement est le seul remède.
  • Décidez compte par compte, réinitialisez sans hésiter quand il y a de l’argent ou des données clients derrière, et notez ce que vous avez décidé.

Questions fréquentes

La confiance n’est pas vraiment la variable. L’image survit à la relation de travail dans laquelle elle a été partagée, elle ne peut pas être comptée, et elle ne peut pas être retirée sans reconfigurer la 2FA du compte. Vous ne pariez pas sur le bon comportement d’une personne, vous pariez sur le fait que chaque copie de cette image reste là où vous l’avez vue pour la dernière fois.

À lire aussi · Applications d’authentification