Введение
TLS (Transport Layer Security) – криптографический протокол, который обеспечивает защищённый канал между двумя узлами сети: шифрует трафик, проверяет подлинность сервера (а при взаимной аутентификации – и клиента) и гарантирует целостность передаваемых данных. TLS является обязательным фундаментом HTTPS и применяется в электронной почте (SMTP/IMAP over TLS), VoIP, финансовых API и любых корпоративных интеграциях, где важна конфиденциальность.
Протокол разработан IETF как открытый преемник проприетарного SSL компании Netscape. Сегодня актуальна версия TLS 1.3 (RFC 8446, август 2018 года); версии 1.0 и 1.1 официально признаны устаревшими, их использование запрещено большинством регуляторов.
История и контекст
SSL 2.0 появился в 1995 году, но уже содержал критические уязвимости. SSL 3.0 (1996) заменил его, однако и он был дискредитирован атакой POODLE (2014). TLS 1.0 вышел в 1999 году как RFC 2246, TLS 1.1 – в 2006-м. Переломным стал TLS 1.2 (RFC 5246, 2008), принёсший поддержку SHA-256 и AEAD-режимов. В 2018 году TLS 1.3 (RFC 8446) радикально упростил протокол: убраны слабые алгоритмы (RC4, 3DES, CBC-режим AES), статический RSA-обмен ключами, сжатие данных и повторное согласование.
В российском регулировании TLS применяется совместно с ГОСТ-криптографией: протокол ГОСТ TLS (RFC 9145) позволяет использовать российские алгоритмы шифрования в рамках стандартного TLS-стека, что необходимо для сертифицированных решений.
Как работает TLS
Соединение TLS начинается с рукопожатия (handshake). В TLS 1.3 процедура занимает один round-trip:
- ClientHello – клиент отправляет список поддерживаемых cipher suite и свою часть ключевого обмена (key share) по одному из DHE/ECDHE-параметров.
- ServerHello – сервер выбирает cipher suite, присылает свою часть ключевого обмена, сертификат и сообщение Finished. Все данные после ServerHello уже зашифрованы.
- Клиент проверяет сертификат, отправляет Finished. Канал установлен.
TLS 1.3 поддерживает только пять cipher suite, все с AEAD-шифрованием (AES-GCM, ChaCha20-Poly1305). Прямая секретность (Perfect Forward Secrecy) обязательна: каждое соединение использует эфемерные ключи, поэтому компрометация долгосрочного ключа не раскрывает историю трафика. Для быстрого восстановления соединения предусмотрен режим 0-RTT (на основе pre-shared key), однако он не обеспечивает защиту от replay-атак на уровне приложения.
Где применяется
- HTTPS – стандарт для всех веб-сайтов; браузеры помечают HTTP-сайты как небезопасные.
- API-интеграции – REST и gRPC в банкинге, финтехе, ERP, CRM.
- Электронная почта – SMTP STARTTLS, IMAPS, SMTPS.
- VPN и удалённый доступ – TLS-туннели в корпоративных решениях.
- IoT и промышленные системы – защита MQTT, OPC UA, MODBUS TCP.
- Государственные информационные системы – ГОСТ TLS для взаимодействия с порталами госорганов.
Преимущества и ограничения
Преимущества: широкая поддержка во всех современных платформах, открытый стандарт с независимым аудитом, прямая секретность, высокая производительность (AES-NI аппаратное ускорение). Ограничения: TLS защищает только канал, но не данные в покое; неправильная настройка (самоподписанные сертификаты, устаревшие версии) сводит защиту на нет; в российских государственных системах требуется использование ГОСТ-алгоритмов через сертифицированные СКЗИ, что сужает выбор клиентских библиотек.
Связь с другими понятиями
TLS тесно связан с mTLS (расширение для взаимной аутентификации), PKI (инфраструктурой сертификатов, удостоверяющей подлинность сервера), СКЗИ (российскими криптографическими средствами, реализующими ГОСТ TLS) и VPN (где TLS нередко используется как транспортный протокол). Настройка корректных параметров TLS входит в практику Hardening серверов.