awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

Что делает TLS и зачем он нужен

Суть TLS строит запечатанный канал поверх ненадёжной сети — до TLS 1.3 это требовало двух round-trip, понимание причин открывает путь ко всему остальному.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на junior-высоте — поверхность
◷ 8 min

TCP согласовал номера последовательности, DNS разрешил имя в IP. Теперь браузеру и серверу нужно договориться о шифровании прежде, чем передавать что-либо ценное. Это согласование и есть TLS-рукопожатие — разница между открыткой и запечатанным конвертом.

Что делает TLS одним предложением

TLS (Transport Layer Security) оборачивает каждый байт данных приложения в симметрично зашифрованный конверт, который никто в сети не может прочитать. Конверт согласовывается с помощью асимметричной криптографии в ходе рукопожатия; после согласования симметричный ключ обрабатывает все данные на полной скорости.

Простой HTTP передаёт каждое слово, которое вы вводите, в открытом виде. Ваш пароль, баланс банка, читаемая статья — всё это видно любому в той же кафе-сети wifi, вашему провайдеру или корпоративному прокси. TLS превращает тот же провод в закрытый туннель.

Метафора: запечатанный конверт

Антон хочет отправить Диме сообщение, но боится, что почтальон его прочитает. Он кладёт сообщение в коробку, запирает печатью и отправляет. Только у Димы есть подходящий ключ. Перед отправкой обе стороны договариваются о печати и ключе: Антон предлагает замки, которые знает, Дима выбирает один и присылает свою половину ключа плюс ID-карту от Кары — доверенного издателя. Они объединяют половины в общую печать. TLS 1.3 сделал встречу короче, позволив Антону прислать свою половину в первом сообщении.

Три гарантии TLS

  1. Конфиденциальность — никто в сети не может прочитать данные.
  2. Целостность — никто не может незаметно изменить данные.
  3. Аутентификация — сервер доказывает, что владеет доменом (через сертификат от доверенного CA).
TLS 1.3: кратко
TLS 1.2 холодное рукопожатие
2 RTT
TLS 1.3 холодное рукопожатие
1 RTT
TLS 1.3 возобновление (PSK)
1 RTT (без проверки сертификата)
TLS 1.3 0-RTT
0 RTT для запроса
Доля HTTPS в веб-трафике (2025)
≥95%
Браузер показывает замок когда
TLS-рукопожатие успешно

Один сценарий от начала до конца

Вы набираете https://. Браузер уже завершил DNS (знает IP) и TCP (соединение открыто). Теперь он строит TLS-печать. После её построения каждый HTTP-запрос и ответ едет внутри неё. Браузер показывает замок.

Замок означает: никто в сети не может прочитать то, что проходит между вами и этим хостом. Это не означает, что сайт заслуживает доверия — мошеннический сайт может иметь валидный замок. Это не означает, что устройство в безопасности. Гарантируется только канал.

Викторина

Что на самом деле защищает TLS?

Викторина

Иконка замка в браузере означает...

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

Расставьте шаги TLS-рукопожатия по порядку (упрощённо):

  1. 1 Антон отправляет список поддерживаемых шифров и свою половину ключа
  2. 2 Дима выбирает шифр, отправляет свою половину ключа и сертификат
  3. 3 Антон проверяет сертификат против доверенных CA
  4. 4 Обе стороны объединяют половины в общий секрет
  5. 5 Каждое сообщение после этого момента зашифровано
Закончи аналогию

Заполните пропуск: TLS превращает ваше соединение в запечатанный _______, который может открыть только сайт.

Почему это работает

Почему TLS 1.3 сократил рукопожатие до одного RTT. TLS 1.2 требовал двух round-trip: один для согласования параметров шифра, второй для обмена ключевым материалом. TLS 1.3 поместил ключевой материал клиента в самое первое сообщение — ClientHello — чтобы сервер мог вычислить общий секрет и начать шифрование в том же проходе. На межконтинентальных линках это экономит полный RTT (80–300 мс) при каждом холодном соединении.

Вспомните перед уходом
  1. 01
    Одним предложением: что произошло бы, если бы вы посетили банковский сайт без TLS?
  2. 02
    Какие три гарантии даёт TLS, и какую из них обеспечивает сертификат?
  3. 03
    Почему TLS 1.2 требовал двух RTT, а TLS 1.3 — только одного?
Итог

TLS оборачивает каждый байт данных в зашифрованный конверт, который все в сети видят проходящим, но только отправитель и получатель могут прочитать. Он даёт три гарантии: конфиденциальность (шифрование), целостность (MAC/хеш транскрипта) и аутентификацию (сертификат сервера подтверждает владение доменом перед доверенным CA). До TLS 1.3 построение этого канала требовало двух round-trip; TLS 1.3 сократил это до одного, поместив ключевой материал клиента в открывающее сообщение. Замок означает только, что канал запечатан — не то, что сайт заслуживает доверия или устройство в безопасности.

Связанные уроки
встречается в47
Продолжить восхождение ↑Рукопожатие за 1 RTT: key share и ECDHE
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.