AWS - KMS Enum
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
AWS 密钥管理服务 (AWS KMS) 被呈现为一种托管服务,简化了用户 创建和管理客户主密钥 (CMK) 的过程。这些 CMK 在用户数据的加密中至关重要。AWS KMS 的一个显著特点是 CMK 主要 由硬件安全模块 (HSM) 保护,增强了加密密钥的保护。
KMS 使用 对称加密。这用于 加密静态信息(例如,在 S3 内部)。如果您需要 加密传输中的信息,则需要使用类似 TLS 的东西。
KMS 是一种 区域特定服务。
亚马逊的管理员无法访问您的密钥。他们无法恢复您的密钥,也不会帮助您加密您的密钥。AWS 仅管理操作系统及其底层应用程序,管理我们的加密密钥及其使用方式由我们自己负责。
客户主密钥 (CMK):可以加密最大 4KB 的数据。它们通常用于创建、加密和解密 DEK(数据加密密钥)。然后使用 DEK 来加密数据。
客户主密钥 (CMK) 是 AWS KMS 中主密钥的逻辑表示。除了主密钥的标识符和其他元数据(包括创建日期、描述和密钥状态)外,CMK 包含用于加密和解密数据的密钥材料。当您创建 CMK 时,默认情况下,AWS KMS 为该 CMK 生成密钥材料。然而,您可以选择创建没有密钥材料的 CMK,然后将自己的密钥材料导入该 CMK。
有两种类型的主密钥:
AWS 管理的 CMK:由其他服务用于加密数据。它由在区域中创建它的服务使用。它们在您首次在该服务中实现加密时创建。每 3 年轮换一次,无法更改。
客户管理的 CMK:灵活性、轮换、可配置的访问和密钥策略。启用和禁用密钥。
信封加密 在密钥管理服务 (KMS) 的上下文中:两级层次系统,用于 使用数据密钥加密数据,然后使用主密钥加密数据密钥。
这些定义了 谁可以使用和访问 KMS 中的密钥。
默认情况下:
它授予 拥有 KMS 密钥的 AWS 账户的 IAM 访问,以通过 IAM 管理对 KMS 密钥的访问。
与其他 AWS 资源策略不同,AWS KMS 密钥策略不会自动授予账户的任何主体权限。要授予账户管理员权限,密钥策略必须包含提供此权限的明确声明,如下所示。
如果不允许账户("AWS": "arn:aws:iam::111122223333:root"
)的 IAM 权限将无效。
它 允许账户使用 IAM 策略 允许访问 KMS 密钥,除了密钥策略之外。
没有此权限,允许访问密钥的 IAM 策略将无效,尽管拒绝访问密钥的 IAM 策略仍然有效。
它 通过授予账户管理员(包括账户根用户)访问控制权限,降低密钥变得不可管理的风险,根用户无法被删除。
默认策略 示例:
如果账户被允许("arn:aws:iam::111122223333:root"
),则该账户的主体仍然需要IAM权限才能使用KMS密钥。然而,如果某个角色的ARN在密钥策略中被特别允许,则该角色不需要IAM权限。
默认的密钥管理员:
有权管理KMS,但无权加密或解密数据
只有IAM用户和角色可以添加到密钥管理员列表中(不包括组)
如果使用外部CMK,密钥管理员有权限导入密钥材料
同一密钥放置的时间越长,使用该密钥加密的数据就越多,如果该密钥被泄露,则数据的风险范围就越大。此外,密钥活动的时间越长,被泄露的概率就越高。
KMS每365天轮换客户密钥(或者您可以在任何时候手动执行此过程),AWS管理的密钥每3年轮换一次,且此时间无法更改。
旧密钥被保留以解密在轮换之前加密的数据
在泄露的情况下,轮换密钥不会消除威胁,因为仍然可以解密所有使用被泄露密钥加密的数据。然而,新数据将使用新密钥加密。
如果CMK处于禁用或待删除状态,KMS将不执行密钥轮换,直到CMK被重新启用或删除被取消。
需要创建一个新CMK,然后创建一个新的CMK-ID,因此您需要更新任何应用程序以引用新的CMK-ID。
为了简化此过程,您可以使用别名来引用密钥ID,然后只需更新别名所指向的密钥。
您需要保留旧密钥以解密使用其加密的旧文件。
您可以从您的本地密钥基础设施导入密钥。
KMS按每月从所有服务接收的加密/解密请求数量定价。
KMS与CloudTrail有完整的审计和合规集成;这是您可以审计在KMS上执行的所有更改的地方。
使用KMS策略,您可以执行以下操作:
限制谁可以创建数据密钥以及哪些服务可以使用这些密钥
限制系统访问仅加密、仅解密或两者都可以
定义使系统能够跨区域访问密钥(尽管不推荐,因为托管KMS的区域发生故障将影响其他区域系统的可用性)。
您不能在区域之间同步或移动/复制密钥;您只能定义规则以允许跨区域访问。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)