自定义密钥存储 - AWS Key Management Service

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

自定义密钥存储

密钥存储 是用于存储加密密钥的安全位置。AWS KMS 中的默认密钥存储还支持生成和管理其存储的密钥的方法。默认情况下,您在 AWS KMS 中创建的 AWS KMS keys 在硬件安全模块(HSM)中生成并受其保护,这些模块是 FIPS 140-2 验证的加密模块。KMS 密钥的密钥材料绝不会让 HSM 处于未加密状态。

不过,如果您需要加强对 HSM 的控制,则可以创建自定义密钥存储。

自定义密钥存储是 AWS KMS 中的逻辑密钥存储,由您拥有和管理的 AWS KMS 之外的密钥管理器提供支持。自定义密钥存储将 AWS KMS 的方便、全面的密钥管理界面与拥有和控制密钥材料和加密操作的能力结合。在自定义密钥存储中使用 KMS 密钥时,加密操作实际上是通过您的密钥管理器使用您的加密密钥来执行。因此,您对加密密钥的可用性和持久性以及 HSM 的运行承担更多责任。

AWS KMS 支持两种类型的自定义密钥存储。

  • AWS CloudHSM 密钥存储是由 AWS CloudHSM 集群支持的 AWS KMS 自定义密钥存储。当您在 AWS CloudHSM 密钥存储中创建 KMS 密钥时,AWS KMS 将在关联的 AWS CloudHSM 集群中生成 256 位、持久且不可导出的高级加密标准(AES)对称密钥。此密钥材料绝不会让您的 AWS CloudHSM 集群处于未加密状态。当在 AWS CloudHSM 密钥存储中使用 KMS 密钥时,集群中的 HSM 中会执行加密操作。AWS CloudHSM 集群由经 FIPS 140-2 3 级认证的的硬件安全模块(HSM)提供支持。

  • 外部密钥存储是由您在 AWS 之外拥有和控制的外部密钥管理器所支持的 AWS KMS 自定义密钥存储。在使用外部密钥存储中的 KMS 密钥时,将使用加密密钥通过外部密钥管理器执行解密操作。外部密钥存储旨在支持来自不同供应商的各种外部密钥管理器。

    AWS KMS 绝不会直接查看、访问您的外部密钥管理器或与您的外部密钥管理器或加密密钥交互。在使用外部密钥存储中的 KMS 密钥加密或解密时,将使用外部密钥通过外部密钥管理器执行操作。您保留对加密密钥的完全控制权,包括无需与 AWS 交互即可拒绝或停止加密操作的能力。但是,由于距离和额外的处理,外部密钥存储中的 KMS 密钥的延迟性可能会较高、性能可能会较差,并且可能有与 AWS KMS 中的包含密钥材料的 KMS 密钥不同的可用性特征。有关与 AWS KMS 外部密钥存储功能兼容的密钥管理器的更多信息,请参阅《AWS Key Management Service 常见问题》中的哪些外部供应商支持 XKS 代理规范?

这两种类型的自定义密钥存储与标准 AWS KMS 密钥存储不同,两种类型之间也有很大不同。他们的安全模型、责任范围、性能、价格和用例也大不相同。在选择自定义密钥存储之前,请阅读相关文档,确认额外的配置和维护责任是针对额外控制的明智的权衡之举。但是,如果您操作所依据的规则和条例要求直接控制密钥材料,那么自定义密钥存储可能是一个不错的选择。

不支持的功能

AWS KMS 在自定义密钥存储中不支持以下功能。