Spoločnosť Mozilla oznámila zavedenie podpory mechanizmu ECH (Encrypted Client Hello) pre používateľov stabilnej verzie Firefox, ktorý pokračuje v rozvoji technológie ESNI (Encrypted Server Name Indication) a je určený na šifrovanie informácií o parametroch TLS relácií, ako je požadované doménové meno. Kód pre prácu s ECH bol pôvodne pridaný do verzie Firefox 85, avšak bol predvolene vypnutý. V Chrome začali s postupným zapínaním podpory ECH od verzie Chrome 115.
Keďže okrem pripojenia s serverom únik informácií o požadovaných doménach nastáva cez DNS, pre komplexnú ochranu je okrem ECH potrebné aj použitie technológie DNS over HTTPS alebo DNS over TLS na šifrovanie DNS prevádzky. Firefox nebude používať ECH bez zapnutia DNS over HTTPS v nastaveniach. Skontrolovať podporu ECH v prehliadači môžete na tejto stránke.
Jedným z faktorov, ktoré viedli k predvolenému zapnutiu podpory ECH vo Firefoxe, bolo nedávne zapnutie podpory ECH v sieti Cloudflare na doručovanie obsahu. Z praktického hľadiska, keďže údaje o požadovaných hostiteľoch sú pri použití ECH skryté pred analýzou, pre filtrovanie a blokovanie nežiaducich stránok, ktoré používajú Cloudflare CDN, bude teraz potrebné blokovať celú sieť Cloudflare, blokovať všetky požiadavky s ECH alebo organizovať zachytávanie HTTPS pomocou podvodných koreňových certifikátov na užívateľskom systéme.
Pôvodne na organizovanie fungovania viacerých HTTPS stránok na jednej IP adrese sa používalo TLS rozšírenie SNI, pri ktorom bolo meno požadovaného hostiteľa uvedené v správe ClientHello, ktorá bola odoslaná pred ustanovením šifrovaného kanála. Táto vlastnosť umožnila na ranných fázach spracovania spojenia distribuovať požiadavky medzi virtuálnymi hosťami, ale tiež umožnila internetovému poskytovateľovi selektívne filtrovať HTTPS prevádzku a analyzovať, aké stránky používateľ navštevuje, čo neumožnilo dosiahnuť plnú dôvernosť pri použití HTTPS.
Na riešenie tohto problému a vylúčenie úniku údajov o požadovanej stránke sa neskôr navrhlo rozšírenie ESNI, ktoré realizuje šifrovanie údajov s názvom hostiteľa. Počas zavádzania ESNI sa zistilo, že navrhnutý mechanizmus neobsahuje všetky možné zdroje úniku údajov o hostiteľovi a jeho aplikácia nie je dostatočná na zabezpečenie úplnej dôvernosti relácií HTTPS. Konkrétne pri obnovení predtým ustanovenej relácie sa názov domény v otvorenej forme naďalej uvádzal medzi parametrami TLS rozšírenia PSK (Pre-Shared Key). Okrem toho pokusy o zavedenie ESNI odhalili problémy s kompatibilitou a škálovaním, ktoré bránili všeobecnému rozšíreniu ESNI.
S ohľadom na zistené nedostatky ESNI bol vyvinutý nový univerzálny mechanizmus ECH, ktorý umožňuje šifrovanie parametrov akýchkoľvek TLS rozšírení. Technicky hlavný rozdiel medzi ECH a ESNI spočíva v tom, že namiesto samostatných polí sa šifruje celé hlásenie ClientHello. ECH predpokladá rozdelenie ClientHello na dve samostatné hlásenia — šifrované hlásenie ClientHelloInner (SNI Inner) a nezaheslované základné hlásenie ClientHelloOuter (SNI Outer). V nezaheslovanom SNI Outer sa prenášajú nezahŕňajúce dôvernosť údaje, ako verzia TLS a zoznam použitých šifrov, ako aj spoločný názov domény, ktorý sa neprekrýva s faktickým názvom požadovanej domény. Napríklad pre všetkých klientov Cloudflare v nezaheslovanom SNI Outer je uvedený spoločný host „cloudflare-ech.com“, zatiaľ čo faktický názov požadovaného hostiteľa je prenášaný v šifrovanom SNI Inner a nie je prístupný na analýzu.

ECH tiež používa inú schému distribúcie kľúča na šifrovanie — informácie o verejnom kľúči sa prenášajú v DNS záznamoch HTTPSSVC, a nie v záznamoch typu TXT. Na získanie a šifrovanie kľúča sa používa autentifikované koncové šifrovanie na základe mechanizmu HPKE (Hybrid Public Key Encryption). ECH tiež podporuje bezpečné opätovné prenosy kľúča zo servera, čo môže byť použité v prípade rotácie kľúčov. serveri a na vyriešenie problémov pri získavaní zastaraných kľúčov z cache DNS.
Zdroj: opennet.ru
