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

Протокол SSL

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

История

Разработка протокола SSL была начата компанией Netscape Communications в 1994 году. Основной целью было создание средства для защиты конфиденциальных данных, передаваемых через интернет, в первую очередь — при онлайн-платежах и авторизации на веб-сайтах. Первая версия, SSL 1.0, так и не была опубликована из-за серьёзных уязвимостей.

SSL 2.0

В феврале 1995 года была выпущена версия SSL 2.0. Она стала первой публично доступной реализацией протокола. Однако вскоре были обнаружены критические недостатки: слабая аутентификация, отсутствие защиты от атак типа «человек посередине» (man-in-the-middle) и использование ненадёжных алгоритмов шифрования. В 2011 году протокол SSL 2.0 был официально признан устаревшим и запрещён к использованию (RFC 6176).

SSL 3.0

В 1996 году вышла версия SSL 3.0, которая устранила многие недостатки предшественницы. Были добавлены механизмы аутентификации, улучшена поддержка алгоритмов шифрования (включая RC4, DES, 3DES) и внедрена защита от атак повторного воспроизведения. SSL 3.0 стал основой для последующего стандарта TLS. Несмотря на это, в 2014 году была обнаружена уязвимость POODLE (Padding Oracle On Downgraded Legacy Encryption), позволяющая злоумышленнику расшифровать данные, используя устаревшие версии протокола. После этого SSL 3.0 был признан небезопасным и рекомендован к отключению (RFC 7568).

Переход к TLS

В 1999 году IETF (Internet Engineering Task Force) выпустила протокол TLS 1.0, основанный на SSL 3.0, но с рядом улучшений. Фактически, TLS стал преемником SSL, и все последующие версии (TLS 1.1, 1.2, 1.3) развивались в рамках этого стандарта. Несмотря на это, в обиходе термин «SSL» продолжает использоваться для обозначения защищённого соединения (например, «SSL-сертификат»).

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

Протокол SSL работает на транспортном уровне модели OSI (между транспортным и прикладным уровнями). Он не зависит от конкретного протокола прикладного уровня (HTTP, FTP, SMTP и т.д.) и может использоваться для защиты любых данных, передаваемых по TCP.

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

Процесс установления соединения (рукопожатие)

  1. ClientHello — клиент отправляет серверу запрос, содержащий поддерживаемые версии протокола, список алгоритмов шифрования (cipher suites) и случайное число.
  2. ServerHelloсервер выбирает версию протокола и алгоритм шифрования, отправляет своё случайное число и свой сертификат (обычно X.509).
  3. Аутентификация сервера — клиент проверяет сертификат сервера с помощью цепочки доверенных центров сертификации (CA). Если сертификат недействителен или самоподписан, клиент может прервать соединение.
  4. Обмен ключами — клиент генерирует предварительный секрет (pre-master secret), шифрует его открытым ключом сервера (из сертификата) и отправляет серверу. Сервер расшифровывает его своим закрытым ключом.
  5. Вычисление сессионного ключа — обе стороны на основе случайных чисел и предварительного секрета вычисляют сессионный ключ (master secret).
  6. Завершение рукопожатия — клиент и сервер обмениваются сообщениями Change Cipher Spec и Finished, подтверждая переход на защищённое соединение.

После завершения рукопожатия все данные передаются в зашифрованном виде с использованием согласованных алгоритмов.

Классификация и версии

Протокол SSL имеет три основные версии, каждая из которых отличалась набором поддерживаемых алгоритмов и уровнем безопасности:

ВерсияГод выпускаСтатусОсновные недостатки
SSL 1.01994 (не опубликована)Никогда не использоваласьСерьёзные уязвимости
SSL 2.01995Устаревшая, запрещенаСлабая аутентификация, уязвимость к атакам «человек посередине»
SSL 3.01996Устаревшая, не рекомендуетсяУязвимость POODLE, слабые алгоритмы (RC4, DES)

После SSL 3.0 развитие продолжилось в рамках протокола TLS.

Применение

Основной областью применения SSL была защита веб-трафика. Протокол лёг в основу протокола HTTPS (HTTP over SSL/TLS). Сайты, использующие HTTPS, отображаются в браузере с иконкой замка и строкой «https://» в адресной строке. SSL также применялся для:

Критика и уязвимости

История SSL сопровождалась рядом серьёзных уязвимостей, которые привели к его отказу:

Из-за этих недостатков все версии SSL признаны устаревшими. Современные браузеры и серверы отключают поддержку SSL по умолчанию, требуя использования TLS 1.2 или 1.3.

Наследие и современное состояние

Протокол SSL перестал использоваться в начале 2010-х годов. Тем не менее, термин «SSL» продолжает жить в названиях технологий и продуктов:

В настоящее время для защиты данных в интернете используются исключительно версии протокола TLS (1.2 и 1.3). SSL остаётся лишь историческим этапом в развитии криптографических протоколов.

Источники

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

На главную BFOmetr →