TLS-рукопожатие происходит после того, как с помощью TCP-рукопожатия было установлено TCP-соединение.

Как работает SSL-рукопожатие

  1. Браузер создаёт запрос серверу, есть ли у него сертификат SSL
  2. Сервер отдает информацию и публичный ключ
  3. Браузер получает информацию и сверяет ее с центром сертификации
  4. Если информация подтверждается, браузер генерирует сеансовый ключ, зашифровывает его с помощью публичного ключа сервера, и отправляет на сервер
  5. Сервер, получив зашифрованный сеансовый ключ, расшифровывает его с помощью приватного ключа и сохраняет сеансовый ключ, который будет использоваться для шифрования в данной сессии.

Что происходит при TLS-рукопожатии?

В ходе TLS-рукопожатия клиент и сервер вместе выполняют следующие действия:

  • Указывают, какую версию TLS (TLS 1.0, 1.2, 1.3 и т. д.) они будут использовать
  • Решают, какие наборы шифров (ряд алгоритмов, используемый при установлении защищенного соединения) они будут использовать
  • Проверяют подлинность сервера с помощью открытого ключа сервера и цифровой подписи центра сертификации SSL.
  • Генерируют сеансовые ключи, чтобы использовать симметричное шифрование после завершения рукопожатия