The TLS handshake is an authentication protocol that occurs at the beginning of a communication session between a client and a server. Here's a short overview of what happens during a TLS handshake:
- The client initiates communication through a "ClientHello" message, specifying supported cryptographic algorithms.
- The server responds with a "ServerHello" message, selecting compatible algorithms and confirming the connection.
- Both parties exchange key info for a secure connection.
- The server provides its digital certificate to the client to prove its identity.
- The client verifies the certificate's authenticity and provides its own certificate for mutual authentication.
- Both parties contribute to generating a pre-master secret crucial for encryption.
- The handshake concludes with the exchange of "Finished" messages, indicating the completion of a handshake.
- From this point, the client and server use the agreed-upon cryptographic algorithms to encrypt and decrypt exchanged data.
TLS handshakes establish the parameters of encrypted communication, ensuring the confidentiality and integrity of exchanged data. These handshakes are a foundational part of how HTTPS works.