D'abord annoncée le 1er avril par Cédric O, secrétaire d'état au numérique, {% cite noauthor_coronavirus_2020 %}, ce n'est que récemment (autour du 20 avril) que [Inria](https://www.inria.fr) (un centre de recherche public en informatique) a annoncé publiquement être en charge du développement de cette dernière. Récemment, des détails techniques ont été donnés dans la presse et directement sur le site web d'Inria {% cite bembaron_ou_2020 sportisse_figaro %}.
<center><em>Combattre un virus avec un téléphone ? Crédits : OOI JIET, <ahref="https://unsplash.com/photos/mXPukrX-794">Unsplash</a></em></center><br/>
Pour bien comprendre les enjeux, il est nécessaire de resituer le contexte d'apparition de cette application. Ce projet présente des lacunes qui pourraient être aisément détournées de leur usage premier et qui invitent à réfléchir sur sa pertinence.
Beaucoup de solutions ont été proposées par les chercheurs et les entreprises. Les projets suivants ont particulièrement fait parler d'eux : BlueTrace, le projet original déployé à Singapour {% cite bay_bluetrace_nodate %}, East Coast PACT par le MIT {% cite noauthor_west_nodate %}, West Coast PACT par l'université de Washington {% cite chan_east_2020 %}, DP3-T, une solution principalement développée en Suisse par l'EPFL {% cite noauthor_dp-3tdocuments_2020 %} et finalement ROBERT, le candidat pour devenir StopCovid, principalement développé en France par Inria {% cite noauthor_robert-proximity-tracingdocuments_2020 %}.
Ces applications fonctionnent de façon relativement similaire. Une fois installées sur le téléphone de l'utilisateur, elles lui attribuent plusieurs[^1] "pseudonymes". Au quotidien, les téléphones échangent ces pseudonymes via *Bluetooth* quant ils sont à proximité les uns des autres. Quant un utilisateur tombe malade, il le notifie via l'application à un service de l'État. Ce faisant, il transmet une liste des pseudonymes[^6] permettant de faire le lien entre malade et personnes en contact. Régulièrement, l'application des utilisateurs non malades vérifie auprès du service de l'État que ces derniers n'ont pas été en contact avec une personne infectée[^2].
[^1]: Le pseudonyme attribué à chaque personne varie dans le temps, c'est un moyen de préserver l'anonymat des utilisateurs les uns vis-à-vis des autres.
[^6]: Dans le cas de ROBERT, c'est la liste des pseudonymes des téléphones avec qui l'utilisateur a été en contact. Avec DP-3T, c'est ma propre liste de pseudonymes.
[^2]: Dans le cas de ROBERT, il s'agit de vérifier que les pseudonymes de l'utilisateur ne sont pas connus par l'État. Dans le cas de DP-3T, il s'agit de s'assurer que l'utilisateur ne connait pas un des pseudonymes des personnes malades dans la liste transmise par le service de l'État.
Souvent, les applications sont catégorisées comme "centralisées" ou "décentralisées". Si le service de l'État ne fait que relayer les informations partagées par les malades aux autres utilisateurs, sans les traiter, alors le système est dit "décentralisé" (comme DP-3T). Si c'est le service de l'État qui effectue le traitement des informations, alors le système est dit "centralisé" (comme ROBERT). L'analyse qui suit se concentre sur ROBERT et DP-3T mais peut être généralisée à ces deux classes d'applications.
Dans tous les cas, ce fonctionnement implique nécessairement d'assigner à résidence des personnes non malade. Il est donc important que ce système soit le plus juste et le plus transparent possible.
C'est d'ailleurs ce que nous assurent les représentants d'Inria :
> Une telle application n’est pas une application de surveillance : elle est <strong>totalement anonyme</strong>. Pour être encore plus clair : sa conception permet que <strong>PERSONNE, pas même l’Etat, n’ait accès à la liste des personnes diagnostiquées positives ou à la liste des interactions sociales entre les personnes.</strong>
Pourtant le fonctionnement de ROBERT comporte des aspects qui me semblent problématiques.
À première vue, cette application semble parfaite : comme l'indique le schéma ci-dessous, le service de l'État (l'autorité centrale) ne manipule que des "pseudonymes".
Malheureusement, sur Internet, les communications ne sont pas anonymes aux yeux de l'État. Pour comprendre ce qui se passe, le schéma ci-dessous résume les acteurs en jeu : l'utilisateur, les opérateurs et l'État.
Le téléphone, en contactant le service StopCovid, lui révèle son adresse IP[^3] en plus des informations vues précédemment.
[^3]: Dans l'article complet, il est fait mention dans une seule phrase que le contact avec le serveur pourrait se faire via un *mixnet*. Cependant, pour juger des propriétés de sécurité de ce dernier, plusieurs pages d'explications seraient nécessaires. À la place, les auteurs écartent cette piste en argumentant que le NAT empèchera de la même manière que le *mixnet* l'identification des utilisateurs via leur adresse IP. Cet argument étant faux, nous considérons donc que les utilisateurs accédent directement au service de l'État en révélant leur adresse IP.
De plus, la Loi pour la Confiance en l'Économie Numérique (LCEN) impose aux opérateurs de conserver les données de connexion, c'est à dire de pouvoir identifier quel individu se trouve derrière une adresse IP donnée {% cite champeau_lcen_2011 %}.
L'État peut ensuite exiger que ces opérateurs transmettent ces données de connexion sans intervention de la justice.
Nommées "réquisitions administratives", cette action est autorisée par exemple par le décret n° 2014-1576 {% cite noauthor_decret_2014 %} du 24 décembre 2014. Plus connu, la mise en oeuvre d'Hadopi requiert également, chaque jour, l'identification de plusieurs milliers d'individus à partir de leur adresse IP {% cite champeau_hadopi_2015 %}.
La désanonymisation des utilisateurs à travers leur utilisation d'Internet est d'autant plus probable que les opérateurs mobiles se montrent peu frileux pour partager ou vendre les données de connexions de leurs abonnés {% cite bembaron_coronavirus_2020 noauthor_flux_nodate noauthor_swisscom_2020 %}.
<!--Comparativement, BlueTrace {% cite bay_bluetrace_nodate%} stocke le numero de téléphone des utilisateurs et l'associe aux pseudonymes : la totalité des informations générées est ainsi nominative et accessible à l'État.-->
DP-3T {% cite noauthor_dp-3tdocuments_2020 %}, quant à lui, annonce la liste des "pseudonymes" des personnes infectées à tout le monde. L'État peut connaitre l'identité des personnes malades, l'identité de tous les utilisateurs de l'application, mais pas avec qui les malades ont été en contact.
En effet, techniquement l'État peut toujours accéder à la l'identité des personnes diagnostiquées, de tous les utilisateurs et à la liste des intéractions sociales de tous les malades.**
Pourtant ce n'est pas le cas : imaginons un utilisateur très riche qui aurait à sa disposition un nombre conséquent de téléphones portables. Il pourrait alors décider d'utiliser un téléphone différent lors de chaque contact avec une personne. À la réception de l'alerte sur un de ses téléphones, il serait alors capable d'identifier à quelle personne est associé le téléphone et donc qui l'a infecté. En pratique, un seul téléphone suffit, un utilisateur expérimenté n'aura qu'à modifier le code de l'application présente sur son téléphone.
**Pour se protéger d'un tel comportement, il faudrait alors n'autoriser l'usage que d'un seul téléphone par personne[^8], obligeant l'État à contrôler l'identité des utilisateurs[^10]. Les autorités *doivent* donc savoir qui vous êtes pour assurer le fonctionnement de ROBERT.**
[^8]: Les concepteurs mentionnent rapidement ce problème mais ne retiennent pas la même solution. À la place, ils proposent un système de Proof-of-Work comme un CAPTCHA. En réalité, ces derniers sont très facilement contournables, pour quelques euros il est possible d'en résoudre des milliers en les sous-traitant à des plateformes de micro-travail (comme Amazon Mecanical Turk). Plus largement, il s'agit du problème des attaques Sybil largement documenté en recherche pour lequel il n'existe pas de réponse satisfaisante dans le cadre des applications de tracking à ma connaissance.
Dans ROBERT et BlueTrace, et contrairement à DP-3T, c'est le service de l'État qui annonce si vous avez été en contact avec une personne infectée. Même si le service de l'État est conçu et analysé par des acteurs indépendants, rien n'empêche les autorités de modifier le service quand elles le souhaitent.
Il leur serait alors possible d'instrumentaliser le fonctionnement du service. Ce dernier pourrait annoncer à certaines personnes (correspondant à des adresses IP définies) qu'elles doivent se confiner, même si elles n'ont pas été effectivement en contact avec une personne malade.
L'État ne fait pourtant pas toujours bon usage de la confiance qui lui est accordée.
Sans énumérer tous les exemples de dispositifs de surveillance qu'il a déployé, citons tout de même : la mise en place de "boites noires" chez les opérateurs et les fournisseurs de service {% cite noauthor_premiere_2017 %}, le programme Interception Obligatoires Légales (ce qui était parfaitement illégal) {% cite hourdeaux_surveillance_nodate %} ou encore la surveillance des communications radio {% cite hourdeaux_conseil_nodate %} (elles aussi déclarées illégales par le conseil constitutionnel).
Un argument revient souvent dans ce genre de débat : la CNIL[^5] serait compétente pour encadrer la collecte des données de manière éthique. Un dispositif déployé sous son contrôle serait donc acceptable. Pourtant elle ne dispose pas de moyen coercitifs suffisants face à l'État qui se permet régulièrement de ne pas tenir compte de ses avis ou qui lui dissimule des informations {% cite noauthor_gendnotes_2020 treguer__2019 %}.
[^5]: Rappelons-nous au passage dans quelles conditions la CNIL a été créée. En 1974, l'État souhaite secrètement croiser les données des administrations sur la population. Le programme a pour nom de code SAFARI. Le projet est arrêté suite à un article du Monde {% cite boucher_safari_nodate %}. À la suite de ce scandale, la CNIL est créée pour empêcher la mise en place de système dangereux par l'État et depuis ses missions se sont diversifiées.
Rien n'empêche toutefois qu'elle soit rendue obligatoire si le taux d'adoption n'est pas assez élevé, ou que l'État contraigne l'accès à certains services à l'utilisation de StopCovid.
**En matière de surveillance, l'opacité règne toujours et le respect de la loi est cantonné à l'existence de lanceur d'alertes et de médias pour relayer l'information.
La seule limite à l'action de l'État lui est imposée par la société civile quand elle le met face à ses responsabilités.**
> Dans ce contexte, les débats sur les avantages supposés d’un système parce qu’il serait décentralisé vis-à-vis d’un autre système parce qu’il serait centralisé ne me semblent pas relever <strong>du champ de la rigueur scientifique</strong>. [...] <strong>Ce sont des analyses scientifiques</strong>, par définition vérifiables et se prêtant à une discussion, qui permettent de le démontrer, <strong>pas des considérations idéologiques ou des a priori sémantiques</strong>.
Pourtant le choix de centraliser ou non les informations peut être interrogé dans une optique scientifique. L'opposition qui a été construite entre ces deux solutions (ROBERT et DP-3T) me semble peu pertinente car elle implique dans les deux cas un système centralisé[^11]. Cependant, il n'est pas nécessaire de passer par un service centralisé contrôlé par l'autorité politique[^12].
[^11]: En réalité, le protocol DP-3T ne précise pas comment la liste publique des malades sera diffusée. Par contre, les implémentations et les analyses de ce dernier s'orientent vers le choix de l'utilisation d'un service centralisé. Le terme "décentralisé" dans le nom même du protocole ne s'applique qu'au calcul du risque et non aux communications. De plus, quoi qu'il arrive, DP-3T n'a pas été conçu pour bénéficier des propriétés d'anonymat d'un réseau décentralisé (sans modification à son protocole).
Rappelons qu'il existe tout un domaine de recherche sur les réseaux d'anonymat, souvent appelés à tort Darknet, dont le logiciel Tor {% cite dingledine_tor_2004 %} est le plus connu (+ de 4000 citations par d'autres articles scientifiques). Ces outils reposent sur la décentralisation et la dilution du pouvoir entre les utilisateurs.
Ils pouraient servir à informer anonymement les personnes ayant été en contact avec un malade sans nécessiter l'intervation de l'État ou de tout autre acteur.
Pourquoi, alors, faire le choix d'impliquer l'État ?
Les considérations techniques ne sont pas seules à peser dans la balance : nul doute que des considérations idéologiques, qui ne disent pas leur nom, ont guidé la conception de ROBERT. Sans cela, il serait difficile de comprendre l'oubli des 426 000 résultats sur Google Scholar pour "anonymity network", de l'expérience des activistes et des lanceurs d'alerte qui utilisent le réseau Tor depuis 2004, de la recherche sur l'anonymat en cryptographie à commencer par l'article fondateur *Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms* {% cite chaum_untraceable_1981 %}, publié en 1981.
Dans l'hypothèse du déploiement d'une telle solution, comment gérerait-on le fait que 24% de la population ne dispose pas d'un smartphone {% cite noauthor_list_2020 %} ? Cette hypothèse implique aussi qu'un certain nombre de problèmes techniques auront été résolus : les résultats du Bluetooth sont de mauvaise qualité, la durée de vie de la batterie réduite, il est difficile de faire fonctionner une application en arrière-plan, les téléphones fonctionnent tous de manière un peu différente[^android], etc.
Rappelons aussi une évidence : le virus ne se propage pas par Bluetooth, la corrélation entre une proximité Bluetooth et la transmission effective du virus reste incertaine. Elle ne fait, à ma connaissance, l'objet d'aucune étude scientifique sérieuse[^9].
[^android]: Il existe plusieurs versions d'Android et d'iOS en circulation. Pour Android, chaque constructeur ainsi que chaque opérateur est libre de modifier l'OS avant de l'installer sur le mobile. Par exemple, certains téléphones Huawei désactivent les tâches d'arrière-plan de toutes les applications quand la batterie passe sous la barre des 40% {% cite dontkillmyapp %}.
[^9]: Par exemple, les auteurs de CovidWatch {% cite covidwatch %} n'ont pas de données de terrain et font appels à un modèle. Dans ce dernier, ils supposent que leur application détecte 90% (!) des contaminations sans justifier ce choix très optimiste.
> D’abord, comme tout projet scientifique, ce protocole va être soumis à la critique de ses pairs. Cela nécessite une démarche d’ouverture : l’article scientifique est mis à disposition de la communauté scientifique sous Github.
Certes les concepteurs de ROBERT sont tout à fait disposés à se soumettre à l'évaluation par les pairs {% cite sportisse_figaro %}, mais à l'heure actuelle il reste difficile de dialoguer avec eux.
Les inquiétudes soulevées dans ce billet de blog n'ont pour l'heure, pas reçues de réponse.
D'autres risques, inhérent au *tracking* ont également été réferencés sur le site web [risques-tracage.fr](https://risques-tracage.fr/) {% cite vuillot_15_nodate %}. L'ensemble de ces risques n'est pas étudié dans les propositions d'application de tracking mentionnées dans ce billet.
Pour retrouver un sentiment de contrôle, en cette période de crise, nous serions prêt à adopter des solutions extrêmes, sacrifiant au passage nos libertés.
En conclusion, la solution ROBERT ne garantit pas l'anonymat des utilisateurs, parce qu'elle nécessite l'identification des utilisateurs pour son bon fonctionnement et transmet une donnée d'identification : l'adresse IP. Elle suppose pour les utilisateurs de faire confiance à l'État pour ne pas manipuler les données émises (et assigner à résidence des personnes non exposées au risque mais dont l'action déplait à l'État). Cette confiance devrait être donnée dans un contexte de crise sanitaire et politique, alors que l'État fait régulièrement un usage immodéré voire illégal de la force {% cite noauthor_lassignation_2015 %}. Il existe pourtant des outils tout à fait à même d'assurer le service de StopCovid sans exposer les utilisateurs : encore faut-il en avoir la volonté.