Sobes.tech
Senior

Opisz kroki uścisku dłoni TLS, w których używany jest certyfikat i klucz publiczny

sobes.tech AI

Odpowiedź od AI

TLS-рукопожатие (TLS handshake) — процесс установления защищённого соединения между клиентом и сервером. Основные шаги:

  1. Клиент отправляет серверу сообщение ClientHello с поддерживаемыми версиями TLS, наборами шифров и случайным числом.
  2. Сервер отвечает ServerHello, выбирает параметры, отправляет свой сертификат (содержит открытый ключ) и случайное число.
  3. Клиент проверяет сертификат сервера через цепочку доверия (CA), чтобы убедиться в подлинности.
  4. Клиент генерирует секрет (pre-master secret), шифрует его открытым ключом сервера из сертификата и отправляет.
  5. Сервер расшифровывает секрет своим приватным ключом.
  6. Оба вычисляют общий секрет (master secret) на основе pre-master secret и случайных чисел.
  7. На основе master secret формируются ключи шифрования и аутентификации для защищённого канала.

Таким образом, сертификат и открытый ключ используются для аутентификации сервера и безопасной передачи секретного ключа, который затем служит основой для симметричного шифрования сессии.