Google a descoperit evoluții legate de protocolul de rețea securizată PSP

Google a anunțat deschiderea unor specificații și o implementare de referință a PSP (PSP Security Protocol), folosit pentru a cripta traficul dintre centrele de date. Protocolul folosește o arhitectură de încapsulare a traficului similară cu IPsec ESP (Encapsulating Security Payloads) prin IP, oferind criptare, control al integrității criptografice și autentificare sursă. Codul de implementare PSP este scris în C și distribuit sub licența Apache 2.0.

O caracteristică a PSP este optimizarea protocolului pentru a accelera calculele și a reduce sarcina procesorului central prin mutarea operațiunilor de criptare și decriptare pe partea plăcilor de rețea (offload). Accelerarea hardware necesită plăci de rețea speciale compatibile cu PSP. Pentru sistemele cu plăci de rețea care nu acceptă PSP, se propune o implementare software a SoftPSP.

Protocolul UDP este utilizat ca transport pentru transferul de date. Un pachet PSP începe cu un antet IP, urmat de un antet UDP și apoi propriul antet PSP cu informații de criptare și autentificare. Apoi, conținutul pachetului original TCP/UDP este atașat, care se termină cu un bloc PSP final cu o sumă de verificare pentru a confirma integritatea. Antetul PSP, precum și antetul și datele pachetului încapsulat, sunt întotdeauna autentificate pentru a confirma identitatea pachetului. Datele pachetului încapsulat pot fi criptate, în timp ce este posibil să se aplice selectiv criptarea lăsând o parte din antetul TCP în clar (în timp ce se menține controlul autenticității), de exemplu, pentru a oferi capacitatea de a inspecta pachetele pe echipamentele rețelei de tranzit.

Google a descoperit evoluții legate de protocolul de rețea securizată PSP

PSP nu este legat de niciun protocol specific de schimb de chei, oferă mai multe opțiuni de format de pachet și acceptă utilizarea diferiților algoritmi criptografici. De exemplu, se oferă suport pentru algoritmul AES-GCM pentru criptare și autentificare (autentificare) și AES-GMAC pentru autentificare fără criptarea datelor reale, de exemplu atunci când datele nu sunt valoroase, dar trebuie să vă asigurați că nu au au fost manipulate în timpul transmiterii și că este cea corectă.care au fost trimise inițial.

Spre deosebire de protocoalele VPN obișnuite, PSP utilizează criptarea la nivelul conexiunilor individuale de rețea, și nu întregul canal de comunicație, de exemplu. PSP utilizează chei de criptare separate pentru diferite conexiuni UDP și TCP tunelizate. Această abordare face posibilă o izolare mai strictă a traficului de la diferite aplicații și procesoare, ceea ce este important atunci când aplicațiile și serviciile diferiților utilizatori rulează pe același server.

Google folosește protocolul PSP atât pentru a-și proteja propriile comunicații interne, cât și pentru a proteja traficul clienților Google Cloud. Protocolul este conceput inițial pentru a funcționa eficient în infrastructurile la nivel de Google și ar trebui să ofere accelerare hardware a criptării în prezența a milioane de conexiuni de rețea active și stabilirea a sute de mii de conexiuni noi pe secundă.

Sunt acceptate două moduri de operare: „stateful” și „stateless”. În modul „stateless”, cheile de criptare sunt transmise pe placa de rețea în descriptorul de pachete, iar pentru decriptare sunt extrase din câmpul SPI (Security Parameter Index) prezent în pachet folosind o cheie principală (AES de 256 de biți, stocată în memoria cardului de rețea și înlocuită la fiecare 24 de ore), ceea ce vă permite să economisiți memoria cardului de rețea și să minimizați informațiile despre starea conexiunilor criptate stocate pe partea echipamentului. În modul „stateful”, cheile pentru fiecare conexiune sunt stocate pe placa de rețea într-un tabel special, similar modului în care este implementată accelerarea hardware în IPsec.

Google a descoperit evoluții legate de protocolul de rețea securizată PSP

PSP oferă o combinație unică de capabilități de protocol TLS și IPsec/VPN. TLS era potrivit pentru Google în ceea ce privește securitatea per conexiune, dar nu era potrivit din cauza lipsei de flexibilitate pentru accelerarea hardware și a lipsei suportului UDP. IPsec a oferit independență de protocol și a acceptat bine accelerarea hardware, dar nu a acceptat legarea cheilor la conexiuni individuale, a fost proiectat doar pentru un număr mic de tuneluri create și a avut probleme la scalarea accelerației hardware din cauza stocării stării complete de criptare în tabele situate în memorie. a cardului de rețea (de exemplu, sunt necesari 10 GB de memorie pentru a gestiona 5 milioane de conexiuni).

În cazul PSP, informațiile despre starea de criptare (chei, vectori de inițializare, numere de secvență etc.) pot fi transmise în descriptorul de pachet TX sau sub forma unui pointer către memoria sistemului gazdă, fără a ocupa memoria cardului de rețea. Potrivit Google, aproximativ 0.7% din puterea de calcul și o cantitate mare de memorie au fost cheltuite anterior pentru criptarea traficului RPC în infrastructura companiei. Introducerea PSP prin utilizarea accelerației hardware a făcut posibilă reducerea acestei cifre la 0.2%.

Sursa: opennet.ru

Adauga un comentariu