В типичном TLS 1.3 с сертификатом (EC)DHE согласует общий секрет, подпись сервера подтверждает владение ключом, а сертификат связывает его с проверяемым именем. HKDF выводит ключи, AEAD защищает данные. Хеширование и подпись не являются видами шифрования; ECDSA не служит обменом ключами. Конкретный набор зависит от версии TLS и режима.
Какие криптографические механизмы используются в HTTPS?
Шифрование данных, согласование ключей, подписи и хеш-функции выполняют разные задачи. Разбор типичного TLS 1.3 без смешения RSA и ECDSA.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
HTTPS использует TLS, но внутри защищённого соединения несколько разных криптографических задач.
Для обычного TLS 1.3 с сертификатом:
- Согласование секрета: (EC)DHE позволяет получить общий секрет без передачи его в открытом виде.
- Аутентификация: цепочка сертификатов и проверка имени связывают сервер с ключом; CertificateVerify доказывает владение соответствующим закрытым ключом. ECDSA и RSA-PSS могут использоваться для подписи.
- Вывод ключей: HKDF и хеш-функция связывают ключевой материал с параметрами рукопожатия.
- Защита данных: AEAD, например AES-GCM или ChaCha20-Poly1305, обеспечивает шифрование и проверку целостности.
Разделение определено в RFC 8446. При возобновлении сессии и PSK набор сообщений отличается; сертификат не передаётся заново в каждом режиме.
Ошибки, которых стоит избегать: называть хеширование шифрованием, ECDSA — обменом ключами, а сертификат — симметричным ключом для всех сообщений. В TLS 1.3 удалён старый статический RSA key exchange, хотя RSA-подписи могут использоваться.
Для TLS 1.2 детали и наборы шифров другие, поэтому ответ должен явно указывать версию. Защита требует не просто «включить шифрование», а корректно проверять сертификат, имя сервера и параметры соединения.