Зашифрованное приветствие клиента - последний кусочек головоломки для обеспечения конфиденциальности

Страницы:  1

Ответить
Автор
Сообщение

Sunshine


Cloudflare активировал функцию Encrypted Client Hello (ECH)
Encrypted Client Hello, новый предложенный стандарт, который не позволяет сетям отслеживать, какие сайты посещает пользователь, теперь доступен на всех тарифных планах Cloudflare.
Encrypted Client Hello (ECH) является преемником ESNI и маскирует указание имени сервера (Server Name Indication, SNI), которое используется для согласования рукопожатия TLS. Это означает, что при посещении пользователем сайта на Cloudflare, на котором включена функция ECH, никто, кроме пользователя, Cloudflare и владельца сайта, не сможет определить, какой именно сайт был посещен. Cloudflare - большой сторонник конфиденциальности для всех и с нетерпением ждет внедрения этой технологии в жизнь.
Работа в Интернете и конфиденциальность
При посещении веб-сайта ваш браузер отправляет запрос на веб-сервер. В ответ веб-сервер предоставляет содержимое, и сайт начинает загружаться в браузере. На заре развития Интернета этот процесс происходил в виде "простого текста", т.е. браузер просто отправлял по сети биты, которые могли прочитать все: корпоративная сеть, из которой вы выходите в Интернет, интернет-провайдер, предоставляющий вам подключение к Интернету, и все сети, через которые проходил запрос, прежде чем попасть на веб-сервер, на котором размещен сайт. Защитники конфиденциальности давно обеспокоены тем, как много информации можно увидеть "открытым текстом": Если любая сеть между вами и веб-сервером может видеть ваш трафик, это означает, что она также может видеть, что именно вы делаете. Если вы инициируете банковский перевод, то любой посредник может увидеть пункт назначения и сумму перевода.
Как же сделать эти данные более конфиденциальными? Чтобы предотвратить подслушивание, было введено шифрование в виде протокола SSL, а затем и TLS. Это замечательные протоколы, которые не только защищают вашу конфиденциальность, но и гарантируют, что ни один посредник не сможет подделать содержимое, которое вы просматриваете или загружаете. Однако шифрование - это еще не все.
Хотя фактический контент (конкретная страница сайта и загружаемая информация) зашифрован и защищен от посредников, все равно существуют способы определить, что делает пользователь. Например, DNS-запрос для определения адреса (IP) посещаемого сайта и SNI - оба распространенных способа отслеживания использования сайта посредниками.
Начнем с DNS. Когда вы посещаете какой-либо сайт, вашей операционной системе необходимо знать, с каким IP-адресом подключаться. Это делается с помощью DNS-запроса. По умолчанию DNS не зашифрован, то есть любой может увидеть, к какому сайту вы обращаетесь. Чтобы помочь пользователям оградить эти запросы от посредников, в 2019 году Cloudflare представила DNS over HTTPS (DoH). В 2020 году мы сделали еще один шаг вперед и представили Oblivious DNS over HTTPS, благодаря которому даже Cloudflare не сможет увидеть, какие сайты запрашивает пользователь.
Таким образом, SNI остается последним незашифрованным битом, по которому посредники могут определить, какой сайт вы посещаете. После выполнения DNS-запроса браузер одним из первых выполняет рукопожатие TLS. Это рукопожатие состоит из нескольких этапов, включая выбор шифра, версии TLS и сертификата, который будет использоваться для проверки подлинности веб-сервера. В рамках этого рукопожатия браузер указывает имя сервера (сайта), который он намерен посетить: Server Name Indication.
Поскольку сессия еще не зашифрована, а сервер не знает, какой сертификат использовать, браузер должен передать эту информацию в виде обычного текста. Передача SNI в открытом виде означает, что любой посредник может узнать, какой сайт вы посещаете, просто проверив первый пакет на наличие соединения:

Это означает, что, несмотря на все усилия TLS и DoH, информация о том, какие сайты вы посещаете в Интернете, все еще не является по-настоящему конфиденциальной. Сегодня мы добавляем последний недостающий фрагмент головоломки с помощью ECH. При использовании ECH браузер выполняет рукопожатие TLS с Cloudflare, но не использует имя хоста конкретного клиента. Это означает, что хотя посредники смогут увидеть, что вы посещаете веб-сайт на Cloudflare, они никогда не смогут определить, какой именно.
Как работает ECH?
Для того чтобы объяснить принцип работы ECH, необходимо сначала понять, как выполняется рукопожатие TLS. Рукопожатие TLS начинается с части ClientHello, которая позволяет клиенту сообщить, какие шифры использовать, какую версию TLS и, самое главное, какой сервер он пытается посетить (SNI).
В ECH часть сообщения ClientHello разбивается на два отдельных сообщения: внутреннее и внешнее. Внешняя часть содержит нечувствительную информацию, такую как используемые шифры и версия TLS. Она также содержит "внешний SNI". Внутренняя часть зашифрована и содержит "внутренний SNI".
Внешний SNI - это общее имя, которое в нашем случае означает, что пользователь пытается посетить зашифрованный сайт на Cloudflare. Мы выбрали cloudflare-ech.com в качестве SNI, который будет использоваться всеми веб-сайтами на Cloudflare. Поскольку Cloudflare контролирует этот домен, у нас есть соответствующие сертификаты для согласования рукопожатия TLS для этого имени сервера.
Внутренний SNI содержит реальное имя сервера, который пытается посетить пользователь. Оно зашифровано с помощью открытого ключа и может быть прочитано только Cloudflare. После завершения квитирования веб-страница загружается в обычном режиме, как и любой другой сайт, загружаемый по протоколу TLS.

На практике это означает, что любой посредник, пытающийся определить, какой сайт вы посещаете, будет просто видеть обычные рукопожатия TLS с одной оговоркой: при посещении сайта с поддержкой ECH на Cloudflare имя сервера будет выглядеть одинаково. Каждое рукопожатие TLS будет выглядеть идентично, поскольку оно будет выглядеть так, как будто пытается загрузить сайт cloudflare-ech.com, а не реальный сайт. Мы решили последнюю головоломку в сохранении конфиденциальности для пользователей, которым не нравится, что посредники видят, какие сайты они посещают.Источник
 

Sunshine


Как включить поддержку ECH в Google Chrome:
Введите chrome://flags/#encrypted-client-hello в адресную строку браузера.
Установите для флага Encrypted ClientHello значение Enabled.
Перезапустите браузер.
Как включить поддержку ECH в Opera:
Введите opera://flags/#encrypted-client-hello в адресную строку браузера.
Установите для флага Encrypted ClientHello значение Enabled.
Перезапустите браузер.
Как включить поддержку ECH в Vivaldi:
Введите vivaldi://flags/#encrypted-client-hello в адресную строку браузера.
Установите для флага Encrypted ClientHello значение Enabled.
Перезапустите браузер.
в качестве dns установите 1.1.1.1 в настройка сетевой карты/роутера
проверить можно тут > https://www.cloudflare.com/ssl/encrypted-sni/
 
logo
Error