Utilisation du chiffrement «all-or-nothing » pour la protection des données dans les environnements distribués

Occurrences : 

2021

Nombre d'étudiants minimum: 

2

Nombre d'étudiants maximum: 

3

Nombre d'instances : 

1

Faisable à distance: 

Oui

Les solutions d'hébergement de données dans des clouds publics gagnent de plus en plus en popularité en permettant aux entreprises et aux particuliers de réduire leurs coûts. Se posent alors de multiples problèmes dont la protection des données, leur hébergement dit « souverain » et de leur résilience.

La protection des données hébergées dans des clouds publics est alors une question critique pour le déploiement par les entreprises ou les administrations de telles solutions. Les moyens classiques pour assurer la confidentialité se basent sur les algorithmes de chiffrement symétrique comme AES. Cependant, la fiabilité de ces techniques dépend seulement de la sécurité et de la force de la clé choisie. Leur utilisation implique la maintenance d'un système de gestion de clés parfois très complexe. Le second problème se situe au niveau de la résilience des données hébergées, c'est-à-dire de leur résistance à une défaillance du système distribué d’hébergement ou encore leur résilience à une attaque destructive (eg ransonware) des données. La simple réplication de données est une méthode facile et efficace, néanmoins elle est gourmande en utilisation de la mémoire des serveurs.

Récemment, plusieurs pistes les unes académiques les autres industrielles convergent autour de l’utilisation du chiffrement dit «all-or-nothing » pour le renforcement de la protection des données hébergées dans le cloud. Ce type de chiffrement utilise une étape de pré- ou post-traitement des données en plus du chiffrement symétrique dans le but de générer des fragments chiffrés qui sont déchiffrables seulement si tous les fragments sont rassemblés. Ainsi, une fois fragmentées et dispersées, les données restent protégées contre un attaquant même s’il possédait la clé de déchiffrement, tant qu’il n’a pas réussi à accéder à « tous » les lieux de stockage de la donnée initiale. Enfin, cette méthode permet d’obtenir de la résilience en générant k fragments supplémentaires ; bien sur dans ce dernier cas la méthode n’est plus « all-or-nothing » mais conservera une propriété analogue car il faudra atteindre un seuil de n fragments (pris parmi n+k) pour pouvoir reconstituer la donnée originale. Les n+k fragments générés et dispersés auront une taille inférieure à une simple duplication de la donnée originale.

Le projet proposé consiste à rapidement analyser et comparer les différentes méthodes de protection des données contre un attaquant en possession de la clé de chiffrement. Puis le ou les étudiants utiliseront le cluster R2 de l’école pour réaliser plusieurs tests de performance. On cherchera en particulier à déterminer et comparer les différentes façons de paralléliser le processus de traitement de la donnée. Dans l’idéal, le ou les étudiants développeront ces méthodes en C++.

​Références

  • Karame, Ghassan & Soriente, Claudio & Lichota, Krzysztof & Capkun, Srdjan. (2017). Securing Cloud Data Under Key Exposure. IEEE Transactions on Cloud Computing. PP. 1-1. 10.1109/TCC.2017.2670559.
  • Katarzyna Kapusta, Matthieu Rambaud, and Gerard Memmi. (2020). Revisiting Shared Data Protection Against Key Exposure. In Proceedings of the 15th ACM Asia Conference on Computer and Communications Security (ASIA CCS '20). Association for Computing Machinery, New York, NY, USA, 165–177. DOI:https://doi.org/10.1145/3320269.3372198
  • Kapusta, K., & Memmi, G. (2018). Selective All-Or-Nothing Transform: Protecting Outsourced Data Against Key Exposure. CSS LNCS vol 11161. Springer, Cham, pp 181-193, Amalfi, Italy, October 2018.
  • Tan Yee Man (2020) Étude et parallélisation d'algorithmes AONT Rapport d’études, Télécom Paris