Apple, Cloudflare, Fastly in Mozilla oblikujejo rešitev za šifriranje SNI

Varnost / Apple, Cloudflare, Fastly in Mozilla oblikujejo rešitev za šifriranje SNI 5 minut branja

Pravkar so se pojavile novice, da Apple, Cloudflare, Fastly in Mozilla sodelujejo pri izboljšanju šifriranja mehanizma za identifikacijo strežniškega imena HTTPS na IETF 102 Hackathon, kot navaja tvit Nick Sullivana iz Cloudflareja. V tweetu so ekipi mešanic štirih tehnoloških velikanov čestitali z besedami 'Super delo' in tam delili povezave do delujočih strežnikov na esni.examp1e.net in cloudflare-esni.com .



IETF Hackathon je platforma, ki mlade razvijalce in tehnološke navdušence vabi, da se skupaj znajdejo pri pripravi rešitev za vprašanja, povezana s tehnologijo, s katerimi se danes srečuje običajni uporabnik. Dogodki se lahko pridružijo, odprti za vse in spodbujajo timsko delo v nasprotju s konkurenco. Letošnji IETF Hackathon je bil v Montrealu 14. dnethin 15thjulija. Zdi se, da je najpomembnejši dosežek iz njega šifriranje oznake imena strežnika Transport Layer Security (TLS) (SNI), težava, ki v zadnjem desetletju pesti razvijalce, in sicer člane Apple, Cloudflare, Fastly in Mozilla sta zdaj predlagala rešitev za.



Dogodek IETF Hackathon. IETF

V zadnjem desetletju in pol je prišlo do očitnega globalnega prehoda s protokola za prenos hiperbesedilnega protokola (HTTP) na zaščiteno ime strežnika za prometni sloj (Hyper Text Transfer Protocol Secure, TLS SNI HTTPS). The problem pri optimizaciji sistema TLS SNI HTTPS je prišlo do zmožnosti hekerja, da uporablja SNI proti svojemu namenu, da se kasneje ujema s prenosom podatkov za dešifriranje.

Pred razvojem SNI je bilo težko vzpostaviti varne povezave z več navideznimi strežniki z istim prvim odjemalskim rokovanjem. Ko je en naslov IP komuniciral z enim strežnikom, sta si izmenjala 'pozdravljeni', strežnik je poslal svoja potrdila, računalnik je poslal svoj odjemalski ključ, oba sta izmenjala ukaze 'ChangeCipherSpec' in nato je bila interakcija končana, ko je bila vzpostavljena povezava. Morda se to sliši enostavno, kot je bilo pravkar povedano, vendar je postopek vključeval več izmenjav in odzivov, ki so z lahkoto postali precej problematični, saj se je število strežnikov, s katerimi se komunicira, povečalo. Če so vsa spletna mesta uporabljala enaka potrdila, potem to ni predstavljalo velike težave, žal pa je bilo to le redko. Ko je več mest pošiljalo različna potrdila sem in tja, je strežnik težko določil, katero potrdilo je računalnik iskal, in v zapleteni mreži izmenjav je postalo težko prepoznati, kdo je kaj in kdaj poslal, s čimer je zaključil celotno dejavnost z opozorilnim sporočilom.



Nato je bil TLS SNI uveden junija 2003 na vrhu IETF, njegov namen pa je bil v nekem smislu ustvariti imenske oznake za računalnike in storitve, ki sodelujejo v spletu za izmenjavo. Zaradi tega je bil postopek izmenjave med strežnikom in odjemalcem veliko bolj neposreden, saj je strežnik lahko zagotovil natančno potrebna potrdila, oba pa sta lahko imela svojo izmenjavo pogovorov, ne da bi se zmedla, kdo je kaj rekel. Podobno je, če imate imena stikov za klepete in se ne zmedete, od kod prihajajo sporočila, pa tudi, da lahko ustrezno odgovorite na vsako poizvedbo in zagotovite prave dokumente, kateremu koli računalniku je treba. Ta definicija SNI je ravno tisto, kar je povzročilo največjo težavo pri tej metodi optimizacije procesa zamenjave.

Mnogo podjetij, s katerimi so se soočale pri prehodu na HTTPS, je bila prilagoditev številnih potrdil formatu SNI s posameznimi naslovi IP za izvajanje zahtev za vsako potrdilo. TLS je zanje poenostavil generiranje potrdil, da bi se odzval na takšne zahteve, SNI pa je še dodatno odpravil potrebo po individualiziranih namenskih naslovih IP-naslovov, tako da je v celoten internetni sistem vstavil celoten identifikacijski sistem. Z nadgradnjo stoletja je prišlo do dejstva, da je hekerjem omogočil uporabo uveljavljenih 'imen stikov' za spremljanje in prenos podatkov v senci ter pridobivanje informacij, ki jih potrebujejo za kasnejšo dešifriranje.

Čeprav je TLS dovoljeval pošiljanje podatkov naprej in nazaj po šifriranem kanalu, pri čemer je SNI zagotovil, da prispejo do pravega cilja, je slednji zagotovil tudi način za hekerje, da spremljajo spletno aktivnost in jo ujemajo z njenim izvorom, tako da sledijo zahtevam DNS, naslovom IP in podatkovni tokovi. Čeprav so bili strožji pravilniki kodiranja SNI uvedeni tudi s prenašanjem informacij DNS prek kanala TLS, ostaja majhno okno, da bi hekerji to lahko uporabili kot identifikacijsko sredstvo, da bi sledili informacijam, ki bi jih radi izvlekli in jih izolirali za dešifriranje. Kompleksni strežniki, ki se ukvarjajo z večjim prometom šifriranih podatkov TLS, uporabljajo navadni tekst SNI za pošiljanje komunikacije na svojih strežnikih, kar hekerjem olajša prepoznavanje kanalov in tokov informacij, ki jim želijo slediti. Ko heker lahko izvleče informacije SNI o podatkih, ki nas zanimajo, lahko nastavi ponarejeno predvajanje ukaza v ločeni povezavi TLS s strežnikom, pošlje ukradene informacije SNI in pridobi informacije, ki je bila povezana z njo. V preteklosti je bilo že več poskusov rešiti to težavo s SNI, vendar je večina nasprotovala načelu enostavnosti, na podlagi katere deluje SNI, da bi bila primerna metoda identifikacije za strežnike.

Nazaj na vrh, ki si je prvi prizadeval za vzpostavitev te metode, so se udeleženci štirih tehnoloških velikanov vrnili na konferenco v Montreal, da bi razvili šifriranje za TLS SNI, saj kljub večji učinkovitosti v več sosednjih sistemih HTTPS varnost še vedno ostaja skrb le toliko kot prej.

Če želite prikriti SNI v TLS, morate v oddaji 'Fronting Service', ki jo heker morda vidi, hraniti 'skrito storitev'. Ne da bi lahko neposredno opazoval skrito storitev, bo heker zgrešen pred krinko, pod katero se skriva v golem besedilu, ne da bi lahko identificiral osnovne parametre tajne službe, ki se uporabljajo za posredovanje šifriranih podatkov. Ko opazovalec sledi sledi prednje službe, bodo podatki odstranjeni iz opazovanega kanala, saj bodo preusmerjeni na predvideno skrito storitev, takrat bo heker izgubil svojo sled. Ker bo tudi strežnik izpostavljen storitvi fronting, ko se podatki tja napotijo, bo drugi strežnik poslal signal vzporednega SNI, da bo podatke preusmeril proti skriti storitvi in ​​v tej smeri spreminja postopek, heker bo izgubili v spletu strežnika. Ta mehanizem dvojnih vozovnic se nadalje razvije v kombinirano vozovnico v okviru istega SNI. Ko en del podatkov pošlje v strežnik, ti ​​ustvarijo sodelujočega SNI-jevega režiserja in oba skupaj delujeta, da dobita šifrirane podatke TLS tja, kamor morajo iti. Brez možnosti, da bi razbil naključno predano storitev, ki zajema obe poti SNI, heker ne bo mogel slediti sledi podatkov, strežnik pa bo kljub temu lahko povezal oba in dešifriral skrito storitev kot končno lokacijo podatkov. To strežnikom omogoča, da še naprej uporabljajo SNI za optimizacijo prenosa podatkov v šifriranju TLS, hkrati pa zagotavljajo, da hekerji ne morejo izkoristiti mehanizma SNI.