StopCovid

L’appli qui en savait trop

Loin de se limiter au recensement des contacts « à moins d’un mètre pendant au moins quinze minutes », l’application mise en place par le gouvernement collecte, et transfère le cas échéant au serveur central, les identifiants de toutes les personnes qui se sont « croisées » via l’appli. De près ou de loin.

Sur le papier, c’est très clair. Si vous avez téléchargé l’application StopCovid, que vous êtes atteint par le virus et que vous le déclarez dans l’appli, 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. Les personnes seront alors prévenues qu’elles ont rencontré quelqu’un susceptible de leur avoir transmis le virus.

Ce critère de distance et de durée, moins d’un mètre pendant plus d’un quart d’heure, est l’objet unique d’un arrêté du 30 mai 2020, qui lui-même précise le décret du 29 mai relatif à l’application. Le décret encadre le « traitement de données » effectué par l’application. En clair, il constitue l’assise légale de son fonctionnement.

Sans être aussi précis, c’est ce principe qu’avait expliqué Cédric O au mois d’avril, dans un entretien au journal Le Monde : « Lorsque deux personnes se croisent pendant une certaine durée, et à une distance rapprochée, le téléphone portable de l’un enregistre les références de l’autre dans son historique », historique qui sera transmis au serveur central si la personne se déclare porteuse du virus.

C’est ce qu’indique aussi la foire aux questions StopCovid mise en ligne par Bercy (ministère de tutelle du secrétariat d’État au numérique) : « Lorsque deux téléphones se croisent pendant au moins 15 minutes à moins d’un mètre, chacun enregistre l’autre dans l’historique de son application de manière cryptée. »

Le problème, c’est que les choses ne se passent pas vraiment comme ça.

Comme l’ont découvert des informaticiens un peu curieux, et comme le secrétariat d’État au numérique l’a confirmé à Mediapart, la collecte des données est beaucoup plus large que ce que prévoit l’arrêté. Beaucoup plus large, aussi, que ce que tout le monde avait donc cru comprendre au vu de la campagne de communication du gouvernement, campagne dont témoigne encore ce tweet de Cédric O, qui relaie « les explications pédagogiques du JT de @France2tv ». Le sujet du 20 heures explique très clairement, images à l’appui, que l’appli va enregistrer les contacts rapprochés, selon le critère « une distance de moins d’un mètre pendant plus de quinze minutes ».

Un tweet de Cédric O relaie un extrait du JT de France 2. © Mediapart

Gaëtan Leurent est chercheur en cryptographie à l’Inria, l’Institut national de recherche en informatique auquel le gouvernement a confié le pilotage du projet StopCovid. Il est aussi l’un des coauteurs du site risques-traçage.fr, qui a très tôt exposé un à un les dangers d’une application de contact tracing telle que StopCovid sous le titre « Le traçage anonyme, dangereux oxymore ». « Depuis, explique-t-il à Mediapart, on a suivi ce qui se passe avec le déploiement. »

Deux points connexes l’ont intrigué particulièrement : comment la distance entre deux appareils est-elle calculée, et quelles sont les informations envoyées quand on se déclare malade. Il a donc mené des expériences. En plaçant deux téléphones à une distance de cinq mètres l’un de l’autre, séparés par un mur et pendant seulement quelques secondes, il s’est aperçu que ce « contact » entre les deux appareils, sans intérêt épidémiologique, était pourtant envoyé au serveur central s’il se déclarait porteur du virus.

Et c’est bien là le hic. Interrogé par Mediapart, le secrétariat d’État au numérique confirme que « 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. « Le calcul de l’exposition au risque d’un des contacts de cet historique de proximité est effectué sur le serveur », poursuit le ministère. C’est 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.

« 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, estime Gaëtan Leurent. « 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… La quantité de gens croisés à moins de vingt mètres dans une journée, éventuellement pendant seulement quelques secondes, comme quelqu’un sur le trottoir d’en face, est évidemment sans comparaison avec le nombre de personnes vues un quart d’heure à moins d’un mètre.

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 ».

Le mathématicien Paul-Olivier Dehaye, spécialiste des données personnelles, coauteur d’une tribune titrée « StopCovid est un projet désastreux piloté par des apprentis sorciers », se dit auprès de Mediapart « surpris » puis « sidéré » du choix qui a été fait par la France. « Ça fait beaucoup de contacts », souligne-t-il, et même s’il « ne s’agit que de pseudos, l’État et beaucoup d’autres ont tout pour passer au-delà de ces pseudos ».

Au contraire, proteste le secrétariat d’État, « il n’y a pas de possibilité de reconstitution de graphe social par le serveur puisqu’il ne conserve que les données relatives à la personne exposée (et non à la personne positive) ».

Le stockage et le transfert des contacts brefs est justifié, selon le secrétariat au numérique, par le fait que tous les quarts d’heure, un nouvel identifiant est attribué à chaque appareil. Ainsi, un contact qui ne durerait que 5 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.

Pour remédier à cette difficulté, le chercheur en cryptographie Gaëtan Leurent pense « qu’il y aurait des moyens assez simples de limiter le problème ». Par exemple, « 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. Ça éliminerait déjà la majorité des contact courts ».

La Commission nationale de l’informatique et des libertés (Cnil) avait rappelé, dans sa délibération du 25 mai « portant avis » sur le projet de décret, que les atteintes « au respect de la vie privée et à la protection des données à caractère personnel » devaient être « non seulement justifiées par un motif dintérêt général » mais aussi « nécessaires et proportionnées à la réalisation de cet objectif ». Par exemple, s’agissant de la durée de l’historique, les contacts transmis ne doivent pas remonter au-delà de 48 heures avant le début des symptômes de la personne qui se déclare positive.

La Cnil prenait acte, toutefois, « de ce que l’algorithme permettant de déterminer la distance entre les utilisateurs de lapplication reste à ce stade en développement et pourra subir des évolutions futures ». Ce calcul de distance est un point crucial pour toutes les applications de tracing, et notamment celles qui s’appuient sur le Bluetooth, lequel n’est pas fait pour mesurer des distances mais pour échanger des informations.

Afin de voir ce qu’il se passe réellement dans l’application, la Commission nationale de l’informatique et des libertés a ensuite annoncé le 4 juin une campagne de contrôle de StopCovid et des fichiers Sidep et Contact Covid mis en place par le gouvernement dans le cadre de la lutte contre la pandémie de Covid-19. Parmi les points de contrôle, figurent notamment « les flux de données et les destinataires ».
« Ces constatations pourront conduire, en cas de manquements graves ou répétés, à l’adoption de mesures correctrices, telles que des mises en demeure et/ou des sanctions », annonçait l’autorité indépendante de contrôle. En réponse à nos questions, la Cnil s’est retranchée derrière des contrôles « en cours », dont les résultats ne sont pas encore connus.

Le secrétariat d’État au numérique affirme quant à lui que « ces informations sur le fonctionnement de l’application, et en particulier le fait que le calcul d’exposition se fait sur le serveur, sont bien celles auditées par la Cnil qui a jugé sur cette base que l’application respecte bien le principe de minimisation des données ». La Direction générale de la santé, responsable du traitement des données, ne nous avait pas répondu au moment de la publication.

« En dépit de l’amoncellement des textes, regrette l’avocat Vincent Brengarth, on accuse en France, et en pratique, un retard considérable en matière de protection des données personnelles ». Si la collecte des données effectuée par l’application excédait ce qui est prévu par les règlements qui l’encadrent, elle pourrait selon lui constituer une atteinte aux droits de la personne, y compris par négligence, et tomber sous le coup des articles 226-16 et suivants du Code pénal.

Plus généralement, Vincent Brengarth regrette que le consentement –sur lequel repose entièrement cette application– soit de plus en plus souvent détourné, et même retourné : celui-ci « devient un gage de protection » de ceux qui l’ont recueilli, « plutôt que des personnes qui l’ont donné ».

Mediapart

Lire aussi