To trace or not to trace

Dans le cadre de la lutte contre le COVID-19, les gouvernements mondiaux mettent sur un piédestal ces applications de contact tracing.

Le principe est simple : un cas confirmé X est infecté. Dans le meilleur des mondes, le cas confirmé X est testé et isolé dès que possible. Or il a été en contact avec un cas contact Y depuis le début de l'incubation jusqu'à la détection, et la chaîne se répète à partir du cas Y si celui-ci a été contaminé.

Le concept du contact tracing permettrait d'isoler rapidement à son tour le cas contact Y afin qu'il ne perpétue pas la chaîne de transmission. Dans le schémas ci-dessous, l'application du contact tracing correspond à cette partie violette.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7302226/

Cette étude publiée en juin dernier s'intéresse à des modélisations de la réduction de transmission du COVID-19 à San Francisco grâce à l'adoption de pratiques telles que le port du masque et le contact tracing. Les observations et conclusions sont à prendre avec du recul, mais ces chercheurs tentent de monter que le contact tracing efficace à lui seul peut limiter jusqu'à 44% la transmission à partir d'un cas infecté (taux de reproduction effectif).

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7302226/

L'efficacité du contact tracing est bien évidemment grandement dépendante de la compliance de la population qui l'utilise. StopCovid fut un échec du fait de sa faible compliance, alors que le contact tracing connait de meilleurs jours dans d'autres pays d'Europe.

La compliance : un facteur clé

Nous savons que le contract tracing n'est viable que si une partie suffisamment importante de la population l'utilise.

Adoption of a Contact Tracing App for Containing COVID-19: A Health Belief Model Approach
To track and reduce the spread of COVID-19, apps have been developed to identify contact with individuals infected with SARS-CoV-2 and warn those who are at risk of having contracted the virus. However, the effectiveness of these apps depends highly on ...

Cette étude montre que sur 1500 belges interrogés (de tout âge), moins de la moitié d'entre eux comptent utiliser une application de contact tracing. Les raisons principales évoquées pour justifier un désintérêt pour l'utilisation d'une telle application sont :

  • Le doute sur l'efficacité-même du contact tracing.
  • La non-compréhension de son mode d'utilisation.
  • Les barrières perçues telles que la vie privée.

Il est donc de nécessaire que les gouvernements travaillent sur ces raisons pour réussir à améliorer la compliance de sa population. Notamment : pendre en main davantage les personnes âgées avec une approche pédagogique, expliquer l'intérêt de l'application davantage dans les médias, etc.

Enfin, je souhaite détailler davantage cette question de vie privée. Avons-nous raison de s'inquiéter autant pour notre vie privée en utilisant des applications de contact tracing ?

Vie privée : pragmatisme ou patriotisme ?

Pour réussir à convaincre la population d'utiliser une application de contact tracing, il est nécessaire d'être intransigeant sur la vie privée lors de la conception d'une telle application qui a pour but... de tracer. Il faut s'assurer dans son fonctionnement qu'il n'y ait aucun abus possible et qu'elle puisse remplir son unique but qui est d'avertir des cas contacts avec des données minimales et anonymisées.

Approches réussies et décentralisées

Deux protocoles implémentent une approche décentralisée :

  • Dencetralized Privacy-Preserving Proximity Tracking (DP^3T)
  • Temporary Contact Numbers (TCN)

Ces protocoles sont similaires : open-source et minimisent leur collecte de données (pas de géo-localisation nécessaire, juste Bluetooth).

Pour comprendre leur fonctionnement de façon ludique et voir en quoi ces approches sont respectueuses de la vie privée, je vous suggère de lire cette bande-dessinée :

Protecting Lives & Liberty: How Contact Tracing Can Foil COVID-19 & Big Brother

Cette approche consiste à échanger des identifiants temporaires/éphémères (Ephemeral IDs), par Bluetooth, entre deux appareils à une certaine distance définie (dans la limite du possible avec le Bluetooth qui semble donc parfaitement adapté pour cette utilisation). Les rencontres sont enregistrées localement sur votre smartphone et de façon sécurisée.

La grande différence entre ces approches dites décentralisées et les autres dites centralisées réside dans le système d'alerte. Dans ce cas, il est décentralisé : l'application d'un cas confirmé partage la clé temporaire du temps où le cas était contagieux avec un serveur central, que ce dernier utilise pour dériver les identifiants temporaires et créer un rapport avec ceux-ci.

Si vous n'avez pas regardé la BD...

Les applications consultent régulièrement ces rapports et comparent localement le rapport avec les identifiants utilisés. S'il y a correspondance, l'application notifie son utilisateur qu'il a été potentiellement contaminé.

Le serveur central n'a donc aucune possibilité d'identifier un cas contact proprement dit.

API Exposure Notification : le meilleur de Google/Apple

Le marché des systèmes d'exploitation de smartphones est partagé en très large majorité par Android de Google, et iOS d'Apple. Google et Apple se sont donc concertés rapidement pour développer une API implémentant un protocole proche de DP^3T et qui fonctionnerait à bas-niveau, serait distribuée efficacement via une mise à jour d'iOS pour Apple et une mise à jour des Play Services pour Google.

Cette API est entièrement transparente, documentée et son code source est ouvert. Elle était une étape nécessaire notamment pour iOS qui possède, à raison, des restrictions sur le fonctionnement des applications en arrière-plan et leur utilisation du Bluetooth. Cette approche jointe permet également une excellente interoperabilité par nature des applications de contact tracing, si elles venaient à l'utiliser sur Android et iOS.

L'API, respectant évidemment le GDPR, a été rapidement approuvée et est en cours d'utilisation dans plusieurs pays d'Europe :

  • L'Allemagne, le Danemark, la Pologne et l'Autriche, depuis Juin.
  • L'Irlande depuis Juillet.
  • La Finlande depuis Août.
  • La République Tchèque depuis Septembre.
  • La Belgique et les Pays-Bas en ce mois d'Octobre.

Cette liste est non-exhaustive, sujette à évoluer, et l'API est également massivement adoptée dans le monde dans plusieurs États américains et le Japon par exemple.

La distribution sur Android par les Play Services (plutôt qu'AOSP) peut s'avérer problématique, ne les ayant pas personnellement sur GrapheneOS par exemple. Mais je suis bien conscient qu'il s'agit d'une extrême minorité. Huawei (qui n'a plus le droit de vendre ses nouveaux smartphones avec Play Services)  a par contre pu implémenter son API Contact Shield qui est interopérable avec Exposure Notification grâce à la transparence de ce dernier !

Cette approche est selon moi celle qu'il faut adopter pour des raisons de :

  • Sécurité : fonctionnement à bas-niveau, distribution par des canaux de confiance
  • Simplicité : interopérabilité, API déjà prête
  • Vie privée : fonctionnement décentralisé au possible proche de DP^3T

La France dans son coin... (ROBERT)

Comme d'habitude, le gouvernement français se sent obligé de réinventer la roue et de ne pas suivre le chemin simple et logique de ses voisins européens.

Le protocole ROBERT est la fruit d'efforts conjoints de l'Inria (France) et la Fraunhofer AISEC (Allemagne). La version 1.0 du protocole a été publiée en Avril : ROBERT pour ROBust and privacy-presERving proximity Tracing, évident comme acronyme non ?

ROBERT est le protocole utilisé par StopCovid puis TousAntiCovid (dont les sources sont également disponibles). Rien ne change donc, sauf le nom de l'application et des éléments esthétiques.

ROBERT-proximity-tracing/documents
Protocol specification, white paper, high level documents, etc. - ROBERT-proximity-tracing/documents

L'infographie ci-dessus vous expliquera plutôt bien son fonctionnement donc je vais éviter la redite. Bien heureusement, ROBERT est transparent, open-source et n'utilise pas non plus les données de géo-localisation au profit du Bluetooth.

Le point divergeant entre cette approche et "les autres", c'est la centralisation de la vérification du rapport de cas contacts. Cette vérification ne se fait pas localement mais effectivement sur un serveur distant.

Cette approche n'est pas idéale pour la vie privée car elle est susceptible de permettre à quiconque ayant accès au serveur central d'accéder à plus de données que nécessaires. Un argument qui peut être formulé est que ces "données supplémentaires" permettent de servir d'outils statistiques pour mieux contrôler la diffusion du virus... mais au prix de la compliance de ceux qui font davantage confiance à une API éprouvée.

Ne pouvant pas fonctionner à bas-niveau dans le système, ROBERT ne fonctionne pas vraiment en arrière-plan sur iOS. Or d'après une analyse de parts de marché des OS mobiles faite par Kantar World Pane, iOS a un usage 24.7% en France au deuxième trimestre 2020. C'est une partie non-négligeable qui ne pourra pas participer efficacement à l'effort collectif du contact tracing.

Sur Android, il n'y a pas ce problème, et d'ailleurs l'application est indépendante des Play Services, ce qui la rend utilisable pour tout système basé sur AOSP. Peut-être un des seuls avantages de cette implémentation, mais cela ne concerne qu'une extrême minorité : d'après un sondage reddit, 2% des utilisateurs d'Android soucieux de leur vie privée ont sauté le pas pour utiliser une version d'Android sans Play Services.

Résumé des différences entre les systèmes d'alerte

Pour résumer, outre les différences techniques :

  • Bonne approche (DP^3T, API Exposure Notification) : le serveur central ne sert que de relais de rapports des IDs temporaires de cas confirmés. Vérification locale par l'application si un ID temporaire est dans sa mémoire.
  • Mauvaise approche (ROBERT, et autres) : le serveur central réunit les rapports mais aussi le processus de vérification.

Des approches plus invasives et abusives

Si ROBERT est loin d'être parfait, d'autres pays ont fait pire. La Corée du Sud, Israël et la Chine ont adopté des méthodes plus invasives qui se basent sur des approches centralisées avec des grosses collectes de données personnelles non-anonymisées.

DP^3T et ROBERT ont l'avantage de reposer partiellement sur une solution partiellement décentralisée, qui n'utilise que le Bluetooth (pas de GPS) avec l'approbation de son utilisateur.

Conclusion

Le contact tracing est en théorie une bonne idée et un bon outil pour lutter contre la diffusion du COVID-19, mais elle nécessite une approche solide du gouvernement qui la propose, sans laquelle la compliance et donc l'efficacité serait moindre  :

  • Des efforts de communication pour expliquer l'intérêt et l'importance.
  • Des efforts de transparence avec des outils open-source et documentés.
  • Des efforts d'interopérabilité avec mise en commun des meilleures ressources disponibles.

Après le flop de StopCovid, TousAntiCovid adopte une nouvelle identité esthétique ; mais saura-t-elle bénéficier d'une meilleure communication et d'une meilleure réception auprès de la population française ?

Malheureusement, le contact tracing en France souffre selon moi de l'obstination du gouvernement à ne pas abandonner son protocole maison au profit de l'API Exposure Notification qui fait bien plus de sens et a bien plus de succès dans nos pays voisins. Il est malheureusement un peu tard pour procéder à un changement de protocole et il aurait fallu le faire au moment de la mort de StopCovid.