Google ha descubierto novedades relacionadas con el protocolo de red segura de PSP

Google ha anunciado la apertura de especificaciones y una implementación de referencia del PSP (PSP Security Protocol), utilizado para cifrar el tráfico entre centros de datos. El protocolo utiliza una arquitectura de encapsulación de tráfico similar a IPsec ESP (Encapsulating Security Payloads) sobre IP, proporcionando cifrado, control de integridad criptográfica y autenticación de origen. El código de implementación de PSP está escrito en C y distribuido bajo la licencia Apache 2.0.

Una característica de PSP es la optimización del protocolo para acelerar los cálculos y reducir la carga en el procesador central al mover las operaciones de cifrado y descifrado al lado de las tarjetas de red (descarga). La aceleración de hardware requiere tarjetas de red especiales compatibles con PSP. Para sistemas con tarjetas de red que no soportan PSP, se propone una implementación de software de SoftPSP.

El protocolo UDP se utiliza como transporte para la transferencia de datos. Un paquete PSP comienza con un encabezado IP, seguido de un encabezado UDP y luego su propio encabezado PSP con información de cifrado y autenticación. A continuación, se añade el contenido del paquete TCP/UDP original y finaliza con un bloque PSP final con una suma de comprobación para confirmar la integridad. El encabezado de PSP, así como el encabezado y los datos del paquete encapsulado, siempre se autentican para confirmar la identidad del paquete. Los datos del paquete encapsulado se pueden cifrar, mientras que es posible aplicar cifrado de forma selectiva dejando parte del encabezado TCP sin cifrar (mientras se mantiene el control de autenticidad), por ejemplo, para proporcionar la capacidad de inspeccionar paquetes en equipos de red de tránsito.

Google ha descubierto novedades relacionadas con el protocolo de red segura de PSP

PSP no está vinculado a ningún protocolo de intercambio de claves específico, ofrece varias opciones de formato de paquetes y admite el uso de diferentes algoritmos criptográficos. Por ejemplo, se proporciona soporte para el algoritmo AES-GCM para cifrado y autenticación (autenticación) y AES-GMAC para autenticación sin cifrado de los datos reales, por ejemplo, cuando los datos no son valiosos, pero debe asegurarse de que no lo sean. sido manipulado durante la transmisión y que es el correcto que se envió originalmente.

A diferencia de los protocolos VPN típicos, PSP utiliza cifrado a nivel de conexiones de red individuales, y no en todo el canal de comunicación, es decir. PSP utiliza claves de cifrado independientes para diferentes conexiones UDP y TCP tunelizadas. Este enfoque permite lograr un aislamiento más estricto del tráfico de diferentes aplicaciones y procesadores, lo cual es importante cuando se ejecutan aplicaciones y servicios de diferentes usuarios en el mismo servidor.

Google utiliza el protocolo PSP tanto para proteger sus propias comunicaciones internas como para proteger el tráfico de los clientes de Google Cloud. Inicialmente, el protocolo está diseñado para funcionar de manera efectiva en infraestructuras a nivel de Google y debería proporcionar aceleración de cifrado por hardware en presencia de millones de conexiones de red activas y el establecimiento de cientos de miles de nuevas conexiones por segundo.

Se admiten dos modos de funcionamiento: "con estado" y "sin estado". En el modo "sin estado", las claves de cifrado se transmiten a la tarjeta de red en el descriptor del paquete y, para el descifrado, se extraen del campo SPI (Índice de parámetros de seguridad) presente en el paquete mediante una clave maestra (AES de 256 bits, almacenada en la memoria de la tarjeta de red y se reemplaza cada 24 horas), lo que permite ahorrar memoria de la tarjeta de red y minimizar la información sobre el estado de las conexiones cifradas almacenadas en el lado del equipo. En el modo "con estado", las claves para cada conexión se almacenan en la tarjeta de red en una tabla especial, similar a cómo se implementa la aceleración de hardware en IPsec.

Google ha descubierto novedades relacionadas con el protocolo de red segura de PSP

PSP proporciona una combinación única de capacidades de protocolo TLS e IPsec/VPN. TLS se adaptaba a Google en términos de seguridad por conexión, pero no era adecuado debido a su falta de flexibilidad para la aceleración de hardware y la falta de soporte UDP. IPsec proporcionó independencia de protocolo y admitió bien la aceleración de hardware, pero no admitió la vinculación de claves a conexiones individuales, fue diseñado solo para una pequeña cantidad de túneles creados y tuvo problemas para escalar la aceleración de hardware debido al almacenamiento del estado de cifrado completo en tablas ubicadas en la memoria. de la tarjeta de red (por ejemplo, se requieren 10 GB de memoria para manejar 5 millones de conexiones).

En el caso de PSP, la información sobre el estado de cifrado (claves, vectores de inicialización, números de secuencia, etc.) se puede transmitir en el descriptor del paquete TX o en forma de puntero a la memoria del sistema host, sin ocupar la memoria de la tarjeta de red. Según Google, anteriormente se gastaba aproximadamente el 0.7% de la potencia informática y una gran cantidad de memoria en cifrar el tráfico RPC en la infraestructura de la empresa. La introducción de PSP mediante el uso de aceleración de hardware permitió reducir esta cifra al 0.2%.

Fuente: opennet.ru

Añadir un comentario