Preuves mécaniques de protocoles cryptographiques dans le modèle calculatoire et leur lien avec des implémentations vérifiées

par Benjamin Lipp

Projet de thèse en Informatique

Sous la direction de Bruno Blanchet et de Karthikeyan Bhargavan.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de École doctorale Sciences mathématiques de Paris centre (Paris) , en partenariat avec INRIA Paris (laboratoire) et de École normale supérieure (Paris ; 1985-....) (établissement de préparation de la thèse) depuis le 01-09-2018 .


  • Résumé

    L'analyse de sécurité et des preuves de sécurité de protocoles cryptographiques sont importants pour trouver des attaques mais aussi pour comprendre les réductions de sécurité et les hypothèses d'un cryptosystème. Des assistants de preuve aident à effectuer une telle analyse d'une manière plus formelle et rigoureuse. Du point de vue d'un praticien, la vérification d'une implémentation est aussi importante qu'une preuve cryptographique. Cela est exprimé par des propriétés comme l'exactitude fonctionnelle, la sûreté mémoire et la résistance contre des attaques par canaux auxiliaires. Réunir ces deux points de vue d'une manière formelle servirait de fournir des garanties cryptographiques pour des implémentations vérifiés. L'objectif de ce projet est d'explorer et d'améliorer l'applicabilité et la scalabilité de preuves mécaniques dans le modèle calculatoire, et d'établir un lien formel entre telles preuves et un langage de programmation ciblé sur la vérification de programmes.

  • Titre traduit

    On Mechanised Cryptographic Proofs of Protocols and their Link with Verified Implementations


  • Résumé

    Security analysis and proofs of cryptographic protocols are important to find possible attacks, and to understand the security reductions and assumptions of a cryptosystem. Proof assistants help conduct such analysis in a more formal and thorough way. From a practitioners perspective, the verification of implementations of cryptosystems is as important as proofs, and expressed by properties such as functional correctness, memory safety, and resistance against side-channel attacks. Bringing these two views together, formally, would provide cryptographic guarantees for verified implementations. The purpose of this work is to explore and strengthen the applicability and scalability of mechanised cryptographic proofs, and to establish a formal link between such proofs and a programming language aimed at programme verification.