Протокол ECH в браузере

Chrome продолжает развивать свои механизмы безопасности, и одной из последних технологий, привлекающих внимание, стал протокол Encrypted Client Hello (ECH). Этот протокол, ранее известный как ESNI (Encrypted Server Name Indication), направлен на усиление конфиденциальности при установке HTTPS-соединений.

Зачем нужен ECH?

При установке TLS-соединения (основного протокола для обеспечения защищенных соединений в интернете) браузер отправляет сообщение Server Name Indication (SNI). Оно содержит имя домена, к которому идет запрос, и передается в открытом виде, что позволяет посторонним (например, провайдерам) видеть, к какому сайту подключается пользователь, даже если само соединение зашифровано. Именно таким образом происходит замедление Youtube.

ECH решает эту проблему, шифруя не только содержимое соединения, но и само сообщение Client Hello, которое включает в себя SNI. Это затрудняет наблюдение за трафиком и помогает защитить приватность пользователя в сети.

Как работает ECH?

Протокол ECH добавляет дополнительный этап шифрования на ранней стадии установки TLS. Когда браузер поддерживает ECH, он использует публичный ключ, предоставленный сервером через DNS, чтобы зашифровать свой "Client Hello". Сервер, получивший этот запрос, может расшифровать его с помощью своего приватного ключа и продолжить установку защищенного соединения, сохранив SNI скрытым от посторонних глаз.

Если сервер не поддерживает ECH, браузер может откатиться к стандартному поведению, отправив SNI в открытом виде, как это происходит в настоящее время.

Как включить ECH в Chrome

  1. Зайдите в «Настройки» (Settings).

  2. Выберите слева раздел «Конфиденциальность и безопасность» (Privacy and security).

  3. Нажмите на «Безопасность» (Security).

  4. Проверьте, чтобы была включена опция «Использовать безопасный DNS-сервер» (Use secure DNS).

  5. В выпадающем меню «Выбрать поставщика услуг DNS» (Select DNS provider) воспользуйтесь любым предустановленным вариантом.

  6. Проверьте работу например на этом сайте https://rbpdtdbxxovqvwsl.1tw.live.

Важно помнить, что для полноценной работы ECH необходимо, чтобы не только браузер, но и сервер поддерживал этот протокол, а также был корректно настроена DNS‑запись с публичным ключом.

Проверить какие сайты поддерживают ECH можно тут.

@almirus
19.10.2024 15:32 UTC
Первоисточник

Комментарии

@
19.10.2024 10:58 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@
19.10.2024 21:01 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@homya4ok
19.10.2024 11:23 UTC
0

У меня включение ECH решило, по крайней мере, часть проблем с блокировками и с замедлением Ютуба.

@DjUmnik
19.10.2024 11:26 UTC
+2

Надеюсь, что его включат везде.

@codecity
19.10.2024 12:02 UTC
+4

он использует публичный ключ, предоставленный сервером через DNS, чтобы зашифровать свой "Client Hello".

Теперь осталось прийти к осознанию ненужности доп. прослойки в виде Let’s Encrypt (и прочих) - если сайт может публичный ключ напрямую вписать в записи DNS а клиент использовать его для установления защищенного канала. Тем более что Let’s Encrypt выполняет проверку точно так же - на уровне DNS.

@allter
19.10.2024 14:23 UTC
0

Не совсем ненужен. Все равно остаётся проблема курицы и яйца. Во-первых, для DoH/DoT все равно нужен сертификат. Во-вторых, пока DoT/DoH не описан для авторитативных серверов, начиная с корневых, выбор конкретного DoH/DoT провайдера является проявлением существенного доверия к одному.

19.10.2024 14:57 UTC
0

выбор конкретного DoH/DoT провайдера является проявлением существенного доверия к одному  

Ну вот эту проблему и нужно решать - и без этого не получится безопасный ECH. Вдруг произойдет подмена публичного ключа - фальшивый DNS вам выдаст свой публичный ключ и вы рапортуете ему в ответе какой сайт хотите посетить?

19.10.2024 16:20 UTC
0

А это уже политическая проблема...

@
19.10.2024 14:25 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
19.10.2024 14:58 UTC
+1

Но есть одна проблема, при первом посещении сайта как убедиться что этот сайт оригинальный, а не мошенника?

Верно, по этому и ECH без решения этой проблемы - не безопасен. Ведь подставной DNS (на уровне провайдера) - отдаст подготовленный открытый ключ, с помощью которого расшифруют ваш первичный запрос.

@AKimovd
19.10.2024 12:58 UTC
+1

Могло бы помочь с ютубом

@alk
19.10.2024 13:02 UTC
+3

указанный в статье сайт defo для проверки выглядит и работает как-то странно, похоже, не работает вообще. Проверить тот или иной сайт на наличие ech= в HTTPS записи DNS можно так https://dns.google/query?name=kinozal.tv&rr_type=HTTPS

Проверить браузер на наличие необходимых парметров безопасности можно по следующим ссылкам
https://www.cloudflare.com/ssl/encrypted-sni/
https://defo.ie/ech-check.php
а также просто на вкладке Security в окне DevTools любого chromium-подобного браузера

Вот развернутая статья про то, как владельцу веб-сайта добавить нужные записи в DNS, чтобы заработал ECH
https://cujo.com/blog/set-up-ech-website/

@0x22
19.10.2024 13:25 UTC
0

Или я чего-то не понял, или это реклама сайта из пункта №6.

С дефолтными настройками работает всё.

И здесь https://www.cloudflare.com/ssl/encrypted-sni/#results

Secure SNI

Nobody listening on the wire can see the website you made a TLS connection to.

@
19.10.2024 14:28 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@dartraiden
19.10.2024 15:11 UTC
0

With ECH, the ClientHello message part is split into two separate messages: an inner part and an outer part. The outer part contains the non-sensitive information such as which ciphers to use and the TLS version and an “outer ClientHello”. The inner part is encrypted and contains an “inner ClientHello”.

The outer ClientHello contains a common name (SNI) that represents that a user is trying to visit an encrypted website on Cloudflare. We chose cloudflare-ech.com as the SNI that all websites will share on Cloudflare.

То есть, надзорному органу достаточно резать все подключения, у которых в SNI этот домен, а пользователям будет сказано что-то наподобие "отключайте ECH в своём браузере". Пользователи браузеров, не позволяющих отключить ECH (например, мобильного Firefox, где доступ к тонким настройкам запрещён), придётся сменить браузер.

@TimsTims
19.10.2024 20:32 UTC
+1

От этого и спасает secure DNA (dnssec), чтобы нельзя было залезть кому либо в DNS траффик.

@anonym0use
19.10.2024 22:53 UTC
+1

В какой то момент, когда 80-90% будут с поддержкой ECH - интернет придется отключать полностью

@Marsezi
20.10.2024 09:22 UTC
0

Последниюая версия хрома, включил, выбрал cf. Перезагрузил браузер, очистил кэш сайта, но все равно показывает что sdns не работает. Браузер абсолютно с дефолтными настройками. Возможно это у чекера баг или хз

@alk
20.10.2024 11:31 UTC
0

попробуйте также https://1.1.1.1/help для проверки. В целом, важнее последний пункт, где галочка установлена у Secure SNI
Кроме того, поддержка DoH есть на уровне операционной системы в Windows 11