StopCovid : l’application collecte bien plus de données que ce que le gouvernement avait annoncé


Le secrétariat d’État au numérique s’explique.

Dans un décret relatif au traitement de données dénommé « StopCovid » qui a été publié le 29 mai 2020, le gouvernement a identifié les données qui seraient traitées.

Il est par exemple expliqué que, pour les utilisateurs diagnostiqués ou dépistés positifs au virus du covid-19 qui le souhaitent, l’historique de proximité des contacts à risque de contamination par le virus du covid-19 est transmis au serveur central.

Cet historique correspond aux pseudonymes aléatoires et temporaires enregistrés par l’application dans les quarante-huit heures qui précèdent la date de début des symptômes ainsi que dans la période comprise entre cette date et la date de transfert de l’historique de proximité au serveur central ou, à défaut de renseignement de la date de début des symptômes par la personne dépistée positive, pendant les quinze jours qui précèdent le transfert de l’historique de proximité.

En clair, sur le papier, si vous avez téléchargé l’application StopCovid, que vous êtes atteint par le virus et que vous le déclarez dans l’application, alors les données transmises au serveur central seront celles des personnes avec lesquelles vous avez été en contact « à moins d’un mètre pendant au moins 15 minutes », et qui disposent aussi de l’application.

La collecte d’informations liées à un utilisateur de StopCovid devait donc se limiter à ces contacts-là : et non à la totalité des personnes croisées. Selon Gaëtan Leurent, un chercheur français en cryptographie de l’Institut national de recherche en informatique et en automatique (Inria, qui s’occupe du projet StopCovid), en pratique ce n’est pas le cas.

Sur la plateforme, il explique que trop de données sont envoyées au serveur :

« Quelles sont exactement les données envoyées au serveur quand un utilisateur se déclare malade ? »

  • Tous les contacts croisés pendant les 14 derniers jours, ou
  • Uniquement les contacts avec un risque de transmission, c’est-à-dire à moins d’un mètre pendent plus de 15 minutes

« Le décret relatif à StopCovid indique la deuxième option, qui suit le principe de minimisation des données demandé par la CNIL et le RGPD. Cependant, à ma connaissance, la version actuelle de StopCovid utilise la première option. Elle envoie donc une grande quantité de données au serveur qui n’a pas d’intérêt pour tracer la propagation du virus, mais qui pose un vrai danger pour la vie privée.

Est-ce que vous travaillez sur une mise en place de la deuxième option?

Le principe de minimisation des données du RGPD, mentionné aussi dans l’avis de CNIL voudrait qu’on utilise la deuxième option. »

Selon lui, les textes (notamment l’arrêté et le décret qui encadre le déploiement de StopCovid) indiquent clairement la situation 2 : l’application ne traite et stocke que les contacts « à risque de contamination » et en cas de déclaration du malade, ne transmet que les contacts « à risque de contamination ». D’après l’arrêté, cela signifie à moins d’un mètre pendant plus de 15 minutes.

« Malheureusement, l’application StopCovid utilise apparemment la première option. J’ai fait un test en installant StopCovid sur deux téléphones, et en l’activant une dizaine de secondes avec les deux téléphones dans deux pièces différentes (environ 5 mètres de distance, plus un mur). Quand je me déclare ensuite comme malade, mon appli envoie bien ce contact sur le serveur, alors qu’il n’a aucun intérêt épidémiologique. (Je me déclare évidemment avec un faux code de malade, et le serveur refuse mes données, mais cela permet de bien voir ce qui est envoyé).

Ce comportement est aussi confirmé par les Administrateurs StopCovid

Bizarrement, il y a du code dans l’application qui a l’air d’implémenter un algorithme de mesure de distance de Gorce, Egan et Gribonval, mais ce code n’est apparemment pas utilisé par le reste de l’application. Si ce comportement est confirmé, je pense que c’est en contradiction avec le décret qui encadre l’utilisation de StopCovid, et cela présente un vrai risque pour le serveur d’apprendre le graphe social des utilisateurs. »

Le secrétariat d’État au numérique s’explique

Contacté par Mediapart, le secrétariat d’État au numérique n’a pas remis en cause ces révélations : « StopCovid repose sur la remontée de l’historique de proximité d’un utilisateur diagnostiqué positif : cet historique de proximité est constitué des contacts rencontrés par l’utilisateur positif. » Sous-entendu : tous les contacts, et non pas seulement les plus proches.

Cependant il a tenu à les justifier. Il explique que « tous les quarts d’heure, un nouvel identifiant est attribué à chaque appareil » : « Ainsi, un contact qui ne durerait que cinq minutes pourrait être la suite d’un contact de douze minutes : deux contacts que seul le serveur est capable de relier pour comprendre qu’il s’agit, en réalité, d’un seul, de 17 minutes, donc à risques. »

Raison pour laquelle « le calcul de l’exposition au risque d’un des contacts de cet historique de proximité est effectué sur le serveur ». C’est donc le serveur qui va déterminer, entre tous les contacts de la personne positive, ceux qui auront été exposés suffisamment près et suffisamment longtemps.

Ces explications ne convainquent, cependant, pas le chercheur Gaëtan Leurent, qui pense « qu’il y aurait des moyens assez simples de limiter le problème. Le téléphone pourrait filtrer les données pour ne garder les contacts courts que quand ils sont juste avant ou juste après un changement d’identifiant ».

Le chercheur estime que « Ce qui serait plus respectueux de la vie privée, c’est que le téléphone calcule » lui-même la distance qui le sépare d’un autre repéré par Bluetooth, puis envoie au serveur, le cas échéant, seulement ceux qui seront restés assez près, assez longtemps. « Ce qui est dommage, c’est que si on envoie tous les contacts, c’est beaucoup plus d’infos que ce qui est utile. Il y a un risque sur la vie privée en cas de réidentification ou de recyclage des infos par malveillance. » Car la portée du Bluetooth peut aller, selon la puissance des appareils, émetteurs et récepteurs, jusqu’à une vingtaine de mètres.

Pour Baptiste Robert, hacker et chercheur en sécurité informatique qui a participé à la recherche de bugs dans l’application, l’envoi de tous les contacts permet « de voir des récurrences » : chaque jour, « on croise les mêmes personnes, on bosse avec les mêmes personnes ». Ainsi, des acteurs mal intentionnés pourraient « réidentifier la donnée assez rapidement ». Il regrette le choix qui a été fait, car selon lui, « l’appli pourrait trier ce qu’elle envoie ».

La Commission nationale informatique et libertés (CNIL) a fait savoir à Mediapart que des contrôles étaient « en cours » sur le sujet. Au secrétariat d’État au numérique, on assure, ce mardi 16 juin, que la CNIL a été parfaitement informée du fonctionnement réel de StopCovid et que son avis sur le dispositif, largement positif et rendu mardi 26 mai, a été pris en toute connaissance de cause.

Lire aussi :StopCovid, Health Data Hub : les données de santé des Français aux mains des Américains ?

Sources : DeveloppezGaëtan Leurent, Mediapart


Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *