Back to questions
Senior
5
Опиши шаги TLS-рукопожатия, где используется сертификат и открытый ключ
Companies where asked
Trading view
Answer from AI
sobes.tech AI
TLS-рукопожатие (TLS handshake) — процесс установления защищённого соединения между клиентом и сервером. Основные шаги:
- Клиент отправляет серверу сообщение ClientHello с поддерживаемыми версиями TLS, наборами шифров и случайным числом.
- Сервер отвечает ServerHello, выбирает параметры, отправляет свой сертификат (содержит открытый ключ) и случайное число.
- Клиент проверяет сертификат сервера через цепочку доверия (CA), чтобы убедиться в подлинности.
- Клиент генерирует секрет (pre-master secret), шифрует его открытым ключом сервера из сертификата и отправляет.
- Сервер расшифровывает секрет своим приватным ключом.
- Оба вычисляют общий секрет (master secret) на основе pre-master secret и случайных чисел.
- На основе master secret формируются ключи шифрования и аутентификации для защищённого канала.
Таким образом, сертификат и открытый ключ используются для аутентификации сервера и безопасной передачи секретного ключа, который затем служит основой для симметричного шифрования сессии.