Paper 2012/630

On the Security of TLS Renegotiation

Florian Giesen, Florian Kohlar, and Douglas Stebila


The Transport Layer Security (TLS) protocol is the most widely used security protocol on the Internet. It supports negotiation of a wide variety of cryptographic primitives through different cipher suites, various modes of client authentication, and additional features such as renegotiation. Despite its widespread use, only recently has the full TLS protocol been proven secure, and only the core cryptographic protocol with no additional features. These additional features have been the cause of several practical attacks on TLS. In 2009, Ray and Dispensa demonstrated how TLS renegotiation allows an attacker to splice together its own session with that of a victim, resulting in a man-in-the-middle attack on TLS-reliant applications such as HTTP. TLS was subsequently patched with two defence mechanisms for protection against this attack. We present the first formal treatment of renegotiation in secure channel establishment protocols. We add optional renegotiation to the authenticated and confidential channel establishment model of Jager et al., an adaptation of the Bellare--Rogaway authenticated key exchange model. We describe the attack of Ray and Dispensa on TLS within our model. We show generically that the proposed fixes for TLS offer good protection against renegotiation attacks, and give a simple new countermeasure that provides renegotiation security for TLS even in the face of stronger adversaries.

Note: This is the full version of the ACM CCS 2013 paper.

Available format(s)
Cryptographic protocols
Publication info
Published elsewhere. MAJOR revision.ACM Conference on Computer and Communications Security (CCS) 2013
Transport Layer Security (TLS)renegotiationsecurity modelskey exchange
Contact author(s)
stebila @ qut edu au
2013-08-22: last of 2 revisions
2012-11-08: received
See all versions
Short URL
Creative Commons Attribution


      author = {Florian Giesen and Florian Kohlar and Douglas Stebila},
      title = {On the Security of TLS Renegotiation},
      howpublished = {Cryptology ePrint Archive, Paper 2012/630},
      year = {2012},
      doi = {10.1145/2508859.2516694},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.