首页/安全/加密与证书速查/HSM 硬件安全模块

HSM 硬件安全模块

硬件安全模块(HSM)在专用设备内生成并保护密钥,密钥不出设备,签名与解密在设备内完成;适用于根 CA、代码签名与合规要求较高的场景。

加密与证书速查安全更新于 2026-10-13

HSM 是什么

HSM(Hardware Security Module,硬件安全模块)是在专用设备内生成并保护密钥的硬件:密钥不出设备,签名与解密都在设备内部完成,对外只返回运算结果。它适用于根 CA、代码签名、支付类密钥与合规要求较高的场景。代价是采购成本、集群与备份复杂度都会上升,因此选型前要先明确需要保护的是哪类密钥、并发量与合规条款的具体要求。

基本信息

形态板卡、网络设备、云 HSM(云 KMS 底层通常也是 HSM)
接口PKCS#11、JCE、CNG 等标准接口
价值密钥不可导出、防篡改、性能与合规资质
代价采购成本、集群与备份复杂度提升
备份特点密钥不可导出,备份依赖设备级机制或集群复制,不能简单拷贝文件

典型使用场景

  • 根 CA 与中间 CA 的私钥保护,要求双人控制与操作审计
  • 代码签名与文档签名密钥的保护
  • 支付与金融场景的密钥合规要求
  • 高并发签名服务:借助硬件加速并以集群分担负载
  • 开发与测试阶段用软 HSM 验证流程,生产环境再替换为硬件设备

提供者与令牌查看

提供者与令牌查看
ls /usr/lib64/pkcs11/                                       # 查看可用提供者
p11tool --provider /usr/lib64/pkcs11/libsofthsm2.so --list-tokens   # 列出令牌
# 软 HSM(SoftHSM)仅用于开发阶段验证流程与接口
# softhsm2-util --init-token --slot 0 --label dev

软 HSM 与硬件 HSM

维度软 HSM硬件 HSM
密钥保护文件系统内,可被复制设备内保存,不可导出
防篡改无具备物理与逻辑防护
性能依赖主机 CPU内置加速,可集群扩展
适用阶段开发与流程验证生产根密钥与合规场景
成本低采购与运维成本较高
接口标准化是 HSM 的核心价值:应用通过 PKCS#11 或 JCE 调用,更换设备厂商时上层改动较小。规划时务必同时考虑集群(多台设备的一致性)与灾难恢复(设备损坏后如何继续签名),这两项常在故障发生时才被想起。

易错点

  • 用软 HSM 承载生产根密钥 → 密钥仍以文件形式存在,失去硬件保护的意义
  • 未演练 HSM 备份与灾难恢复 → 设备故障后无法签名,中断时间不可控
  • 只部署单台设备无集群 → 硬件故障直接导致签发能力丧失
  • 忽视 PKCS#11 库的版本与路径差异 → 应用启动找不到提供者,环境切换时直接失败

数据来源与参考

  • PKCS#11 规范(OASIS)
  • NIST FIPS 140-3(密码模块安全要求)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌