Crypto-Verifying Protocol Implementations in ML
نویسندگان
چکیده
We intend to narrow the gap between concrete implementations and verified models of cryptographic protocols. We consider protocols implemented in F#, a variant of ML, and verified using CryptoVerif, Blanchet’s protocol verifier for computational cryptography. We experiment with compilers from F# code to CryptoVerif processes, and from CryptoVerif declarations to F# code. We present two case studies: an implementation of the Otway-Rees protocol, and an implementation of a simplified password-based authentication protocol. In both cases, we obtain concrete security guarantees for a computational model closely related to executable code.
منابع مشابه
Using Interface Specifications for Verifying Crypto-protocol Implementations
An important missing link in the construction of secure systems is finding a practical way to establish a correspondence between a software specification and its implementation. In this paper, we show to make use of interface specifications to address this problem for the case of crypto-based Java implementations (such as crypto protocols). We explain this using an approach using automated theo...
متن کاملSpecifying and Verifying Crypto-Protocols at the Design Level
The clear semantics of Abstract State Machines is tailored to the analysis of crypto-protocols in a realistic environment threatened by an active eavesdropper. The model is intermediate between the abstract approaches based on belief logics, and the lower level approaches based on traces of atomic actions. Properties are stated at the design level with little formal overhead, but reasoning abou...
متن کاملVerified Implementations for Secure and Verifiable Computation
Formal verification of the security of software systems is gradually moving from the traditional focus on idealized models, to the more ambitious goal of producing verified implementations. This trend is also present in recent work targeting the verification of cryptographic software, but the reach of existing tools has so far been limited to cryptographic primitives, such as RSA-OAEP encryptio...
متن کاملManual for Slede Annotation Language
Verifying sensor network security protocol implementations using testing/simulation might leave some flaws undetected. Formal verification techniques have been very successful in detecting faults in security protocol specifications; however, they generally require building a formal description (model) of the protocol. Building accurate models is hard, thus hindering the application of formal ve...
متن کاملType-checking Implementations of Protocols Based on Zero-knowledge Proofs – Work in Progress –
We present the first static analysis technique for verifying implementations of cryptographic protocols based on zero-knowledge proofs. Protocols are implemented in RCF∧∨, a core calculus of ML with support for concurrency. Cryptographic primitives are considered as fully reliable building blocks and represented symbolically using a sealing mechanism. Zero-knowledge proofs, in particular, are s...
متن کامل