Продвинутый
Как работает процесс TLS Handshake (Установка HTTPS соединения)?
Перед тем как передавать зашифрованные HTTP-данные, клиент и сервер должны договориться о ключах:
1. Client Hello: Браузер шлет серверу список поддерживаемых алгоритмов шифрования.
2. Server Hello + Certificate: Сервер выбирает алгоритм и присылает свой SSL-сертификат (в котором лежит его Открытый ключ).
3. Проверка: Браузер проверяет сертификат (не просрочен ли, выдан ли доверенным центром).
4. Key Exchange: Браузер генерирует случайный Симметричный ключ (Session Key), шифрует его Открытым ключом сервера и отправляет.
5. Расшифровка: Сервер расшифровывает Session Key своим Закрытым ключом.
6. Готово: Теперь обе стороны имеют общий быстрый Симметричный ключ и шифруют им весь дальнейший трафик.