生成数据密钥 - AWS Key Management Service

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

生成数据密钥

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

AWS KMS 生成数据密钥时,它会返回一个供立即使用的纯文本数据密钥(可选)和数据密钥的加密副本,您可以安全地将其与数据一起存储。当你准备好解密数据时,你首先要求 AWS KMS 解密加密的数据密钥。

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

创建数据密钥

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

生成数据密钥

AWS KMS 还支持该GenerateDataKeyWithoutPlaintext操作,该操作仅返回加密的数据密钥。当您需要使用数据密钥时,请要求对其 AWS KMS 进行解密

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

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

使用数据密钥加密数据

AWS KMS 无法使用数据密钥加密数据。但是你可以在外部使用数据密钥 AWS KMS,例如使用 OpenSSL 或加密库,比如。AWS Encryption SDK

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

加密外部的用户数据 AWS KMS

使用数据密钥解密数据

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

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

解密数据密钥