Union and intersection types for secure protocol implementations
Michael Backes,Cătălin Hriţcu,Matteo Maffei +2 more
- 31 Mar 2011
- pp 1-28
TL;DR: A new type system for verifying the security of cryptographic protocol implementations that combines prior work on refinement types, with union, intersection, and polymorphic types, and with the novel ability to reason statically about the disjointness of types is presented.
read more
Abstract: We present a new type system for verifying the security of cryptographic protocol implementations. The type system combines prior work on refinement types, with union, intersection, and polymorphic types, and with the novel ability to reason statically about the disjointness of types. The increased expressivity enables the analysis of important protocol classes that were previously out of scope for the type-based analyses of protocol implementations. In particular, our types can statically characterize: (i ) more usages of asymmetric cryptography, such as signatures of private data and encryptions of authenticated data; (ii ) authenticity and integrity properties achieved by showing knowledge of secret data; (iii ) applications based on zero-knowledge proofs. The type system comes with a mechanized proof of correctness and an efficient type-checker.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Implementing TLS with Verified Cryptographic Security
Karthikeyan Bhargavan,Cédric Fournet,Markulf Kohlweiss,Alfredo Pironti,Pierre-Yves Strub +4 more
- 19 May 2013
TL;DR: A verified reference implementation of TLS 1.2 is developed, including security specifications for its main components, such as authenticated stream encryption for the record layer and key establishment for the handshake, and typecheck the protocol state machine.
Extracting and verifying cryptographic models from C protocol code by symbolic execution
Mihhail Aizatulin,Andrew D. Gordon,Jan Jürjens +2 more
- 17 Oct 2011
TL;DR: The results in this paper provide the first computationally sound verification of weak secrecy and authentication for (single execution paths of) C code.
•Posted Content
Extracting and Verifying Cryptographic Models from C Protocol Code by Symbolic Execution
TL;DR: In this paper, the authors propose an automatic solution that needs neither a pre-existing protocol description nor manual annotation of source code to verify security properties of a cryptographic protocol coded in C. The results in this paper provide the first computationally sound verification of weak secrecy and authentication for (single execution paths of) C code.
58
Guiding a General-Purpose C Verifier to Prove Cryptographic Protocols
François Dupressoir,Andrew D. Gordon,Jan Jürjens,David A. Naumann +3 more
- 27 Jun 2011
TL;DR: This work formalizes the symbolic model in Coq in order to justify the addition of axioms to VCC, and relies on the general-purpose verifier VCC to verify security properties of C code for cryptographic protocols by using a general- Purpose verifier.
Guiding a general-purpose C verifier to prove cryptographic protocols
TL;DR: This work formalizes the symbolic model in Coq in order to justify the addition of axioms to VCC, and relies on the general-purpose verifier VCC to verify security properties of C code for cryptographic protocols by using a general- Purpose verifier.
45
References
Graph-Based Algorithms for Boolean Function Manipulation
TL;DR: In this paper, the authors present a data structure for representing Boolean functions and an associated set of manipulation algorithms, which have time complexity proportional to the sizes of the graphs being operated on, and hence are quite efficient as long as the graphs do not grow too large.
Z3: an efficient SMT solver
Leonardo de Moura,Nikolaj Bjørner +1 more
- 29 Mar 2008
TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
8.2K
Breaking and Fixing the Needham−Schroeder Public−Key Protocol Using FDR
Gavin Lowe
- 01 Jan 1996
TL;DR: This paper uses FDR, a refinement checker for CSP to discover an attack upon the Needham-Schroeder Public-Key Protocol, which allows an intruder to impersonate another agent, and adapt the protocol, and uses FDR to show that the new protocol is secure, at least for a small system.
1.3K
Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
de Ng Dick Bruijn
- 01 Jan 1972
TL;DR: In this paper, a notational system for lambda calculus is developed, where occurrences of variables are indicated by integers giving the "distance" to the binding λ instead of a name attached to that λ. This convention is known to cause considerable trouble in cases of substitution.
1.2K
An efficient cryptographic protocol verifier based on prolog rules
Bruno Blanchet
- 11 Jun 2001
TL;DR: A new automatic cryptographic protocol verifier based on a simple representation of the protocol by Prolog rules, and on a new efficient algorithm that determines whether a fact can be proved from these rules or not, which proves secrecy properties of the protocols.
1.2K
Related Papers (5)
Cédric Fournet,Markulf Kohlweiss,Pierre-Yves Strub +2 more
- 17 Oct 2011