Как работает HTTPS
Вопрос
Объясни, как работает HTTPS: от подключения до первого зашифрованного запроса.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
HTTPS это HTTP поверх TLS: конфиденциальность, целостность, аутентификация сервера
Рукопожатие: ClientHello с шифрами и key_share, ответ сервера, обмен ECDHE
Сервер присылает сертификат и подписывает рукопожатие закрытым ключом
Браузер проверяет цепочку до корневого CA, срок и домен
Данные шифруются симметричным сессионным ключом, ключи эфемерные (forward secrecy)
TLS 1.3 укладывается в 1 RTT, 0-RTT при возобновлении
Что могут спросить следом
- Что помешает злоумышленнику подсунуть свой сертификат?
- Что видно провайдеру при HTTPS?
- Как работает HSTS?
Разбор
HTTPS это HTTP внутри TLS, который даёт шифрование, защиту от подмены и проверку, что сервер настоящий. После TCP-соединения клиент отправляет ClientHello: поддерживаемые версии и шифры, имя сайта в SNI и сразу свою половину эфемерного обмена ключами ECDHE. Сервер отвечает своей половиной, и обе стороны вычисляют общий секрет. Дальше сервер присылает сертификат и подписывает рукопожатие закрытым ключом, доказывая, что владеет этим сертификатом. Браузер проверяет подписи по цепочке до корневого центра из своего хранилища, срок действия и совпадение домена. После этого всё шифруется быстрым симметричным шифром на сессионных ключах. Ключи одноразовые, поэтому даже кража ключа сертификата позже не раскроет записанный трафик. В TLS 1.3 на всё уходит один круг, а при повторном подключении можно отправить данные сразу.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
В браузере работает, в curl ошибка сертификата
Следующий вопрос
Как TLS защищает от MITM и где защита ломается