SuperAPI AI 工具集

implementing-envelope-encryption-with-aws-kms

部署与运维

查看项目

更新于 10-16 01:30

技能介绍

用途:实现基于 AWS KMS 的信封加密,用数据密钥(DEK)在本地加密数据,再用 KMS 管理的主密钥(KEK)保护 DEK,从而兼顾大数据量本地加密与主密钥集中安全保管。

主要能力:使用 kms:GenerateDataKey 获取明文 DEK 与加密后的 DEK;用明文 DEK 以 AES-256-GCM 在本地加密数据;将加密后的 DEK 与密文一同存储;通过 kms:Decrypt 解密 DEK 后再解密数据;支持密钥缓存以减少 KMS 调用;支持密钥轮换与自动重新加密;支持多区域加密用于灾难恢复。资料还对比了直接使用 KMS 加密与信封加密的差异:前者单次上限约 4 KB、每次操作需网络往返、按每万次请求计费且无法离线;后者数据量不限、本地加密、KMS 请求更少并可在缓存 DEK 时离线使用。

使用方式:先调用 kms:GenerateDataKey 生成明文与加密的 DEK,用明文 DEK 本地加密数据后丢弃明文 DEK,只保留加密 DEK 与密文;解密时先对加密 DEK 调用 kms:Decrypt,再用得到的 DEK 解密数据。需按资料要求配置密钥策略限制 GenerateDataKey 与 Decrypt 的调用者,启用 CloudTrail 记录 KMS API 调用,使用加密上下文作为认证元数据,并对 KMS 限流采用指数退避。

适用场景:需要部署或配置该加密能力、建立符合合规要求的安全控制、改进该领域安全架构或开展相关安全评估时使用。

限制与前提:需熟悉密码学概念与工具,具备 Python 3.8+ 及所需依赖,拥有测试或实验环境与相应授权;不得存储明文 DEK。价格、具体代码示例与安装命令资料暂未提供完整内容。