Comment renforcer la confidentialité dans des projets de Data Science ?

Clément Mayer
Labelia Labs (ex Substra Foundation)
7 min readMar 31, 2020

Cette article a été rédigée par l’équipe Substra Foundation

Dans cet article, nous présentons les principales techniques de renforcement de la confidentialité (Privacy-Enhancing Techniques — PETs) qui sont actuellement développées et utilisées par divers acteurs technologiques. Nous expliquons brièvement leurs principes et discutons de leurs complémentarités potentielles avec le framework Substra. L’objectif de cet article est d’explorer les éventuelles intégrations du framework Substra avec d’autres technologies. Pour une discussion plus complète de chaque PET, voici une excellente revue en libre accès réalisée par la Royal Society.

Photo by Tim Mossholder on Unsplash

Anonymisation

BRÈVE DESCRIPTION

L’anonymisation est la PET la plus largement utilisée et la plus mature. Elle consiste à supprimer des informations, en supprimant des champs, en approximant ou en agrégeant des valeurs, afin de rendre plus difficile la recherche de valeurs liées à un individu. Un ensemble de données parfaitement anonymes peut être communiqué en toute sécurité à tout partenaire scientifique, et n’entre pas dans le champ d’application du RGPD. Bien que l’anonymat parfait soit parfois la solution idéale, il a souvent été mis en défaut par des techniques intelligentes de rétro-ingénierie (cf. le cas Netflix). En outre, l’anonymat est souvent impossible à réaliser lorsque des données tabulaires de grande dimension sont prises en compte (suivi des patients, métadonnées des téléphones portables, etc.). Dans ce cas, l’anonymat parfait nécessite la suppression d’un trop grand nombre d’informations, ce qui rend les ensembles de données résultant inutiles.

COMPLÉMENTARITÉ AVEC SUBSTRA

De nouvelles PETs sont en cours de développement depuis vingt ans en raison des limites mathématiques des techniques d’anonymisation. Bien qu’un anonymat parfait soit souvent inapplicable pour les études de Machine Learning sur des données de grande dimension, un anonymat imparfait (appelé pseudonymisation dans le RGPD) réduit déjà considérablement le risque de réidentification et devrait être systématiquement utilisé avant d’enregistrer des données sur des nœuds Substra (réaliser l’anonymat directement sur un nœud Substra ne présente aucun avantage). Des outils open source tels que ARX sont disponibles.

Calcul multipartite sécurisé

BRÈVE DESCRIPTION

Le calcul multipartite sécurisé (Secure Multi-Party Computation — SMPC en anglais) désigne un ensemble de primitives cryptographiques qui permettent de calculer le résultat d’une fonction f(x, y, z) lorsque différents acteurs détiennent les données x, y et z et ne veulent pas les partager. Grâce au SMPC, les propriétaires de données échangent des versions cryptées de x, y et z de manière à pouvoir calculer en collaboration le résultat final f(x, y, z) sans révéler leur contribution individuelle.

Le premier déploiement du SMPC a été réalisé au Danemark en 2009 pour calculer en collaboration un prix de marché optimal sans révéler la production de chaque acteur. Bien que de nombreuses fonctions f différentes puissent être calculées à l’aide du SMPC, les solutions efficaces se limitent actuellement aux additions (“agrégation sécurisée” — “Secure aggregation”).

COMPLÉMENTARITÉ AVEC SUBSTRA

Le SMPC semble très complémentaire du cadre Substra, ce qui explique pourquoi il a déjà été mis en avant dans le projet MELLODDY. Le SMPC peut être utilisé pour différentes applications :

  • Pour améliorer la confidentialité d’un résultat statistique, le principe d’agrégation stipule que l’analyse statistique doit être appliquée à de nombreux individus avant de publier son résultat (“caché par la foule”). Le SMPC peut être utilisé pour agréger de manière sécurisée les mises à jour de modèles avant leur partage ouvert entre les partenaires d’un réseau Substra. Les modèles qui sont échangés sont des résultats statistiques et ne doivent donc être publiés qu’une fois qu’ils ont été formés sur un nombre minimal d’individus. Le SMPC peut être utilisée pour créer des lots de données indiscernables à partir d’enregistrements individuels qui sont conservés par différents opérateurs de données (des hôpitaux par exemple) et ainsi garantir que les modèles échangés ne soient diffusés qu’après avoir été mis à jour sur ces lots inter-hospitaliers minimaux.
  • Le SMPC peut être utilisé pour comparer les numéros d’identification entre les centres, sans les divulguer directement. Lorsque les numéros d’identification nationaux des patients sont utilisés (comme le NIR — numéro de sécurité sociale en France, qui doit être joint à chaque dossier médical), les listes de numéros d’identification des patients peuvent être comparées pour dédupliquer les dossiers entre les centres. Cette technique peut être utilisée pour nettoyer les bases de données et pratiquer un fractionnement des données par train-test qui permet d’éviter les fuites de données. La plateforme Sharemind est une plateforme qui a été déployée pour dé-dupliquer les données génétiques dans un réseau distribué.
Photo by Markus Spiske on Unsplash

Chiffrement homomorphe

BRÈVE DESCRIPTION

Le Chiffrement homomorphe (Homomorphic encryption — HE en anglais) fait référence aux techniques cryptographiques qui peuvent être utilisées pour réaliser des calculs sur des données cryptées que seul le détenteur des données peut déchiffrer. Par rapport au SMPC, le HE ne nécessite pas un cadre de collaboration avec de nombreux (>2) acteurs (bien que la limite entre le SMPC et le HE soit floue). Un résultat théorique important a montré en 2009 qu’un large ensemble de calculs pouvait théoriquement être réalisé en utilisant l’HE, suscitant un grand intérêt dans la communauté académique. Bien que prometteuses à long terme, les techniques d’HE sont souvent considérées comme trop coûteuses en termes de calcul et de faible maturité.

COMPLÉMENTARITÉ AVEC SUBSTRA

Il n’y a pas de complémentarité évidente avec Substra. Le HE serait une solution permettant un traitement centralisé des données, évitant la nécessité d’un apprentissage distribué/fédéré.

Differential Privacy

BRÈVE DESCRIPTION

La confidentialité différentielle, Differential Privacy (DP) en anglais, fait référence à la fois à une théorie statistique et à une technique de brouillage. Initiée par Cynthia Dwork en 2005, la Differential Privacy fournit une définition statistique formelle d’un traitement préservant la confidentialité (en utilisant deux “paramètres de confidentialité” : epsilon et delta). Bien qu’elle soit mathématiquement pertinente, cette définition est en quelque sorte difficile à expliquer aux non-ingénieurs (pour une présentation simple, voir le cours Udacity). De plus, afin d’obtenir des traitements “epsilon-delta privés”, C. Dwork propose d’ajouter un bruit finement calibré au résultat des requêtes statistiques. Un inconvénient de cette technique d’ajout de bruit est qu’elle altère la reproductibilité des résultats et n’est donc que peu adoptée. En 2020, le US Census Bureau devrait appliquer la technique DP à ses publications statistiques, et Google a publié des bibliothèques DP pour Tensorflow.

COMPLÉMENTARITÉ AVEC SUBSTRA

La Differential Privacy peut être complémentaire de Substra, bien que son intégration soit moins évidente qu’avec la SMPC.

  • La Differential Privacy pourrait être associée à un tableau de bord pour les propriétaires de données, afin de leur permettre de régler avec précision leurs régimes d’autorisation et leurs niveaux de confidentialité (c’est l’objectif de la société Privitar).
  • La Differential Privacy peut être directement utilisée dans les algorithmes d’entraînement de Machine Learning (cf. Abadi)

Dans ces cas, il serait crucial d’intégrer des applications de Differential Privacy au ledger. Appliquer l’ajout de bruit / l’évaluation de la protection de la vie privée sans en tenir compte dans le ledger ne présenterait que peu d’intérêt.

Photo by Nina Ž. on Unsplash

Remote execution / federated learning

BRÈVE DESCRIPTION

Le framework Substra est actuellement conçu pour l’apprentissage distribué (distributed learning), c’est-à-dire l’apprentissage d’un modèle sur des ensembles de données distribués. Les data scientists ne peuvent accéder aux données que par le biais de Substra, ce qui implique qu’aucune action ne peut être réalisée sans être tracée dans le ledger. D’autres fonctionnalités pourraient être développées sur Substra afin de définir des régimes d’autorisation plus détaillés, et de contrôler à priori quels calculs peuvent être réalisés sur les ensembles de données. L’idée de contrôler les calculs réalisés par les data scientists sur des données distantes est généralement appelée “exécution à distance” (Remote Execution). En France, la CASD a développé un outil hautement sécurisé pour l’exécution à distance sur des données centralisées, qui a été promu par Y.-A. de Montjoye, un chercheur influent dans le domaine de la confidentialité. La principale difficulté de cette PET est que les analyses statistiques par exécution à distance sont soit trop limitées pour une utilisation pratique (par exemple, CASD), soit pas assez robuste pour une protection systématique efficace. En outre, la seule théorie formelle systématique disponible pour automatiser le contrôle de l’exécution à distance est la Differential Privacy, qui manque encore à ce jour de maturité.

COMPLÉMENTARITÉ AVEC SUBSTRA

La Remote Execution est très proche de la technologie actuelle de Substra. Les difficultés techniques et théoriques rencontrées par les projets de remote execution sont pour la plupart les mêmes que celles rencontrées par Substra. Face aux limitations du contrôle automatique de l’exécution à distance, Substra peut :

  • Développer des outils pour faciliter l’audit manuel du code
  • Faciliter l’audit du ledger

Trusted Execution Environment

BRÈVE DESCRIPTION

Les Trusted Execution Environments (TEE) sont des technologies qui mélangent des composants logiciels et matériels. L’idée est de mieux isoler les calculs sur un serveur, de sorte que même l’administrateur du serveur ne puisse pas accéder au détail du calcul. Oasis Labs intègre le TEE dans sa plate-forme basée sur une blockchain.

COMPLÉMENTARITÉ AVEC SUBSTRA

Les Trusted Execution Environments peuvent être pertinents pour Substra dans le cas d’un déploiement cloud tel que sur le projet MELLODDY. Dans ce cas, cela empêcherait un fournisseur de cloud computing non fiable d’accéder à des informations sensibles.

Conclusion

Différentes Privacy-Enhancing Techniques sont actuellement en cours de développement dans le monde entier. Aucune d’entre elles ne représente une solution miracle et leur combinaison sera probablement nécessaire pour mettre en place des environnements informatiques fiables pour la collaboration sur des données sensibles. Comme l’a souligné Y.A. de Montjoye, l’important est de passer d’un paradigme de “release-and-forget” (anonymisation et diffusion des microdonnées) à un paradigme de “penetrate-and-patch” (construction d’infrastructures informatiques complexes et amélioration continue). Substra pourrait devenir une couche d’orchestration sécurisée utile dans une telle approche, et il sera particulièrement intéressant d’imaginer de nouvelles collaborations, intégrations et développements de PETs sur Substra.

--

--

Clément Mayer
Labelia Labs (ex Substra Foundation)

Responsable de projet @Substra Foundation. Passionné de Product Management, ML, Open Source, Blockchain…