生成数据密钥 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

生成数据密钥

数据密钥是可用于加密数据的对称密钥,包括大量数据和其他数据加密密钥。与无法下载的对称 KMS 密钥不同的是,数据密钥可以返回给您在 Amazon KMS 外部使用。

当 Amazon KMS 生成数据密钥时,它会返回供立即使用的明文数据密钥(可选)和可以随数据安全存储的数据密钥的加密副本。准备好解密数据时,首先要求 Amazon KMS 解密已加密的数据密钥。

Amazon KMS 会生成、加密和解密数据密钥。但是,Amazon KMS 不会存储、管理或跟踪您的数据密钥,也不会使用数据密钥执行加密操作。您必须在 Amazon KMS 之外使用和管理数据密钥。有关安全使用数据密钥的帮助,请参阅 Amazon Encryption SDK

创建数据密钥

要创建数据密钥,请调用 GenerateDataKeyPair 操作。Amazon KMS 生成数据密钥 然后,它会在您指定的对称加密 KMS 密钥下加密数据密钥的副本。此操作会返回数据密钥的明文副本以及由 KMS 密钥加密的数据密钥的副本。下图展示了此操作。

生成数据密钥

Amazon KMS 还支持 GenerateDataKeyWithoutPlaintext 操作,此操作仅返回加密的数据密钥。当您需要使用数据密钥时,请要求 Amazon KMS 解密它。

如何使用数据密钥进行加密操作

以下主题说明了由 GenerateDataKeyGenerateDataKeyWithoutPlaintext 生成的数据密钥的工作原理。

使用数据密钥加密数据

Amazon KMS 无法使用数据密钥来加密数据。但您可以在 Amazon KMS 之外使用数据密钥,例如使用 OpenSSL 或 Amazon Encryption SDK 等加密库。

在使用明文数据密钥加密数据后,请尽快从内存中将其删除。您可以安全地存储加密数据密钥及加密数据,以便其可根据需要用于解密数据。

在 Amazon KMS 之外加密用户数据

使用数据密钥解密数据

要解密数据,请将加密数据密钥传递至 Decrypt 操作。Amazon KMS 使用您的 KMS 密钥解密数据密钥,然后再返回明文数据密钥。使用明文数据密钥解密数据,并尽快从内存中删除该明文数据密钥。

下图显示了如何使用 Decrypt 操作解密加密的数据密钥。

解密数据密钥