Vérification efficace d'équivalences observationnelles de processus cryptographiques : théorie et pratique
Auteur / Autrice : | Itsaka Rakotonirina |
Direction : | Steve Kremer, Vincent Cheval |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 01/02/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 : Thomas Jensen |
Examinateurs / Examinatrices : Steve Kremer, Vincent Cheval, Tamara Rezk, David Basin, Catuscia Palamidessi, Myrto Arapinis | |
Rapporteur / Rapporteuse : Tamara Rezk, David Basin |
Mots clés
Mots clés contrôlés
Résumé
Cette thèse porte sur l’analyse des protocoles cryptographiques. Ce sont des suites d’instructions permettant d’interagir à distance avec un interlocuteur tout en protégeant le contenu sensible de la communication d’une potentielle tierce partie malveillante. Des cas classiques où la confidentialité et l’intégrité de la communication sont critiques sont, parmi d’autres, les paiements et services de santé en ligne, ou le vote électronique. Nous étudions les notions de sécurité définies techniquement par des équivalences observationnelles (ce qui inclut, entre autres, la confidentialité, l’anonymat ou la non-traçabilité). Nous avons conçu un programme, DeepSec, qui, à partir de la description d’un protocole pour un nombre fixé de participants, vérifie de manière entièrement automatisée si le protocole offre une garantie de sécurité donnée de ce type. Nous démontrons ensuite la capacité de cet outil à analyser des scenarios d’attaques complexes à travers plusieurs exemples. Dans un deuxième temps, nous présentons une technique d’optimisation reposant sur l’exploitation de symétries dans les preuves de sécurité. Typiquement, les participants ayant des rôles similaires dans le protocole ont souvent les mêmes instructions à suivre, ce qui induit des tâches redondantes lors de l’analyse. Sur plusieurs exemples, l’utilisation de cette technique d’optimisation a permis de réduire le temps d’analyse de DeepSec de plusieurs ordres de magnitude. Enfin, nous avons également étudié l’aspect théorique du problème afin de déterminer dans quelle mesure l’algorithme de DeepSec pouvait être amélioré (peut-on rendre l’outil plus rapide ?) ou rendu plus expressif (peut-on rendre l’outil capable d’analyser plus de protocoles, i.e., nous débarrasser de certaines de ses limitations ?). Nous avons pour cela fait une analyse de complexité calculatoire complète de l’algorithme de DeepSec, et l’avons intégré à une revue détaillée de l’état de l’art des résultats de complexité dans des contextes similaires. Cette revue minutieuse nous a permis de mettre au jour des variations subtiles dans la formalisation du problème à travers la littérature — parfois ayant un impact sur sa complexité. Nous y incluons de nouveaux résultats et améliorons certains ce ceux passés en revue, offrant une compréhension plus claire du problème.