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

Транспортный уровень безопасности

Транспортный уровень безопасности (англ. Transport Layer Security, TLS) — это криптографический протокол, обеспечивающий защищённую передачу данных между узлами в компьютерной сети. TLS функционирует поверх транспортного протокола (например, TCP) и предоставляет конфиденциальность, целостность и аутентификацию передаваемой информации. Он является преемником протокола SSL (Secure Sockets Layer) и широко применяется для защиты веб-трафика (HTTPS), электронной почты, мессенджеров и других сетевых сервисов.

История

Предшественники: SSL

Разработка протокола SSL была начата компанией Netscape Communications в середине 1990-х годов для обеспечения безопасности электронной коммерции. Первая версия, SSL 1.0, не была опубликована из-за серьёзных уязвимостей. В 1995 году вышел SSL 2.0, который, однако, также содержал недостатки. В 1996 году была выпущена версия SSL 3.0, ставшая основой для последующих стандартов.

Создание и развитие TLS

В 1999 году Инженерный совет Интернета (IETF) опубликовал спецификацию TLS 1.0 (RFC 2246), основанную на SSL 3.0, но с рядом улучшений и изменений, исключающих обратную совместимость с SSL 2.0. В 2006 году был принят TLS 1.1 (RFC 4346), который включал защиту от атак с использованием векторов инициализации (CBC). В 2008 году вышла версия TLS 1.2 (RFC 5246), добавившая поддержку современных алгоритмов шифрования, таких как AES-GCM, и возможность использования хеш-функций SHA-256.

В 2018 году был опубликован TLS 1.3 (RFC 8446), который значительно упростил процесс рукопожатия, сократив количество этапов с двух до одного (в большинстве случаев), и исключил устаревшие и небезопасные алгоритмы, такие как RC4, DES и 3DES. TLS 1.3 также повысил устойчивость к атакам типа «человек посередине» (MITM) и обеспечил совершенную прямую секретность (PFS) по умолчанию.

Отказ от SSL

В 2011 году IETF объявил SSL 2.0 устаревшим, а в 2015 году — SSL 3.0. В 2014 году была обнаружена уязвимость POODLE, позволявшая расшифровывать данные, защищённые SSL 3.0. После этого большинство браузеров и серверов прекратили поддержку SSL 3.0. На данный момент (2025 год) рекомендуется использовать TLS 1.2 или 1.3.

Архитектура и принципы работы

Уровни модели OSI

TLS работает на уровне между прикладным и транспортным уровнем модели OSI. Он не является самостоятельным протоколом, а представляет собой набор протоколов, которые инкапсулируют данные прикладного уровня перед передачей их по транспортному протоколу (обычно TCP).

Основные компоненты

Протокол TLS состоит из двух основных подсистем:

  • Протокол записи (Record Protocol) — отвечает за фрагментацию, сжатие, шифрование и аутентификацию данных.
  • Протокол рукопожатия (Handshake Protocol) — устанавливает криптографические параметры соединения, включая выбор алгоритмов, обмен ключами и аутентификацию сторон.

Процесс рукопожатия (TLS 1.3)

  1. ClientHello — клиент отправляет серверу список поддерживаемых версий TLS, наборов шифров (Cipher Suites) и случайное число.
  2. ServerHelloсервер выбирает версию TLS и набор шифров, отправляет своё случайное число и, как правило, свой сертификат (содержащий открытый ключ).
  3. Key Exchange — клиент и сервер вычисляют общий сеансовый ключ с помощью алгоритма Диффи-Хеллмана (ECDHE) на основе эллиптических кривых. Сервер может также запросить сертификат клиента для взаимной аутентификации.
  4. Finished — обе стороны отправляют сообщение, зашифрованное сеансовым ключом, подтверждая успешное завершение рукопожатия.

После этого начинается защищённая передача данных с использованием симметричного шифрования (например, AES-GCM) и кода аутентификации сообщения (MAC).

Алгоритмы шифрования

В TLS 1.3 поддерживаются следующие алгоритмы:

Применение

HTTPS

Наиболее распространённое применение TLS — защита протокола HTTP. HTTPS (HTTP over TLS) обеспечивает шифрование всех данных, передаваемых между браузером и веб-сервером, включая URL, заголовки, содержимое страниц и cookie. Это предотвращает перехват паролей, номеров кредитных карт и другой конфиденциальной информации.

Электронная почта

TLS используется для защиты протоколов SMTP, IMAP и POP3. STARTTLS — это расширение, позволяющее установить защищённое соединение поверх незащищённого порта. Однако полная безопасность требует, чтобы оба почтовых сервера поддерживали TLS.

VPN и мессенджеры

Некоторые VPN-протоколы (например, OpenVPN) могут использовать TLS для установки защищённого канала. Мессенджеры, такие как Signal и Telegram, применяют собственные реализации протоколов, основанные на TLS, для шифрования сообщений.

Другие протоколы

TLS также используется в протоколах FTPS (FTP over TLS), LDAPS (LDAP over TLS), WebSocket (wss://) и многих других.

Уязвимости и критика

Известные атаки

  • POODLE (2014) — атака на SSL 3.0, позволяющая расшифровать данные, используя уязвимость в блочном шифровании.
  • Heartbleed (2014) — уязвимость в реализации OpenSSL (версии 1.0.1 до 1.0.1f), позволяющая читать память сервера и получать закрытые ключи.
  • BEAST (2011) — атака на TLS 1.0, использующая слабость в режиме CBC.
  • CRIME (2012) — атака на сжатие TLS, позволяющая восстанавливать содержимое cookie.
  • Logjam (2015) — атака на протокол Диффи-Хеллмана, снижающая стойкость шифрования до 512 бит.

Критика

  • Сложность реализации — TLS требует корректной настройки сертификатов, алгоритмов и параметров. Ошибки конфигурации (например, использование устаревших шифров) могут привести к уязвимостям.
  • Зависимость от центров сертификации — модель доверия TLS основана на иерархии сертификационных центров (CA). Компрометация CA позволяет злоумышленнику выдавать поддельные сертификаты.
  • Производительность — установка TLS-соединения требует дополнительных вычислительных ресурсов, хотя в TLS 1.3 это время сокращено до 1 RTT (round-trip time).

Стандартизация и реализация

Стандарты

TLS стандартизирован IETF в серии RFC:

  • RFC 2246 (TLS 1.0)
  • RFC 4346 (TLS 1.1)
  • RFC 5246 (TLS 1.2)
  • RFC 8446 (TLS 1.3)

Реализации

Наиболее распространённые реализации TLS:

  • OpenSSL — свободная библиотека, используемая в большинстве веб-серверов (Apache, Nginx) и операционных системах (Linux, macOS).
  • BoringSSL — форк OpenSSL, разработанный Google.
  • LibreSSL — форк OpenSSL, созданный проектом OpenBSD.
  • NSS (Network Security Services) — библиотека Mozilla, используемая в Firefox.
  • SChannel — реализация Microsoft для Windows.
  • Secure Transport — реализация Apple для macOS и iOS.

Правовой статус в России

В Российской Федерации использование TLS регулируется Федеральным законом «О связи» и постановлениями Правительства. Операторы связи обязаны обеспечивать возможность технических средств противодействия угрозам (ТСПУ), что может включать дешифрование трафика. В 2019 году вступили в силу поправки к закону «Об информации», обязывающие организаторов распространения информации (ОРИ) обеспечивать дешифрование передаваемых сообщений. Это вызвало дискуссии о совместимости таких требований с принципами TLS.

Перспективы развития

Основные направления развития TLS включают:

  • Улучшение производительности за счёт сокращения числа этапов рукопожатия (0-RTT в TLS 1.3).
  • Поддержка постквантовой криптографии для защиты от атак с использованием квантовых компьютеров.
  • Расширение использования TLS в Интернете вещей (IoT) и мобильных устройствах.

Источники

  • RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3
  • RFC 5246 — The Transport Layer Security (TLS) Protocol Version 1.2
  • E. Rescorla, «SSL and TLS: Designing and Building Secure Systems», Addison-Wesley, 2001
  • W. Stallings, «Cryptography and Network Security: Principles and Practice», 7th Edition, Pearson, 2017
  • IETF TLS Working Group — tls.ietf.org
  • OpenSSL Foundation — openssl.org

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

На главную BFOmetr →