„Apple“, „Cloudflare“, „Fastly“ ir „Mozilla“ sukuria SNI šifravimo sprendimą

Saugumas / „Apple“, „Cloudflare“, „Fastly“ ir „Mozilla“ sukuria SNI šifravimo sprendimą 5 minutes perskaityta

Ką tik pasirodė naujienos, kad „Apple“, „Cloudflare“, „Fastly“ ir „Mozilla“ bendradarbiaudamos patobulino HTTPS serverio vardo identifikavimo mechanizmo šifravimą IETF 102 „Hackathon“, kaip rodo „Cloudflare“ Nicko Sullivano tweetas. Tviteris pasveikino keturių technologijų gigantų grupę, sakydamas „nuostabus darbas“ ir pasidalindamas joje nuorodomis į veikiančius serverius esni.examp1e.net ir cloudflare-esni.com .



„IETF Hackathon“ yra platforma, kviečianti jaunus kūrėjus ir technologijų entuziastus susivienyti rengiant su technologijomis susijusių problemų sprendimus, su kuriais šiandien susiduria įprastas vartotojas. Į renginius galima prisijungti nemokamai, jie yra atviri visiems ir skatina komandinį darbą, o ne konkurenciją. Šių metų IETF hakatonas vyko Monrealyje 14 dtūkstir 15tūkstliepos mėn. Panašu, kad svarbiausias pasiekimas yra „Transport Layer Security“ (TLS) serverio vardo (SNI) šifravimas - problema, kuri pastarąjį dešimtmetį kankino kūrėjus, kurią „Apple“, „Cloudflare“, „Fastly“ nariai ir „Mozilla“ dabar pasiūlė sprendimą.



IETF hakatono renginys. IETF

Per pastarąjį pusantro dešimtmečio aiškus pasaulinis perėjimas nuo „Hyper Text Transfer Protocol“ (HTTP) prie „Transport Layer Security Server Server Name Name Indication Hyper Text Transfer Protocol Secure“ (TLS SNI HTTPS) yra saugus. The problema optimizavus TLS SNI HTTPS sistemą, įsilaužėlis sugebėjo naudoti SNI pagal savo paskirtį, kad vėliau būtų galima suderinti duomenų perdavimą iššifravimui.

Prieš kuriant SNI, buvo sunku užmegzti saugius ryšius su keliais virtualiais serveriais naudojant tą patį pirmojo kliento paspaudimą. Kai vienas IP adresas sąveikauja su vienu serveriu, abu pasikeitė „hellos“, serveris atsiuntė savo sertifikatus, kompiuteris išsiuntė savo kliento raktą, dvi apsikeitė „ChangeCipherSpec“ komandomis ir tada sąveika buvo baigta, kai buvo užmegztas ryšys. Tai gali skambėti lengvai, kaip ką tik pasakyta, tačiau procesas apėmė kelis mainus ir atsakymus, kurie lengvai pavyko tapti gana problematiški, nes padidėjo serverių, su kuriais bendraujama, skaičius. Jei visose svetainėse buvo naudojami tie patys sertifikatai, tai nebuvo didelė problema, tačiau, deja, taip nutiko retai. Kai kelios svetainės siuntė įvairius sertifikatus pirmyn ir atgal, serveriui buvo sunku nustatyti, kurio sertifikato ieško kompiuteris, ir sudėtingame mainų tinkle tapo sunku nustatyti, kas ką ir kada siuntė, taip nutraukdamas visą veiklą su įspėjamuoju pranešimu.



Tada TLS SNI buvo pristatytas 2003 m. Birželio mėn. Per IETF viršūnių susitikimą, kurio tikslas tam tikra prasme buvo sukurti kompiuterių ir tarnybų, dalyvaujančių mainų tinkle, vardų žymas. Tai padėjo serverio ir kliento apsikeitimo procesą atlikti daug paprasčiau, nes serveris sugebėjo pateikti tikslius sertifikatus, kurių reikia, o abu galėjo turėti savo pokalbį, nesupainiodami, kas ką pasakė. Tai šiek tiek panašu į tai, kad turite kontaktų vardus pokalbiams ir nesupainiojate, iš kur gaunami pranešimai, taip pat sugebame tinkamai atsakyti į kiekvieną užklausą, pateikdami reikiamus dokumentus tam kompiuteriui, kuriam to reikia. Šis SNI apibrėžimas yra būtent tai, kas sukėlė didžiausią šio keitimo proceso optimizavimo metodo problemą.

Daugelio firmų kova, pereinant prie HTTPS, buvo daugelio sertifikatų pritaikymas SNI formatui su individualiais IP adresais, kad būtų įvykdytos kiekvieno sertifikato užklausos. Tai, ką TLS padarė jiems, buvo paprasčiau sugeneruoti sertifikatus, kad būtų galima atsakyti į tokius prašymus, o tai, ką SNI dar labiau padarė, pašalino individualizuotų specialių sertifikatų IP adresų poreikį, išmesdama visą identifikavimo sistemą visame interneto tinkle. Šimtmečio atnaujinimas buvo faktas, kad tai leido įsilaužėliams naudoti nustatytus „kontaktinius vardus“, kad būtų galima stebėti ir aptemdyti duomenų perdavimą ir išskleisti informaciją, kurios reikia iššifruoti vėliau.

Nors TLS leido siųsti duomenis pirmyn ir atgal užšifruotu kanalu, SNI užtikrindamas, kad jie pasiektų teisingą tikslą, pastarieji taip pat suteikė įsilaužėliams priemonių stebėti internetinę veiklą ir suderinti ją su savo šaltiniu sekant DNS užklausas, IP adresus. ir duomenų srautus. Nors griežtesnė SNI kodavimo politika buvo įgyvendinta perduodant DNS informaciją ir TLS kanalu, įsilaužėliams lieka nedidelis langas, kad galėtų tai naudoti kaip identifikavimo priemonę sekti informaciją, kurią jie norėtų išskirti ir izoliuoti iššifravimas. Kompleksiniai serveriai, tvarkantys didesnį TLS šifruotų duomenų srautą, naudoja paprasto teksto SNI, kad perduotų ryšį aplink savo serverius, ir tai leidžia įsilaužėliams lengviau nustatyti norimus stebėti kanalus ir informacijos srautus. Kai įsilaužėlis sugeba išgauti dominančių duomenų SNI informaciją, jis / ji gali nustatyti netikro komandos atkūrimą atskirame TLS ryšyje su serveriu, išsiųsdamas pavogtą SNI informaciją ir atkurdamas informaciją, kuri buvo su juo susijęs. Anksčiau buvo keletas bandymų išspręsti šią SNI problemą, tačiau dauguma jų prieštaravo paprastumo principui, kurį SNI ​​taiko patogiam serverių identifikavimo metodui.

Grįžę prie aukščiausiojo lygio susitikimo, kuriame pirmą kartą buvo siekiama nustatyti šį metodą, dalyviai iš keturių technologijų gigantų grįžo į konferenciją Monrealyje, kurdami TLS SNI šifravimą, nes, nepaisant didesnio efektyvumo gretimoje HTTPS sistemoje, saugumas vis dar kelia susirūpinimą tiek pat, kiek ir anksčiau.

Norint nuslėpti SNI TLS, „Paslėpta tarnyba“ turi būti laikoma „Fronting Service“ parodoje, kurią gali matyti įsilaužėlis. Negalėdamas tiesiogiai stebėti paslėptos paslaugos, įsilaužėlis bus klaidingas dėl priekinio užmasko, kurį jis slepia paprastu tekstu, negalėdamas nustatyti pagrindinių slaptųjų tarnybų parametrų, naudojamų šifruotiems duomenims perduoti. Stebėtojui sekant frontavimo paslaugos pėdsaką, duomenys bus pašalinti iš stebimo kanalo, kai jie bus nukreipti į numatytą paslėptą tarnybą, kurioje įsilaužėlis bus praradęs savo kelią. Kadangi serveris taip pat bus veikiamas frontavimo paslaugos, kai duomenys ten pateks, antrasis lygiagretus SNI signalas bus siunčiamas fronting tarnybai, kad duomenys būtų nukreipti į paslėptą paslaugą ir šia kryptimi keičiantis procesas, įsilaužėlis pasiklysti serverio žiniatinklyje. Šis dvigubų bilietų mechanizmas toliau plėtojamas į kombinuotą bilietą pagal tą patį SNI. Kai vienas duomenų elementas siunčiamas į serverį, duomenys sukuria bendradarbiaujantį SNI ​​pertvarkytoją ir abu dirba kartu su TLS užšifruotais duomenimis ten, kur reikia. Negalėdamas nulaužti atsitiktinės atrankos paslaugos, apimančios abu SNI takelius, įsilaužėlis negalės sekti duomenų pėdsakų, tačiau serveris vis tiek galės sujungti abu ir iššifruoti paslėptą paslaugą kaip galutinę duomenų vietą. Tai leidžia serveriams toliau naudoti SNI, kad būtų optimizuotas duomenų perdavimas TLS šifravimo metu, tuo pačiu užtikrinant, kad įsilaužėliai negalėtų pasinaudoti SNI mechanizmo pranašumais.