Все статьи о SSL SSL и сертификаты

Что такое TLS 1.3? Все, что изменилось

TLS 1.3 — это текущая версия протокола Transport Layer Security, опубликованная как RFC 8446 в августе 2018 года. Это фундаментальная переработка, а не постепенное обновление, которая делает HTTPS быстрее, проще и безопаснее, чем любая предыдущая версия.

По состоянию на 2026 год 62% сайтов поддерживают TLS 1.3, и все основные браузеры поддерживают его с 2018 года.

Что изменилось по сравнению с TLS 1.2

TLS 1.2TLS 1.3
Рукопожатие2 обмена данными1 обмен (1-RTT)
Возобновленные соединения1 обмен0-RTT (данные с первым сообщением)
Наборы шифров37 (многие слабые)5 (все безопасные)
Прямая секретностьОпциональнаОбязательна
Обмен ключами RSAПоддерживаетсяУдален
Статический DHПоддерживаетсяУдален
Шифры CBCПоддерживаютсяУдалены
RC4, DES, 3DESВ некоторых конфигурацияхУдалены
MD5, SHA-1 в рукопожатииДопускалисьУдалены
Сертификат в рукопожатииОткрытым текстом (видимый)Зашифрован
СжатиеОпциональноУдалено (предотвращение CRIME)
Повторное согласованиеПоддерживаетсяУдалено

Философия проектирования: удалить все, что можно неправильно настроить. TLS 1.2 имеет 37 наборов шифров — некоторые безопасные, некоторые взломанные. TLS 1.3 имеет 5, и все безопасные.

5 наборов шифров TLS 1.3

TLS_AES_256_GCM_SHA384        ← Самый стойкий, наиболее распространенный
TLS_AES_128_GCM_SHA256        ← Широко используется, немного быстрее
TLS_CHACHA20_POLY1305_SHA256  ← Лучший для ARM/мобильных (без AES-NI)
TLS_AES_128_CCM_SHA256        ← IoT/встраиваемые системы
TLS_AES_128_CCM_8_SHA256      ← IoT/встраиваемые системы (короткий тег)

Неправильно настроить их невозможно — все они являются шифрами AEAD с сильными ключами. Нет риска «случайно включить слабый шифр», как в TLS 1.2.

Рукопожатие 1-RTT: почему это быстрее

Рукопожатие TLS 1.2 (2 обмена):

Client → Server:  ClientHello (supported ciphers)
Server → Client:  ServerHello, Certificate, KeyExchange
Client → Server:  KeyExchange, ChangeCipherSpec, Finished
Server → Client:  ChangeCipherSpec, Finished
                  [4 сообщения до начала передачи зашифрованных данных]

Рукопожатие TLS 1.3 (1 обмен):

Client → Server:  ClientHello + KeyShare
Server → Client:  ServerHello + KeyShare + Certificate + Finished
Client → Server:  Finished
                  [зашифрованные данные могут передаваться после 1 обмена]

Клиент отправляет параметры обмена ключами в первом сообщении — не нужно ждать, пока сервер укажет алгоритмы. Это сокращает рукопожатие с 2 обменов до 1.

Возобновление 0-RTT

Для возвращающихся посетителей (которые уже подключались ранее) TLS 1.3 поддерживает 0-RTT — зашифрованные данные приложения отправляются с самым первым сообщением:

Client → Server:  ClientHello + KeyShare + EarlyData (encrypted request)
Server → Client:  ServerHello + response

Запрос отправляется до завершения рукопожатия. Компромисс: данные 0-RTT уязвимы для атак повторного воспроизведения, поэтому их следует использовать только для идемпотентных запросов (GET, а не POST).

Обязательная прямая секретность

В TLS 1.2 можно было использовать обмен ключами RSA — долгосрочный ключ RSA сервера напрямую расшифровывал предварительный секрет. Если кто-то записывал трафик и впоследствии похищал закрытый ключ сервера, он мог расшифровать все прошлые переговоры.

TLS 1.3 полностью удаляет обмен ключами RSA. Весь обмен ключами использует эфемерный Diffie-Hellman (ECDHE) — уникальная пара ключей генерируется для каждого соединения. Похищение закрытого ключа сервера не помогает расшифровать прошлые сессии. Подробнее о прямой секретности →

Зашифрованный сертификат

В TLS 1.2 сертификат сервера (включая доменное имя) передавался открытым текстом во время рукопожатия. Пассивный наблюдатель мог видеть, к какому сайту вы подключаетесь.

В TLS 1.3 сертификат отправляется после получения ключей рукопожатия — он зашифрован. SNI (Server Name Indication) все еще виден в TLS 1.3, но Encrypted Client Hello (ECH) в будущем зашифрует и его.

Как включить TLS 1.3

Проверьте, включен ли он уже

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_3 2>/dev/null | grep "Protocol"
# Ожидается: TLSv1.3

Nginx (1.13+ с OpenSSL 1.1.1+)

ssl_protocols TLSv1.2 TLSv1.3;

TLS 1.3 включен по умолчанию в современном Nginx — вам просто не нужно его отключать.

Apache (2.4.37+ с OpenSSL 1.1.1+)

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

Это включает TLS 1.2 и 1.3.

Проверьте версию OpenSSL

openssl version
# Необходимо: OpenSSL 1.1.1+ для поддержки TLS 1.3

Если ваша версия OpenSSL старше, обновите ее или обновите операционную систему.

Стоит ли принудительно использовать только TLS 1.3?

Пока нет. Около 38% сайтов не поддерживают TLS 1.3, и некоторые клиенты (корпоративные прокси, Java 8, старые встраиваемые системы) поддерживают только TLS 1.2. Отказ от TLS 1.2 сегодня заблокирует некоторых пользователей.

Рекомендуемая конфигурация: Поддерживайте TLS 1.2 и 1.3 одновременно. Это обеспечивает скорость TLS 1.3 для современных клиентов при сохранении совместимости. Именно так делают Google, Cloudflare и большинство крупных сайтов.

Часто задаваемые вопросы

Нужен ли мне новый сертификат для TLS 1.3?

Нет. Один и тот же сертификат работает с TLS 1.2 и 1.3. Сертификаты не зависят от протокола — они содержат открытый ключ и подпись CA, независимо от того, какая версия TLS их использует.

Влияет ли TLS 1.3 на производительность?

Да, положительно. Рукопожатие 1-RTT экономит 50-100 мс при первом подключении. Возобновление 0-RTT полностью устраняет задержку рукопожатия для возвращающихся посетителей. В сочетании с HTTP/2 (для которого требуется HTTPS) сайты на TLS 1.3 заметно быстрее.

TLS 1.2 все еще безопасен?

Да, с наборами шифров AEAD (AES-GCM, ChaCha20-Poly1305) и обменом ключами ECDHE. Избегайте шифров CBC в TLS 1.2 — они были уязвимы для атак (BEAST, Lucky13). TLS 1.3 лучше, но TLS 1.2 с современными шифрами остается безопасным.

А что насчет TLS 1.4?

TLS 1.4 не планируется. IETF считает TLS 1.3 целевым стандартом на обозримое будущее. Следующее крупное изменение — внедрение постквантового обмена ключами (ML-KEM) в гибридном режиме с существующим ECDHE — это произойдет в рамках TLS 1.3, а не как новая версия.

Похожие статьи

SSL и сертификаты 2026-05-08
SSL и TLS: в чем разница?
SSL устарел. TLS — это то, что на самом деле защищает интернет. Узнайте полную историю от SSL 2.0 до TLS 1.3, технические различия, почему мы до сих пор говорим «SSL» и что вам нужно сделать (вероятно, ничего).
SSL и сертификаты 2026-05-07
Как работает SSL/TLS: TLS-рукопожатие в деталях
Наглядное объяснение TLS-рукопожатия -- как ваш браузер и сервер устанавливают зашифрованное соединение за миллисекунды. Охватывает TLS 1.2, TLS 1.3, возобновление сеанса и прямую секретность.
SSL и сертификаты 2026-05-08
Что такое прямая секретность (Perfect Forward Secrecy)?
Прямая секретность означает, что каждое TLS-соединение использует уникальный ключ. Даже при компрометации закрытого ключа сервера прошлые сеансы связи не могут быть расшифрованы. Узнайте, как это работает и как убедиться, что функция включена.
SSL и сертификаты 2026-05-08
Криптография с открытым ключом: как на самом деле работает шифрование SSL
Криптография с открытым ключом использует пару ключей — один открытый, один закрытый — для защиты HTTPS-соединений. Узнайте, как асимметричное шифрование, цифровые подписи и обмен ключами делают SSL/TLS возможным.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат