View on GitHub

networking

Harsh Kapadia's Computer Networking knowledge

TLS

(Back to Home)

Examples

NOTE:

  • This information can be found in the Security tab in the browser DevTools or on clicking the ‘lock’ (or ‘unlock’) symbol to the left of the URL in the browser search bar.
  • The string of cipher information seen in the pictures below is called a ‘cipher suite’. There are several of them for each protocol and they tell us which ciphers are being used by a particular protocol after both machines have agreed on the ciphers to be used.

https://github.com :point_down:

https://otc.zulipchat.com :point_down:

Source :point_down:

NOTE: Resources for everything written below can be found in the ‘Resources’ section at the end of this file.

Cryptography in TLS

Some common terms seen in the pictures above

Diffie-Hellman (DH)

RSA

AES

SHA256

Conditions to be fulfilled by a TLS handshake

TLS 1.2 handshake

NOTE:

  • C = Client and S = Server.
  • TLS 1.2 takes two roundtrips (C -> S, S -> C, C -> S and S -> C) to complete the handshake. (TLS 1.3 takes just one roundtip.)

The TLS 1.2 handshake as seen in Wireshark :point_down:

Client Hello :point_down:


Contents of 'Random' :point_down:

Server Hello :point_down:


Server Key Exchange :point_down:


Server Key Exchange (contd) :point_down:

Server Hello Done :point_up:

Client Key Exchange :point_down:


Change Cipher Spec :point_down:


Finished :point_down:

Change Cipher Spec :point_down:


Finished :point_down:

An overview of the TLS 1.2 handshake :point_down:

TLS 1.3 handshake

NOTE:

  • C = Client and S = Server.
  • TLS 1.3 takes one roundtrip (C -> S and S -> C) to complete the handshake. (TLS 1.2 takes two roundtips.)

Client Hello :point_down:

Server Hello :point_down:

An overview of the TLS 1.3 handshake (as a cURL request) :point_down:


Resources