J'ai téléchargé covid safe et je me suis demandé ce que cache le QR code. Voilà ce que j'ai trouvé en quelques recherches 😀
J'ai longtemps hésité puis je me suis dit que j'allais pas poster mon QR code sur twitter. Mais j'ai trouvé ce repository contenant les jeux de tests de l'UE pour chacune des pays : https://t.co/k9fnMr8VJY 🥳c'est chouette ils font des tests !
J'ai pris un QR code du jeu de test Belge et j'obtiens une chaine de caractère bizarre commençant par 'HC1:' il s'agit d'un Digital Green Certificate un protocol développé par l'UE récemment dont voici la spécification : https://t.co/xWMP9FLnAw https://t.co/zpLFbXpp2z
Analysons cela🧐le document défini une méthode permettant d'encoder des informations de santé dans un QR code. Ce n'est pas axé COVID et ça pourrait être réutiliser. L'objectif semble être une meilleur communication d'info de santé entre états membres.
Le document explique comment les données sont encodées et @MichelPatz m'a fournis un petit script python pour les décoder. On obtient ceci : https://t.co/kkX8KOHG2S
Les entrées 1, 4 et 6 représentent respectivement le pays qui a émetteur ainsi que la date de fin et de début de validité. On retrouve aussi le nom et la date de la naissance de la personne à qui appartient le certificat.
L'entrée -260 peut contenir n'importe quel info médicale qu'un état membre voudrait partager via le QR code. Dans ce cas on a que des informations concernant le COVID. J'ai trouvé un autre document de l'UE🇪🇺 expliquant le contenu de cette section : https://t.co/YTeJuCfgWE
Pour le COVID on retrouve le champs "v" représentant les vaccinations. On y trouve plusieurs info tel que 'tg : 840539006' qui indique la target qui est le code du COVID-19. La encore on sent la volonté de rester générique afin de pouvoir renseigner d'autres targets.
On retrouve aussi d'autre info tel que le vaccin utilisé, qui a fabriqué le vaccin, combien de doses ont été faites et combien sont requises etc. Bref jusque la on dirait que c'est facil à contre-faire 🤔.
Mais un des champs à l'air plus bizarre que les autres c'est le champs CI. Il s'agit d'un identifiant unique pour le certificat de vaccination. Encore une fois la documentation de ce champ est publique et peut être trouvée ici : https://t.co/Z8i7NNu9xs
Voici un exemple de CI :
01BEVLMYOBFGRKELQXJAVBWAJNCK#E
Les deux premiers numéros (01) représentent la version du protocole et sont suivis de 2 lettres (BE) représentant le pays qui a émis le certificat. Le reste est une chaine random suivis d'un checksum.