Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Produktivität · 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

Skill-Dokumentation

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
Gespeicherte Skills