Home > Networking > Compare TLS 1.1 vs TLS 1.2 vs TLS 1.3: Explain the different of Key Exchange and Handshake Steps

Compare TLS 1.1 vs TLS 1.2 vs TLS 1.3: Explain the different of Key Exchange and Handshake Steps

Transport Layer Security (TLS) ensures secure communication over the internet, evolving significantly across versions. TLS 1.1 (2006) introduced basic encryption, followed by TLS 1.2 (2008), which improved security and flexibility with modern ciphers and key exchanges like ECDHE. TLS 1.3 (2018), the current standard as of March 2025, revolutionizes the protocol with a faster 1-RTT handshake, mandatory forward secrecy, and enhanced privacy. This comparison explores their key exchange methods, handshake steps, and security differences, highlighting why TLS 1.3 leads in modern cybersecurity.

FeatureTLS 1.1TLS 1.2TLS 1.3
Release DateApril 2006 (RFC 4346)August 2008 (RFC 5246)August 2018 (RFC 8446)
Key Exchange MethodsRSA, DHE (Static/Ephemeral)RSA, DHE, ECDHEECDHE, DHE (RSA removed)
Forward SecrecyOptional (with DHE)Optional (with DHE/ECDHE)Mandatory (ECDHE/DHE only)
Handshake2-RTT (two round-trips)2-RTT1-RTT (0-RTT for resumption)
Cipher SuitesRC4, CBC, MD5, SHA-1AES-GCM, SHA-256 (RC4 deprecated)AES-GCM, ChaCha20-Poly1305 only
Security FeaturesVulnerable to BEAST, POODLEMitigates BEAST, adds SHA-256Encrypted handshake, downgrade protection
PerformanceLightweight, less secureModerate overhead, stronger cryptoFaster (1-RTT), optimized
Status (March 2025)DeprecatedPhasing outCurrent standard

Key Exchange Differences

The key exchange methods are the backbone of TLS security, and they differ significantly across versions:

  • TLS 1.1:
    • RSA: Client encrypts a pre-master secret with the server’s public key; no forward secrecy.
    • DHE (Diffie-Hellman Ephemeral): Uses temporary DH keys for forward secrecy (optional).
    • Static DH: Fixed keys (rarely used, less secure).
    • Limitation: No elliptic curve support, making it slower and less secure than modern methods.
  • TLS 1.2:
    • RSA: Still supported but lacks forward secrecy (deprecated in practice).
    • DHE: Improved ephemeral DH for forward secrecy.
    • ECDHE (Elliptic Curve Diffie-Hellman Ephemeral): Faster and more secure using elliptic curves; preferred method.
    • Advantage: Adds flexibility and modern cryptography options.
  • TLS 1.3:
    • ECDHE/DHE: Only ephemeral key exchanges allowed; RSA removed entirely.
    • Key Difference: Mandates forward secrecy, uses elliptic curves (ECDHE) or classic DH (DHE) with a streamlined process.
    • Benefit: No static key exchange, reducing attack surface and ensuring past session security.

Handshake and Key Exchange Steps

TLS 1.1 Handshake (2-RTT)

  1. Client Hello: Client sends supported versions, ciphers, and random data.
  2. Server Hello: Server responds with chosen version, cipher, and random data.
  3. Server Certificate: Server sends its certificate (containing public key).
  4. Server Key Exchange (if DHE): Server sends DH parameters.
  5. Client Key Exchange:
    • RSA: Client encrypts pre-master secret with server’s public key.
    • DHE: Client generates DH key pair, exchanges public key, and both derive pre-master secret.
  6. Finished: Both send encrypted “Finished” messages to confirm keys (2 round-trips total).

TLS 1.2 Handshake (2-RTT)

  1. Client Hello: Client sends version, ciphers, random data, and extensions.
  2. Server Hello: Server selects version, cipher, and sends random data.
  3. Server Certificate: Server sends certificate.
  4. Server Key Exchange (if DHE/ECDHE): Server sends DH/ECDH parameters and public key.
  5. Client Key Exchange:
    • RSA: Client encrypts pre-master secret.
    • DHE/ECDHE: Client sends its public key; both compute shared secret.
  6. Finished: Both exchange encrypted “Finished” messages (2 round-trips).
    • Note: ECDHE improves efficiency over DHE with elliptic curves.

TLS 1.3 Handshake (1-RTT)

  1. Client Hello: Client sends version, ciphers, random data, and its ECDHE/DHE public key (guessing cipher suite).
  2. Server Hello: Server selects parameters, sends its ECDHE/DHE public key, certificate (encrypted), and “Finished” message.
  3. Key Derivation: Both derive shared secret from ECDHE/DHE keys immediately.
  4. Client Finished: Client sends its “Finished” message (1 round-trip total).
    • 0-RTT Option: For resumed sessions, client sends encrypted data with Client Hello (risks replay attacks).

Common Usage in 2025

  • Widespread Adoption: By 2025, TLS 1.3 has become the standard across major browsers (e.g., Chrome, Firefox, Safari), web servers (e.g., Apache, Nginx), and content delivery networks (e.g., Cloudflare). Its adoption surged after its 2018 release due to performance and security benefits.
  • Industry Shift: TLS 1.1 is fully deprecated, and TLS 1.2, while still in use, is being phased out as organizations align with modern security standards like PCI DSS 6.0, which mandates TLS 1.2 or higher but strongly favors 1.3.

Why TLS 1.3 is Recommended

  • Security: Mandatory forward secrecy (via ECDHE/DHE), encrypted handshakes, and protection against downgrade attacks make TLS 1.3 the most secure version.
  • Performance: The 1-RTT handshake (and 0-RTT for resumed sessions) reduces latency, enhancing user experience on websites and applications.
  • Future-Proofing: With legacy ciphers (e.g., RC4, SHA-1) removed and only modern authenticated encryption (e.g., AES-GCM, ChaCha20-Poly1305) supported, TLS 1.3 aligns with evolving cryptographic standards.
  • Compliance: Regulatory bodies and tech giants (e.g., Google, Microsoft) advocate for TLS 1.3 to meet stringent security requirements in 2025.

Status of Older Versions

  • TLS 1.1: Deprecated by 2021 in most browsers and considered insecure due to vulnerabilities like BEAST and POODLE. Rarely used in 2025.
  • TLS 1.2: Still functional in some legacy systems but declining rapidly as organizations upgrade to TLS 1.3 for better security and performance.

Conclusion

In 2025, TLS 1.3 is the dominant and recommended choice for secure communications, offering the best balance of speed, security, and compatibility. If you’re setting up a server or application, TLS 1.3 should be your default, with TLS 1.2 as a fallback only for rare compatibility needs.

Leave a Comment