支持多种证书类型:个人、企业、服务器证书等
支持多种存储介质:磁盘、U盘、IC卡、USB智能卡(eKey) 支持证书的批量申请,支持证书申请的手工审核和自动审核 支持证书作废和证书撤销列表(CRL),支持证书更新 2.3.2.3 自建CA的证书受理业务流程
自建CA的证书受理业务流程 上述流程中的相关步骤说明如下:
(1) 步骤1至3,可以根据实际情况由管理员一次录入资料并自动审核;对于*****系统而言,可以从系统的数据库中按要求格式导出用户数据文件,再批量导入证书申请数据库中,同时自动审核;
(2) 步骤8至9,可根据实际情况由用户或管理员完成下载操作。
自建CA系统在对外提供电子认证服务时,需要通过国家密码管理局、国务院信息产业主管部门的审查并获取电子认证许可证。 2.3.3 自建CA切换到第三方CA的可行性分析
自建CA在结构上具有良好的兼容性,通过RA服务器可以屏蔽不同CA中心所带来的接口问题。当整个CA系统需要切换到第三方CA时,只需更改RA服务器,按第三方CA系统的接口格式,将证书申请数据打包提交到第三方CA系统即可实现证书的申请,原有的基于WEB的证书管理系统将仍然有效。
2.3.4 基于第三方(CTCA)的数字证书受理系统
目前,国内拥有CTCA、CFCA等大型CA运营系统,它们通过了相关部门的审批,具有相关资质,是对外提供电子认证服务的权威、公正的第三方CA系统。
如果采用第三方CA系统,则需要完成以下工作: (1) 与第三方CA签署合作协议; (2) 从第三方CA系统申请数字证书; (3) 为申请的数字证书按年交纳使用费用;
在申请和使用数字证书的过程中,需要遵循第三方CA限定的证书申请模式,受第三方CA系统性能制约。从第三方CA系统申请数字证书的方式可以是用户分散申请方式或者批量申请方式,前者对用户要求较高且过程繁琐,后者需要将批量申请下来的数字证书手工导入业务系统中。 建立基于第三方CA的数字证书网上受理系统,是解决第三方CA数字证书申请的有效途径之一,通过该系统连接业务系统和第三方CA,从而实
现数字证书申请过程以及数字证书与业务系统结合过程的自动化。 2.4 数字签名认证系统
数字签名认证系统由客户端浏览器签名控件、签名认证服务器、基于WEB的签名验证管理系统组成。 2.4.1 数字签名认证的原理及流程
数字签名认证的原理
数字签名基于非对称加密算法和单向散列算法(Hash函数),其原理如下:
用户A对要发送的信息用Hash函数进行摘要,并用自己的私钥加密该摘要;
用户A把原始信息和私钥加密后的摘要绑定,发送给用户B; 用户B用A的公钥解密接收到的加密摘要,并得到摘要; 用户B对接收的原始信息用同一Hash函数进行摘要; 将前两步所得的摘要进行对比,如果相同,即可通过验证。 利用证书验证签名数据时,都遵循相同的验证流程,一个完整的验证过
程由以下几步:
(1) 将接收的数据分为原始数据流、签名数据和用户证书三部分; (2) 用CA根证书验证用户证书的签名完整性;
(3) 检查用户证书是否有效(当前时间在证书的有效期内为有效); (4) 检查用户证书是否作废 (OCSP方式或证书撤销列表CRL方式); (5) 验证用户证书结构中的证书用途; (6) 用用户证书验证原始数据的签名完整性。
如果上述各项均验证通过,则接受该数据;只要有一项未通过,则验证失败。
2.4.2 客户端浏览器签名控件
客户端浏览器签名控件采用ActiveX控件形式(如下图所示),在第一次使用系统时自动下载安装。
图9 客户端浏览器签名控件的自动下载安装示例
客户端签名控件可以以浏览器插件形式自动调用,也可以以脚本方式调用,主要完成以下功能:
(1) 对网页中的表单(Form)数据项进行签名
表单中的各数据项按约定方式命名,签名控件自动检测表单数据项并按如下格式对表单进行签名:
签名数据 = 私钥签名( Hash(Key1=Value1&Key2=Value2&…&KeyN=ValueN))
提交到服务器的数据 = 原始表单数据 + 签名数据 + 用户数字证书 (2) 对网页中上传的数据文件内容进行签名
上传文件的控件名按约定方式命名,签名控件自动检测准备上传的数据文件,读取文件内容并按如下格式对文件进行签名: 签名数据 = 私钥签名(Hash(上传文件的内容))
提交到服务器的数据 = 原始文件数据 + 签名数据 + 用户数字证书 2.4.3 签名认证服务器及认证的业务流程
如图2所示,签名认证服务器位于防火墙之后,与EJB服务器配合使用,并与证书数据库相连接,其认证的业务流程如下图所示: