TLS-рукопожатие происходит после того, как с помощью TCP-рукопожатия было установлено TCP-соединение.
Как работает SSL-рукопожатие
- Браузер создаёт запрос серверу, есть ли у него сертификат SSL
- Сервер отдает информацию и публичный ключ
- Браузер получает информацию и сверяет ее с центром сертификации
- Если информация подтверждается, браузер генерирует сеансовый ключ, зашифровывает его с помощью публичного ключа сервера, и отправляет на сервер
- Сервер, получив зашифрованный сеансовый ключ, расшифровывает его с помощью приватного ключа и сохраняет сеансовый ключ, который будет использоваться для шифрования в данной сессии.
Что происходит при TLS-рукопожатии?
В ходе TLS-рукопожатия клиент и сервер вместе выполняют следующие действия:
- Указывают, какую версию TLS (TLS 1.0, 1.2, 1.3 и т. д.) они будут использовать
- Решают, какие наборы шифров (ряд алгоритмов, используемый при установлении защищенного соединения) они будут использовать
- Проверяют подлинность сервера с помощью открытого ключа сервера и цифровой подписи центра сертификации SSL.
- Генерируют сеансовые ключи, чтобы использовать симметричное шифрование после завершения рукопожатия