CA认证系统设计.docx
《CA认证系统设计.docx》由会员分享,可在线阅读,更多相关《CA认证系统设计.docx(10页珍藏版)》请在冰豆网上搜索。
CA认证系统设计
CA认证系统设计
1.1 系统简介
本系统是参照国际领先的CA系统的设计思想,继承了国际领先CA系统的成熟性、先进性、安全可靠及可扩展性,自主开发的、享有完全自主知识产权的数字证书服务系统。
系统具有完善的功能,能够完成从企业自主建立标准CA到政府、行业建立大型服务型CA等全面的需求。
CA系统采用模块化结构设计,由最终用户、RA管理员、CA管理员、注册中心(RA)、认证中心(CA)等构成,其中注册中心(RA)和认证中心(CA)又包含相应的模块,系统架构如下图:
图1 CA系统模块架构图
CA系统能提供完善的功能,包括:
证书签发、证书生命周期管理、证书吊销列表(CRL)查询服务、目录查询服务、CA管理、密钥管理和日志审计等全面的功能。
CA系统按照用户数量的不同分为小型iTrusCA、标准型iTrusCA、企业型iTrusCA和大型iTrusCA,不同类型系统的网络建设架构是不同的。
CA系统具有下列特点:
A. 符合国际和行标准;
B. 证书类型多样性及灵活配置。
能够发放包括邮件证书、个人身份证书、企业证书、服务器证书、代码签名证书和VPN证书等各种类型的证书;
C. 灵活的认证体系配置。
系统支持树状的客户私有的认证体系,支持多级CA,支持交叉认证;
D. 高安全性和可靠性。
使用高强度密码保护密钥,支持加密机、智能卡、USBKEY等硬件设备以及相应的网络产品(证书漫游产品)来保存用户的证书;
E. 高扩展性。
根据客户需要,对系统进行配置和扩展,能够发放各种类型的证书;系统支持多级CA,支持交叉CA;系统支持多级RA。
F. 易于部署与使用。
系统所有用户、管理员界面都是B/S模式,CA/RA策略配置和定制以及用户证书管理等都是通过浏览器进行,并具有详细的操作说明。
G. 高兼容性。
支持各种加密机、多种数据库和支持多种证书存储介质。
1.2 认证体系设计
认证体系是指证书认证的逻辑层次结构,也叫证书认证体系。
证书的信任关系是一个树状结构,由自签名的根CA为起始,由它签发二级子CA,二级子CA又签发它的下级CA,以此递推,最后某一级子CA签发最终用户的证书。
认证体系理论上可以无限延伸,但从技术实现与系统管理上,认证层次并非越多越好。
层次越多,技术实现越复杂,管理的难度也增大。
证书认证的速度也会变慢。
一般的,国际上最大型的认证体系层次都不超过4层,并且浏览器等软件也不支持超过4层的认证体系。
本方案设计的用户的CA认证系统采用如下图所示的认证体系:
图2 用户CA认证体系图
如图所示,认证体系采用3层结构:
ν
第一层是自签名的用户根CA,是处于离线状态的,具有用户的权威性和品牌特性。
ν
第二层是由用户根CA签发的用户子CA,处于在线状态,它是签发系统用户证书的子CA。
ν
第三层为用户证书,由用户子CA签发,从用户证书的证书信任链中可以看出整个用户的CA认证体系结构,用户证书在用户的应用范围内受到信任。
采用这种认证体系具有下列特点:
(1)体现用户的权威性
从认证体系上看,用户CA具有自己的统一的根CA,由用户进行统一管理,负责整个用户的认证体系、CA策略和证书策略的定制与管理,这样充分体现了用户的权威性。
(2)具有很好的可扩展性
如图所示体系具有很好的可扩展性,采用三层结构为体系的扩展预留了空间(因为大多数应用都只支持四层以下),根据用户实际应用需求,将来可以在子CA下,签发下级子CA;或者针对别的应用再签发子CA这样,使得用户CA认证体系具有很好的可扩展性。
(3)具有很好的可操作性
采用三层体系结构,相对比较简单,在CA的创建和管理上也相当比较容易。
虽然从技术上认证体系支持无限扩展,但是层次越多,技术实现越复杂,管理的难度也增大。
而采用三层结构是目前业界比较通用的、标准的做法。
这样,使得用户CA认证体系具有很好的可操作性。
1.3 系统网络架构
采用CA系统将为用户建设一个CA中心和一个RA中心,CA系统的所有模块可以安装在同一台服务器上,也可以采用多台服务器分别安装各模块。
系统网络架构如下图所示:
图3 CA系统网络架构示意图
如图所示,将CA系统的CA认证中心和RA注册中心各模块安装在CA服务器上,为了保证系统的安全,CA服务器必须位于安全的区域,即采用防火墙与外界进行隔离。
最终用户使用浏览器,访问CA服务器,进行证书申请和管理。
管理员(包括CA管理员和RA管理员,可以是同一个管理员担任)使用浏览器,访问CA服务器,进行证书管理和CA管理。
1.4 证书存储介质
本方案推荐使用USBKEY来保存用户的证书及私钥。
USBKEY是以USB为接口的存储设备,它便于携带和使用,可以实现在所有的机器(具有USB接口)上的漫游,可以满足用户移动办公的需求。
USBKEY可以设置用户口令保护,增强了证书及私钥的安全性。
为了在发生USBKEY丢失等情况时,私钥可以恢复或者还可以用私钥解密以前的加密邮件,在申请证书时,密钥对可以在系统中产生而不是在USBKEY中产生,当证书申请成功后,再将私钥和证书导入到USBKEY中;同时系统可以以文件的形式保留私钥和证书的备份,这就提供了在USBKEY丢失时对用户私钥和证书的保护措施。
1.5 CA系统功能
CA系统具有完善的功能,采用iTrusCA系统设计的用户CA认证系统也具有完善的功能,包括:
(1)证书签发
通过CA认证系统,能够申请、产生和分发数字证书,具有证书签发功能。
用户访问CA认证系统,提交证书申请请求,申请数字证书;RA管理员访问管理员站点,审查和批准用户的证书申请请求;CA认证中心根据RA管理员的批准,签发用户证书,并将数字证书发布到目录服务器中。
用户CA认证系统,获取签发的证书。
(2)证书生命周期管理
通过CA认证系统,可以实现证书的生命周期管理,包括:
λ
证书申请最终用户使用浏览器,访问CA认证系统,可以进行证书申请,在线提交证书申请请求;
λ
证书批准管理员登录管理员站点,完成证书批准功能,可以查看和审批最终用户的证书申请请求;
λ
证书查询最终用户可以通过CA认证系统,查询自己或别人的数字证书;
λ
证书下载通过CA认证系统,可以下载签发的数字证书;
λ
证书吊销最终用户在使用证书期间,有可能会出现一些问题,如:
证书丢失、忘记密码等,最终用户就需要将原证书吊销。
用户吊销证书时,可以直接访问CA认证系统,在线的向CA提交证书吊销请求,CA认证系统根据用户的选择,自动吊销用户的证书,并将吊销的证书添加到证书吊销列表(CRL)中,按照证书吊销列表的发布周期进行发布;
λ
证书更新在用户证书到期前,用户需要更新证书,用户访问CA认证系统,查询用户的证书状态,对即将过期的用户证书进行更新。
(3)CRL服务功能
CA认证系统支持证书黑名单列表(CRL)功能,能够配置指定RA的CRL下载地点及CRL发布时间。
CA认证系统定时产生CRL列表,并将产生的CRL发布至Web层CRL服务模块,可以通过手工下载该CRL。
(4)目录服务功能
CA认证系统支持目录服务,支持LDAPV3规范,CA认证系统在签发用户证书时或者对证书进行吊销处理时,会及时更新目录内容。
证书目录服务的功能提供给用户进行证书查询的功能,用户可以通过电子邮件(Email)、用户名称(CommonName)、单位名称(Organization)和部门名称(OU)等字段查找CA认证系统签发的用户证书。
(5)CA管理功能
CA认证系统具有完善的CA管理功能,包括:
λ
管理员管理
ν
RA管理员管理,包括初始化RA管理员申请、增加RA管理员、删除RA管理员;
ν
CA管理员管理,包括初始化CA管理员申请、后续CA管理员证书申请、吊销CA管理员证书。
λ
账号管理
ν
个人账号管理,包括注册信息,证书信息等管理;
ν
RA账号管理,包括RA账号申请、批准、吊销、额外管理员证书申请等。
λ
策略管理
ν
证书策略配置管理,高度灵活和可扩展的配置CA所签发证书的有效期、主题、扩展、版本、密钥长度、类型等方面;
ν
RA策略配置管理,包括语言、联系方法、证书类型、是否发布到LDAP等;
ν
CA策略配置管理,包括证书DN重用性检查、CA别名设置等。
(6)日志与审计功能
系统具有完善的日志与审计功能,可以查看和统计各种日志,包括:
λ
统计各CA、RA账号证书颁发情况;
λ
记录所有RA与CA的操作日志;
λ
对所有操作人员的操作行为进行审计。
(7)CA密钥管理
系统支持CA密钥管理功能,包括:
λ
CA密钥产生和存储(软件与硬件);
λ
CA证书(包括根CA和子CA)的产生和管理;
λ
CA密钥归档与备份。
1.6 证书应用开发接口(API)
为了实现基于数字证书的安全应用集成,提供了完整的证书应用开发接口(API),提供C、JAVA和COM等多种接口,包括:
ν
个人信任代理(PTA)
个人信任代理(PTA)是客户端的软件包,既包括安装在客户端的文件加密/解密程序,也包括用于数字签名和签名验证的ActiveX控件。
文件加/解密模块可以产生随机数密钥对文件进行加密,以及使用输入的密钥对文件进行解密;ActiveX控件由用户访问相关网页时下载到客户端浏览器中,实现使用本地的证书(私钥)对文件进行数字签名,以及对签名进行验证。
ν
证书解析模块(CPM)
证书解析模块是一系列平台下的动态链接库,用于解析DER或PEM编码的X.509数字证书,将证书中的信息,包括用户信息、证书有效期、证书公钥等信息分解为字符串。
ν
数据签名验证模块(SVM)
数据签名及验证模块是一系列平台下的动态链接库或插件,可以应用于客户端和服务器端,实现对传输数据的数字签名,和对数字签名及其证书进行验证。
证书的验证可使用CRL或OCSP来进行有效性验证。
1.7 系统工作流程设计
(1)证书发放流程
本方案设计的用户CA认证系统的证书发放采用集中发证的方式,即由管理员集中申请好证书,保存在USBKEY中,发放给用户使用。
其工作流程如下图所示:
图4 证书发放流程图
(a)管理员使用浏览器,访问用户CA认证系统,进入证书申请页面,替最终用户填写证书申请信息,向用户CA认证系统提交证书申请请求。
在本地(本地的USBKEY上)产生证书的公私钥对,并将公钥和用户信息一起作为证书申请请求,提交给CA认证系统;
(b)CA认证系统根据管理员提交的证书申请请求,批准并签发用户证书,将用户证书发布到数据库中。
同时,将用户证书返回到管理员端,保存到USBKEY中;
(c)管理员将申请好证书的USBKEY发放给最终用户。
(2)证书吊销流程
在用户证书的私钥受到威胁、或者用户私钥丢失时,需要吊销用户的证书,根据用户信息系统的应用情况,本方案设计证书吊销由管理员进行,其工作流程如下:
(a)管理员在发现用户违反使用规定,或者用户自己向管理员发送邮件,请求吊销自己的证书时,管理员访问CA认证系统管理员模块,进行用户证书吊销用户;
(b)管理员通过证书管理功能页面,查询到需要吊销的用户证书;
(c)管理员选择吊销操作,选择吊销用户证书的原因,向CA认证系统发送证书吊销请求;
(d)CA认证系统根据管理员的证书吊销请求,自动的吊销用户的证书,并将吊销的用户证书发布到证书吊销列表中,同时对数据库中保存的用户证书的最新状态进行更新;
(e)CA认证系统给管理员返回证书吊销成功信息,同时给用户发送电子邮件,告诉用户证书已经被吊销,不能再使用自己的证书。
(3)证书更新流程
最终用户在其证书即将过期之前,需要访问CA认证系统,更新自己的证书,其流程为:
(a)最终用户在证书即将过期前(一般为一个月),访问用户CA认证系统,登录用户服务页面,点击“证书更新”选项;
(b)系统自动识别用户是否具有用户CA认证系统颁发的数字证书,并且判断是否过期,如果即将过期,便提示进行更新;
(c)用户选择需要更新的证书,点击提交,向CA认证系统提交证书更新请求。
在提交证书更新请求时,在USBKEY中,重新产生更新证书的公私钥对,将公钥和即将过期的证书一起,作为证书更新请求,提交给CA认证系统;
(d)CA认证系统自动批准证书更新请求,自动更新用户证书,将更新的证书发布到目录服务器,同时将更新证书返回到用户端,自动保存到USBKEY中。
1.8 系统性能和特点分析
采用iTrusCA系统建设的用户CA认证系统拥有下列性能和特点:
(1)符合国际和行业标准
系统在设计中遵循了相应的国际和工业标准,包括X.509标准、PKCS系列标准、IETF的PKIX工作组制定的PKI相关RFC标准,以及HTTP、SSL、LDAP等互联网通讯协议等。
严格遵循这些标准,使得系统具有很好的开放性,能够与各种应用结合,成为真正的安全基础设施。
(2)证书类型多样性及灵活配置
系统能够提供各种证书的签发功能,本方案设计的CA认证系统能够签发个人身份证书。
将来根据用户的需要,可以进行扩展,通过灵活配置可以签发企业证书、服务器证书、代码签名证书和VPN证书等。
(3)灵活的认证体系配置
系统采用“认证体系设计”一节设计的CA认证体系,采用树状结构,支持多级CA,支持交叉认证。
(4)注册机关(RA)建设方式多样化
本方案设计的CA认证系统采用一个RA的配置,根据用户的要求,将来可以配置多个RA和多级RA,RA界面风格可定制。
(5)高安全性和可靠性
使用高强度密码保护密钥,支持加密机、智能卡、USBKEY等硬件设备,用户关键信息散列保存,以防遗失。
(6)高扩展性
根据客户需要,对系统进行配置和扩展,能够发放各种类型的证书;系统支持多级CA,支持交叉CA;系统支持多级RA。
(7)易于部署与使用
系统所有用户、管理员界面都是B/S模式,CA/RA策略配置和定制以及用户证书管理等都是通过浏览器进行,并具有详细的操作说明。
(8)高兼容性
支持Windows、Linux、Solaris等多种操作系统;
支持多种加密设备
支持多种数据库
支持多种证书存储介质:
硬盘、USBKEY和智能卡等