LAB-MI / attestation-deplacement-derogatoire-q4-2020

attestation-deplacement-derogatoire-q4-2020 public
MIT License
341 stars 249 forks source link

Potentiel stockage des données au moment du scan du QR Code #132

Open choucavalier opened 3 years ago

choucavalier commented 3 years ago

Si j'ai bien lu le code Javascript qui s'occupe de la génération du QR Code, une fois le formulaire soumis, toutes les données sont utilisées pour générer le QR Code.

La fonction QRCode.toDataURL est appelée dans generateQR. Cette fonction generateQR est appelée ici https://github.com/LAB-MI/attestation-deplacement-derogatoire-q4-2020/blob/0ab3aad98c8e1dd589dfffc9099563f271847a42/src/js/pdf-util.js#L106 et reçoit toutes les données du dictionnaire data défini ici https://github.com/LAB-MI/attestation-deplacement-derogatoire-q4-2020/blob/0ab3aad98c8e1dd589dfffc9099563f271847a42/src/js/pdf-util.js#L35

  const data = [
    `Cree le: ${creationDate} a ${creationHour}`,
    `Nom: ${lastname}`,
    `Prenom: ${firstname}`,
    `Naissance: ${birthday} a ${placeofbirth}`,
    `Adresse: ${address} ${zipcode} ${city}`,
    `Sortie: ${datesortie} a ${heuresortie}`,
    `Motifs: ${reasons}`,
  ].join(';\n ')

Si je comprends bien, toutes ces données sont stockées dans le QR Code ? Et sont donc potentiellement récupérables par n'importe quel outil capable de scanner un QR Code ? Cela n'est-il pas problématique ?

maximebochon commented 3 years ago

Vous pouvez même faire plus simple : scannez un QR-Code d'une attestation pour en voir son contenu, soit à l'aide d'un téléphone, soit par envoi d'une image du QR-Code à un service de décodage de votre choix. Vous verrez qu'il s'agit bien d'un stockage standard de texte sous la forme que vous avez observée dans le code source.

Je ne fais pas partie de l'équipe en charge du projet, mais de ce que j'ai compris, le but du QR-Code est de faciliter le contrôle par les agents de police, en le rendant rapide et sans contact pour des raisons sanitaires. Les agents de police utilisent une application interne appelée CovidReader pour en effectuer la lecture et faciliter la vérification de l'heure de sortie par rapport à l'heure courante. Vous trouverez un certain nombre d'articles qui en parlent dans la presse.

Contrairement à l'attestation en ligne ou à l'application mobile TousAntiCovid, le code source de CovidReader n'est pas public, mais au même titre que d'autres applications utilisées par la police, ce qui peut sembler normal.

La possibilité de récupération des informations dont vous parlez et qui semble vous interpeler ne me choque pas. En effet, lors d'un contrôle, le principe même est de fournir des informations à la police, qui peut ensuite s'en servir pour par exemple effectuer des contrôles complémentaires comme consulter la liste des personnes recherchées, etc. Donc que ce soit par l'intermédiaire d'un document écrit, par l'intermédiaire d'un échange oral, ou par QR Code, le résultat le même : les informations sont portées à la connaissance de l'agent de police, lesquelles peuvent être consignées quelque part. Le QR Code rend juste l'opération plus rapide et plus sûre d'un point de vue sanitaire.

Un détail cependant : dans la version actuelle du générateur d'attestation en ligne ou de TousAntiCovid, le QR-Code contient un horodatage de création qui n'est pas saisi par l'utilisateur mais ajouté automatiquement, ce qui n'est naturellement pas le cas pour une version "formulaire simple". Donc la vraie conséquence du retrait du QR-Code serait la perte de cet horodatage de création, sujet qui a déjà été évoqué dans certains issues.

choucavalier commented 3 years ago

Je ne suis pas d'accord avec vous pour dire que "lire le formulaire rempli" et "scanner le QR-Code en utilisant un outil informatique" soit pareil. Dans le premier cas, si volonté il y a de stocker des données, l'agent de police aurait à recopier les informations en question. Dans le second cas, les données pourraient être envoyées directement à un serveur par l'application CovidReader (ou autre) dont vous parlez, sans même que l'agent de police soit au courant.

maximebochon commented 3 years ago

Effectivement ce scénario est techniquement de l'ordre du possible.

maximebochon commented 3 years ago

Sujet à rapprocher de l'issue #97 et des remarques de @xgaia.

BP22190 commented 3 years ago

On pourrait également poser la question à propos de l'application TousAntiCovid : au début (première génération StopCovid), on nous a bien expliqué que l'usage était totalement anonymisé, aucun risque concernant le traçage des utilisateurs. Maintenant, cette application permet de générer l'attestation, qui elle est nominative. Quel contrôle a l'usager que cette application fait la part entre la fonctionnalité de traçage de cas de personnes infectées, et les identités entrées dans la même application dont l'usage n'est donc plus anonyme, aucune...

Une information intéressante est quand même de savoir que des gendarmes ont demandé à ce que l'application CovidReader soit automatiquement reliée en particulier au fichier des personnes recherchées ! Ont-ils été entendu... ? Le lien ici :

maximebochon commented 3 years ago

@BP22190 Le code source de TousAntiCovid est disponible ici : https://gitlab.inria.fr/stopcovid19

BP22190 commented 3 years ago

Merci de l'info concernant le code source de TousAntiCovid. Mea Culpa, je n'aurais pas du écrire qu'il n'y avait aucun contrôle possible concernant le code source.

Il reste que la demande des GendarmesCitoyens de relier StopCovid (les données du QRcode) au FPR est soucieuse, ne serait-ce que sur l'intention et la confusion des missions de contrôles dans l'esprit de certains !

Je cite ce qu'écris ce gendarme sur le processus actuel:

"Jusqu’à présent, le gendarme doit contrôler l’attestation et l’identité de la personne. Il vérifie si l’individu qu’il contrôle n’est pas inscrit au fichier de personnes recherchées (FPR). Il inscrit à la main sur une application dédiée (Messagerie Tactique / FPR) les informations d’identité."

Nous comprenons donc que, même si l'opération est manuelle telle qu'elle est décrite, le gendarme contrôleur enregistre l'identité des personnes contrôlées sur une autre application. Ce n'est pas, ce que j'ai compris, l'objectif annoncé de cette application que de donner lieu à traçage des déplacements des individus, même si ce traçage est fait en deux temps.

maximebochon commented 3 years ago

Je ne me suis jamais fait contrôler, ni pendant le premier confinement, ni pour l'instant pendant le second confinement, mais je suppose qu'un contrôle de police ne se cantonne pas à un unique objectif.

Par exemple, si je suis en voiture, je m'attends, en plus du contrôle d'identité et d'attestation de sortie, à un contrôle du permis de conduire et de la carte de grise, et à une vérification qu'il ne s'agit pas d'un véhicule volé, et enfin, en cette période de risque terroriste, que je ne fais pas partie d'une liste de personnes potentiellement recherchées.

Aeris1One commented 3 years ago

Ayant eu l'opportunité d'accéder un terminal Neo, je peux préciser que CovidReader fonctionne parfaitement hors ligne et sans demander la permission d'accès internet. Dans tous les cas, même hors confinement, n'importe qui peut être contrôlé et comparé au FPR à tout moment, c'est juste plus fréquent (mais pas systématique, les FDO n'ont pas que ça à faire de retaper toute la carte d'identité de la personne dans le FPR et vérifient souvent seulement la validité de l'attestation), en conséquence, je ne pense pas qu'il soit possible de tracer les personnes via l'attestation ou CovidReader mais ça semble possible via les demandes au FPR, indépendamment du confinement mais du niveau Vigipirate.