AWS KMS:CMK 和密钥材料有什么区别?

问题描述

在以下文档中,AWS 引用了一个名为 key material 的概念。

AWS KMS Documentation:使用自定义密钥存储

AWS KMS 支持由 AWS CloudHSM 集群支持自定义密钥存储。当您在自定义密钥存储中创建 AWS KMS 客户主密钥 (CMK) 时,AWS KMS 会在您拥有和管理的 AWS CloudHSM 集群中为 CMK 生成和存储不可提取的密钥材料。

以KMS中的非对称加密密钥对为例,什么是密钥材料? CMK是什么? CMK 和密钥材料有什么区别?

解决方法

对于非对称密钥,“密钥材料”将是您的私钥。如果您在 AWS 使用自己的 AWS CloudHSM Dynamic Engine,而不是用于 KMS 的 AWS 拥有的集群,则可以使用 CloudHSM cluster 自行生成。

由于您使用的是 KMS,因此您无法直接访问私钥,因为它是“不可提取的”。

客户主密钥 (CMK) 是一种 AWS 资源,允许您管理和间接使用密钥材料(即非对称私钥)。所以因为你不能直接看到你的私钥,也不能直接操作你的私钥,所以你使用CMK资源来使用它。由于 CMK 是一种资源,它提供了许多围绕密钥材料构建的附加功能,例如:

  • 自动密钥轮换
  • KMS 密钥策略和 IAM 策略
  • 与众多 AWS 服务(例如 S3、EBS、RDS)透明集成,
  • 和其他人。
,

CMK 是逻辑容器,其中包含:

  • 密钥材料,用于加密数据和解密数据。
  • key-id
  • ARN
  • 其他东西。

参考

https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys