Google je odkril razvoj v zvezi s protokolom varnega omrežja PSP

Google je napovedal odprtje specifikacij in referenčne izvedbe PSP (PSP Security Protocol), ki se uporablja za šifriranje prometa med podatkovnimi centri. Protokol uporablja arhitekturo enkapsulacije prometa, podobno IPsec ESP (Encapsulating Security Payloads) prek IP, ki zagotavlja šifriranje, nadzor kriptografske celovitosti in avtentikacijo vira. Izvedbena koda PSP je napisana v C in se distribuira pod licenco Apache 2.0.

Značilnost PSP je optimizacija protokola za pospešitev izračunov in zmanjšanje obremenitve centralnega procesorja s premikanjem operacij šifriranja in dešifriranja na stran omrežnih kartic (offload). Strojno pospeševanje zahteva posebne omrežne kartice, združljive s PSP. Za sisteme z omrežnimi karticami, ki ne podpirajo PSP, je predlagana programska izvedba SoftPSP.

Protokol UDP se uporablja kot transport za prenos podatkov. Paket PSP se začne z glavo IP, ki ji sledi glava UDP in nato lastna glava PSP z informacijami o šifriranju in preverjanju pristnosti. Nato se doda vsebina prvotnega paketa TCP/UDP, ki se konča s končnim blokom PSP s kontrolno vsoto za potrditev celovitosti. Glava PSP ter glava in podatki enkapsuliranega paketa so vedno overjeni, da se potrdi identiteta paketa. Podatke enkapsuliranega paketa je mogoče šifrirati, medtem ko je možno selektivno uporabiti šifriranje, pri čemer del glave TCP ostane prazen (ob ohranjanju nadzora pristnosti), na primer, da se zagotovi možnost pregleda paketov na tranzitni omrežni opremi.

Google je odkril razvoj v zvezi s protokolom varnega omrežja PSP

PSP ni vezan na noben poseben protokol za izmenjavo ključev, ponuja več možnosti oblikovanja paketov in podpira uporabo različnih kriptografskih algoritmov. Na voljo je na primer podpora za algoritem AES-GCM za šifriranje in avtentikacijo (avtentikacijo) ter AES-GMAC za avtentikacijo brez šifriranja dejanskih podatkov, na primer, ko podatki niso dragoceni, vendar morate zagotoviti, da niso spremenjen med prenosom in da je pravilen, ki so bili prvotno poslani.

Za razliko od tipičnih protokolov VPN PSP uporablja šifriranje na ravni posameznih omrežnih povezav in ne celotnega komunikacijskega kanala, tj. PSP uporablja ločene šifrirne ključe za različne tunelirane povezave UDP in TCP. S tem pristopom je mogoče doseči strožjo izolacijo prometa iz različnih aplikacij in procesorjev, kar je pomembno, kadar se na istem strežniku izvajajo aplikacije in storitve različnih uporabnikov.

Google uporablja protokol PSP za zaščito svojih internih komunikacij in za zaščito prometa odjemalcev Google Cloud. Protokol je prvotno zasnovan tako, da učinkovito deluje v infrastrukturah na ravni Googla in bi moral zagotavljati strojno pospešitev šifriranja ob prisotnosti milijonov aktivnih omrežnih povezav in vzpostavljanje stotisočev novih povezav na sekundo.

Podprta sta dva načina delovanja: »stateful« in »stateless«. V načinu »brez stanja« se šifrirni ključi prenesejo na omrežno kartico v deskriptorju paketa, za dešifriranje pa se izvlečejo iz polja SPI (indeks varnostnih parametrov), ki je prisotno v paketu, z uporabo glavnega ključa (256-bitni AES, shranjen v pomnilnik omrežne kartice in zamenjati vsakih 24 ur), kar vam omogoča, da prihranite pomnilnik omrežne kartice in zmanjšate informacije o stanju šifriranih povezav, shranjenih na strani opreme. V načinu »stateful« so ključi za vsako povezavo shranjeni na omrežni kartici v posebni tabeli, podobno kot je strojno pospeševanje implementirano v IPsec.

Google je odkril razvoj v zvezi s protokolom varnega omrežja PSP

PSP ponuja edinstveno kombinacijo zmogljivosti protokola TLS in IPsec/VPN. TLS je Googlu ustrezal glede varnosti na povezavo, vendar ni bil primeren zaradi pomanjkanja prilagodljivosti za strojno pospeševanje in pomanjkanja podpore UDP. IPsec je zagotavljal neodvisnost protokola in dobro podpiral pospeševanje strojne opreme, vendar ni podpiral vezave ključev na posamezne povezave, bil je zasnovan le za majhno število ustvarjenih tunelov in je imel težave pri prilagajanju pospeševanja strojne opreme zaradi shranjevanja celotnega stanja šifriranja v tabelah v pomnilniku omrežne kartice (za 10 milijonov povezav je na primer potrebnih 5 GB pomnilnika).

V primeru PSP se lahko informacije o stanju šifriranja (ključi, inicializacijski vektorji, zaporedne številke itd.) prenašajo v deskriptorju paketa TX ali v obliki kazalca v pomnilnik gostiteljskega sistema, ne da bi zasedel pomnilnik omrežne kartice. Po podatkih Googla je bilo približno 0.7% računalniške moči in velika količina pomnilnika prej porabljenih za šifriranje prometa RPC v infrastrukturi podjetja. Uvedba PSP z uporabo strojnega pospeševanja je omogočila zmanjšanje te številke na 0.2%.

Vir: opennet.ru

Dodaj komentar