Il ne faut pas publier son QR code de pass sanitaire sur les réseaux sociaux. Et si vous y tenez quand même, floutez-le complètement et correctement.

C’est une règle qui est répétée depuis des mois et des mois : il ne faut pas partager son pass sanitaire sur les réseaux sociaux, parce que ce document regroupe des données personnelles, mais aussi des informations médicales. Il n’est pas judicieux de les laisser traîner sur le net, ne serait-ce parce que des personnes pourraient s’en servir à la place de leur titulaire légitime.

Mais admettons que vous teniez quand même à partager une image montrant que vous avez bien eu votre dose de rappel. Dans ce cas, vous devriez vraiment prendre le temps de bien masquer les renseignements qui vous concernent et, surtout, de flouter fortement le QR code que vous pouvez flasher pour l’intégrer dans l’application TousAntiCovid (et que vous devez présenter pour accéder à certains lieux publics).

Un QR code peut rester exploitable même s’il est en partie masqué

La raison ? Même partiellement brouillé, un QR code reste techniquement exploitable, car ce dispositif est justement conçu pour rester fonctionnel même si une partie a été endommagée et est, de ce fait, devenue illisible. Il ne suffit donc pas de mettre quelques petites zones floues ici et là sur votre QR code pour être tranquille : il faut au minimum masquer la moitié du visuel (et le plus sûr, c’est même de tout cacher).

Le QR code a en effet pour particularité de comporter des corrections d’erreurs. Les motifs présents dans le visuel sont en partie redondants et, selon les QR code, ce niveau de redondance de l’information peut être plus ou moins élevé (7, 15, 25 et même 30 %). Cela augmente les chances que le code-barres en deux dimensions soit utilisable, même s’il en manque un morceau ou qu’une partie est devenue illisible — ce qui peut vite arriver avec des QR codes imprimés.

code QR

Un visuel désormais un peu trop familier. // Lauren Manning

Des QR codes sur des affiches peuvent, par exemple, être recouverts par des tags ou être déchirés sur un côté, ou tout simplement s’effacer en partie faute d’une encre suffisamment tenace. Bien entendu, plus on augmente le degré de redondance, moins on laisse de place à l’information. Plus le QR code est aussi susceptible de se complexifier. Il faut donc trouver un juste équilibre.

Un QR code est similaire à un code-barres standard, à ceci près qu’il n’est se lit pas dans un seul sens, horizontalement (c’est alors un code unidimensionnel), mais dans deux : à la fois verticalement et horizontalement. Il est bidimensionnel. Voilà pourquoi on en parle comme d’un code-barres en 2D. Ce format a l’avantage de permettre de stocker beaucoup plus de données, selon l’usage que l’on souhaite avoir.

Le QR code se présente sous la forme d’un carré dans lequel on trouve des modules noirs qui sont également de forme carrée. Ceux-ci sont disposés sur un fond blanc. Le QR code peut exister en plusieurs tailles : le plus petit peut compter 21 modules de côté et le plus grand 177. En conséquence, le QR code peut encoder de quelques dizaines de caractères (s’il est petit) à plusieurs milliers (s’il est immense).

Par ailleurs, on trouve aussi trois carrés identiques dans les angles du QR code. Orienté correctement, seul l’angle en bas à droite n’en a pas. Ces modules de grande taille sont là pour indiquer la position du QR code et de quelle manière il faut lire les données qu’il contient. On trouve également d’autres modules spéciaux qui ont un rôle dans le fonctionnement du dispositif.

Structure d'un code QR

La Sstructure d'un code QR.

Mais il peut y avoir d’autres circonstances, outre les dommages physiques, qui justifient de fournir une résilience au QR code. Il peut y avoir un problème de positionnement de tel ou tel module, des erreurs sur les bits (c’est-à-dire sur les données encodées dans les carrés noirs), une déformation du visuel, un problème d’écran, etc. Si rien n’était fait, ce serait infernal pour l’efficacité du pass sanitaire.

Dans un long développement technique sur Twitter, Mathis Hammel, expert informatique, était justement revenu en juillet sur cette problématique. Il prenait en exemple un article de France 3 dans lequel il montrait une technique pour reconstituer le QR code (en fait un code Datamatrix, qui, dans son principe, repose sur les mêmes fondations) même quand celui-ci est un peu flouté.

Comme le rappelle une foire aux questions sur TousAntiCovid, « les résultats des tests réalisés en France et les actes de vaccination sont désormais authentifiés avec un Datamatrix (une sorte de QR code) via la norme 2D-DOC/ANTS, employée par l’administration française pour certifier ses documents. On évite ainsi les fraudes possibles liées à la présentation de faux ».

Le code Datamatrix dispose lui aussi de fonctions internes visant à corriger des erreurs, via une répétition de l’encodage des données, et par des fonctions permettant de reconstruire et remplacer des données perdues, de façon plus ou moins prononcée selon ce que l’on cherche à atteindre. Ainsi, le QR code ou le code Datamatrix peuvent toujours être lus, même si une partie est considérée comme « endommagée ».

De fait, la remarque qui vise les particuliers s’applique aussi à la presse. Les journalistes et les photographes qui sont amenés à illustrer des articles sur les QR codes doivent prendre grand soin à brouiller une majorité du visuel et, surtout, à utiliser une solution qui ne peut pas être facilement renversée — comme un léger flou artistique, qu’il serait possible, avec du temps, de retirer en accentuant la netteté du cliché.