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

SSL-шифрование

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

История развития

Разработка протокола SSL

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

Переход к TLS

В 1999 году Инженерный совет интернета (IETF) опубликовал спецификацию протокола TLS 1.0 (RFC 2246), основанную на SSL 3.0, но с рядом улучшений. TLS по сути является преемником SSL, и хотя эти термины часто используются как синонимы, технически они различаются. Версии TLS 1.1 (2006), TLS 1.2 (2008) и TLS 1.3 (2018) последовательно повышали уровень безопасности, устраняя уязвимости предыдущих версий. В 2014 году была обнаружена критическая уязвимость POODLE в протоколе SSL 3.0, после чего все версии SSL были признаны небезопасными и рекомендованы к отключению. На сегодняшний день поддерживаются только версии TLS 1.2 и TLS 1.3.

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

Этапы установления защищённого соединения

Процесс SSL-шифрования (или TLS) начинается с «рукопожатия» (handshake) — последовательности обмена сообщениями между клиентом и сервером. Основные этапы:

  1. Приветствие (ClientHello и ServerHello). Клиент отправляет серверу список поддерживаемых криптографических алгоритмов (шифров), версию протокола и случайное число. Сервер выбирает наиболее безопасный алгоритм из списка и отправляет свой ответ, включая свой цифровой сертификат (содержащий открытый ключ) и случайное число.
  1. Аутентификация сервера. Клиент проверяет цифровой сертификат сервера, удостоверяясь, что он выдан доверенным центром сертификации (CA) и не просрочен. Если сертификат недействителен, браузер предупреждает пользователя.
  1. Обмен ключами. Клиент генерирует предварительный секрет (pre-master secret), шифрует его открытым ключом сервера (из сертификата) и отправляет обратно. Только сервер может расшифровать его своим закрытым ключом. Затем обе стороны на основе предварительного секрета и случайных чисел вычисляют сеансовый ключсимметричный ключ шифрования для дальнейшей передачи данных.
  1. Завершение рукопожатия. Сервер и клиент отправляют друг другу сообщения, зашифрованные сеансовым ключом, подтверждая, что рукопожатие прошло успешно. С этого момента все данные передаются с использованием симметричного шифрования.

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

SSL-шифрование использует комбинацию двух типов шифрования:

  • Асимметричное шифрование (с открытым и закрытым ключами) — применяется на этапе рукопожатия для безопасного обмена сеансовым ключом. Наиболее распространённые алгоритмы: RSA, Diffie-Hellman (DH), Elliptic Curve Diffie-Hellman (ECDH).
  • Симметричное шифрование — используется для шифрования самих данных после установления соединения. Популярные алгоритмы: AES (Advanced Encryption Standard), ChaCha20, 3DES (устарел). Длина ключа обычно составляет 128 или 256 бит.

Также применяются алгоритмы аутентификации сообщений (HMAC) для обеспечения целостности данных.

Виды и версии протоколов

SSL (устаревшие версии)

  • SSL 1.0 (1994) — не публиковался, имел критические уязвимости.
  • SSL 2.0 (1995) — первая публичная версия, уязвима к атакам MITM, слабая аутентификация.
  • SSL 3.0 (1996) — улучшенная версия, но уязвима к атаке POODLE (2014). Все версии SSL считаются небезопасными и не должны использоваться.

TLS (современные версии)

  • TLS 1.0 (1999) — основан на SSL 3.0, но с улучшениями. Устарел, не рекомендуется к использованию.
  • TLS 1.1 (2006) — улучшена защита от атак CBC, но также устарел.
  • TLS 1.2 (2008) — широко поддерживается, использует более сильные алгоритмы (например, AES-GCM). Рекомендуется как минимальная версия.
  • TLS 1.3 (2018) — самая современная версия, сокращает время рукопожатия, удаляет устаревшие алгоритмы, обеспечивает повышенную безопасность.

Применение

Веб-сайты и HTTPS

Наиболее массовое применение SSL-шифрования — протокол HTTPS (HyperText Transfer Protocol Secure), который использует TLS для защиты трафика между браузером и веб-сервером. HTTPS стал стандартом для всех современных сайтов, особенно для интернет-магазинов, банков, социальных сетей и государственных порталов. В России, согласно законодательству, многие государственные и коммерческие сайты обязаны использовать HTTPS для защиты персональных данных пользователей.

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

SSL/TLS применяется для защиты почтовых протоколов: SMTP (для отправки), IMAP и POP3 (для получения). Это позволяет шифровать содержимое писем и пароли при передаче между почтовыми клиентами и серверами.

VPN и удалённый доступ

Некоторые VPN-протоколы (например, OpenVPN) используют TLS для установления защищённого канала. Также SSL-шифрование применяется в протоколах удалённого рабочего стола (RDP) и других системах удалённого доступа.

Мессенджеры и VoIP

Многие приложения для обмена сообщениями и голосовой связи (например, Signal, Telegram, WhatsApp) используют TLS для шифрования трафика между клиентом и сервером, а также дополнительное сквозное шифрование (end-to-end) для содержимого сообщений.

Сертификаты и центры сертификации

Роль цифрового сертификата

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

Типы сертификатов

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

Бесплатные сертификаты

Начиная с 2015 года, некоммерческая организация Let’s Encrypt начала выдавать бесплатные сертификаты DV, что значительно упростило переход на HTTPS для миллионов сайтов по всему миру.

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

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

Несмотря на высокий уровень безопасности, SSL/TLS не является абсолютно защищённым. Известные атаки включают:

  • POODLE (2014) — атака на SSL 3.0.
  • Heartbleed (2014) — уязвимость в библиотеке OpenSSL, позволяющая читать память сервера.
  • BEAST (2011) — атака на TLS 1.0.
  • CRIME (2012) — атака на сжатие в TLS.
  • DROWN (2016) — атака, использующая устаревшие протоколы SSLv2.

Проблемы с доверием к CA

Центры сертификации могут быть скомпрометированы или действовать недобросовестно. Например, в 2011 году компания Comodo (США) и в 2012 году DigiNotar (Нидерланды) были взломаны, что привело к выпуску поддельных сертификатов для популярных сайтов. В России существует Национальный удостоверяющий центр (НУЦ), который выдаёт сертификаты для государственных информационных систем, а также для сайтов, использующих российские криптоалгоритмы (ГОСТ).

Производительность

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

Регулирование в России

В Российской Федерации использование SSL-шифрования регулируется рядом нормативных актов, включая Федеральный закон «О персональных данных» (152-ФЗ) и Федеральный закон «Об информации, информационных технологиях и о защите информации» (149-ФЗ). Согласно этим законам, операторы персональных данных обязаны обеспечивать защиту передаваемых данных, в том числе с использованием криптографических средств. Для государственных информационных систем применяются сертифицированные криптографические алгоритмы, соответствующие стандартам ГОСТ (ГОСТ 28147-89, ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012). В 2021 году в России был запущен Национальный удостоверяющий центр, который выдаёт сертификаты для сайтов, использующих российские криптоалгоритмы, что является частью политики импортозамещения в области информационной безопасности.

Интересные факты

  • Первый в мире веб-сайт, использующий SSL-шифрование, был запущен компанией Netscape в 1995 году для демонстрации защищённых транзакций.
  • Протокол SSL 3.0 был официально признан устаревшим в 2015 году (RFC 7568).
  • По данным на 2024 год, более 95% всех веб-сайтов в мире поддерживают HTTPS, а поисковые системы (например, Google) поощряют использование HTTPS, повышая рейтинг таких сайтов в результатах поиска.
  • В России доля сайтов с HTTPS также превышает 90%, хотя некоторые государственные и образовательные сайты всё ещё используют незащищённое соединение HTTP.

Источники

  • RFC 2246 — The TLS Protocol Version 1.0 (1999)
  • RFC 5246 — The Transport Layer Security (TLS) Protocol Version 1.2 (2008)
  • RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3 (2018)
  • RFC 7568 — Deprecating Secure Sockets Layer Version 3.0 (2015)
  • Федеральный закон «О персональных данных» № 152-ФЗ (2006)
  • Федеральный закон «Об информации, информационных технологиях и о защите информации» № 149-ФЗ (2006)
  • «SSL and TLS: Designing and Building Secure Systems» — Eric Rescorla (2001)
  • Документация OpenSSL (openssl.org)
  • Отчёты Let’s Encrypt (letsencrypt.org)

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

На главную BFOmetr →