Published April 22, 2015 | Version v1
Conference paper Open

(De-)Constructing TLS

  • 1. Microsoft
  • 2. ETH Zurich
  • 3. INSA/IRISA Rennes
  • 4. UC San Diego
  • 5. Sapienza University of Rome

Description

TLS is one of the most widely deployed cryptographic protocols on the Internet; it is
used to protect the con dentiality and integrity of transmitted data in various client-server
protocols. Its non-standard use of cryptographic primitives, however, makes it hard to
formally assess its security. It is in fact dicult to use traditional (well-understood) securitybr /> notions for the key-exchange (here: handshake) and the encryption/authentication (here:br /> record layer ) parts of the protocol due to the fact that, on the one hand, traditional gamebasedbr /> notions do not easily support composition, and on the other hand, all TLS versionsbr /> up to and including 1.2 combine the two phases in a non-standard way.br /> In this paper, we provide a modular security analysis of the handshake in TLS version 1.2br /> and a slightly sanitized version of the handshake in the current draft of TLS version 1.3,br /> following the constructive cryptography approach of Maurer and Renner (ICS 2011). Webr /> provide a deconstruction of the handshake into modular sub-protocols and a security proofbr /> for each such sub-protocol. We also show how these results can be combined with analysesbr /> of the respective record layer protocols, and the overall result is that in all cases thebr /> protocol constructs (unilaterally) secure channels between the two parties from insecurebr /> channels and a public-key infrastructure. This approach ensures that (1) each sub-protocolbr /> is proven in isolation and independently of the other sub-protocols, (2) the overall securitybr /> statement proven can easily be used in higher-level protocols, and (3) TLS can be used inbr /> any composition with other secure protocols.br /> In more detail, for the key-exchange step of TLS 1.2, we analyze the RSA-based andbr /> both Die-Hellman-based variants (with static and ephemeral server key share) under abr /> non-randomizability assumption for RSA-PKCS and the Gap Die-Hellman assumption,br /> respectively; in all cases we make use of random oracles. For the respective step of TLS 1.3,br /> we prove security under the Decisional Die-Hellman assumption in the standard model. Inbr /> all statements, we require additional standard computational assumptions on other primitives.br /> In general, since the design of TLS is not modular, the constructive decomposition isbr /> less ne-grained than one might wish to have and than it is for a modular design. This paperbr /> therefore also suggests new insights into the intrinsic problems incurred by a non-modularbr /> protocol design such as that of TLS./p>

Files

8-De-Constructing_TLS.pdf

Files (778.4 kB)

Name Size Download all
md5:6d911d1e9a3b21b88333dc2b4efc0e4b
778.4 kB Preview Download