4

如何从密文 blob 中获取 KMS 密钥信息?

以aws网站为例

AWS KMS 文档

aws kms encrypt --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --plaintext fileb://ExamplePlaintextFile --output text --query CiphertextBlob | base64 --decode > ExampleEncryptedFile

有什么方法可以查看 ExampleEncryptedFile 并确定使用哪个 KMS 密钥对其进行加密?

我问是因为我在读取我加密的内容时遇到问题,我想验证它是否使用我认为的密钥加密。

4

3 回答 3

3

是的,您可以通过使用aws kms decrypt(将密文和区域传递给它)来获取密钥 id,它不需要密钥 id 来执行解密。有关用于加密的密钥的信息是密文的一部分,因此,KMS 将能够获取此信息并返回“明文”和“KeyId”。

于 2019-03-01T23:34:33.847 回答
1

恐怕你做不到。encryptAPI 使用客户主密钥 (CMK) 来加密数据,并且该密钥永远不会离开 AWS 。除非您将密钥 ID 保存在某处(这不是一个好习惯),否则您将无法从加密文件中获取它。

如果您对 AWS 控制台具有管理访问权限,有几件事情会有所帮助:

于 2017-04-28T14:58:54.470 回答
1

加密的 blob 包含解密它所需的密钥信息。无法确定加密 blob 使用什么密钥作为其加密值的一部分进行加密。如果您不确定使用的是哪个密钥,则必须滚动该值并再次对其进行加密,或者开始尝试使用一次只能访问一个密钥的权限进行解密。

于 2019-03-02T01:13:54.730 回答