Google ha aperto i suoi progetti relativi al protocollo di rete sicuro PSP

Google ha annunciato l'apertura delle specifiche e dell'implementazione 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 a IPsec ESP (Encapsulating Security Payloads) sopra IP, fornendo crittografia, controllo crittografico dell'integrità e autenticazione della fonte. Il codice di implementazione del PSP è scritto in C e distribuito con licenza Apache 2.0.

Una caratteristica del PSP è l'ottimizzazione del protocollo per accelerare le operazioni di calcolo e ridurre il carico sulla CPU attraverso lo scarico delle operazioni di crittografia e decifratura verso le schede di rete (offload). Per utilizzare l'accelerazione hardware, è necessaria la presenza 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. Un pacchetto PSP inizia con un'intestazione IP, seguita da un'intestazione UDP e poi dall'intestazione PSP vera e propria con informazioni sulla crittografia e sull'autenticazione. Successivamente viene allegato il contenuto del pacchetto originale TCP/UDP, che si conclude con un blocco finale PSP con 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, consentendo l'applicazione selettiva della crittografia lasciando parte dell'intestazione TCP in chiaro (mantenendo il controllo di autenticità), ad esempio per permettere l'ispezione dei pacchetti sulle apparecchiature di rete in transito.

Google ha aperto i suoi progetti relativi al protocollo di rete sicuro PSP

Il PSP non è legato a un protocollo di scambio chiavi specifico, offre diverse opzioni di formato dei pacchetti e supporta l'uso di diversi algoritmi crittografici. Ad esempio, è fornito supporto per l'algoritmo AES-GCM per crittografia e autenticazione (verifica di autenticità) e AES-GMAC per la verifica di autenticità senza crittografia dei dati diretti, ad esempio quando i dati non hanno valore, ma è necessario garantire che non siano stati alterati durante il trasferimento e siano proprio quelli inviati inizialmente.

A differenza dei protocolli standard VPN- nel PSP viene applicata la crittografia a livello di singole connessioni di rete, e non dell'intero canale di comunicazione, ovvero il 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 è utilizzato sia per proteggere le comunicazioni interne sia per proteggere il traffico dei clienti di Google Cloud. Il protocollo è stato progettato per funzionare in modo efficiente nelle infrastrutture di livello Google e dovrebbe garantire un'accuratezza hardware nella crittografia in presenza di milioni di connessioni di rete attive e 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 e, 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 memoria sulla scheda di rete e minimizzare le informazioni sullo stato delle connessioni crittografate memorizzate sul lato hardware. In modalità «stateful», le chiavi per ogni connessione vengono memorizzate nella scheda di rete in una tabella speciale, similmente a come viene implementato l'accelerazione hardware in IPsec.

Google ha aperto i suoi progetti relativi al protocollo di rete sicuro PSP

Il PSP fornisce una sorta di combinazione delle capacità dei protocollo TLS e IPsec/VPN. TLS era adatto a Google in termini di protezione a livello di singole connessioni, ma non soddisfaceva a causa della mancanza di flessibilità per l'accelerazione hardware e dell'assenza di supporto per UDP. IPsec garantiva indipendenza dai protocolli e supportava bene l'accelerazione hardware, ma non supportava l'associazione delle chiavi a connessioni singole, era progettato solo per un numero limitato 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 (ad esempio, per gestire 10 milioni di connessioni richiede 5 GB di memoria).

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

Fonte: opennet.ru

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