发表于 2008-7-3 10:40
| 来自
51CTO 网页
CA 数字签名认证系统 技术方案
[复制链接]
[只看他] 楼主
1. 系统需求
1.1 背景概述
随着计算机网络技术的迅速发展和信息化建设的大力推广,越来越多的传统办公和业务处理
模式开始走向电子化和网络化,从而极大地提高了效率、节约了成本。与传统的面对面的手
工处理方式相比,基于网络的电子化业务处理系统必须解决以下问题:
(1) 如何在网络上识别用户的真实身份;
(2) 如何保证网络上传送的业务数据不被篡改;
(3) 如何保证网络上传送的业务数据的机密性;
(4) 如何使网络上的用户行为不可否认;
基于公开密钥算法的数字签名技术和加密技术,为解决上述问题提供了理论依据和技术可行
性;同时,《中华人民共和国电子签名法》的颁布和实施为数字签名的使用提供了法律依据,
使得数字签名与传统的手工签字和盖章具有了同等的法律效力。
PKI(Public Key Infrastructure)是使用公开密钥密码技术来提供和实施安全服务的基础
设施,其中 CA(Certificate Authority)系统是 PKI 体系的核心,主要实现数字证书的发
放和密钥管理等功能。
数字证书由权威公正的 CA 中心签发,是网络用户的身份证明。使用数字证书,结合数字签
名、数字信封等密码技术,可以实现对网上用户的身份认证,保障网上信息传送的真实性、
完整性、保密性和不可否认性。
数字证书目前已广泛应用于安全电子邮件、网上商城、网上办公、网上签约、网上银行、网
上证券、网上税务等行业和业务领域。
1.2 现状与需求概述
现状描述。。。。。。
基于上述现状,******系统需要解决数据的签名问题和法律效力问题,从而提高*****的便
捷性和管理效率。鉴于数字证书、数字签名的广泛应用和相关法律的保障,****单位规划建
设 CA 及数字签名认证系统,主要需求如下:
(1) 建设 CA 系统或采用第三方 CA,为****用户申请数字证书;
(2) 在现有*****系统中加入对数据的签名功能,存储数据签名并提供对签名的认证功能;
1.3 需求分析
为了解决网上用户的身份证明问题,需要为用户颁发数字证书。数字证书由 CA 中心签发,
目前在实际应用中主要存在两种类型的 CA:
(1) 独立的第三方 CA
跨区域的 CA,如:中国电信的 CTCA、中国人民银行的 CFCA;
地域性的 CA,如:广东电子商务认证中心 CNCA、上海电子商务认证中心 SHECA,以及其他
各省电子商务认证中心;
(2) 各类应用系统自己建设的 CA
如:招商银行、建设银行等建设的用于服务各自网上银行的 CA;海关、税务等建设的服务
各自网上报税系统的 CA;
这两种类型的 CA 在实际使用过程中各有优劣,以下将进行分析和比较:
1.3.1 CA 建设与使用的分析
采用独立权威的第三方 CA 与自建 CA 的比较
备注:成本比较
权威的第三方 CA 的使用成本:10 元/年/用户 × 10 万用户 = 100 万元/年
自建 CA 的系统建设成本
1.3.2 证书存储方式的分析
使用普通文件存储方式与 USB 智能卡存储方式的比较
USB 智能卡自带 CPU,内置芯片操作系统(COS);采用 USB 接口,易于使用和携带;支持
RSA 非对称算法和 DES、3DES 等对称算法;支持 RSA 公司的 PKCS#11 标准和微软的 CSP 标准;
支持 Windows98/NT/2000/XP/2003 等操作系统。USB 智能卡可支持国密算法 SSF33,并通过
国家密码管理委员会的检测。
1.3.3 签名数据类型的分析
*****系统需要进行电子签名并存储的数据主要有以下三类:
上报表单的数据签名
用户在网上填写的各类表单需要由用户的私钥进行电子签名;
上报数据文件的数据签名
用户上传的数据文件,其内容需要由用户的私钥进行电子签名;
下载数据文件的数据签名
用户通过****系统生成并下载的确认数据文件(如:PDF 格式),其内容需要由用户的私钥
进行电子签名并回传至系统存储。
2. 技术方案
2.1 系统总体架构
系统的总体架构如下图所示,主要由:****业务系统、CA 数字证书受理系统、数字签名认
证系统三大部分组成。
2.2 系统数据库
系统中包含两个数据库(Sybase):业务数据库和证书数据库,其中证书数据库需要新建,
业务数据库需要更新,以满足数字签名认证的需求。
(1)证书数据库主要包括以下数据:
用户数据:用于用户数字证书的申请,可以由业务数据库批量导入;
证书数据:用户证书及证书信息、证书状态;
用户与证书的关联数据:用户信息与用户证书的对应关系;
(2)业务数据库主要包括以下数据:
用户数据:用户的用户信息;
业务数据及签名数据:业务的各项数据,需要增加相应的签名字段和签名证书的序列号字段;
2.3 CA 数字证书受理系统
2.3.1 数字证书及其格式
数字证书是一种数字标识,如同我们的身份证一样,是网络上的身份证明,它是由证书授权
机构(CA)签名颁发的数字文件,该签名使得第三者不能伪造和篡改证书。
ITU-T 的 X..509 国际标准定义了数字证书的格式,目前 X .509v3 数字证书的主要内容,如
图 2 所示,主要包括证书的版本号、证书的序列号、证书的有效起止日期、证书颁发者的名
字和唯一标识符、证书持有者的名字和唯一标识符、证书持有者的公钥、证书扩展项以及证
书颁发者的签名。其中,证书扩展项可以根据证书的不同应用而由证书的颁发者具体定义,
因而具有较强的通用性和灵活性。
由于数字证书是由相对权威的授权机构审核颁发的,因此,一方面可以用来向系统或者系统
的其他实体证明自己的身份;另一方面,由于证书携带着其持有者的公钥,也起着公钥分发
的作用。
X .509v3 数字证书的主要格式
基于****单位的现状与需求分析,建议建设自己的业务系统 CA,节约总体成本投入,满足
业务系统对 CA 认证的可靠性、灵活性、快捷性以及用户使用的方便性等方面的需求。另外,
也可以采用基于权威第三方的 CA 数字证书受理系统。
2.3.2 自建 CA 数字证书受理系统
独立建设的 CA 数字证书受理系统
自建 CA 数字证书受理系统主要由 WEB 应用服务器、数据库、RA 服务器、CA 服务器组成,采
用 B/S(浏览器/服务器)架构实现基于 WEB 的数字证书申请、审核、下载制作、更新和作
废等功能。
2.3.2.1 自建 CA 各组成部分及其功能
基于 WEB 的证书管理系统
为用户和管理员提供 WEB 管理界面,完成用户证书申请信息的提交、查询、审核;已生成的
数字证书的下载和制作(存储到指定介质);证书状态的查询和管理(证书更新、证书作废);
私钥密码的修改等功能。
证书数据库
存储用户信息、证书信息以及二者的关联信息,保存用户的所有历史证书数据,以备校验历
史签名数据。
注册授权服务器(RA)
负责定期从数据库中提取已审核通过的证书申请/更新/作废信息,按既定格式打包提交到
CA 服务器,并接收和记录返回的结果。
证书签发服务器(CA)
负责密钥对(公私钥对)的产生,可采用软件方式或硬件方式(加密机);接收 RA 服务器
的请求,签发/更新/作废用户证书;定期签发 CRL(证书撤销列表)。
备注:
(1)CA 服务器采用软件方式产生密钥对可节约系统成本;采用硬件方式产生密钥对,则需
要购置加密机(国密局认证的密码设备,得安 SJY05 型加密机),产生的密钥对质量高,也
有利于自建的 CA 完成相关认证和获取资质。
(2)RA 服务器和 CA 服务器均为软件方式的应用程序,可共用一台主机。
2.3.2.2 自建 CA 的主要功能和技术特点
自建 CA 总体上具有建设成本低、易于部署;流程简捷高效、易于管理;系统可定制,易于
与具体业务系统相结合等特点。
系统的主要功能如下:
自定义根 CA:系统初始化时,自定义根 CA 证书。
CA 策略管理:支持对密钥长度、证书有效期、私钥备份等策略的管理。
证书申请信息注册:通过 WEB 方式提交证书申请信息,支持个人证书、企业证书、服务
器证书等,支持批量证书申请。
证书申请信息审核:管理员通过 WEB 方式查询并审核用户的证书申请信息,可设置自动
审核。
密钥产生和证书签发:CA 服务器支持软件方式和硬件方式(加密机或加密卡)产生密钥
对,并签发证书请求,生成证书。
证书查询和下载制作:通过 WEB 方式查询证书申请状态、证书状态,下载已经生成的证
书,并通过 WEB 方式灌制到指定的存储介质。
证书作废和 CRL 签发:通过 WEB 方式提交证书作废请求,定时签发 CRL。
证书更新:即将到期的用户证书可以通过 WEB 方式进行在线更新。
证书导出:可以通过 WEB 方式将指定范围的用户证书按标准格式(BASE64 编码)导出到
文件中。
系统审计:对证书相关的各项操作,提供详尽的系统审计功能。
系统的主要技术和功能特点:
数字证书格式遵循 X.509v3 国际标准
密钥长度可支持 512、1024、2048 位
密钥生成方式支持软件产生和硬件(加密机或加密卡)产生
支持 CA 策略定制(密钥长度、证书有效期、私钥备份等策略)
支持多种证书类型:个人、企业、服务器证书等
支持多种存储介质:磁盘、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 系统申请数字证书;