HTTPS шифрует содержимое, но не все метаданные
ВсеЧитать обязательно

Что на самом деле скрывает HTTPS: SNI, ALPN, OCSP Stapling и видимые данные

HTTPS шифрует содержимое соединения, но не скрывает все сетевые метаданные. Разбираем SNI, ALPN, OCSP Stapling, ECH, Encrypted DNS и роль VPN.

15 мин чтения
Paul Jackson

Paul Jackson

Technology editor

what_happend_insede_the_https

Многие считают, что если рядом с адресом сайта отображается значок замка, HTTPS полностью скрывает всю информацию о соединении.

Это не так.

HTTPS надежно защищает содержимое обмена между браузером и сайтом, но перед началом зашифрованной передачи браузеру и серверу все равно необходимо обменяться частью технической информации.

Без этого невозможно определить адрес сервера, установить соединение, выбрать сертификат и согласовать параметры TLS.

Поэтому HTTPS обеспечивает конфиденциальность передаваемых данных, но не делает само соединение полностью невидимым.

В этой статье разберем, как устроено HTTPS-соединение, для чего используются SNI, ALPN и OCSP Stapling, а также какие данные могут оставаться доступными интернет-провайдеру или другому сетевому наблюдателю.

Видимые или определяемые метаданные и данные, защищенные TLS
Видимые или определяемые метаданныеДанные, защищенные TLS
IP-адрес назначенияСодержимое страницы
DNS-запросы без DoH/DoTДанные форм
Временные характеристики соединенияПароли
Размеры пакетовHTTP-заголовки
Объем трафикаСессионные данные
Часть TLS-метаданных

HTTPS шифрует содержимое, но не все метаданные

Перед тем как браузер начнет передавать защищенные HTTP-данные, необходимо выполнить несколько технических шагов.

Обычно браузеру требуется:

  • определить IP-адрес сайта;
  • установить сетевое соединение;
  • начать TLS handshake;
  • получить и проверить сертификат;
  • согласовать параметры защищенного соединения.

Из-за этого часть информации существует вне зашифрованного содержимого HTTPS-сеанса.

В зависимости от конфигурации сети могут оставаться видимыми:

  • DNS-запросы, если не используется DoH или DoT;
  • IP-адрес сервера;
  • время установления соединения;
  • размеры пакетов;
  • общий объем передаваемого трафика;
  • отдельные характеристики TLS-соединения.

После завершения TLS handshake HTTP-данные передаются внутри зашифрованного канала.

Это означает, что сторонний сетевой наблюдатель обычно не может просто прочитать:

  • содержимое страницы;
  • данные форм;
  • пароли;
  • HTTP-заголовки внутри TLS;
  • сессионные данные, передаваемые по HTTPS.

Главное различие можно сформулировать так:

Что такое SNI?

Современный сервер может обслуживать множество сайтов одновременно.

При этом несколько доменов могут использовать один и тот же IP-адрес.

Когда браузер начинает устанавливать HTTPS-соединение, серверу нужно понять, к какому именно доменному имени обращается пользователь, чтобы предоставить правильный TLS-сертификат и корректно обработать соединение.

Для этого используется SNI — Server Name Indication.

В классической схеме TLS имя сайта передается внутри ClientHello таким образом, что сетевой наблюдатель может его увидеть.

Поэтому интернет-провайдер, корпоративный firewall или другое промежуточное оборудование в некоторых случаях способны определить домен, к которому подключается пользователь, даже если содержимое страницы полностью зашифровано.

Для уменьшения такой утечки используется Encrypted ClientHello (ECH).

ECH предназначен для шифрования чувствительных данных ClientHello, включая информацию о серверном имени.

Однако его работа зависит сразу от нескольких факторов:

  • поддержки браузером;
  • DNS-конфигурации;
  • поддержки со стороны сайта и инфраструктуры.

Поэтому нельзя считать, что ECH используется при каждом HTTPS-соединении.

Что такое ALPN?

После начала защищенного соединения браузеру и серверу нужно согласовать, какой прикладной протокол будет использоваться дальше.

За это отвечает ALPN — Application-Layer Protocol Negotiation.

Например, стороны могут согласовать:

  • HTTP/1.1;
  • HTTP/2.

HTTP/3 работает иначе, поскольку использует QUIC поверх UDP, но TLS 1.3 по-прежнему участвует в криптографическом согласовании соединения.

Сам ALPN не шифрует трафик и не является отдельным механизмом безопасности.

Его задача — выбрать протокол, который поддерживают обе стороны.

При этом ALPN также используется в QUIC для согласования протокола приложения, включая HTTP/3

Благодаря этому браузеру и серверу не приходится устанавливать отдельное соединение только для того, чтобы выяснить, какую версию HTTP использовать.

Видит ли сеть ALPN?

В обычном TLS-соединении без ECH список протоколов, которые клиент предлагает через ALPN, может быть виден сетевому наблюдателю в ClientHello. Например, браузер может сообщить о поддержке HTTP/2 через идентификатор h2.

В TLS 1.3 выбранный сервером протокол передается уже в защищенной части handshake. При использовании ECH чувствительные расширения ClientHello также могут быть скрыты, если эту технологию поддерживают клиент и инфраструктура назначения.

Даже когда конкретные параметры TLS handshake недоступны напрямую, сеть все еще может анализировать другие характеристики соединения: размеры пакетов, направление трафика, временные интервалы и общий объем передаваемых данных.

Например, оборудование может анализировать:

  • размеры пакетов;
  • временные интервалы;
  • направление трафика;
  • характер установления соединения;
  • поведение протокола.

Именно поэтому зашифрованный трафик можно классифицировать, не читая непосредственно содержимое HTTP-запросов.

Что такое OCSP Stapling?

Одной проверки подписи TLS-сертификата недостаточно.

Браузеру также может потребоваться убедиться, что сертификат не был отозван.

Одним из механизмов проверки статуса отзыва сертификата является OCSP (Online Certificate Status Protocol).

При прямой OCSP-проверке клиент может обратиться к OCSP responder центра сертификации, чтобы получить информацию о статусе сертификата.

У такого подхода были два заметных недостатка:

  • появлялся дополнительный сетевой запрос;
  • центр сертификации мог получить информацию о том, какой сертификат проверяет браузер.

OCSP Stapling частично решает эту проблему.

Вместо того чтобы заставлять браузер делать отдельный запрос, сервер сайта заранее получает подписанный ответ OCSP и передает его браузеру во время TLS Handshake.

Это дает несколько преимуществ:

  • сокращается количество дополнительных запросов;
  • уменьшается задержка при установлении соединения;
  • браузеру реже приходится напрямую обращаться к OCSP-серверу;
  • улучшается приватность процесса проверки сертификата.

OCSP Stapling не является отдельным шифрованием. Его задача — сделать проверку статуса сертификата более эффективной и менее зависимой от прямых запросов браузера.

Что остается видимым даже при HTTPS?

HTTPS защищает содержимое трафика, но не скрывает весь сетевой контекст.

В зависимости от используемых технологий сетевой наблюдатель может видеть или пытаться определить:

  • исходный и конечный IP-адреса;
  • время соединения;
  • длительность сессии;
  • размеры пакетов;
  • общий объем трафика;
  • DNS-запросы, если DNS не зашифрован;
  • некоторые характеристики TLS;
  • доменное имя, если SNI остается доступным.

При этом содержимое HTTPS-трафика остается защищенным от пассивного чтения.

То есть интернет-провайдер обычно не может просто открыть и посмотреть текст страницы, введенный пароль или содержимое формы.

Почему HTTPS не делает пользователя анонимным?

Безопасность соединения и анонимность — это разные задачи.

HTTPS защищает данные во время передачи между браузером и сайтом.

Но сам сайт получает информацию от браузера уже после установления защищенного соединения.

Например, сайт может видеть или использовать:

  • публичный IP-адрес;
  • Cookies;
  • Local Storage;
  • Browser Fingerprint;
  • IP Reputation;
  • данные аккаунта;
  • Behavioral Biometrics.

Если пользователь входит в аккаунт, сайт по-прежнему понимает, какая учетная запись используется.

Если на странице работает аналитический скрипт, HTTPS не мешает ему собирать доступные браузерные данные.

Поэтому корректнее говорить:

HTTPS и Browser Fingerprinting

Browser Fingerprinting работает на другом уровне.

HTTPS отвечает за защиту трафика между браузером и сервером.

Browser Fingerprinting анализирует технические характеристики браузерного окружения.

Например:

  • Canvas;
  • WebGL;
  • WebGPU;
  • Audio;
  • ClientRects;
  • Fonts;
  • параметры экрана;
  • свойства браузера и операционной системы.

HTTPS не скрывает эти сигналы от самого сайта.

После установки защищенного соединения JavaScript на странице может обращаться к доступным Web API так же, как и без HTTPS.

Поэтому защищенное соединение не мешает сайту использовать Browser Fingerprinting.

Как VPN дополняет HTTPS

HTTPS и VPN работают на разных уровнях и могут использоваться одновременно.

HTTPS защищает соединение между браузером и конечным сайтом.

VPN создает зашифрованный туннель между устройством и VPN-сервером.

При активном VPN локальный интернет-провайдер или оператор публичной Wi-Fi-сети прежде всего видит соединение с VPN-инфраструктурой.

Сам сайт, в свою очередь, обычно видит публичный IP VPN-сервера вместо исходного IP пользователя.

Например, WhoVPN может:

  • заменить исходный публичный IP на IP VPN-сервера;
  • направлять поддерживаемый трафик через зашифрованный туннель;
  • обрабатывать DNS в соответствии с конфигурацией VPN;
  • уменьшать прямую видимость отдельных сетевых назначений для локального провайдера.

При этом HTTPS продолжает отдельно защищать соединение с конечным сайтом.

VPN не заменяет HTTPS, а HTTPS не заменяет VPN.

HTTPS Only и HTTPS + VPN
ПараметрHTTPS OnlyHTTPS + VPN
МаршрутУстройство → интернет-провайдер → сайтУстройство → зашифрованный VPN-туннель → VPN-сервер → сайт
Защита содержимогоКонтент защищен TLSКонтент защищен TLS
Что видит локальный провайдерПровайдер видит сетевое соединениеЛокальный провайдер видит VPN-соединение
Какой IP видит сайтИсходный публичный IPIP VPN-сервера

HTTPS и VPN: в чем разница?

HTTPS и VPN
ВозможностьHTTPSVPN
Шифрует содержимое сайтаДаТрафик защищен внутри VPN-туннеля, но end-to-end защита сайта по-прежнему зависит от HTTPS
Скрывает исходный IP от сайтаНетОбычно да
Защищает трафик в публичном Wi-FiДа, для HTTPS-соединенийДа, между устройством и VPN-сервером
Меняет путь DNS-запросовНет сам по себеЧасто да, зависит от конфигурации
Отключает CookiesНетНет
Отключает Browser FingerprintingНетНет
Скрывает назначения от ISPЧастично, метаданные остаютсяМожет значительно уменьшить прямую видимость

Обе технологии решают разные задачи.

Как Encrypted DNS дополняет HTTPS?

Еще один важный элемент — DNS.

Перед подключением к сайту устройству обычно нужно преобразовать доменное имя в IP-адрес.

Обычные DNS-запросы могут передаваться без прикладного шифрования.

Это позволяет локальной сети или промежуточному DNS-инфраструктурному участнику видеть запрашиваемые домены.

Для защиты DNS используются:

  • DNS over HTTPS (DoH);
  • DNS over TLS (DoT).

Они шифруют DNS-запросы между клиентом и выбранным DNS-резолвером.

Однако Encrypted DNS:

  • не скрывает конечный IP-адрес;
  • не заменяет HTTPS;
  • не заменяет VPN;
  • не отключает браузерное отслеживание.

Это отдельный уровень защиты.

Что меняет Encrypted ClientHello?

Encrypted ClientHello предназначен для защиты части TLS-метаданных, которые раньше могли оставаться открытыми.

Главная задача ECH — скрыть чувствительную информацию ClientHello, включая серверное имя.

Без ECH сетевой наблюдатель в определенных условиях может увидеть домен через SNI.

С ECH это становится значительно сложнее.

Но ECH также не делает соединение полностью невидимым.

Даже при его использовании остаются наблюдаемыми:

  • IP-адрес назначения;
  • временные характеристики;
  • объем трафика;
  • размеры пакетов;
  • другие сетевые параметры.

ECH устраняет конкретный источник утечки метаданных, а не превращает HTTPS в инструмент полной анонимности.

Что сайт видит даже при HTTPS, ECH и VPN?

Даже если использовать HTTPS, Encrypted DNS, ECH и VPN, конечный сайт все равно должен взаимодействовать с браузером.

Поэтому ему могут оставаться доступны:

  • Cookies;
  • Local Storage;
  • Browser Fingerprint;
  • параметры браузера;
  • данные аккаунта;
  • поведение пользователя;
  • содержимое действий, которые пользователь сам отправляет сайту.

Именно поэтому сетевую приватность и браузерную приватность важно рассматривать отдельно.

Шифрование транспортного уровня не означает, что сайт перестает получать информацию от собственного JavaScript-кода или от авторизованного пользователя.

Как проверить, что видят сайты?

Проверить часть параметров своего соединения можно с помощью диагностических сервисов вроде Whoer.net.

Они помогают увидеть:

  • публичный IP-адрес;
  • используемые DNS-серверы;
  • WebRTC;
  • IPv6;
  • отдельные характеристики Browser Fingerprint.

Такой тест хорошо показывает различие между защищенным HTTPS-трафиком и техническими параметрами, которые по-прежнему доступны конечному сайту.

Вывод

HTTPS — один из ключевых механизмов безопасности современного интернета.

Он надежно защищает данные, передаваемые между браузером и сайтом, включая страницы, формы, пароли, Cookies в HTTP-запросах и другую информацию внутри TLS-соединения.

Но HTTPS не скрывает весь контекст соединения.

В зависимости от используемых технологий могут оставаться видимыми или определяемыми:

  • IP-адреса;
  • DNS-запросы;
  • параметры трафика;
  • временные характеристики;
  • некоторые TLS-метаданные;
  • SNI, если не используется ECH.

SNI помогает серверу определить нужный домен, ALPN используется для выбора прикладного протокола, а OCSP Stapling позволяет эффективнее проверять статус сертификата.

Для защиты других уровней используются дополнительные технологии:

  • Encrypted DNS защищает DNS-запросы;
  • ECH уменьшает утечку имени сайта в TLS;
  • VPN защищает участок между устройством и VPN-сервером и меняет видимый публичный IP.

Главное — понимать, что приватность в интернете состоит из нескольких уровней.

HTTPS защищает содержимое соединения, но не делает пользователя или его сетевую активность полностью невидимыми.

Частые вопросы

Можно ли узнать, какой сайт я открываю, если используется HTTPS?
Скрывает ли HTTPS мой IP-адрес?
Нужен ли VPN, если сайты уже используют HTTPS?
Что скрывает Encrypted ClientHello?
Для чего нужен OCSP Stapling?

Готовы повысить приватность?

Включите WhoVPN, чтобы шифровать трафик и скрывать IP в один клик.

Попробовать за 1$

Последние статьи

Все
Онлайн-конфиденциальностьЧитать обязательно

Как обходить геоблокировки: Proxy, VPN или антидетект-браузер

Proxy, VPN и антидетект-браузеры работают на разных уровнях. Разбираем, как современные сайты определяют регион пользователя и какой инструмент подходит для разных сценариев Geo-blocking.

14 мин чтения
Онлайн-конфиденциальностьЧитать обязательно

Mobile vs Desktop Tracking: что легче обнаружить и отследить?

Разбираем различия между Mobile и Desktop Tracking, какие сигналы используют современные системы идентификации и почему уровень обнаружения зависит от метода анализа.

18 мин чтения