- David Cadey
INRIA Paris-Rocquencourt, Paris, France
david.cade@inria.fr - Bruno Blanchet
INRIA Paris-Rocquencourt, Paris, France
bruno.blanchet@inria.fr
From Computationally-Proved Protocol Specifications to Implementations and Application to SSH
This paper presents a novel technique for obtaining implementations of security protocols, proved secure in the computational model. We formally specify the protocol to prove, we prove this specification using the computationally-sound protocol verifier CryptoVerif, and we automatically translate it into an implementation in OCaml using a new compiler that we have implemented. We applied this approach to the SSH Transport Layer protocol: we proved the authentication of the server and the secrecy of the session keys in this protocol and verified that the generated implementation successfully interacts with OpenSSH. We explain these proofs, as well as an extension of CryptoVerif needed for the proof of secrecy of the session keys. The secrecy of messages sent over the SSH tunnel cannot be proved due to known weaknesses in SSH with CBC-mode encryption.