Usar el cifrado TLS híbrido postcuántico con AWS KMS - AWS Key Management Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usar el cifrado TLS híbrido postcuántico con AWS KMS

AWS Key Management Service (AWS KMS) admite una opción de intercambio híbrido postcuántico de claves para el protocolo de cifrado de red de seguridad de la capa de transporte (TLS). Puede utilizar esta opción de TLS cuando se conecte a los puntos de conexión de la API de AWS KMS. Estamos ofreciendo esta característica antes de que se estandaricen los algoritmos postcuánticos para que pueda comenzar a probar el efecto de estos protocolos de intercambio de claves en las llamadas a AWS KMS. Estas características opcionales de intercambio híbrido postcuántico de claves son al menos tan seguras como el cifrado TLS que utilizamos hoy en día y es muy probable que aporten beneficios de seguridad adicionales. Sin embargo, afectan a la latencia y a la velocidad si las comparamos con los protocolos clásicos de intercambio de claves que se utilizan hoy en día.

Los datos que envía a AWS Key Management Service (AWS KMS) están protegidos en tránsito por el cifrado proporcionado por una conexión de seguridad de la capa de transporte (TLS). Los conjuntos de cifrado clásicos que AWS KMS admite para las sesiones de TLS convierten en inviables los ataques de fuerza bruta en los mecanismos de intercambio de claves con la tecnología actual. Sin embargo, si la informática cuántica a gran escala tiene efectos prácticos en el futuro, los conjuntos de cifrado clásicos utilizados en los mecanismos de intercambio de claves TLS serán susceptibles a estos ataques. Si va a desarrollar aplicaciones que dependen de la confidencialidad a largo plazo de los datos transmitidos a través de una conexión TLS, debe considerar un plan para migrar a la criptografía postcuántica antes de que los equipos cuánticos a gran escala estén disponibles para su uso. AWS está trabajando para prepararse para este futuro y queremos que usted también esté bien preparado.

Para proteger los datos cifrados hoy frente a posibles ataques futuros, AWS trabaja con la comunidad criptográfica en el desarrollo de algoritmos resistentes a la informática cuántica o postcuánticos. Hemos implementado conjuntos de cifrado híbridos de intercambios de claves postcuánticos AWS KMS, que combinan elementos clásicos y postcuánticos para garantizar que su conexión TLS sea al menos tan segura como con los conjuntos cifrado clásicos.

Estos conjuntos de cifrado híbridos están disponibles para su uso en las cargas de trabajo de producción en la mayoría de las Regiones de AWS. Sin embargo, dado que las características de rendimiento y los requisitos de ancho de banda de los conjuntos de cifrado híbridos son diferentes de los mecanismos clásicos de intercambio de claves, le recomendamos que los pruebe en las llamadas a la API de AWS KMS en condiciones diferentes.

Comentarios

Como siempre, agradecemos sus comentarios y su participación en nuestros repositorios de código abierto. Nos gustaría especialmente saber cómo interactúa su infraestructura con esta nueva variante del tráfico TLS.

  • Para proporcionar comentarios sobre este tema, utilice el enlace Feedback (Comentarios) situado en la esquina superior derecha de esta página.

  • Estamos desarrollando estas suites de cifrado híbridas en código abierto en el s2n-tlsrepositorio de. GitHub Para proporcionar comentarios sobre la usabilidad de los conjuntos de cifrado, o para compartir nuevas condiciones o resultados de pruebas, abra una incidencia en el repositorio s2n-tls.

  • Estamos escribiendo ejemplos de código para usar el TLS poscuántico híbrido AWS KMS en el repositorio. aws-kms-pq-tls-example GitHub Para hacer preguntas o compartir ideas acerca de cómo configurar su cliente HTTP o el cliente de AWS KMS para utilizar los conjuntos de cifrado híbridos, abra una incidencia en el repositorio aws-kms-pq-tls-example.

Regiones de AWS soportadas

La TLS postcuántica para AWS KMS está disponible en todas las Regiones de AWS que AWS KMS admite, excepto para China (Pekín) y China (Ningxia).

nota

AWS KMS no admite la TLS poscuántica híbrida para los puntos de conexión FIPS en AWS GovCloud (US).

Para obtener una lista de todos los puntos de conexión de AWS KMS de cada Región de AWS, consulte AWS Key Management Service endpoints and quotas en la Referencia general de Amazon Web Services. Para obtener más información acerca de los puntos de conexión FIPS, consulte FIPS endpoints en la Referencia general de Amazon Web Services.

Acerca del intercambio de claves postcuántico híbrido en TLS

AWS KMS admite conjuntos de cifrado de intercambio híbrido postcuántico de claves. Puede utilizar el tiempo de ejecución común de AWS SDK for Java 2.x y AWS en sistemas Linux para configurar un cliente HTTP y usar estos conjuntos de cifrado. Entonces, cada vez que se conecte a un punto de conexión de AWS KMS con su cliente HTTP, se utilizarán los conjuntos de cifrado híbridos.

Este cliente HTTP utiliza s2n-tls, que es una implementación de código abierto del protocolo TLS. Los conjuntos de cifrado híbridos que utiliza s2n-tls se implementan solo para el intercambio de claves, no para el cifrado de datos directo. Durante el intercambio de claves, el cliente y el servidor calculan la clave que utilizarán para cifrar y descifrar los datos en la red.

Los algoritmos que s2n-tls utiliza son un híbrido que combina la curva elíptica de Diffie-Hellman (ECDH), un algoritmo clásico de intercambio de claves que se utiliza hoy en día en TLS, con Kyber, un algoritmo de cifrado de claves públicas y establecimiento de claves que el Instituto Nacional de Estándares y Tecnología (NIST) ha designado como su primer algoritmo de acuerdo de claves postcuántico estándar. Este híbrido utiliza cada uno de los algoritmos de forma independiente para generar una clave. Luego combina las dos claves criptográficamente. Con s2n-tls, puede configurar un cliente HTTP con una preferencia por TLS postcuántico, que coloca a ECDH con Kyber en primer lugar en la lista de preferencias. Los algoritmos clásicos de intercambio de claves se incluyen en la lista de preferencias para garantizar la compatibilidad, pero están en una posición inferior en esta lista.

Si la investigación en curso revela que el algoritmo Kyber carece de la seguridad postcuántica prevista, la clave híbrida seguirá siendo al menos tan segura como la clave ECDH actualmente en uso. Hasta que la investigación en algoritmos poscuánticos esté completa, recomendamos usar algoritmos híbridos, en lugar de usar solo algoritmos postcuánticos.

Usar el cifrado TLS híbrido postcuántico con AWS KMS

Puede usar el cifrado TLS híbrido postcuántico para sus llamadas a AWS KMS. Cuando configure el entorno de prueba del cliente HTTP, tenga en cuenta la siguiente información:

Cifrado en tránsito

Los conjuntos de cifrado híbridos de s2n-tls se utilizan únicamente para el cifrado en tránsito. Protegen los datos mientras viajan desde su cliente hasta el punto de conexión de AWS KMS. AWS KMS no utiliza estos conjuntos de cifrado para cifrar datos en AWS KMS keys.

En cambio, cuando AWS KMS cifra sus datos con claves KMS, utiliza criptografía simétrica con claves de 256 bits y el algoritmo Advanced Encryption Standard in Galois Counter Mode (AES-GCM), que ya es resistente a la informática cuántica. Los futuros e hipotéticos ataques de informática cuántica a gran escala a textos cifrados creados con claves AES-GCM de 256 bits reducen la seguridad nominal de la clave a 128 bits. Este nivel de seguridad es suficiente para hacer inviables los ataques de fuerza bruta contra textos cifrados de AWS KMS.

Sistemas compatibles

El uso de los conjuntos de cifrado híbridos de s2n-tls solo es compatible actualmente con sistemas Linux. Además, estos conjuntos de cifrado solo se admiten en los SDK compatibles con el tiempo de ejecución común de AWS, como AWS SDK for Java 2.x. Para ver un ejemplo, consulte Cómo configurar el cifrado TLS postcuántico híbrido.

Puntos de conexión de AWS KMS

Cuando utilice los conjuntos de cifrado híbridos, use el punto de conexión de AWS KMS estándar. Los conjuntos de cifrado híbridos de s2n-tls no son compatibles con los puntos de conexión validados por FIPS 140-2 de AWS KMS.

Cuando configura un cliente HTTP con la preferencia de conexiones de TLS postcuántico en s2n-tls, los mecanismos de cifrado postcuántico son los primeros en la lista de preferencias de cifrado. Sin embargo, la lista de preferencias incluye los cifrados clásicos no híbridos en una posición inferior en el orden de prioridad por motivos de compatibilidad. Cuando se configura un cliente HTTP para que prefiera el TLS postcuántico con un punto de conexión validado por un FIPS 140-2 AWS KMS, s2n-tls negocia un cifrado de intercambio de claves clásico no híbrido.

Para obtener una lista de todos los puntos de conexión de AWS KMS de cada Región de AWS, consulte AWS Key Management Service endpoints and quotas en la Referencia general de Amazon Web Services. Para obtener más información acerca de los puntos de conexión FIPS, consulte FIPS endpoints en la Referencia general de Amazon Web Services.

Rendimiento previsto

Nuestras primeras pruebas de referencia muestran que los conjuntos de cifrado híbridos de s2n-tls son más lentos que los conjuntos de cifrado TLS clásicos. El efecto varía según el perfil de red, la velocidad de la CPU, el número de núcleos y la frecuencia de llamadas. Para obtener resultados de pruebas de rendimiento, consulteCómo ajustar TLS para el cifrado poscuántico híbrido con Kyber.

Cómo configurar el cifrado TLS postcuántico híbrido

En este procedimiento, agregue una dependencia de Maven para el cliente HTTP en tiempo de ejecución común de AWS. A continuación, configure un cliente HTTP que prefiera el TLS postcuántico. A continuación, cree un cliente de AWS KMS que utilice el cliente HTTP.

Para ver ejemplos completos y funcionales de cómo configurar y usar el cifrado TLS híbrido postcuántico con AWS KMS, consulte el repositorio aws-kms-pq-tls-example.

nota

El cliente HTTP de en tiempo de ejecución común de AWS, que estaba disponible como versión preliminar, pasó a estar disponible en febrero de 2023. En esa versión, la clase tlsCipherPreference y el parámetro del método tlsCipherPreference() se sustituyen por el parámetro del método postQuantumTlsEnabled(). Si utilizó este ejemplo durante la vista previa, debe actualizar el código.

  1. Agregue el cliente del tiempo de ejecución común de AWS a sus dependencias de Maven. Le recomendamos que utilice la última versión disponible.

    Por ejemplo, esta declaración agrega la versión 2.20.0 del cliente del tiempo de ejecución común de AWS a sus dependencias de Maven.

    <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.20.0</version> </dependency>
  2. Para habilitar los conjuntos de cifrado híbrido postcuántico, agregue AWS SDK for Java 2.x a su proyecto e inícielo. Luego habilite los conjuntos de cifrado postcuántico híbrido en su cliente HTTP como se muestra en el siguiente ejemplo.

    Este código usa el parámetro del método postQuantumTlsEnabled() para configurar un cliente HTTP de AWS en tiempo de ejecución común que prefiera el conjunto de cifrado poscuántico híbrido recomendado, ECDH con Kyber. A continuación, utiliza el cliente HTTP configurado para crear una instancia del cliente de AWS KMS asincrónico, KmsAsyncClient. Cuando se complete este código, todas las solicitudes de la API de AWS KMS de la instancia KmsAsyncClient utilizarán un TLS poscuántico híbrido.

    // Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build();
  3. Pruebe sus llamadas a AWS KMS con TLS postcuántico híbrido.

    Cuando llama a operaciones de la API de AWS KMS en el cliente de AWS KMS configurado, sus llamadas se transmiten al punto de conexión de AWS KMS mediante TLS híbrido postcuántico. Para probar la configuración, ejecute una llamada a la API de AWS KMS, como ListKeys.

    ListKeysReponse keys = kmsAsync.listKeys().get();

Probar el cifrado TLS postcuántico híbrido con AWS KMS

Considere la posibilidad de ejecutar las siguientes pruebas con conjuntos de cifrado híbridos en las aplicaciones que llaman a AWS KMS.

  • Ejecute pruebas de carga y pruebas de rendimiento. Los conjuntos de cifrado híbridos funcionan de manera diferente que los algoritmos tradicionales de intercambio de claves. Es posible que tenga que ajustar los tiempos de espera de conexión para permitir tiempos de negociación más prolongados. Si la ejecución se realiza dentro de una función AWS Lambda, amplíe la configuración del tiempo de espera de ejecución.

  • Intente conectarse desde diferentes ubicaciones. En función de la ruta de red que tome la solicitud, es posible que descubra que hosts intermedios, proxies o firewalls con inspección profunda de paquetes (DPI) bloquean la solicitud. Esto puede deberse al uso de los nuevos conjuntos de cifrado como ClientHelloparte del protocolo de enlace de TLS o a los mensajes de intercambio de claves más amplios. Si le resulta difícil resolver estos problemas, trabaje con su equipo de seguridad o con los administradores de TI para actualizar la configuración pertinente y desbloquear los nuevos conjuntos de cifrado TLS.

Obtenga más información sobre el cifrado TLS postcuántico en AWS KMS

Para obtener más información acerca del uso de TLS híbrido poscuántico en AWS KMS, consulte los siguientes recursos.