【简介】《GM/T 0034-2014 基于SM2密码算法的证书认证系统密码及其相关安全技术规范》
2021-07-06 21:56 书书书书君 阅读(4747) 评论(0) 编辑 收藏 举报注:本博文内容仅为GM/T 0034-2014的一部分,涉及到的部分仅为系统结构、密钥、流程等,且内容稍显粗略。
证书认证系统
概述
证书认证系统是对生命周期内的数字证书进行全过程管理的安全系统。证书认证系统必须采用双证书(用于数字签名的证书和用于数据加密的证书)机制,并建设双中心(证书认证中心和密钥管理中心)。
证书认证系统在逻辑上可分为核心层、管理层和服务层,其中,
- 核心层由密钥管理中心、证书/CRL生成与签发系统、证书/CRL存储发布系统构成;
- 管理层由证书管理系统和安全管理系统构成;
- 服务层由证书注册管理系统(包括远程用户注册管理系统)和证书查询系统构成。
建议的证书认证系统的逻辑结构如图所示:
功能要求
证书认证系统提供了对生命周期内的数字证书进行全过程管理的功能,包括:
用户注册管理、证书/证书撤销列表的生成与签发、证书/证书撤销列表的存储与发布、证书状态的查询、密钥的生成与管理、安全管理。
CA:证书认证机构
RA:证书注册机构
ARL:CA注销列表
CRL:证书撤销列表
KMC:密钥管理中心
OCSP:在线证书状态查询协议
部分子系统介绍
用户注册管理系统结构
主要功能
用户注册管理系统负责用户证/证书撤销列表的中请、审核以及证书的制作,其主要功能如下:
- 用户信息的录入:录入用户的申请信息,用户申请信息包括签发证书所需要的信息,还包括用亍验证用户身份的信息,这些信息存放在用户注册管理系统的数据库中。用户注册管理系统应能够批量接受从外部系统生成的、以电子文档方式存储的用户信息;
- 用户信息的审核:提取用户的申请信息,审核用户的真实身份,当审核通过后,将证书签发所需要的信息提交给签发系统;
- 用户证下载:用户注册管理系统提供证书下载功能,当签发系统为用户签发证书后,用户注册管理系统能够下载用户证书,并将用户证书写入指定的用户证书载体中,然后分发给用户;
- 安全审计:负责对用户注册管理系统的管理人员、操作人员的操作日志进行查询、统计以及报表打印等;
- 安全管理:对用户注册管理系统的登陆进行安全访问控制,并对用户信息数据库进行管理和备份;
- 多级审核;用户注册管理系统可根据需要采用分级部署的模式,对不同种类和等级的证书可由不同级别的用户注册管理系统进行审核。用户注册管理系统应能够根据需求支持多级注册管理系统的建立和多级审核模式。
- 用户注册管理系统应具有并行处理的能力。
逻辑结构
用户注册管理系统有本地注册管理和远程注册管理两种方式。
证书/CAL生成与签发系统
主要功能
证书/证书撒销列表生成与签发系统是证认证系统的核心,不仅为整个证书认证系统提供签发证书/证书撤销列表的服务,还承担整个证书认证系统中主要的安全管理工作。
其主要功能如下:
- 证书生成与签发:从数据库中读取与核对用户信息,根据拟签发的证书类型向密钥管理中心申请加密密钥对,生成用户的签名证书和加密证书,将签发完成的证发布到目录服务器和数据库中。根据系统的配置和管理策略,不同种类或用途的证可以采用不同的签名密钥。
- 证书更新:系统应提供CA证书及用户证书的更新功能。
- 证书撤销列表生成与签发:接收注销信息,验证注销信息中的签名,然后签发证书撤销列表将签发后的注销列表发布到数据库或目录服务器中。签发证书撤销列表的签名密钥可以与签发。
- 证书的签名密钥相同或不同安全审计:负责对证/证书撤销列表生成与签发系统的管理人员、操作人员的操作日志进行查询、统计以及报表打印等。
- 安全管理:对证书/证书撤销列表生成与签发系统的登录进行安全访问控制,并对证书/证书撤销列表数据库进行管理和备份:设置管理员、操作员,并为这些人员中请和卜载数字证书:配置不同的密码设备:配置不同的证模板。
- 证书/证书撤销列表生成与签发系统应具有并行处理的能力。
系统结构
证书/证书撤销列表生成与签发系统由证书/证书撤销列表生成与签发模块、安全管理模块、安全审计模块、数据库、目录服务器以及密码设备等组成。
证书的生成/签发:
密码设备主要功能包括:
密码设备完成签名以及验证工作,并负责与其他系统通信过程中的密码运算,CA的签名密钥保存在密码设备中。在进行上述工作中,必须保证所使用的的密钥不能以明文形式被读出密码设备。
安全管理模块主要功能包括:
- 证书模板配置:不同的证种类由不同的证模板确定,证书模板包括相应种类证的基本项和证书的扩展项;
- CRL发布策略配置:配置CRL的发布策略,包括自动/人工发布模式选择、发布时间间隔;
- 进行CA密钥的更新;
- 进行证的备份和归档;
- 进行服务器安全配置,包括服务器可接受的主机访问列表;
- 为其它子系统定义管理员以及为这些管理员签发数字证书;
- 数据库系统的配置:数据源的选择,数据库连接的用户名和口令设置。
密钥管理中心
总体设计原则
- 密钥管理中心遵循标准化、模块化设计原则;
- 密钥管理中心设置相对独立的功能模块,通过各模块之间的安全连接,实现各项功能;
- 各模块之间的通信采用基于身份验证机制的安全通信协议;
- 各模块使用的密码运算都必须在密码设备中完成;
- 各模块产生的审计日志文件采用统一的格式传递和存储;
- 系统必须具备访问控制功能系统应设置有效的系统管理功能;
- 系统在实现密钥管理功能的同时,必须充分考虑系统本身的安全性;
- 系统可为多个CA提供密钥服务,当为多个CA提供密钥服务时,由上级CA为密钥管理中心签发证书。
密钥管理
密钥管理中心提供了对生命周期内的加密证书密钥对进行全过程管理的功能,包括密钥生成、存储、分发、备份、更新、撤销、归档、恢复及安全管理等。
管理员
在CA应设置下列管理和操作人员:
- 超级管理员
- 审计管理员
- 审计员
- 业务管理员
- 业务操作员
管理员证书密钥:
管理员证书对应的公私钥对必须使用硬件来产生,并将私钥存储在不可读出的硬件(如智能密码钥匙)中。
管理员证书密钥的安全性应满足下列要求:
- 管理员证书对应的公私钥对必须使用硬件来产生,且私钥不可读出存储的硬件。
- 管理员证书密钥的产生和使用必须在证书载体中完成。
- 密钥的生成和使用必须有安全可靠的管理机制。
- 口令长度为8个字节以上。
- 管理员账号和普通用户账号严格分类管理。
根CA密钥
产生:
根CA密钥的产生过程必须进行记录。
恢复:
恢复根CA密钥时,要有满足根CA密钥恢复所必需的分管者人数。各个分管者输入各自的口令和
分管的密钥成份在密码设备中恢复。
更新:
根CA密钥的更新,需更新生成根CA密钥,其过程同根CA密钥的生成。
废除:
根CA密钥的废除应与根CA密钥的更新同步。
销毁:
根CA密钥的销毁应与备份的根CA密钥一同销毁。由密码主管部门授权的机构实施。
非根CA密钥的安全性要求与根CA密钥的安全性要求一致。
流程
证书申请流程
- 客户向RA提出证书申请,RA业务操作员对客户申请进行审核。如果审核通过,RA业务操作员录入客户信息,使用密码硬件(如密码设备或智能密码钥匙)为客户生成签名密钥对。如果审核未通过则告知客户失败原因。RA业务操作员把证书申请发给CA系统。
- CA系统为客户生成签名数字证书,RA业务操作员将签名证书下载并置入安全载体(如智能密码钥匙)。通常签名密钥对是在安全载体(如智能密钥钥匙)中生成,此时其内部已保存有签名密钥对。
- CA系统向密钥管理中心提交用户的签名证书公钥,并申请加密密钥对。
- 密钥管理中心业务操作员从备用库中取出加密密钥对,当证书基于SM2算法时,使用SM2加密密钥对保护结构数据格式发送给CA系统,CA生成加密数字证书,把加密证书和SM2加密密钥对保护结构数据发送给RA业务操作员。SM2加密密钥对保护结构数据格式参见GM/T 0016《智能密码钥匙密码应用接口规范》6.4.10节。
- RA业务操作员把加密证书及对应的私钥导入安全载体(如智能密码钥匙)中。
- RA业务操作员把包含加密密钥证书、签名密钥证书及其对应私钥的安全载体发放给客户。
证书更新流程
客户向RA提出证书更新请求,RA业务操作员审核客户的请求,若通过则接下米进入证书申请流程,为用户颁发新证书。若拒绝则告知客户失败原因。
在具体应用中,部分CA在证书更新时先吊销客户的原有证书,再为用户颁发新证书。另一部分CA不吊销客户原有证书,待其截止日到达后自然过期,新旧证书有可能在短时期内同时有效。这样做的好处是可以避免将即将过期的证书加入CRL列表,减轻CRL列表维护的负担,避免在短时期内频繁更新CRL列表。这里推荐采用证书更新时先吊销原先证再颁发新证的方式,但不做强制要求。
证书吊销流程
客户向RA提出证书吊销请求,RA业务操作员审核客户的请求,若拒绝则告知客户失败原因,若通过则RA业务操作员将要吊销的数字证书和吊销请求发送CA系统,CA系统将该证书信息加入CRL列表,并在OCSP响应服务器上将该证书的状态修改为“已吊销”。
如果吊销的是加密证书,还需要以下步骤:CA系统将吊销加密数字证书请求给密钥管理中心。密钥管理中心业务操作员将要撤销的加密密钥对从在用库转移到历史库中。
用户密钥恢复流程
- 客户向RA提出密钥恢复请求,RA业务操作员审核客户的请求,若拒绝则告知客户失败原因,若通过则使用密码硬件(如密码设备或智能密码钥匙)为客户生成新的签名密钥对。RA业务操作员把密钥恢复请求发给CA系统。
- CA系统在签名密钥对的基础上为客户生成签名数字证书,RA业务操作员将签名证书下载并置入安全载体(如智能密码钥匙)。通常签名密钥对是在安全载体(如智能密钥钥匙)中生成,其內部已保存有签名密钥对。若签名密钥对不是在安全载体(如智能密钥钥匙)中生成,则需通过密钥对保护方式将加密的签名密钥对导入到安全载体中,密钥对保护方式参考GM/T 0016《智能密码钥匙密码应用接口规范》6.4.10节。
- CA系统向密钥管理中心提交用户的签名证公钥,并申请恢复加密密钥对中的私钥。
- 密钥管理中心业务操作员从在用库中取出要恢复的加密密钥对,如果使用的证书基于SM2算法,则使用SM2加密密钥对保护结构数据格式把待恢复的密钥对发送给RA业务操作员。若密钥恢复申请不通过则把拒绝原因发送给RA业务操作员。SM2加密密钥对保护结构数据格式参见GM/T 0016《智能密码钥匙密码应用接口规范》6.4.10节。
- RA业务操作员进行证查询,找到加密密钥对对应的加密数字证书,把加密证书及对应的私钥导入安全载体(如智能密码钥匙)中。注意客户原有的加密数字证书可继续使用,无需重新签发。RA业务操作员把包含加密密钥证书、签名密钥证书及其对应私钥的安全载体发放给客户。
司法密钥恢复
这是一种特殊的密钥恢复操作,恢复对象是加密密钥对中的私钥,实施地点为密钥管理中心,前提是必须有以下两方人员同时在场参与:
- 有司法恢复权限的密钥管理中心业务操作员;
- 司法取证人员。司法取证人员必须持有能证明其身份的数字证书和能进行数字签名的密钥硬件(如智能密码钥匙)。
司法密钥恢复流程如下:
- 密钥管理中心对司法取证人员进行身份鉴别,通过鉴别后才能进入下一步。
- 若待恢复的加密密钥对所对应的加密证未过期或未被吊销,密钥管理中心业务操作员到在用库中找到要恢复的加密密钥对:若待恢复的加密密钥对所对应的加密证书已过期或已被吊销,操作员到历史库中找到要恢复的加密密钥对。
- 可用司法取证人员的公钥制作数字信封,将要恢复的加密密钥对保存在数字信封中。也可用SM2加密密钥对保护结构存放恢复出的加密密钥对,SM2加密密钥对保护结构数据格式参见GM/T 0016《智能密码钥匙密码应用接口规范》6.4.10节。
- 将恢复出的加密密钥以数字信封形式或加密密钥对保护结构文件形式保存到司法专用载体(如智能密码钥匙)中。
- 司法取证人员和参与恢复的密钥中心业务操作员必须对司法密钥恢复记录进行数字签名。
证书挂起流程
证书持有者、法律或者政府权力部门可以要求将证挂起,应向RA提出证书挂起请求,RA业务操作员审核挂起请求,若拒绝则告知失败原因,若通过则RA业务操作员将要挂起的数字证书和挂起请求发送CA系统,CA系统将该证书信息加入CRL列表,并在OCSP响应服务器上将该证书的状态修改为“已吊销”。
解除证书挂起流程
证书挂起的提岀者向RA提岀解除证书挂起请求,RA业务操作员审核解除挂起请求,若拒绝则告知失败原因,若通过则RA业务操作员将要解除挂起的数字证书和解除挂起请求发送CA系统,CA系统将该证书信息从CRL列表中移除,并在OCSP响应服务器上将该证的状态修改为“有效”。