implementing-envelope-encryption-with-aws-kms

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

9 stars

Best use case

implementing-envelope-encryption-with-aws-kms is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using implementing-envelope-encryption-with-aws-kms should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-envelope-encryption-with-aws-kms/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-envelope-encryption-with-aws-kms/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-envelope-encryption-with-aws-kms/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-envelope-encryption-with-aws-kms Compares

Feature / Agentimplementing-envelope-encryption-with-aws-kmsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 使用 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

Related Skills

reverse-engineering-ransomware-encryption-routine

9
from killvxk/cybersecurity-skills-zh

对勒索软件加密例程进行逆向工程,以识别密码学算法、密钥生成缺陷,以及通过静态和动态分析挖掘潜在的解密机会。

implementing-zero-trust-with-hashicorp-boundary

9
from killvxk/cybersecurity-skills-zh

使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。

implementing-zero-trust-with-beyondcorp

9
from killvxk/cybersecurity-skills-zh

使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。

implementing-zero-trust-network-access

9
from killvxk/cybersecurity-skills-zh

通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。

implementing-zero-trust-network-access-with-zscaler

9
from killvxk/cybersecurity-skills-zh

使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构

implementing-zero-trust-in-cloud

9
from killvxk/cybersecurity-skills-zh

本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。

implementing-zero-trust-for-saas-applications

9
from killvxk/cybersecurity-skills-zh

使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。

implementing-zero-trust-dns-with-nextdns

9
from killvxk/cybersecurity-skills-zh

将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。

implementing-zero-standing-privilege-with-cyberark

9
from killvxk/cybersecurity-skills-zh

部署 CyberArk Secure Cloud Access,通过基于时间、权限和审批控制的即时访问,在混合云和多云环境中消除常设权限。

implementing-zero-knowledge-proof-for-authentication

9
from killvxk/cybersecurity-skills-zh

零知识证明(ZKP)允许证明者在不泄露秘密本身的情况下证明对某个秘密(如密码或私钥)的了解。本技能实现 Schnorr 身份识别协议和使用离散对数问题的简化 ZKPP,使服务器永远不需要获取用户密码即可完成认证。

implementing-web-application-logging-with-modsecurity

9
from killvxk/cybersecurity-skills-zh

配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。

implementing-vulnerability-sla-breach-alerting

9
from killvxk/cybersecurity-skills-zh

为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。