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 |
对托管敏感的场景要提前评估治理机制:例如主密钥的双人控制与离线保管、标识私钥的申请与作废流程、操作审计与日志留存。这些机制直接决定系统在人员变动或密钥泄露时的可控程度。