Encryption

🔐 现代加密算法选型与安全实践指南

提供现代加密算法选型、密钥管理与代码审计指南,覆盖文件加密、密码哈希、TLS配置等场景,帮助开发者避免常见加密错误。

收藏
6.2k
安装
1.8k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能与用法

Encryption 技能是一套面向开发者的密码学实践指南,涵盖从基础加密操作到企业级密钥管理的完整流程。核心能力包括:

1. 算法选型决策表

提供分场景的算法推荐,明确区分"Use"与"Avoid":

  • 密码存储:强制使用 argon2id 或 bcrypt(cost≥12),严禁 MD5/SHA1/裸 SHA256
  • 对称加密:优先 AES-256-GCM 或 ChaCha20-Poly1305,禁用 AES-ECB/DES/RC4
  • 非对称加密:RSA-4096+OAEP、Ed25519、P-256 为推荐方案
  • 密钥派生:PBKDF2 需≥60万次迭代,或使用 scrypt/argon2
  • TLS 配置:仅允许 1.2+,彻底禁用 SSLv3/TLS 1.0/1.1

2. 关键安全规则

七大硬性约束防止灾难性错误:

  • Nonce 唯一性:AES-GCM 重复 IV 导致完全密文破解
  • AEAD 强制:CBC 模式无认证易遭填充预言攻击
  • 密码哈希原则:存储哈希值而非加密值
  • 密钥隔离:禁止硬编码,强制使用 KMS/Vault/环境变量
  • CSPRNG 强制:Math.random() 不可用于安全场景
  • 恒定时间比较:防御时序攻击
  • 密钥用途分离:加密/签名/备份密钥独立管理

3. 多平台实现

  • CLI 工具:age(现代简洁)、GPG 传统方案
  • 移动端:iOS Keychain/Android Keystore、EncryptedSharedPreferences、生物识别集成
  • 基础设施:HashiCorp Vault、mTLS、证书自动续期

4. 审计清单

10 项检查点覆盖常见漏洞模式:明文密码、Git 历史泄露、弱算法、证书验证禁用等。

显著优点

  • 时效性强:包含 age、argon2id、ChaCha20-Poly1305 等现代方案
  • 场景覆盖广:从单文件加密到分布式服务 mTLS
  • 误用防护:明确"Avoid"清单,降低选型错误
  • 可审计性:结构化清单便于 CI/CD 集成

局限性与风险

  • 非工具本身:仅提供指南,需开发者自行实现
  • 平台差异:iOS/Android/后端实现细节需查阅关联文档
  • 算法演进:量子安全算法(CRYSTALS-Kyber/Dilithium)未纳入
  • 合规盲区:未涉及 FIPS 140-2/3、国密 SM 系列等监管要求

适合人群

  • 后端/全栈工程师(密码存储、JWT、TLS 配置)
  • 移动开发者(Keychain/Keystore 安全存储)
  • DevOps/SRE(Vault 部署、证书管理、mTLS)
  • 安全审计人员(代码加密实践审查)

常规风险提示

| 风险类型 | 说明 |
|---------|------|
| 实施风险 | 指南正确但代码实现错误(如 nonce 随机数重复) |
| 配置漂移 | TLS 1.2+ 要求可能因遗留系统妥协 |
| 密钥泄露 | KMS 配置不当导致密钥暴露 |
| 审计缺失 | 清单未自动化执行,人工检查遗漏 |
| 算法过时 | 需持续跟踪 NIST/IANA 算法生命周期更新 |

建议将关键检查点纳入 CI 流水线(如 truffleHog 扫描密钥泄露、sslscan 验证 TLS 配置)。

Encryption 内容

手动下载zip · 8.1 kB
infra.mdtext/markdown
请选择文件