liveBook · Manning

Tls negotiation

As explained in Real-World Cryptography

The TLS handshake process in which peers select mutually supported protocol versions and cryptographic algorithms.

TLS negotiation finds common ground between client and server configurations so they can securely connect. Peers select mutually supported protocol versions and cryptographic algorithms, including the key-exchange algorithm. section 9.2.1

The negotiation phase matters because:

  • Backward compatibility requires TLS to handle older clients and servers, but legacy versions and algorithms have enabled attacks such as FREAK, LOGJAM, and DROWN. section 9.2.1
  • Negotiation leads into key exchange, which must be authenticated so an attacker cannot impersonate either participant. section 9.2.1

TLS 1.2 versus TLS 1.3

In TLS 1.2, the client waits for the server to choose a key-exchange algorithm before sending a public key. In TLS 1.3, the client can speculate and send one or more public keys in its first message, potentially avoiding an extra round trip. section 9.2.1

Figure 9.2 In TLS 1.2, the client waits for the server to choose which key exchange algorithm to use before sending a public key. In TLS 1.3, the client speculates on which key exchange algorithm(s) the server will settle on and preemptively sends a public key (or several) in the first message, potentially avoiding an extra round trip.

Compare when TLS 1.2 and TLS 1.3 send public-key material during negotiation. section 9.2.1

How Real-World Cryptography covers it

How deep it goes
Defines negotiation, identifies its parameters and risks, and contrasts TLS 1.2 and TLS 1.3 message behavior.
Examples
Uses TLS 1.2 and TLS 1.3 public-key timing, plus FREAK, LOGJAM, and DROWN as negotiation examples.
What it assumes
Assumes basic key-exchange knowledge while connecting negotiation to the need for authenticated exchanges.
What you can do after
Evaluate how TLS peers find compatible settings and recognize the security risks of legacy versions and algorithms.
How it connects
Connects negotiation with key exchange, authentication, session resumption, backward compatibility, and man-in-the-middle attacks.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.