AWS KMS 分层钥匙圈技术细节 - AWS Encryption SDK

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

AWS KMS 分层钥匙圈技术细节

AWS KMS 分层密钥环使用唯一的数据密钥来加密每个字段,并使用派生自活动分支密钥的唯一包装密钥对每个数据密钥进行加密。该技术使用计数器模式的密钥派生和带有 HMAC SHA-256 的伪随机函数,通过以下输入派生出 32 字节的包装密钥。

  • 一个 16 字节的随机加密盐

  • 活动分支密钥

  • 密钥提供程序标识符 “” aws-kms-hierarchy 的 UTF-8 编码

分层密钥环使用派生的包装密钥,使用带有 16 字节身份验证标签和以下输入的 AES-GCM-256 对明文数据密钥的副本进行加密。

  • 派生的包装密钥用作 AES-GCM 密码密钥

  • 数据密钥用作 AES-GCM 消息

  • 使用 12 字节的随机初始化向量(IV)作为 AES-GCM IV

  • 包含以下序列化值的其他额外验证数据(AAD)。

    长度(字节) 解释为
    "aws-kms-hierarchy" 17 UTF-8 编码
    分支密钥标识符 Variable UTF-8 编码
    分支密钥版本 16 UTF-8 编码
    加密上下文 Variable UTF-8 编码密钥值对