首页/安全/加密与证书速查/SM9 标识密码(IBC)
加密算法基础95 条

SM9 标识密码(IBC)

GM/T 0044 定义的标识密码算法:以用户标识(邮箱、手机号等)作为公钥,免除证书分发,包含签名、加密与密钥交换三部分;私钥由 KGC 生成。

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

SM9 是什么

SM9 是 GM/T 0044 定义的标识密码算法(IBC):以用户标识(邮箱、手机号等)直接作为公钥,免除证书分发与证书链校验,包含签名、加密与密钥交换三部分。系统依赖一个密钥生成中心(KGC):它掌握主私钥,并为每个用户生成对应的标识私钥。因此它的信任模型与 PKI 有本质区别,密钥托管属性是设计时必须正视的事实。

基本信息

标准GM/T 0044(SM9 标识密码算法)
核心角色KGC 密钥生成中心
特性标识即公钥、无需证书链、私钥由中心生成
典型用途邮件加密、物联网设备认证、内部系统身份
密钥托管系统天然具备托管属性,治理与审计需要提前设计

典型使用场景

  • 需要免除证书分发成本的内部系统与海量设备场景
  • 邮件加密:直接把收件人邮箱当作公钥使用
  • 物联网设备认证:设备标识即公钥,简化注册与初始化流程
  • 与 PKI 并存:对外沿用证书体系,对内采用标识密码
  • 合规要求指定国密标识算法的项目

使用流程

使用流程
1) KGC 生成主密钥对,主私钥离线保管并双人控制
2) 用户注册,KGC 用标识 + 主私钥生成用户私钥并安全下发
3) 发送方用「接收方标识」加密或验签
4) 接收方用自己的私钥解密或签名
# 标识私钥的重新生成与作废流程要在系统设计阶段就定义清楚

SM9 与传统 PKI

维度SM9 标识密码传统 PKI
公钥来源用户标识证书与证书链
分发成本无需分发证书需要签发与分发证书
信任依赖KGC 主密钥CA 根与中间证书
密钥保管私钥由中心生成,天然托管私钥由用户自己持有
吊销方式标识作废与私钥重签策略CRL 与 OCSP
对托管敏感的场景要提前评估治理机制:例如主密钥的双人控制与离线保管、标识私钥的申请与作废流程、操作审计与日志留存。这些机制直接决定系统在人员变动或密钥泄露时的可控程度。

易错点

  • KGC 主密钥保护等级不足 → 主密钥一旦泄漏,全部用户私钥可被重建
  • 未定义标识作废流程 → 人员或设备注销后其标识私钥仍然有效
  • 跨系统互通未做参数对齐 → 各厂商标识编码与参数封装不同,验签与解密失败
  • 把标识密码当作「无需密钥管理」 → KGC 的运维与灾备成为新的单点风险

数据来源与参考

  • GM/T 0044(SM9 标识密码算法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌