关于 implementing-rsa-key-pair-management
介绍 RSA 密钥对生成、存储、轮换和验证的安全技能,参考 NIST SP 800-57 指南。适用于落实密钥管理实践的团队,涵盖加密序列化和 RSA-PSS 签名。
主要功能
- 01生成 2048、3072 和 4096 位密钥
- 02使用 PKCS#8 将密钥序列化为 PEM 或 DER
- 03通过口令保护私钥
- 04以版本管理方式轮换密钥
- 05提取公钥组件和指纹
- 06验证强度并使用 RSA-PSS
适用场景
- 01为系统建立 RSA 密钥管理
- 02轮换密钥并保留验证访问
- 03保护存储中的私钥
- 04使用 RSA-PSS 签署和验证数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill implementing-rsa-key-pair-management安装后在 Claude Code 中输入/implementing-rsa-key-pair-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
实现 RSA 密钥对管理
概述
RSA(Rivest-Shamir-Adleman)是部署最广泛的一种非对称加密算法,用于数字签名、密钥交换和加密。本技能涵盖 RSA 密钥对的生成、存储、轮换和管理,遵循 NIST SP 800-57 密钥管理指南,包括密钥序列化格式(PEM、DER、PKCS#8)、口令保护和密钥强度验证。
使用时机
- 在环境中部署或配置实现 rsa 密钥对管理能力时
- 在建立符合合规要求的安全控制措施时
- 在为该领域构建或改进安全架构时
- 在开展需要此实现的安全评估时
先决条件
- 熟悉密码学概念和工具
- 可访问用于安全执行的测试或实验环境
- 已安装所需依赖的 Python 3.8+
- 对任何测试活动拥有适当授权
目标
- 生成具有适当密钥长度(2048、3072、4096 位)的 RSA 密钥对
- 使用 PKCS#8 以 PEM 和 DER 格式序列化密钥
- 使用强口令加密保护私钥
- 实现带版本管理的密钥轮换
- 提取公钥组件和指纹
- 验证密钥强度并检测弱密钥
- 使用 RSA-PSS 对数据进行签名和验证
关键概念
RSA 密钥长度与安全强度
| 密钥长度(位) | 安全强度(位) | 建议使用至 |
|---|---|---|
| 2048 | 112 | 2030 |
| 3072 | 128 | 2030 年以后 |
| 4096 | ~140 | 2030 年以后 |
RSA 填充方案
| 方案 | 使用场景 | 标准 |
|---|---|---|
| OAEP | 加密 | PKCS#1 v2.2 (RFC 8017) |
| PSS | 签名 | PKCS#1 v2.2 (RFC 8017) |
| PKCS#1 v1.5 | 仅限旧系统 | 新系统中已弃用 |
密钥存储格式
- PEM:带标头的 Base64 编码,人类可读
- DER:二进制 ASN.1 编码,紧凑
- PKCS#8:私钥封装的标准
- PKCS#12/PFX:打包密钥 + 证书,受密码保护
安全注意事项
- 新部署至少使用 3072 位密钥(NIST 建议)
- 始终使用 AES-256-CBC 口令加密保护私钥
- 使用 RSA-PSS 进行签名(而非 PKCS#1 v1.5)
- 使用 RSA-OAEP 进行加密(而非 PKCS#1 v1.5)
- 以严格的文件权限(0600)存储私钥
- 至少每年实施一次密钥轮换
验证标准
- 密钥生成产生有效的 RSA 密钥对
- 可从私钥中提取公钥
- 私钥受口令保护
- RSA-PSS 签名验证成功
- 被篡改的签名验证失败
- 密钥指纹计算正确
- 密钥轮换保留旧密钥访问以供验证
评论
支持 Markdown