将混合后量子 TLS 与 Amazon KMS 结合使用
Amazon Key Management Service (Amazon KMS) 支持对传输层安全 (TLS) 网络加密协议使用混合后量子密钥交换选项。当您连接到 Amazon KMS API 终端节点时,可以使用此 TLS 选项。这些混合后量子密钥交换功能是可选的,至少与我们目前使用的 TLS 加密一样安全,并且有可能会提供额外的长期安全优势。不过,与目前使用的传统密钥交换协议相比,它们会影响延迟和吞吐量性能。
您发送到 Amazon Key Management Service (Amazon KMS) 的数据,在传输过程中由传输层安全 (TLS) 连接提供的加密机制进行保护。借助 Amazon KMS 支持对 TLS 会话使用的传统密码套件,使得对密钥交换机制进行的暴力攻击在现有技术下是不可行的。不过,如果大规模量子计算在未来得到广泛应用,那么 TLS 密钥交换机制中使用的传统密码套件将会容易受到这些攻击。如果您正在开发的应用程序依赖于通过 TLS 连接传输的数据的长期保密性,则应考虑在大规模量子计算机投入使用之前,采用迁移到后量子密码加密技术的计划。Amazon 正在努力针对这个远景做好准备,我们希望您也能做好充分的准备。
为了保护今天加密的数据,让这些数据在未来免受可能的攻击,Amazon 正在积极参与密码社区,一起开发抗量子密码算法或后量子算法。我们在 Amazon KMS 中实施了混合后量子密钥交换密码套件,通过将传统加密算法与后量子算法相结合,可确保 TLS 连接至少与传统密码套件一样强大。
这些混合密码套件可以在大多数 Amazon Web Services 区域 中用于您的生产工作负载。不过,由于混合密码套件的性能特征及带宽要求与传统密钥交换机制的性能特征及带宽要求有所不同,我们建议您在不同条件下针对 Amazon KMS API 调用开展测试。
反馈
与以前一样,我们希望您能够提供反馈并参与我们的开源存储库。我们尤其希望了解您的基础设施如何与新形式的 TLS 流量进行交互。
-
要提供有关本主题的反馈,请使用此页面右上角的反馈链接。
-
我们正在 GitHub 上的 s2n-tls
存储库中,以开源项目形式开发这些混合密码套件。要提供有关密码套件可用性方面的反馈,或者共享全新的测试条件或结果,请在 s2n-tls 存储库中创建问题 。 -
我们正在编写代码示例,以将混合后量子 TLS 与 aws-kms-pq-tls-example
GitHub 存储库中的 Amazon KMS 结合使用。要提出问题或分享有关配置 HTTP 客户端或 Amazon KMS 客户端以使用混合密码套件的想法,请在 aws-kms-pq-tls-example 存储库中创建问题 。
支持 Amazon Web Services 区域
Amazon KMS 支持多所有 Amazon Web Services 区域均支持将后量子 TLS 用于 Amazon KMS。
有关每个 Amazon Web Services 区域 中 Amazon KMS 端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Key Management Service endpoints and quotas。有关 FIPS 端点的信息,请参阅《Amazon Web Services 一般参考》中的 FIPS endpoints。
关于 TLS 中的混合后量子密钥交换
Amazon KMS 支持混合后量子密钥交换密码套件。您可以在 Linux 系统上使用 Amazon SDK for Java 2.x 和 Amazon 公共运行时,以配置使用这些密码套件的 HTTP 客户端。然后,无论您何时使用 HTTP 客户端连接到 Amazon KMS 端点,都会使用混合密码套件。
此 HTTP 客户端使用 s2n-tls
s2n-tls 使用一种将椭圆曲线 Diffie-Hellman 算法
将混合后量子 TLS 与 Amazon KMS 结合使用
您可以对 Amazon KMS 调用使用混合后量子 TLS。在设置 HTTP 客户端测试环境时,请注意以下信息:
传输中加密
s2n-tls 中的混合密码套件仅用于传输中加密。它们在数据从客户端传输到 Amazon KMS 终端节点的过程中保护您的数据。Amazon KMS 不会使用这些密码套件来加密使用 Amazon KMS keys 保护的数据。
相反,Amazon KMS 在使用 KMS 密钥加密您的数据时,它使用 256 位密钥的对称加密技术和 Galoas 计数器模式中的高级加密标准 (AES-GCM) 算法,该算法已具备抗量子性。理论上,在未来针对使用 256 位 AES-GCM 密钥创建的密文的大规模量子计算攻击中,密钥的有效安全性将会降至 128 位
支持的系统
目前,仅在 Linux 系统上支持使用 s2n-tls 中的混合密码套件。此外,这些密码套件仅在支持 Amazon 公共运行时的开发工具包中受支持,例如 Amazon SDK for Java 2.x。有关示例,请参阅配置混合后量子 TLS。
Amazon KMS 终端节点
使用混合密码套件时,应使用标准的 Amazon KMS 端点。Amazon KMS 不支持将混合后量子 TLS 用于 FIPS 140-3 认证端点。
在使用 s2n-tls 配置 HTTP 客户端以优先使用后量子 TLS 连接时,后量子密码将位于密码优先列表的首位。但是,在优先列表中,传统非混合密码处于较低的优先顺序,以便实现兼容性。使用 Amazon KMS 通过 FIPS 140-3 验证的端点配置 HTTP 客户端,以优先使用后量子 TLS 连接时,s2n-tls 将协商使用传统的非混合密钥交换密码。
有关每个 Amazon Web Services 区域 中 Amazon KMS 端点的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Key Management Service endpoints and quotas。有关 FIPS 端点的信息,请参阅《Amazon Web Services 一般参考》中的 FIPS endpoints。
了解有关 Amazon KMS 中的后量子 TLS 的更多信息
有关在 Amazon KMS 中使用混合后量子 TLS 的更多信息,请参阅以下资源。
-
要了解 Amazon 的后量子密码学,包括博客文章和研究论文的链接,请参阅 后量子密码学
。 -
有关 s2n-tls 的信息,请参阅推出新的开源 TLS 实施 s2n-tls
和使用 s2n-tls 。 -
有关 Amazon 公共运行时 HTTP 客户端的信息,请参阅《Amazon SDK for Java 2.x 开发者指南》中的 配置基于 Amazon CRT 的 HTTP 客户端。
-
有关美国国家标准和技术研究所 (NIST) 开展的后量子密码加密技术项目的信息,请参阅后量子密码加密技术
。 -
有关 NIST 后量子密码标准化的信息,请参阅 后量子密码标准化
。