La nouvelle technologie de protection des données

L'enjeu de la confidentialité des données sensibles est crucial dans le développement de notre monde numérique. Comment limiter les risques liés à leur exposition tout en renforçant les opportunités pour un usage plus sûr ? Des techniques existent. Issues de la cryptographie et du monde de la sécurité, elles répondent à ces enjeux, notamment dans le cadre d'une utilisation contrôlée et sûre de l'intelligence artificielle (IA). Ces outils permettent à des institutions de collaborer sans perte de contrôle sur leurs données, en particulier dans le domaine de la santé. Quels sont les avancées récentes, les limites et les cas typiques d'utilisation ?

Quelle que soit l'opinion que nous ayons sur l'intelligence artificielle (IA), elle fait déjà partie de notre quotidien. Lorsque nous écrivons un message sur notre téléphone, un algorithme nous suggère le mot suivant que nous pourrions utiliser. Quand nous nous connectons à un site Internet, quelques instants avant que la page ne s'affiche, une enchère éclair a lieu entre différents annonceurs qui analysent notre profil d'internaute et déterminent la publicité la plus à même de capter notre attention. Lors du visionnage d'une série, d'un film ou d'un clip musical, l'application nous propose ce qu'elle estime être le meilleur choix suivant pour nous inciter à rester connecté.

Parallèlement à ces applications pratiques ou commerciales, il en existe d'autres directement bénéfiques pour la société. Parmi tant d'autres, celles facilitant la dépollution via l'identification des déchets sur des images aériennes, prévenant des défaillances ou des fuites dans les infrastructures, ou bien encore aidant au diagnostic des patients dans le milieu hospitalier. Arrêtons-nous sur ce dernier exemple, car le domaine de la santé est très particulier. En effet, alors que c'est l'un de ceux où l'IA pourrait avoir l'impact sociétal le plus fort, c'est paradoxalement celui où elle est la moins présente. Rappelons tout d'abord qu'en France, chaque établissement de soins est responsable du stockage de ses données de santé. Leur accès y est très encadré, et doit s'opérer au cas par cas, tant pour les équipes de recherche clinique que pour les entreprises spécialisées en IA. Ainsi, il est aisé de disposer de bases contenant plusieurs millions d'éléments si l'on veut entraîner un modèle à détecter des espèces d'animaux par exemple - la reconnaissance d'image étant une application emblématique de l'IA. Mais les cohortes de patients disponibles dépassent rarement les centaines d'individus pour résoudre des problèmes de santé publique, comme l'étude des comportements dépressifs. Pourtant, les données existent, qu'il s'agisse des dossiers médicaux bien sûr, mais aussi des contenus de messagerie ou des relevés bancaires - les habitudes de consommation ou bien le vocabulaire employé pouvant être utiles pour ce genre d'étude. Seulement, l'information est « silotée » : elle n'est pas partagée car cela pourrait porter gravement atteinte au respect de la vie privée si un usage malveillant en était fait. De ce point de vue, la révolution du Big Data en santé n'est pas encore survenue.

L'absolue nécessité de protection des données de santé, telle qu'elle est consacrée par le RGPD, n'est évidemment pas négociable. Il s'agit donc de trouver un cadre qui assure la sécurité des données tout en permettant l'innovation, avec la promesse d'obtenir des avancées inégalées grâce à l'exploitation des données à l'échelle nationale. Ce constat est aujourd'hui partagé par de nombreux acteurs. Il nécessite toutefois de trouver des solutions adaptées à un sujet aussi sensible.

Pour cela, nous pouvons revisiter le respect de la vie privée sous l'angle de l'intégrité contextuelle telle que la conçoit Helen Nissenbaum, professeure à l'université Cornell Tech (États-Unis). Selon cette conception, la vie privée est respectée lorsqu'un flux d'information transmis d'un individu à un autre via un canal dédié est « approprié » pour la personne concernée, qu'il s'agisse de l'expéditeur, du destinataire, du type d'information et du principe de transmission. Par exemple, la transmission par un patient de son compte rendu médical à son médecin - via une messagerie sécurisée - peut probablement être considérée comme un flux d'information approprié, qui ne nuit pas au patient. En d'autres termes, le respect de la vie privée s'exerce si l'on révèle uniquement des informations nécessaires à des acteurs légitimes.

LAISSER LES DONNÉES OÙ ELLES SONT

Cette approche renverse la notion habituelle de respect de la vie privée, car posséder des canaux pour échanger des flux d'information appropriés permet non seulement de limiter les effets négatifs de la diffusion inadaptée d'informations, mais aussi de renforcer les partages d'information là où ils sont légitimes.

Précisons ce que peuvent être ces canaux dans le contexte de ce que l'on nomme « l'apprentissage profond » dans le domaine de l'IA. Trois techniques sont utilisables séparément ou conjointement en fonction du contexte de collaboration : l'apprentissage fédéré, la confidentialité différentielle et le calcul sur des données chiffrées. Pour illustrer le propos, prenons l'exemple emblématique d'un laboratoire qui veut entraîner un modèle d'IA - en général un algorithme sous forme de réseau de neurones - à détecter des pneumonies chez des patients à partir de données d'imagerie de poumons. La méthode standard pour ce type de tâche consiste à importer toutes les images sur un serveur central pour y entraîner le modèle. Cela pose plusieurs problèmes. Le premier est que le flux d'information n'est pas nécessairement approprié à la tâche souhaitée, en l'occurrence détecter si un patient est atteint de pneumonie. Car il n'est peut-être pas utile pour cela de transférer toutes les données d'imagerie pulmonaire. Le second est qu'il est très lourd de transférer des données volumineuses comme celles d'imagerie. La question du lieu de stockage est également épineuse : faut-il stocker les données sur un serveur ? Si oui, ce serveur doit-il être national, ou pas forcément ? Si non, dans quel établissement le faire ? Autant de questions qui se sont concrètement posées lorsque j'ai commencé en 2018 un projet d'imagerie médicale à l'Imperial College London (Royaume-Uni) ; elles m'ont conduit à explorer une autre manière de faire de l'IA en optant pour l'apprentissage fédéré. En effet, celui-ci résout ces questions en renversant le processus classique : il consiste à laisser les données là où elles sont hébergées - dans les centres hospitaliers par exemple - et à entraîner sur place le réseau de neurones.

L'apprentissage fédéré a pris son essor en 2017, sous l'impulsion des géants technologiques qui ont d'abord voulu l'appliquer aux téléphones. L'usage envisagé est la prédiction du mot suivant dans l'écriture de messages personnels, pour lesquels transférer les données personnelles vers des serveurs centraux serait peu acceptable du point de vue de la vie privée. Aujourd'hui, ce type d'apprentissage s'applique dans des contextes variés, selon que peu de parties possèdent les données ou qu'elles soient des millions, comme dans le cas des téléphones ; avec des capacités de calcul et de communication réduites (sur les téléphones) ou avec plus de moyens dans le cas des établissements de soins par exemple. Mais l'idée est toujours la même : ne pas transférer les données personnelles à l'extérieur de leur lieu d'hébergement initial et faire « sortir » uniquement les modèles d'apprentissage. Ce sujet évolue très vite et fait l'objet de nombreuses recherches. En France, le centre Inria Lille s'intéresse à ces questions et des start-up en santé telles que Owkin et Arkhn (que j'ai cofondée) participent au développement d'outils open source pour faire de l'apprentissage fédéré.

LES ATTAQUES PAR EXTRACTION

Dit ainsi, l'apprentissage fédéré semble la solution idéale. Toutefois, le transfert de gros modèles d'apprentissage comprenant des millions de paramètres à ajuster a un impact non négligeable sur la bande passante. Par ailleurs, il est nécessaire que les données entre les différentes bases soient standardisées. Afin de réduire l'usage de la bande passante, il est possible de ne transférer que certaines « couches » des réseaux de neurones ou encore de compresser les paramètres du modèle, mais cela peut réduire la qualité d'apprentissage. C'est l'un des enjeux de travaux de recherche en cours dans ce domaine. Pour le problème de standardisation, les centres qui reçoivent le modèle à entraîner doivent utiliser une structure de données uniforme. En effet, le modèle ne peut pas s'adapter à la façon dont les données sont stockées, qui peut être très différente d'un centre hospitalier à un autre. Un format d'échange interopérable, nommé FHIR (pour « Fast Healthcare Interoperability Resources ») est ainsi développé depuis 2014 par une association américaine. En France, nous aidons, avec la société Arkhn, les établissements de soins à convertir l'ensemble de leurs données de soin à ce format FHIR afin qu'ils puissent participer à des projets d'apprentissage fédéré.

Comment la notion d'apprentissage fédéré s'inscrit-elle dans la démarche d'intégrité contextuelle évoquée plus haut ? Pour la tâche que nous avons considérée, nous n'avons nul besoin d'accéder aux données directement, mais seulement au modèle entraîné : il n'est donc pas approprié de les exposer en les centralisant toutes sur un serveur si l'on peut entraîner le modèle à distance. Le flux d'information de l'apprentissage fédéré est donc composé des versions mises à jour du modèle par les différentes parties prenantes. Et l'agrégation de ces versions est faite soit par les parties directement, soit par une tierce personne. Mais est-il possible que le modèle révèle plus d'informations que ce pour quoi il a été conçu ? En particulier, peut-il révéler des informations spécifiques sur les données sur lesquelles il a été entraîné, alors même que l'on a décidé de ne pas exposer ces données ? La réponse est oui. En raison, entre autres, de leur taille importante (plusieurs millions de paramètres), les modèles peuvent en effet mémoriser des informations spécifiques sur certaines données d'entraînement. Que peut-on savoir exactement ? Pour le déterminer, des travaux se sont penchés sur les diverses informations que l'on peut extraire de ces modèles, ce qu'on appelle des « attaques par extraction ». Cela va de la reconstruction pure et simple de certaines données d'apprentissage à des manipulations plus subtiles, comme identifier si une donnée figurait ou non dans le jeu d'entraînement. Étant donné la capacité de certains modèles à laisser échapper des informations sensibles, l'acceptabilité d'une telle fuite dépend du contexte de la collaboration entre les parties prenantes. Plusieurs cas de figure se présentent donc. Ainsi, s'il s'agit d'établissements hospitaliers qui auraient pu librement échanger leurs données, il est probable que de telles fuites ne compromettent pas le respect de la vie privée des patients, pour autant que le modèle ne soit pas rendu public ou partagé avec d'autres acteurs ou entreprises. Mais dans certaines situations, le modèle doit être largement partagé ou publié. Ce serait le cas pour ces applications mobiles très répandues de détection de mélanome qui permettent à chacun de photographier n'importe quelle lésion cutanée afin qu'un algorithme en évalue la nature directement sur le téléphone par des techniques d'apprentissage. Un informaticien un peu expérimenté pourrait inspecter son téléphone pour accéder à ce modèle. Une deuxième technique doit alors être mise en oeuvre afin de résister aux attaques par extraction que nous venons d'évoquer. Elle s'appelle la « confidentialité différentielle » et va un cran plus loin dans la protection des données.

ALÉAS ET CONFIDENTIALITÉ

Dans sa forme actuelle, celle-ci a été théorisée en 2014 par l'informaticienne américaine Cynthia Dwork, professeure à l'université Harvard (États-Unis). Elle peut se formaliser ainsi : un algorithme réalise un certain niveau de confidentialité différentielle si, étant donnés en entrée deux jeux de données arbitraires qui ne diffèrent que d'un individu, sa distribution de sortie ne diffère au maximum que d'une certaine marge. L'intuition derrière la formule proposée par Cynthia Dwork est qu'ajouter ou retirer un individu d'un jeu de données ne devrait pas modifier sensiblement le comportement d'un algorithme qui respecte la confidentialité différentielle. Cela signifie donc qu'un individu ne doit pas avoir à lui seul d'influence sur l'algorithme. Autrement dit, ce dernier ne doit pas révéler d'information à propos d'un individu isolé. Le concept de confidentialité différentielle ne s'applique pas seulement à l'apprentissage profond, mais aussi à d'autres domaines tels que les statistiques en général et à tout procédé d'agrégation à partir de bases de données d'individus. Les techniques utilisées pour obtenir de la confidentialité différentielle se fondent souvent sur l'addition d'un aléa, ce qu'on appelle du « bruit ». Prenons l'exemple d'une étude sociologique sur les pratiques religieuses d'une population. On demande à chaque personne si elle est croyante ou non mais, auparavant, elle doit lancer une pièce en l'air deux fois sans que l'on puisse voir le résultat. Si elle obtient « face » sur le premier lancer, elle doit donner sa vraie réponse, et si elle obtient « pile », elle répond en fonction du second lancer, par exemple oui pour « pile » et non pour « face ». Imaginons que cette étude soit menée sur un grand nombre de personnes avec un score final de 60 % affirmant qu'elles sont croyantes. Sachant que la moitié des personnes interrogées a répondu au hasard et que l'autre l'a fait honnêtement, on en déduit que la proportion réelle de personnes croyantes est de 70 %. Ainsi, le résultat de l'étude est préservé, mais on ne peut pas savoir si une personne en particulier est croyante ou non.

En apprentissage statistique de façon générale, le principe consiste à choisir un aléa finement calibré pour obtenir le bon niveau de confidentialité. Il y a en effet un équilibre à trouver entre un bruit trop faible pour assurer la sécurité requise et un bruit trop important qui risquerait de saboter l'entraînement, faisant chuter massivement l'efficacité du modèle. La réduction des performances des modèles est l'un des inconvénients majeurs de cette méthode, car elle peut rendre le modèle beaucoup moins pertinent en pratique.

La confidentialité peut être accrue en combinant ces deux techniques : l'apprentissage fédéré et la confidentialité différentielle. Par exemple, il est possible d'utiliser la confidentialité différentielle lors de la phase d'apprentissage local de chaque centre qui possède des données. Ainsi, si nous revenons à notre exemple des données de santé, dans l'hypothèse où le laboratoire souhaite réutiliser le modèle en dehors des centres hospitaliers qui ont participé à l'entraînement, combiner les deux méthodes assure que les données ne pourront pas être compromises, ni directement, ni indirectement, en exploitant le réseau de neurones.

Un dernier point reste à aborder. Imaginons que le laboratoire ne souhaite pas rendre visible aux établissements le modèle qui est entraîné - pour des questions de propriété intellectuelle ou parce qu'il a déjà été pré-entraîné ailleurs et représente un produit stratégique sur lequel il souhaite garder l'exclusivité. Peut-on dans ce cas chiffrer le modèle avant de le partager avec les hôpitaux et faire l'entraînement de façon complètement chiffrée, de manière à garder la confidentialité sur le modèle ? Oui, à une condition : celle de pouvoir calculer sur des données chiffrées, autrement dit de calculer sans connaître ce sur quoi on effectue les calculs. Des techniques cryptographiques récentes le permettent.

LE PARTAGE DE SECRET

Deux grandes familles d'outils autorisent en effet de faire du calcul sur des données chiffrées. La première, celle des méthodes de chiffrement homomorphe, repose sur des problèmes cryptographiques réputés difficiles en démontrant que parvenir à déchiffrer des secrets reviendrait à résoudre l'un de ces problèmes. La seconde famille - sur laquelle je travaille dans le cadre de ma thèse - regroupe les techniques de calcul multipartite et repose sur le partage de secret entre plusieurs parties. Pour mieux comprendre, examinons le fonctionnement de ces techniques sur des exemples.

Le chiffrement de Paillier a été proposé en 1999 par le cryptographe français Pascal Paillier. Le secret à résoudre, si l'on veut casser ce chiffrement, repose sur la difficulté à factoriser un nombre N formé par le produit de deux grands nombres premiers p et q. Il est additivement homomorphe : il est possible de faire l'addition de deux valeurs chiffrées seulement en manipulant les chiffrés (les objets qui encodent les secrets) sans rien apprendre des valeurs sous-jacentes. Toutefois, pour calculer de manière générale sur des données - et donc entraîner des modèles -, faire des additions ne suffit pas. Il faut aussi pouvoir effectuer des multiplications de valeurs chiffrées, ce que le chiffrement de Paillier ne permet pas. Des protocoles plus récents permettent des multiplications sur les chiffrés. C'est le cas de TFHE, introduit en 2018 par Ilaria Chillotti, alors au laboratoire de mathématiques de Versailles (1). Ce protocole est complètement homomorphe car il permet les additions et les multiplications. Le principe consiste à ajouter du bruit pour cacher les secrets. Le bruit croît à chaque opération jusqu'à rendre le déchiffrement impossible, ce qui nécessite d'invoquer régulièrement une opération spéciale (et coûteuse) pour réduire le bruit. Le chiffrement homomorphe est intéressant car il permet de déléguer un calcul entier sans avoir à intervenir, sauf pour le déchiffrement final. Dans notre exemple, nous pourrions imaginer que le laboratoire chiffre les paramètres du modèle et en envoie une copie à chaque centre hospitalier pour qu'il l'entraîne sur ses données.Le calcul multipartite repose, lui, sur le partage de secret. Le partage le plus simple (additif) fonctionne ainsi : étant donné une valeur secrète, disons un salaire, on coupe cette valeur en deux morceaux aléatoires dans un grand espace (tel celui des entiers encodés sur 64 bits), dont la somme est égale à la valeur initiale. Chaque morceau est envoyé à une partie différente, de sorte que chacune ne reçoit qu'un nombre aléatoire qui ne révèle rien de la valeur secrète. Pour la reconstruire, les parties doivent mettre en commun leurs morceaux et les additionner. Ce partage de secret permet aussi de calculer des sommes sur des valeurs secrètes. Il suffit que chaque partie calcule la somme des parts des valeurs qu'elle possède. Il est également possible de construire plus que deux parts pour partager le secret entre un nombre arbitraire de parties. Ainsi, on pourrait calculer aisément une moyenne de n salaires sans révéler aucun salaire. Mais plus il y a de parties impliquées, plus il y a de risques que l'une d'elles quitte le protocole et rende la reconstruction impossible. Des protocoles résistant à la défection de n-k parmi n parties impliquées ont toutefois été développés, comme le partage de Shamir, proposé par le cryptographe israélien Adi Shamir (2).

En pratique, ce sont les partages à trois ou quatre parties qui offrent les protocoles les plus efficaces pour additionner, multiplier et faire des comparaisons. Ces deux dernières opérations sont cruciales pour modéliser des réseaux de neurones et la propagation des signaux d'une couche à une autre du réseau de neurones. Toutefois, elles nécessitent de faire communiquer les différentes parties, si bien que le nombre d'échanges nécessaires est un critère important lorsqu'on choisit un protocole de partage de secret. Je m'intéresse en particulier aux protocoles qui réduisent le nombre d'interactions pour calculer une comparaison de façon privée. En effet, on peut accélérer les calculs avec des processeurs graphiques spécialisés (comme les GPU), mais on est limité dans les échanges par la vitesse de la lumière. Une donnée ne transitera jamais en moins de 30 ms entre Paris et San Francisco. En pratique, la latence est même de 150 ms, ce qui fait que chaque échange économisé offre un gain de rapidité mesurable. Nous avons dernièrement optimisé un protocole qui n'a besoin que d'une unique interaction par comparaison, au détriment de calculs plus importants que nous tentons d'accélérer grâce à des GPU. Ce protocole est à présent intégré à la librairie de code PySyft, en accès libre, qui propose des outils prêts à l'emploi pour faire de l'IA respectueuse de la vie privée (3).

La protection des données ne peut pas être une finalité - opposée alors à tout progrès scientifique. Elle doit s'exercer comme un moyen afin que les acteurs puissent les partager de manière sécurisée et renforcer leurs collaborations. L'approche d'Helen Nissenbaum, qui consiste à analyser la protection de la vie privée sous le prisme de l'intégrité contextuelle, n'est pas la seule façon d'aborder cette question. Néanmoins, et c'est là son grand mérite, elle défend une vision où le développement des méthodes qui protègent la vie privée ne conduira pas à une société du secret mais à une société de la coopération.

© Alamy/Kittipong Jirasukhanont/Puwadol Jaturawutthichai

(1) I. Chillotti, « Vers l'efficacité et la sécurité du chiffrement homomorphe et du cloud computing », thèse de doctorat en informatique soutenue le 17 mai 2018 à l'université Paris-Saclay (theses.fr/2018SACLV020).

(2) A. Shamir, Communications of the ACM, 22, 11, 1979.

(3) T. Ryffel et al., NeurIPS, 2018 (github.com/OpenMined/PySyft).

Le RGPD en vigueur

Le règlement général sur la protection des données (RGPD), entré en vigueur en 2018, redéfinit et élargit la notion de données de santé. Il impose le consentement explicite des individus à la collecte et au traitement de leurs données, et ce dans une finalité qui doit être déterminée et légitime : elles ne peuvent pas être réutilisées ultérieurement à d'autres fins. Le RGPD indique enfin que tout système d'information ou base de données doit prendre en compte la notion du respect de la vie privée dès sa conception et en réserver l'accès à des personnes désignées.

Bloc en kiosque

Mobile : L'application mobile