L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

implementing-envelope-encryption-with-aws-kms

implementing-envelope-encryption-with-aws-kms

信封加密(Envelope Encryption)是一种用数据加密密钥(DEK)加密数据,再用 AWS KMS 管理的主密钥(KEK)加密 DEK 的策略。该方法允许在本地加密大量数据,同时将主密钥安全保存在 AWS 管理的硬件安全模块(HSM)中。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: implementing-envelope-encryption-with-aws-kms description: 信封加密(Envelope Encryption)是一种用数据加密密钥(DEK)加密数据,再用 AWS KMS 管理的主密钥(KEK)加密 DEK 的策略。该方法允许在本地加密大量数据,同时将主密钥安全保存在 AWS 管理的硬件安全模块(HSM)中。 domain: cybersecurity subdomain: cryptography tags: [cryptography, encryption, aws, kms, envelope-encryption, key-management] version: "1.0" author: mahipal license: Apache-2.0

使用 AWS KMS 实现信封加密

概述

信封加密(Envelope Encryption)是一种用数据加密密钥(DEK,Data Encryption Key)加密数据,再用 AWS KMS 管理的主密钥(KEK,Key Encryption Key)加密 DEK 的策略。该方法允许在本地加密大量数据,同时将主密钥安全保存在 AWS 管理的硬件安全模块(HSM,Hardware Security Module)中。本技能涵盖使用 AWS KMS GenerateDataKey API 实现信封加密。

目标

  • 理解信封加密模式及其优势
  • 使用 AWS KMS GenerateDataKey 生成数据加密密钥
  • 使用 DEK 在本地加密/解密数据
  • 将加密的 DEK 与密文一起存储
  • 实现密钥缓存以减少 KMS API 调用
  • 通过自动重新加密处理密钥轮换
  • 实现多区域加密以实现灾难恢复

核心概念

信封加密流程

  1. 调用 kms:GenerateDataKey 获取明文 DEK + 加密 DEK
  2. 使用明文 DEK 在本地加密数据(AES-256-GCM)
  3. 将加密 DEK 与密文一起存储
  4. 从内存中丢弃明文 DEK
  5. 解密时:对加密 DEK 调用 kms:Decrypt,然后解密数据

相比直接 KMS 加密的优势

方面直接 KMS信封加密
最大数据量4 KB无限制
延迟每次操作需网络往返本地加密
费用$0.03/10,000 请求更少的 KMS 请求
离线支持不可能是(使用缓存 DEK)

KMS 密钥类型

  • AWS 托管:AWS 创建和管理(aws/s3、aws/ebs)
  • 客户托管:您创建和管理策略
  • 自定义密钥存储:由 CloudHSM 集群支持

安全注意事项

  • 永远不要存储明文 DEK;只保留加密 DEK
  • 使用密钥策略限制可以调用 GenerateDataKey 和 Decrypt 的对象
  • 为所有 KMS API 调用启用 AWS CloudTrail 日志记录
  • 实现密钥轮换(CMK 每年自动轮换)
  • 使用加密上下文实现认证加密元数据
  • 使用指数退避处理 KMS 节流

验证标准

  • GenerateDataKey 返回明文和加密 DEK
  • 使用明文 DEK 通过 AES-256-GCM 正确加密数据
  • 加密 DEK 可通过 KMS Decrypt API 解密
  • 解密后的 DEK 能恢复原始数据
  • 明文 DEK 使用后从内存中清除
  • 解密时验证加密上下文
  • 密钥轮换用新主密钥重新加密 DEK
Skills enregistrées