Google har opdaget udviklinger relateret til PSPs sikre netværksprotokol

Google har annonceret åbningen af ​​specifikationer og en referenceimplementering af PSP (PSP Security Protocol), der bruges til at kryptere trafik mellem datacentre. Protokollen bruger en trafikindkapslingsarkitektur svarende til IPsec ESP (Encapsulating Security Payloads) over IP, hvilket giver kryptering, kryptografisk integritetskontrol og kildegodkendelse. PSP-implementeringskoden er skrevet i C og distribueret under Apache 2.0-licensen.

En funktion ved PSP er optimering af protokollen for at fremskynde beregninger og reducere belastningen på den centrale processor ved at flytte krypterings- og dekrypteringsoperationer til siden af ​​netværkskort (offload). Hardwareacceleration kræver specielle PSP-kompatible netværkskort. For systemer med netværkskort, der ikke understøtter PSP, foreslås en softwareimplementering af SoftPSP.

UDP-protokollen bruges som transport til dataoverførsel. En PSP-pakke begynder med en IP-header, efterfulgt af en UDP-header og derefter sin egen PSP-header med kryptering og godkendelsesoplysninger. Derefter tilføjes indholdet af den originale TCP/UDP-pakke, der slutter med en sidste PSP-blok med en kontrolsum for at bekræfte integriteten. PSP-headeren, såvel som headeren og dataene for den indkapslede pakke, er altid autentificeret for at bekræfte pakkens identitet. Dataene i den indkapslede pakke kan krypteres, mens det er muligt selektivt at anvende kryptering, mens en del af TCP-headeren efterlades frit (og samtidig opretholde ægthedskontrol), for eksempel for at give mulighed for at inspicere pakker på transitnetværksudstyr.

Google har opdaget udviklinger relateret til PSPs sikre netværksprotokol

PSP er ikke bundet til nogen specifik nøgleudvekslingsprotokol, tilbyder flere pakkeformatmuligheder og understøtter brugen af ​​forskellige kryptografiske algoritmer. For eksempel ydes der support til AES-GCM-algoritmen til kryptering og autentificering (autentificering) og AES-GMAC til autentificering uden kryptering af de faktiske data, for eksempel når dataene ikke er værdifulde, men du skal sikre, at de ikke har blevet manipuleret under transmissionen, og at det er den rigtige, der oprindeligt blev sendt.

I modsætning til typiske VPN-protokoller bruger PSP kryptering på niveau med individuelle netværksforbindelser, og ikke hele kommunikationskanalen, dvs. PSP bruger separate krypteringsnøgler til forskellige tunnelerede UDP- og TCP-forbindelser. Denne tilgang gør det muligt at opnå strengere isolering af trafik fra forskellige applikationer og processorer, hvilket er vigtigt, når applikationer og tjenester fra forskellige brugere kører på den samme server.

Google bruger PSP-protokollen både til at beskytte sin egen interne kommunikation og til at beskytte trafikken fra Google Cloud-klienter. Protokollen er oprindeligt designet til at fungere effektivt i infrastrukturer på Google-niveau og skulle give hardwareacceleration af kryptering i nærværelse af millioner af aktive netværksforbindelser og etablering af hundredtusindvis af nye forbindelser i sekundet.

To driftstilstande understøttes: "stateful" og "stateless". I "stateless"-tilstand transmitteres krypteringsnøgler til netværkskortet i pakkebeskrivelsen, og til dekryptering udtrækkes de fra SPI-feltet (Security Parameter Index) til stede i pakken ved hjælp af en hovednøgle (256-bit AES, gemt i netværkskortets hukommelse og udskiftes hver 24. time), hvilket giver dig mulighed for at gemme netværkskorthukommelsen og minimere information om tilstanden af ​​krypterede forbindelser, der er gemt på udstyrssiden. I "stateful" tilstand gemmes nøglerne for hver forbindelse på netværkskortet i en speciel tabel, svarende til hvordan hardwareacceleration er implementeret i IPsec.

Google har opdaget udviklinger relateret til PSPs sikre netværksprotokol

PSP giver en unik kombination af TLS- og IPsec/VPN-protokolfunktioner. TLS passede Google med hensyn til sikkerhed pr. forbindelse, men var ikke egnet på grund af dens manglende fleksibilitet til hardwareacceleration og mangel på UDP-understøttelse. IPsec leverede protokoluafhængighed og understøttede hardwareacceleration godt, men understøttede ikke nøglebinding til individuelle forbindelser, var designet til kun et lille antal oprettede tunneler og havde problemer med at skalere hardwareacceleration på grund af lagring af den fulde krypteringstilstand i tabeller placeret i hukommelsen af netværkskortet (f.eks. kræves der 10 GB hukommelse til at håndtere 5 millioner forbindelser).

I tilfælde af PSP kan information om krypteringstilstanden (nøgler, initialiseringsvektorer, sekvensnumre osv.) transmitteres i TX-pakkebeskrivelsen eller i form af en pointer til værtssystemhukommelsen uden at optage netværkskorthukommelsen. Ifølge Google blev cirka 0.7 % af computerkraften og en stor mængde hukommelse tidligere brugt på at kryptere RPC-trafik i virksomhedens infrastruktur. Introduktionen af ​​PSP gennem brug af hardwareacceleration gjorde det muligt at reducere dette tal til 0.2 %.

Kilde: opennet.ru

Tilføj en kommentar