SSL/TLS: что это, сертификат и рукопожатие
Проверено экспертной редакцией SecRadar · по первоисточникам ФСТЭК / ФСБ / Банка России
SSL/TLS — это криптографический протокол, который шифрует канал связи между клиентом и сервером и подтверждает подлинность сервера с помощью цифрового сертификата. Материал разбирает, чем SSL отличается от TLS и почему все версии SSL считаются небезопасными, как устроено TLS-рукопожатие, что такое цифровой сертификат и какие бывают уровни проверки — DV, OV, EV, а также российскую специфику: TLS с ГОСТ-шифрами, национальный удостоверяющий центр Минцифры и криптошлюзы на базе СКЗИ.
Кратко
- Что это
- Криптографический протокол, шифрующий канал связи между клиентом и сервером и подтверждающий подлинность сервера сертификатом.
- SSL vs TLS
- SSL — устаревший предшественник, все версии которого признаны небезопасными; действующий стандарт — TLS 1.2 и TLS 1.3.
- HTTPS
- HTTP поверх TLS (RFC 2818) — обычный HTTP-трафик, обёрнутый в зашифрованное TLS-соединение.
- Сертификат
- Электронный документ от удостоверяющего центра (CA), подтверждающий владение доменом и содержащий открытый ключ сервера.
- Уровни проверки
- DV — только домен, OV — организация, EV — усиленная проверка; криптостойкость шифрования от уровня не зависит.
- Российская специфика
- ГОСТ TLS (RFC 9189 для TLS 1.2, RFC 9367 для TLS 1.3) на отечественных алгоритмах, национальный УЦ Минцифры, криптошлюзы как СКЗИ классов КС1–КА.
Что такое SSL/TLS
SSL/TLS — это криптографический протокол, который шифрует канал связи между клиентом (браузером, приложением) и сервером и подтверждает подлинность сервера с помощью цифрового сертификата. SSL — исторический предшественник, все версии которого официально признаны небезопасными; протокол, реально работающий сегодня под привычным названием «SSL», — это TLS (Transport Layer Security), сейчас в версиях 1.2 и 1.3.
Протокол разработала компания Netscape в середине 1990-х годов для защиты веб-трафика: SSL 2.0 вышел в 1995 году, SSL 3.0 — в 1996-м. В 1999 году развитие протокола перешло к IETF, которая стандартизировала его продолжение под новым названием — TLS 1.0 (RFC 2246), по сути прямой преемник SSL 3.1.
С тех пор название «SSL» осталось в обиходе — в маркетинге хостингов, в термине «SSL-сертификат» — хотя формально это уже другой, TLS-протокол.
↔ таблицу можно прокрутить вбок
| Версия | Год выпуска | Статус | Документ вывода из эксплуатации |
|---|---|---|---|
| SSL 2.0 | 1995 | Запрещён к использованию | RFC 6176 (2011) |
| SSL 3.0 | 1996 | Признан небезопасным (уязвимость POODLE) | RFC 7568 (2015) |
| TLS 1.0 | 1999 | Устарел, выведен из эксплуатации | RFC 8996 (2021) |
| TLS 1.1 | 2006 | Устарел, выведен из эксплуатации | RFC 8996 (2021) |
| TLS 1.2 | 2008 | Действующий, широко поддерживается | RFC 5246 |
| TLS 1.3 | 2018 | Действующий, рекомендуемый стандарт | RFC 8446 |
TLS 1.0 и TLS 1.1 официально выведены из доверия в марте 2021 года документом RFC 8996; современные браузеры и серверы по умолчанию поддерживают только TLS 1.2 и TLS 1.3, и соединение по более старым версиям протокола обычно завершается ошибкой ещё на этапе рукопожатия.
Отдельно стоит термин HTTPS — это не самостоятельный протокол, а обычный HTTP, обёрнутый в зашифрованное TLS-соединение (RFC 2818, «HTTP over TLS»). Когда браузер показывает в адресной строке замок и «https://», это означает, что HTTP-запросы и ответы передаются через установленный TLS-канал, а не в открытом виде.
Как работает TLS-рукопожатие
TLS-рукопожатие (handshake) — это обмен сообщениями в начале соединения, в ходе которого клиент и сервер договариваются о параметрах шифрования, сервер предъявляет сертификат, а стороны вычисляют общий сеансовый ключ. Схема построена в два слоя: асимметричная криптография отвечает за аутентификацию сервера — сервер доказывает, что владеет закрытым ключом, соответствующим сертификату, — и за безопасное согласование ключа, а весь дальнейший трафик сессии шифруется быстрым симметричным алгоритмом.
- ClientHello. Клиент отправляет серверу список поддерживаемых версий TLS, наборов шифров (cipher suites) и случайное число для последующего вычисления ключа.
- ServerHello и сертификат. Сервер выбирает версию протокола и набор шифров, отправляет собственный цифровой сертификат и параметры для согласования ключа.
- Проверка цепочки доверия. Клиент проверяет, что сертификат подписан удостоверяющим центром, которому браузер доверяет, что срок действия не истёк и что имя в сертификате совпадает с запрошенным доменом.
- Аутентификация сервера (CertificateVerify). Сервер отдельно доказывает, что владеет закрытым ключом сертификата, а не просто прислал чужой публичный сертификат: он подписывает часть данных рукопожатия своим закрытым ключом, и клиент проверяет эту подпись открытым ключом из сертификата — асимметричная операция, отдельная от согласования ключа сессии.
- Согласование ключа. Стороны вычисляют общий сеансовый ключ — в TLS 1.3 почти всегда через эфемерный алгоритм Диффи — Хеллмана, что обеспечивает прямую секретность: если сегодняшний ключ будет скомпрометирован, трафик прошлых сессий это не раскроет.
- Finished и переход на симметричное шифрование. После обмена контрольными сообщениями весь дальнейший трафик сессии шифруется симметричным алгоритмом с общим ключом — это на порядки быстрее асимметричной криптографии.
TLS 1.3 сократил число раундов обмена по сравнению с TLS 1.2 — рукопожатие занимает один цикл обмена вместо двух (1-RTT против 2-RTT), что заметно ускоряет установление соединения. Целостность самих сообщений рукопожатия, включая финальное сообщение Finished, подтверждается кодом аутентификации на основе хеш-функции (HMAC/HKDF) — по нему стороны проверяют, что параметры соединения не подменили по пути.
Целостность и подлинность уже зашифрованных данных сессии обеспечивает не HMAC, а сами шифры сессии — режимы с одновременным шифрованием и проверкой подлинности (AEAD), такие как AES-GCM или ChaCha20-Poly1305: если код аутентификации, встроенный в шифротекст, не сходится, получатель отбрасывает пакет как подменённый.
Цифровой сертификат: DV, OV, EV
Цифровой сертификат (SSL/TLS-сертификат) — это электронный документ, который удостоверяющий центр (CA) выдаёт владельцу домена: он связывает открытый ключ сервера с именем домена, подписан электронной подписью центра и подтверждает, что сервер — тот, за кого себя выдаёт. Разные типы сертификатов отличаются не стойкостью шифрования, а глубиной проверки заявителя.
DV (Domain Validation) базовый
Удостоверяющий центр проверяет только владение доменом — например, через запись DNS или файл на сервере. Проверка автоматизирована, выпуск занимает минуты, часто бесплатно (Let's Encrypt). Данные об организации в сертификате отсутствуют.
OV (Organization Validation) расширенный
Помимо владения доменом центр проверяет юридическое существование организации по регистрационным документам. Название компании отражается в деталях сертификата — это видно при просмотре, хотя и не выводится отдельно в интерфейсе браузера.
EV (Extended Validation) усиленный
Самая строгая проверка по требованиям CA/Browser Forum. Раньше такие сертификаты давали зелёную адресную строку с названием компании; современные версии Chrome и других массовых браузеров убрали этот визуальный индикатор, и внешне EV почти не отличим от OV.
Самоподписанный сертификат не для публичных сайтов
Выпущен самим владельцем сервера, а не удостоверяющим центром, и отсутствует в доверенном хранилище браузера — по умолчанию вызывает предупреждение о небезопасном соединении. Применяется для внутреннего тестирования и корпоративных сетей, где корневой сертификат установлен на устройства вручную.
Цепочка доверия обязательна
Сертификат сервера (leaf) подписан промежуточным центром, тот — корневым, который заранее встроен в доверенное хранилище браузера или ОС. Браузер проверяет всю цепочку целиком; если сервер не отдал промежуточный сертификат, цепочка не выстраивается и соединение блокируется.
Срок действия максимум 200 дней
Максимальный срок действия публично доверенных TLS-сертификатов сокращали поэтапно и разными сторонами. Первой в 2020 году лимит в 398 дней (около 13 месяцев) ввела root-программа Apple — в одностороннем порядке, для сертификатов, которым доверяет её собственный список корневых центров; следом аналогичное требование ввели root-программы Google и Mozilla.
Формальное голосование CA/Browser Forum о закреплении 398 дней в Baseline Requirements в 2020 году не набрало нужного большинства, но требование действовало через политики браузеров. В 2025 году форум принял Ballot SC-081v3: с 15 марта 2026 года максимальный срок — 200 дней, далее он сократится до 100 дней с 15 марта 2027 года и до 47 дней с 15 марта 2029 года.
Просроченный сертификат браузер трактует как недействительный.
Где посмотреть сертификат в браузере: значок замка в адресной строке открывает сведения о соединении, а из них — детали сертификата: кем выдан, кому выдан, срок действия и цепочка доверия до корневого центра.
Российская специфика: ГОСТ TLS
В России помимо международного TLS применяется TLS с российскими криптоалгоритмами — так называемый ГОСТ TLS (RFC 9189 для TLS 1.2, RFC 9367 для TLS 1.3), а для выпуска сертификатов организациям, столкнувшимся с проблемами у иностранных удостоверяющих центров, работает национальный удостоверяющий центр Минцифры России.
- ГОСТ TLS. Наборы шифров на отечественных алгоритмах описаны в двух RFC по версиям протокола: RFC 9189 — для TLS 1.2, RFC 9367 — для TLS 1.3. Используемые алгоритмы: ГОСТ Р 34.10-2012 — для электронной подписи и обмена ключом (межгосударственный ГОСТ 34.10-2018 без буквы «Р» — его более поздний преемник, действующий в РФ как национальный стандарт с 1 июня 2019 года), ГОСТ Р 34.11-2012 «Стрибог» — для хеширования, ГОСТ Р 34.12-2015/34.13-2015 («Кузнечик», «Магма») — для симметричного шифрования сессии.
- Национальный удостоверяющий центр (НУЦ Минцифры России). Заработал в 2022 году и выдаёт TLS-сертификаты российским организациям через портал госуслуг — в том числе тем, кто столкнулся с отказом или сложностями продления сертификатов у иностранных центров сертификации на фоне санкций.
- Разрыв доверия в браузерах. Корневой сертификат НУЦ Минцифры по умолчанию не входит в список доверенных у основных международных браузеров (Chrome, Firefox, Safari); чтобы сайт с таким сертификатом открывался без предупреждения, пользователю нужно установить корневой сертификат вручную либо использовать браузер с уже встроенным доверием — например, Атом от Ростелекома или Яндекс Браузер.
- Криптошлюзы на ГОСТ. Устройства и ПО, реализующие ГОСТ TLS или ГОСТ VPN для защиты канала связи, сертифицируются ФСБ России как СКЗИ классов КС1–КА и применяются как компонент VPN-решений там, где действуют требования к криптографической защите каналов.
Частые вопросы
Что такое SSL-сертификат простыми словами?
SSL или TLS — что сейчас используется?
Зачем сайту нужен SSL/TLS-сертификат?
Чем бесплатный сертификат отличается от платного?
Что значит ошибка «сертификат недействителен»?
Чем TLS-сертификат отличается от электронной подписи?
Словарь ИБ на SecRadar
Разбор терминов криптографии и защиты данных без вендорной привязки — что стоит за понятием, как оно связано со смежными темами и какие классы СЗИ закрывают конкретную задачу.