Современные реалии таковы, что не каждый бизнес может себе позволить сайт, особенно стартующий бизнес. Поэтому выгодно воспользоваться конструктором сайтов, например filandor.com . Запуск сайта через несколько минут.

Зашифрованный клиент Hello — последний кусочек головоломки конфиденциальности

Сегодня мы рады объявить о своем вкладе в улучшение конфиденциальности для всех в Интернете. Encrypted Client Hello, новый предложенный стандарт, который не позволяет сетям отслеживать, какие веб-сайты посещает пользователь, теперь доступен во всех планах Cloudflare.

Encrypted Client Hello (ECH) является преемником ESNI и маскирует указание имени сервера (SNI), которое используется для согласования установления связи TLS. Это означает, что всякий раз, когда пользователь посещает веб-сайт Cloudflare с включенным ECH, никто, кроме пользователя, Cloudflare и владельца веб-сайта, не сможет определить, какой веб-сайт был посещен. Cloudflare является большим сторонником конфиденциальности для всех и воодушевлен перспективами воплощения этой технологии в жизнь.

Просмотр Интернета и ваша конфиденциальность

Каждый раз, когда вы посещаете веб-сайт, ваш браузер отправляет запрос на веб-сервер. Веб-сервер отвечает контентом, и веб-сайт начинает загружаться в вашем браузере. Еще на заре Интернета это происходило в виде «простого текста», то есть ваш браузер просто отправлял по сети фрагменты информации, которые каждый мог прочитать: корпоративная сеть, из которой вы просматриваете Интернет, поставщик интернет-услуг, который предлагает вам Интернет. подключение и любая сеть, через которую проходит запрос, прежде чем он достигнет веб-сервера, на котором размещен веб-сайт. Защитники конфиденциальности уже давно обеспокоены тем, сколько информации можно увидеть в «простом тексте»: если какая-либо сеть между вами и веб-сервером может видеть ваш трафик, это означает, что они также могут видеть, что именно вы делаете. Если вы инициируете банковский перевод, любой посредник может увидеть пункт назначения и сумму перевода.

Так как же сделать эти данные более конфиденциальными? Чтобы предотвратить подслушивание, было введено шифрование в виде SSL, а затем и TLS. Это удивительные протоколы, которые не только защищают вашу конфиденциальность, но и гарантируют, что ни один посредник не сможет подделать какой-либо контент, который вы просматриваете или загружаете. Но шифрование заходит так далеко.

Хотя фактический контент (какую конкретную страницу веб-сайта вы посещаете и любую информацию, которую вы загружаете) зашифрован и защищен от посредников, все же существуют способы определить, что делает пользователь. Например, запрос DNS для определения адреса (IP) веб-сайта, который вы посещаете, и SNI являются распространенными способами отслеживания использования посредниками.

Начнем с DNS. Всякий раз, когда вы посещаете веб-сайт, ваша операционная система должна знать, к какому IP-адресу подключаться. Это делается через DNS-запрос. По умолчанию DNS не зашифрован, то есть любой может увидеть, о каком веб-сайте вы спрашиваете. Чтобы помочь пользователям защитить эти запросы от посредников, Cloudflare в 2019 году представила DNS over HTTPS (DoH). В 2020 году мы пошли еще дальше и представили Oblivious DNS over HTTPS, который не позволяет даже Cloudflare видеть, о каких веб-сайтах спрашивает пользователь.

В результате SNI остается последним незашифрованным битом, который посредники могут использовать, чтобы определить, какой веб-сайт вы посещаете. После выполнения DNS-запроса одно из первых действий браузера — это подтверждение TLS. Рукопожатие состоит из нескольких этапов, в том числе выбора шифра, версии TLS и сертификата, который будет использоваться для проверки личности веб-сервера. В рамках этого рукопожатия браузер укажет имя сервера (веб-сайта), который он намерен посетить: указание имени сервера.

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

Это означает, что, несмотря на невероятные усилия TLS и DoH, веб-сайты, которые вы посещаете в Интернете, по-прежнему не являются по-настоящему конфиденциальными. Сегодня мы добавляем последнюю недостающую часть головоломки с помощью ECH. При использовании ECH браузер выполняет подтверждение TLS с Cloudflare, но не имя хоста, специфичное для клиента. Это означает, что хотя посредники смогут видеть, что вы посещаете а на Cloudflare, они никогда не смогут определить, какой именно.

Как работает ЭЧ?

Чтобы объяснить, как работает 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, а не реальный веб-сайт. Мы решили последнюю задачу по сохранению конфиденциальности для пользователей, которым не нравится, когда посредники видят, какие веб-сайты они посещают.

Подробную информацию о технологии ECH можно найти в нашем вводном блоге.

Будущее конфиденциальности

Мы воодушевлены тем, что это значит для конфиденциальности в Интернете. Такие браузеры, как Google Chrome и Firefox, уже начинают расширять поддержку ECH. Если вы являетесь веб-сайтом и заботитесь о том, чтобы пользователи посещали ваш веб-сайт таким образом, чтобы ни один посредник не мог видеть, что делают пользователи, включите ECH сегодня в Cloudflare. Мы уже включили ECH для всех свободных зон. Если вы уже являетесь платежным клиентом, просто зайдите на панель управления Cloudflare и подайте заявку на эту функцию. В ближайшие несколько недель мы предоставим эту возможность всем, кто зарегистрируется.

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

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