Privacy-preserving applications using homomorphic encryption
Application du chiffrement homomorphe à la protection de la vie privée
Résumé
Homomorphic encryption is a cryptographic primitive that allows arithmetic operations to be performed on encrypted data. It allows to entrust computations to an external agent, without the processed or the resulting data being accessible to this agent. This allows the creation of privacyenhancing protocols in various domains. The discovery of reasonably efficient homomorphic encryption schemes, generally based on Euclidean networks, leads to interesting applications at an acceptable computational cost. This thesis first studies the main publicly available implementations of these schemes, notably by comparing their performance. The study of the FVNFLlib, SEAL and HElib libraries enables to select the optimal library according to the context. A key area of application for privacy is genomic data. It is crucial to protect this data since it is linked to individuals and raises significant privacy issues. We propose a protocol to externalize encrypted genomic data to a server while being able to test for the presence of an element (a mutation) in a private manner. The protocol is based on private information retrieval and is efficient from both a memory consumption and time performance point of view. The techniques used allow an optimal privacy protection. Other operations are important on genomic data, such as the study of the correlation between some data. We show the possibility of realizing a solution to compute a maximal set in a private way between an element and a database. The multiplicative depth of the protocol is too important to use classical schemes, that is why we used TFHE. Finally, we have implemented an algorithm to detect fraud during an online transaction using homomorphic computation. This algorithm allows to predict if a transaction is potentially fraudulent without learning the information of this transaction.
Le chiffrement homomorphe est une primitive cryptographique permettant de réaliser des opérations arithmétiques sur des données chiffrées. Grâce à celui-ci il est possible de confier des calculs à un agent externe, sans que les données traitées ou les résultats obtenus ne soient accessibles à cet agent. Ainsi il est possible de réaliser des protocoles améliorant la protection de la vie privée dans de nombreux domaines. La découverte de schémas de chiffrement homomorphe relativement efficaces, en général fondés sur les réseaux euclidiens, permet d'envisager des applications intéressantes à un coût calculatoire acceptable. Cette thèse s'attelle dans un premier temps à étudier les principales implémentations rendues publiques de ces schémas, notamment en comparant leur performance. L'étude des librairies FV-NFLlib, SEAL et HElib permet de choisir celle donnant des résultats optimaux en fonction de la situation. Un domaine d'application primordial de la protection de la vie privée est celui des données génomiques. Il est crucial de protéger ces données puisqu'elles sont liées aux individus et soulèvent des problèmes de vie privée qui sont difficiles à contourner. Nous proposons un protocole permettant d'externaliser les données génomiques chiffrées vers un serveur tout en ayant la possibilité de tester la présence d'un élément (une mutation) et ce de manière privée. Le protocole est basé sur un retrait d'information privée et est efficace d'un point de vue consommation mémoire et performance temporelle. Les techniques utilisées permettent une protection de la vie privée optimale. D'autres opérations sont importantes sur les données génomiques, notamment l'étude de la corrélation entre certaines données. Nous montrons la possibilité de réaliser une solution permettant de calculer un ensemble maximal de manière privée entre un élément et une base de données. La profondeur multiplicative du protocole est trop importante pour utiliser les schémas classiques, c'est pourquoi nous avons exploité TFHE. Pour finir, nous avons mis en place un algorithme permettant de détecter une fraude lors d'un paiement en ligne en utilisant le calcul homomorphe. Cet algorithme permet de prédire si un paiement est potentiellement frauduleux sans apprendre les informations de ce paiement.
Origine | Version validée par le jury (STAR) |
---|