Ви вмикаєте Encrypted Client Hello, відкриваєте сайт, і з'єднання працює. Хтось питає, чи ще потрібен VPN, і чесна відповідь така: ці дві функції приховують різне від різних сторін. ECH захищає частини рукостискання TLS, які інакше можуть розкрити ім'я сервера, яке ви запросили. VPN поміщає ваш трафік у тунель, що закінчується в кінцевій точці оператора. Плутанина між ними призводить або до переплати за захист, який у вас уже є, або до віри в захист, якого у вас ніколи не було.

Що розкриває рукостискання без ECH

З'єднання TLS починається з ClientHello, і в старій формі потрібне ім'я сервера подорожує в ньому відкритим текстом. Будь-хто, хто здатен спостерігати за рукостисканням, від оператора мережі до пасивного датчика на шляху, може прочитати це ім'я, хоча дані застосунку після цього зашифровані. Адреса призначення також видима, тому ім'я часто є підтверджувальною інформацією, а не єдиним сигналом.

Це і є той конкретний витік, на який націлений ECH. Він вузький, і звужувати його варто, але це не те саме, що приховувати, куди йде ваш трафік.

Що ECH справді змінює

За сумісної підтримки клієнта й сервера та потрібної конфігурації ECH шифрує внутрішній ClientHello ключами, опублікованими сервером, тож спостерігач бачить зовнішнє рукостискання, яке не несе справжнього імені сервера. Трафік і далі йде на ту саму адресу, в той самий час, приблизно в тих самих обсягах. Час і розмір залишаються спостережуваними, а IP-адреса призначення ніколи не була частиною того, що шифрує ECH.

Підтримка теж не універсальна. Не кожен клієнт, сервіс чи окреме з'єднання використовує ECH, і про його наявність не можна судити зі значка замка або з того, що ви змінили країну VPN. Для діагностики треба дивитися на рукостискання, а не на оздоблення браузера.

Що натомість змінює VPN

VPN передає закритий трафік усередині тунелю до кінцевої точки, тож найближчий до вас спостерігач бачить з'єднання з VPN, а не з пунктом призначення. Це змінює те, хто що може спостерігати, і змінює адресу, яку бачить пункт призначення. Він не шифрує нічого, що застосунок уже не зашифрував, і не приховує з'єднання від оператора VPN, який за конструкцією перебуває на шляху.

Обидва природно поєднуються: застосунок може використовувати TLS і ECH, поки тунель захищає навколишній мережевий сегмент. Жоден не визначає, що може бачити або зберігати кожна сторона, бо сторони займають різні позиції на шляху.

Де місце DNS

Незахищений DNS-запит розкриває ім'я резолверу й усім, хто спостерігає за цим шляхом, що є окремим впливом від рукостискання TLS. ECH не шифрує DNS, а VPN змінює ідентичність резолвера лише тоді, коли ви також надсилаєте запити через тунель або використовуєте зашифрований резолвер. Люди вмикають одне з трьох і припускають, що два інші наслідували.

Перевіряйте шлях резолвера окремо від шляху рукостискання. Вони відмовляють незалежно, і налаштовуються вони в різних місцях.

Як зрозуміти, на який рівень ви дивитеся

Запитайте, що виявило б спостереження. Якщо питання в тому, яке ім'я сервера було запитане, то відповідні рівні — рукостискання й резолвер. Якщо питання в тому, до якої мережі пішов трафік і хто міг бачити його в дорозі, то це тунель. Якщо питання в тому, який обліковий запис що зробив на сайті, жоден не допоможе, бо сайт і далі отримує запит і будь-яку надану вами ідентичність.

Зберігайте перевірку сертифікатів і політику DNS недоторканими, поки досліджуєте сумісність. Вимкнення перевірки, щоб тест пройшов, змінює значення результату, а не показує, що захищає ECH.

Запишіть, який рівень ви насправді ввімкнули, перш ніж додавати ще один. Більшість плутанини тут походить із припущення, що один елемент керування охоплює запит, його ім'я, його призначення та його ідентичність одночасно.

Схожі статті