Apple, Cloudflare, Fastly ja Mozilla töötavad välja SNI krüptimise lahenduse

Turvalisus / Apple, Cloudflare, Fastly ja Mozilla töötavad välja SNI krüptimise lahenduse 5 minutit loetud

Äsja ilmusid uudised, et Apple, Cloudflare, Fastly ja Mozilla on IETF 102 Hackathonil teinud koostööd HTTPS-i serveri nime tuvastamise mehhanismi krüptimise täiustamiseks, millele viitab Cloudflare Nick Sullivani säuts. Säutlus õnnitles nelja tehnoloogiagigandi sekkumismeeskonda, öeldes 'Awesome work' ja jagades seal linkide all töötavatele serveritele aadressil esni.examp1e.net ja cloudflare-esni.com .



IETF Hackathon on platvorm, mis kutsub noori arendajaid ja tehnikahuvilisi ühinema peadega, et koostada lahendusi tehnikaga seotud probleemidele, millega tavaline kasutaja täna silmitsi seisab. Üritused on tasuta liitumiseks, kõigile avatud ja julgustavad meeskonnatööd, mitte konkurentsi. Tänavune IETF Hackathon toimus 14. märtsil Montrealisthja 15thjuulist. Kõige silmapaistvam saavutus, mis sellest välja tuleb, näib olevat transpordikihi turvalisuse (TLS) serveri nimeindikaatori (SNI) krüptimine - probleem, mis on arendajaid vaevanud viimasel kümnendil, mille Apple'i, Cloudflare, Fastly liikmed ja Mozilla on nüüd välja pakkunud lahenduse.



IETF Hackathoni üritus. IETF

Viimase pooleteise aastakümne jooksul on toimunud selge ülemaailmne nihe hüpertekstiprotokolli (HTTP) asemel transpordikihi turvaserveri nime näitamise hüpertekstiprotokolli turvaliseks (TLS SNI HTTPS). The probleem mis tõusis välja TLS SNI HTTPS-süsteemi optimeerimisest, oli häkkeril võimalus SNI-d oma eesmärgi vastaselt kasutada, et hiljem andmete dekodeerimiseks dekrüptimiseks sobitada.

Enne SNI väljatöötamist oli raske esimese virtuaalse serveriga turvalist ühendust luua sama esimese kliendi käepigistuse abil. Kui üks IP-aadress suhtles ühe serveriga, vahetasid kaks 'hellot', server saatis oma sertifikaadid, arvuti saatis oma kliendivõtme, kaks vahetatud käsku 'ChangeCipherSpec' ja siis oli ühendus loodud, kui suhtlus lõpetati. See võib kõlada lihtsalt nii, nagu seda just öeldi, kuid protsess hõlmas mitut vahetust ja vastuseid, mis suutsid saada üsna problemaatiliseks, kuna serverite arv, millega suheldakse, suureneb. Kui kõik saidid kasutasid samu sertifikaate, ei olnud see eriline probleem, kuid kahjuks juhtus seda harva. Kui mitu saiti saatsid erinevaid sertifikaate edasi-tagasi, oli serveril keeruline kindlaks teha, millist sertifikaati arvuti otsis, ja keerulises teabevahetusveebis oli keeruline tuvastada, kes mida ja millal saatis, lõpetades seeläbi kogu tegevuse hoiatussõnumiga.



Seejärel võeti TLS SNI kasutusele 2003. aasta juunis IETF-i tippkohtumise kaudu ja selle eesmärk oli mõnes mõttes luua nimesildid vahetusveebiga seotud arvutitele ja teenustele. See muutis serveri ja kliendi vahetusprotsessi palju sirgemaks, kuna server suutis pakkuda täpseid vajalikke sertifikaate ja neil kahel oli võimalus oma vestlus vahetada, ilma et nad oleksid segaduses, kes mida ütles. See on natuke nagu vestluste kontaktnimede olemasolu ja segadusse sattumine sõnumite päritolu osas ning võimalus vastata igale päringule õigesti, esitades õiged dokumendid igale arvutile, kus seda vaja on. See SNI määratlus on just see, mis põhjustas selle vahetusprotsessi optimeerimise meetodi suurima probleemi.

Paljude ettevõtete võitlus HTTPS-ile üleminekul oli paljude sertifikaatide kohandamine SNI-vormingusse individuaalsete IP-aadressidega, et täita iga sertifikaadi taotlusi. See, mida TLS nende jaoks tegi, lihtsustas sertifikaatide loomist sellistele päringutele vastamiseks ja mida SNI tegi veelgi, eemaldas vajaduse individuaalsete spetsiaalsete sertifikaatide IP-aadresside järele, visates terve identifitseerimissüsteemi kogu Interneti-võrku. Sajandi versiooniuuendusega kaasnes asjaolu, et see võimaldas häkkeritel kasutada väljakujunenud 'kontaktinimesid' andmete edastamise jälgimiseks ja varjutamiseks ning hiljem dekrüpteerimiseks vajaliku teabe väljavõtmiseks.

Ehkki TLS lubas andmeid edasi-tagasi saata krüptitud kanalil, kusjuures SNI hoolitses selle õigesse sihtkohta jõudmise eest, pakkus viimane häkkeritele ka vahendeid veebitegevuse jälgimiseks ja selle allikaga vastendamiseks, järgides DNS-i päringuid, IP-aadresse ja andmevood. Kuigi rangemad SNI-kodeerimispõhimõtted on rakendatud DNS-i teabe edastamise kaudu ka TLS-kanali kaudu, jääb häkkeritele väike aken, et saaks seda kasutada identifitseerimisvahendina, et jälgida teavet, mida nad soovivad selle välja kaevata ja isoleerida dekrüpteerimine. Komplekssed serverid, mis tegelevad TLS-i krüpteeritud andmete suurema liiklusega, kasutavad oma serverites side edastamiseks lihttekstiga SNI-d ja see teeb häkkeritel lihtsamaks tuvastada kanalid ja infovood, mida nad soovivad jälgida. Kui häkker suudab hankida huvipakkuvate andmete SNI-teabe, saab ta seadistada käsu faux-korduse eraldi TLS-ühenduses serveriga, saates varastatud SNI-teabe ja hankides teabe, mis oli sellega seotud. Seda SNI-probleemi on varem püütud lahendada mitu korda, kuid enamik on läinud vastu SNI-i lihtsuse põhimõttele, et muuta see serverite jaoks mugavaks identifitseerimismeetodiks.

Tagasi tippkohtumise juurde, mis selle meetodi loomiseks esmakordselt töötas, on nelja tehnoloogiagigandi osalejad naasnud Montreali konverentsile, et töötada välja TLS SNI krüptimine, sest vaatamata mitme HTTPS-i kõrvalsüsteemi suuremale efektiivsusele on turvalisus endiselt murettekitav sama palju kui varem.

SNI varjamiseks TLS-is tuleb „Varjatud teenus” hoida „Fronting Service” näitusel, mida häkker võib näha. Ilma et oleks võimalik varjatud teenust otseselt jälgida, eksitab häkker varjatud varjatud maski abil, mille ta peidab lihtsas tekstis, ilma et oleks võimalik tuvastada krüpteeritud andmete edastamiseks kasutatavaid salateenuse parameetreid. Kuna vaatleja jälgib esiplaani teenuse jälgi, eemaldatakse andmed vaadeldavast kanalist, kuna see suunatakse kavandatud varjatud teenusesse, kus häkker on oma jälje kaotanud. Kuna server puutub kokku ka esiteenusega, kui andmed sinna suunduvad, saadetakse esiplaanile teine ​​paralleelne SNI-signaal, mis suunab andmed peidetud teenuse suunas ja selles suunas muutub protsess, häkker serveri veebi kaduma minna. See topeltpiletite mehhanism on edasi arendatud kombineeritud piletiks sama SNI all. Kui üks andmestik saadetakse serverisse, tekitavad andmed koostööd tegeva SNI ümberdirektori ja mõlemad töötavad koos TLS-i krüpteeritud andmete viimisega sinna, kuhu nad peavad minema. Kui häkker ei suuda murda randomiseeritud esiplaaniteenust, mis hõlmab mõlemat SNI rada, ei saa häkker andmete jälgi jälgida, kuid server suudab siiski need kaks ühendada ja varjatud teenuse andmete lõplikuks asukohaks dekrüpteerida. See võimaldab serveritel jätkata SNI kasutamist, et optimeerida oma andmeedastust TLS-krüpteerimisel, tagades samal ajal, et häkkerid ei saaks SNI-mehhanismi ära kasutada.