Efficient verification of observational equivalences of cryptographic processes : theory and practice
Vérification efficace d'équivalences observationnelles de processus cryptographiques : théorie et pratique
Résumé
This thesis studies the analysis of cryptographic protocols. They are sequences of instructions permitting to interact with a recipient remotely while protecting the sensitive content of the communication from a potential malicious third party. Classical cases where the confidentiality and the integrity of the communication are critical are, among others, online payments and medical-service booking, or electronic voting. We study notions of security defined technically by observational equivalences (which includes among others confidentiality, anonymity or non-traceability). We designed a program, DeepSec, which, from the description of a protocol for a fixed number of participants, verifies in a fully-automated way whether the protocol offers a security guarantee of this type. We demonstrate the ability of this tool to analyse complex attack scenarios through several examples. After that, we present an optimization technique exploiting symmetries in security proofs. Typically, participants with similar roles in the protocol often have similar instructions to follow, inducing redundant work during the analysis. On several examples, using this technique allowed to reduce the analysis time of DeepSec by several orders of magnitude. Finally, we also studied the theoretical aspect the problem in order to determine to which extent DeepSec’s algorithm could be improved (can we make the tool faster?) or made more expressive (can we get rid of some of the limitations of the tool?). For that we carried out a complete analysis of the computational complexity of DeepSec’s algorithm, and integrated it to a detailed survey of the state of the art regarding complexity results in similar contexts. This meticulous survey allowed us to expose subtle variations in how the problem is formalised across the literature—sometimes impacting its complexity. We also include new results and improve some of the surveyed ones, resulting in a clearer understanding of the problem.
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.
Origine | Fichiers produits par l'(les) auteur(s) |
---|