Appairer un appareil avec un QR code : ce qu'il contient — featured illustration
Sécurité

Appairer un appareil avec un QR code : ce qu'il contient

6 min de lecture
Créer un QR code

Une imprimante neuve sort du carton, affiche un carré sur son petit écran, et quatre secondes après que l'application du téléphone l'a lu, elle est connectée au réseau du bureau. Personne n'a tapé le mot de passe du Wi-Fi, et le code ne le contenait pas non plus : c'est toute la différence entre un canal d'appairage et un secret imprimé.

Les QR codes apparaissent dans les procédures d'appairage pour une raison simple : un appareil a un écran et pas de clavier, et l'autre a un appareil photo et un propriétaire déjà connecté quelque part. Le carré est une courte conversation entre ces deux faits.

Trois formes, et elles ne sont pas interchangeables

Première forme : un appareil affiche un code, et un téléphone le lit. C'est le cas d'une application de télévision qui attend une connexion, d'une imprimante en mode configuration, ou de l'écran de mise en service d'une caméra. L'appareil demande à être revendiqué, et le code est un identifiant de demande doté d'une durée de vie limitée.

La deuxième, c'est un code imprimé sur l'appareil ou sur son emballage. Ampoules connectées, caméras, certains routeurs et beaucoup de matériel grand public en portent un moulé dans le socle ou collé dessous. Permanent, émis en usine, et cette seule différence change la façon dont il doit être défendu.

La troisième, c'est le téléphone qui affiche un code que l'appareil lit. Moins courante, parce qu'il faut un appareil photo de l'autre côté, mais elle existe : un scanner portatif qui lit des identifiants réseau sur l'écran d'un téléphone, c'est cette forme.

Savoir dans quelle forme vous êtes vous dit où vit le secret et combien de temps il vit, et la plupart des erreurs ici viennent de traiter une forme comme une autre.

Ce que le code transporte réellement

Rarement un mot de passe. Dans la première forme, c'est en général un jeton de courte durée : un identifiant pour une revendication en attente conservée sur un serveur, pas un secret utilisable seul. Le téléphone détient le véritable identifiant et approuve la demande en attente. Comment fonctionne la connexion par scan, étape par étape expose cette poignée de main, et la même structure à trois parties sous-tend la revendication d'un appareil.

La deuxième forme porte souvent une identité d'appareil plus une clé publique. Wi-Fi Easy Connect, le mécanisme de mise en service que la Wi-Fi Alliance a défini pour ce travail, place dans le code un URI qui transporte la clé publique d'amorçage de l'appareil et une indication de canal. Le téléphone le lit, établit par la cryptographie qu'il parle bien à cet appareil précis, puis transmet les identifiants réseau par les ondes. Le mot de passe n'est jamais dans le symbole, donc photographier l'étiquette ne livre pas le réseau. Ce que cela livre, c'est la possibilité de tenter de mettre cet appareil en service, et c'est pourquoi le matériel n'accepte normalement la mise en service que dans un état particulier. Android prend cela en charge depuis Android 10 ; côté appareil, le support varie d'un fabricant à l'autre.

La troisième forme est celle où le code est vraiment le secret. Un code wifi ordinaire porte le nom du réseau, le type de sécurité et le mot de passe en texte lisible, donc quiconque le photographie détient le réseau. Le format du code wifi détaille ce qui se trouve à l'intérieur ; c'est un mot de passe imprimé plutôt qu'un jeton d'appairage, quelle que soit sa ressemblance avec les codes ci-dessus.

Le téléphone est la partie de confiance, et c'est le principe

L'appareil ne sait rien de vous. Votre téléphone, si, parce qu'il détient un identifiant pour le compte ou qu'il est déjà sur le réseau. L'appairage, c'est le téléphone qui prête sa confiance à quelque chose qui n'en a aucune, et le serveur au milieu croit le téléphone parce que son identifiant est valide.

Il n'y a pas de second contrôle pour savoir si vous le vouliez vraiment : si le téléphone approuve, la réponse est oui. Voilà pourquoi l'écran de verrouillage de votre téléphone fait partie de la sécurité de chaque appareil que vous avez appairé un jour, et pourquoi une application qui demande une empreinte avant de confirmer un appairage fait quelque chose de réel. Lu dans l'autre sens, un téléphone laissé déverrouillé dans la main de quelqu'un d'autre est une machine à approuver.

L'expiration est ce qui empêche un rejeu

Entre le moment où un code apparaît et le moment où quelqu'un l'approuve, une demande en attente non revendiquée est posée sur un serveur. Quiconque obtient cet identifiant et parvient à y faire attacher une approbation détient le résultat. La fenêtre est le risque, donc le jeton a une durée de vie, en général une ou deux minutes, et l'écran le rafraîchit au lieu d'en laisser un affiché.

Un code qui ne change jamais n'a pas cette fenêtre. Il en a une permanente. C'est là que le cas de l'étiquette imprimée devient inconfortable : un code moulé dans le socle d'une ampoule ne peut pas expirer et ne peut pas être renouvelé, donc sa défense n'est pas le secret mais l'état. La plupart des appareils n'acceptent l'appairage que tant qu'ils ne sont pas revendiqués, ou tant qu'un bouton physique est maintenu, ce qui rend l'étiquette inutile dès que le matériel appartient à quelqu'un. C'est une décision de conception à laquelle vous faites confiance, pas une propriété du code, et cela compte partout où le secret d'appairage est aussi le chemin de réinitialisation : une annonce de revente photographiée sous le mauvais angle l'a publié.

Quiconque construit cela devrait traiter la séquence comme une expiration plus un usage unique plus une machine à états qu'aucune course ne peut piéger, ce qui est exposé dans construire vous-même la connexion par scan. Le cas voisin d'un secret destiné à être permanent est traité par le code d'une application d'authentification.

Ce qui va de travers

Un code d'appairage photographié sur un écran partagé est le cas courant. Un code sur un projecteur, sur la télévision d'un hall, ou collé dans un ticket d'assistance a été remis à tous ceux qui peuvent le voir, et seule l'expiration protège le compte. Si l'un d'eux est apparu dans un ticket, un fil de discussion ou un partage d'écran, annulez-le et recommencez plutôt que de raisonner sur qui l'a vu.

Un code laissé dans un lieu public, c'est le même problème avec davantage de temps attaché. Une borne qui affiche son code de revendication toute la nuit, une imprimante de bureau partagé restée une semaine en mode configuration, un autocollant sur l'extérieur d'un appareil dans un couloir. Tout ce qui est laissé en mode appairage en public attend d'être revendiqué par le premier arrivé, et le propriétaire le retrouve ensuite déjà appairé à quelqu'un d'autre.

Puis la défaillance qui n'est pas du tout un problème de sécurité : un téléviseur trop sombre pour être lu. Les dalles paraissent sombres dans une pièce éclairée, le code est souvent rendu petit dans une interface agrandie pour un grand écran, et le canapé est à trois mètres. Ajoutez le reflet d'une fenêtre et il ne reste rien avec quoi un appareil photo puisse travailler. Pourquoi les codes échouent quand on les lit sur un écran en donne la mécanique. Pour qui construit l'écran, les correctifs sont ennuyeux et efficaces : fort contraste, jamais inversé, une zone de silence complète, plus grand que la maquette ne le voulait, et le code court imprimé dessous pour qu'une saisie de secours existe.

Et en France ?

Une escroquerie très répandue en France illustre parfaitement ce risque : l'arnaque au faux conseiller bancaire. Un appel, apparemment de votre banque, vous alerte sur une opération suspecte, puis vous demande de valider une « sécurisation » dans l'application, ou de scanner un code pour « appairer un nouvel appareil de confiance ».

En réalité, vous autorisez le téléphone de l'escroc. Votre banque ne vous demandera jamais de valider une opération, d'ajouter un appareil ou de scanner un code à la demande d'un interlocuteur au téléphone. Raccrochez, puis rappelez votre conseiller au numéro indiqué sur votre carte bancaire ou dans l'application.

Que faire quand c'est vous qui appairez

N'appairez qu'un appareil que vous avez devant vous, et seulement après avoir lancé la procédure vous-même. Ne scannez jamais un code d'appairage ou de connexion reçu par message, par e-mail ou pendant un échange avec un prétendu service d'assistance, quelle que soit l'explication fournie : l'explication est la seule chose qu'un escroc a besoin d'inventer. Et lisez l'écran de confirmation avant de valider, car le nom d'appareil qui s'y affiche est la seule partie de l'échange qu'un humain peut vérifier.

L'entretien est plus ennuyeux, et personne ne s'en occupe avant que quelque chose n'aille mal. La plupart des comptes listent les appareils appairés et permettent de les retirer : retirez donc ce que vous ne possédez plus, et désappairez un matériel avant de le vendre. Traitez une invite d'appairage inattendue comme une alarme plutôt que comme un caprice : quelque chose a demandé à entrer, et ce n'était pas vous. Le tableau de sécurité plus large traite les astuces voisines.

La prochaine fois qu'un appareil vous montre un code, lisez ce que nomme l'écran de confirmation avant de toucher. Ce nom, et le fait que vous tenez les deux objets, constituent toute la vérification disponible.

Partager cet article