关于 configuring-hsm-for-key-storage
面向安全工程师的技能指南,说明如何通过 PKCS#11 配置实体 HSM 或 SoftHSM2,用于密钥管理和密码操作。内容涵盖证书颁发机构操作、访问控制及云 HSM 接入。
主要功能
- 01配置 SoftHSM2 开发环境
- 02在 HSM 内生成和管理密钥
- 03使用 HSM 密钥进行加密与签名
- 04配置密钥访问策略和用户认证
- 05执行 HSM 支持的证书颁发机构操作
- 06对接 AWS CloudHSM 和 Azure
适用场景
- 01为开发环境配置 PKCS#11 提供方
- 02将密钥生成和密码操作迁移到 HSM
- 03设计密钥访问控制与灾难恢复措施
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill configuring-hsm-for-key-storage安装后在 Claude Code 中输入/configuring-hsm-for-key-storage确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
为密钥存储配置 HSM
概述
硬件安全模块(HSM)是防篡改的物理设备,可在加固环境中保护加密密钥并执行加密操作。存储在 HSM 中的密钥永远不会离开设备边界,从而提供最高级别的密钥保护。本技能涵盖使用 PKCS#11 标准接口配置 HSM,包括使用物理 HSM 和用于开发的 SoftHSM2 进行密钥生成、签名、加密和密钥管理。
何时使用
- 在环境中部署或配置为密钥存储配置 HSM 相关能力时
- 在建立符合合规要求的安全控制时
- 在为此领域构建或改进安全架构时
- 在开展需要此实现的安全评估时
前提条件
- 熟悉加密概念和工具
- 可访问测试或实验环境以安全执行
- 已安装所需依赖的 Python 3.8+
- 对任何测试活动拥有适当授权
目标
- 将 SoftHSM2 配置为开发用 PKCS#11 提供程序
- 通过 PKCS#11 在 HSM 内生成和管理密钥
- 使用驻留在 HSM 中的密钥执行加密操作(签名、验证、加密、解密)
- 实现由 HSM 支持的证书颁发机构操作
- 配置密钥访问策略和用户认证
- 对接云 HSM 服务(AWS CloudHSM、Azure)
关键概念
HSM 合规级别
| FIPS 级别 | 保护 | 用例 |
|---|---|---|
| FIPS 140-2 Level 1 | 仅软件 | 开发 |
| FIPS 140-2 Level 2 | 防篡改痕迹,基于角色的认证 | 一般生产 |
| FIPS 140-2 Level 3 | 防篡改,基于身份的认证 | 金融、政府 |
| FIPS 140-2 Level 4 | 物理篡改响应 | 军事、机密 |
PKCS#11 架构
Application --> PKCS#11 API --> HSM Provider --> Hardware HSM
|
(SoftHSM2 for dev)
PKCS#11 中的密钥对象
| 对象类型 | 描述 | 操作 |
|---|---|---|
| CKO_SECRET_KEY | 对称密钥(AES) | 加密、解密、封装 |
| CKO_PUBLIC_KEY | 公钥(RSA、EC) | 验证、加密、封装 |
| CKO_PRIVATE_KEY | 私钥(RSA、EC) | 签名、解密、解封 |
| CKO_CERTIFICATE | X.509 证书 | 存储、检索 |
安全注意事项
- 永远不要从 HSM 导出私钥(使用 CKA_EXTRACTABLE=False)
- 为不同应用程序使用单独的槽位/分区
- 对 CA 根密钥实施多人密钥仪式
- 为所有 HSM 操作启用审计日志记录
- 实施 HSM 备份和灾难恢复
- 使用强 PIN 并启用 SO(安全官)PIN
验证标准
- SoftHSM2 使用令牌和用户 PIN 初始化
- AES 密钥在 HSM 内生成
- RSA 密钥对在 HSM 内生成
- 加密/解密使用驻留在 HSM 中的密钥
- 签名/验证使用驻留在 HSM 中的密钥
- 密钥无法导出(不可导出)
- 密钥列表显示所有 HSM 存储的对象
评论
支持 Markdown