AWS Key Management Service 的基础设施安全性 - AWS Key Management Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

AWS Key Management Service 的基础设施安全性

作为一项托管服务,AWS KMS (AWS KMS) 由 AWS 全球网络安全程序提供保护,如Amazon Web Services:安全过程概述

要通过网络访问 AWS KMS,您可以调用AWS Key Management Service API 参考。使用标准 AWS KMS 终端节点,则客户端必须支持传输层安全性 (TLS) 1.0 或更高版本。使用AWS KMS FIPS 终端节点,则客户端必须支持 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密 (PFS) 的密码套件,例如 Ephemeral Diffie-Hellman (DHE) 或 Elliptic Curve Ephemeral Diffie-Hellman (ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者,您可以使用 AWS Security Token Service (AWS STS) 生成临时安全凭证来对请求进行签名。

您可以从任何网络位置调用这些 API 操作,但 AWS KMS 支持全球策略条件,使您可以基于源 IP 地址、VPC 和 VPC 终端节点控制对 CMK 的访问。您可以在密钥策略和 IAM 策略中使用这些条件键。但是,这些条件可能会阻止 AWS 代表您使用 CMK。有关详细信息,请参阅 AWS 全局条件密钥

例如,以下键策略语句允许可以假设KMSTestRole角色将此客户主密钥 (CMK) 用于指定的加密操作除非源 IP 地址是策略中指定的 IP 地址之一。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/KMSTestRole"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] } } } }

物理主机隔离

AWS KMS 使用的物理基础设施的安全性受物质和环境安全的 部分Amazon Web Services:安全过程概述。您可以在上一节中列出的合规性报告和第三方审计结果中找到更多详细信息。

AWS KMS 由专用的强化硬件安全模块 (HSM) 提供支持,该模块具有特定控制功能,可抵御物理攻击。HSM 是物理设备,请不要具有虚拟化层(如虚拟机管理程序),可在多个逻辑租户之间共享物理设备。AWS KMS 客户主密钥 (CMK) 的密钥材料仅存储在 HSM 上的易失性内存中,并且仅在使用 CMK 时才存储。当 HSM 退出操作状态(包括预期和意外关机和重置)时,此内存将被擦除。有关 AWS KMS HSM 操作的详细信息,请参阅AWS Key Management Service 加密详细信息