La toute jeune technique de la confidentialité différentielle est de plus en plus populaire. Ces derniers mois, même Google s'en est emparé. Nous avons pu nous entretenir avec Damien Desfontaines, un des principaux ingénieurs de la firme en la matière pour comprendre la révolution silencieuse derrière cette branche de l'informatique.

L’expression « vie privée » rime difficilement avec les noms de beaucoup de géants de la tech. Parmi eux, Google, qui base ses profits sur la publicité ciblée et n’hésite pas pour cela à faire usage des données de ses utilisateurs. Pourtant, à l’heure où même Facebook veut mettre l’accent sur le chiffrement, le titan de Mountain View comprend qu’il a intérêt à renforcer sa discrétion.

Sur l’année passée, la firme a par exemple rajouté un mode incognito sur Google Maps, ou encore proposé la suppression automatique de certaines données personnelles. Mais au-delà de ces fonctionnalités quelque peu basiques, Google a surtout publié en open source deux librairies logicielles dédiées à la vie privée.

Bibliothèques open source

Il a d’abord été question en juin 2019 du Private Join and Compute, un protocole cryptographique basé entre autres sur la technique du « chiffrement homomorphe », qui permet de réaliser des opérations mathématiques sur les données chiffrées de plusieurs acteurs sans avoir à les déchiffrer au préalable. Puis en septembre, c’est une bibliothèque logicielle sur la confidentialité différentielle (de son petit nom « DP » pour differential privacy) qui a été présentée : une technique qui permet de protéger les données sans avoir à les chiffrer.

Pour produire tout cela, le géant a ouvert en mai 2019 le Google Safety Engineering Center (GSEC) à Munich, spécialisé sur la vie privée et employant aujourd’hui environ 200 ingénieurs et chercheurs en la matière. Quelles que soient les opinions profondes des dirigeants de Google sur l’usage des des données, une entreprise aussi vaste ne peut pas être monolithique, et les experts en vie privée qu’elle embauche ramènent volontiers leurs convictions personnelles.

Nous avons pu rencontrer Damien Desfontaines, un des principaux ingénieurs en confidentialité différentielle chez Google et un doctorant à temps partiel à l’ETH Zurich en Suisse. Coiffé d’une généreuse queue de cheval, ce Français amateur de Linux et de logiciel open source s’est trouvé agréablement surpris des efforts en sécurité menés par les équipes de Google.

Damien Desfontaines (à droite) aux côtés de Mihaela Ion, une ingénieure de l’équipe Private Join & Compute de Google.

Les origines du problème

Mais rappelons d’abord ce qu’est la confidentialité différentielle et pourquoi elle devient nécessaire dans notre monde numérique. Nous avons déjà expliqué ce concept avec des énigmes, à l’époque où c’était surtout Apple qui en faisait son cheval de bataille. En bon ingénieur, Desfontaines a une autre approche de la question, que nous avons suivie et étoffée ici.

Jusqu’à il y a encore peu, on pensait que pour anonymiser une base de données, il suffisait d’en retirer les informations permettant d’identifier les personnes qui s’y trouvent (les « PII », pour personally identifiable information). Cela paraît naturel, mais hélas, cela ne fonctionne pas à cause de tout un tas de subtilités.

Certains ont appris cela à leurs dépens, comme Netflix dans un exemple fameux que nous avons déjà présenté. Dans un registre qui prête beaucoup moins à sourire, la Massachusetts Group Insurance Commission avait décidé au milieu des années 1990 de publier les données médicales anonymisées de tous les représentants publics de cet État américain, dans le but d’aider des chercheurs.

Photo de l'informaticienne Latanya Sweeney
L’informaticienne Latanya Sweeney de Harvard, qui a travaillé sur la dé-anonymisation.

Mais le Massachusetts est aussi l’endroit où se trouvent les célèbres universités de Harvard et du MIT (Massachusetts Institute of Technology). L’informaticienne Latanya Sweeney, aujourd’hui professeure à Harvard, était étudiante en master au MIT quand elle s’est lancé le défi de retrouver les données médicales du gouverneur du Massachusetts.

En déboursant vingt dollars, elle a obtenu la liste électorale de la ville du gouverneur, puis a fait correspondre la date de naissance et le code postal de l’intéressé avec la base de données. Sweeney a ainsi facilement mis la main sur le dossier médical du gouverneur, diagnostics et ordonnances comprises, qu’elle a malicieusement envoyé au bureau de l’élu par la poste.

Malgré l’anonymisation, Sweeney a facilement retrouvé le dossier médical du gouverneur

À quoi sert la DP

On l’a compris, nettoyer les informations identifiables d’une base de données ne suffit pas. Que faire à la place ? Latanya Sweeney et sa collègue Pierangela Samarati ont mis au point une solution en 1998 : le k-anonymat. Les deux chercheuses vont agréger les lignes de données pour qu’on n’y retrouve plus qu’un résultat global, sans que les entrées individuelles soient listées.

Pour reprendre un exemple suggéré par Desfontaines, supposons qu’on veuille garder des statistiques sur la nationalité des participants à une conférence. Au lieu de compter « unetelle, untel et unetelle sont français », on pourra dire « il est 9h53, et 6 Français sont rentrés sur les lieux de la conférence depuis ce matin ». Quelqu’un qui retrouverait la base de données aurait a priori du mal à savoir quels visiteurs individuels sont français.

Et pourtant, le k-anonymat a quand même ses failles. Mettons qu’un observateur indiscret parvienne à jeter un coup d’oeil sur la base de données des nationalités à 9h52 et à 9h53. Si sur la première base il y a 5 Français, mais qu’il y en a 6 sur la deuxième, l’observateur peut être sûr qu’une des personnes entrées à la conférence entre 9h52 et 9h53 est française.

Une attaque par differencing

C’est ce qu’on appelle une attaque par differencing, où l’on regarde les différences entre deux jeux de données portant peu ou prou sur la même chose. «  Dans le même registre, on peut monter une attaque par spam  », souligne Desfontaines. «  On peut vous envoyer un sondage par mail dont les résultats seront agrégés par groupe de 100 réponses. Mais si 99 de ces réponses sont générées par de faux comptes, on pourra savoir ce que vous aurez répondu.  »

La technique de la DP a été pensée pour empêcher ce problème. «  Le principe de la confidentialité différentielle est de faire en sorte que peu importe qu’une personne précise soit dans la base de données ou non : cela ne changera rien au résultat final  ». En clair, que vos données à vous soient collectées ou non, on ne s’en apercevra pas.

Pour cela, on va rajouter du « bruit » aux données, c’est-à-dire une dose d’aléatoire. Chaque personne individuelle sera en quelque sorte recouverte par le flou : si la base de données de tout à l’heure indique 6 Français, ils ne sont peut-être en réalité que 5, et on ne peut pas savoir si la sixième personne existe vraiment ou non. Plus il y a de bruit, moins les données seront précises, mais meilleure sera la confidentialité.

Le bruit ne permet pas de connaître avec certitude la différence entre la base 1 et la base 2

De la théorie à la pratique

La DP a plusieurs avantages. «  On a des garanties formelles même contre un attaquant fort  » : le bruit reste du bruit, impénétrable à l’ingéniosité de hackeurs potentiels. Ces garanties ne dépendent pas de «  connaissances auxiliaires  », c’est-à-dire des informations supplémentaires que les attaquants pourraient avoir. Dans la même veine, «  les données sont publiables plusieurs fois de suite  » sans que cela ne compromette leur confidentialité.

Un des autres atouts de la DP est sa simplicité conceptuelle. Il s’agit essentiellement de rajouter du bruit aux données, sans passer par du chiffrement. On est loin des protocoles alambiqués de la cryptographie, qui reposent sur maintes tours de passe-passe mathématiques pour arriver à leurs fins. Enfin, du moins en théorie.

« En pratique, on a été très surpris de retrouver les mêmes obstacles qu’en cryptographie  », constate Desfontaines en reprenant l’exemple du protocole RSA, créé en 1977 et ayant inauguré le chiffrement à clé publique. « C‘est très facile d’expliquer le fonctionnement de RSA à quelqu’un qui a fait un peu de maths à l’université. Mais quand on veut implémenter ce protocole de manière sécurisée, on rencontre toujours des problèmes.  »

Crédit : Mika Baumeister // Unsplash

Tout comme ces recettes de cuisine qui ratent sans que l’on comprenne trop pourquoi, les ingénieurs en DP ont été confrontés à des détails inattendus. « Par exemple les nombres à virgule flottante  », comme « 1,5 » ou « 5,87 ». Un ordinateur a une mémoire finie et, selon qu’il est en 32 ou en 64 bits, ne peut manipuler qu’un nombre limité de chiffres après la virgule.

« Lorsque l’on rajoute du bruit, qu’est-ce que l’on fait avec la perte de précision ?  » Selon les méthodes utilisées et les « arrondis » qui vont avec, les informaticiens ont réalisé que les bits de poids faibles, ceux qui codent les plus petits chiffres après la virgule, renfermaient des indices trahissant la confidentialité.

Un autre défi s’est posé dans la nature même des publications de recherche en informatique. « La recherche a souvent tendance à s’appuyer sur des hypothèses assez simplistes », plus tournées vers l’abstrait que vers la réalité concrète. «  Par exemple, elle supposera que chaque personne n’apparaît qu’une seule fois dans une base de données.  »

« La plupart des gens qui viennent nous voir ne veulent faire que des sommes et des histogrammes  »

C’est vrai quand il est question de données médicales – un domaine d’ailleurs peu porteur pour la DP, car la précision des informations y est littéralement vitale pour les patients. « Mais à chaque fois que vous utilisez Google Search, c’est une requête différente de votre part qui est stockée  ». De quoi laisser filtrer des indications précieuses lorsque l’on corrèle ces entrées multiples.

La recherche aime également se « focaliser sur des problèmes très compliqués, sur des challenges scientifiques, parce qu’honnêtement c’est rigolo  », sourit Desfontaines. Ce qui stimule les chercheurs n’est pas forcément ce dont le besoin se fait le plus sentir. « En vrai, la plupart des gens qui viennent nous voir veulent faire des sommes et des histogrammes  », le b.a.-ba de la statistique.

Un manque d’expertise

Bien sûr, pour faire passer la DP de la théorie à la pratique, il faut des cerveaux qualifiés. Le juriste David O’Brien de Harvard, spécialisé sur la confidentialité, estimait devant nous il y a un an que seuls une cinquantaine d’informaticiens sur la planète jouissaient d’une expertise au quotidien sur la DP. Ce qui signifie que toute entreprise voulant sérieusement faire de la DP devait au préalable mettre la main sur une de ces cinquante personnes.

Un chiffre qui n’étonne pas du tout Damien Desfontaines. « C’est vrai qu’il y a peu de monde ! La création de l’équipe à Munich a aidé, mais personne n’y avait fait ça avant. J’ai dû passer 6 mois à entraîner mes collègues », soit une dizaine d’ingénieurs. Des efforts qui ont payé, car « beaucoup ont maintenant atteint un niveau d’expert. Ce n’était pas évident, mais c’était chouette. »

«  J’ai dû passer 6 mois à entraîner mes collègues  »

La confidentialité différentielle n’est pas fondamentalement difficile à apprendre, d’autant que la sécurité et le chiffrement s’enseignent depuis longtemps dans les écoles d’informatique. « Mais c’est un domaine nouveau » : l’article où la chercheuse Cynthia Dwork et ses collègues ont inauguré le concept ne date que de 2006.

L’attrait pour la confidentialité en tant que domaine spécialisé est d’ailleurs récent. « Le premier master en vie privée n’a été ouvert qu’il y a trois ou quatre ans  », dans le prestigieux département en informatique de l’université Carnegie Mellon en Pennsylvanie.

Ce manque d’expertise est-il un frein à l’implémentation de la DP ? « Absolument !  » s’exclame Desfontaines. « L’objectif de la bibliothèque open source est justement à terme de permettre à des informaticiens qui ne connaissent pas la DP de pouvoir l’utiliser dans leurs programmes. Pour l’instant, on se concentre sur les primitives, et on espère ensuite abaisser la barre.  »

Populariser la confidentialité différentielle

Venons-en donc aux primitives, qui sont «  comme des briques de Lego pour faire des algorithmes. Cela peut être une fonction pour rajouter du bruit, puis des choses plus abstraites comme des éléments pour savoir quelle quantité de bruit rajouter en fonction du contexte, ou enfin, plus proche de l’utilisateur, un langage de requête intégrant directement la DP.  »

D’où l’intérêt d’une bibliothèque open source pour mettre ces briques fondamentales à disposition de tous. «  Cela ne sert à rien que chaque entreprise tech travaille dans son coin. Les primitives de DP doivent être comme les primitives de chiffrement, rassemblées dans un petit nombre de bibliothèques. »

« Cela ne sert à rien que chaque entreprise tech travaille dans son coin »

Aujourd’hui, la DP n’est encore réservée qu’à quelques projets concrets. Apple s’en sert dans ses produits à diverses fins, comme récolter des statistiques sur l’utilisation des claviers iOS et macOS. Du côté de Google, l’algorithme RAPPOR du navigateur Chrome collecte l’activité utilisateur. Et de façon plus étonnante, Uber a également publié des outils open source en la matière.

Une de ses plus grandes applications à venir est pour le recensement de la population américaine l’année prochaine, le Census 2020. « J’ai discuté avec les gens du Census, ce sont des experts qui ont été embauchés à la sortie de leur thèse  », évoque Desfontaines. Le défi scientifique est réel, et cette fois-ci, espérons que l’expertise ne manque pas.

Partager sur les réseaux sociaux