Cryptography for Privacy-Preserving Machine Learning
Cryptographie pour l'apprentissage automatique respectueux de la vie privée
Résumé
The ever growing use of machine learning (ML), motivated by the possibilities it brings to a large number of sectors, is increasingly raising questions because of the sensitive nature of the data that must be used and the lack of transparency on the way these data are collected, combined or shared. Therefore, a number of methods are being developed to reduce its impact on our privacy and make its use more acceptable, especially in areas such as healthcare where its potential is still largely under-exploited.
This thesis explores different methods from the fields of cryptography and security, and applies them to machine learning in order to establish new confidentiality guarantees for the data used and the ML models.
Our first contribution is the development of a technical foundation to facilitate experimentation of new approaches, through an open-source library named PySyft. We propose a modular architecture that allows one to pick the confidentiality blocks necessary for one’s study, or to develop and easily integrate new blocks. This library is reused in all the implementations proposed in this thesis.
Our second contribution consists in highlighting the vulnerability of ML models by proposing an attack that exploits a trained model to reveal confidential attributes of an individual. This attack could, for example, subvert a model that recognizes a person’s sport from an image, to detect the person’s racial origins. We propose solutions to limit the impact of this attack.
In a third step, we focus on some cryptographic protocols that allow us to perform computations on encrypted data. A first study proposes a functional encryption protocol that allows to make predictions using a small ML model over encrypted data and to only make the predictions public. A second study focuses on optimizing a functional secret sharing protocol, which allows an ML model to be trained or evaluated on data privately, i.e. without revealing either the model or the data to anyone. This protocol provides sufficient performance to use models that have practical utility in non-trivial tasks such as pathology detection in lung X-rays.
Our final contribution is in differential privacy, a technique that limits the vulnerability of ML models and thus the exposure of the data used in training by introducing a controlled perturbation. We propose a new protocol and show that it offers the possibility to train a smooth and strongly convex model with a bounded privacy loss regardless of the number of calls to sensitive data during training.
L’usage sans précédent du machine learning (ML) ou apprentissage automatique, motivé par
les possibilités qu’il apporte dans un grand nombre de secteurs, interroge de plus en plus en
raison du caractère sensible des données qui doivent être utilisées et du manque de transparence
sur la façon dont ces données sont collectées, croisées ou partagées. Aussi, un certain nombre
de méthodes se développent pour réduire son intrusivité sur notre vie privée, afin d’en rendre
son usage plus acceptable notamment dans des domaines tels que la santé, où son potentiel est
encore très largement sous-exploité.
Cette thèse explore différentes méthodes issues de la cryptographie ou plus largement du
monde de la sécurité et les applique au machine learning afin d’établir des garanties de
confidentialité nouvelles pour les données utilisées et les modèles de ML.
Notre première contribution est le développement d’un socle technique pour implémenter
et expérimenter de nouvelles approches au travers d’une librairie open-source nommée PySyft.
Nous proposons une architecture modulaire qui permet à chacun et chacune d’utiliser les briques
de confidentialité nécessaires selon son contexte d’étude, ou encore de développer et d’interfacer
de nouvelles briques. Ce socle sert de base à l’ensemble des implémentations proposées dans
cette thèse.
Notre seconde contribution consiste à mettre en lumière la vulnérabilité des modèles de ML
en proposant une attaque qui exploite un modèle entraîné et permet de révéler des attributs
confidentiels d’un individu. Cette attaque pourrait par exemple détourner un modèle qui
reconnaît le sport fait par une personne à partir d’une image, pour détecter les origines raciales de
cette personne. Nous proposons des pistes pour limiter l’impact de cette attaque.
Dans un troisième temps, nous nous intéressons à certains protocoles de cryptographie qui
permettent de faire des calculs sur des données chiffrées. Une première étude propose un
protocole de chiffrement fonctionnel qui permet de réaliser des prédictions grâce à un petit modèle
de ML à partir de données chiffrées et de ne rendre public que la prédiction. Une seconde étude
porte sur l’optimisation d’un protocole de partage de secret fonctionnel, qui permet d’entraîner
ou d’évaluer un modèle de ML sur des données de façon privée, c’est à dire sans révéler à
quiconque ni le modèle ni les données. Ce protocole offre des performances suffisantes pour
utiliser des modèles qui ont une utilité pratique dans des tâches non triviales comme la détection
de pathologies dans les radiographies de poumons.
Dans un dernier temps, nous intéressons à la confidentialité différentielle qui permet de
limiter la vulnérabilité des modèles de ML et donc l’exposition des données qui sont utilisées
lors de l’entraînement, en introduisant une perturbation contrôlée. Nous proposons un protocole
et démontrons qu’il offre notamment la possibilité d’entraîner un modèle lisse et fortement
convexe en garantissant un niveau de confidentialité indépendant du nombre d’accès aux données
sensibles lors de l’entraînement.
Origine : Fichiers produits par l'(les) auteur(s)