收藏本站
网站导航
联系方式
网站首页 | 杂志简介 | 论文欣赏 | 在线订阅 | 征稿启事 | 投稿须知 | 资讯速递 | 写作指南
本刊信息

主管:广西国有资产监督管理委员会
主办:广西轻工业科学技术研究院
协办:广西轻工协会
      广西酿酒协会
编辑/出版:《广西轻工业》编辑部
编委会主任:罗左青
编委会副主任:程劲芝 梁智
编委:白树雄 宋  苹 蒋敬全
      谢晓航 雷光鸿 贤章胜
主编:贤章胜
地址:广西南宁经济技术开发区
      迎凯路8号
邮编:530031
编辑部:0771-4518435
        4518909转8968
投稿信箱:qgkj@vip.126.com
网址:www.qgkjlw.com
国际标准刊号:ISSN2095—3518
国内统一刊号:CN45—1385/TS
订阅:全国各地邮局
邮发代号: 48—123
定价:人民币15元
刊期:月刊

理事单位

广西粮油科学研究所
广西大学轻工与食品工程学院
广西大学生命科学与技术学院
广西农垦糖业集团金光制糖有限公司
广西农垦糖业集团昌菱制糖有限公司
广西机械工业研究院
重庆啤酒集团柳州啤酒有限责任公司
南宁吉然节能环保技术有限公司
柳州柳连机械制造有限责任公司
南京润维热工设备有限公司
广西柳州市嘉诚汽车饰件系统有限公司
广西柳江县柳兴榨辊有限责任公司
广西南宁丰烁电力设备节能有限公司
广西都安密洛陀野生葡萄酒有限公司
广西巴马神酒业有限责任公司
广西中天领御酒业有限公司
广西北海市合浦东园家酒厂
桂林理工大学管理学院
广西工业职业技术学院   
广西农业职业技术学院
广西二轻工业技工学校
广西德保县酒厂
广西全州湘山酒厂
田阳南华纸业有限公司
广西桂平乳泉液酒业有限公司

 
首页>> 论文欣赏 >> 计算机科学与信息技术>> 正 文
 

基于EJBCA的CA系统的研究与实现

2009年第12期(总第133期)
周 诚,刘电霆(桂林理工大学信息科学与工程学院,广西 桂林 541004)
 
  【摘 要】 随着计算机和网络技术的发展,对于网络信息安全的需求越来越广。通过介绍EJBCA这个开源的的企业级CA,具体对EJBCA各模块功能做了分析及研究,对EJBCA的安装、管理、配置做了说明,并做了搭建与实现了基于CA系统。
  【关键词】 EJBCA;CA;PKI;数字证书
 
1 引言
  随着计算机和网络技术的发展,网络作为信息存储和交换的媒介得到了极大的应用。其信息传输的安全也得到了越来越多的重视。目前应对网络信息传输安全主要是使用SSL(security socket layer,安全套接字层)方式传输信息,它是一种在传输层实现的安全性技术,它允许Web浏览器和Web服务器之间在一条安全的连接上进行通行。而在运行使用SSL的HTTPS协议时,数字证书是必要的,在大多数的Web服务器的HTTPS服务只有在安装了数字证书后才能运行。也就是说,SSL是基于PKI (public key Infrastructure,公钥基础设施)的,通过使用公钥证书来验证客户和服务提供者的身份,实现在Internet 上信息传递的保密性和可靠性的一种技术。
  PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。它通过第三方的可信任机构(认证中心,即CA),把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等个人标识信息,以在Internet网上验证用户的身份。PKI把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的安全传输。
 
2 EJBCA介绍
  EJBCA(Enterprise Java Bean Certificate Authority)是一个建立在J2EE技术上的企业级PKI公钥基础设施。它是一个健壮,高性能,平台独立,灵活,并基于组件的CA,可独立使用或集成到其他J2EE应用程序中。
2.1  EJBCA的安装和配置
  EJBCA需要EJB支持,因此服务器必须完全支持J2EE的所有标准,默认的是用JBOSS
  因此,配置EJBCA之前需安装JDK,JBOSS,ANT以及它们相对应的环境变量,默认使用MySQL作为证书储存库。根据EJBCA压缩包中的安装文档的步骤,可以很快配置好EJBCA。
2.2  EJBCA的框架结构
图1  EJBCA的框架结构
 
  EJBCA拥有完整的PKI系统具有的模块,包括CA(Certification Autohrity,认证中心)、RA(Registration Authority,注册中心)、数据库、CRL(Certification Remove List,证书撤销列表),LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)等。
  (1)CA认证中心:EJBCA的CA认证中心是整个PKI的核心,它负责证书的签发。它支持多级CA,可以根据需要生成指定的ROOTCA的SUBCA,再通过ROOTCA或SUBCA签发各个终端的数字证书。
  (2)RA注册中心:在EJBCA中,管理员可通过浏览器方便地管理注册用户的添加、修改、删除以及其证书的显示、更新、吊销等操作。用户可以通过RA注册中心自动获取申请的数字证书以及证书撤消列表。
  (3)数据库服务器:数据库服务器是认证中心中的核心部分,用于认证中心中数据(如用户信息,CA信息,用户证书信息以及作废证书信息)、EJBCA日志和统计信息的存储和管理。
  (4)LDAP目录服务器:LDAP服务器提供目录浏览服务,负责将RA注册中心传输过来的数字证书加入到服务器上。用户可以通过访问LDAP服务器获得数字证书以及CRL。其优化的数据读取操作适合大量读取数据。
  (5)CRL证书废除列表:提供了一种检验证书有效性的方式。它记录了作废证书的序列号,应用程序可以通过更新CRL文件来检验证书的有效性。
 
3 基于EJBCA的应用系统设计
  如图2所示的是一个包括CA的完整系统的结构模型。它主要有CA和Web应用程序组成。其中CA是使用EJBCA和开源LDAP服务器OpenLDAP实现,它负责生成及发布数字证书。而包括安全连接通道的建立以及基于数字证书的用户身份识别以及权限管理等具体功能,主要是在Web服务器端设计实现的。
                图2  一个基于EJBCA+OpenLDAP的PKI应用模型
3.1  证书的申请与作废
  (1)用户证书的申请
  当用户提出证书申请时,他需要提交相应的个人信息给CA管理员。CA管理员在审核用户所提交资料的真实性,完整性以及用户名的唯一性后通过RA将用户资料保存到数据库中,同时通知用户申请已核准。之后用户通过提交申请时的用户名和密码登录EJBCA的页面,发出安装证书请求。EJBCA在接到用户安装证书的申请后会调用CA模块,而CA模块通过获取保存在数据库中的用户信息以及CA信息,签发用户的个人证书。该证书分别保存在EJBCA的数据库,发布到所关联的LDAP服务器以及通过页面安装到用户的浏览器的证书库中。
  (2)用户证书的作废
  如果用户由于证书丢失或者被他人获取而需要重新申请证书时,需要向管理员提出作废申请。当管理员验证了用户身份的真实性后,通过RA申请将数字证书作废,EJBCA在获得证书作废申请后,将数据库中的相应用户证书的状态标识改为作废,同时删除LDAP中发布的数字证书,并将用户证书的序列号存入CA签发的CRL列表文件中。该CRL文件分别保存在数据库中和发布至LDAP目录服务器中以便Web应用程序获取并用于检验已作废证书。
3.2  基于证书的应用
  当用户获取了数字证书,他便可以将其用于实现与Web服务器之间的安全连接。为了实现安全连接,Web应用程序所在的服务器必须实现设置好服务器的配置文件,以支持基于数字证书的SSL安全通道。以Tomcat 6.0为例,需要对其server.xml文件进行配置。其中用到两个文件,keystoreFile和truststoreFile,它们是与根证书对应的两个文件,其中keystoreFile对应于私有密钥存储库,truststoreFile对应于信任存储库。它们从EJBCA的公共页面获得,用于服务器与浏览器链接时验证证书是否为相同CA所颁发。
  当用户通过浏览器提出HTTPS访问请求后,应用服务器通过本地储存的CA信任存储库确定与用户所使用的证书是相同CA签发的,之后实现双向数据的加密传输。
  (2)基于数字证书的身份认证
  在通常的J2EE应用中,用户大多是使用用户名和密码方式进行用户登录验证,这种方式最大的缺点便是用户名密码易被破解或截取,而是用数字证书认证方式,则不需要担心证书被破解或者截取。当用户选择使用数字证书登录应用程序,Web应用程序端会对浏览器发出一个请求,要求提供数字证书,随后,浏览器会将其证书库中与Web应用服务器相同CA的证书列出,随后用户选取相应的证书,发送给服务器端,应用服务器获取证书后对其解析,首先是与颁发证书的CA所提供的最新CRL列表文件进行比对,如果该用户证书的序列号存在于CRL文件中,则说明给证书已作废,则该用户不能通过认证。之后再比对证书的颁发日期与有效期,如果在有效期内,则解析该证书的DN (Distinguished Name,识别名)中的Common Name属性,并将其作为当前用户的用户名予以认证并授权。
 
4 基于EJBCA的应用系统实现
4.1  应用开发验证
  实际应用中,数字证书的身份认证与基于用户名,密码的表单身份认证是互补的。通过权限控制,给予表单认证用户一般操作权限而给予数字证书用户更大的操作权限。
图3  基于数字证书的用户身份认证
4.2  系统性能测试
  证书申请功能由于涉及管理员对用户资料审核,数据录入,以及用户接到审核通过的时间等等,无法得出整个流程的具体时间,但是涉及CA性能部分的证书生成部分,却可以通过查看分析应用服务器的日志获得。
  通过分析日志,可以得到以下数据:接到证书获取申请到浏览器端安装完成证书总共耗时1469ms,其中证书制作耗时31ms,LDAP发布耗时1047ms,将证书传给浏览器并安装耗时282ms。其中,LDAP由于是与EJBCA处于局域网中不同主机,受网络传输及延时影响较大,所以耗时较多。但是从中可以看出,CA性能主要的指标即CA证书签发时间只有31ms,足够应付大批量证书生成。
 
5 结论
  EJBCA是一个基于J2EE的,构建在组建结构上的企业级PKI公钥基础设施,它有着灵活,易用的优点。即便是中小企业,也能够通过修改,扩展,整合EJBCA,从而拥有一个适合自身企业的高效的企业级CA,从而保证企业内部Intranet或者对外信息的安全。在中小企业的信息安全急需保护的现在,EJBCA有着具有广阔的发展前景。
 
参考文献
[1]Christopher Steel,Ramesh Nagappan,Ray Lai.安全模式-J2EE、Web服务和身份管理最佳实践和策略[M].机械工业出版社,2006.
[2]Li Gong,Gary Ellison,Wary Dageforde.深入Java2平台安全-体系架构、API设计和实现[M].电子工业出版社,2004.
[3]周必水,张磊.EJBCA在WPKI体系中的应用研究[J].计算机工程与设计.2005.
[4]陈勤,凌青生等.安全CA实例—EJBCA的研究[J].计算机工程与设计.2005.
[5]李新.企业CA系统的分析研究[J]. 计算机应用与软件,2008.
[6]程震,王凤英.企业级CA的设计与实现[J].计算机应用与软件,2008.
[7]黄海,白树仁.遵循X.509标准的CA认证中心设计与实现[J].计算技术与自动化,2008.
 
周诚(1986-),男,江西南昌人,硕士生,研究方向:制造业信息化。
基金项目:广西科技攻关项目 “面向中小企业的虚拟企业网络化服务平台技术研究与建设” (桂科攻0719001-17)
   
关于我们 | 版权声明 | 广告服务 | 网站地图 | 联系方式
Copyright© 2005 QGKJLW.COM All Rights Reserved. 版权所有.《轻工科技》编辑部
工作QQ:373180636 投稿信箱:qgkj@vip.126.com 咨询电话:0771-4518435 4518909转8968
通讯地址: 广西南宁经济技术开发区迎凯路8号《轻工科技》编辑部 邮编:530031