Le Qrcode européen a remplacé le 2dcode que nous avions déjà étudié ici, mais que contient cette nouvelle version ?
Nous allons partir de cette image fictive :
Et nous demander comment vérifier l’information qu’il contient.
Télécharger votre Qrcode européen ou utilisez celui-ci et ouvrez un terminal. (Oui on est sous linux)
On commence par lire le contenu du Qrcode :
$ zbarimg –raw greenpass-demo.png
On obtient le contenu brut :
HC1:NCFOXN%TS3DH3ZSUZK+.V0ETD%65NL-AH-R6IOO6+IUKRGI.I5BROCWAAT4V22F/8XG3M9JUPY0BX/KR96R/S09T./0LWTKD33236J3TA3M4VV2 73-E3GG396B-43O058YIB73AG3W19UEBY5:PI0EGSP42DN43U0CEBQ/GXQFY73CIBC:G 7376BXBJBAJ UNFMJCRN0H3PQNE33H3OA70M3FMJIJN523.K5QZ4A+2XEN QT QTHC31M3+E32R44$28A9H0D3ZCL4JMYAZ+S-A5$XKX6T2YC 35H/ITX8GL2-LH/CJTK96L6SR9MU9RFGJA6Q3QR$P2OIC0JVLA8J3ET3:H3A+2+33U SAAUOT3TPTO4UBZIC0JKQTLQDKBO.AI9BVYTOCFOPS4IJCOT0$89NT2V457U8+9W2KQ-7LF9-DF07U$B97JJ1D7WKP/HLIJLRKF1MFHJP7NVDEBU1JZ222E.GJF67Z JA6B.38O4BHHB0EGLE2%V -3O+J3.PI2G:M1SSP2Y3D38-G9C+Q3OT/.J1CDLKOYUV5C3W1A:75S4LB:6REPKM3ZYO4+QDNDLT2*ESLIH
On retire les 4 premier caractères :
NCFOXN%TS3DH3ZSUZK+.V0ETD%65NL-AH-R6IOO6+IUKRGI.I5BROCWAAT4V22F/8XG3M9JUPY0BX/KR96R/S09T./0LWTKD33236J3TA3M4VV2 73-E3GG396B-43O058YIB73AG3W19UEBY5:PI0EGSP42DN43U0CEBQ/GXQFY73CIBC:G 7376BXBJBAJ UNFMJCRN0H3PQNE33H3OA70M3FMJIJN523.K5QZ4A+2XEN QT QTHC31M3+E32R44$28A9H0D3ZCL4JMYAZ+S-A5$XKX6T2YC 35H/ITX8GL2-LH/CJTK96L6SR9MU9RFGJA6Q3QR$P2OIC0JVLA8J3ET3:H3A+2+33U SAAUOT3TPTO4UBZIC0JKQTLQDKBO.AI9BVYTOCFOPS4IJCOT0$89NT2V457U8+9W2KQ-7LF9-DF07U$B97JJ1D7WKP/HLIJLRKF1MFHJP7NVDEBU1JZ222E.GJF67Z JA6B.38O4BHHB0EGLE2%V -3O+J3.PI2G:M1SSP2Y3D38-G9C+Q3OT/.J1CDLKOYUV5C3W1A:75S4LB:6REPKM3ZYO4+QDNDLT2*ESLIH
La documentation indique que c’est codé en Base45
Et on trouve en ligne des décodeurs Zlib/Cose/CBOR qui vont nous donner le JSON contenant les informations à lire.
Et on obtient pour cet exemple :
{
« 4 » : 1624458597, <- date 26 juin 2021 : date de création du certificat
« 6 » : 1624285797, <- date 21 juin 2021 : date de création du certificat (rappel c’est un certificat bidon)
« 1 » : « AT », <- Pays , vous devriez avoir FR pour la France.
« -260 » : {
« 1 » : {
« v » : [ {
« dn » : 1, <- nombre de dose
« ma » : « ORG-100030215 », <- fabriquant du vaccin, ici Biontech
« vp » : « 1119349007 », <- version du vaccsin : ici ARN
« dt » : « 2021-02-18 », <- date de la dernière vaccination
« co » : « AT », <- Pays , vous devriez avoir FR pour la France.
« ci » : « URN:UVCI:01:AT:10807843F94AEE0EE5093FBC254BD813#B »,
« mp » : « EU/1/20/1528 », <- identifiant du vaccin
« is » : « Ministry of Health, Austria », <- oragnisme de délivrance
« sd » : 2,
« tg » : « 840539006 » <- Maladie concernée : ici Covid 19.
} ],
« nam » : {
« fnt » : « MUSTERFRAU<GOESSINGER », <- Nom de famille et prénom en dessous
« fn » : « Musterfrau-Gößinger »,
« gnt » : « GABRIELE »,
« gn » : « Gabriele »
},
« ver » : « 1.2.1 »,
« dob » : « 1998-02-26 » <- date de naissance
}
}
}
Voilà.
Rien de bien nouveau.
On retrouve aussi le même principe de clé publique et clé privée. Qui permet à l’appli de vérifier que les données du QRcode européen n’ont pas été falsifiée.
Source pour cet article : https://gir.st/blog/greenpass.html
A suivre…