(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf_第1页
(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf_第2页
(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf_第3页
(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf_第4页
(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(计算机应用技术专业论文)pki中的证书撤销和ocsp协议的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 学科专业:计算机应用 论文题目: p k i 中的证书撤销和o c s p 协议的研究与实现 硕士生:郑方伟导师:黄迪明 遵着i n t e r n e t 以及电子商务的发展,人们对信息安全的需要越来越迫 切。基于公钥体制的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 的个首要 任务。证书的撤销和验证就是证书管理的重要内容之一。: 传统的证书撤销和验证方式是利用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 证书 撤销列表) ,这种方式存在一些弊端,基于c r l 的一些新的方式虽然减轻了 这些弊端带来的影响,但也无法彻底解决这个问题。在这个背景下,o c s p 协议作为c r l 方式的补充或替代而提出,它能为用户提供在线证书状态,同 时,其请求响应模式也大大减少了网络负载。t o n g s e c 是东方通科技的p k i 安全产品,t o n g o c s p 是作者为该项目开发的一个重要组成部分,其目的就 是实现o c s p 协议,并为用户提供编程接口,解决t o n g s e c 中的证书验证问 题。根据协议要求,t o n g o c s p 可以划分为r e q u e s t o r 和r e s p o n d e r 两大部份, 但在t o n g o c s p 的设计中作者增加了一个r s p 程序来处理证书撤销库的管 理,t o n g o c s p 即为上述三部分组成。本文详细阐述了这三部分的设计并对 实现过程作了具体的描述。 主题词:证书撤销p k io c s pc r l a b s t r a c t m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y s u b j e c t : s t u d y a n di m p l e m e n t a t i o no fo c s i a n dc e r t i f i c a t er e v o c a t i o ni np k i m a s t e r :z h e n gf a n g w e it u t o r :p r o f h u a n gd i m i n g w i t ht h ed e v e l o p m e n to fi n t e r n e ta n de l e c t r o n i cc o m m e r c e ,t h e r ei sa h i g h d e m a n df o ri n f o r m a t i o ns e c u r i t y t h ep k i t e c h n o l o g yb a s e do np u b l i ck e yc a n p r o v i d ec o n f i d e n t i a l i t y 、i n t e g r i t y 、a u t h e n t i c a t i o na n dn o n r e p u d i m i o nf o ra l l k i n d so f n t e r n e ta p p l i c a t i o n b e c a u s et h ek e r n e lo fp k ii s c e r t i f i c a t e ,s o ,t o m a n a g ec e r t i f i c a t ee f f e c t i v e l yi sac h i e ft a s ko fm a n a g e m e n to fc e r t i f i c a t ei np k i t h er e v o c a t i o na n dv a l i d a t i o no fc e r t i f i c a t ei so n eo ft h em o s t i m p o r t a n tc o n t e n t t h et r a d t i o n a lm e t h o d so fr e v o c a t i o na n dv a l i d a t i o no fc e r t i f i c a t ei st ou s e c r l ,b u tt h i sm e t h o dh a si t so w nw e a kp o i n t s a l t h o u g hs o m en e wm e t h o d s b a s e do nc r lc a na l l e v i a t et h eb a de f f e c t t h e yc a n td oi t t h o r o u g h l y i nt h i s b a c k g r o u n d ,t h eo n l i n ec e r t i f i c a t es t a t u sp r o t o c o l ( o c s p ) w a si n t r o d u c e da sa s u p p l e m e n t o rs u b s t i t u t eo fc r l i tn o to n l yc a i l p r o v i d e o n l i n ec e r t i f i c a t e s t a t u s ,b u ta l s oc a nl e s s e nt h eb u r d e no fn e t w o r k t o n g s e ci sap k i p r o d u c to f t o n g t e c hc o m p a n y ,t o n g o c s pp r o j e c tw a sd e v e l o p e db ym e a sa i m p o r t a n tp a r t o ft o n g s e c p r o j e c t t h ea i m o ft o n g o c s pi st oi m p l e m e n tt h eo c s p p r o t o c o l a n dt o p r o v i d ep r o g r a m i n gi n t e r f a c ef o re n du s e la c c o r d i n gt o t h e p r o t o c o l ,t o n g o c s pw a sp a r t i t i o n e dt o t w op a r t s :r e s q u e s t o ra n dr e s p o n d e r , b u ti nt h e d e s i g no ft o n g o c s p , ia d d e dar s pp r o g r a mt om a n a g et h er e v o k e dc e r t i f i c a t e l i b r a r y , s o ,t o n g o c s pi sc o m p o s e db y t h et h r e ep a r t sm e n t i o n e d j u s tn o w i nt h i s p a p e r ,ie x p a t i a t e dt h ed e s i g na n di m p l e m e n t a t i o ni nd e t a i l k e y w o r d s :r e v o c a i t o no f c e r t i f i c a t ep i go c s pc r l 本课题的任务和本人的工作 引言 本课题来源于东方通科技的t o n g s e c 项目。t o n g s e c 是东方通科技开发 的安全系列产品的简称。通过t o n g s e c ,用户可以建立起一个p k i 平台,并 可以利用t o n g s e c 提供的开发工具包进行二次开发以实现安全应用。本课题 所要实现的t o n g o c s p 是t o n g s e c v i 2 的一个重要组成部分,o c s p 是在线 证书状态协议的简称,其目的是让用户可以在线获得一个证书的状态,比如 证书是否被撤销。t o n g o c s p 的任务就是实现o c s p 协议,并为用户提供较 为完善的接口。 t o n g o c s p 项目的主要工作是由作者独立完成的。包括( ( t o n g o c s p 需求 规格说明书、( ( t o n g o c s p 软件设计等文档和主要的代码开发,大约6 0 0 0 行c 语言代码。 本课题在实践方面的意义 随着电子商务等网络应用的发展,p k i 的应用也得到了很大发展。p k i 的核心在于其证书的发放和管理,离开证书,p k i 可以说是毫无价值。证书 撤销和验证就是证书管理中最重要的方面,因为传统的使用c r l 来撤销和发 布撤销信息的方式存在诸多弊端,i e t f 于1 9 9 9 年6 月提出了r f c 2 5 6 0 ,即 本文所讨论的o c s p 协议,并期望o c s p 能成为c r l 方式的补充乃至替代。 由于o c s p 是比较新的协议,虽然目前国外很多大的公司都已开发出了相应 的产品,国内有些公司也积极进行这方面的研究,但总的说来,o c s p 实际 应用的还不多,这对推动o c s p 的不断完善和发展是不利的。通过本课题的 进行,可以让我们在研究p k i 方面积累更多的经验,跟上国外同行的研究步 伐,同时也将对推动o c s p 的应用方面做出一定的贡献。 文章结构安排 第一章:应用背景 本章主要讲述本课题开发的一些背景,介绍了p k i 的一些基本知识,包 括p k i 的基本理论、p k i 系统的组成等,并重点讨论了与本课题开发有密切 关系的p k i 的信任模型等内容。本章最后还引入了证书的概念,并对证书的 定义、标准作了较为详细的阐述。 f 第二章:证书撤销和o c s p 协议 本章详细介绍了传统的证书撤销机制c r l 方式,并对基于c r l 的几 种方式,包括分段c r l 、分时c r l 、分段分时c r l 及d e l t a _ c r l 作了分析。 在对c r l 方式的缺陷进行分析的基础上引入了o c s p 协议。接着,本章介绍 了o c s p 协议的主要内容,并对o c s t ,协议进行了较为全面的分析。 第三章:t o n g o c s p 总体设计 本章首先对t o n g s e c 作了大体介绍,接着对t o n g o c s p 协议作了需求分 析。在需求分析的基础上,经过总体设计,把t o n g o c s p 划分为r e q u e s t o r 、 r e s p o n d e r 、l k s p 程序三个组成部分。在本章最后,对这三部分的设计分别作 了较为详细的阐述。 第四章:t o n g o c s p 的实现 本章的内容和上一章有着密切的关系,按照上一章所划分的三个部分, 本章中依次介绍了r s p 程序的实现、a s n 1 模块的实现、r e s p o n d e r 的实现 和r e q u e s t o r 的实现。其中a s n 1 模块是一个相对独立的模块,所以对它的 设计,本章中单独将其提出来加以介绍。 最后一章:结论 本章的内容是对本课题的一个总结,主要谈到课题进行中的一些体会, 同时也指出了本课题存在的一些不足之处,并对今后的改进提出了一些想法。 第一章_ l 立用背景 1 1p k i 概要 第一章应用背景 1 1 1 网络安全的需要推动p k i 的应用 近年来,随着信息技术突飞猛进的发展和计算机技术的广泛应用,计 算机通信网络得到了长足的发展,特别是随着i n t e r n e t 用户的激增,世界正 步入网络经济的新时代。电子商务、电子政务等已经由概念变成了现实,并 且正在得到快速的发展。有专家预言,到2 0 0 3 年,发生在i n t e r n e t 上的贸易 金额将会达到1 3 0 0 0 亿美元。 l 然而任何事情都是有利有弊,随着人们对网络依赖性的增强,网上信息 交流的日益增多,人们受到网络攻击的可能性也大大增加了。一般来讲,有 如下几种攻击手段: 中断:这是对可用性的攻击,例如切断通信线路。 截取:这是对机密性的攻击,例如捕获网络数据的窃听行为 修改:这是对完整性的攻击,例如修改网络中传送的内容 捏造:这是对真实性的攻击,例如向网络插入欺骗性的消息 概括起来,电子商务具有如下最基本的安全需求: 身份鉴别( a u t h e n t i c a t i o n ) :在双方进行交易前,首先要能确认对方的身 份,要求交易双方的身份不能被假冒或伪装。 数据的机密性( c o t x f i d e m i a l i t y ) :x , l 敏感信息进行加密,即使别人截获数 据也无法得到其内容。 数据的完整性( i n t e g r i t y ) :要求收方能够验证收到的信息是否完整,是否 被人篡改,保障交易的严肃和公正。 第一章应用背景 不可抵赖性( n o n r e p u d i a t i o n ) :交易一旦达成,发送方不能否认他发 送的信息,接收方则不能否认他所收到的信息。 因此,如何解决机密性、真实性、 成为制约网络应用发展的瓶颈。那么 完整性、不可否认性等安全问题已经 如何构建一个安全的信息基础设施平 台,为网上信息交流提供良好的应用环境呢? p k i ( p u b l i ck e y i n f r a s t r u c t u r e , 公钥基础设施) 技术能很好地满足这一需求。从字面上理解,p k i 就是利用 公钥理论和技术建立的提供安全服务的基础设施。它能够有效地解决电子商 务应用中的机密性、真实性、完整性、不可否认性等安全问题。 1 1 2p k i 的理论基础 p k i 是利用公共密钥理论和技术建立的提供安全服务的基础设施。比如电 力系统,它提供的服务是电能,我们可以把电灯、电视、电吹风机等看成是 电力系统这个基础设施的一些应用。从理论上讲,只要p k i 具有友好的接口, 那么普通用户就只需要知道如何接人p k i 就能获得安全服务,完全无需理解 p k i 如何实现安全服务。正如电灯只要接通电源就能亮一样,它并不需要知 道电力系统是如何将电能传送过来的。值得注意的是,虽然都是服务,但安 全服务和电能服务在表现形式上却有很大的差另0 :通过电灯的亮与不亮,我 们可以感觉到电能服务的存在与否:而安全服务却是隐藏在其他应用的后面, 用户无法直观地感觉到它是否有效或起作用。因此,虽然并不需要精通密码 理论,但如果我们理解了p k i 为什么能够解决网上的安全问题? 它的基本理 论基础是什么? 就会更有利于推动p k i 的应用和发展。下面,我们就来看看 p k i 是如何解决机密性、真实性、完整性、不可否认性等安全问题的。 1 1 2 1 数据加密 信息的机密性般通过对信息加密来实现。所谓加密,就是用数学方法 重新组织数据,使得除了合法的接受者外,任何其他人要想恢复原先的“消 第一章应用背景 息”( 将原先的消息称作“明文”) 或读懂变化后的“消息”( 将变化后的 消息称为“密文”) 都是非常困难的。通常,我们把将密文恢复成明文的过 程称作解密。加密和解密操作分别是在一组密钥控制下进行的,它们被分别 称为加密密钥和解密密钥。目前可供采用的密码体制有两种。一种是传统密 码体制,另一种是公开密钥密码体制。 传统密码体制所用的加密密钥和解密密钥相同,称为单钥或对称密钥密 码体制。这种体制所使用的密钥简短,算法较简单,运行效率高,适合于加 解密传输中的信息。其中最为著名的对称密钥算法是美国的数据加密标准 ( d e s 算法) 。该标准由i b m 公司研制,美国商业部所属的国家标准局( n b s ) 于19 7 7 年正式批准并作为美国联邦信息处理的标准。对称密钥密码体制的缺 陷是通信双方在进行通信前必须通过一个安全信道事先交换密钥,而且对称 密钥体制无法保证信息的不可抵赖性。 为了解决密钥分配和数字签名等问题,科学家提出了公开密钥密码体制 的概念。它是加密密钥和解密密钥不同的双钥体制,是一种由已知加密密钥 推导出解密密钥在计算上是不可行的密钥体制。加密密钥是公开的,谁都可 以用,称为公钥;解密密钥只有解密人自己知道,称为私钥。 假如某人( b o b ) 想和另一个人( a l i c e ) 通信,只要b o b 能找到a l i c e 的公钥,用a l i c e 的公钥将信息加密,传递给a l i c e ,然后a l i c e 用自己的 私钥解密信息。这样即使加密后的信息误传递给他人,或被他人截获,也不 用担心信息的泄露。同样的道理,a l i c e 若想向b o b 证实信息是自己发送的, 那么他只需将信息用自己的私钥加密,然后传递给b o b ,b o b 用a l i c e 的公钥 解密信息,若信息能够解开,则证明该信息是a l i c e 发送的,而且事后这条 信息也是不可抵赖的,因为只有a l i c e 才能加密信息,其他人( 包括b o b ) 是元法伪造这条信息的,尽管他们能读懂这条信息。 从上面假想的通信模式可以看出,公钥密码体制可以使通信双方无须事 先交换密钥就可以建立安全通信。公钥密码体制可用于身份认证、数字签名 第一章应用背景 和密钥交换。公钥体制一般是建立在某些已知的数学难题之上,是计算机复 杂性理论发展的必然结果。最为典型的代表是r s a 公钥密码体制。 1 1 2 2 数字签名 在日常生活中,经常需要人们签署各种信件和文书,传统上都是用手写 签名或印鉴。签名的作用是认证、核准和生效。随着信息时代的来l 临,人们 希望对越来越多的电子文件进行迅速的、远距离的签名,这就是数字签名。 数字签名与传统的手写签名有很大的差别。首先,手写签名是被签署文件的 物理组成部分,而数字签名不是;其次,手写签名不易拷贝,而数字签名正 好相反,因此必须阻止一个数字签名的重复使用;第三,手写签名是通过与 一个真实的手写签名比较来进行验证,而数字签名是通过一个公开的验证算 法来验证。数字签名的签名算法至少要满足以下条件:签名者事后不能否认; 接受者只能验证;任何人不能伪造( 包括接受者) ;双方对签名的真伪发生 争执时,有第三方进行仲裁。目前数字签名技术的研究主要是基于公钥密码 体制。比较著名的数字签名算法包括r s a 和d s a 。 数字签名是建立在公钥加密基础上的,在签名和验证签名的处理过程中, 数字签名引入了哈希算法( h a s h a l g o r i t h m ) ,哈希算法对原始报文进行运算, 得到一个固定长度的数字串,称为报文摘要( m e s s a g ed i g e s t ) ,不同的报 文所得到的报文摘要各异,但对相同的报文它的报文摘要却是唯一的,因此 报文摘要也称为数字指纹。它是一种单向函数,根据输出结果很难求出输入 值,因此,哈希函数不仅应用于信息的完整性,而且经常应用于数字签名。 用签名算法对报文摘要加密所得到的结果就是数字签名。签名的基本原理是: 发送方生成报文的报文摘要,用自己的私钥对摘要进行加密来形成发送方的 数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给接收方。 接收方首先从接收到的原始报文中用同样的算法计算出新的报文摘要,再用 发送方的公钥对报文附件的数字签名进行解密,比较两个报文摘要,如果值 相同,接收方就能确认该数字签名是发送方的。数字签名机制既保证了报文 的完整性和真实性,又具有防止抵赖的作用。在实际应用中,因为公钥体制 f ) 第一章应用背景 的密钥比较长,算法复杂,所以运行效率较低。所以往往同时使用公共密钥 和对称密钥技术,发挥各自的优点,其工作原理在此不赘述。 h a s h 算法 z , 签名 图1 1 数字签名过程 1 1 2 3 证书概念的引入 p k i 是建立在公共密钥机制基础上的,为了保证其有效性,必须使在网上 通信的用户双方确信,他们的身份和密钥是合法的和可信赖的。比如用户a 如何判断一个公钥确实就是b 的公钥,当然,他可以从b 那里直接得到公钥, 但是在大范围的网络环境中,指望每一个用户都和其他用户建立联系是不可 能的,也是不现实的,而且用户的公钥需要能够被广泛地得到。为了解决这 些问题,p k i 引入了第三方信任和证书概念。第三方信任是指在特定的范围 内,即使通信双方以前并没有建立过关系,他们也可以毫无保留地信任对方。 双方之所以相互信任,是因为他们和一个共同的第三方建立了信任关系,第 三方为通信的双方提供信任担保。证书是指p k i 用户已注册的以数字化形式 存储的身份。,数字证书是由大家共同信任的第三方认证中心( c a ) 颁发 的,它包含用户身份的部分信息及用户所持有的公共密钥,然后c a 利用本身 的密钥为数字证书加上数字签名。c a 目前采用的标准是x 5 0 9v 3 。c a 有权 利签发并废除证书并且对证书的真实性负责。在p k i 架构中,c a 扮演的角 第一章应用背景 色很像那些颁发证件的权威机构,如身份证的办理机构。建立c a 的标准以及 他们操作时所遵循的政策,是决定他们信任度的首要因素。 从技术角度看,一个组织完全可以自己发放数字证书来为自己的用户服 务,但相比之下第三方c a 更符合用户的需求。例如,附属于一家银行的c a 不太可能为所有的银行提供认证服务,第三方c a 则不然,用户只需与这样 一家第三方c a 签订认证协议,就可以方便地使用多种信用卡和认证服务。 这样做,既避免了p k i 的重复建设和交叉认证的复杂性,同时也能够为用户 提供更加专业的认证服务。 从上面的分析看,p k i 可以提供网络中信息安全的全面解决方案。任何 想发放自己公钥的用户,可以去认证中心( c a ) 申请自己的证书。c a 中心在 认证该人的真实身份后,颁发包含用户公钥的数字证书,它包含用户的真实 身份,并证实用户公钥的有效期和作用范围( 用于交换密钥还是数字签名) 。 其他用户只要能验证证书是真实的,并且信任颁发证书的c a ,就可以确认用 户的公钥。 1 1 3p k i 相关标准 p k i 是一个庞大复杂的理论体系,它是在以公钥理论为理论基础,并在 x 5 0 9 标准的基础上建立起来的。它的发展是一个长期的过程。公开密钥加 密的概念最早是由两位美国科学家d i f f i e 和h e l l l m a n 于1 9 7 6 年提出的。1 9 7 8 年,m i t 的一个研究小组中的r i v e s t ,s h a m i r ,a d l e m a n 三人提出了一个实 用的公开密钥加密算法r s a 。此后r s a 算法得到了广泛的接受和实现,并 经受了多年的考验而被证明是安全可靠的,成为公开密钥算法的事实上的工 业标准。之后虽然有一些新的算法被陆续提出,但都还有待时间的考验。 下面再来看看x 5 0 9 标准的发展历史。x 5 0 9 标准是最基本、获得最广泛 支持的p k i 的标准之一,它的最主要目的是定义一个标准的数字证书格式, 被用于规范认证服务,以实施x 5 0 0 目录服务。p k i 的一系列相关标准是以 x 5 0 9 v 3 为基础的。 第一章应用背景 1 1 9 8 8 年,c c i t t 颁布了用于分布网络中存储用户信息的数据库的目 录检索服务的协议标准x 5 0 0 。 2 1 9 8 8 年,i t u t ( 国际电信联盟电信标准化组织,即以前的c c i t t ) 颁布了x 5 0 9 标准,被推荐作为x 5 0 0 目录系统的一部分。经多次修 改,4 在9 6 年公布了最新的版本x 5 0 9v 3 。x 5 0 9 标准定义的证书格 式已成为被最广泛接受的证书格式。 3 1 9 9 8 年至1 9 9 9 年,i n t e m e tw o r k i n gg r o u p 以x 5 0 9 的v 3 证书为基 础,定义了一系列p k i 的相关标准。 可互操作的p k i 标准( p k i x ) 是由i n t e m e t 工程任务组中( i e t f ) 的p k i 工作组制订的一系列r f c 文档组成,称为p k i x 规范。本文要讨论的o c s p 协议( r f c 2 5 6 0 ) 即为其中之一。下表是p k i x 规范的相关r f c 标准的列表。 标准编号名称 i n t e m e tx 5 0 9p u b l i c k e y i n f r a s t r u c t u r ec e r t i f i c a t ea n dc r l r f c2 4 5 9 p r o f i l e i n t e m e tx 5 0 9p u b l i ck e yi n f r a s t r u c t u r ec e r t i f i c a t em a n a g e m e n t r f c2 5 1 0 p r o t o c o l s r f c2 5 1 1i n t e m e tx 5 0 9c e r t i f i c a t er e q u e s t e dm e s s a g ef o r m a t i n t e r n e tx 5 0 9p u b l i ck e yi n f r a s m a c t u r ec e r t i f i c a t ep o l i c ya n d i 廿2 5 2 7 c e r t i f i c a t i o np r a c t i c e sf r a m e w o r k i n t e r n e tx 5 0 9p u b l i ck e yi n f r a s t r u c t u r er e p r e s e n t a t i o no fk e y r f c2 5 2 8 e x c h a n g ea l g o r i t h m ( k e a ) k e y si n i n t e m e tx 5 0 9p u b l i ck e y i n f r a s t m c t u r ec e r t i f i c a t e s 第一章应用背景 i n t e r u e tx 5 0 9p u b l i ck e yi n f r a s t r u c t u r eo p e r a t i o n a lp r o t o c o l s r f c2 5 5 9 l d a p v 2 x 5 0 9i n t e r n e tp u b l i ck e yi n f r a s t r u c t u r eo n l i n ec e r t i f i c a t es t a t u s r f c2 5 6 0 p r o t o c 0 1 一o c s p i n t e r n e tx 5 0 9p u b l i c k e yi n f r a s t r u c t u r eo p e r a t i o n a l p r o t o c o l s : r f c2 5 8 5 f t pa n d h t t p r f c2 5 8 7i n t e m e tx 5 0 9p u b l i ck e 3 ,i n f r a s t r u c t u r el d a p v 2 表1 1p k i x 标准的r f c 文档列表 p k i x 规范的依据除了国际电信联盟制订的x 5 0 9 标准外,还有r s a 数 据安全实验室制订的公共密钥密码标准p k c s ( p u b l i ck e yc r y p t o g r a p h y s t a n d a r d ) 。p k c s 是在认证注册、更新及c r l 分布方面定义p k i 的一系列标 准,包括p k c s l p k c s # 1 2 。通过这些标准,r s a 数据安全公司希望为公 开密钥密码学提供的一个公开标准接口。下面简单介绍每个p k c s 的内容。 1 p k c s :l 1 、p k c s # 2 、p k c s 4 :描述了r s a 加密和解密的方法, 主要用于p k c s # 7 中所描述的数字签名结构和数字信封。 2 p k c s # 3 :描述了实现d i f f i e 1 t e l l m a n 密钥交换协议的方法。 3 p k c s # 5 :描述了用一个从v 1 令中派生的秘密密钥加密消息的方法。 它使用m d 2 或m d 5 从口令中派生密钥,并采用d e s 的c b c 模式 加密。这个功能主要用于加密从一个计算机传送到另一个计算机的私 钥,但是不能用于加密消息。 4 p k c s # 6 :描述了公开密钥证书的标准语法。这一语法是x 5 0 9 证书 的扩展,如果需要,可以取出x 5 0 9 证书。x 5 0 9 证书之外的这些附 加属性已使证书处理不再局限于公开密钥。 第一章应用背景 5 p k c s 7 :密文语法标准,是一个对数据加密或签名的通用语法,例 如数字信封和数字签名。同时这些语法还提供了一些附加属性,例如 可与消息内容一起被校验的时间标记。 6 p k c s # 8 :描述了私钥信息的语法,包括私钥、一组属性和加密私钥 的语法。 7 p k c s # 9 :定义了p k c s 井6 扩展证书、p k c s # 7 数字签名消息和p k c s 样8 加密私钥的属性类型。 8 p k c s # 1 0 :描述了证书请求的标准语法。一个证书请求包括证书主 体的辩识名、公钥和可选的一组属性,由请求证书的用户签名。 9 p k c s # 1 1 :是密码标记的a p i 标准,它详细定义了一个通用的编程 接口,可用于各种可移植的密码设备。 f 1 0 p k c s # 1 2 :个人信息交换语法标准,描述了将用户的私钥、证书和 其他相关的秘密信息存放在软件中的语法。它的目标是为各种应用提 供一个标准的单一密钥文件。 在t o n g s e c 系统中就采用了p k c s l 2 标准来保存用户信息,包括用户证 书、私钥和c a 的证书等信息。 1 2p k i 系统的组成 一个完整的p k i 产品通常应具备以下功能:根据x 5 0 9 标准发放证书, 产生密钥对,管理密钥和证书,为用户提供p k i 服务,如用户安全登录、增 加和删除用户、恢复密钥、检验证书等。其他相关功能还包括交叉认证、支 持l d a p 协议、支持用于认证的智能卡等。 下图是一个典型的p k i 实体图 第一章应用背景 证 书 和 证 书 撤 销 列 表 仓 库 发布证书 发布证书 发布证书 证书更新 撤销请求 终端实体 初始注册,认证 密钥对恢复 密钥对更新p k i 用户 发布c r l 交叉认证 交叉认证证书 p k i 管理实体 交叉认证 交叉认证证书更新 图1 2p k i 实体图 p i g 中各部分功能描述如下: 终端实体( e n de n t i t y ) :p k i 证书的用户和证书主体的终端用户系统。 所有的终端实体都需要能够对一些信息进行安全的本地访问,这些信息至少 包括终端实体自己的名字、私钥、该实体直接信任的c a 的名字、c a 的公钥 等。具体实现可以对这些信息采用某种本地安全存储。存储的形式可以是多 种多样的,包括从安全级别较低的形式( 如文件) 到安全级别较高的形式( 如 防篡改的加密令牌) 。这样的可信任的本地存储称为终端实体的个人安全环境 p s e ( p e r s o n a ls e c u r i t ye n v i r o n m e n t ) 。 证书签证机关c a ( c e r t i f i c a t i o na u t h o r i t y ) :p i g 系统的核心部件。它是 被终端实体直接信任的。它的职责是为用户发放证书并管理证书。在多级证 书签证机关层次体系中,它不必是最顶层的证书签证机关。 注册登记机关r a ( r e g i s t r a t i o na u t h o r i t y ) :注册登记机关在证书管理中 不是必需的实体,但是在许多实际环境中,要求注册登记机关同证书签证机 关中分离出来,独立存在。注册登记机关要完成的功能非常多,可以包括个 第一章应用背景 人身份认证、撤销报告、密钥产生、密钥对存档等。如果注册登记机关不存 在,注册登记机关的功能就由证书签证机关来完成。当注册登记机关独立存 在时,终端实体不直接和证书签证机关通信,而是直接同注册登记机关进行 通信交互,证书签证机关只接受注册登记机关的请求,并作出相应的响应。 公共资料库( r e p o s i o r y ) :存储证书和c r l 的系统或分布系统的集合, 它实际上提供一种目录服务,用户可以从此处获得其他用户的证书和公钥, 也可以从此处下载c r l 从而获得证书撤销信息。目前,比较流行的做法是采 用支持l d a p 协议的目录系统,用户或相关的应用通过l d a p 来访问证书库。 系统必须确保证书库的完整性,防止伪造、篡改证书。 除了上述基本的部分外,一个完备的p k i 还需要具备以下系统: 1 ) 密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则密文数据 将无法被解密,造成数据丢失。为避免这种情况的出现,p k i 应该提供备份 与恢复密钥的机制,设计和实现健全的密钥管理方案,保证安全的密钥备份、 更新、恢复,也是关系到整个p k i 系统强健性、安全性、可用性的重要因素。 密钥的备份与恢复应该由可信的机构来完成,例如c a 可以充当这一角色。 2 ) 证书撤销处理系统:证书撤销处理系统是p k i 的一个重要组件。证书是用 来证明证书持有者身份的电子介质,它是用来绑定证书持有者身份和其相应 公钥的。通常,这种绑定在已颁发证书的整个生命周期里都是有效的。但是, 有时也会出现一个已颁发证书不再有效的情况,如果这个证书还没有到期, 就需要进行证书撤销。证书撤销的理由是各种各样的,可能包括从工作变动 到对密钥的怀疑等一系列原因。因此,需要采取一种有效和可信的方法,能 在证书自然过期之前撤销它。为实现这一点,p k i 必须提供撤销证书的一系 列机制。撤销证书一般通过将证书列入撤销证书列表( c r l ) 来完成。通常, 系统中由c a 负责创建并维护一张及时更新的c r l ,而由用户在验证证书时负 责检查该证书是否在c r l 之列。c r l 存放在公共资料库中。 3 ) p k i 应用接口:p k i 的价值在于使用户能够方便地使用加密、数字签名等 安全服务,因此一个完整的p k i 必须提供良好的应用接口系统,使得各种各 第一章应用背景 样的应用能够以安全、一致、可信的方式与p k i 交互,确保所建立起来的网 络环境的可信性,同时降低管理维护成本。为了向应用系统屏蔽密钥管理的 细节。p k i 中终端实体的活动是以证书为基础的,因此,证书的有效性显得 尤为重要,p k i 系统还应为用户提供证书验证系统来保证这种有效性。 在这个模型中,系统安全性的保障是建立在这样的前提之上的:所有的 终端实体都要求确保对某些信息的安全的本地访问。这些信息包括终端实体 自己的名字和私钥、该终端实体直接信任的c a 的名字和公钥等。这些信息 的存储形式可以是加密的文件或是防篡改的硬件智能卡等。这样的一个本地 的被信任的信息存储叫做终端实体的个人安全环境p s e ( p e r s o n a ls e c u r i t y e n v i r o n m e n t ) 。但是终端实体如何获得他的个人安全环境则是一个实现的问 题,不同的实现可以选择不同的方式 系统可以由终端实体自己生成密钥对 标准并没有做出硬性规定。比如某个 将私钥写入一个智能卡中。然后他需 要到r a 处验明他的身份,将他的公钥交给r a 。r a 检查通过后交给该用户 c a 的公钥,并将该用户的公钥交给c a ,由c a 将该用户的公钥和他的标志 符以及相关信息绑定在一起,为该用户生成证书。证书生成后,一方面返回 给用户,另上方面则通过公共资料库发布出来。当然这只是p k i 系统的一种 实现方式,你完全可以选择r a 或c a 为客户生成密钥对和证书,再将私钥 和证书返回给该客户。而如何交送密钥的实现也可以有多种选择,比如要求 客户当面到r a 来交送,也可以是某种加密的电子邮件。在t o n g s e c 中采用 的是由r a 生成密钥对,然后将公钥以安全的方式送到c a 中,由c a 生成 证书送回r a 的方式。此后r a 再将用户证书、私钥等信息存放在p k c s l 2 文件、智能卡或存储卡中交给用户。 从前面的描述我们可以看到,一个p k i 系统并不一定由c a 来发布证书, r a 甚至终端实体自身都可以发布证书,这时证书所绑定的信息的权威性, 则相应地由k a 或终端实体自己保证。而是否信任以及如何信任这种绑定关 系,是由用户自己决定。也就是说,系统信任机制的不同,决定了证书发布 机制的不同。当然,大部分的p k 系统都是采用c a 发布证书的形式,如果 用户希望使用证书,就首先要信任c a 的权威性。也有的系统采用用户自己 第一章应用背景 发布证书的形式,比如i n t e m e t 上颇为流行的电子邮件的加密软件p g p 就采 用这种形式,一用户可以自己决定是否信任别人( 比如你的朋友) 的证书以及 信任的等级有多高。我们称这种信任机制为以用户为中心的信任。 在p k i 系统中,制定并实现科学的安全策略是非常重要的,这些安全策 略必须适应不同的需求并且能够通过c a 和r a 技术融入到c a 和r a 的系统 实现中。同时,这些策略应该符合密码学和系统安全的要求,科学地应用密 码学与网络安全的理论,并且具有良好的可扩展性和互用性。 综上所述,p k i 具有证书签证机关( c a ) 、证书库、密钥备份及恢复系统、 证书作废处理系统、应用接口等基本成分,构建p k i 也将围绕着这五大系统来 构建。不管目前市场上的商品化p k i 划分为多少个部分,其核心功能都是上 1 述几大模块。 i 3 p k i 的信任模型 上一节中我们谈到系统的信任机制不同,证书发布机制也不同,这一节 笔者就对p k i 的常用信任模型做简单分析。实际上,选择信任模型( t r u s t m o d e l ) 是构筑和运作p k i 所必需的一个环节。信任模型也决定了p k i 各个 组成部分的运行方式。选择正确的信任模型以及与它相应的安全级别是非常 重要的,同时也是部署p k i 所要做的较早和基本的决策之一。 信任模型主要阐述了以下几个问题: 一个p k i 用户能够信任的证书是怎样被确定的? 这种信任是怎样被建立的? 在一定的环境下,这种信任如何被控制? 在x 5 0 9 标准( x 5 0 9 ,s e c t i o n 3 3 2 3 ) 中对信任的定义是:e n t i t y “a ” t r u s t se n t i t y b “w h e n “a a s s u m e st h a t “b 。1w i l lb e h a v ee x a c t l ya s “a n e x p e c t s 。如果翻译成中文,这段话的意思是:当实体a 假定实体b 严 格地按a 所期望的那样行动,则a 信任b 。从这个定义可以看出,信任涉及 第一章应用背景 假设、期望和行为,这意味着信任是不可能被定量测量的,信任是与风险相 联系的并且信任的建立不可能总是全自动的。在p k i 中,我们可以把这个定 义具体化为:如果一个用户假定c a 可以把任一公钥绑定到某个实体上,则他 信任该c a 。 目前常用的有四种信任模型:c a 的严格层次结构模型( s t r i c th i e r a r c h y o fc e r t i f i c a t i o n a u t h o r i t i e sm o d e l ) 、分布式信任结构模型( d i s t r i b u t e d t r u s ta r c h i t e c t u r eh o d e l ) 、w e b 模型( w e bm o d e l ) 和以用户为中心的信 任模型( u s e r c e n t r i ct r u s tm o d e l ) 。 1 3 1 c a 的严格层次结构模型 认证机构( c a ) 的严格层次结构可以被描绘为一棵倒转的树,根在顶上, 树枝向下伸展,树叶在下面。在这棵倒转的树上,根代表一个对整个p k i 系 统的所有实体都有特别意义的c a 通常叫做根c a ( r o o tc a ) ,它充当信 任的根或“信任锚( t r u s ta n c h o r ) ”也就是认证的起点或终点。在根c a 的 下面是零层或多层中介c a ( i n t e r m e d i a t ec a ) ,也被称作子c a ( s u b o r d i n a t e c a ) ,因为它们从属于根c a 。与非c a 的p k i 实体相对应的树叶通常被称 作终端实体( e n d e n t i t i e s ) 或被称作终端用户( e n d u s e r s ) 。在这个模型中, 层次结构中的所有实体都信任唯一的根c a 。这个层次结构按如下规则建立: 根c a 认证( 更准确地

温馨提示

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

评论

0/150

提交评论