Apple, Cloudflare, Fastly i Mozilla osmisljuju rješenje za šifriranje SNI

Sigurnost / Apple, Cloudflare, Fastly i Mozilla osmisljuju rješenje za šifriranje SNI 5 minuta čitanja

Upravo su se pojavile vijesti da Apple, Cloudflare, Fastly i Mozilla surađuju na poboljšanju šifriranja mehanizma za identifikaciju imena poslužitelja HTTPS-a na IETF 102 Hackathonu, kako je naznačeno u tweetu od Cloudflare-ovog Nicka Sullivana. Tweet je čestitao miks timu od četiri tehnološka diva rekavši 'Awesome work' i podijelivši ga pod vezama do radnih poslužitelja na esni.examp1e.net i cloudflare-esni.com .



IETF Hackathon je platforma koja poziva mlade programere i tehnološke entuzijaste da se pridruže izradi rješenja za tehnološka pitanja s kojima se danas suočava zajednički korisnik. Događaji se mogu besplatno pridružiti, otvoreni za sve i potiču timski rad za razliku od natjecanja. Ovogodišnji IETF Hackathon održan je u Montrealu 14thi 15thsrpnja. Čini se da je najistaknutije postignuće koje je iz toga izašlo šifriranje oznake naziva poslužitelja (TLS) Transport Layer Security (TNI), problema koji muči razvojne programere u posljednjem desetljeću, a koji članovi Apple, Cloudflare, Fastly , i Mozilla su sada predložili rješenje za.



IETF Hackathon događaj. IETF

U posljednjem desetljeću i pol dogodio se jasan globalni pomak s protokola za prijenos hiperteksta (HTTP) na oznaku naziva sigurnosnog poslužitelja transportnog sloja (TLS SNI HTTPS). The problem koja je proizašla iz optimizacije TLS SNI HTTPS sustava bila je sposobnost hakera da koristi SNI protiv svoje svrhe kako bi uskladio prijenos podataka za dešifriranje kasnije.

Prije razvoja SNI-a bilo je teško uspostaviti sigurne veze s više virtualnih poslužitelja koristeći isto prvo rukovanje klijenta. Kada je jedna IP adresa stupila u interakciju s jednim poslužiteljem, njih su dvije razmijenile 'zdravo', poslužitelj je poslao svoje certifikate, računalo je poslalo svoj klijentski ključ, dvije su razmijenile naredbe 'ChangeCipherSpec', a zatim je interakcija završena kako je veza uspostavljena. Ovo možda zvuči lako onako kako je upravo rečeno, ali postupak je uključivao više razmjena i odgovora koji su lako mogli postati prilično problematični jer se povećavao broj poslužitelja s kojima se komunicira. Ako su sve web stranice upotrebljavale iste certifikate, to onda nije bio veliki problem, ali nažalost to je rijetko bio slučaj. Kad je više web lokacija slalo razne potvrde naprijed-natrag, poslužitelju je bilo teško odrediti koji certifikat računalo traži i u složenoj mreži razmjena postalo je teško identificirati tko je što i kada poslao, čime je prekinuta cijela aktivnost s porukom upozorenja.



TLS SNI tada je predstavljen u lipnju 2003. godine na summitu IETF-a, a svrha koju je služio, u određenom smislu, bila je stvaranje oznaka s imenima za računala i usluge uključene u mrežu za razmjenu. To je učinilo postupak razmjene hello razmjene poslužitelj-klijent mnogo jednostavnijim jer je poslužitelj uspio pružiti točne potrebne certifikate, a njih dvoje su imali mogućnost vlastite razmjene razgovora bez zbunjenosti oko toga što je tko rekao. To je slično kao da imate imena kontakata za razgovore i da se ne zbunite odakle poruke dolaze, a također možete na odgovarajući način odgovoriti na svaki upit pružajući prave dokumente kojem god računalu to potrebno. Ova definicija SNI-a upravo je ono što je izazvalo najveći problem s ovom metodom optimizacije procesa razmjene.

Mnoge su se tvrtke suočile prilikom prelaska na HTTPS bila je prilagodba mnogih certifikata SNI formatu s pojedinačnim IP adresama kako bi izvršile zahtjeve za svaki certifikat. Ono što je TLS za njih učinio bilo je pojednostaviti generiranje certifikata da odgovore na takve zahtjeve, a ono što je SNI učinio još više bilo je uklanjanje potrebe za individualiziranim IP adresama namjenskih certifikata ubacivanjem cijelog sustava identifikacije u cijelu mrežu interneta. Ono što je došlo s nadogradnjom stoljeća bila je činjenica da je hakerima omogućilo da koriste utvrđena 'imena kontakata' za nadgledanje i sjenčanje prijenosa podataka i izdvajanje informacija koje su im potrebne za dešifriranje u kasnijoj fazi.

Iako je TLS dopuštao slanje podataka naprijed-natrag u šifriranom kanalu, a SNI je osiguravao da stignu na točno odredište, potonji je također omogućio hakerima nadzor mrežne aktivnosti i njihovo usklađivanje s izvorom prateći DNS zahtjeve, IP adrese i protoci podataka. Iako su strože politike kodiranja SNI provedene i propuštanjem DNS informacija kroz TLS kanal, mali prozor ostaje za hakere da to mogu koristiti kao sredstvo identifikacije kako bi slijedili informaciju koju bi željeli izvući i izolirati za dešifriranje. Složeni poslužitelji koji se bave većim prometom TLS šifriranih podataka koriste obični tekst SNI za slanje komunikacije na svojim poslužiteljima, a to je ono što hakerima olakšava prepoznavanje kanala i tokova informacija koje žele slijediti. Jednom kad haker uspije izvući SNI informacije o podacima koji nas zanimaju, on / ona može postaviti lažno ponavljanje naredbe u zasebnoj TLS vezi s poslužiteljem, šaljući ukradene SNI informacije i dohvaćajući informacije koje bio povezan s tim. U prošlosti je bilo nekoliko pokušaja rješavanja ovog problema sa SNI-om, ali većina se protivila principu jednostavnosti na kojem SNI djeluje kako bi ga učinili prikladnom metodom identifikacije za poslužitelje.

Povratak na summit koji je prvi radio na uspostavljanju ove metode, sudionici četiri tehnološka diva vratili su se na konferenciju u Montrealu kako bi razvili šifriranje za TLS SNI, jer unatoč većoj učinkovitosti u više susjednih HTTPS sustava, sigurnost i dalje ostaje zabrinutost samo koliko i prije.

Da bi se sakrio SNI u TLS-u, 'Skriveni servis' mora se držati u emisiji 'Fronting Service' koji haker može vidjeti. Bez mogućnosti izravnog promatranja skrivene usluge, haker će biti pogrešno vođen krinkom koja se skriva u običnom tekstu, a da neće moći identificirati osnovne parametre tajne službe koji se koriste za prijenos šifriranih podataka. Kako promatrač slijedi trag prednje službe, podaci će se uklanjati s promatranog kanala jer se preusmjeravaju na predviđenu skrivenu uslugu, u kojem će trenutku haker izgubiti svoj trag. Budući da će i poslužitelj biti izložen prednjoj usluzi, dok se podaci tamo probijaju, drugi paralelni SNI signal poslat će se prednjoj službi za preusmjeravanje podataka prema skrivenoj usluzi i u tom smjeru mijenjajući proces, haker će biti izgubljeni u mreži servera. Ovaj mehanizam dvostrukih karata dalje se razvija u kombiniranu kartu pod istim SNI. Kako se jedan dio podataka šalje na poslužitelj, podaci stvaraju suradnika SNI-ovog redirektora i njih dvoje rade zajedno kako bi TLS dobili šifrirane podatke tamo gdje trebaju ići. Bez mogućnosti razbijanja nasumične usluge usmjeravanja koja pokriva obje SNI staze, haker neće moći slijediti trag podataka, ali poslužitelj će ih svejedno moći povezati i dešifrirati skrivenu uslugu kao krajnju lokaciju podataka. To omogućuje poslužiteljima da nastave koristiti SNI za optimizaciju prijenosa podataka u TLS šifriranju, istovremeno osiguravajući da hakeri ne mogu iskoristiti SNI mehanizam.