Sobes.tech
Назад к вопросам
Senior
6

Опиши шаги TLS-рукопожатия, где используется сертификат и открытый ключ

Компании, где спрашивали
Trading view

Ответ от нейросети

sobes.tech 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 формируются ключи шифрования и аутентификации для защищённого канала.

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