(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf_第1页
(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf_第2页
(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf_第3页
(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf_第4页
(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)一个开放源码的pki实现与企业应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河海大学硕士研究生毕业论文 一个开放源码的p k i 实现与企业应用 摘要 公钥基础设施( p u b l i ck e yi n f r a s t r u c t u r e ,p k i ) 是目前非常完善的网络安全解决 方案。它可以为各种网络应用提供身份认证、信息的机密性和完整性以及交易的不 可否认性等安全服务。p k i 已广泛应用于金融、电子政务等对安全要求较高的环境 中。 但由于数字签名在很多国家仍不具备法律效力( 中国政府的电子签章条例己 起草完毕) ,导致p k i 在电子商务及企业应用中未得到普及,这也成为制约电子商务 发展的重要因素。可以肯定,随着电子签章相关立法工作的完成,p k i 在电子商务和 企业应用中将得到迅速发展。 目前,在企业内部建立c a ( c e r t i f i c a t ea u t h o r i t y ,证书认证中心) 还存在困难,这 主要包括:一是缺乏针对企业环境设计的p k i 产品,二是大部分企业不具备使用和维 护p k i 系统的专业人员,三是公共c a 为保障c a 的安全性所付出的成本,是大部分 企业无法承受的。 本文分析了企业自建c a 的必要性及可行性。在此基础上,设计了一个开放源码 的p k i 系统:m y c a ,并完成了m y c a 系统的软件框架,实现了系统的主要功能,试 图为企业应用p k i 技术提供一套基于开放源码的解决方案。本文主要阐述了该系统 的设计思想、系统结构和系统特点,并结合该系统探讨了如何在企业条件下为c a 构 建一个足够安全的运行环境以及如何隐藏使用p k i 系统的复杂性以满足普及应用的 要求。 【关键词】:公钥基础设施、认证中心、网络安全、开放源码 河海大学硕士研究生毕业论文 个开放源码的p k i 实现与企业应用 a b s t r a c t p k l ( p u b l i ck e yi n f r a s t r u c t u r e ) i st h o u g h tac o m p l e t es o l u t i o nf o rn e t w o r k s e c u r i t ya tp r e s e n t 1 tc a np r o v i d em a n yn e t w o r ka p p l i c a t i o n sw i t ha l ik i n d so f s e c u r i t ys e w i c e ,s u c ha sa u t h e n t i c a t i o n ,c o n f i d e n t i a l i t y i n f o r m a t i o ni n t e g r i t ya n d n o n r e p u d i a t i o no ft r a n s a c t i o n p k lh a sb e e nw i d e l ya p p l i e di nf i e l d sw h i c hr e q u i r e h i g hs e c u r i t y ,l i k eb a n k i n g ,e l e c t r o n i cg o v e r n m e n t ,e t c b u t ,i nm a n yc o u n t r i e s ,d i g i t a ls i g n a t u r ei sn o ta c c e p t e db yl a w t h i sf a c t h o l d sb a c kp o p u l a r i z a t i o no fp k ii ne - c o m m e r c ea n db u s i n e s s a n da l s ob e c o m e t h em a i nf a c t o rt h a ts l o wd o w nt h ed e v e l o p m e n to fe c o m m e r c e i ti sb e l i e v e dt h a t a p p l i c a t i o no fp k l | ne c o m m e r c ea n di n s i d ee n t e r p r i s ew i l id e v e l o pr a p i d l ya f t e r p r o m u l g a t i o no fs t a t u eo fe l e c t r o n i cs i g n a t u r ei nc h i n a a tp r e s e n t ,i ti sd i 怖c u l tt os e tu pc a ( c e r t i f i c a t ea u t h o r i t y ) i n s i d ee n t e r p r i s e s b e c a u s eo ft h ef o i l o w i n gr e a s o n s :f i r s t l y ,f e wp k ip r o d u c t sa r ed e s i g n e df o r e n t e r p i r s ea p p l i c a t i o n s e c o n d l y ,m o s te n t e r p r i s e s d on o th a v e p r o f e s s i o n a l e m p l o y e e sw h o a r es k i l l e da to p e r a t i n ga n dm a i n t a i n i n gp k is y s t e m t h i r d l y ,m o s t e n t e r p r i s e sc a nn o ta f r o r dh i g hc o s tw h i c hp u b l i cc ap a i df o rs e c u r i n gt h e i rc a s e r v e r t h i sa r t i c l e a n a l y z e dt h en e c e s s i t y a n d p o s s i b i l i t y o f s e t t i n gu p c ai n b u s s i n e s so r g a n i z a t i o n t h e nd e s i g n e da no p e ns o u r c ep k is y s t e m :m y c a , a c c o m p l i s h e d i t ss o f f e w a r ef r a m e w o r k ,r e a l i z e di t s m a i n f u n c t i o n s ,t r y i n g t o p r e p a r eas o l u t i o n f o r e n t e r p r i s e p k la p p l i c a t i o nb a s e do no p e ns o u r c e t h i s a r t i c l ed e s c r i b e st h ed e s i g n i n g a r c h i t e c t u r ea n da p p l i c a t i o no ft h es y s t e mi n s i d e e n t e r p r i s e s ,d i s c u s s e sh o w t ob u i l das e c u r ee n v i r o n m e n tf o rc au n d e r e n t e r p r i s e c o n d i t i o n k e y w o r d s :p k i ,c e r t i f i c a t ea u t h o n t y n e t w o r ks e c u r i t y o p e ns o u r c e 2 河海大学硕士研究生毕业论文 一个开放源码的p k i 实现与企业应用 1 1 研究背景 第一章绪论 1 1 1p k i 应用现状 为了解决i n t e r n e t 的安全问题,世界各国进行了多年的研究,初步形成了一 套比较成熟和完善的解决方案一一公钥基础设施( p u b l i ck e yi n f r a s t r u c t u r e , p k i ) 。p k i 采用数字证书管理公钥,通过第三方可信任机构一一证书认证中心 ( c e r t i f i c a t ea u t h o r i t y ,c a ) ,把用户的公钥和用户的其它标识信息( 如名称、 电子邮件地址、身份证号等) 捆绑在一起,从而在因特网上验证用户的身份。 目前,安全的电子商务就是采用建立在p k i 基础上的数字证书,通过对要传 输的数字信息进行加密和签名来保证信息传输的机密性、真实性、完整性和不可 否认性,从而保证信息的安全传输和交易的顺利进行。p k i 已成为电子商务应用 系统、乃至电子政务系统等网络应用的安全基础和根本保障。 从发展趋势来看,随着互连网应用的不断普及和深入,政府部门需要p k l 支 持管理:商业企业内部、企业与企业之间、区域性服务网络、电子商务网站等都 需要p k i 技术和解决方案【0 ”。 在中国,p k i 已经在银行、证券等金融行业广泛应用。但由于国内仍未颁布 相关法律法规,数字签名仍不具有法律效力,导致公共c a 发展缓慢,p k i 在电 子商务中的应用也没有得到普及。其实这也是国内电子商务发展的主要障碍之 一。 数年前,美国、韩国、日本,以及一些发展中国家相继签署了与电子签章相 关的法规,承认了数字签名的法律效力,使得这些国家,尤其是美国的电子商务 迅速发展。中国政府已经完成电子签章条例的起草工作,进入征求意见阶段。 我相信,随着电子签章条例的颁布,国内的电子商务将会出现质的飞跃,同 时,也将大大加快p k i 技术的普及速度。像其它安全技术一样,p k i 也将逐步进 入企业内部,成为保障企业信息安全不可缺少的工具,甚至会走进人们的日常生 活。 1 1 _ 2 企业应用p k i 技术 在本文中,p k i 技术在企业中的应用是指大规模的普及应用,即企业( 也包括 学校、研究院所等非盈利机构) 为自己的员工提供数字证书,员工可以利用自己 的证书和私钥在企业及其商业伙伴的网络环境中进行身份验证、文件签署及数据 加密等活动。使用p k i 技术,企业可以摒弃传统的基于用户名和密码的身份验证 机制,可以解决无法直接对电子文档进行签名的问题,同时,也可以为推行基于 p m l ( p r i v i l e g em a n a g e m e n ti n f r a s t r u c t u r e ) 的授权与访问控制机制作好准备。 4 河海大学硕士研究生毕业论文 二个开放源码的p k i 实现与企业应用 ( 1 ) 传统的身份认证及授权机制存在弊端 目前,大部分企业应用系统采用基于用户名和密码的身份验证机制。这种机制 的主要缺陷是密码容易遗忘或泄漏,窃取密码已成为黑客或内部攻击者的重要攻 击手段。很多应用系统建议或强迫使用者定期更改密码,给使用者带来了不便。 尤其是当一个用户需要与多个应用系统打交道的时候,如何记住多个密码成为令 人头疼的问题。有些用户索性在多个系统中为自己设定相同的密码,这无疑是很 大的安全隐患,因为不同的系统对用户信息的保密程度是不同的。 采用p k l + u s b 令牌的身份验证方式可以很好地解决这个问题。首先,该方 式为双因素认证,即用户要想通过身份验证,除拥有u s b 令牌( 令牌内保存有用 户的私钥) 外,还需要知道令牌的p i n 码。p i n 码一般只有4 6 位长,容易记忆。 其次,该方式方便易用。在验证过程中,用户只需要根据提示插入自己的u s b 令 牌,输入自己的p i n 码即可。最后,用户可以使用同一个u s b 令牌在多个系统 中证明自己的身份,不需要为不同的系统准备多个令牌。 另外,基于用户名和密码的授权与访问控制方式也存在缺陷,除安全性和易 用性较差外,该种方式无法提供复杂的访问控制规则和统一的授权机制。而基于 p k i 的p m i ( p r i v i l e g em a n a g e m e n ti n f r a s t r u c t u r e ) 提供了一种比较理想的、统 一的授权与访问控制机制。尽管目前p m i 的应用还不成熟,仍有很多人看好它的 发展前景。 ( 2 ) 无纸化办公需要p k i 中国是一个资源“贫乏”的国家,由于人口众多,人均资源占有量远低于世 界平均水平。因此,对我们国家来说,如何节约使用自然资源是一个非常重要的 问题。推行“无纸化办公”可以有效降低自然资源的消耗,减少环境污染,降低 企业运营成本,其社会效益和经济效益是显而易见的。 然而,“无纸化办公”已经提倡了很多年,人们的办公用纸量并没有减少。 尤其是在公文批阅、文件签署等环节上,还没有很好的“无纸化”替代方案。电 子签章的普及有望改变这种状况,它可以大大降低我们对纸张的依赖性,使我们 真正进入“无纸化办公”时代。 电子签章,指以电子形式存在,依附于电子文件并与电子文件具有某种逻辑 关系的信息,该信息可用于辨识电子文件签署者身份,能保证电子文件的完整 性,并表示签署者对电子文件的内容负责。因此,电子签章不仅包括“数字签 名”,也包括手写板签名等其他形式的电子签名。但基于公钥密码技术及p k i 机 制的“数字签名技术”无疑是电子签章的重要组成部分,也是目前最成熟的电子 签章技术。另外,与其他电子签章技术相比,数字签名技术更适合在网络上应用。 在企业办公环境中用数字签名替代传统纸质签名,具有很好的发展前景,其最 塑鎏盔堂亟主丛塞生竺、业堡塞 大的优点是可以提高效率,降低成本, 二竺茎塑塑堕盐! 鉴! 塞塑墨垒些堕旦 而且安全可靠,不易伪造。 以上从安全和无纸化办公两个角度分析了企业应用p k i 技术所带来的效益。 从以上分析中不难看出,企业应用对p k i 技术的需求是明显的。 ( 3 ) 企业应用p k i 技术的方式 本文总结了企业应用p k i 技术的三种方式: 1 ) 嵌入式。这种方式是指,某些需要p k i 服务的应用系统将部分p k i 功能 嵌入到自身当中。如有的电子签章系统,能直接为用户签发数字证书。 这种方式的优点是易用性较好,可以为用户节省大部分证书管理及人员 培训方面的成本。这也是在用户获取证书比较困难的情况下,厂商不得 不采用的方式,适用于p k i 技术普及的早期阶段。这种方式的缺陷是, 当有多个系统需要p k i 服务时,企业需要信任多个根c a 。 2 ) 依赖商业c a 。即企业向商业c a 申请一定数量的证书,发放给自己的员 工,并将自己的应用系统配置为信任所用商业c a 的根c a 。这种方式的 优点是企业可以充分利用商业c a 在p k i 领域的经验,并能够实现统一 的信任机制。缺点是灵活性不够,商业c a 的证书扩展项可能无法满足 企业需要。另外,购买证书及相关服务的费用也是需要重点考虑的因素。 这种方式比较适合小型企事业单位。 3 ) 企业自建c a 。即企业建立自己的根c a ,作为整个组织的信任之源。很 明显,这种方式可以提供统一的信任机制,企业也可以灵活地定义私有 证书扩展,以满足特定应用系统的需要。如果需要发放大量的证书,这 种方式可以降低企业为证书付出的成本。该方式适用于大中型企业,包 括规模较大的学校、科研院所等机构。但企业自建c a 还存在些障碍。 ( 4 ) 企业自建c a 需要解决的问题 目前,大多数p k i 产品定位于商业c a ,致力于电子商务中的应用,这也是当 前p k i 应用的热点。显然,这些p k i 产品无法直接应用于企业内部。 企业自建c a 除了需要合适的p k i 产品以外,还需要重点解决以下问题: 1 ) 如何在较低的成本下( 企业可接受的成本) 为c a 构建一个适度的安全 环境。这个问题的解决需要在p k i 产品的设计与企业信息安全建设两个 方面来完成。 2 1 构建c a 是一个复杂的过程,c a 的操作与维护人员需要具备一定的专 业知识和技能。而国内大部分企事业单位不具备这些条件。因此,提高 p k i 产品的易用性及易维护性是解决问题的关键。 本文结合m y c a 系统的设计及实现过程,在第四章讨论了如何在企业条件下 1 1 3 开放源码软件 “开源”的概念已经诞生二十多年,但它对软件产业产生巨大的影响力,还 是从l i n u x 的普及开始的。以a p a c h e 和l i n u x 为代表的开放源码软件逐渐得到 了用户的喜爱,其市场占有率在稳步上升,很多人开始把“稳定”、“安全”、 “高性能”与开放源码联系在一起。 关于“开放源码”的定义请参考本文附录一,或访问w w w o q e n s o u r c e o r g 。 关于开源软件和私有软件的比较,本文的观点是:两者各有优势,不可相互替 代;两者的良性竞争将促进软件技术和软件产业的发展,使软件购买者有更多的 选择。本文下面所列举的开放源码的优点和缺点并不暗示私有软件( 商业软件) 具有相应的缺点和优点。 开放源码的好处: 1 ) 知识共享。很多软件设计思想和设计技巧是书本上和课堂上学不到的,要 学习它们,最好的方式是阅读源代码。研读优秀软件( 如a p a c h e , f r e e b s d ,l i n u x 等) 的源码,可以使我们受益良多。很多人在开源社区受 益,然后又积极加入开源软件的开发、调试和维护,这已经形成了一种良 性循环。 2 ) 你可以自己修正软件的错误。使用开源软件,当你发现它的错误或漏洞以 后,可以自己动手修正。你还可以将对软件的改动提交给软件的作者或维 护者,让他们将你的改动加入该软件的下一版本。 3 1 丰富的文档资源。几乎针对每一个流行的开源软件,都有大量的论坛或 b b s 存在。如果使用软件的过程中遇到问题,在相关的论坛或b b s 上可以 得到许多陌生人的帮助。在相关的网站上,可以下载许多有关软件使用和 升级的文档。当然,不是所有的开源软件都有丰富的文档资源。 4 ) 费用低。如果你决定使用开源软件,大多数情况下,你会发现你为软件 付出的成本几乎为零。当然,这里没有考虑安装和日常维护该软件的人力 成本。 5 ) 安全。一个软件是否会因为开放源码而变得更安全,还没有定论。但有一点 可以肯定,逐行检查源码可以排除人为的安全漏洞或者后门。这有些偏 执,但在涉及到国家安全的重要场合,是很有必要的。 开放源码的缺陷: 1 1不利于保护软件开发者的劳动成果。 很多开源软件是在某一许可证协议 下发布的,对该软件源码的使用作出限制,但不能保证所有的人都遵守许 7 塑墨盔堂堡圭堑丕篁望些迨皇 = 全茎塑塑塑塑里鉴! 塞堡皇垒些查旦 可证协议。如果一个软件是在g p l 下发布的,而你开发的产品使用了该 软件的源码,则你的产品必须在g p l 下发布。也就去说你必须公开你的 源码,除非你仅仅自己使用。 2 )没有担保。 几乎所有的开源软件都拒绝为使用者提供任何形式的担保。 不过这种情况已有所改善,随着开源软件的日益普及,越来越多的专业公 司开始发行开源软件的拷贝,并为购买者提供有限担保,当然,这需要付 费。 在中国,开放源码软件的应用也曰益普及。例如,北京市和广东省政府的电子 政务已经开始采用开放源码软件。尽管如此,开源软件的应用现状仍无法令人满 意,这主要体现在以下两个方面:一是缺乏企业级应用软件。虽然像l i n u x 、a p a c h e 等优秀的系统软件己深入人心,但缺少与之配套的应用系统,如e r p 、c r m 、人 力资源管理及办公自动化等企业级应用软件,也缺少相应的标准和规范,无法将 不同的应用软件集成在一起。这在一定程度上遏制了l i n u x 、f r e e b s d 等操作系 统的普及。二是开放源码软件的易用性还没有达到人们的期望值。开源软件已不 再被计算机专业人员独享,但对非专业人员来讲,安装、配置、使用、维护开放 源码软件仍具有一定难度。 随着越来越多的企业和非盈利组织采用开放源码的系统软件以及p k i 技术的 普及,对开放源码的p k i 系统的需求将会越来迫切。 1 2 本文作者所做的工作 本文的主要工作是设计、实现一个开放源码的面向企业应用的p k i 系统 m y c a ,该系统主要包括以下几部分: 1 ) c a ( c e r t i f i c a t ea u t h o r i t y ) 服务器:m y c as e r v e r 2 ) r a ( r e g i s t r a t i o na u t h o r i t y ) = m y c a - r a 3 ) o c s p ( o n l i n e c e r t i f i c a t es t a t u sp r o t o c 0 1 ) j e 务器等。 其中,m y c as e r v e r 全部用c 语言完成。由于采用了o p e n s s l 的加解密函 数库,大大缩短了m y c a 的开发时间。o p e n s s l 是被广泛使用的s s l t l s 函数 库,几乎所有的l i n u x 和非商业u n i x 发行版本都包含它。本文在遵守其许可协 议的前提下,对o p e n s s l 源码进行了改进,以增强m y c a 系统的安全性。 m y c a r a 由两部分组成。一部分为系统管理员和操作员提供操作界面,这部 分采用基于a p a c h e 服务器的w e b 技术,后端服务器脚本使用p e r l 语言。浏览 器和w e b 服务器之间的通信采用t l s 双向认证,以保证安全性;另一部分,也 就是r as e r v e r ,为其他依赖p k i 的应用程序提供证书服务,这部分支持p k i x 操作协议及管理协议,以保证最大程度的互操作性。 河海大学硕士研究生毕业论文 一个开放源码的p k i 实现与企业应i j 设计该系统的目的是为采用开放源码软件的企业或其他非盈利组织提供一套 稳定可靠、易于使用且易于与其他应用系统集成的p k i 产品。因此,不仅m y c a 系统本身,它所依赖的系统软件都可以获得源代码: 操作系统:g n u l i n u x ,f r e e b s d ,o p e n b s d 等 编译器: g c c 数据库: m y s q l ,p o s t g r e s q l w e b 服务器:a 。p a c h e l d a p 服务器:o p e n l d a p 脚本解释器:p e r l ,p h p 等 需要注意的是,大部分为l i n u x 或f r e e b s d 等系统撰写的驱动程序均提供源 码,但少数硬件厂商只为其产品提供二进制形式的驱动程序。另外,在部署m y c a 系统时,如果r a 客户端采用的是商业浏览器及操作系统,可能无法获得源代码。 本文完成了m y c a 系统的主要功能:签发数字证书、撤销及恢复数字证书、 签发c r l ( c e r t i f i c a t er e v o c a t i o nl i 呈t ) 等。最终m y c a 系统将采用开放源码的 开发模式来完成。 河海大学硕士研究生毕业论文 _ 个殛塑源码的p k i 实现与企业应用 第二章p k i 体系结构 本章简要论述p k i 体系结构以及p k i x 各实体之间的操作协议,这些都是设计和 实现m y c a 系统时遵循或参考的规范。有关p k i 的详细讨论见本文后面的参考文献 【0 1 ,【0 2 ,【0 3 ,【0 4 ,【0 5 ,本章的大部分内容是对这些参考文献的总结。 2 1p k i 体系结构概述 公钥基础设施由多个在线或线外实体组成。在线实体以请求,应答模式同步进行 交互。请求,应答模式可以是客户端朋匣务器方式或对等方式。“同步”是指客户端 发出请求后阻塞直到收到应答信息,对于服务器端,既可以同步给出应答,也可以 异步地延迟一段时间后给出应答。p k i 实体间的交互协议产生了一些数据结构,如 x 5 0 9 证书结构和c r l ( c e r t i f i c a t er e v o c a t i o nl i s t ) 结构【0 “。 在个企业中,公钥基础设施与支持p k i 的应用软件系统在线集成在一起将是 非常有益的。例如,一个整合了p k i 的公司人力资源管理软件可以自动签发新员工 的公钥证书。同样,如果一名员工离职或职务发生变动,则其公钥证书将立即被注 销或被更改。 2 1 1p k i 系统中的主要元素 一个典型的互联网公钥基础设施包括三个主要的实体:终端实体( e n de n t i t y , e e ) 、证书注册机构( r e g i s t r a t i o na u t h o r i t y ,r a ) 、证书认证中,i i , , ( c e r t i f i c a t e a u t h o r i t y ,c a ) 。 ( 1 ) 终端实体。 终端实体是指一个数字证书的持有者,即证书主体( c e r t i f i c a t es u b j e c t ) 。终 端证书的主体可以是一个人,或者某个应用程序,如一个w e b 服务器、一个主机 系统等。在应用数字证书的场合,终端实体总是要使用自己的私钥( 证明自己的身 份,解密发给自己的信息等) ,因此,保证终端实体安全地访问自己的私钥非常重 要。 ( 2 ) 注册机构( r a ) 。 终端实体通常通过向r a 发送请求来完成与c a 的交互。在给终端实体颁发证书 时,i r a 要执行一系列相关操作。例如,它可以利用预登记程序来确认终端实体的 真实性,i r a 也可以鉴定终端实体是否具有证书中所声称的属性。r a 可以验证证书 的申请者是否具有与证书中公钥对应的私钥,即p o p ( p r o o f o f p o s s e s s i o n ) 。只 有当公私钥对是由终端实体产生的时候,才进行p o p 验证。r a 也是系统管理员与 1 0 河海大学硕士研究生毕业论文一个开放源码的p k i 实现与企业应用 p k i 系统之间的中介,管理员可以通过i r a 完成与c a 的交互操作,如批准证书请 求或注销证书等。 尽管r a 的功能可以由c a 实现,但多数情况下将r a 设计为一个单独的实体, 这是因为:i r a 负责用户申请公钥证书的各个方面的活动,只有所有的注册流程成 功之后,c a 才会签发证书;c a 并不总是在线,这主要是为了减少c a 被入侵的机 会。总体来说,如果和c a 通信的实体只有r a 的话,会增加整个基础设施的安全 性【0 2 】。 ( 3 ) 证书认证中一i i ( c a ) 。 c a 是证书的最终签发者。它使用自己的私钥将证书主体的名称与证书主体的 公钥绑定在一起。被信任的c a ,也就是p k i x 规范中所指的根c a ,是直接被终端 实体信任的权威。在实际应用中,被信任的c a 通常位于c a 层次结构中的最顶 端。直接信任一个c a 是指,如果这个c a 的证书出现在信任路径当中,证书的使 用者就不必再验证它的有效性了。 图2 - 1 显示了公钥基础设施中三个主要实体之 间的关系: 图2 1 公钥基础设施中三个主要实体之间的关系 一个c a 实体可能对应多个r a 实体。 规模比较大的组织在应用p k i 系统时,可以将一个c a 的管辖范围分割成多个域。 这样做的主要原因是: 1 1c a 所管理的终端实体的地理位置不同。 2 ) 需要根据组织结构或者是证书类型来分成几个域。 3 ) 分摊管理任务a 在这种t p 青- t f ,一个c a 系统内就有了多个申请域,其结构图见图2 - 2 。m y c a 系统 也可以满足这种要求,将多个r a 设在企业的不同部门,它们向同一个c a 申请证 书。 21 2 公钥基础设施中的其他元素 终端实体、注册机构r a 、证书颁发机构c a 是公钥基础设施中的核心元素。此 外,p k i x 还为公钥基础设施定义了其他一些元素: 河海大学硕士研究生毕业论文个开放源码的p k i 实现与企业应用 1 ) 目录服务器 2 ) o c s p 服务器 3 ) 证书库( 也可以作为c a 的一部分) 4 ) 时间戳服务器 等,这些元素在本文下一节p k i x 规范中介绍。 2 2p k l x 规范 图2 - 2 将p k i 系统的管理分摊到多个r a x 5 0 9 标准规定了数字证书的结构或格式,以及公钥分配的过程。作为一个主 要标准,它需要包含许多应用领域,允许证书有许多变化,并支持许多可能的操作 模型。而在特定的领域,往往不需要x 5 0 9 的所有特性,可以仅使用该标准的子 集,这样,在满足应用需求的同时,却大大降低了为实现互操作性而付出的代价。 p k i x ( p u b l i ck e yi n f r a s t r u c t u r ex 5 0 9 ) 工作组由i e t f ( i n t e r n e te n g i n e e r i n g t a s kf o r c e ) 组建,负责制定在互联网上部署x 5 0 9 公钥基础设施所需的规范和操 作模型。 显然,p k i x 不需要支持x 5 0 9 的所有特性。 p k i x 定义了公钥基础设施的大部分功能。为支持它的体系结构,p k i x 工作组 撰写了一系列文档来描述以下五个主要领域: ( 1 ) x 5 0 9 v 3 数字证书和x 5 0 9 v 2 证书撤销列表 ( 2 ) 操作协议 ( 3 ) 管理协议 ( 4 ) 策略概要 ( 5 1 时间戳和f j 期认证服务 塑堕垡竺堡型型堡型兰型塑! :生 二全茎墼塑塑塑! 鉴! 塞望量垒些窒旦 2 2 1p k i x 体系结构 p k i x 体系结构主要包括以下实体m0 3 】: 1 ) 最终实体( e n de n t i t y ) 2 ) 证书认证中心( c a ) 3 ) 注册机构( i r a ) 4 ) 资料库( r e p o s i t o r y ) : a ) 存储证书和c r l 的系统( 可以是分布式的) b ) 提供将证书和c r l 发布到最终实体的机制 图2 3 显示了p k i x 主要实体之间的关系【0 3 1 。 图2 - 3p k i x 各实体之间的关系 p k i 用户 管理实体 资料库的作用主要有两个:存储证书、c r l 以及密钥,发布证书和c r l 。其 具体组件如下: ( 1 ) 己签发证书库。 p k i x 用已签发证书库来存储所有已经签发的证书及其注销状态,可以由常用的 关系型数据系统组成,m y c a 系统就使用m y s q l 和p o s t g r e s q l 作为其证书库。 已签发证书库是公钥基础设施的一个关键环节,在整个p k i 系统的生命周期中具有 极其重要的作用。在保障其安全性的同时,必须采取一定的灾难恢复措施,如周期 性地备份整个证书库、对证书进行冗余存储以及异地备份等。 ( 2 ) 密钥存储。 塑塑盔兰亟主堕耋车訾娑冀塞 二尘五墼逦塑墼! 鉴! 塞翌量垒些堕旦 c a ,r a 存储最终实体的私钥,是出于以下原因: 1 ) 密钥恢复a 如果最终实体的私钥丢失或被破坏,则使用该私钥加密过的数 据将无法打开。 2 ) 法律规定。该种理由在有些国家仍存在争议。 但没有充分的理由需要c a 备份证书主体的签名私钥。 ( 3 ) 目录服务器。 为了使证书使用者方便地获得终端实体的证书,p k i 系统往往会提供基于 x 5 0 0 的目录服务,通过目录服务器将数字证书发布出去,以便基于p k i 的应用程 序或相关人员直接查找证书并建立信任路径。 x 5 0 0 定义了o s i 范围内的目录服务模型【0 “。它包含了一种层次化的命名空间, 以及一套信息查询和更新协议,即目录访问协议( d i r e c t o r ya c c e s sp r o t o c o l , d a p ) 。d a p 映射到o s i 网络协议栈,可用于访问全球性或区域性的目录服务系统。 由于x 5 0 0 的复杂性,使得它很难部署在小型平台上,而实现一个完整的d a p 客 户端也不是很容易。因此导致了l d a p 0 7 ,0 8 - 0 9 ,15 1 ( l i g h t w e i g h td i r e c t o r ya c c e s s p r o t o c 0 1 ) 的出现。l d a p 协议最初由密歇根大学开发,它可以通过t c p i p 协议访 问x 5 0 0 服务器。另外它还掩盖了x 5 0 0 的复杂性,使得客户端的实现变得容易。 由于l d a p 协议完全屏蔽了服务器的实现细节,l d a p 客户端并不关心服务器端是 否支持x 5 0 0 ,所以,l d a p 服务器也由原来的x 5 0 0 目录服务器的代理转变成为 独立的目录服务器。 现在既有很多商业l d a p 服务器,也有免费的、开放源码的系统,如o p e n l d a p 。 p k i x 规范明确将l d a p 作为其操作协议之一。m y c a 采用o p e n l d a p 作为其 目录服务器。 f 4 ) o c s p ( o n l i n e c e r t i f i c a t es t a t u sp r o t o c 0 1 ) ) j 艮务器。 定义o c s p 1 0 】的动机是为了克服基于c r l 的证书撤销机制的局限性。通过 o c s p 服务器,客户端可以实时查询数字证书的注销状态。这满足了对证书有效时 间要求较高的应用场合,如金融、电子商务等。 o c s p 是一个简单的请求,响应协议,可基于多个底层传输协议,如h t t p 、f t p , 甚至t c p 等。 o c s p 服务器可以进行部分或者是全部证书鉴定流程,避免了应用程序涉及这 方面的细节。o c s p 服务器可以将证书注销状态信息集中起来,使p k i 系统的管理 更方便。 o c s p 服务器需要得到相应c a 的授权才能获得客户端的信任。授权可以通过 给o c s p 服务器签发一个证书来实现,证书含有特定的扩充密钥用途扩展 ( e x t e n d e dk e yu s a g e ) ,还包括a i a ( a u t h o r i t yi n f o r m a t i o na c c e s s ) 扩展。这 个证书就作为c a 授权的证据。 河海大学硕士研究生毕业论文 个开放源码的p k i 实现与企业应用 2 2 2p k i x 管理协议 目前,p k i x 管理协议包括:证书管理协议【1 1 】( c er t i f i c a t em a n a g e m e n tp r o t o c o c m p ) ,基于c m s 的证书管理消息( c e r t i f i c a t em a n a g e m e n to v e rc m s c m c ) 和证书请求消息格式 1 2 】( c e r t i f i c a t er e q u e s t m e s s a g ef o r m a t c r m f ) 。 ( 1 ) c m p 在p k i x 规范中,c m p 是一个公钥基础设施内部进行p k i 操作或在不同的公钥 基础设施之间进行互操作的协议。该协议涉及的实体有:终端实体、r a 、c a 等。 c m p 基于证书请求报文格式( c r m f ) ,它独立于下面的传输层,自己提供加密报 文保护。 图2 4 是c m p 报文的总体结构。 图2 4c m p 消息的总体结构 c m p 报文的a s n 1 定义如下: p k i m e s s a g e := s e q u e n c e h e a d e r p k i h e a d e r , b o d yp k i b o d y , p r o t e c t i o n 【0 】p k i p r o t e c t i o no p t i o n a l , e x t r a c e r t s 【1 】s e q u e n c es i z e ( 1 m a x ) o fc e r t i f i c a t e o p t i o n a l 消息头包含协议版本、发送者、接受者以及其他可选信息。消息体包含消息 的实质内容,即当前p k i x 规范允许的2 5 种报文类型。消息保护域在使用时有 保护报文的作用。证书域可以包含对接收者有用的证书( 一个或多个) 。 c m p 消息在参考文献 11 】中有详细的解释。注意,并不是每一个c m p 操作都 会产生c m p 消息报文,有些操作可以离线( o u t o fb a n d ) 进行。 c m p 为管理消息定义了以下操作组: ( 1 ) c a 建立:处理创建新的c a 时遇到的问题,包括初始c r l 的生成和c a 公钥证书的分发。 ( 2 ) 最终实体初始化:这些操作支持初始化最终实体必须的步骤,如安装根c a 的自签名证书,了解p k i 管理实体提供的具体服务及相关选项等。 ( 3 ) 认证:主要是对首次与c a ( r a ) 接触的最终实体进行认证。 ( 4 ) 证书和c r l 发现:这个组包括一套管理操作和消息,它们导致证书或c r l 被发布。 15 塑墨三! 三堂堡主堑窒圭兰些堡塞 二全茎墼遇亟盐! 坠! 塞里皇垒些查旦 ( 5 ) 恢复操作:恢复丢失的最终实体的私钥或公钥证书。 ( 6 ) 撤销操作:包括撤销请求消息的处理以及发放新的c r l 。 ( 2 ) c m c c m c 是与c m p 竞争的协议,两个协议的大多数功能非常相似,而且它们都 被接受为p k i x 的标准。m y c a 系统目前还没有支持c m c 的计划。 2 3 小结 p k i x 是设计m y c a 系统时所遵循的主要规范。由于p k i x 规范涉及到相当多 的具体标准,本章仅对p k i x 作了概括性的介绍。 河海大学硕士研究生毕业论文 一个开放源码的p k ! 实现与企业应用 第三章m y c a 系统设计与实现 3 1 m y c a 系统应用范围 系统应用范围或目标应用环境是设计系统时首先要考虑的问题,因为没有哪一 个软件系统可以满足所有应用场合。m y c a 系统主要定位于企业或其他非盈利组织 内部应用。该类应用的特点是: 1 ) 应用规模小。主要体现在数字证书的发行量小,m y c a 系统可管理证书的最 大数量为2 3 2 _ 1 ,足以满足此类应用的需要。 2 ) 缺乏专业的系统维护人员。这就要求m y c a 系统具有较好的易用性和易于维 护的特点。 3 ) 无法承担高成本的解决方案。在降低软件成本的同时,m y c a 不能对硬件要 求太苛刻。 4 ) 安全基础设施薄弱。比如,内部网络缺乏有效保护。这要求m y c a 采取一定 措施来保证自身的安全性。 3 2 m y c a 系统设计目标 3 21 兼容性 兼容性是指系统尽可能采用开放的标准,以便最大程度的与应用系统兼容。 目前,广泛使用的p k i 标准或规范有:x 5 0 9 ,p k i x ,p k c s 等。这些规范相互 补充,涵盖了p k i 体系的各个方面。但由于它们并非由同一个组织制定,不同 规范之间仍存在内容上的重叠和某些细节上的冲突。尽管如此,若p k i 的实现者 充分考虑到这些因素,仍然能够保证不同系统之间的互操作性。 计算机技术的发展速度往往出人意料,p k i 也是如此,一些新的规范在制定当 中。虽然m y c a 不打算在第一版中支持所有新推出的标准,但在设计时考虑到日 后的升级和扩展还是有必要的。 3 2 2 稳定性 稳定性是丌放源码软件必须具备的特点。如果用户在关键应用中采用了一款 没有任何担保的开放源码软件,我们就可以这样推断:这款软件已经在大量的应 用中表现出了令人满意的可靠性。 开源软件如果在发布时仍不具稳定性,则很难吸引用户,也就不能吸引新的 开发者参与进来。因此,稳定性对开源软件来讲,是至关重要的。当然,对于复 杂的软件,要保证其有较好的稳定性,需要很多人为之不懈地努力。 河海大学硕士研究生毕业论文一个开放源码的p k i 实现与企业应用 3 _ 2 3 易用性 现在,人们对开放源码软件的主要抱怨之一就是易用性差。其实,这很容易 理解,早期的开源软件用户主要是计算机专业人员,他们对软件的界面要求不 高,喜欢追求软件的功能和稳定性。另外,开源软件的开发者大部分是利用业余 时间来完成软件的开发和维护,若能使软件兼具功能性,稳定性和易用性,则实 属不易。尽管如此,m y c a 仍将易用性作为其主要设计目标之一: 1 1系统的安装,配置,使用,维护和卸载都可以在图形界面下完成。 2 )支持u s b 令牌( u s bt o k e n ) 和加密卡。 3 2 4 安全性 作为安全产品,尤其是c a 服务器,如果出现安全事故,会给使用者带来无法 估量的损失。因此,安全性是m y c a 最主要的设计目标。除了遵照软件设计中通 用的安全准则外,m y c a 还增加了数据包过滤模块。用户可以通过m y c a 的配置 文件对该模块进行配置,无需再另外安装防火墙。缺点是该模块使用了l i n u x 的 内核机制,无法应用于其它u n i x 系统。 另外,在考虑安全性的同时,也需要充分考虑到企业所能承担的成本,做到适 度安全。 3 2 5 灵活性 可以灵活部署在各种网络环境当中,无疑是软件吸引人的一种特性am y c a 各模块之间均采用基于t c p 协议的通信方式,基本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论