Modeling and Verifying Security Protocols with the Applied Pi Calculus and Proverif
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Formal Verification for Real-World Cryptographic Protocols and Implementations Nadim Kobeissi
Formal verification for real-world cryptographic protocols and implementations Nadim Kobeissi To cite this version: Nadim Kobeissi. Formal verification for real-world cryptographic protocols and implementations. Cryptography and Security [cs.CR]. Université Paris sciences et lettres, 2018. English. NNT : 2018PSLEE065. tel-03245433v4 HAL Id: tel-03245433 https://tel.archives-ouvertes.fr/tel-03245433v4 Submitted on 1 Jun 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Préparée à Inria Paris Dans le cadre d'une cotutelle avec École Normale Supérieure — PSL Vérification formelle des protocoles et des implementations cryptographiques Formal Verification for Real-World Cryptographic Protocols and Implementations Soutenue par Composition du jury : Nadim Kobeissi David Pointcheval Le 10 décembre 2018 Directeur de recherche, ENS Paris Président Stéphanie Delaune Directeur de recherche, IRISA Rennes Rapporteur École doctorale no386 Tamara Rezk Directeur de recherche, Inria Sophia An- Rapporteur École Doctorale de Sci- tipolis ences Mathématiques de Cas -
Formal Verification of the Internet Key Exchange (Ikev2) Security Protocol Tristan Ninet
Formal verification of the Internet Key Exchange (IKEv2) security protocol Tristan Ninet To cite this version: Tristan Ninet. Formal verification of the Internet Key Exchange (IKEv2) security protocol. Cryptogra- phy and Security [cs.CR]. Université Rennes 1, 2020. English. NNT : 2020REN1S002. tel-02882167 HAL Id: tel-02882167 https://tel.archives-ouvertes.fr/tel-02882167 Submitted on 26 Jun 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Thèse de doctorat de L’UNIVERSITÉ DE RENNES 1 École Doctorale No 601 Mathématiques et Sciences et Technologies de l’Information et de la Communication Spécialité : Informatique Par Tristan NINET Formal verification of the Internet Key Exchange (IKEv2) security protocol Thèse présentée et soutenue à Rennes, le 9 mars 2020 Unité de recherche : Inria Rapporteurs avant soutenance : Caroline FONTAINE Directrice de Recherche, CNRS, LSV / ENS Paris-Saclay Steve KREMER Directeur de Recherche, Inria, LORIA Nancy Composition du Jury : Président : Steve KREMER Directeur de Recherche, Inria, LORIA Nancy Examinateurs : Pierre-Etienne MOREAU Professeur, Université de Lorraine, École des Mines de Nancy Thomas GENET Maître de conférence, Université de Rennes 1 Dir. de thèse : Stéphanie DELAUNE Directrice de Recherche, CNRS, IRISA Rennes Co-dir. -
The Applied Pi Calculus: Mobile Values, New Names, and Secure
The Applied Pi Calculus: Mobile Values, New Names, and Secure Communication Mart´ınAbadi Bruno Blanchet C´edric Fournet Google Brain Inria Microsoft Research [email protected] [email protected] [email protected] July 31, 2017 Abstract We study the interaction of the programming construct “new”, which generates statically scoped names, with communication via messages on channels. This interaction is crucial in security protocols, which are the main motivating examples for our work; it also appears in other programming-language contexts. We define the applied pi calculus, a simple, general extension of the pi calculus in which values can be formed from names via the application of built-in functions, subject to equations, and be sent as messages. (In contrast, the pure pi calculus lacks built-in functions; its only messages are atomic names.) We develop semantics and proof techniques for this extended language and apply them in reasoning about security protocols. This paper essentially subsumes the conference paper that introduced the applied pi calculus in 2001. It fills gaps, incorporates improvements, and further explains and studies the applied pi calculus. Since 2001, the applied pi calculus has been the basis for much further work, described in many research publications and sometimes embodied in useful software, such as the tool ProVerif, which relies on the applied pi calculus to support the specification and automatic analysis of security protocols. Although this paper does not aim to be a complete review of the subject, it benefits from that further work and provides better foundations for some of it. In particular, the applied pi calculus has evolved through its implementation in ProVerif, and the present definition reflects that evolution. -
Proverif 2.02Pl1: Automatic Cryptographic Protocol Verifier
ProVerif 2.02pl1: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial Bruno Blanchet, Ben Smyth, Vincent Cheval, and Marc Sylvestre [email protected], [email protected], [email protected], [email protected] September 2, 2020 ii Acknowledgements This manual was written with support from the Direction G´en´eralepour l'Armement (DGA) and the EPSRC project UbiVal (EP/D076625/2). ProVerif was developed while Bruno Blanchet was affiliated with INRIA Paris-Rocquencourt, with CNRS, Ecole Normale Sup´erieure,Paris, and with Max-Planck- Institut f¨urInformatik, Saarbr¨ucken. This manual was written while Bruno Blanchet was affiliated with INRIA Paris-Rocquencourt and with CNRS, Ecole Normale Sup´erieure,Paris, Ben Smyth was affiliated with Ecole Normale Sup´erieure,Paris and with University of Birmingham, Vincent Cheval was affiliated with CNRS and Inria Nancy, and Marc Sylvestre was affiliated with INRIA Paris. The development of ProVerif would not have been possible without the helpful remarks from the research community; their contributions are greatly appreciated and further feedback is encouraged. iii iv Contents 1 Introduction 1 1.1 Applications of ProVerif . .1 1.2 Scope of this manual . .2 1.3 Support . .2 1.4 Installation . .2 1.4.1 Installation via OPAM . .3 1.4.2 Installation from sources (Linux/Mac/cygwin) . .3 1.4.3 Installation from binaries (Windows) . .4 1.4.4 Emacs . .5 1.4.5 Atom . .5 1.5 Copyright . .5 2 Getting started 7 3 Using ProVerif 11 3.1 Modeling protocols . 11 3.1.1 Declarations . 11 3.1.2 Example: Declaring cryptographic primitives for the handshake protocol .