AWS KMS 中的非对称密钥 - AWS Key Management Service

AWS KMS 中的非对称密钥

AWS KMS 支持非对称 KMS 密钥,这些密钥代表与数学相关的 RSA、椭圆曲线(ECC)或 SM2(仅限中国区域)公有和私有密钥对。这些密钥对在通过 FIPS 140-2 加密模块验证计划认证的 AWS KMS 硬件安全模块中生成,中国(北京)和中国(宁夏)区域除外。私有密钥永远不会让 AWS KMS HSM 处于未加密状态。您可以下载公有密钥并在 AWS 外部分发和使用该密钥。您可以创建非对称 KMS 密钥进行加密和解密,或签名和验证,但不能同时用于二者。

您可以在 AWS 账户 中创建和管理非对称 KMS 密钥,包括设置用于控制密钥访问权限的密钥策略IAM policy授权启用和禁用 KMS 密钥、创建标签别名,以及删除 KMS 密钥。您可以在 AWS CloudTrail 日志的 AWS 中审核使用或管理非对称 KMS 密钥的所有操作。

AWS KMS 还提供了非对称数据密钥对,这些密钥设计用于 AWS KMS 外部的客户端加密。非对称数据密钥对中的对称数据密钥和私有密钥由 AWS KMS 中的对称加密 KMS 密钥保护。

本主题将介绍非对称 KMS 密钥的工作原理、它们与其他 KMS 密钥之间的差异,以及如何确定需要采用哪种 KMS 密钥保护数据。还将介绍非对称数据密钥对的工作原理,以及如何在 AWS KMS 外部使用这些密钥。

区域

AWS KMS 支持的所有 AWS 区域 中都支持非对称 KMS 密钥和非对称数据密钥对。

了解更多

非对称 KMS 密钥

您可以在 AWS KMS 中创建非对称 KMS 密钥。非对称 KMS 密钥表示数学上相关的公有密钥和私有密钥对。公有密钥可以交给任何人,即使他们不可靠,但私有密钥必须保密。

在非对称 KMS 密钥中,私有密钥是在 AWS KMS 中创建的,它永远不会让 AWS KMS 处于未加密状态。要使用私有密钥,必须调用 AWS KMS。您可以通过调用 AWS KMS API 操作在 AWS KMS 内使用公有密钥。或者,可以下载公有密钥并在 AWS KMS 外部使用该密钥。

如果使用案例需要无法调用 AWS KMS 的用户在 AWS 外部进行加密,那么非对称 KMS 密钥是个不错的选择。但是,如果您要创建 KMS 密钥来加密在 AWS 服务中存储或管理的数据,请使用对称加密 KMS 密钥。与 AWS KMS 集成的 AWS 服务仅使用对称加密 KMS 密钥来加密您的数据。这些服务不支持使用非对称 KMS 密钥进行加密。

AWS KMS 支持三种类型的非对称 KMS 密钥。

  • RSA KMS 密钥:具有 RSA 密钥对的 KMS 密钥,用于加密和解密或签名和验证(但不能同时用于二者)。AWS KMS 支持多种密钥长度,以满足不同的安全要求。

  • 椭圆曲线 (ECC) KMS 密钥:具有椭圆曲线密钥对的 KMS 密钥,用于签名和验证。AWS KMS 支持多种常用的曲线。

  • SM2 KMS 密钥(仅限中国区域):具有 SM2 密钥对的 KMS 密钥,用于加密和解密或签名和验证(但不能同时用于二者)。

有关选择非对称密钥配置的帮助,请参阅 选择一种 KMS 密钥类型。有关 AWS KMS 支持用于 RSA KMS 密钥的加密和签名算法的技术详细信息,请参阅 RSA 密钥规范。有关 AWS KMS 支持用于 ECC KMS 密钥的签名算法的技术详细信息,请参阅椭圆曲线密钥规范。有关 AWS KMS 支持用于 SM2 KMS 密钥的加密和签名算法的技术详细信息(中国区域),请参阅 SM2 密钥规范

有关可以对对称 KMS 密钥和非对称 KMS 密钥执行的操作的比较表格,请参阅比较对称 KMS 密钥与非对称 KMS 密钥。要获取确定 KMS 密钥是对称还是非对称的帮助,请参阅 识别非对称 KMS 密钥

区域

AWS KMS 支持的所有 AWS 区域 中都支持非对称 KMS 密钥和非对称数据密钥对。