Utilisation du TLS post-quantique hybride avec AWS KMS - AWS Key Management Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation du TLS post-quantique hybride avec AWS KMS

AWS Key Management Service (AWS KMS) prend en charge une option d'échange de clés post-quantiques hybrides pour le protocole de chiffrement réseau TLS (Transport Layer Security). Vous pouvez utiliser cette option TLS lorsque vous vous connectez aux points de terminaison de l'API AWS KMS. Nous offrons cette fonctionnalité avant la standardisation des algorithmes post-quantiques afin que vous puissiez commencer à tester l'effet de ces protocoles d'échange de clés sur les appels AWS KMS. Ces fonctionnalités optionnelles d'échange de clés post-quantiques hybrides sont au moins aussi sécurisées que le chiffrement TLS que nous utilisons aujourd'hui et sont susceptibles d'offrir des avantages supplémentaires en matière de sécurité à long terme. Cependant, elles affectent la latence et le débit par rapport aux protocoles d'échange de clés classiques utilisés aujourd'hui.

Les données que vous envoyez à AWS Key Management Service (AWS KMS) sont protégées en transit par le chiffrement fourni par une connexion TLS (Transport Layer Security). Les suites de chiffrement classiques que AWS KMS prend en charge pour les sessions TLS rendent les attaques de force brute contre les mécanismes d'échange clés irréalisables avec la technologie actuelle. Cependant, si l'informatique quantique à grande échelle devient courante à l'avenir, les suites de chiffrement classiques utilisées dans les mécanismes d'échange de clés TLS seront sensibles à ces attaques. Si vous développez des applications qui s'appuient sur la confidentialité à long terme des données transmises via une connexion TLS, vous devriez envisager de migrer vers le chiffrement post-quantique avant que les ordinateurs quantiques à grande échelle ne deviennent disponibles. AWS travaille à préparer cet avenir, et nous souhaitons que vous soyez bien préparé.

Pour protéger les données chiffrées aujourd'hui contre d'éventuelles attaques futures, AWS participe avec la communauté cryptographique au développement d'algorithmes quantiques ou post-quantiques . Nous avons mis en place des suites de chiffrement d'échange de clés post-quantiques hybrides qui AWS KMS combinent des éléments classiques et post-quantiques afin de veiller à ce que votre connexion TLS soit au moins aussi sûre qu'avec les suites de chiffrement classiques.

Ces suites de chiffrement hybrides sont disponibles pour une utilisation sur vos applications de production dans la plupart des Régions AWS. Cependant, étant donné que les caractéristiques de performance et les exigences de bande passante des suites de chiffrement hybrides sont différentes de celles des mécanismes d'échange de clés classiques, nous vous recommandons de les tester sur vos appels d'API AWS KMS dans des conditions différentes.

Commentaires

Comme toujours, nous accueillons vos commentaires et votre participation à nos référentiels open-source. Nous aimerions en particulier savoir comment votre infrastructure interagit avec cette nouvelle variante du trafic TLS.

  • Pour nous faire part de vos commentaires sur ce point, utilisez le lien Commentaires dans le coin supérieur droit de cette page.

  • Nous développons ces suites de chiffrement hybrides en open source dans le s2n-tlsréférentiel sur GitHub. Pour fournir des commentaires sur la facilité d'utilisation des suites de chiffrement, ou partager de nouvelles conditions ou résultats de test, créez un problème dans le référentiel s2n-tls.

  • Nous écrivons des exemples de code pour utiliser le protocole TLS post-quantique hybride AWS KMS dans le aws-kms-pq-tls-example GitHubréférentiel. Pour poser des questions ou partager des idées sur la configuration de votre client HTTP ou du client AWS KMS pour utiliser les suites de chiffrement hybrides, créez un problème dans le référentiel aws-kms-pq-tls-example.

Régions AWS prises en charge

Post-Quantum TLS pour AWS KMS est disponible dans toutes les Régions AWS que AWS KMS prend en charge excepté pour la Chine (Beijing) et Chine (Ningxia).

Note

AWS KMS ne prend pas en charge le protocole TLS post-quantique hybride pour les points de terminaison FIPS dans AWS GovCloud (US).

Pour obtenir la liste de tous les points de terminaison AWS KMS dans chaque Région AWS, consultez les Points de terminaison et quotas AWS Key Management Service dans le Référence générale d'Amazon Web Services. Pour plus d'informations sur les points de terminaison FIPS, consultez Points de terminaison FIPS dans le Référence générale d'Amazon Web Services.

À propos de l'échange de clés post-quantiques hybrides dans TLS

AWS KMS prend en charge les suites hybrides de chiffrement d'échange de clés post-quantiques. Vous pouvez utiliser les systèmes AWS SDK for Java 2.x et AWS Common Runtime sur Linux pour configurer un client HTTP qui utilise ces suites de chiffrement. Ensuite, chaque fois que vous vous connectez à un point de terminaison AWS KMS avec votre client HTTP, les suites de chiffrement hybrides sont utilisées.

Ce client HTTP utilise s2n-tls, qui est une implémentation open source du protocole TLS. Les suites de chiffrement hybrides que s2n-tls utilise ne sont implémentées qu'à des fins d'échange de clés, et non pour le chiffrement direct des données. Pendant l'échange de clés, le client et le serveur calculent la clé qu'ils utiliseront pour chiffrer et déchiffrer les données sur le réseau.

Les algorithmes utilisés par s2n-tls sont hybrides et combinent Diffie-Hellman (ECDH), un algorithme classique d'échange de clés utilisé aujourd'hui dans TLS, avecKyber, algorithme de chiffrement à clé publique et d'établissement de clés que le National Institute for Standards and Technology (NIST) a désigné comme première norme algorithme post-quantique d'accord de clés. Ce mécanisme hybride utilise chacun des algorithmes indépendamment pour générer une clé. Ensuite, il combine les deux clés cryptographiquement. Avec s2n-tls, vous pouvez configurer un client HTTP de manière à ce qu'il privilégie le protocole TLS post-quantique, ce qui place ECDH avec Kyber en tête de la liste des préférences. Les algorithmes d'échange de clés classiques sont inclus dans la liste des préférences pour garantir la compatibilité, mais ils sont plus bas dans l'ordre de préférence.

Si les recherches en cours révèlent que l'algorithme Kyber n'a pas la force post-quantique attendue, la clé hybride est toujours au moins aussi forte que la seule clé ECDH actuellement utilisée. Jusqu'à ce que ce processus soit terminé, nous recommandons d'utiliser des algorithmes hybrides plutôt que des algorithmes post-quantiques seuls.

Utilisation du TLS post-quantique hybride avec AWS KMS

Vous pouvez utiliser le TLS post-quantique hybride pour vos appels vers AWS KMS. Lors de la configuration de votre environnement de test client HTTP, tenez compte des informations suivantes :

Chiffrement en transit

Les suites de chiffrement hybrides dans s2n-tls sont utilisées uniquement pour le chiffrement en transit. Elles protègent vos données pendant qu'elles se déplacent de votre client vers le point de terminaison AWS KMS. AWS KMS n'utilise pas ces suites de chiffrement pour chiffrer les données sous AWS KMS keys.

Au lieu de cela, lorsque AWS KMS chiffre vos données sous des clés KMS, il utilise un chiffrement symétrique avec des clés 256 bits et l'algorithme Advanced Encryption Standard in Galois Counter Mode (AES-GCM), qui est déjà résistant à la quantique. Dans un avenir théorique, les attaques de calcul quantique à grande échelle sur les textes chiffrés créés sous les clés AES-GCM 256 bits réduiront la sécurité effective de la clé à 128 bits. Ce niveau de sécurité est suffisant pour rendre les attaques de force brute sur les textes chiffrés AWS KMS irréalisables.

Systèmes pris en charge

L'utilisation des suites de chiffrement hybrides dans s2n-tls n'est actuellement prise en charge que sur les systèmes Linux. En outre, ces suites de chiffrement sont prises en charge uniquement dans les kits SDK qui prennent en charge le moteur d'exécution common AWS, par exemple AWS SDK for Java 2.x. Pour obtenir un exemple, consultez Comment configurer le TLS post-quantique hybride.

Points de terminaison AWS KMS

Lorsque vous utilisez les suites de chiffrement hybrides, utilisez le point de terminaison AWS KMS standard. Les suites de chiffrement hybrides dans s2n-tls ne sont pas compatibles avec les points de terminaison validés FIPS 140-2 pour AWS KMS.

Lorsque vous configurez un client HTTP de manière à ce qu'il privilégie les connexions TLS post-quantiques avec s2n-tls, les chiffrements post-quantiques apparaissent en premier dans la liste des préférences de chiffrement. Toutefois, la liste des préférences inclut les chiffrements classiques non hybrides plus bas dans l'ordre de préférence pour la compatibilité. Lorsque vous configurez un client HTTP de manière à ce qu'il privilégie le protocole TLS post-quantique avec un point de terminaison validé par AWS KMS FIPS 140-2, s2n-tls négocie un chiffrement d'échange de clés classique et non hybride.

Pour obtenir la liste de tous les points de terminaison AWS KMS dans chaque Région AWS, consultez les Points de terminaison et quotas AWS Key Management Service dans le Référence générale d'Amazon Web Services. Pour plus d'informations sur les points de terminaison FIPS, consultez Points de terminaison FIPS dans le Référence générale d'Amazon Web Services.

Performances attendues

Nos premiers tests de référence montrent que les suites de chiffrement hybrides dans s2n-tls sont plus lentes que les suites de chiffrement TLS classiques. L'effet varie en fonction du profil réseau, de la vitesse du processeur, du nombre de cœurs et de votre fréquence d'appel. Pour obtenir les résultats des tests de performance, reportez-vous sur Comment régler TLS pour la cryptographie post-quantique hybride avec Kyber.

Comment configurer le TLS post-quantique hybride

Dans cette procédure, ajoutez une dépendance Maven pour le client HTTP AWS Common Runtime. Vous pouvez ensuite configurer un client HTTP qui privilégie le protocole TLS post-quantique. Ensuite, créez un client AWS KMS qui utilise le client HTTP.

Pour voir des exemples complets de configuration et d'utilisation de TLS post-quantique hybride avec AWS KMS, veuillez consulter le référentiel aws-kms-pq-tls-example.

Note

Le client HTTP AWS Common Runtime, qui était disponible en version préliminaire, est désormais généralement disponible depuis février 2023. Dans cette version, la classe tlsCipherPreference et le paramètre de méthode tlsCipherPreference() sont remplacés par le paramètre de méthode postQuantumTlsEnabled(). Si vous utilisiez cet exemple dans la version préliminaire, vous devez procéder à la mise à jour de votre code.

  1. Ajoutez le client de moteur d'exécution commun AWS à vos dépendances Maven. Nous vous recommandons d'utiliser la dernière version disponible.

    Par exemple, cette instruction ajoute la version 2.20.0 du client AWS Common Runtime à vos dépendances Maven.

    <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.20.0</version> </dependency>
  2. Pour activer les suites de chiffrement post-quantique hybrides, ajoutez le AWS SDK for Java 2.x à votre projet et initialisez-le. Activez ensuite les suites de chiffrement post-quantique hybrides sur votre client HTTP, comme indiqué dans l'exemple suivant.

    Ce code utilise le paramètre de méthode postQuantumTlsEnabled() pour configurer un client HTTP AWS Common Runtime qui privilégie la suite de chiffrement post-quantique hybride recommandée, ECDH avec Kyber. Il utilise ensuite le client HTTP configuré pour créer une instance du client asynchrone AWS KMS, KmsAsyncClient. Une fois ce code terminé, toutes les demandes d'API AWS KMS effectuées sur l'instance KmsAsyncClient utilisent le protocole TLS post-quantique hybride.

    // Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build();
  3. Testez vos appels AWS KMS avec le protocole TLS post-quantique hybride.

    Lorsque vous appelez des opérations d'API AWS KMS sur le client AWS KMS configuré, vos appels sont transmis au point de terminaison AWS KMS à l'aide de TLS post-quantique hybride. Pour tester votre configuration, appelez une API AWS KMS, telle que ListKeys.

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

Tests de TLS post-quantiques hybrides avec AWS KMS

Envisagez d'exécuter les tests suivants avec des suites de chiffrement hybrides sur vos applications qui appellent AWS KMS.

  • Exécutez des tests de charge et des repères. Les suites de chiffrement hybrides fonctionnent différemment des algorithmes d'échange de clés traditionnels. Il se peut que vous deviez ajuster les délais d'expiration de votre connexion pour tenir compte des durées de liaison plus longues. Si vous exécutez à l'intérieur d'une fonction AWS Lambda, étendez le paramètre de délai d'exécution.

  • Essayez de vous connecter à partir de différents endroits. Selon le chemin réseau emprunté par votre demande, vous découvrirez peut-être que des hôtes intermédiaires, des proxys ou des pare-feu avec inspection approfondie des paquets (DPI) bloquent la demande. Cela peut être dû à l'utilisation des nouvelles suites de chiffrement dans le ClientHellocadre de la poignée de main TLS ou à des messages d'échange de clés plus volumineux. Si vous rencontrez des difficultés pour résoudre ces problèmes, collaborez avec votre équipe de sécurité ou les administrateurs informatiques pour mettre à jour la configuration appropriée et débloquer les nouvelles suites de chiffrement TLS.

En savoir plus sur le TLS post-quantique dans AWS KMS

Pour de plus amples informations sur l'utilisation de TLS post-quantique hybride dans AWS KMS, veuillez consulter les ressources suivantes.