Mozilla нь ESNI (Шифрлэгдсэн серверийн нэрийн заалт) технологийг үргэлжлүүлэн хөгжүүлж, TLS сессийн параметрүүдийн талаарх мэдээллийг шифрлэхэд зориулагдсан ECH (Encrypted Client Hello) механизмд Firefox-ийн тогтвортой салбарын хэрэглэгчдэд зориулсан дэмжлэгийг оруулснаа зарлалаа. , тухайлбал хүссэн домэйн нэр. ECH-тэй ажиллах кодыг анх Firefox 85 хувилбарт нэмсэн боловч анхдагч байдлаар идэвхгүй болгосон. Chrome нь Chrome 115 хувилбарыг гаргаснаас хойш аажмаар ECH дэмжлэгийг оруулж эхэлсэн.
Холбогдохоос гадна сервер Хүссэн домэйны мэдээлэл DNS-ээр дамжин алдагдсан байна. Бүрэн хамгаалалтын тулд ECH-ээс гадна DNS урсгалыг шифрлэхийн тулд HTTPS дээрх DNS эсвэл TLS дээрх DNS ашиглах шаардлагатай. Firefox нь тохиргоонд HTTPS дээрх DNS-ийг идэвхжүүлэхгүйгээр ECH ашиглахгүй. Та энэ хуудсан дээрх хөтөч дээрээ ECH дэмжлэгийг шалгаж болно.
Firefox дээр анхдагчаар ECH дэмжлэгийг идэвхжүүлсэн нэг хүчин зүйл бол Cloudflare хэдхэн хоногийн өмнө контент хүргэх сүлжээндээ ECH дэмжлэгийг оруулсан явдал юм. Практик талаас нь авч үзвэл, ECH ашиглах үед хүссэн хостуудын талаарх мэдээлэл дүн шинжилгээ хийхээс нуугдаж байгаа тул Cloudflare CDN ашиглан хүсээгүй сайтуудыг шүүж, хаах нь одоо Cloudflare сүлжээг бүхэлд нь хаах, ECH-ээс ирсэн бүх хүсэлтийг хаах, эсвэл хуурамч эх сертификат ашиглан HTTPS таслах ажиллагааг зохион байгуулах шаардлагатай болно. хэрэглэгчийн систем дээр.
Эхлээд хэд хэдэн HTTPS сайтуудын нэг IP хаяг дээр ажлыг зохион байгуулахын тулд TLS өргөтгөл SNI ашигласан бөгөөд үүнд шифрлэгдсэн холбооны суваг үүсгэхээс өмнө дамжуулсан ClientHello мессежэнд хүссэн хостын нэрийг зааж өгсөн болно. Энэ функц нь холболтын боловсруулалтын эхний үе шатанд хүсэлтийг виртуал хостуудад түгээх боломжийг олгосон боловч ISP талд HTTPS траффикийг сонгон шүүж, хэрэглэгч аль сайтыг нээж байгааг шинжлэх боломжийг олгосон бөгөөд энэ нь ашиглах үед бүрэн нууцлалыг хангах боломжийг олгодоггүй. HTTPS.
Энэ асуудлыг шийдэж, хүссэн сайтын талаарх мэдээлэл алдагдахаас урьдчилан сэргийлэхийн тулд дараа нь хостын нэрээр өгөгдөл шифрлэх ESNI өргөтгөлийг санал болгосон. ESNI-ийг хэрэгжүүлэх явцад санал болгож буй механизм нь хостын өгөгдөл алдагдах бүх эх үүсвэрийг хамарч чадахгүй байгаа бөгөөд түүний ашиглалт нь HTTPS сессийн бүрэн нууцлалыг хангахад хангалтгүй юм. Ялангуяа өмнө нь үүсгэсэн сессийг үргэлжлүүлэх үед PSK (Урьдчилан Хуваалцсан Түлхүүр) TLS өргөтгөлийн параметрүүдийн дунд тодорхой текстээр домэйн нэрийг үргэлжлүүлэн зааж өгсөн. Нэмж дурдахад, ESNI-г хэрэгжүүлэх хүчин чармайлт нь ESNI-г өргөнөөр нэвтрүүлэхэд саад болж байсан нийцтэй байдал, масштабын асуудлыг тодорхойлсон.
ESNI-ийн тодорхойлсон дутагдлуудыг харгалзан аливаа TLS өргөтгөлийн параметрүүдийг шифрлэх боломжийг олгодог бүх нийтийн ECH шинэ механизмыг боловсруулсан. Техникийн хувьд ECH болон ESNI-ийн гол ялгаа нь тусдаа талбаруудын оронд ClientHello мессежийг бүхэлд нь нэг дор шифрлэдэгт оршино. ECH нь ClientHello-г шифрлэгдсэн ClientHelloInner мессеж (SNI Inner) болон шифрлэгдээгүй үндсэн ClientHelloOuter мессеж (SNI Outer) гэсэн хоёр тусдаа мессеж болгон хуваах явдал юм. Шифрлэгдээгүй SNI Outer нь TLS хувилбар, ашигласан шифрүүдийн жагсаалт гэх мэт нууцлалгүй өгөгдөл, мөн хүссэн домэйны бодит нэртэй давхцдаггүй нийтлэг домэйн нэрийг агуулдаг. Жишээлбэл, бүх Cloudflare үйлчлүүлэгчдийн хувьд шифрлэгдээгүй SNI Outer нь "cloudflare-ech.com" гэсэн нийтлэг хостыг зааж өгдөг боловч хүссэн хостын жинхэнэ нэр нь шифрлэгдсэн SNI Inner-д дамждаг бөгөөд дүн шинжилгээ хийх боломжгүй.

ECH нь мөн өөр шифрлэлтийн түлхүүрийн тархалтын схемийг ашигладаг: нийтийн түлхүүрийн мэдээллийг TXT бичлэгийн оронд HTTPSSVC DNS бичлэгээр дамжуулдаг. Түлхүүрийг олж авах, шифрлэхэд HPKE (Hybrid Public Key Encryption) механизм дээр суурилсан баталгаажсан төгсгөл хоорондын шифрлэлтийг ашигладаг. ECH нь мөн түлхүүрийг эргүүлэх тохиолдолд ашиглаж болох серверээс аюулгүй түлхүүрийг дахин дамжуулахыг дэмждэг. сервер мөн DNS кэшээс хуучирсан түлхүүрүүдийг авахтай холбоотой асуудлыг шийдвэрлэх.
Эх сурвалж: opennet.ru
