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

SSL — протокол шифрования трафика

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

История

Протокол SSL был создан в 1994 году компанией Netscape Communications для обеспечения безопасной передачи данных в браузере Netscape Navigator. Первые версии протокола — SSL 2.0 (1995) и SSL 3.0 (1996) — содержали ряд криптографических уязвимостей, выявленных впоследствии исследователями. В частности, атака POODLE (2014) показала непригодность SSL 3.0 для практического использования.

В 1999 году на основе SSL 3.0 был разработан протокол TLS 1.0 (RFC 2246), который стал его преемником. Несмотря на различия в названии, TLS и SSL часто объединяют под общим термином «SSL/TLS», а сертификаты, выдаваемые для защищённого соединения, по-прежнему называют SSL-сертификатами. Последние версии протокола — TLS 1.2 (2008) и TLS 1.3 (2018) — существенно улучшили криптографическую стойкость и скорость рукопожатия.

Принцип работы

SSL-соединение устанавливается в процессе так называемого «рукопожатия» (handshake), в ходе которого клиент и сервер согласовывают параметры шифрования. Основные этапы:

  1. Приветствие. Клиент отправляет серверу список поддерживаемых алгоритмов шифрования и случайное число.
  2. Выбор алгоритма. Сервер выбирает подходящий алгоритм и отправляет клиенту свой сертификат, подтверждающий его личность.
  3. Проверка сертификата. Клиент проверяет сертификат по цепочке доверия до корневого удостоверяющего центра (CA). Если сертификат недействителен, соединение прерывается.
  4. Обмен ключами. Клиент генерирует сеансовый ключ, шифрует его публичным ключом сервера и отправляет ему. Сервер расшифровывает ключ своим приватным ключом.
  5. Начало защищённого обмена. Обе стороны используют сеансовый ключ для симметричного шифрования передаваемых данных.

В протоколе TLS 1.3 этапы рукопожатия сокращены, что ускоряет установление соединения.

Криптографические алгоритмы

SSL/TLS использует гибридную криптографическую систему: асимметричные алгоритмы (RSA, ECDSA, Ed25519) применяются для обмена ключами и аутентификации, а симметричные (AES, ChaCha20) — для шифрования самого трафика. Дополнительно применяются функции хеширования (SHA-256, SHA-384) для проверки целостности данных.

В ранних версиях протокола использовались устаревшие алгоритмы (RC4, DES, 3DES), которые в настоящее время запрещены стандартами безопасности. Современные реализации поддерживают только криптографические примитивы, соответствующие актуальным рекомендациям.

SSL-сертификаты

Для установления защищённого соединения сервер должен предоставить цифровой сертификат, выданный одним из удостоверяющих центров. Сертификат содержит публичный ключ сервера, его доменное имя, срок действия и подпись CA. Клиенты (браузеры) проверяют сертификат по встроенному списку доверенных корневых центров.

По уровню валидации сертификаты делятся на:

  • DV (Domain Validation) — подтверждение прав на домен;
  • OV (Organization Validation) — подтверждение существования организации;
  • EV (Extended Validation) — расширенная проверка юридического лица.

С 2015 года компания Let's Encrypt начала бесплатную выдачу DV-сертификатов, что массово распространило HTTPS-соединения по интернету.

Применение

Основная область применения SSL/TLS — протокол HTTPS, защищающий веб-трафик. Помимо этого, протокол используется в почтовых протоколах (SMTPS, IMAPS, POP3S), защищённом доступе к базам данных, VPN-решениях и API-сервисах.

В России сертификаты для государственных и финансовых ресурсов выдаются аккредитованными удостоверяющими центрами, включая Государственный центр сертификации ключей информационной безопасности (ГЦСК) и коммерческие ЦСК, работающие в соответствии с требованиями ФСТЭК и ГОСТ. Для ряда отраслей (банки, госуслуги) применяются сертификаты на основе отечественных криптографических алгоритмов (ГОСТ 34.10-2018), что отличает их от стандартных сертификатов RSA/ECDSA.

Проблемы и ограничения

SSL-протоколы не защищают от атак типа «человек посередине» (MITM), если клиент не проверяет сертификат сервера. Некоторые приложения игнорируют ошибки проверки сертификатов, что делает соединение уязвимым. Также устаревшие версии протокола (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1) признаны небезопасными и отключаются современными серверами и клиентами.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru