Note : Ce contenu a été créé avant que Fabernovel ne fasse partie du groupe EY, le 5 juillet 2022.
Définir le cadre
Avant de revenir en détails sur le fonctionnement d’une application de contact-tracking, il est effectivement important de définir un cadre. Une solution technologique raisonnée participera - en complément d’autres mesures comme les gestes barrières - au contrôle de l’expansion de la pandémie en période de déconfinement.
Les pré-requis imposés pour lancer une application du type StopCovid par la Commission Européenne, l’Etat, la CNIL, et les acteurs du projet français comme l'Inria sont la confidentialité des données, la sécurité et le consentement utilisateur.
Techniquement, comment le contact-tracking fonctionne-t-il ?
Le contact-tracking est rendu possible par le biais d’un téléphone, d’une application, du bluetooth et d’internet.
Nous allons vulgariser la technologie du contact-tracking au travers des différentes applications existantes ou en cours de développements : StopCovid, TraceTogether et applications basées sur la solution de contact-tracking d’Apple et Google.
- TraceTogether est la première application de contact-tracking lancée pour lutter contre la pandémie de COVID-19 dans le monde, à Singapour. Le code source de l’application a été rendu publique afin que les pays puissent l’étudier comme dans le cadre du projet européen, le Pan-European Privacy Preserving Proximity Tracing (PEPP-PT).
- Stopcovid : l’application en cours de développement initiée par le gouvernement français menée par l’Inria
- Apple et Google proposent un composant d’application de contact-tracking, c’est à dire une brique technique mise à disposition de la communauté de développeurs. Il ne s’agit pas ici d’une application.
a) Un identifiant pseudonyme
Une fois installée sur son téléphone, l’utilisateur va ouvrir l’application de contact-tracking.
Que fait l’application ?
Un identifiant lui est attribué (qui peut changer avec le temps)
Un identifiant est une suite de chiffres et de lettres caractérisant de façon unique une entité sur un réseau : par exemple sur un réseau téléphonique, votre numéro de téléphone est votre identifiant
Un identifiant pseudonymisé est un identifiant qui ne relie pas directement l’utilisateur à ses données personnelles.
- TraceTogether : cet identifiant est attribué par le serveur du Ministère de la santé en échange du numéro de téléphone de son propriétaire. Il n’est pas anonyme.
- StopCovid : cet identifiant sera attribué avec un pseudonyme par un serveur central, sans être relié à son propriétaire
- Apple et Google : l’application va elle même, de façon décentralisée, s’attribuer l’identifiant.
b) L’échange d’identifiants pseudonomysés entre utilisateurs, par bluetooth
L’utilisateur va ensuite fermer l’application, et ranger le téléphone dans sa poche. Puis il va croiser les jours qui suivent, d’autres utilisateurs de cette même application.
Que fait l’application ?
Elle va envoyer son identifiant pseudonymisé aux téléphones à proximité.
Elle va enregistrer dans l’historique, les pseudonymes des téléphones à proximité sur une durée suffisamment longue.
L’envoi de l’identifiant en bluetooth par le téléphone va se faire à intervalles réguliers.
A partir des recommandations de santé, l’application doit prendre en compte les critères de proximité et de durée de contact minimales au-delà desquelles la contagion peut s’envisager et l’enregistrer dans son historique :
- Proximité : elle va être déterminée par la puissance relative des signaux Bluetooth émis et reçus.
- Durée : elle va être déterminée par la réception successives d’un même pseudonyme pour déterminer la durée de contact.
- TraceTogether : l’historique est transmis au serveur central.
- StopCovid : l’historique ne sera pas envoyé.
- Apple et Google : l’historique ne sera pas envoyé.
c) La déclaration de contamination par le COVID-19
Dans le cas d’une déclaration d’un utilisateur positif au COVID-19 - dont nous ne savons pas à ce stade qui en sera à l’origine (utilisateur, médecin, état etc…)
- TraceTogether : la déclaration de contamination va se faire par les autorités compétentes directement sur le serveur central.
- StopCovid : l’application enverra par internet l’historique des pseudonymes rencontrés les 14 derniers jours précédent le test positif de l’utilisateur. .
- Apple et Google : l’application enverra les pseudonymes de l’utilisateur testé positif, par internet, aux autres utilisateurs par le biais du serveur.
d) L’alerte des utilisateurs ayant été en contact avec le virus
Pour être alerté d’un contact à une personne contaminée, une recherche de correspondance entre les pseudonymes de personnes contaminées et les journaux des identifiants croisés va se faire. Il faut distinguer 2 modèles :
Dans le modèle décentralisé, chaque téléphone va chercher la correspondance, et alerter au besoin son utilisateur. Apple et Google, s’appuient sur ce modèle.
Le serveur n’a qu’un rôle de facteur, il envoie l’information temporairement stockée pour être traitée par les téléphones.
Dans le modèle centralisé, le serveur va chercher les correspondances et alerter au besoin les utilisateurs. TraceTogether et StopCovid s’appuient sur ce modèle.
Le serveur traite l’information.
Si StopCovid et TraceTogether partagent ce même modèle centralisé, elles diffèrent toutefois dans le respect de la confidentialité des données.
L’Inria estime garantir une meilleure sécurité du modèle en centralisant le strict minimum des données pseudonymisées requises pour alerter les utilisateurs.
Singapour avec TraceTogether estime lutter plus efficacement contre la pandémie en centralisant la totalité des données non pseudonymisées. En effet, la consolidation des données offre des possibilité d’analyses d’évolution dans la pandémie.
L’open-source au coeur du dispositif de confidentialité des données et de sécurité
La confidentialité des données et la sécurité des données sont garantis tout d’abord par la mise à disposition du code de l’application au public. En effet, dans le cas de StopCovid, le gouvernement français a annoncé avoir l’intention de développer l’application en Open-Source. C’est à dire que le code qui permet de construire l’application sera ouvert à tous et en particuliers aux développeurs (de France et du monde entier !). Ils pourront tester et vérifier qu’il n’y ait aucune faille de sécurité et auquel cas, la faire remonter. C’est aussi une garantie que l’application ne soit utilisée que ce pour quoi elle a été conçue. En d’autres termes : si le gouvernement voulait modifier l’application, nous, développeurs, grâce à l’ouverture du code, seront en mesure immédiatement de lancer l’alerte auprès des médias et autorités compétentes. Cette ouverture du code représente la promesse d’un véritable organe de contrôle contre tout usage dérivé de l’application et ses failles de sécurité potentielles.
Mais alors, si ce code est ouvert, il serait facile pour un développeur de hacker le système ? Ce n’est pas parce que j’ai le plan de fabrication d’un coffre-fort que je serai capable de l’ouvrir sans clé. C’est la même chose pour le numérique. Ce n’est pas parce ce que j’ai le plan de l’application que je pourrais pirater les données.
D’ailleurs, contrairement à ce que la tribune dans le Monde du samedi 25 avril stipulait, l’Open-Source interdit justement par essence de voir un jour StopCovid se transformer en “StopCovid Analytica”.
La densité de téléchargements comme référence plutôt qu’un nombre de téléchargements pour un fonctionnement optimal
Il apparaît souvent dans le débat que l’application doit avoir un nombre minimum de téléchargements pour fonctionner de manière optimale. En réalité, nous pensons que son efficacité ne se mesurera pas aux nombres de téléchargements, mais surtout à sa densité dans les zones géographiques. Si par exemple, toute la ville de Marseille utilisait l’application et que Nice ne l’utilisait pas, l’application s’avérerait efficace au niveau de Marseille et permettrait de sauver plus de vies que sans.
On peut d’autre part imaginer un effet “viral” de la propagation de l’épidémie : si j’estime que l’application m’apporte quelque chose, j’en parle à mes amis, à mes collègues, à ma famille, ces mêmes personnes, justement, au sein desquelles le virus pourrait circuler.
StopCovid n’utilisant pas le composant de contact-tracking d’Apple et de Google, une limitation technique d'Apple rend inutilisable, en l’état, l’application française sur iPhone. Le déploiement de cette solution sans les iPhones impacterait inévitablement la densité d’utilisation, et sa crédibilité.
Le design au service de l’adoption d’une application
Une question rarement abordée dans les débats. Pour que l’utilisateur installe et utilise une application, il faut qu’elle réponde à des besoins et qu’elle soit transparente. Dès sa conception, l’expérience utilisateur doit être au coeur des préoccupations du designer. Une application qui sera construite pour et avec les utilisateurs (user-centric by design) aura d’autant plus de chance d’être largement adoptée. C’est la démarche qu’a d’ailleurs adopté Fabernovel en lançant une version test de l’application Unspread ouverte aux utilisateurs pour la tester et recueillir les premiers retours.
Pour qu’une application comme StopCovid soit adoptée, l’application devra être notamment didactique pour obtenir le consentement éclairé de l’utilisateur et faire apparaître en toute transparence et avec une précision chirurgicale les informations que l’utilisateur partage. Il devra aussi être précisé clairement à quel moment d’une épidémie ou pandémie les personnes pourront sur la base du volontariat l’activer et la désactiver pour qu’elle ne s’inscrive pas en permanence dans notre quotidien et rester en quelque sorte, “une parenthèse de notre vie” comme l’indique la CNIL.
Pierre Rougeot, Développeur, Fabernovel
Fort d’une expérience de 24 ans, Pierre Rougeot, développeur chez Fabernovel accompagne les entreprises dans le développement de leurs applications mobiles sur iOS. Il a participé dès février 2020 au développement en cours de l’application Unspread pour aider à l’échelle de Fabernovel face à la crise du COVID-19. Développement qui a permis de faire parti des acteurs qui ont contribué à la réflexion sur StopCovid, aujourd’hui mené par une équipe restreinte portée par l’Inria.
Auparavant, Pierre a travaillé pendant 13 ans dans le monde de l’électronique et du logiciel embarqué au sein de différents groupes industriels. C’est en 2008 qu’il prend le virage du développement mobile, avec la naissance du smartphone. Pierre est diplômé de l’ENSIMAG.
Hugo Hache, Directeur Technique Mobile chez Fabernovel
Hugo rejoint l'équipe mobile de Fabernovel en 2012. D'abord développeur iOS, où il participe au développement des applications myCANAL ou RATP, il prend ensuite la responsabilité du pôle back end et développe une offre chatbot et front web. En 2018, il met à profit la complémentarité de ses expériences pour devenir Chief Mobile Technology Officer chez Fabernovel.
Hugo est diplômé en informatique de Cornell University et ingénieur civil des Mines de Saint-Étienne.