„Google“ atrado naujoves, susijusias su PSP saugaus tinklo protokolu

„Google“ paskelbė apie PSP (PSP saugos protokolo), naudojamo srautui tarp duomenų centrų šifruoti, specifikacijų ir standartinio diegimo atidarymą. Protokole naudojama srauto inkapsuliavimo architektūra, panaši į IPsec ESP (angl. Encapsulating Security Payloads) per IP, užtikrinanti šifravimą, kriptografinio vientisumo kontrolę ir šaltinio autentifikavimą. PSP diegimo kodas parašytas C ir platinamas pagal Apache 2.0 licenciją.

PSP ypatybė yra protokolo optimizavimas, siekiant pagreitinti skaičiavimus ir sumažinti centrinio procesoriaus apkrovą, perkeliant šifravimo ir iššifravimo operacijas į tinklo plokščių pusę (iškrovimas). Norint pagreitinti aparatinę įrangą, reikia specialių su PSP suderinamų tinklo plokščių. Sistemoms su tinklo plokštėmis, kurios nepalaiko PSP, siūloma įdiegti SoftPSP programinę įrangą.

UDP protokolas naudojamas kaip duomenų perdavimas. PSP paketas prasideda IP antrašte, po kurios eina UDP antraštė, o vėliau – nuosava PSP antraštė su šifravimo ir autentifikavimo informacija. Tada pridedamas pradinio TCP/UDP paketo turinys, baigiamas galutiniu PSP bloku su kontroline suma, siekiant patvirtinti vientisumą. PSP antraštė, taip pat įkapsuliuoto paketo antraštė ir duomenys visada yra autentifikuojami, kad būtų patvirtinta paketo tapatybė. Inkapsuliuoto paketo duomenys gali būti šifruojami, o galima pasirinktinai taikyti šifravimą, paliekant dalį TCP antraštės tuščioje vietoje (išlaikant autentiškumo kontrolę), pavyzdžiui, suteikiant galimybę tikrinti paketus tranzitinio tinklo įrangoje.

„Google“ atrado naujoves, susijusias su PSP saugaus tinklo protokolu

PSP nėra susietas su jokiu konkrečiu raktų mainų protokolu, siūlo keletą paketų formatų parinkčių ir palaiko skirtingų kriptografinių algoritmų naudojimą. Pavyzdžiui, palaikomas AES-GCM algoritmas šifravimui ir autentifikavimui (autentifikacijai) ir AES-GMAC autentifikavimui be tikrųjų duomenų šifravimo, pavyzdžiui, kai duomenys nėra vertingi, bet turite įsitikinti, kad jie nėra buvo sugadintas perdavimo metu ir kad jis yra teisingas. kurie buvo išsiųsti iš pradžių.

Skirtingai nuo tipinių VPN protokolų, PSP naudoja šifravimą atskirų tinklo jungčių lygyje, o ne viso ryšio kanalo, t.y. PSP naudoja atskirus šifravimo raktus skirtingiems tuneliniams UDP ir TCP ryšiams. Šis metodas leidžia pasiekti griežtesnę srauto izoliaciją nuo skirtingų programų ir procesorių, o tai svarbu, kai skirtingų vartotojų programos ir paslaugos veikia tame pačiame serveryje.

„Google“ naudoja PSP protokolą tiek savo vidinei komunikacijai, tiek „Google Cloud“ klientų srautui apsaugoti. Protokolas iš pradžių sukurtas taip, kad efektyviai veiktų „Google“ lygio infrastruktūrose ir turėtų užtikrinti aparatinės įrangos šifravimo pagreitį, kai yra milijonai aktyvių tinklo jungčių ir sukuriama šimtai tūkstančių naujų jungčių per sekundę.

Palaikomi du darbo režimai: „stateful“ ir „lessande“. Režimu „be būsenos“ šifravimo raktai perduodami į tinklo plokštę paketo deskriptoriuje, o iššifravimui jie ištraukiami iš pakete esančio SPI (saugumo parametrų indekso) lauko, naudojant pagrindinį raktą (256 bitų AES, saugomą tinklo plokštės atmintį ir keičiama kas 24 valandas), o tai leidžia taupyti tinklo plokštės atmintį ir sumažinti įrangos pusėje saugomą informaciją apie šifruotų jungčių būseną. „Stateful“ režimu kiekvieno ryšio raktai saugomi tinklo plokštėje specialioje lentelėje, panašiai kaip aparatinės įrangos pagreitis įgyvendinamas IPsec.

„Google“ atrado naujoves, susijusias su PSP saugaus tinklo protokolu

PSP suteikia unikalų TLS ir IPsec/VPN protokolo galimybių derinį. TLS tiko „Google“ ryšio saugumo požiūriu, tačiau nebuvo tinkamas dėl to, kad trūksta lankstumo aparatūros spartinimui ir UDP palaikymo. „IPsec“ užtikrino protokolo nepriklausomumą ir gerai palaikė aparatinės įrangos spartinimą, tačiau nepalaikė atskirų jungčių raktų susiejimo, buvo skirtas tik nedaugeliui sukurtų tunelių ir turėjo problemų su aparatūros spartinimo masteliu, nes atmintyje esančiose lentelėse buvo saugoma visa šifravimo būsena. tinklo plokštės (pavyzdžiui, norint apdoroti 10 mln. jungčių, reikia 5 GB atminties).

PSP atveju informacija apie šifravimo būseną (raktai, inicijavimo vektoriai, eilės numeriai ir kt.) gali būti perduodama TX paketo deskriptoriuje arba rodyklės į pagrindinio kompiuterio atmintį pavidalu, neužimant tinklo plokštės atminties. „Google“ duomenimis, RPC srauto šifravimui įmonės infrastruktūroje anksčiau buvo skirta maždaug 0.7% skaičiavimo galios ir daug atminties. PSP įdiegimas naudojant aparatinės įrangos pagreitį leido sumažinti šį skaičių iki 0.2%.

Šaltinis: opennet.ru

Добавить комментарий