

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将混合后量子 TLS 与 AWS KMS
<a name="pqtls"></a>

AWS Key Management Service (AWS KMS) 支持传输层安全 (TLS) 网络加密协议的混合后量子密钥交换选项。当您连接到 AWS KMS API 终端节点时，可以使用此 TLS 选项。这些混合后量子密钥交换功能是可选的，至少与我们目前使用的 TLS 加密一样安全，并且有可能会提供额外的长期安全优势。不过，与目前使用的传统密钥交换协议相比，它们会影响延迟和吞吐量性能。

您发送到 AWS Key Management Service (AWS KMS) 的数据在传输过程中受到传输层安全 (TLS) 连接提供的加密保护。借助 AWS KMS 支持对 TLS 会话使用的传统密码套件，使得对密钥交换机制进行的暴力攻击在现有技术下是不可行的。不过，如果大规模量子计算在未来得到广泛应用，那么 TLS 密钥交换机制中使用的传统密码套件将会容易受到这些攻击。如果您开发的应用程序依赖于通过 TLS 连接传输的数据的长期机密性，则应考虑在大规模量子计算机可供使用之前迁移到后量子密码学的计划。 AWS 正在努力为这个未来做准备，我们也希望你也做好充分的准备。

*为了保护当今加密的数据免受未来潜在的攻击， AWS 正在与密码学界一起开发抗量子算法或后量子算法。*我们已经实现了*混合*后量子密钥交换密码套件 AWS KMS ，该套件结合了经典和后量子元素，以确保您的TLS连接至少与经典密码套件一样强大。

[在大多数情况下，这些混合密码套件可用于您的生产工作负载。 AWS 区域](#pqtls-regions)但是，由于混合密码套件的性能特征和带宽要求与经典密钥交换机制不同，因此我们建议您在不同的条件下在 [AWS KMS API 调用中对其进行测试](pqtls-how-to.md#pqtls-testing)。

**反馈**

与以前一样，我们希望您能够提供反馈并参与我们的开源存储库。我们尤其希望了解您的基础设施如何与新形式的 TLS 流量进行交互。
+ 要提供有关本主题的反馈，请使用此页面右上角的**反馈**链接。
+ 我们正在的[https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls)存储库中以开源方式开发这些混合密码套件。 GitHub要提供有关密码套件可用性方面的反馈，或者共享全新的测试条件或结果，请在 s2n-tls 存储库中[创建问题](https://github.com/aws/s2n-tls/issues)。
+ 我们正在编写代码示例，用于在[https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example) GitHub 存储库 AWS KMS 中使用混合后量子 TLS。要提出问题或分享有关将 HTTP 客户端或 AWS KMS 客户端配置为使用混合密码套件的想法，请在存储库中[aws-kms-pq-tls-example创建问题](https://github.com/aws-samples/aws-kms-pq-tls-example/issues)。

**支持 AWS 区域**

后量子 TLS AWS KMS 适用于所有 AWS 区域 AWS KMS 支持的版本。

有关每个 AWS KMS 终端节点的列表 AWS 区域，请参阅中的[AWS Key Management Service 终端节点和配额*Amazon Web Services 一般参考*](https://docs.aws.amazon.com/general/latest/gr/kms.html)。有关 FIPS 端点的信息，请参阅《Amazon Web Services 一般参考》**中的 [FIPS endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints)。

## 关于 TLS 中的混合后量子密钥交换
<a name="PQTLS-concepts"></a>

AWS KMS 支持混合后量子密钥交换密码套件。您可以在 Linux 系统上使用 AWS SDK for Java 2.x 和 AWS 通用运行时来配置使用这些密码套件的 HTTP 客户端。然后，每当您使用 HTTP 客户端连接到 AWS KMS 终端节点时，都会使用混合密码套件。

此 HTTP 客户端使用 [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls)，后者是 TLS 协议的开源实现。s2n-tls 使用的混合密码套件只能用于密钥交换，而不能用于直接数据加密。在*密钥交换*过程中，客户端和服务器会计算将用于加密和解密传输中的数据的密钥。

s2n-tls 使用一种将[椭圆曲线 Diffie-Hellman 算法](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman)（ECDH）与[基于模格的密钥封装机制](https://csrc.nist.gov/pubs/fips/203/final)（ML-KEM）进行组合的*混合算法*。ECDH 算法是目前 TLS 中使用的传统密钥交换算法，基于模格的密钥封装机制是美国国家标准和技术研究院（NIST）[指定为第一个标准](https://csrc.nist.gov/pubs/fips/203/final)后量子密钥协商算法的公有密钥加密和密钥生成算法。此混合算法单独使用每个算法来生成密钥。然后，以加密方式结合使用这两个密钥。使用 s2n-tls 时，您可以 [配置 HTTP 客户端](pqtls-how-to.md) 来优先使用后量子 TLS，后者会将 ECDH 与 ML-KEM 放在优先列表的首位。传统密钥交换算法包含在优先列表中以确保兼容性，但它们的优先顺序较低。

## 将混合后量子 TLS 与 AWS KMS
<a name="pqtls-details"></a>

您可以使用混合后量子 TLS 来调用。 AWS KMS在设置 HTTP 客户端测试环境时，请注意以下信息：

**传输中加密**

s2n-tls 中的混合密码套件仅用于传输中加密。当您的数据从您的客户端传输到 AWS KMS 终端时，它们会保护您的数据。 AWS KMS 不使用这些密码套件对下的数据进行加密。 AWS KMS keys

取而代之的是，在 KMS 密钥下 AWS KMS 加密您的数据时，它使用带有 256 位密钥的对称加密和伽罗瓦计数器模式下的高级加密标准 (AES-GCM) 算法，该算法已经具有量子抗性。理论上，在未来针对使用 256 位 AES-GCM 密钥创建的密文的大规模量子计算攻击中，[密钥的有效安全性将会降至 128 位](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf)。这个安全级别足以使对 AWS KMS 密文进行暴力攻击变得不可行。

**支持的系统**

目前，仅在 Linux 系统上支持使用 s2n-tls 中的混合密码套件。此外，只有支持 AWS 公共运行时的密码套件 SDKs 才支持这些密码套件，例如。 AWS SDK for Java 2.x有关示例，请参阅[配置混合后量子 TLS](pqtls-how-to.md)。

**AWS KMS 端点**

AWS KMS 在所有端点上支持混合后量子 TLS，包括 [FIPS 140-3 验证](https://docs.aws.amazon.com/general/latest/gr/kms.html)的端点。

## 要了解有关后量子 TLS 的更多信息，请参阅 AWS KMS
<a name="pqtls-see-also"></a>

有关在中使用混合后量子 TLS 的更多信息 AWS KMS，请参阅以下资源。
+ 要了解后量子密码学 AWS，包括博客文章和研究论文的链接，请参阅[后](https://aws.amazon.com/security/post-quantum-cryptography/)量子密码学。
+ 有关 s2n-tls 的信息，请参阅[推出新的开源 TLS 实施 s2n-tls](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) 和[使用 s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide)。
+ 有关 AWS 通用运行时 HTTP 客户端的信息，请参阅*AWS SDK for Java 2.x 开发人员指南*[中的配置 AWS 基于 CRT 的 HTTP 客户端](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html)。
+ 有关美国国家标准和技术研究所 (NIST) 开展的后量子密码加密技术项目的信息，请参阅[后量子密码加密技术](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography)。
+ 有关 NIST 后量子密码标准化的信息，请参阅 [后量子密码标准化](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization)。