Открыть сервис

RFC 8446

RFC 8446 (англ. Request for Comments 8446) — это спецификация протокола Transport Layer Security (TLS) версии 1.3, опубликованная Инженерным советом Интернета (IETF) в августе 2018 года. Данный документ определяет стандарт шифрования и аутентификации данных, передаваемых по компьютерным сетям, и является преемником протокола TLS 1.2 (RFC 5246). RFC 8446 представляет собой значительное обновление, направленное на повышение безопасности, производительности и упрощение архитектуры протокола.

История разработки

Разработка TLS 1.3 началась в 2014 году в рамках рабочей группы IETF по транспортному уровню безопасности (TLS WG). Основной целью было устранение уязвимостей, выявленных в предыдущих версиях протокола, а также адаптация к современным требованиям безопасности, включая защиту от атак типа «человек посередине» (MITM) и утечек метаданных.

Процесс стандартизации занял около четырёх лет и включал 28 черновых версий (drafts). Ключевыми участниками разработки стали инженеры из таких организаций, как Mozilla, Google, Microsoft, Cloudflare и Российская компания «Лаборатория Касперского», которая внесла предложения по усилению криптографических механизмов. Окончательная версия RFC 8446 была одобрена IESG (Инженерным советом по управлению Интернетом) и опубликована в августе 2018 года.

Основные изменения по сравнению с TLS 1.2

Упрощение рукопожатия (handshake)

В TLS 1.3 процесс установления соединения был сокращён с двух раундов (round trips) до одного (1-RTT) для новых сессий и до нуля (0-RTT) для повторных соединений. Это достигается за счёт объединения этапов обмена ключами и согласования параметров шифрования. В результате время установления соединения уменьшается на 30–50%, что особенно важно для мобильных устройств и веб-приложений с высокой загрузкой.

Удаление устаревших криптографических алгоритмов

Из протокола были исключены все алгоритмы, признанные небезопасными или устаревшими, включая:

Вместо этого TLS 1.3 поддерживает только современные алгоритмы:

Обязательное использование Perfect Forward Secrecy (PFS)

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

Защита метаданных рукопожатия

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

Структура протокола

Фазы рукопожатия

  1. ClientHello — клиент отправляет список поддерживаемых версий TLS, наборов шифров и эфемерных ключей.
  2. ServerHelloсервер выбирает версию и набор шифров, отправляет свой эфемерный ключ и сертификат.
  3. Завершение — обе стороны вычисляют мастер-ключ и отправляют зашифрованные сообщения «Finished», подтверждающие подлинность.

Режим 0-RTT

Для повторных соединений TLS 1.3 позволяет клиенту отправлять данные сразу после первого сообщения, используя ранее установленный сессионный ключ. Этот режим ускоряет работу, но требует осторожного применения, так как данные могут быть подвержены атакам повторного воспроизведения (replay attacks). Для защиты рекомендуется использовать одноразовые токены (ticket-based resumption) и ограничивать объём передаваемых данных.

Криптографические механизмы

Обмен ключами

TLS 1.3 использует протокол Диффи-Хеллмана на эллиптических кривых (ECDHE) или конечных полях (DHE). Поддерживаются кривые P-256, P-384, P-521 (NIST), а также Curve25519 и Curve448 (IETF). Для конечных полей используются группы размера 2048, 3072 и 4096 бит.

Аутентификация

Серверы аутентифицируются с помощью цифровых сертификатов X.509. Поддерживаются алгоритмы подписи RSA-PSS, ECDSA (с кривыми P-256, P-384, P-521), EdDSA (Ed25519, Ed448). Клиентская аутентификация опциональна.

Шифрование

Для защиты данных используются AEAD-шифры: AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305. Режим GCM обеспечивает аутентификацию и шифрование одновременно, что исключает необходимость отдельного MAC-кода.

Применение

TLS 1.3 широко применяется в:

По состоянию на 2024 год, по данным различных исследований, TLS 1.3 используется примерно на 40–50% веб-сайтов в мире. В России его внедрение активно поддерживается крупными провайдерами и государственными информационными системами, включая портал «Госуслуги» и системы электронного документооборота.

Критика и ограничения

Несмотря на значительные улучшения, TLS 1.3 подвергается критике по нескольким направлениям:

Будущее развитие

Рабочая группа IETF TLS продолжает работу над расширениями протокола. Основные направления:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →