Google on avastanud PSP turvalise võrguprotokolliga seotud arenguid

Google teatas andmekeskuste vahelise liikluse krüptimiseks kasutatava PSP (PSP Security Protocol) spetsifikatsioonide ja referentsrakenduse avamisest. Protokoll kasutab liikluse kapseldamise arhitektuuri, mis sarnaneb IPsec ESP-ga (Encapsulating Security Payloads) üle IP, pakkudes krüptimist, krüptograafilise terviklikkuse kontrolli ja allika autentimist. PSP juurutuskood on kirjutatud C-keeles ja levitatakse Apache 2.0 litsentsi all.

PSP eripäraks on protokolli optimeerimine, et kiirendada arvutusi ja vähendada keskprotsessori koormust, nihutades krüpteerimis- ja dekrüpteerimistoimingud võrgukaartide kõrvale (offload). Riistvaraline kiirendamine nõuab spetsiaalseid PSP-ga ühilduvaid võrgukaarte. Võrgukaartidega süsteemide jaoks, mis ei toeta PSP-d, pakutakse välja SoftPSP tarkvararakendus.

UDP-protokolli kasutatakse andmeedastuse transpordina. PSP-pakett algab IP-päisega, millele järgneb UDP-päis ja seejärel oma PSP-päis koos krüpteerimis- ja autentimisteabega. Järgmisena lisatakse algse TCP/UDP paketi sisu, mis lõpeb lõpliku PSP-plokiga koos kontrollsummaga, mis kinnitab terviklikkust. PSP päis, samuti kapseldatud paketi päis ja andmed autentitakse alati paketi identiteedi kinnitamiseks. Kapseldatud paketi andmeid saab krüpteerida, samas on võimalik valikuliselt rakendada krüptimist, jättes osa TCP päisest tühjaks (säilitades autentsuse kontrolli), et näiteks võimaldada pakettide kontrolli transiitvõrgu seadmetes.

Google on avastanud PSP turvalise võrguprotokolliga seotud arenguid

PSP ei ole seotud ühegi kindla võtmevahetusprotokolliga, pakub mitmeid pakettvormingu valikuid ja toetab erinevate krüptoalgoritmide kasutamist. Näiteks toetatakse AES-GCM-i krüptimise ja autentimise (autentimise) algoritmi ning AES-GMAC-i autentimiseks ilma tegelike andmete krüptimiseta, näiteks kui andmed ei ole väärtuslikud, kuid peate tagama, et need pole mida on edastamise ajal rikutud ja et see on õige. mis algselt saadeti.

Erinevalt tüüpilistest VPN-protokollidest kasutab PSP krüptimist üksikute võrguühenduste tasemel, mitte aga kogu sidekanalit, s.t. PSP kasutab erinevate tunneldatud UDP- ja TCP-ühenduste jaoks eraldi krüpteerimisvõtmeid. Selline lähenemine võimaldab saavutada liikluse rangema isoleerimise erinevatest rakendustest ja protsessoritest, mis on oluline, kui samas serveris töötavad erinevate kasutajate rakendused ja teenused.

Google kasutab PSP-protokolli nii enda sisekommunikatsiooni kaitsmiseks kui ka Google Cloudi klientide liikluse kaitsmiseks. Protokoll on algselt loodud töötama tõhusalt Google'i taseme infrastruktuurides ja peaks tagama krüptimise riistvaralise kiirenduse miljonite aktiivsete võrguühenduste olemasolul ja sadade tuhandete uute ühenduste loomise sekundis.

Toetatud on kaks töörežiimi: "olekuline" ja "kodakondsuseta". Olekuvaba režiimis edastatakse krüpteerimisvõtmed võrgukaardile paketi deskriptoris ja dekrüpteerimiseks eraldatakse need paketis olevast SPI (Security Parameter Index) väljast, kasutades põhivõtit (256-bitine AES, salvestatud võrgukaardi mälu ja vahetatakse iga 24 tunni järel), mis võimaldab säästa võrgukaardi mälu ja minimeerida seadme poolele salvestatud teavet krüpteeritud ühenduste oleku kohta. "Stateful" režiimis salvestatakse iga ühenduse võtmed võrgukaardile spetsiaalses tabelis, sarnaselt riistvaralise kiirenduse rakendamisega IPsecis.

Google on avastanud PSP turvalise võrguprotokolliga seotud arenguid

PSP pakub ainulaadset kombinatsiooni TLS-i ja IPsec/VPN-protokolli võimalustest. TLS sobis Google'ile ühendusepõhise turvalisuse osas, kuid ei sobinud riistvaralise kiirendamise paindlikkuse ja UDP-toe puudumise tõttu. IPsec tagas protokolli sõltumatuse ja toetas hästi riistvarakiirendust, kuid ei toetanud võtme sidumist üksikute ühenduste jaoks, oli mõeldud vaid väikese arvu loodud tunnelite jaoks ja tal oli probleeme riistvarakiirenduse skaleerimisega, kuna kogu krüpteerimisseisund salvestati mällu asuvatesse tabelitesse. võrgukaardist (näiteks 10 miljoni ühenduse haldamiseks on vaja 5 GB mälu).

PSP puhul saab teavet krüptimise oleku kohta (võtmed, initsialiseerimisvektorid, järjenumbrid jne) edastada TX-paketi deskriptoris või hostisüsteemi mälule osutava osuti kujul, ilma võrgukaardi mälu hõivamata. Google’i andmetel kulutati ettevõtte infrastruktuuris RPC-liikluse krüptimisele varem ligikaudu 0.7% arvutusvõimsusest ja suur hulk mälu. PSP kasutuselevõtt riistvaralise kiirenduse abil võimaldas seda arvu vähendada 0.2% -ni.

Allikas: opennet.ru

Lisa kommentaar