Encrypt - AWS Key Management Service

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

Encrypt

AWS KMS 的一项基本功能是加密 KMS 密钥下的对象。根据设计,AWS KMS 在 HSM 上提供低延迟加密操作。因此,直接调用加密函数时,可以加密的明文量限制为 4 KB。AWS Encryption SDK 可用于加密较大的消息。AWS KMS 在对命令进行身份验证后,将获取与 KMS 密钥相关的当前活动 EKT。它将 EKT 连同明文和加密上下文传递给区域中任何可用 HSM。这些数据通过 AWS KMS 主机和域中 HSM 之间经过身份验证的会话发送。

HSM 运行以下操作:

  1. 解密 EKT 以获取 HBK = Decrypt(DKi, EKT)

  2. 生成一次性的随机数 N

  3. HBKN 派生 256 位 AES-GCM 派生的加密密钥 K

  4. 加密明文 ciphertext = Encrypt(K, context, plaintext)

密文值将返回给您,而不会在 AWS 基础设施中的任意位置保留明文数据或密文。如果没有密文、加密上下文和使用 KMS 密钥的授权,则无法返回底层明文。