Когда человек открывает сайт, браузер и сервер начинают обмениваться данными. В этом потоке могут находиться пароли, сообщения, платёжные реквизиты, поисковые запросы и файлы cookie. Если передавать сведения в открытом виде, злоумышленник в той же сети сможет прочитать или незаметно изменить их.
Для защиты соединения применяют TLS. Аббревиатура расшифровывается как Transport Layer Security, то есть «безопасность транспортного уровня». Протокол создаёт между браузером и сервером зашифрованный канал. Посторонний наблюдатель видит поток пакетов, но не понимает их содержимое.
Название SSL по-прежнему встречается в рекламе хостингов, панелях управления и выражении «SSL-сертификат». Однако старый протокол SSL давно признан небезопасным и больше не должен использоваться. Современные сайты работают через TLS, хотя привычное слово SSL сохранилось.
Что именно защищает TLS
TLS решает сразу три задачи. Первая состоит в шифровании данных. Браузер превращает передаваемую информацию в набор символов, который невозможно осмысленно прочитать без специального ключа. Сервер расшифровывает полученный поток и отправляет ответ тем же защищённым способом.
Вторая задача связана с проверкой подлинности. Браузеру нужно убедиться, что перед ним настоящий сайт, а не поддельный сервер злоумышленника. Для проверки используется цифровой сертификат, выданный доверенным удостоверяющим центром.
Третья задача состоит в контроле целостности. TLS проверяет, не изменились ли данные по дороге. Если атакующий подменит часть сообщения, получатель обнаружит несоответствие и отклонит повреждённые данные.
| Свойство | Что делает TLS | От какой угрозы защищает |
|---|---|---|
| Конфиденциальность | Шифрует передаваемые данные | Перехват паролей и переписки |
| Подлинность | Проверяет сертификат сайта | Подключение к поддельному серверу |
| Целостность | Обнаруживает изменение сообщений | Незаметная подмена информации |
Как браузер и сервер договариваются о защите
Установление защищённого соединения называют TLS-рукопожатием. Процесс занимает доли секунды и обычно остаётся незаметным для посетителя. Браузер первым обращается к серверу и сообщает, какие версии протокола и наборы криптографических алгоритмов поддерживает.
Сервер выбирает подходящие параметры и отправляет сертификат. В сертификате указаны доменное имя, срок действия, открытый ключ и сведения об организации, которая подтвердила подлинность документа. Браузер проверяет цифровую подпись, срок действия и соответствие домена.
После проверки стороны формируют общий секрет. В современном TLS браузер и сервер обмениваются специальными открытыми значениями, но не передают готовый секрет по сети. Каждая сторона самостоятельно вычисляет общий секрет и выводит из него ключи сессии. Наблюдатель не сможет восстановить секрет только по перехваченному обмену.
Дальнейшие данные шифруются симметричным алгоритмом. Такой способ использует один общий ключ и работает значительно быстрее шифрования с парой открытого и закрытого ключей. Асимметричная криптография помогает проверить сервер и безопасно договориться, а симметричная защищает основной поток информации.
В TLS 1.3 рукопожатие стало короче, а устаревшие алгоритмы убрали. Протокол также поддерживает прямую секретность. Даже если закрытый ключ сервера однажды попадёт к злоумышленнику, ранее записанные сеансы обычно нельзя будет расшифровать.
Какую роль играет SSL-сертификат
Сертификат можно сравнить с цифровым удостоверением сайта. Удостоверяющий центр подтверждает связь открытого ключа с конкретным доменом и подписывает документ. Браузеры хранят список доверенных центров и умеют проверять построенную ими цепочку доверия.
Закрытый ключ хранится у владельца сайта и не входит в сертификат. Если посторонний получит такой ключ, безопасность сервера окажется под угрозой. Поэтому ключ защищают от копирования, ограничивают доступ к нему и заменяют после возможной утечки.
Значок защищённого соединения не подтверждает честность владельца ресурса. Мошеннический сайт тоже может получить действующий сертификат для своего домена. TLS гарантирует защищённую связь с указанным адресом, но не проверяет качество магазина, правдивость публикаций или намерения администратора.
Что видит интернет-провайдер
При использовании HTTPS провайдер, оператор публичной точки Wi-Fi или другой наблюдатель обычно не видит содержимое страниц, введённые пароли и точные адреса внутри сайта. Вместо понятного текста передаётся зашифрованный поток.
Часть служебных сведений может остаться заметной. Наблюдатель способен определить IP-адрес сервера, время подключения и примерный объём трафика. Домен также может раскрыться через DNS-запрос или отдельные элементы установки соединения, если дополнительные механизмы защиты не применяются.
TLS не спасает заражённое устройство. Вредоносная программа может прочитать текст до шифрования или после расшифровки. Протокол также не заменяет надёжные пароли, двухфакторную аутентификацию, обновления программ и осторожность при открытии подозрительных страниц.
Заключение
TLS создаёт защищённый канал поверх обычной сети. Сначала браузер проверяет сертификат сервера, затем стороны согласуют параметры и вычисляют общий секретный ключ. После рукопожатия запросы и ответы передаются в зашифрованном виде с контролем целостности.
Привычное выражение «SSL-сертификат» фактически относится к сертификату для современного TLS. Сам SSL устарел, поэтому серверу нужны актуальная версия протокола, безопасные алгоритмы и правильно настроенная цепочка сертификатов.
Для посетителя главным признаком защиты служит HTTPS в адресе. Такое соединение мешает посторонним читать и менять трафик, но не превращает любой сайт в безопасный. Пользователю всё равно нужно проверять доменное имя, репутацию ресурса и предупреждения браузера.
FAQ: часто задаваемые вопросы
Чем TLS отличается от SSL?
TLS стал безопасной заменой устаревшего SSL. Название «SSL-сертификат» сохранилось в разговорной речи, хотя современные браузеры и серверы используют TLS.
Можно ли взломать шифрование HTTPS?
Правильно настроенный TLS с современными алгоритмами крайне трудно взломать напрямую. Атакующие чаще крадут ключи, заражают устройство, создают поддельные сайты или используют ошибки в настройке сервера.
Зачем сайту нужен SSL-сертификат?
Сертификат связывает доменное имя с открытым ключом и позволяет браузеру проверить сервер. Без такой проверки злоумышленник мог бы выдать свой узел за настоящий сайт.
Защищает ли HTTPS от мошеннических сайтов?
Нет. HTTPS защищает канал связи и подтверждает принадлежность сертификата домену, но не гарантирует добросовестность владельца сайта.
Может ли провайдер видеть сайты при использовании HTTPS?
Провайдер обычно видит факт соединения, IP-адрес, время и объём трафика. Содержимое страниц, пароли и передаваемые сообщения HTTPS скрывает.
