N.B. 2021 : cet article a été écrit début avril 2020 pour démythifier le QR code à l’heure de son utilisation pour contrôler les déplacements des citoyens. Ceux utilisés dès 2021 pour attester de la vaccination sont une variante qui ne contient plus de texte en clair mais un ensemble de caractères lui-même encodé de façon opaque, il n’est donc pas possible de vérifier les données qu’il contient comme indiqué ci-dessous.
Celui des deux QR codes destiné à être scanné par l’appli TousAntiCovid est une adresse internet commençant par “https://bonjour.tousanticovid.gouv.fr/” en clair puis les données codées, mais étonnamment il ne nécessite pas de connexion Internet pour être validé par l’appli.
Plus d’informations à ce sujet :
https://www.numerama.com/tech/705491-quest-ce-que-le-datamatrix.html
https://www.service-public.fr/particuliers/actualites/A14869
On l’a tous croisé, mais qu’est-ce que c’est, exactement ? Et surtout comment vérifier l’information qu’il contient ?
La réponse est plus simple qu’il n’y paraît.
Wikipedia nous dit : “Le code QR (en anglais QR Code, pour Quick Response Code) est un type de code-barres en deux dimensions”.

Le code barre permet de coder une suite de chiffres avec des barres verticales plus ou moins larges.
Le QR code reprend le même principe en superposant grosso modo plusieurs lignes de codes barres, permettant de coder des informations plus complexes comprenant du texte et des caractères spéciaux.
Par exemple, cette citation du film de Guédiguian avec Ariane Ascaride, “Les vieux, faudrait les tuer à la naissance !” (Marius et Jeannette) correspond au QR code suivant (guillemets et parenthèses incluses) :

Il existe pléthore d’applications de création/décryptage de QR code (sur ordi et smartphone), dont certaines répertoriées dans cet article : https://www.papergeek.fr/qr-code-comment-scanner-pc-mac-android-iphone-chrome-20768
J’ai d’ailleurs utilisé QR Journal, sur Mac, pour générer l’exemple ci-dessus.
Ausweis & QR code
En ces temps de pandémie, le gentil gouvernement français met gentiment à notre gentil service une gentille autorisation de sortie utilisant le QR code, on peut donc avoir envie, par curiosité ou paranoia, de vérifier quelles informations y sont codées.
Utilisant l’application ci-dessus, on découvre donc qu’il n’y a effectivement rien de compromettant dans ce QR code, juste les données renseignées dans le formulaire (sur une ligne) : Cree le : 06/04/2020 a 15h18 ; Nom : Rotten ; Prenom : Johnny ; Naissance : 31/01/1956 a London ; Adresse : 1 Bvd No Future 59000 Lille ; Sortie : 07/04/2020 a 15h00 ; Motifs : courses
Rien n’empêche donc, a priori d’utiliser une application pour créer son QR code directement — même si ça n’a pas grand intérêt, a priori, sauf si vous n’avez pas accès à Internet (encore faut-il avoir téléchargé la bonne appli auparavant… et avoir repéré l’intitulé exact du motif de sortie)
À noter : pas d’accent. Pour le reste, les infos sont telles qu’on les a saisies — le formulaire officiel initial ne contrôlait d’ailleurs rien du tout, on pouvait par exemple être né le 37/16/2038 sur Mars, pas de problème. 😀
(mises-à-jour du formulaire : https://github.com/LAB-MI/deplacement-covid-19/blob/master/CHANGELOG.md)
N.B. : par contre, l’attestation n’est pas générée localement (sur votre ordi), les infos sont envoyées “quelque part”, rien ne dit qu’il n’y a pas un contrôle de cohérence pour vérifier qu’on s’est bien connecté à l’heure indiquée dans le QR code… 😉
On peut voir ici les informations telles qu’elles s’affichent sur l’application utilisée par la police : https://www.igen.fr/ailleurs/2020/04/info-igen-voici-lapplication-utilisee-par-les-policiers-pour-verifier-les
Allez en paix, restez confinés et bonne santé ! 🙂
Màj 11/2020 : nouveau confinement, nouveau formulaire (https://github.com/LAB-MI/attestation-deplacement-derogatoire-q4-2020) assez proche du précédent mais quelques différences ; il y a désormais un retour chariot après les points-virgules, ce qui change évidemment le QR code.