专利名称:数字证书本地认证的方法及系统的制作方法
技术领域:
本发明属于IT信息安全领域,涉及一种数字证书认证的方法及系统,尤其涉及一种可实现本地认证的数字证书认证方法及系统。
背景技术:
数字证书认证系统建立的目的是实现证书的发放,而从深层来看,CA机制的实现最终是为应用服务的。证书无缝嵌入应用系统,使用基于数字证书的安全技术实现各个应用层面的安全要求的角度可看作CA系统是否有生命力的重要标志,而这恰恰是目前CA的主要任务。
CA系统建设的目的是为了保证网络应用系统的安全,主要与实际应用相结合,例如业务信息系统、安全邮件系统、办公自动化系统、文件共享传输系统、桌面PC安全应用系统等。
但由于目前应用系统往往需要支持一个以上的证书,并且这些证书可能来自于不同的CA。如何保证各应用系统中也能使用多个CA的证书,就成为了一个关键问题。
一个应用系统往往只能信任一个根,如果要信任多个根证书时就必须有二个先决条件1.多个根CA(认证中心)之间进行交叉认证。
2.应用系统开发过程中应考虑了支持不同CA签发的用户证书。
以上二个条件有一件不满足,应用系统都不能同时使用多个根签发的用户证书。然而在现实中,根CA之间进行交叉认证会受到多种条件的制约,很难实现。同时,应用系统开发过程中就要考虑好支持几个CA,如果新增一个CA就要重新开发应用系统,这种思路也很不现实。
现有的PKI体系中,证书的有效性验证只能在证书中指定的目录服务器上实现,那么对于那些对网络的安全、保密性要求比较严格的局域网络,如政府内部网络,公安网络等局域网,一般的办公PC是不允许连接到Internet上的,从而使得在这些局域网上部署PKI体系有了困难;客户应用系统通过在证书验证时改变黑名单的下载地址,来实现证书的本地验证;所有需要的黑名单,都通过本地验证系统从Internet上CA的黑名单发布目录服务器上定时或实时下载。同样,客户证书也可以从数字证书本地认证系统上获取。同时,对于一般的局域网,如果按照现有的系统来实现证书的验证和客户证书的获取,所有的客户应用系统都要到Internet上获取证书和黑名单,就会大大增加局域网和Internet之间的网络流量,降低网络性能,减慢应用响应速度,并且,也使得CA的目录发布服务器承受比较大的服务压力。
发明内容
本发明所要解决的技术问题是提供一种部署于局域网内部并可完成证书验证、证书更新的数字证书本地认证方法及系统,从而实现将证书验证过程本地化。
应用系统在确认用户证书是否有效时,经常要进行以下三部份操作1.确认用户的证书在有效期内2.确认用户的证书是所信任的根签发的3.确认用户的证书没有在认证中心发布的CRL(黑名单)中。
在以上三步工作中,只有第三步需要与CA相连。并且CRL发布也不是实时的,而是定期的。这样完全可将证书验证过程本地化。据此,数字证书本地认证系统,其主要工作就是完成以上三步。
在实际应用开发过程中,应用系统将自己要信任的根CA的证书导入到本地认证模块中,并按一定要求配置(如下载黑名单的时间和地址)。在需要判断一张证书是否有效,只要将调用相应的证书验证API函数,就可得到结果。应用系统不用管这张证书是哪一个CA签发的,只要在本地模块中信任此CA就可以了。
用户的证书更新后,本地认证系统可以自动到相应的CA下载用户最新的证书,这样,即使应用系统并不知道用户已经更新了证书,仍旧能够顺利通过验证。如果需要,本地认证系统还可以通过某个用户的任何一张证书,得到这个用户最新的证书。这样,应用系统就可以把最复杂的证书验证,证书更新的问题交给本地认证系统,大大简化了应用系统的设计和开发。
同时,对应用系统开发者来说,本地认证系统是完全透明的,用不用本地认证系统,开发过程是完全一致的。也就是说,无论增加几个CA,或本地认证模块在使用一段时间后,决定不再使用,应用系统也无需重新开发。
由于使用了上述技术方案,本发明具有如下优点1)、在不用做交叉认证,或桥CA的情况下,支持有多个CA签发的证书的本地验证,有良好的可扩展性。
2)、支持本地证书的自动更新,保证某个对象的证书和CA的一致性。
3)、智能黑名单下载。自动根据需要,到各个不同的CA下载黑名单,并能在证书更新后自动完成新证书的黑名单下载。
4)、可以在脱离CA的目录发布服务器的环境下,验证客户证书,增加内部PKI网络的安全性,减少外部网络流量。
5)、采用JAVA技术,跨平台可应用于Linux、AIX、Solaris、HP、Windows等操作系统平台。
6)、采用B/S三层结构建构系统,采用瘦客户机模式,使安装和操作使用非常简便。
7)、完全支持以下标准X509v1,X509v2,X509v3,CRL,TimeStamp,PKCS7,ASN1,MIME,SSL,SMIME,LDAP等8)、高度集成化,整个系统可运行与一台服务器上,使建设成本大幅降低。
综上所述,由于证书认证的本地实现,使得企业或政府机构的终端网络用户在局域网内就可以验证由Internet上的多个不同CA签发的证书,从而大大提高了局域网的安全性,减少了局域网和Internet之间的网络流量,提高网络性能和证书验证服务的响应速度,并且本地证书验证采用基于PKI标准的加密和验证技术,保证证书验证过程的安全性。同时,数字证书本地认证系统采用WEB方式实现证书的管理,提供了本地导入、在线导入、批量导入等灵活多样的证书导入方式,以及手工实时更新、系统定时更新等黑名单的更新方式,大大方便了证书管理员的工作,降低了系统管理的成本;并且,数字证书本地认证系统支持多个CA签发的证书的本地验证,有强大的系统适用性。
图1是数字证书本地认证系统的网络构架示意图。
图2是数字证书本地认证系统的功能模块架构图。
图3是数字证书本地认证系统的总体设计示意图。
图4是数字证书本地认证系统的逻辑结构示意图。
具体实施例方式
如图1所示数字证书本地认证服务器1可部署于由应用服务器3、工作站4、个人电脑5等外部应用系统所构成的局域网内,并与若干个CA服务器2双向连接。所述的数字证书本地认证系统1可与Internet网相连接,而上述应用服务器3、工作站4、个人电脑5均不直接与Internet网相连接。
如图2、3所示数字证书本地认证系统1的结构及功能如下第一层为与外部系统连接的服务模块,包括系统数据定时更新服务单元11,WEB用户服务单元12,客户应用系统服务接口13;所述系统数据定时更新服务单元11根据指定的时间及时间间隔完成黑名单的智能下载和更新;以及更新证书自动检查及下载;其与外部CA的目录发布服务器相连接。
WEB用户服务单元12主要以WEB的方式为局域网中数字证书本地认证服务器的管理员和操作员提供人机交互的管理和操作界面,同时也供普通用户查询一些公开的数据;客户应用系统服务接口13为客户应用系统提供服务,包括指定时间内更新证书的检查,新证书的导入接口等;第二层主要是为第一层系统服务的,主要有证书发布单元14、WEB应用实现单元15、编解码单元16和加解密单元17;证书发布单元将证书、黑名单及证书链等发布到目录服务器;WEB应用实现单元实现WEB的应用逻辑;编解码单元实现证书、黑名单及证书链等的编解码;加解密单元运用底层的加解密设备完成数据的加解密,包括随机数的产生、HASH、对称加解密、RSA(不对称运算)等运算的实现接口第三层主要实现数据的存储及提供底层的加解密,有目录发布服务器18、数据库服务器19和加解密设备20;目录发布服务器18提供标准的目录发布服务;数据库服务器19存储系统管理、配置信息以及用户的证书、黑名单等信息加解密设备用国密委认可的加解密设备实现数据的加解密;第四层是操作系统21,是所有模块运行的基础;比如,某个企业有许多基于PKI客户端或服务器应用程序,同时他们使用了由多个不同的CA签发的证书,下面结合图4所示以验证签名的过程为例,说明系统是如何工作的数字证书本地认证服务器1的证书管理员首先根据本企业的证书发布情况从多个CA服务器2上下载本企业的员工、客户或服务器等证书,或本企业的员工、客户或相应的服务器管理员把自己的证书导入数字证书本地认证服务器1;并且在数字证书本地认证服务器1上配置黑名单查询的下载地址,从而本服务器可以定时或手工下载黑名单,为验证证书服务;客户或服务器应用程序收到对方的签名包后,先根据对方的姓名、email地址或用户唯一号等信息从数字证书认证服务器1上下载用户证书和相应的根证书,就可以验证证书了,再根据证书从数字证书认证服务器1上下载相应的黑名单,就可以验证黑名单了,从而完成整个证书验证过程;数字证书本地认证服务器1具有如下功能1)、证书在线条件导入指定需要导入证书的CA目录服务器,可以根据用户姓名、电子邮件地址、用户唯一号等条件导入证书,可以成批导入,也可以单个导入;2)、证书离线导入可以从指定的单个证书介质中导入证书,也可以从批量证书文件中导入证书;3)、CRL导入及更新可以对每一个CA的CRL目录服务都有定时导入和手工实时导入等导入方式,以及提供定时时间间隔配制的功能;4)、证书链导入可以根据指定的条件,到相应的CA服务器上导入证书链,或者可以离线导入证书链;5)、证书信息管理可以对导入的证书做查询和删除等管理操作;6)、证书自动更新对进入更新临界区的证书,自动查找最新更新的证书。提供从任一张证书获取最新证书的接口。
7)、证书导入服务接口提供证书导入的服务接口,根据一定的接口标准,接受外部CA系统向数字证书本地认证系统做证书导入请求;8)、系统管理提供对数字证书本地认证系统的管理和维护功能结合现有技术,本发明的数字证书本地认证系统还可以具有如下功能1)、充分满足或支持相关的国际标准,包括X509v1、X509v2、X509v3、CRL、OCSP、TimeStamp、PKCS1、PKCS8、PKCS7、PKCS10、ASN1、MIME、SSL、SMIME、LDAP。
2)、兼容多种应用软件和常用操作系统本产品可与以下软件协同工作
A、客户端应用程序Netscape Navigator,Netscape Communication,Microsoft Internet Exploer,UniTrust SafeEngine,UniTrust证书管理器B、各种WEB服务器MicroSoft IIS WebServer,NetscapeEnterprise,Apache,Java WebServer,Domino等C、遵从X.509和PKCS的所有PKI应用程序。
3)、统一的管理界面对本地证书验证的操作管理都基于WEB页面,有效降低维护的成本。
4)、支持多种高强度算法SSF33、RSA、SHA1、MD5、MD2所有的算法均采用国家密码委员会认可的硬件模块。
5)、严格的权限管理数字证书本地认证系统分为系统管理员、系统操作员、系统用户和匿名用户四个级别用户。系统管理员对系统的运行负责,但不能接触任何用户数据,同时必须超过半数的系统管理员到场时才能进入系统管理模式。操作员仅能对用户及证书进行操作,不能影响系统的运行。用户仅能对自己的数据进行操作,不能修改他人数据。匿名用户提供公用的服务,如下载他人证书、根证书、下载黑名单等。所有的认证方式均采用数字认证方式进行,确保系统安全;6)、明确、细致的操作员权限数字证书本地认证系统除了对系统划分了不同级别的拥护角色外,对其中的系统操作员还做了细致的权限划分,不同的操作员,根据他权限的不同,可以做证书的导入,删除,查询等不同的操作;7)、支持多种介质系统支持多种证书存放介质,如软盘、IC卡、USB棒以及服务器上等,并且只要安装了介质驱动,系统就能自动识别介质;8)、数据备份数字证书本地认证系统提供根证书的导入导出功能,也支持所有的数据备份和恢复功能。为数据安全提供保障。
9)、日志信息数字证书本地认证系统提供详尽的日志功能;包括系统日志和用户日志。系统日志主要提供所有系统管理员、系统操作员、用户对系统信息、或证书信息的操作。系统管理员可以通过日志查询获得系统的状态,操作员可以通过日志查询获得证书和用户信息操作的历史记录,用户可以查询本人的操作记录等,并且提供了功能强大的查询条件。
10)、操作审计提供强大的操作审计功能,用户对系统所有操作均记录在案,以备统计和分析。
11)、产品升级为适应不断提高的技术和新的需求,数字证书本地认证系统努力提升产品性能和功能;用户只需要系统管理员将系统进入维护模式,运行SHECA提供的软件升级包,就可以对产品进行升级。
下面结合一个具体例子进行说明假设单位A有50人,其中10人使用CA1的证书,另外40人使用CA2的证书。A单位中所有人都要使用内部的OA系统。内部OA系统希望使用签名证书进行身份认证,并且希望二个CA的证书可以用在内部的OA系统中。
首先,用户可通过相应的证书申请系统申请证书。例如,可申请CA1的证书也可申请CA2的证书。
其次,在开发内部的应用系统时,单位A应使用与上海CA提供的API(应用编程接口)函数。
最后,内部应用系统不应自己在判断证书的有效性,而应调用相应的证书验正API进行证书有效性的判断。这样只要在本地认证模块中配置同时信任CA1与CA2的根证书后,二个CA签发的证书就都可使用在内部的OA系统中。
权利要求
1.一种数字证书本地认证的方法,其特征在于,包括如下步骤1)证书管理员首先根据本企业的证书发布情况从多个CA服务器(2)上下载本企业的员工、客户或服务器等证书,或本企业的员工、客户或相应的服务器管理员把自己的证书导入数字证书本地认证服务器(1);2)在数字证书本地认证服务器(1)上配置黑名单查询的下载地址,从而本服务器可以定时或手工下载黑名单,为验证证书服务;3)客户或服务器应用程序收到对方的签名包后,先根据对方的姓名、email地址或用户唯一号等信息从数字证书认证服务器(1)上下载用户证书和相应的根证书,就可以验证证书了,再根据证书从数字证书认证服务器(1)上下载相应的黑名单,就可以验证黑名单了,从而完成整个证书验证过程。
2.根据权利要求1所述的一种数字证书本地认证的方法,其特征在于划分四个级别用户系统管理员、系统操作员、系统用户和匿名用户。
3.根据权利要求1所述的一种数字证书本地认证的方法,其特征在于,所述的证书导入可分为在线导入及离线导入
4.根据权利要求1所述的一种数字证书本地认证系统,其可部署于外部客户应用系统所构成的局域网内,并与若干个CA服务器(2)双向连接,包括一用于证书链、用户证书及黑名单等信息的发布的目录发布服务器(18);一用于存储系统管理、配置信息以及用户的证书、黑名单等信息数据库(19);一用于更新证书链、证书及黑名单等数据的系统数据定时更新服务单元(11),其与外部CA服务器(2)的目录发布服务器、本系统目录服务器(18)、系统数据库(19)相连接;一以WEB的方式提供人机交互的管理和操作界面,同时也供普通用户查询一些公开的数据的WEB用户服务单元(12),其与系统数据库(19)、外部WEB浏览器相接;一为客户应用系统提供服务导入接口的客户应用系统服务接口(13),其与目录发布服务器(18)、系统数据库(19)、外部客户应用系统相连接。
5.根据权利要求4所述的数字证书本地认证系统,其特征在于,还包括一用于将证书、黑名单及证书链等发布到目录发布服务器的证书发布单元(14);一用于实现WEB的应用逻辑的WEB应用实现单元(15);一用于实现证书、黑名单及证书链等的编解码的编解码单元(16);
6.根据权利要求5所述的数字证书本地认证系统,其特征在于,还包括一加解密设备(20);
全文摘要
本发明提供一种数字证书本地认证的方法,应用系统将自己要信任的根CA的证书导入到本地认证模块中,并按一定要求配置(如下载黑名单的时间和地址),这样,应用系统在需要判断一张证书是否有效,只要将调用相应的证书验证API函数,就可得到结果,而不用管这张证书是哪一个CA签发的,只要在本地模块中信任此CA就可以了。采用上述方法则可实现在本地完成整个证书验证过程,使得企业或政府机构的终端网络用户在局域网内就可以验证由Internet上的多个不同CA签发的证书,从而大大提高了局域网的安全性,减少了局域网和Internet之间的网络流量,提高网络性能和证书验证服务的响应速度。
文档编号G06F13/00GK1581144SQ03141990
公开日2005年2月16日 申请日期2003年7月31日 优先权日2003年7月31日
发明者张伟鹏, 何国锋, 陈荦祺, 冯晔, 马骁骁 申请人:上海市电子商务安全证书管理中心有限公司