SM9 的原理与取舍
SM9 是基于标识的公钥密码算法体系,对应 GB/T 38635 系列标准。它的特点是用户标识(如邮箱、手机号、设备编号)本身参与公钥计算,用户私钥由密钥生成中心(KGC)用主密钥派生,因此不需要证书链与证书目录。代价是把信任集中到了 KGC:主密钥一旦泄露,整个体系的私钥都失去安全性,因此它在工程上对 KGC 的保护要求非常高。
基本信息
| 标准 | GB/T 38635 系列(SM9 标识密码算法) |
|---|---|
| 体系组成 | 密钥生成中心(KGC)与用户两部分 |
| 核心优势 | 免证书链,减少证书签发与管理开销 |
| 主要风险 | KGC 主密钥是高价值目标,泄露影响全局 |
| 适用场景 | 内部系统、物联网等证书签发不便的环境 |
典型使用场景
- 物联网设备认证:以设备标识作为公钥要素,免去逐台签发证书
- 内部系统加密:企业内部人员以工号或邮箱标识参与加密
- 邮件与消息加密:按收件人标识直接加密,无需先获取证书
- 数据加密分发:面向大量标识的数据加密与定向解密
- 口令与凭据体系:作为内部凭据体系的补充方案
体系组成
体系组成
密钥生成中心 KGC:保管主密钥,派发用户私钥
用户:以标识参与加密、签名与密钥交换
优势:减少证书链与证书管理开销
注意:KGC 主密钥是高价值目标,必须强管控
工程要求:主密钥用密码机保管、双人授权,并有审计日志组件与职责
| 组件 | 职责 | 风险点 |
|---|---|---|
| KGC | 保管主密钥并派生用户私钥 | 主密钥泄露影响全局 |
| 用户私钥 | 由 KGC 派发并安全分发 | 分发渠道与终端存储 |
| 标识管理 | 标识的申请、变更与注销 | 注销后旧私钥的失效处理 |
KGC 主密钥不能以软件形式在线运行:应使用密码机保管、双人授权操作并记录审计日志,否则一旦泄露整个体系的密钥都要重发。
对外互操作场景需要先评估对端支持度:SM9 依赖对端实现同一套标识与参数体系,跨组织落地通常比证书体系更复杂。