AWS KMS 概念 - AWS Key Management Service

AWS KMS 概念

了解 AWS Key Management Service (AWS KMS) 中使用的基本术语和概念,以及它们如何协同工作以帮助保护您的数据。

简介AWS KMS

AWS Key Management Service (AWS KMS) 提供一个 Web 界面,用于生成和管理加密密钥,并作为保护数据的加密服务提供程序运行。AWS KMS 提供与 AWS 服务集成的传统密钥管理服务,从而通过集中的管理和审计提供跨 AWS 的客户密钥的一致视图。

AWS KMS 包括一个 Web 界面,通过 AWS 管理控制台、命令行界面和 RESTful API 操作请求 FIPS 140-3 经验证硬件安全模块(HSM)分布式实例集的加密操作。AWS KMS HSM 是一种多芯片独立硬件加密设备,旨在提供专用的加密功能,以满足 AWS KMS 的安全性和可扩展性要求。您可以在作为 AWS KMS keys 管理的密钥下建立自己的基于 HSM 的加密层次结构。这些密钥仅在 HSM 上可用,并且仅在处理加密请求所需的必要时间内位于内存中。您可以创建多个 KMS 密钥,每个密钥均由其密钥 ID 表示。只有在每个客户管理的 AWS IAM 角色和账户下,才能创建、删除客户托管 KMS 密钥,或者将这些密钥用于加密、解密、签名或验证数据。通过创建附加到密钥的策略,您可以定义可以管理和/或使用 KMS 密钥的人员的访问控制。此类策略允许您为每个 API 操作定义特定于应用程序的用途。

此外,大多数 AWS 服务支持使用 KMS 密钥加密静态数据。此功能允许客户通过控制访问 KMS 密钥的方式和时间来控制 AWS 服务访问加密数据的方式和时间。

AWS KMS 架构

AWS KMS 是一种分层服务,由面向 Web 的 AWS KMS 主机和一层 HSM 组成。这些分层主机的分组形成 AWS KMS 堆栈。对 AWS KMS 的所有请求必须通过传输层安全性协议(TLS)发出,并在 AWS KMS 主机上终止。AWS KMS 主机仅允许将 TLS 用于提供完美前向机密性的密码套件。AWS KMS 用于对请求进行身份验证和授权的凭证和策略机制,与适用于所有其他 AWS API 操作的 AWS Identity and Access Management(IAM)凭证和策略机制完全相同。

AWS KMS 设计目标

AWS KMS 设计为满足以下要求。

持久性

加密密钥的持久性设计为等同于 AWS 中服务最高的持久性。一个加密密钥可以加密长时间累积的大量数据。

值得信赖

密钥的使用受您定义和管理的访问控制策略的保护。没有导出明文 KMS 密钥的机制。加密密钥的机密性至关重要。要对 HSM 执行管理操作,需要对具有基于仲裁的访问控制的角色特定访问权限的多名 Amazon 员工。

低延迟和高吞吐量

AWS KMS 以适合 中其他服务使用的延迟和吞吐量水平提供加密操作。AWS

独立区域

AWS 为需要在不同区域限制数据访问的客户提供独立的区域。可以在 AWS 区域 内隔离密钥使用。

随机数的安全来源

由于强加密依赖于真正不可预测的随机数生成,因此 AWS KMS 提供优质且经过验证的随机数来源。

审核

AWS KMS 在 AWS CloudTrail 日志中记录加密密码的使用和管理。您可以使用 AWS CloudTrail 日志来检查加密密钥的使用情况,包括 AWS 服务代表您使用密钥。

为了实现这些目标,AWS KMS 系统包括一组管理“域”的 AWS KMS 运营商和服务主机运营商(统称为“运营商”)。域是按区域定义的一组 AWS KMS 服务器、HSM 和运营商。每个 AWS KMS 运营商都有一个硬件令牌,该令牌包含用于验证其操作的私有和公有密钥对。HSM 还有一个额外的私有和公有密钥对,用于建立保护 HSM 状态同步的加密密钥。