Réplication sécurisée dans les infrastructures pair-à-pair de collaboration
Auteur / Autrice : | Victorien Elvinger |
Direction : | François Charoy, Gérald Oster |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 14/06/2021 |
Etablissement(s) : | Université de Lorraine |
Ecole(s) doctorale(s) : | École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications |
Jury : | Président / Présidente : Steve Kremer |
Examinateurs / Examinatrices : François Charoy, Emmanuelle Anceaume, Pascal Molli, Esther Pacitti-Valduriez | |
Rapporteur / Rapporteuse : Emmanuelle Anceaume, Pascal Molli |
Résumé
Une application de collaboration permet à plusieurs individus de coéditer un contenu. Les infrastructures pair-à-pair de collaboration visent à la conception d'applications hautement disponibles, aux latences faibles, qui tolèrent les partitions réseaux, et qui passent à l'échelle. Chaque pair (individu) modifie sa propre copie du contenu. La modification concurrente des copies conduit à leur divergence. Les protocoles de réplication sont responsables de la convergence des copies. Ces protocoles supposent l'absence de pairs malintentionnés qui compromettent la convergence des copies. Pouvons-nous protéger la convergence des copies et préserver les propriétés des infrastructures pair-à-pair ? Nous proposons deux protocoles qui protègent la convergence des copies. Le premier protocole maintient un journal répliqué et infalsifiable qui enregistre les modifications du contenu. Les pairs conservent l'intégralité du journal pour déjouer les attaques des pairs malintentionnés et pour le transmettre à ceux qui rejoignent la collaboration. Le second protocole permet aux pairs de tronquer leur journal. La troncature du journal repose sur le concept de Stabilité. Une modification devient stable lorsque toute modification intégrée dans le journal dépend d'elle. Pour rejoindre la collaboration, un pair récupère une copie et un journal tronqué. Il vérifie l'authenticité de la copie à partir du journal tronqué. Un type de données répliquées (CRDT) encapsule un protocole de réplication. Les CRDTs séquences supposent généralement un ordre d'intégration causal des modifications du contenu. Le retard d'une modification propage des ralentissements dans l'ensemble du système. La connexion d'un pair peut engendrer l'intégration de nombreuses modifications. Pouvons-nous éliminer ces ralentissements et ces intégrations coûteuses ? Nous formalisons une famille de CRDTs séquences et nous proposons une approche qui permet leur synchronisation par différences d'états. Les différences d'états peuvent être intégrées dans un ordre arbitraire et résumer plusieurs modifications. Nous proposons un CRDT séquence qui tire avantage de notre approche.