← Все статьи
протоколышифрование

TLS 1.3: что изменилось в шифровании и почему это заметно

HTTPS-соединение, которым открыт почти любой современный сайт, работает на протоколе TLS. Его третья major-версия, TLS 1.3, была опубликована в 2018 году и до сих пор остаётся актуальной версией. Разберёмся, что в ней изменилось и какие угрозы она закрывает.

Рукопожатие стало короче

В TLS 1.2 для установления соединения требовалось минимум два полных круга обмена между клиентом и сервером. В TLS 1.3 это количество сокращено до одного. Меньше кругов — значит меньше времени до первого байта данных, а на мобильных сетях с высокой задержкой разница заметна: страница начинает грузиться раньше.

Побочный эффект — упрощение. В новой версии убрали набор шифров и режимы, которые исторически считались слабыми или были нужны только ради совместимости со старым ПО. Меньше опций — меньше места для ошибки в реализации.

Что убрали из списка шифров

TLS 1.3 запрещает алгоритмы, основанные на обмене «RSA-ключом» для установления секрета, и блок-шифры с режимом CBC. Их место заняли AEAD-шифры: AES-256-GCM, AES-128-GCM и ChaCha20-Poly1305. Такие шифры защищают данные и одновременно гарантируют, что сообщение не было изменено по пути.

ChaCha20-Poly1305 особенно полезен на устройствах без аппаратного ускорения AES: там он часто быстрее и не даёт «утечек» по времени выполнения.

Защита от повторов и понижения версии

В TLS 1.3 введено обязательное проведение (transcript hash): стороны подписывают весь переговорный процесс, и атакующий не может подменить часть сообщений, подставив слабый алгоритм. Попытка «договориться» о TLS 1.0 через downgrade не проходит — соединение просто не устанавливается.

Раньше такая атака была реальна: клиент, умеющий и новое, и старое, можно было убедить в работе со старым протоколом, а тот уже взломать.

0-RTT и его нюанс

Благодаря короткому рукопожатию TLS 1.3 поддерживает режим 0-RTT: клиент, который уже общался с сервером, может отправить данные почти сразу, не дожидаясь ответа. Это ускоряет повторные посещения.

Но у 0-RTT есть известное ограничение: отправленные таким образом запросы формально уязвимы к повтору — перехваченное сообщение можно отправить второй раз. Поэтому в 0-RTT обычно передают только безопасные запросы, а не операции с деньгами или изменением данных.

Что это даёт обычному пользователю

Шифрование TLS не прячет от провайдера сам факт подключения и адрес сайта — их видно и без HTTPS. Но оно полностью скрывает содержимое: текст страницы, данные форм, заголовки, cookies. Без корректно работающего TLS любая контролирующая сторона на маршруте получала бы содержимое соединения в открытом виде.

Проверить версию протокола просто: в любом браузере есть значок блокировки в адресной строке, а в отчёте безопасности соединения указана версия — например, TLS 1.3.

Резюме

TLS 1.3 — это быстрее за счёт одного круга рукопожатия, строже за счёт отказа от слабых шифров и устойчивее к downgrade-атакам. Для сайта это вопрос базовой гигиены: современные браузеры уже считают старые версии протокола небезопасными и предупреждают пользователя.

Материал подготовлен редакцией AeroCloud VPN.