PassFront
  1. PassFront
  2. База знаний
  3. HTTP и HTTPS

Как работает TLS handshake и что такое сертификаты?

HTTP и HTTPS

TLS handshake согласует ключи шифрования и аутентифицирует сервер цепочкой сертификатов до доверенного корня; в TLS 1.3 рукопожатие укладывается в один RTT.

Ход рукопожатия (TLS 1.3)

  1. ClientHello: поддерживаемые версии, шифры и ключевой материал ECDHE.
  2. ServerHello плюс сертификат и ключевой материал сервера: из обмена Диффи-Хеллмана обе стороны выводят общий секрет, дальше идёт симметричное шифрование.
  3. Сервер подписью доказывает владение приватным ключом; клиент проверяет цепочку.

Сертификаты

  • X.509-сертификат связывает домен с публичным ключом и подписан центром сертификации (CA).
  • Доверие строится цепочкой: сертификат сайта → промежуточный CA → корневой CA из хранилища системы.
  • Проверяются срок действия, hostname через SAN и отзыв (CRL или OCSP; браузеры всё чаще используют собственные списки отзыва — CRLSets, CRLite).

Что даёт TLS

Конфиденциальность (шифрование), целостность (MAC в записях) и аутентичность сервера — защита от MITM. Клиентские сертификаты (mTLS) — опционально.

Коротко для собеседования

Рукопожатие решает две задачи: договориться об общем ключе через ECDHE и убедиться, что сервер настоящий, по цепочке сертификатов до доверенного корня. TLS 1.3 быстрее 1.2 на один RTT и требует forward secrecy; типичная ошибка в коде — отключённая проверка сертификата.

Другие вопросы раздела