vendredi 29 mai 2020

Qu'est-ce qu'est une application de traçage des contacts ?



Ce qu'on appelle maintenant une application de traçage de contacts - ou de proximité est en fait une application qui complète le travail de traçage des contacts: un travail non informatisé effectué par les médecins et les autorités. Le procédé informatisé est complètement différent du travail "manuel". Explications.

Le travail du médecin vise à lutter contre une maladie contagieuse. Le médecin va récolter les renseignement personnels - nom et numéro de téléphone de toutes les personnes qui ont récemment fréquenté une personne malade, ainsi que toutes les personnes que ces personnes ont récemment fréquenté, et ainsi de suite, en vue d'obtenir leur mise en quarantaine en vue d'enrayer une épidémie.

Les applications qui accompagnent cette activité ne récoltent aucune information personnelle mais imitent la propagation d'un virus par l'envoi de tracts. Lorsqu'une personne se signale malade, chaque téléphone qui a reçu des tracts de cette personne avertis son propriétaire qu'il pourrait avoir attrapé le virus. Ces applications sont devenues populaires suite à la pandémie de COVID-19.

Comment fonctionnent ces applications ?

Ce type d'application va simuler la propagation d'un virus entre les utilisateurs de l'application en essayant de distribuer des tracts. Le téléphone d'Alice envoie des tracts au téléphone de Bob et Charles. Puis le téléphone de Bob envoie ces tracts au téléphone de Dough, et ainsi de suite. Les tracts se répandent ainsi entre les utilisateurs en empruntant le même chemin qu'un virus. Si plus tard Alice se déclare malade, les téléphones de Bob, Charles et Dough afficheront un avertissement.

Les tracts ne sont rien d'autre qu'une suite de chiffres tirés au hasard par le téléphone et accompagnée d'une date de fin de validité. Cette suite de chiffres est échangée entre téléphones proches via le bluetooth dont la portée est d'environ 1.5 mètres. Chaque téléphone conserve une copie des numéros échangés jusqu'à leur expiration - environ une semaine, ainsi que l'heure de l'échange. Aucune autre information n'est manipulée par l'application: ni identité des personnes, ni localisation géographique et encore moins dossier médical !

Si un utilisateur signale qu'il est malade, l'app va alors ajouter la liste des derniers tracts distribués par son téléphone sur une liste rouge appartenant à l'OFSP. Si le tract se trouve dans un autre téléphone, c'est signe que son propriétaire a fréquenté le malade. L'application lui recommande alors de se mettre en quarantaine et de contacter un médecin.

SwissCovid, DP3T, EPFL, EPFZ, Google et Apple, kesako ?

L'application SwissCovid - auparavant nommée DP-3T, est de ce type. Cette application est construite par l'EPFL et l'EPFZ, en collaboration avec Google et Apple. Mais quel est le rôle de ces deux géants du numérique dans cette application destinée au marché suisse ?

Les deux géants, qui affichent clairement leur volonté de faire tout ce qui est en leur pouvoir pour enrayer la pandémie de COVID-19, ont joué un rôle clé et irremplaceable dans la construction de l'application SwissCovid: cette application, comme beaucoup d'autres, utilise la technologie bluetooth, cependant aucune application ne manipule directement le circuit électronique qui émet le signal bluetooth. Cette opération est prise en charge par un logiciel tiers fourni par les fabricants. Pour 99% des téléphones actuellement sur le marché ce logiciel pilote (anglais "driver") est fourni par Google ou par Apple.

Le logiciel fourni actuellement par Apple permet d'utiliser le circuit bluetooth en mode basse consommation "Bluetooth low energy", ce qui permet de l'utiliser durant plusieurs heures sans décharger la batterie du téléphone. Cette possibilité de basse consommation n'était pas disponible dans le logiciel fourni en 2019 et a été ajoutée par Apple.

Le logiciel pilote de Google / Apple, dans son édition de 2020 va plus loin que ca: tout les échanges de données (les suites de chiffres échangées entre téléphone) sont prise en charge par ce logiciel, qui prends également en charge la génération de ces chiffres au hasard, le stockage des chiffres dans le téléphone et la comparaison avec la "liste rouge" des autorités sanitaires.

Les modalités des échanges entre téléphones, le contenu échangé ainsi que les modalités de stockage du contenu échangé font l'objet d'un contrat (en jargon informatique un "protocole") nommé DP-3T. Ce contrat a été établi par l'EPFL, est soutenu par les autorités et le préposé à la protection des données. Les données échangées par l'application SwissCovid sont celles qui sont définies dans ce contrat. Cette application est de plus "open source" ce qui permet à des ingénieurs indépendants de vérifier que le logiciel est bel et bien conforme au contrat défini par l'EPFL. Cela permet également à d'autres pays de réutiliser ce code pour leur propre application COVID-19.

Conformément au protocole DP-3T, aucune information n'est enregistrées sur les systèmes de Google ou d'Apple. La seule information centralisée est une liste de chiffres des personnes actuellement malades, hébergée par les autorités sanitaires. Une fois l'épidémie terminée il n'y aura plus rien, et il est prévu d'arrêter le système des autorités.

En pratique, l'application SwissCovid utilise une modification du logiciel pilote de Google ou Apple pour la communication via bluetooth. Ce logiciel est distribué par Google et Apple dans une mise à jour de leur logiciel d'exploitation - iOS d'Apple ou Google Play Services. Cette mise à jour comporte également d'autres améliorations destinées à d'autres applications.

Vu que la distribution est indépendant de celle de SwissCovid, cette mise à jour peut être installée sur des téléphone qui n'ont pas SwissCovid. Dans ce cas les modifications utilisées par SwissCovid ne seront pas utilisées. Google et Apple promettent que ce logiciel sera inclu dans tout leurs futur téléphones. Il est déjà inclu dans la version 13.5 de iOS, le logiciel d'exploitation des iPhone.

Les autorités d'autres pays, notamment l'Allemagne, l'Autriche, l'Estonie et le Canada - mais pas la France, sont également en train de construire une application qui utilise le protocole DP-3T en réutilisant des pièces de SwissCovid. L'UE appelle tout les pays européens à utiliser cette technologie.

Lorsque de telles applications seront disponibles, il sera possible de tracer la contagion entre des suisses, qui utilisent l'application SwissCovid et des allemands qui utilisent une autre application fournie par les autorités de leur pays. Si un utilisateur de SwissCovid tombe malade du COVID-19 et le signale via l'application, les utilisateurs de l'application "DeutschlandCovid" (ou quel que soit son nom) qui se trouvaient à proximité du malade seront avertis qu'il devraient se mettre en quarantaine. Ceci est de plus possible même si les deux personnes en question ne se trouvent ni en Suisse ni en Allemagne.

Et Amazon ?

Une des informations clé du système est la liste rouge des autorités. Pour savoir si une personne a été à proximité d'un malade inscrit dans la liste rouge, chaque téléphone de chaque utilisateur doit télécharger cette liste une fois par jour. Si il y a 9 millions d'utilisateurs (toute la population suisse) ca fait une moyenne de 100 téléchargements par seconde (9000000 / 24 / 60 / 60)

Les serveurs de l'OFSP, ainsi que leurs lignes télécom ne sont pas suffisantes pour répondre à 100 demandes par seconde. Les demandes sont déléguées à une population de serveurs - des centaines - placés à differents endroits dans le monde. Ca s'appelle un content delivery network. Seuls des grandes entreprises informatique proposent ce genre de service: Microsoft, Amazon, etc. L'OFSP a choisi Amazon.

Chaque serveur du content delivery network va répondre aux demandes des téléphones utilisant SwissCovid en ne faisant rien d'autre que... répéter ce qui est noté sur la liste rouge de l'OFSP.  Ces serveurs ont souvent la mémoire courte - disons 5 minutes. Reste que 5 minutes à répéter un message 100 fois par secondes = dire 30000 fois la même chose.

A 2 mètres durant 15 minutes pour être infecté.

Que faut-il comprendre dans cette phrase ? Qu'il s'agit d'un ordre de grandeur et pas une dimension absolue. Le bluetooth ne mesure pas les distances mais l'intensité du signal radio, qui diminue avec la distance - comme l'intensité de la lumière, qui diminue quand on s'éloigne de la lampe. L'application signale une contamination uniquement si la dose dépasse un certain seuil. Or la dose = l'intensité du signal * le temps. A 2 mètres le signal est faible et le seuil est dépassé après 15 minutes. A 1 mètre le signal est 4 fois plus fort et le seuil est atteint en moins de 4 minutes et à 50 centimètres le seuil est atteint en une minute.


Avantages et inconvénients.

Il y a donc deux méthodes d'enrayer une épidémie: le travail de traçage effectué par les autorités sanitaires, et la simulation effectuée par une application sur téléphone portable. Chacune des deux méthodes a ses avantages et ses inconvénients.

Les avantages de l'utilisation d'une application sont:
- les autorités sont déchargées d'une part d'un travail qui prends du temps.  Ce travail étant réalisé automatiquement et rapidement.
- l'application permet de retrouver les cas de contagion entre des inconnus, par exemple des passagers d'un train, des spectateurs d'un match de football ou des touristes sur un site naturel. Le traçage effectué par les autorités couvrant uniquement la contagion entre des personnes qui se connaissent.
- l'application permet également le tracage des cas de contagion entre touristes dans un pays dont les autorités n'effectuent aucun traçage - vu que le bluetooth est une technologie d'échange direct entre téléphones.

A noter que pour la contagion parmi les passagers d'un avion, les autorités demanderont à la compagnie aérienne, qui a connaissance de toutes les personnes qui étaient présentes durant le vol, ainsi que leur places respectives. Le même procédé est utilisé lors d'événements organisés - concerts, mariages...

Le principal désavantage de l'application est que pour que la contagion entre deux personnes soit retrouvée il faut que les deux personnes aient l'application installée dans leur téléphone et que l'application soit activée au moment des faits - l'application SwissCovid peut en tout temps être désactivée.  On estime que si 70% de la population a installé l'application, alors 49% des cas ce contagion (70% * 70%) seront signalés par l'application.

Comme indiqué plus haut, les deux personnes n'ont pas besoin de se connaître, et leur identité ne sera pas révélée par l'application vu que celle-ci ne manipule que des suites de chiffres.

À Singapour, une telle application est disponible depuis le mois de mars 2020. Elle a cependant été installée par seulement 15% de la population. Cette popularité trop faible n'a pas permis d'éviter une seconde épidémie de COVID-19 dans ce pays.

Défauts techniques temporaires

D'autres défauts techniques limitant l'efficacité de l'application ont été corrigées ou vont être corrigées prochainement par soit par l'EPFL, soit par Google, soit par Apple:

- l'application distribuée à Singapour - pour iPhone - doit rester ouverte. Ce qui signifie que la simulation s'arrête dès que l'utilisateur utilise son téléphone pour autre chose - par exemple consulter les horaires des trains. Ce défaut a été corrigé par Apple.

- l'application SwissCovid nécessite que le bluetooth soit activé pendant de longues périodes, ce qui accélère le déchargement de la batterie. L'utilisation du mode économique "low energy" divise la consommation par 10 - et réduit la portée à 1.5 m. Google et Apple travaillent sur ce problème et vont prochainement - si ce n'est pas déjà fait - mettre à disposition un logiciel "driver" qui permet d'activer le mode économique bluetooth.

- Par souci d'économie de batterie, le logiciel "driver" d'Apple désactive le bluetooth au bout de 10 minutes. Apple a corrigé ce problème.
- Le logiciel "driver" de Google nécessite que le service de navigation soit activé pour que le bluetooth soit opérationnel, alors que l'application SwissCovid n'utilise pas le service de navigation. Raison: le mode "low energy" du driver de Google n'était pas destiné initalement au traçage de contact, mais à exploiter les "beacon": des balises de navigation bluetooth. Google travaille sur ce problème.

- Un autre problème reconnu très tôt par l'EPFL est la possibilité d'utilisation frauduleuse de la "liste rouge", l'ajout erroné des suites de chiffres, qui entraînerait des propositions inopinés de mise en quarantaine à de nombreux utilisateurs en bonne santé. Pour éviter cette éventualité, l'ajout d'informations à la liste rouge ne peut se faire qu'avec un code d'accès fourni par les autorités sanitaires. Le code d'accès ne peut être utilisé qu'une fois et est valable 24 heures.