Google ha reso noti i risultati relativi al protocollo di rete sicuro PSP

L'azienda Google ha annunciato l'apertura delle specifiche e della realizzazione di riferimento del protocollo PSP (PSP Security Protocol), utilizzato per la crittografia del traffico tra i data center. Il protocollo utilizza un'architettura di incapsulamento del traffico simile all'IPsec ESP (Encapsulating Security Payloads) sopra IP, fornendo crittografia, controllo crittografico dell'integrità e autenticazione della sorgente. Il codice di implementazione del PSP è scritto in linguaggio C e distribuito sotto licenza Apache 2.0.

Una caratteristica del PSP è l'ottimizzazione del protocollo per accelerare i calcoli e ridurre il carico sulla CPU attraverso il trasferimento delle operazioni di crittografia e decrittografia alle schede di rete (offload). Per utilizzare l'accelerazione hardware è necessario disporre di schede di rete speciali compatibili con il PSP. Per i sistemi con schede di rete che non supportano il PSP, è stata proposta un'implementazione software chiamata SoftPSP.

Per il trasporto dei dati viene utilizzato il protocollo UDP. Il pacchetto PSP inizia con un'intestazione IP, seguita da un'intestazione UDP e poi da un'intestazione PSP con informazioni sulla crittografia e sull'autenticazione. Successivamente viene allegato il contenuto del pacchetto TCP/UDP originale, che si conclude con un blocco finale PSP contenente un checksum per confermare l'integrità. L'intestazione PSP, così come l'intestazione e i dati del pacchetto incapsulato, sono sempre autenticati per confermare l'autenticità del pacchetto. I dati del pacchetto incapsulato possono essere crittografati, con la possibilità di applicare la crittografia in modo selettivo mantenendo parte dell'intestazione TCP in chiaro (preservando il controllo dell'autenticità), ad esempio per consentire l'ispezione dei pacchetti sulle attrezzature di rete di transito.

Google ha reso noti i risultati relativi al protocollo di rete sicuro PSP

Il PSP non è legato a un protocollo di scambio chiavi specifico, offre diverse opzioni di formato pacchetto e supporta l'uso di vari algoritmi crittografici. Ad esempio, viene fornito supporto per l'algoritmo AES-GCM per la crittografia e il controllo dell'autenticità e per l'AES-GMAC per la verifica dell'autenticità senza crittografare i dati effettivi, ad esempio quando i dati non hanno valore, ma è necessario garantire che non siano stati alterati durante il trasferimento e che siano realmente quelli inviati inizialmente.

A differenza dei protocolli tipici VPN-Nella PSP viene utilizzata la crittografia a livello delle singole connessioni di rete, piuttosto che dell'intero canale di comunicazione, ovvero PSP utilizza chiavi di crittografia separate per diverse connessioni UDP e TCP incapsulate. Questo approccio consente di ottenere un'isolamento più rigoroso del traffico tra diverse applicazioni e gestori, il che è rilevante quando si eseguono più server applicazioni e servizi di diversi utenti.

In Google, il protocollo PSP è applicato sia per proteggere le comunicazioni interne che per proteggere il traffico dei clienti di Google Cloud. Il protocollo è progettato per funzionare in modo efficiente nelle infrastrutture di livello Google e deve garantire un'accelerazione hardware della crittografia in presenza di milioni di connessioni di rete attive e centinaia di migliaia di nuove connessioni al secondo.

Sono supportati due modalità operative: «stateful» e «stateless». In modalità «stateless», le chiavi per la crittografia vengono trasmesse alla scheda di rete nel descrittore del pacchetto, mentre per la decrittazione vengono estratte dal campo SPI (Security Parameter Index) presente nel pacchetto utilizzando una chiave master (AES a 256 bit, memorizzata nella memoria della scheda di rete e sostituita ogni 24 ore), il che consente di risparmiare la memoria della scheda di rete e minimizzare le informazioni sullo stato delle connessioni crittografate memorizzate sul lato dell'hardware. In modalità «stateful», le chiavi per ogni connessione sono memorizzate sulla scheda di rete in una tabella speciale, analogamente a come è realizzata l'accelerazione hardware in IPsec.

Google ha reso noti i risultati relativi al protocollo di rete sicuro PSP

PSP fornisce una sorta di combinazione delle capacità dei protocolli TLS e IPsec/VPN. TLS era adatto a Google in termini di protezione a livello di singole connessioni, ma non era soddisfacente per la mancanza di flessibilità per l'accelerazione hardware e la mancanza di supporto per UDP. IPsec garantiva indipendenza dai protocolli e supportava bene l'accelerazione hardware, ma non supportava il binding delle chiavi a singole connessioni, era previsto solo per un numero ridotto di tunnel creati e aveva problemi di scalabilità dell'accelerazione hardware a causa della memorizzazione dello stato completo della crittografia in tabelle collocate nella memoria della scheda di rete (per esempio, per gestire 10 milioni di connessioni sono necessari 5 GB di memoria).

Nel caso del PSP, le informazioni sullo stato della crittografia (chiavi, vettori di inizializzazione, numeri di sequenza, ecc.) possono essere trasferite nel descriptor TX del pacchetto o sotto forma di puntatore alla memoria del sistema host, senza occupare memoria della scheda di rete. Secondo Google, in passato la crittografia del traffico RPC nell'infrastruttura dell'azienda richiedeva circa lo 0,7% della potenza di calcolo e un grande volume di memoria. L'implementazione del PSP grazie all'uso di risorse hardware accelerate ha permesso di ridurre questo valore allo 0,2%.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster