4. 硬件安全模块(HSM)部署

适用场景

  • 需要FIPS 140-2 Level 3及以上物理安全保护的密钥生命周期管理。
  • 关键业务系统(CA、KMS、支付网关、区块链节点)中主密钥、签名密钥的离线生成与存储。
  • 合规要求(PCI DSS、GDPR、等保三级)下密钥必须存储在防篡改硬件中。
  • 高吞吐量签名/加密场景(如 TLS 终止、代码签名、数据库加密密钥轮换)。

前置条件

类别条件
硬件HSM 设备(物理或云 HSM)已上架、供电、联网;至少 2 个管理员身份令牌(安全官卡)。
网络管理端口(通常专用带外管理)与业务端口分离;防火墙仅允许指定客户端 IP 访问 HSM 服务端口。
软件HSM 厂商提供的管理工具(如 LunaCM、CloudHSM CLI、PKCS#11 接口库)已安装。
密钥材料需要导入的密钥文件(通常为加密保护的 PEM/P12 格式)及对应的导入授权证书。

操作步骤

⚠ 提示: 以下步骤以通用 HSM(Thales Luna / AWS CloudHSM 为例)说明,具体命令请以厂商文档为准。所有敏感操作必须在至少两位安全管理员同时在场时执行。

阶段一:选型标准

  1. 确定必需安全等级:要求 FIPS 140-2 L3 或 L4、Common Criteria EAL4+。
  2. 评估性能指标:签名吞吐量(TPS)、并发会话数、支持的算法套件(RSA 4096、ECC P-384、SM2)。
  3. 确认接口兼容性:PKCS#11、JCE、CSP、KMIP、REST API。
  4. 验证管理模型:是否支持 m-of-n 多授权、安全官与审计官分离。
  5. 检查认证合规:取得国家商用密码产品认证证书(如为中国区部署)。
选型检查表(示例): 吞吐量 ≥ 10,000 RSA-2048 sign/s、支持克隆/备份、支持密钥轮换 API、提供定期固件安全更新。

阶段二:初始化(首次上电配置)

  1. 通过串口或带外管理口登录 HSM 的初始管理界面(通常默认 IP 需修改)。
  2. 修改默认管理员密码/激活安全官令牌(SO PIN)。
  3. 配置网络参数:业务 IP、子网掩码、网关、DNS。
  4. 创建分区(Partition):每个业务单元使用独立分区,隔离密钥存储。
  5. 设置分区安全策略:密钥不可导出属性、密钥使用类型限制、密码尝试次数阈值。

示例命令(LunaCM):

lunacm -p partition_name -so -password
partition changePolicy -policy 13 -value 0    # 禁止密钥导出
partition changePolicy -policy 15 -value 5    # 最大失败尝试5次

阶段三:密钥导入

  1. 生成或导入对称密钥(AES-256)与非对称密钥对(RSA/ECC)至 HSM 内部。
  2. 使用密钥包装(Key Wrapping)方式:源密钥先用传输密钥(Transport Key)加密后再导入。
  3. 在 HSM 内部将导入的密钥标记为“敏感”且“不可导出”。
  4. 验证导入密钥指纹(SHA-256哈希)与本地备份记录一致。
  5. 以安全官令牌签发密钥激活证书,使密钥可供应用程序使用。

PKCS#11 导入示例(使用 pkcs11-tool):

pkcs11-tool --module /usr/lib/libCryptoki2_64.so \
  --slot 1 --login --pin XXXXXX \
  --write-object mykey.der \
  --type privkey --label "RootSignKey" \
  --usage-sign --id 01020304

输入输出物

活动输入输出
选型业务安全需求文档、合规要求HSM 选型评估报告、设备型号规格书
初始化HSM 硬件、网络规划表、初始授权令牌HSM 分区列表、管理员访问凭证、初始审计日志
密钥导入密钥文件(加密形式)、传输密钥证书、导入授权票HSM 内部密钥句柄、密钥指纹校验值、导入审计记录

责任边界

  • 安全管理员(Security Officer, SO):负责 HSM 初始化、分区创建、安全策略配置、密钥导入授权。
  • 密钥管理员(Key Custodian):提供密钥源文件,负责本地离线备份,协助指纹验证。
  • 系统管理员:仅负责 HSM 网络连通性、固件升级,不接触密钥材料。
  • 审计员:每半年检查 HSM 审计日志,验证密钥操作与授权记录一致。

记录材料

  • 《HSM 初始化检查清单》(含所有命令及输出截图)
  • 《密钥导入记录表》(密钥标识、算法、指纹、导入时间、授权人签名)
  • HSM 原始审计日志(至少保留 3 年)
  • 《密钥销毁与退役计划》(仅当密钥退役时触发)

异常处理

异常原因处理措施
初始化时安全官令牌无法识别令牌未正确插入或未激活重新插拔令牌,使用厂商工具重置 PIN
密钥导入失败传输密钥不匹配或密钥文件损坏校验源文件哈希,重新生成传输密钥后重试
HSM 网络断开物理链路故障或防火墙规则变更检查网络设备,恢复带外管理通道
密钥属性无法修改策略锁定或分区状态错误使用 SO 权限重新配置分区策略,必要时重建分区

验收标准

  • HSM 可通过业务接口正常访问,PKCS#11 会话建立成功。
  • 生成的测试签名/加密结果在应用层可验证。
  • 导入的密钥标记为不可导出,无法通过管理工具取出明文。
  • 审计日志完整记录初始化、导入及所有授权操作。
  • 压力测试(如 10000 TPS 持续 1 小时)不丢失会话且无内存泄漏。
硬件安全模块部署流程(选型 → 初始化 → 密钥导入 → 验收) 选型标准 硬件安装上架 网络配置 初始化分区 生成/导入根密钥 密钥包装导入 验收测试与审计 ⚠ 关键控制点 密钥导入需安全官与 密钥管理员同时授权
⚠ 警示: 生产环境 HSM 初始化后应立即将出厂默认 PIN 更改为符合密码策略的强口令,并物理封存备用令牌。密钥导入操作全程必须双人监督,且确保审计日志自动上传至集中日志平台。