From Computationally-Proved Protocol Specifications
to Implementations and Application to SSH

 

David Cadé+ and Bruno Blanchet

 
INRIA Paris-Rocquencourt, Paris, France

{david.cade, bruno.blanchet}@inria.fr

 

Abstract

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.

 

Keywords: security protocols, computational model, implementation, verification, compiler, SSH

 

+: Corresponding author: David Cadé

INRIA, 23 avenue d¡¯Italie, CS 81321, 75214 Paris Cedex 13, France,
Tel: +33139635589
,  Web: http://prosecco.gforge.inria.fr/personal/dcade/index.html.en

 

Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA),

Vol. 4, No. 1, pp. 4-31, March 2013 [pdf]