[PhD] Mécanismes de sécurité pour les systèmes collaboratifs sans autorité centrale

Titre : Mécanismes de sécurité pour les systèmes collaboratifs sans autorité centrale
Encadrants : Claudia-Lavinia Ignat (Chargée de recherche Inria), Olivier Perrin (Professeur Université de Lorraine)
Équipe d’accueil : Coast, LORIA/Inria Nancy-Grand Est

Objet de la thèse

Le sujet de thèse vise à proposer un mécanisme de sécurité adapté aux systèmes collaboratifs distribués sans autorité centrale. Le mécanisme de sécurité doit gérer les droits d’accès aux documents partagés ainsi qu’un chiffrement de bout en bout des données avec des clefs de chiffrement adaptées aux groupes dynamiques des utilisateurs. Le mécanisme proposé doit être facile à utiliser, la solution proposée sera testée avec des utilisateurs.

Descriptif de la thèse

Les systèmes collaboratifs permettent à un groupe d’utilisateurs de travailler à distance sur un ensemble des documents partagés. Des exemples de systèmes collaboratifs sont les wikis, les gestionnaires de versions ou GoogleDrive. Les systèmes collaboratifs existants reposent tous sur une autorité centrale, généralement un grand fournisseur de service tels que Facebook ou Google. Cette autorité centrale stocke les données personnelles des utilisateurs et a le contrôle sur ces données ce qui met en péril la confidentialité de ces données. Ces systèmes collaboratifs basés sur une autorité centrale ont également des problèmes de passage à l’échelle en termes du nombre des utilisateurs et de la fréquence de leurs modifications. L’équipe Coast souhaite assurer une collaboration sans autorité centrale ou collaboration pair-à-pair digne de confiance où chaque utilisateur maintient ses données et peut décider avec quels autres utilisateurs il souhaite les partager. Le but de cette thèse est de proposer un mécanisme de sécurité qui soit adapté à cette collaboration.

Les mécanismes de contrôle d’accès existants sont basés sur une autorité de confiance centralisée qui gère les politiques de sécurité qui satisfassent tous les partenaires d’une collaboration. Les défis du mécanisme de contrôle d’accès dans la collaboration pair-à-pair seront la gestion de l’arrivée et du départ d’un partenaire ainsi que la révocation des autorisations accordées préalablement. En effet, une fois que les utilisateurs ont collaboré, ils peuvent souhaiter que certains autres utilisateurs n’aient plus accès aux nouvelles modifications apportés aux documents partagés. Il est normal que les utilisateurs qui ont eu accès à une version du document et qui ont contribué à une version du document gardent cette version du document même s’ils n’ont plus accès aux versions suivantes.

À part les mécanismes de contrôle d’accès, les mécanismes de chiffrement de bout en bout sont très importants pour assurer la sécurité de données mutables dans la collaboration. Les grands fournisseurs des services collaboratifs tel que Dropbox, iCloud ou GoogleDrive ont mis en place des solutions de chiffrement de documents afin de ne conserver que des versions chiffrées de documents stockées. Mais pour faciliter l’usage de leurs services, les clés de chiffrement restent en possession de ces fournisseurs de service, ce qui leur donne la possibilité de consulter ces données non-chiffrées et qui laisse ouverte la porte aux différentes attaques. Cette thèse envisage la proposition d’un mécanisme où les échanges entre les participants soient chiffrés de bout en bout et où les serveurs de stockage n’auront pas besoin d’accéder à une version non chiffrée des données.

Un autre aspect très important de la sécurité de données collaboratives est la gestion des clés de groupe. Supposons qu’un groupe d’utilisateurs collaborent sur un document et échangent leurs données qui sont chiffrées avec une clé symétrique. Si le groupe d’utilisateurs décide d’éliminer un des utilisateurs du groupe, l’utilisateur éliminé ne devrait plus avoir accès au document. Une nouvelle clé devrait être générée et partagée avec les utilisateurs restants du groupe. Le mécanisme de génération et de partage de la nouvelle clé requiert plusieurs rounds de synchronisation entre utilisateurs ce qui soulève un problème de performance et introduit une interruption dans le travail des participants. Dans une collaboration à large échelle où plusieurs utilisateurs rejoignent et quittent souvent le groupe des collaborateurs, la régénération et le partage de clés de groupe devient problématique. Cette thèse envisage la proposition d’un mécanisme efficace de gestion de clé de groupe.

Le mécanisme de sécurité proposé doit être facile à utiliser par les utilisateurs et donc des études d’usage seront nécessaires.

L’équipe Coast a développé un éditeur web collaboratif temps-réel pair-à-pair MUTE [1] qui permet à un groupe d’utilisateurs d’éditer de manière collaborative des documents textuels sans l’utilisation d’un serveur central. Actuellement il n’y a pas de mécanisme de sécurité associé à cet éditeur. Le mécanisme de sécurité issu de cette thèse pourrait être implémenté dans l’éditeur MUTE.

Programme de la thèse

Pour assurer la disponibilité de données dans la collaboration (par exemple sur des documents partagés) et pour des raisons de performance les données sont répliquées. Chaque utilisateur travaille sur sa propre copie des documents. Les modifications apportées seront fusionnées plus tard. Le maintien de la cohérence des copies constitue un des problèmes clés de l’édition collaborative.

Le mécanisme de maintien de la cohérence le plus adapté pour la collaboration entre un grand nombre des utilisateurs qui partent et rejoignent le groupe est basée sur des CRDTs et consiste à définir des types de données répliquées commutatifs [2,3]. L’idée est de définir des structures de données dont les modifications en parallèle ne rentrent jamais en conflit (par abus de langage, on considère que ces modifications commutent les unes par rapport aux autres). Comme les structures de données classiques, ces structures de données servent de briques de bases pour construire des structures de données plus complexes. En utilisant ces structures, il est possible de construire non seulement des éditeurs collaboratifs mais également des data stores fortement distribués. On peut citer les implémentations réalisées dans le système de gestion de base de données orientée documents distribué Riak ou encore dans le service de base de données NoSQL Amazon Dynamo.

Pour éviter l’utilisation d’un serveur central qui stocke toutes les données, les droits d’accès ainsi que les données seront répliqués. Le but de cette thèse est la conception des algorithmes CRDT pour la synchronisation des droits d’accès. Les CRDTs pour les droits d’accès seront composés avec les CRDTs pour la synchronisation de données.

Dans un mécanisme de contrôle d’accès classique quand un utilisateur demande l’accès à une ressource localisée sur une machine distante, la machine distante vérifie la permission de l’utilisateur et lui donne accès le cas échéant. Dans le cas de la collaboration décentralisée, les données sont déjà répliquées et si des mesures supplémentaires ne sont pas prises en compte l’utilisateur pourrait avoir accès aux données indépendamment des droits d’accès. Un mécanisme de chiffrement de données doit être mise en place pour gérer l’accès aux données répliquées. Dans ce cas, un utilisateur pourrait vérifier à l’aide de la liste des droits d’accès répliquée localement qui sont les utilisateurs autorisés et leur partager les clés de chiffrement.

La difficulté majeure dans la solution proposée est de composer les CRDT pour les opérations sur les documents avec les CRDT pour les droits d’accès et de préserver la causalité entre ces deux types de données. Effectivement il est très important de déterminer si un utilisateur a le droit d’effectuer une opération sur le document (un droit d’accès lui a été donné ou révoqué avant qu’il exécute une opération) [4,5]. Des cas problématiques existent quand les utilisateurs exécutent des opérations sur le document pendant que leurs droits sont révoqués en concurrence. Des décisions doivent être prises si ces opérations sur les documents peuvent être conservées ou si elles doivent être annulées.

Enfin la solution proposée sera implémentée dans l’éditeur MUTE et testée avec des groupes des utilisateurs. Les utilisateurs seront organisés dans des groupes qui devront réaliser des tâches collaboratives impliquant l’ajout et la suppression des utilisateurs du groupe. Les performances et la qualité des tâches seront étudiées ainsi que la facilité d’utilisation du mécanisme proposé.

Programme :

  • Étude des mécanismes existants de sécurité pour les systèmes collaboratifs ainsi que des mécanismes de chiffrement de groupe
  • Élicitation des besoins (« requirements ») pour le mécanisme de sécurité envisagé à travers des études des cas
  • Proposition d’un mécanisme de chiffrement de groupe qui satisfait les « requirements »
  • Étude des CRDT
  • Proposition d’un CRDT pour les droits d’accès
  • Composition du CRDT pour les droits d’accès avec un CRDT pour le contenu des données partagées en présence des données chiffrés
  • Implémentation du mécanisme de sécurité proposé dans MUTE
  • Étude avec des utilisateurs du mécanisme de sécurité proposé

Références

[1] Matthieu Nicolas, Victorien Elvinger, Gérald Oster, Claudia-Lavinia Ignat, François Charoy. MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor. ECSCW 2017 – 15th European Conference on Computer-Supported Cooperative Work, Aug 2017, Sheffield, United Kingdom. pp.1-4
[2] Marc Shapiro, Nuno M. Preguiça, Carlos Baquero, Marek Zawirski. Conflict-Free Replicated Data Types. Symposium on Stabilization, Safety, and Security of Distributed Systems SSS 2011, pp. 386-400
[3] Luc André, Stéphane Martin, Gérald Oster, Claudia-Lavinia Ignat. Supporting Adaptable Granularity of Changes for Massive-scale Collaborative Editing. CollaborateCom – 9th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing – 2013, Oct 2013, Austin, United States.
[4] Hien Thi Thu Truong, Claudia-Lavinia Ignat, Pascal Molli. A contract-extended push-pull-clone model for multi-synchronous collaboration. International Journal of Cooperative Information Systems, World Scientific Publishing, 2012, 21 (3), pp.221-262.
[5] Hien Thi Thu Truong, Claudia-Lavinia Ignat, Pascal Molli. Authenticating Operation-based History in Collaborative Systems. ACM 2012 International Conference on Support Group Work, Oct 2012, Sanibel Island, FL, United States. pp.131-140

Compétences

  • Master ou équivalent en Informatique requis.
  • Expertises théoriques requises: systèmes distribués, réseaux pair-à-pair, sécurité
  • Expertises techniques souhaités: développement dans des langages objets ou fonctionnels et technologie web

Contact:

Claudia-Lavinia Ignat (claudia.ignat@inria.fr)

Logo d'Inria