Google on havainnut PSP:n suojattuun verkkoprotokollaan liittyvää kehitystä

Google on ilmoittanut avaavansa palvelinkeskusten välisen liikenteen salaamiseen käytettävän PSP:n (PSP Security Protocol) tekniset tiedot ja referenssitoteutuksen. Protokolla käyttää liikenteen kapselointiarkkitehtuuria, joka on samanlainen kuin IPsec ESP (Encapsulating Security Payloads) IP:n kautta, mikä tarjoaa salauksen, kryptografisen eheyden hallinnan ja lähdetodennuksen. PSP-toteutuskoodi on kirjoitettu C-kielellä ja jaettu Apache 2.0 -lisenssillä.

PSP:n ominaisuus on protokollan optimointi nopeuttamaan laskelmia ja vähentämään keskusprosessorin kuormitusta siirtämällä salaus- ja salauksenpurkutoiminnot verkkokorttien puolelle (offload). Laitteistokiihdytys vaatii erityisiä PSP-yhteensopivia verkkokortteja. Järjestelmille, joissa on verkkokortteja, jotka eivät tue PSP:tä, ehdotetaan SoftPSP:n ohjelmistototeutusta.

UDP-protokollaa käytetään tiedonsiirron siirtona. PSP-paketti alkaa IP-otsikolla, jota seuraa UDP-otsikko ja sitten oma PSP-otsikko salaus- ja todennustiedoilla. Seuraavaksi lisätään alkuperäisen TCP/UDP-paketin sisältö, joka päättyy viimeiseen PSP-lohkoon, jossa on tarkistussumma eheyden vahvistamiseksi. PSP-otsikko, samoin kuin kapseloidun paketin otsikko ja tiedot, todennetaan aina paketin identiteetin varmistamiseksi. Kapseloidun paketin tiedot voidaan salata, kun taas on mahdollista käyttää valikoivasti salausta jättäen osa TCP-otsikosta tyhjäksi (säilyttäen aitouden valvontaa), jotta esimerkiksi pakettien tarkastus voidaan tarjota siirtoverkon laitteille.

Google on havainnut PSP:n suojattuun verkkoprotokollaan liittyvää kehitystä

PSP ei ole sidottu mihinkään tiettyyn avaimenvaihtoprotokollaan, se tarjoaa useita pakettimuotovaihtoehtoja ja tukee erilaisten salausalgoritmien käyttöä. Tukea tarjotaan esimerkiksi AES-GCM-algoritmille salausta ja todennusta varten (todennus) ja AES-GMAC-algoritmia todennukseen ilman todellisten tietojen salausta, esimerkiksi kun tiedot eivät ole arvokkaita, mutta sinun on varmistettava, että se ei ole on peukaloitu lähetyksen aikana ja että se on oikea., jotka alun perin lähetettiin.

Toisin kuin tyypilliset VPN-protokollat, PSP käyttää salausta yksittäisten verkkoyhteyksien tasolla, ei koko viestintäkanavaa, ts. PSP käyttää erillisiä salausavaimia erilaisille tunneloiduille UDP- ja TCP-yhteyksille. Tämä lähestymistapa mahdollistaa liikenteen tiukemman eristyksen eri sovelluksista ja prosessoreista, mikä on tärkeää, kun eri käyttäjien sovellukset ja palvelut ovat käynnissä samalla palvelimella.

Google käyttää PSP-protokollaa sekä oman sisäisen viestinnän että Google Cloud -asiakkaiden liikenteen suojaamiseen. Protokolla on alun perin suunniteltu toimimaan tehokkaasti Google-tason infrastruktuureissa, ja sen pitäisi tarjota laitteistokiihdytys salaukselle miljoonien aktiivisten verkkoyhteyksien läsnä ollessa ja satojen tuhansien uusien yhteyksien luominen sekunnissa.

Kaksi toimintatilaa ovat tuettuja: "stateful" ja "stateleless". Tilattomassa tilassa salausavaimet lähetetään verkkokortille pakettikuvauksessa ja salauksen purkamista varten ne poimitaan paketissa olevasta SPI (Security Parameter Index) -kentästä käyttämällä pääavainta (256-bittinen AES, tallennettu verkkokortin muistia ja vaihdetaan 24 tunnin välein), jonka avulla voit säästää verkkokortin muistia ja minimoida laitepuolelle tallennetun tiedon salattujen yhteyksien tilasta. "Stateful"-tilassa kunkin yhteyden avaimet tallennetaan verkkokortille erityiseen taulukkoon, samalla tavalla kuin laitteistokiihdytys toteutetaan IPsecissä.

Google on havainnut PSP:n suojattuun verkkoprotokollaan liittyvää kehitystä

PSP tarjoaa ainutlaatuisen yhdistelmän TLS- ja IPsec/VPN-protokollaominaisuuksia. TLS sopi Googlelle yhteyskohtaisen suojauksen suhteen, mutta ei sovellu joustavuuden puutteen vuoksi laitteistokiihdytyksessä ja UDP-tuen puutteessa. IPsec tarjosi protokollariippumattomuuden ja tuki laitteistokiihdytystä hyvin, mutta se ei tukenut avainten sidontaa yksittäisiin yhteyksiin, se oli suunniteltu vain pienelle määrälle luotuja tunneleita, ja sillä oli ongelmia laitteistokiihdytyksen skaalauksessa, koska koko salaustila tallennettiin muistissa oleviin taulukoihin. verkkokortista (esimerkiksi 10 Gt muistia tarvitaan 5 miljoonan yhteyden käsittelemiseen).

PSP:n tapauksessa tieto salauksen tilasta (avaimet, alustusvektorit, järjestysnumerot jne.) voidaan lähettää TX-pakettikuvaajassa tai osoittimen muodossa isäntäjärjestelmän muistiin ilman verkkokortin muistia. Googlen mukaan noin 0.7 % laskentatehosta ja suuri määrä muistia käytettiin aiemmin RPC-liikenteen salaamiseen yrityksen infrastruktuurissa. PSP:n käyttöönotto laitteistokiihdytyksen avulla mahdollisti tämän luvun alentamisen 0.2 prosenttiin.

Lähde: opennet.ru

Lisää kommentti