A Google a PSP biztonságos hálózati protokolljával kapcsolatos fejlesztéseket fedezett fel

A Google bejelentette az adatközpontok közötti forgalom titkosítására használt PSP (PSP Security Protocol) specifikációinak és referencia megvalósításának megnyitását. A protokoll az IPsec ESP-hez (Encapsulating Security Payloads) hasonló forgalombeágyazási architektúrát használ IP-n keresztül, amely titkosítást, kriptográfiai integritás-ellenőrzést és forráshitelesítést biztosít. A PSP implementációs kódja C nyelven íródott, és az Apache 2.0 licenc alatt kerül terjesztésre.

A PSP egyik jellemzője a protokoll optimalizálása a számítások felgyorsítása és a központi processzor terhelésének csökkentése érdekében azáltal, hogy a titkosítási és visszafejtési műveleteket a hálózati kártyák oldalára helyezi át (offload). A hardveres gyorsításhoz speciális PSP-kompatibilis hálózati kártyák szükségesek. A PSP-t nem támogató hálózati kártyákkal rendelkező rendszerek esetében a SoftPSP szoftveres megvalósítása javasolt.

Az UDP protokollt adatátviteli átvitelként használják. A PSP-csomag egy IP-fejléccel kezdődik, ezt követi az UDP-fejléc, majd a saját PSP-fejléce titkosítási és hitelesítési információkkal. Ezután hozzáfűzzük az eredeti TCP/UDP-csomag tartalmát, és egy utolsó PSP-blokkkal végződik, amely ellenőrző összeggel erősíti meg az integritást. A PSP fejléce, valamint a beágyazott csomag fejléce és adatai mindig hitelesítésre kerülnek, hogy megerősítsék a csomag azonosságát. A beágyazott csomag adatai titkosíthatók, míg lehetőség van a titkosítás szelektív alkalmazására, miközben a TCP-fejléc egy részét tisztán hagyjuk (a hitelesség-ellenőrzés megőrzése mellett), így például lehetővé válik a csomagok vizsgálata a tranzithálózati eszközökön.

A Google a PSP biztonságos hálózati protokolljával kapcsolatos fejlesztéseket fedezett fel

A PSP nem kötődik egyetlen kulcscsere protokollhoz sem, számos csomagformátum opciót kínál, és támogatja a különböző kriptográfiai algoritmusok használatát. Például támogatás biztosított az AES-GCM algoritmushoz a titkosításhoz és hitelesítéshez (hitelesítés), valamint az AES-GMAC a tényleges adatok titkosítása nélküli hitelesítéshez, például ha az adatok nem értékesek, de meg kell győződnie arról, hogy nem az átvitel során manipulálták, és hogy ez a megfelelő. amelyeket eredetileg küldtek.

A tipikus VPN protokolloktól eltérően a PSP az egyes hálózati kapcsolatok szintjén alkalmaz titkosítást, és nem a teljes kommunikációs csatornát, pl. A PSP külön titkosítási kulcsokat használ a különböző tunnelizált UDP és TCP kapcsolatokhoz. Ez a megközelítés lehetővé teszi a forgalom szigorúbb elkülönítését a különböző alkalmazásoktól és processzoroktól, ami akkor fontos, ha különböző felhasználók alkalmazásai és szolgáltatásai ugyanazon a szerveren futnak.

A Google a PSP protokollt használja saját belső kommunikációjának és a Google Cloud-kliensek forgalmának védelmére. A protokollt eredetileg úgy tervezték, hogy hatékonyan működjön a Google-szintű infrastruktúrákban, és biztosítania kell a titkosítás hardveres gyorsítását több millió aktív hálózati kapcsolat jelenlétében, valamint másodpercenként több százezer új kapcsolat létrehozását.

Két üzemmód támogatott: „állapot nélküli” és „állapot nélküli”. Állapotmentes módban a titkosítási kulcsok a csomagleíróban kerülnek továbbításra a hálózati kártyára, és a dekódoláshoz a csomagban található SPI (Security Parameter Index) mezőből nyerik ki őket egy mesterkulcs (256 bites AES, a a hálózati kártya memóriáját és 24 óránként cserélik), amely lehetővé teszi a hálózati kártya memóriájának megtakarítását és a készülék oldalán tárolt titkosított kapcsolatok állapotáról szóló információk minimalizálását. „Általános” módban az egyes kapcsolatok kulcsait a hálózati kártyán egy speciális táblázatban tárolják, hasonlóan ahhoz, ahogy a hardveres gyorsítás az IPsec-ben valósul meg.

A Google a PSP biztonságos hálózati protokolljával kapcsolatos fejlesztéseket fedezett fel

A PSP a TLS és az IPsec/VPN protokoll képességeinek egyedülálló kombinációját biztosítja. A TLS megfelelt a Google-nak a csatlakozásonkénti biztonság szempontjából, de nem volt megfelelő a hardveres gyorsításhoz való rugalmasság és az UDP-támogatás hiánya miatt. Az IPsec protokollfüggetlenséget biztosított, és jól támogatta a hardveres gyorsítást, de nem támogatta az egyes kapcsolatokhoz való kulcskötést, csak kis számú alagútra tervezték, és a hardveres gyorsítás skálázási problémái voltak, mivel a teljes titkosítási állapotot a memóriában található táblázatokban tárolták. a hálózati kártya (például 10 GB memória szükséges 5 millió kapcsolat kezelésére).

PSP esetén a titkosítás állapotára vonatkozó információk (kulcsok, inicializálási vektorok, sorszámok stb.) továbbíthatók a TX csomagleíróban, vagy mutató formájában a gazdagép rendszermemóriájára, a hálózati kártya memóriájának lefoglalása nélkül. A Google szerint a számítási teljesítmény hozzávetőleg 0.7%-át és nagy mennyiségű memóriát korábban az RPC-forgalom titkosítására fordították a vállalat infrastruktúrájában. A PSP bevezetése a hardveres gyorsítás révén lehetővé tette ennek az értéknek a 0.2%-ra csökkentését.

Forrás: opennet.ru

Hozzászólás