По порядку Senior DNS, TLS и прокси обновлено

Рукопожатие TLS 1.3 по шагам

Вопрос

Расставьте шаги установления соединения HTTPS с TLS 1.3 (без возобновления сессии).

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    ClientHello: версии, шифры, SNI и ключевая доля клиента
  2. 2
    Клиент проверяет цепочку сертификата и имя
  3. 3
    Сервер присылает сертификат, CertificateVerify и Finished
  4. 4
    ServerHello: выбранный шифр и ключевая доля сервера
  5. 5
    Клиент резолвит имя и устанавливает TCP-соединение
  6. 6
    Клиент отправляет Finished и первый HTTP-запрос
Показать ответ и разбор

Коротко

В TLS 1.3 ключевой обмен начинается уже в ClientHello, поэтому после ServerHello всё шифруется, а рукопожатие укладывается в один круг. Проверка сертификата идёт на клиенте до отправки данных: если цепочка не сходится, запрос не уйдёт.

Правильный порядок

  1. 1
    Клиент резолвит имя и устанавливает TCP-соединение
  2. 2
    ClientHello: версии, шифры, SNI и ключевая доля клиента
  3. 3
    ServerHello: выбранный шифр и ключевая доля сервера
  4. 4
    Сервер присылает сертификат, CertificateVerify и Finished
  5. 5
    Клиент проверяет цепочку сертификата и имя
  6. 6
    Клиент отправляет Finished и первый HTTP-запрос

Разбор

В TLS 1.3 ключевой обмен начинается уже в ClientHello, поэтому после ServerHello всё шифруется, а рукопожатие укладывается в один круг. Проверка сертификата идёт на клиенте до отправки данных: если цепочка не сходится, запрос не уйдёт.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.