01 · 国密证书格式规范
1.1 规范体系
国密数字证书容器格式遵循X.509 v3标准(与RFC 5280同构),其国内规范层次为:GB/T 20518-2018《信息安全技术 公钥基础设施 数字证书格式》规定证书结构、字段与扩展项的通用要求;GM/T 0015-2012《基于SM2密码算法的数字证书格式规范》规定SM2算法在X.509中的具体编码(算法OID、密钥用法、扩展语义);GM/T 0014-2012《数字证书认证系统密码协议规范》规定CA系统内部及CA与KM之间的密码协议。三层规范叠加,构成国密证书的完整格式基线。
1.2 算法与签名标识
国密证书通过OID标识算法体系(GB/T 33560-2017《密码应用标识规范》):
| 对象 | OID | 用途说明 |
|---|---|---|
| SM2椭圆曲线公钥算法 | 1.2.156.10197.1.301 | 证书公钥算法标识(SubjectPublicKeyInfo.algorithm) |
| SM3杂凑算法 | 1.2.156.10197.1.401 | 杂凑算法标识 |
| sm2-with-sm3签名 | 1.2.156.10197.1.501 | 证书签名算法标识(SignatureAlgorithm)——国密证书的标准签名组合 |
| SM4分组密码 | 1.2.156.10197.1.104 | 对称算法标识(证书场景中少见,多用于密码产品配置) |
签名验签链路的要点:证书以SM2-with-SM3(OID 1.2.156.10197.1.501)签名,验签时按GB/T 32918.2的Z值规则(以证书主体身份标识计算Z)执行——验签方与签名方的ID默认值不一致是联调失败的常见根因(第2页已述)。
1.3 关键扩展项语义
| 扩展项 | 国密体系中的语义要点 |
|---|---|
| 密钥用法(KeyUsage) | 签名证书置digitalSignature/nonRepudiation;加密证书置keyEncipherment/dataEncipherment/keyAgreement——两类证书的密钥用法必须严格分离,互用即违规(密评高风险项) |
| 主体密钥标识(SKI)/颁发机构密钥标识(AKI) | 链式验证的基础;国密CA链通常层级较浅(根CA→运营CA→用户双证书) |
| CRL分发点(CRLDP) | 指向CA的CRL服务地址;国密吊销体系以CRL为主、OCSP为辅 |
| 证书策略(CP)与策略映射 | 承载电子认证服务机构的证书策略(CP)与电子认证业务规则(CPS)标识 |
| 主题备用名称(SAN) | TLCP服务端证书绑定域名;国密站点证书同样要求CN/SAN与域名一致 |
国密根CA证书(内置国密浏览器/网关信任库)
└── 国密运营CA证书(SM2-with-SM3签名)
├── 服务端签名证书 KeyUsage: digitalSignature
│ 签名: sm2-with-sm3 (1.2.156.10197.1.501)
│ 用途: TLCP握手中签名ServerKeyExchange等
└── 服务端加密证书 KeyUsage: keyEncipherment / keyAgreement
用途: 密钥交换时加密预主密钥/密钥协商参数02 · 双证书架构的制度逻辑
2.1 架构定义
国密PKI要求每个主体持有两张SM2证书:
| 维度 | 签名证书 | 加密证书 |
|---|---|---|
| 核心职能 | 身份认证与抗抵赖签名 | 机密性:密钥交换与数据加密 |
| 私钥控制方 | 用户自行生成并自持(可存于USBKey/智能密码钥匙等介质) | 由密钥管理中心(KM)生成并托管 |
| 密钥用途 | digitalSignature / nonRepudiation | keyEncipherment / dataEncipherment / keyAgreement |
| 泄露后果 | 可被伪造签名——须立即吊销并公告 | 历史密文被解密——触发密钥恢复与数据重加密评估 |
| 制度依据 | 抗抵赖要求:签名私钥不可被任何第三方(含CA/KM)持有,否则法律上的"非否认性"不成立 | 可恢复与可监管要求:加密数据须在密钥丢失、人员离岗、司法调取时仍可恢复明文 |
2.2 为什么必须"一分为二"
双证书不是工程冗余,而是两组相互冲突的法律要求在同一密码载体上的制度化解法:
- 抗抵赖性要求签名私钥"无人可代持":若签名私钥由CA或KM托管,运营方即可伪造用户签名,电子签名的法律效力(《电子签名法》第十四条:可靠的电子签名与手写签名或盖章具有同等法律效力)将从根本上坍塌。因此签名密钥必须在用户侧生成、由用户独占控制。
- 可用性与监管要求加密私钥"必须可恢复":若加密私钥仅用户持有,则介质丢失即意味着全部历史密文永久不可读(对企业知识资产与司法取证都是不可接受的);同时依法监管场景要求能够在授权程序下恢复通信内容。因此加密密钥必须由可信第三方(KM中心)托管,并建立严格的密钥恢复审批流程。
边界警示:双证书架构中"签名私钥自持"是红线——实践中曾出现为便于集中运维而将签名私钥集中生成的做法,这在密评中构成高风险/不合规项(密钥生成环境不可控、抗抵赖性丧失)。同样,加密私钥"自持不外托管"在政务金融场景构成密钥管理不合规。两条边界的核查是密评现场的高频检查点(详见第7页)。
2.3 双证书签发流程
03 · 密钥托管与KM中心
3.1 KM中心的职责
密钥管理中心(KM)是双证书体系的中枢组件,核心职责包括:加密密钥对的生成与加密托管;密钥恢复服务(凭授权流程向证书主体交付加密私钥);密钥归档与销毁;与CA的密钥交互(按GM/T 0014协议)。KM与CA分离设置是治理上的重要设计——签发证书的CA不掌握加密私钥,掌握私钥的KM不能签发证书,两者形成权责制衡。
3.2 密钥恢复流程与风控
| 环节 | 要点 | 风控措施 |
|---|---|---|
| 恢复申请 | 主体提交申请并证明身份(介质丢失/损坏、人员交接等场景) | 双人审批;申请留痕可审计 |
| 授权核验 | 核对身份材料与登记信息;必要时司法/主管单位授权文书 | 越权恢复即重大安全事件;建立权限分离 |
| 密钥交付 | 解密托管库导出加密私钥,经安全通道交付新介质 | 传输加密+介质激活口令;交付记录归档 |
| 事后处置 | 更新登记状态;评估历史密文暴露面;必要时更换密钥对并更新证书 | 触发证书更新流程;审计复核 |
3.3 司法调取场景
加密密钥托管的制度价值在依法调取场景显现:经法定程序,监管/司法机关可凭文书要求KM恢复特定主体的加密私钥以解密历史密文。该能力同时是双刃剑——KM中心自身成为最高价值攻击目标,其物理安全、人员权限、审计完整性必须达到与CA同等级别(商用密码产品检测与密评均将其列为核心测评对象)。
04 · 证书全生命周期治理
4.1 生命周期阶段与治理要点
| 阶段 | 签名证书要点 | 加密证书要点 | 治理工具 |
|---|---|---|---|
| 生成 | 用户介质内生成,私钥不出介质 | KM中心生成,私钥加密托管 | 合规密码模块;生成日志 |
| 签发 | CA按CP/CPS审核签发;两证书绑定同一主体标识与有效期策略 | CA系统(GB/T 25056-2018证书认证系统安全要求) | |
| 启用/分发 | 证书公开发布;信任链(根证书)预置到浏览器/网关/应用信任库 | 信任库配置管理 | |
| 使用 | 签名、身份认证 | 密钥交换、数据加解密 | 用途强制校验(密钥用法检查) |
| 更新 | 到期前更新;建议双证书同步更新以避免用途错配窗口 | 到期提醒台账;更新SOP | |
| 吊销 | 私钥泄露/介质丢失即吊销 | 私钥泄露吊销+KM托管密钥同步冻结 | CRL发布;OCSP服务 |
| 归档/销毁 | 过期证书归档备查(验旧签名需要) | 托管密钥到期销毁并留痕 | 归档库;销毁审计记录 |
4.2 吊销机制现状
国密证书吊销体系以CRL(证书吊销列表)为主、OCSP为辅:CA定期发布CRL至CRLDP指定地址,客户端验证时获取并检查。相对国际生态(子课题04所述OCSP软失败、CRLite等演进),国密生态的吊销检查更依赖客户端严格实现与国密浏览器的强制执行;服务端侧目前没有国际生态那样的stapling主流实践,吊销时效性整体弱于CT时代的国际最佳实践——这是国密信任体系值得跟踪改进的方向(第8页展望)。
4.3 生命周期治理的"三账"体系
- 证书台账:全量证书(含历史)的签发、到期、吊销状态登记,与CA对账;
- 密钥台账:密钥对状态(在用/冻结/销毁)、托管位置(介质编号/KM条目)、恢复记录;
- 操作审计账:证书申请、签发、更新、吊销、密钥恢复的全流程留痕——密评要求相关记录与报告保存期限不少于6年(《商用密码应用安全性评估管理办法》第十三条)。
05 · 与国际PKI的架构对比
| 维度 | 国际Web PKI | 国密证书体系 |
|---|---|---|
| 证书形态 | 单证书通用(同一密钥可签可加密,实践中服务端证书亦多为单一用途) | 双证书强制分离:签名证书+加密证书,密钥用法严格区分 |
| 算法族 | RSA/ECDSA/EdDSA + SHA-2/SHA-3 + AES/ChaCha20 | SM2 + SM3 + SM4(SM9/IBC为补充) |
| 信任锚分发 | 浏览器与操作系统根程序预装(Mozilla/Google/Apple/Microsoft) | 国密浏览器/SSL VPN网关内置国产根库;国际OS默认不内置 |
| 信任治理 | 多利益相关方治理(CA/B Forum + 根程序政策 + CT强制) | 行政许可制(电子认证服务许可)+ 密评 + 密码产品检测认证 |
| 可观测性 | CT日志强制公开(2018年起) | 无强制CT机制,可观测性依赖CA自律与监管抽检 |
| 自动化 | ACME全自动签发(Let's Encrypt等) | 以人工/半自动流程为主,自动化签发受监管约束 |
| 密钥托管 | 无托管惯例;服务端私钥自管(HSM) | 加密私钥法定托管KM中心;签名私钥自持为红线 |
方法论启示:两套体系的对照研究极具张力——国际体系"强观测、弱监管"(靠CT与根程序市场约束),国密体系"强监管、弱观测"(靠许可与密评合规约束)。钓鱼治理研究可借此双向借鉴:国际CT经验可为国密生态可观测性建设提供参照(第8页),国密的双钥职责分离经验亦可为国际PKI的密钥治理(如HSM职责矩阵)提供制度样本。
06 · 高频风险点与对策
| 风险点 | 典型表现 | 对策 |
|---|---|---|
| 签名密钥集中生成 | 为运维方便在服务器集中生成用户签名密钥对并分发——抗抵赖性丧失,密评高风险 | 坚持介质内生成;集中场景改用服务器密码机并以机构为主体而非个人签名 |
| 双证书用途错用 | 用加密证书签名或用签名证书做密钥交换——算法用途违规,部分实现会静默放行 | 实现层强制KeyUsage校验;密评核查密钥用法扩展项 |
| 双证书不同步 | 签名证书已更新而加密证书过期(或反之),TLCP握手失败或密钥协商降级 | 双证书绑定更新SOP;到期台账统一预警 |
| 证书-域名不匹配 | 国密站点证书CN/SAN未覆盖实际域名,国密浏览器告警用户被训练性忽略 | 签发前域名核验;上线前配置核查(参见子课题06域名验证方法) |
| 信任库污染 | 非规根证书被误装入应用信任库,或测试根证书流入生产 | 信任库变更审批;定期信任库审计(密评"设备和计算安全"层面) |
| 吊销响应迟滞 | 私钥泄露后CRL更新延迟,吊销窗口内仍可被利用 | 明确CA的CRL更新周期SLA;高危场景启用OCSP |
| 介质管理失控 | USBKey私钥PIN弱口令、介质转借、离职未回收 | 介质全生命周期登记;PIN策略与锁定机制;离职回收流程 |
07 · 国密证书文件形态与互操作要点
7.1 编码与封装
国密证书沿用X.509 DER编码与PEM Base64封装——PEM文本头(-----BEGIN CERTIFICATE-----)与国际证书完全一致,差异仅在内部的算法OID(1.2.156.10197.1.x系列)、SM2/SM3签名值与密钥用法语义。双证书部署的常见文件命名约定:签名证书/私钥(如 *.sign.crt / *.sign.key)与加密证书/私钥(如 *.enc.crt / *.enc.key);Tongsuo等组件以独立配置项分别加载两类证书与私钥,混配即握手失败。
7.2 密钥库支持
Java生态已可通过国密扩展密码库存取国密证书:腾讯Kona国密套件(TencentKonaSMSuite,开源)支持PKCS#12与JKS两种格式读写含国密证书的密钥库并提供CRL/OCSP校验;Bouncy Castle提供SM2证书生成、解析与CMS扩展能力。密钥库口令策略、介质保护与"三账"登记要求同第04章介质管理。
7.3 联调前互操作自检清单
- 证书链完整性:根CA→运营CA→实体证书,双证书均须链至同一国密根;
- 算法标识:签名算法OID为sm2-with-sm3(1.2.156.10197.1.501),公钥算法OID为SM2(1.2.156.10197.1.301);
- 密钥用法:签名证书含digitalSignature,加密证书含keyEncipherment/keyAgreement,严格分离;
- 名称匹配:CN/SAN与实际域名一致,证书有效期覆盖服务期;
- 信任库:客户端信任库已装入正确国密根,无私自增删根证书;
- 格式约定:SM2密文顺序C1C3C2、Z值ID默认值、点压缩格式三方对齐(第2页"三大坑点")。
本节参考来源(本页)
以下均为真实可查的权威来源,用于支撑本页格式规范与治理事实。
GM/T 0015-2012《基于SM2密码算法的数字证书格式规范》;GM/T 0014-2012《数字证书认证系统密码协议规范》;GM/T 0023-2014《证书认证服务系统密码协议规范》配套体系:密码行业标准文本渠道 oscca.gov.cn。
GB/T 20518-2018《信息安全技术 公钥基础设施 数字证书格式》;GB/T 25056-2018《信息安全技术 证书认证系统密码及其相关安全技术规范》:国家标准全文公开系统 openstd.samr.gov.cn。
GB/T 33560-2017《信息安全技术 密码应用标识规范》(SM2 OID 1.2.156.10197.1.301、sm2-with-sm3 OID 1.2.156.10197.1.501 等)。
《中华人民共和国电子签名法》(2004年颁布,2015/2019年修正)第十四条"可靠的电子签名与手写签名或者盖章具有同等的法律效力"。
《商用密码应用安全性评估管理办法》(国家密码管理局令第3号,2023-11-01施行)第十三条(记录保存≥6年):oscca.gov.cn 原文。
中国密码学会密评联委会《信息系统密码应用高风险判定指引》(密钥管理、密钥用法相关判定项)。