Mozilla uzņēmums paziņoja par Encrypted Client Hello (ECH) atbalsta iekļaušanu Firefox stabilajā versijā, turpinot attīstīt ESNI (Encrypted Server Name Indication) tehnoloģiju, kas paredzēta TLS sesiju parametru, piemēram, pieprasītā domēna nosaukuma, informācijas šifrēšanai. Sākotnēji kods darbam ar ECH tika pievienots Firefox 85 izlaidumā, bet tas tika atslēgts noklusējumā. Chrome ECH atbalstu sāka pakāpeniski iekļaut, sākot no Chrome 115 izlaiduma.
Tā kā, papildus savienojumam ar serveri informācijas noplūde par pieprasītajiem domēniem notiek caur DNS, lai nodrošinātu pilnīgu aizsardzību, papildus ECH ir nepieciešams izmantot DNS over HTTPS vai DNS over TLS tehnoloģiju DNS trafika šifrēšanai. Firefox neizmantos ECH, ja DNS over HTTPS nav ieslēgts iestatījumos. Pārbaudīt ECH atbalstu pārlūkā var šajā lapā.
Viens no faktoriem, kas veicināja ECH atbalsta noklusējuma aktivizēšanu Firefox, bija Cloudflare uzņēmuma atbalsta ECH iekļaušana savā satura piegādes tīklā pirms dažām dienām. Praktiskā nozīmē, tā kā dati par pieprasītajiem hostiem, izmantojot ECH, ir slēpti no analīzes, lai filtrētu un bloķētu nevēlamās vietnes, kas izmanto Cloudflare CDN, tagad būs nepieciešams bloķēt visu Cloudflare tīklu, bloķēt visus pieprasījumus ar ECH vai organizēt HTTPS uztveršanu, izmantojot nepatiesus saknes sertifikātus lietotāja sistēmā.
Sākotnēji, lai nodrošinātu vairāku HTTPS vietņu darbību vienā IP adresē, tika izmantota TLS paplašinājuma SNI tehnoloģija, kur pieprasītā hosta nosaukums tika norādīts ClientHello ziņojumā, kas tika nosūtīts pirms šifrētā sakaru kanāla izveides. Šī iezīme ļāva agrīnajā savienojuma apstrādes posmā sadalīt pieprasījumus pa virtuālajiem hostiem, bet arī ļāva interneta pakalpojumu sniedzējiem selektīvi filtrēt HTTPS trafiku un analizēt, kuras vietnes lietotājs apmeklē, kas neļāva sasniegt pilnīgu konfidencialitāti, izmantojot HTTPS.
Lai risinātu šo problēmu un novērstu informācijas noplūdi par pieprasīto vietni, vēlāk tika piedāvāta ESNI paplašinājuma ieviešana, kas īsteno datu šifrēšanu ar hosta vārdu. Ieviešanas procesā tika apstiprināts, ka ierosinātais mehānisms neaptver visus iespējamās informācijas noplūdes avotus par hostu un tā pielietojums nav pietiekams, lai nodrošinātu pilnīgu HTTPS sesiju konfidencialitāti. Īpaši – atjaunojot iepriekš izveidoto sesiju, domēna vārds atklāti joprojām tika norādīts TLS paplašinājuma PSK (Pre-Shared Key) parametru skaitā. Turklāt mēģinājumi ieviest ESNI atklāja saderības un mērogojamības problēmas, kas traucēja ESNI izplatīšanu.
Ņemot vērā ESNI identificētās nepilnības, tika izstrādāts jauns universāls mehānisms ECH, kas atļauj šifrēt jebkādu TLS paplašinājumu parametrus. Tehniski galvenā atšķirība starp ECH un ESNI ir tāda, ka vietējie lauki tiek šifrēti nevis atsevišķi, bet visa ziņojuma ClientHello. ECH paredz ClientHello sadalīšanu divos atsevišķos ziņojumos – šifrētā ziņa ClientHelloInner (SNI Inner) un nešifrētā pamata ziņa ClientHelloOuter (SNI Outer). Nešifrētajā SNI Outer tiek pārsūtīti dati, kas neietekmē konfidencialitāti, piemēram, TLS versija un izmantoto šifru saraksts, kā arī kopējais domēna vārds, kas nesakrīt ar faktisko pieprasītā domēna nosaukumu. Piemēram, visiem Cloudflare klientiem nešifrētajā SNI Outer tiek norādīta kopējā viesnīca "cloudflare-ech.com", bet faktiskais pieprasītā hosta nosaukums tiek nodots šifrētajā SNI Inner un nav pieejams analīzei.

ECH arī izmanto citu atslēgu izplatīšanas shēmu šifrēšanai – informācija par publisko atslēgu tiek pārsūtīta DNS ierakstos HTTPSSVC, nevis TXT ierakstos. Atslēgas iegūšanai un šifrēšanai tiek izmantota autentificēta beigu-pār-beigu šifrēšana, pamatojoties uz HPKE (Hybrid Public Key Encryption) mehānismu. ECH arī atbalsta drošu atslēgas atkārtotu pārsūtīšanu no servera, kas var tikt izmantota atslēgu rotācijas gadījumā. serveri un lai risinātu problēmas ar novecojušu atslēgu iegūšanu no DNS keša.
Avots: opennet.lv
