Internship Proposal: Secure Distributed Join in the Context of Personal Clouds

This internship may open the way for a PhD thesis.

Dans le cadre d’un partenariat avec l’entreprise Hippocad (http://hippocad.com/) spécialisée dans le service à la personne, l’équipe INRIA SMIS (Secure and Mobile Information Systems) travaille sur une solution de gestion de données personnelle à domicile, basée sur un composant de type plug computer (e.g., Raspberry PI) et sur le dispositif sécurisé PlugDB (https://project.inria.fr/plugdb/) développé dans l’équipe. L’idée est que chaque personne prise en charge à domicile dispose d’un boitier intégrant un serveur de données personnel et sécurisé, capable de stocker/gérer des données localement, et communicant (communication GPRS) avec le reste de l’infrastructure.

Dans ce contexte hautement distribué, nous nous intéressons à permettre des traitements collaboratifs, dans lesquelles des populations différentes d’usagers pourraient être impliquées, dans le but de croiser leurs informations respectives pour en déduire un résultat. Par exemple, un réseau de kinés et de médecins (intervenants médicaux) pourrait collaborer avec un réseau de personnes suivies à domicile (patients) pour mesurer l’impact effectif du passage de représentants de laboratoires pharmaceutiques chez les intervenants médicaux sur leurs prescriptions. Dans ce cas, nous pourrons considérer que les patients disposent des prescriptions médicales qui leurs sont faites, et que les intervenants médicaux disposent des listes de médicaments que les représentants leur recommandent. Il s’agit alors de croiser les informations issues des deux populations et des les joindre sur des champs communs.

L’objectif du stage est d’étudier la façon de réaliser ce type de jointure de manière sécurisée, sans que les participants ne révèlent aux autres leurs propres données, mais que le résultat (statistique) issu du croisement de données puissent être rendu public. Il s’agit typiquement d’une instance particulière du problème du calcul multipartite sécurisé introduit défini dans le domaine de la cryptographie. L’hypothèse que nous ferons est que tout programme exécuté sur le serveur de données personnel offre un mécanisme d’enclave isolées permettant d’exécuter un traitement de données tout en garantissant que les données personnelles impliquées ne puissent être transmises à l’extérieur de l’enclave. Ainsi, des fonctions spécifiques en appuis au calcul pourront être intégrées dans les serveurs personnels. Une stratégie d’optimisation globale devra être proposée, de manière à minimiser les données révélées à un participant qui réussirait à observer les traitements locaux réalisés dans sur son propre serveur personnel.

En particulier pour la partie optimisation, on s’intéressera à donner une algèbre d’opérateurs (typiquement une extension de l’algèbre relationnelle) permettant de distinguer les traitements locaux à une enclave et les traitements collaboratifs. On s’intéressera également à estimer en détails la complexité en temps, en mémoire et en communication des différents implémentations de ces opérateurs pour justifier les optimisations proposées.

Le stage se déroulera de la manière suivante:

  1. Dans un premier temps, le stagiaire se familiarisera avec le scenario et avec les techniques de calcul distribué sécurisé déjà définies dans l’équipe PETRUS d’INRIA.
  2. Ensuite, il proposera une solution de référence, pas forcément optimale en cas d’attaque locale d’un participant, pour laquelle une implémentation sera réalisée.
  3. Enfin, une proposition plus optimale en termes de performances, et minimisant la quantité de données personnelles révélées en cas d’attaque, sera proposée et comparée à l’approche de référence.

 Required skills: Databases, storage and indexation schemes, database encryption and C programming.

Advisors: Nicolas Anciaux and Guillaume Scerri

Contact: smis-recrutement@inria.fr

Localization:     PETRUS team https://www.inria.fr/en/teams/petrus (ex SMIS https://www.inria.fr/equipes/smis),                    localized at UVSQ, 45 avenue des Etats Unis – 78035 Versailles (http://tinyurl.com/comeUVSQ)

References

  1. Thu Le, Nicolas Anciaux, Sébastien Guilloton, Saliha Lallali, Philippe Pucheral, Iulian Sandu Popa, Chao Chen, “Distributed Secure Search in the Personal Cloud”. EDBT, pp. 652-655, 2016. Lien: http://openproceedings.org/2016/conf/edbt/paper-281.pdf
  2. Quoc-Cuong To, Benjamin Nguyen, Philippe Pucheral, “Private and Scalable Execution of SQL Aggregates on a Secure Decentralized Architecture”, ACM Trans. Database Syst. 41(3), pp. 16-43, 2016. Lien : https://hal.archives-ouvertes.fr/hal-01296432/document
  3. Victor Costan, Srinivas Devadas, “Intel SGX Explained” . Lien : https://eprint.iacr.org/2016/086