(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf_第1页
(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf_第2页
(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf_第3页
(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf_第4页
(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于xkms的密钥证书管理系统的设计和实现.pdf.pdf 免费下载

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

文档简介

基于x k m s 的密钥证书管理系统的设计和实现 专业:检测技术与自动化装置 硕士生:吕劲 指导教师:吕志民 摘要 本文在分析研究了s u n 的j k s 和s u n j c e 的j c e k s 两个密钥库算法的基础上, 设计并实现了密钥证书管理系统( k e yc e r t 让i t a l e l a n a g e m e n ts y s t e m ,k c m s ) 。 k c m s 针对j k s 和j c e k s 两个算法生成的密钥库文件都没有对用户敏感信息进行 加密处理这点不足,从更加安全的角度出发,采用基于密码的加密算法 p b e w i t h s h a l a n d d e s e d e 对密钥证书系统中保存的用户敏感信息进行强加密保护 处理。作者根据j a v a 的k e y s t o r e s p i 类的编写规范,设计了安全提供者和密钥 库算法。该算法具有通用性,能够被其它应用程序方便地调用。由于系统中保存 的密钥项和证书项采用了哈希表来进行保存,所以能达到令人比较满意的查询速 度。 作者从目前p k i 的发展趋势出发,通过研究了w 3 c 的x 机密钥管理规范( x m l k e y l a n a g e m e n ts p e c i f i c a t i o r ,x k m s ) ,使本文设计的k c m s 符合x k m s 规范的 客户端设计需求,能够完成大部分x k m s 客户端的功能。k c m s 不仅能读取、保存、 查咖和验证采用x 5 0 9 格式的汪书,同时也支持对采用其它p k i 标准的基于x m , 签名和x m l 加密的证书的读取、查询和验证操作。 k c m s 构建在j a v a 2 的平台基础之上,利用j a v a 跨平台和优秀的安全性的特 点,k c m s 不需任何改动就可以在w i n d o w s 、l i n u x 等主流网络操作系统平台上运 行。k c m s 由于不需要使用数据库来对密钥和证书进行管理,jj 以减轻客户端程 序编写的复杂性,能够方便地使用在嵌入式等小型设备上面。本文设计的系统模 型具有一定的研究和使用价值。 关键词:p k i ,x k m s ,j a v a ,密钥库 d e s i g n i n ga n di m p l e m e n t i n gt h ek e yc e r t i f i c a t em a n a g e m e n ts y s t e m b a s e do nt h ex k m s m a j o r :d e t e c t i o nt e c h n o l o g ya n da u t o m a t i cd e v i c e n a m e :l dj i n g s u p e r v i s o r :l f iz h i m i n g a b s t r a c t a f t e rh a v i n g a n a l y z e da n dr e s e a r c h e dt h ea l g o r i t h m sf r o ms u n sj k sa n d s u n j c e sj c e k s ,t h ea u t h o rd e s i g n e da n di m p l e m e n t e dt h ek c m s ( k e yc e r t i f i c a t e m a n a g e m e n ts y s t e m ) t h ej k sa n dj c e k sd o n tp r o t e c tt h eu s e r ss e n s i t i v e i n f o r m a t i o ni nt h ek e y s t o r ef i l ew h i c hg e n e r a t e db yt h et w oa l g o r i t h m s ,s of r o mt h e s e c u r e rp o i n t ,t h ek c m su s e st h ep a s s w o r d b a s e de n c r y p t i o n p b e w i t h s h a i a n d d e s e d et op r o t e c tt h eu s e r ss e n s i t i v ei n f o r m a t i o np r e s e r v e di n t h ek e yc e r t i f i c a t em a n a g e m e n ts y s t e m t h ea u t h o rd e s i g n e dt h es e c u r i t yp r o v i d e ra n d k e y s t o r ea l g o r i t h mo nt h eb a s i so ft h es p e c i f i c a t i o no ft h ek e y s t o r e s p c l a s si nt h e j a v al a n g u a g e t h ea l g o r i t h mc a t 7 b ee a s i l yu s e db yo t h e ra p p l i c a t i o n s a sar e s u l to f t h eu s i n gt h eh a s h t a b l ew h i c hi su s e dt os t o r et h ek e y sa n dc e r t i f i c a t e s ,t h es y s t e m c a ns e a r c ht h er e l a t e de n t r i e si nah i g hs p e e d t h ea u t h o rr e s e a r c h e dt h eg r o w i n gt r e n do ft h ep k ia n dt h ex k m s ( x m lk e y m a n a g e m e n ts p e c i f i c a t i o n ) a n dd e s i g n e dt h ek c m sw h i c hc o u l da c c o m p l i s ht h e c l i e n tf u n c t i o no ft h ex k m s n o to n l yt h ek c m sc a nr e a d ,s t o r e 1 0 c a t ea n dv e r i f y t h ex 5 0 9c e r t i f i c a t e sb u ta l s os u p p o r tt h er e a d i n g ,l o c a t i n ga n dv e r i f 、y i n go t h e rp k i c e r t i f i c a t e sb a s e do nt h ex m ls i g n a t u r ea n dx m le n c r y p t i o n t h ek c m si ss e tu pont h ej a v a2p l a t f o r mw h i c hi sc r o s s i n g p l a t t b r ma n dv e r y s a t e ,s oi tc a nb er u no nt h ew i n d o w s ,l i n u x ,e t cw i t h o u ta n yc h a n g e b e c a u s et h e k c m sd o n tn e e dt h ed a t a b a s et om a n a g et h ek e y sa n dc e r t i f i c a t e s ,i tc a nl i g h t e nt h e d e s i g n i n go ft h ec l i e n ta n db e u s e di nt h ee m b e d d e dd e v i c e s t h em o d u l eo ft h e k c m sh a ss o m er e s e a r c h i n ga n da p p l y i n gv a l u e s k e yw o r d s :p k i x k m s j a v a ,k e y s t o r e 端于x k m s 的密宅【;l 证书管理系统的殴计和实现 第1 章引言 i 1 课题研究的背景和现状 随着网络技术和计算机技术的飞速发展,我围信息化建设也取得了 较大的成就,从“政府网上办公一电子政务”到“企业网匕交易一电子商 务”,信息网络已经渗透到各行各业和人民的生活中。网络正逐步改变着 人们的生产和生活方式,推动着社会进步和机制、体制的不断改革。伴随 着国内信息化建设高潮而来的计算机和网络犯罪也不断出现,信息安全问 题日益突显出来,信息网络的安全一旦遭受破坏,其影响或损失将十分巨 大。信息安全已经成为一个关系到幽家经济、政治、军事等多方面的重要 问题。目前,很多企业和政府部门都已完成或正在建设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 ) ,是通过公钥密码体制中用户私钥的机密性来提供 用户身份的唯一性验证,并通过公钥数字证书的方式为每个合法用户的公 钥提供一个合法性的证明。p k i 能有效地解决电子商务和电子政务应用中 的机密性、完整性、可用性、认证性、不可否认性等安全问题。1 2 p k i 目前主要应用在如下几个方面:”o ( 1 ) 虚拟专用网络( v p n ) 通常,企业在架构v p n 时都会利用防火墙和访问控制技术来提高v p n 的安全性,但这只解决了很少一部分问题。而一个现代v p n 所需要的安全 保障,如认证、机密、完整、不可否认以及易用性等都需要采用更完善的 安全技术。现实中构造的v p n 往往并不局限于种单一的结构,而是趋向 于采用混合结构方式,以达到最适合具体环境、最理想的效果。在实现一卜, v p n 的基本思想是采用秘密通信通道,用加密的方法来实现。 基于p k i 技术的i p s e c ( i ps e c u r 【l yp r o t o c 0 1 ) 协议现在已经成为架 构v p n 的基础,它可以为路由器之间、防火墙之间或者路由器和防火墙之 间提供经过加密和认证的通信。由于【p s e c 是i p 层上的协议,因此很容 易在全世界范围内形成一种规范,具有非常好的通用性,而且i p s e c 本身 就支持面向未来的协议i p v 6 。随着成熟的公钥密码技术越来越多地嵌 入到i p s e c 中,在未来几年内,该防议会在v p n 世界里扮演越来越重要的 角色。 接于x k m s 的密钥证书管理系统的设汁和实现 ( 2 ) 安全电子邮件 作为i n t e r n e t 上最有效的应用,电子邮件凭借其易用、低成本和高 效已经成为现代商业中的一种标准信息交换工具。随着i n t e r n e t 的持续 增长,商业机构或政府机构都丌始用电子邮件交换一些秘密的或是有商业 价值的信息,这就引出了一些安全方面的问题,包括: 消息和附件可以在不为通信双方所知的情况下被读取、篡改或截 掉: 没有办法可以确定一封电子邮件是否真的来自某人,也就是说, 发信者的身份可能被人伪造。 前一个问题是安全,后一个问题是信任,正是由于安全和信任的缺乏 使得公司、机构一般都不用电子邮件交换关键的商务信息。 其实,电子邮件的安全需求也是机密、完整、认证和不可否认,而这 些都可以利用p k i 技术来获得。具体来说,利用数字证书和私钥,用户可 以对他所发的邮件进行数字签名,这样就可以获得认证、完整性和不可否 认性,如果证书是由其所属公司或某一可信第三方颁发的,收到邮件的人 就可以信任该邮件的来源,无论他是否认识发邮件的人;另一方面,在政 策和法律允许的情况下,用加密的方法就可以保障信启、的保密性。 目前发展很快的有安全多用途i n t e r n e t 邮件扩展s m i m e ( s e c u r e m u l t i p u r p o s ei n t e r n e tm a i le x t e n s i o n ) ,这是一个允许发送加密和有 签名邮件的协议。陔仂议的实现需要依赖于p k i 技术。 ( 3 ) w e b 安全 浏览w e b 页面或许是人们最常用的 方问i nc e r n e t 的方式。一股的浏 览也许并不会让人产生不妥的感觉,可是当你填写表单数据时,你有没有 意识到你的私人敏感信息可能被一些居心叵测的人截获,而如果你要通过 w e b 进行一些商业交易,又如何保证交易的安全呢? 般来讲,w e b 上的交易可能带来的安全问题有: 诈骗建立网站是一件很容易也花钱不多的事,有人甚至直接 拷贝别人的页面。凶此伪装一个商业机构非常简单,然后它就可以让访问 者填一份详细的注册资料,还假装保汪个人隐私,而实际上就是为了获得 访问者的隐私。调查显示,邮件地址和信用卡号的泄漏大多是如此这般。 泄漏当交易的信息在网上“赤裸裸”的传播时,窃听者可以 很容易地截取并提取其中的敏感信息。 篡改截取了信息的人还可以做一些更“高明”的 作,他可 以替换其中某些域的值,如姓名、信用卡号甚至金额,以达到自己的目的。 基于x k m s 的密钥证书管理系统的设计和实现 攻击主要是对w e b 服务器的攻击,洲如著名的d d o s ( 分布 式拒绝服务攻击) 。攻击的发起者可以是心怀恶意的个人,电可以是同行 的竞争者。 为了透明地解决w e b 的安全问题,最合适的入手点是浏览器。现在, 无论足t n t e r n e ce x p l o r e r 还是n e t s c a p en a v i g a t o r ,都支持s s l 协议 ( s e c u r es o c k e t sl a y e rp r o t o c a ) 。这是一个在传输层和应用层之削的 安全通信层,在两个实体进行通信之前,先要建立s s l 连接,以此实现对 应用层透明的安全通信。利用p k i 技术,s s l 协议允许在浏览器和服务器 之间进行加密通信。此外还可以利用数字证书保证通信安全,服务器端和 浏览器端分别由可信的第三方颁发数字证书,这样在交易时,双方可以通 过数字证书确认对方的身份。需要注意的是,s s l 协议本身并不能提供对 不可否认性的支持,这部分的工作必须由数字证书完成。 结合s s l 协议和数字证书,p k i 技术可以保证w e b 交易多方面的安全 需求,使w e b 上的交易和面对面的交易一样安全。 ( 4 ) 电子商务的应用 p k i 技术是解决电子商务安全问题的关键,综合p k i 的各种应用,可 以建立一个可信任和足够安全的网络。在这里,我们有可信的认证中心, 典型的如银行、政府或其他第三方。在通信中,利用数字证书可消除匿名 带来的风险,利用加密技术可消除开放网络带来的风险,这样,商业交易 就可以安全可靠地在网上进行。 刚上商业行为只是p k i 技术目前比较热门的一种应用,必须看到,p k i 还是一门处于发展中的技术。例如,除了对身份认证的需求外,现在又提 出了对交易时间戳的认证需求。p k i 的应用前景也决不仅限于网上的商业 行为,事实上,网络生活中的方方面面都有p k i 的应用。 随着p k i 技术应用的不断深入,p k i 技术本身也在不断发展与变化, 近年来比较重要的变化有以下方面:l 圳 f 1 ) 属性证书 x 5 0 9v 4 增加了属性证书的概念。提起属性证书就不能不提起授权 管理基础设施f 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 ) 。p m 授权技术 的核心思想是以资源管理为核心,将对资源的访问控制权统一交由授权机 构进行管理,即由资源的所有者来进行访问控制管理。 在p k i 信任技术中,授权证书非常适合于细粒度的、基于角色的访问 控制领域。x 5 0 9 公钥证书原始的含义非常简单,即为某个人的身份提供 不可更改的证据。但是,人们很快发现,在许多应用领域,比如电子政务、 摹十x k m s 的密钥证书管理系统的垃汁和实现 电子商务应用中,需要的信息远不l l 是身份信息,尤其是当交易的双方在 以前彼此没有过任何关系的时候。在这种情况下,关于一个人的权限或者 属性信启、远比其身份信息更为重要。为了使附加信息能够保存在证书中, x 5 0 9v 4 中引入了公钥证书扩展项,这种证书扩展项可以保存任何类型 的附加数据。随后,各个证书系统纷纷引入自己的专有证书扩展项,以满 足各自应用的需求。 ( 2 ) 漫游证书 证书应用的普及自然产生了证书的便携性需要,而到目前,能提供汪 书和其对应私钥移动性的实际解决方案只有两种:第一种是智能卡技术。 在该技术中,公私密钥对存放在卡上,但这种方法存在缺陷,如易丢失 和损坏,并且依赖读卡器( 虽然带u s b 接口的智能钥匙不依赖读卡器, 但成本也不低) ;第二种选择是将证书和私钥复制到一张软盘备用,但软 盘不仅容易丢失和损坏,而且安全性也较差。 个新的解决方案就是使用漫游证书,它通过第三方软件提供,只需 在任何系统中正确地配置,该软件( 或者插件) 就可以允许用户访问自己 的公私密钥对。它的基本原理很简单,即将用户的证书和私钥放在一个 安全的中央服务器上,当用户登录到一个本地系统时,从服务器安全地检 索出公私密钥对,并将其放在本地系统的内存中以备后用,当用户完成 j 二作并从本地系统注销后,浚软件自动删除存放在本地系统中的用户证书 和私钥。 ( 3 ) 无线p k i ( w p k i ) 随着无线通信技术的广泛应用,无线通信领域的安全问题也引起了广 泛的重视。将p k i 技术直接应用于无线通信领域存在两方面的问题:其一 是无线终端的资源有限( 运算能力、存储能力、电源等) :其二是通信模 式不同。为适应这些需求,目前已公布了w p k i 草案,其内容涉及w p k i 的运作方式、w p k i 如何与现行的p k i 服务相结合等。 w p k i 中定义了三种不同的通信安全模式,在证书编码方面,w p k i 汪书格式想尽量减少常规证书所需的存储量。采用的机制有两种:其一是 重新定义一种证书格式,以此减少x 5 0 9 证书尺寸;其二是采用椭圆曲线 密码算法( e lt p t i cc u r v e sc r y p t o g r a p h y ,e c c ) ,减少证书的尺寸,因 为e c c 密钥的长度比其他算法的密钥要短得多。w p k i 也在i e t fp k i x 证书中l ;a * i 0 了+ 个数据区的尺寸。由于w p k i 证书是p k i x 证书的个分 艾,还要考虑与标准p k 之间的互通性。 对w p k i 技术的研究与应用正处于探索之中,它代表了p k i 技术发 基于x k m s 的密宅 j 证书管理系统的设计和实现 展的一个重要趋势。 虽然在各种网络中使用p k i 已经有好多年了,但我们也能清楚地看到 实际上p k i 并不如预计的那样在大范围内应用_ 丌来。为什么会如此,因为 传统p k i 当中存在如下些缺点:p k i 系统复杂,部署和维护困难,日成 本较高:p k i 体系庞大,相关协议复杂,使得不同pki 系统之间的互操 作性较差。 由于扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 的跨平台性 和易操作性,使得网络上数据交换更简单,管理工作更方便,因此它的应 用越来越广泛,己成为一种用于因特网上交换数据的网络浯言。为了简化 p k 的部署和和网络服务更好的集成,2 0 0 1 年由微软、v e r i s i g n 和 w e b m e t h o d s 三家公司共同发布了x m l 密钥管理规范( x m lk e ym a n a g e m e n t s p e c i f i c a t i o n ,x k m s ) ,该规范同时具有x m l 的互操作性和p k i 的安全性 的特点,在原先己布置好的底层p k i 基础上能更加方便灵活地使用p k i , 简化了使用密钥证书服务的网络客户端的编写难度,因此被认为是下一代 的p k i 。 2 1 该规范在2 0 0 1 年1 2 月转交w 3 c 的x k m s 工作组开始研究,2 0 0 4 年4 月5 日x k m s2 0 成为w 3 c 的候选标准。x k m s 的服务端和客户端可以由任 何组织和个人提供。本文选择的x k m s 服务端由v e r i s i g n 公司来提供,目 前只支持1 0 的规范,所以本文客户端功能的编写使用的也是x k m s1 0 的规范。 1 2 课题的意义 k c m s 的基础是s u n 公司j a v a 安全平台下的k e y s t o r e 类库。s u n 和 s u n j c e 这两个安全提供者有自己不公开的密钥库实现算法_ j k s 和 j c e k s ,但这两种算法生成的密钥库对其中保存的敏感信息在保密 性方面做得不够。而k c m s 采用基于密码的加密算法来对敏感信息 进行强加密保护,同时密钥库文件的体积和前面两个提供哲提供的 算法生成的密钥库文件相比不会增加太多。 s u n 和s u n j c g 提供的密钥库算法生成的密钥库只能处理符合x 5 0 9 姚范的证书,造成无法和不同的p k i 实现方案进行互操作。本文在 第( i ) 点的基础上,为密钥库扩充了支持x k m s 规范肋- 议的功能,使 k c m s 能够完成x k m s 客户端的操作任务。这样k c m s 不仅能支持x 5 0 9 汪书,而且能够支持各种基于x m l 签名和x m l 加密的证书。 基于x k m s 的密钥证书管理系统的设计和实现 ( 3 )k c m s 的搭建平台采用的是 a v a2 平台利用j a v a 跨平台和优秀的 安全性的特点,k c m s 不需任何改动就可以在w i n d o w s 、ll n u x 等主 流网络操作系统平台上运行。 l3 课题完成的目标 根据j a v a 的k e y s t o r e 安全提供者的编写规范,创建一个继承自 k e y s t o r e s p i 的子类,并对k e y s t o r e s p i 中定义的各种抽象方法给出具体 的实现过程。 对密钥库系统中保存的用户敏感信息,如注册名、证书各字段内容等, 用基于密码的加密算法p b e w i t h s h a l a n d d e s e d e 进行编码并加密保存。 根据x k m sl _ 0 规范进行x k m s 客户端的编写,对基于x m l 签名和x m l 加密的证书文件能够进行有效的解析,可以通过密钥库系统产生新的密钥 对并通过x k m s 协议规范进行注册,对密钥库中没有保存的证书进行查询 验证并保存和更新密钥库。 1 4 论文的结构概况 第二章介绍了与p k 体系相关的单钥、双钥和散列算法,p k i 的体系 结构和其中最重要的证书认证机构c a ,以及p k i 提供的服务。 第三章首先介绍了x m l 加密标准和x m l 签名标准的具体内容,然后介 绍了x k m s 的设计目标、工作原理和结构组成,对x k m s 的两个组成部分进 行了详细浣明。 第四章详细介绍了本文提出的密钥证书管理系统( k e yc e r t f c a r e m a n a g e m e n ts y s t e m ,k c m s ) 的设计框架、设计目标,然后详细说明如何采 用新的密钥库算法来达到论文提出的目标,以及如何为密钥库添加上支持 x k m s 规范的功能。 第五章对k c m s 的测试情况进行总结,分析了k c m s 的特点和不足,并 提出了改进的方法。 晕十x k m s 的密钥证书管理系统的设计和实现 第2 章公开密钥基础设施 公开密钥基础设施( p u b l i ck e yi n f r a s t r u c t u r e ,p k i ) ,是近几年涌现的一种 新的网络安全技术,它由公开密钥密码技术、数字证书、证书发行机构( c e r t i f i c a t e a u t h o r i t v ,c a ) 和关于公开密钥的安全策略等基本成分共同组成的。下面将介 绍构成p k i 的各个主要部分。 2 1p k i 体系中的主要算法 2 1 1 单钥密码算法 单钥密码算法,义称对称密码算法:是指加密密钥和解密密钥为同一 密钥的密码算法h 1 。因此,信息的发送者和信息的接收者在进行信息的传 输与处理时,必须共同持有该密码( 称为对称密码) 。在对称密钥密码算 法中,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较 简便高效,密钥简短,破译却极其困难;由于系统的保密性主要取决于密 钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个 严峻的问题。最典型的是d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 算法。其它比较 常用算法的还有3 d e s ,b l o w f i s h , d e a ,r c 5 ,a e s r i j i n d a e l 等等。用 一台2 0 万美兀的设备可在5 6 小时之内将5 6 位d e s 破译( 见 h t t d :i l w w w e f f o r g d e s c r a c k e r ) :3 d e s 至今仍然安全( 2 0 年的历史) ;a e s 与3 d e s 的安全强度相当,但更快。 2 1 2 双钥密码算法 双钥密码算法,又称公钥密码算法:是指加密密钥和解密密钥为两个 不i j 密钥的密码算法 4 1 。公钥密码算法不同于单镅密码算法,它使用了一 付密钥:个用于加密信息,另一个则用于解密信息,通信双方无需事先 交换密钥就可进行保密。公钥密码算法的数目比单钥密码算法要少一些, 这些算法一般都基于计算复杂度和困难度非常大的数学问题。由于目前人 炎世界的计算能力有限,因此想要从公钥密码算法产 的密钥对的其中之 一推导出另一个在理论计算上来说是不可能的。公钥密码算法主要用于身 基于x k m s 的膏钥证书管理系统的设计和实现 份认证和数字签名方面。目前使用的最多的是r s a 算法。其它比较常用算 法的还有d i f f i e h e l l m a n 算法,e c c 算法等等。1 0 2 4 位r s a 的安全强度 与1 6 3 位e c c 的强度相当,但e c c 远比r s a 快。而且同一条椭圆曲线可被 众多用户同时使用,而r s a 中每个用户必须使用不同的素数对。 2 1 3 杂凑( 散列) 函数算法 当在网络上传输的文件内容需要完整性保证的时候,就需要使用到杂 凑函数算法。原始文件内容通过杂凑函数的运算得到一个散列值只要原 始内容变化了一个比特,那么杂凑出来的值电会大相径庭。而且由杂凑值 要推导出原始内容是不可能的。杂凑函数算法主要用于数据完整和数字证 书方面。目前使用的比较多的是m d 5 算法,其它比较常用的算法还有 s h a l 等等。 2 1 4 使用p k i 的示例 当我们了解上述几种算法后,我们可以通过下面一个简单的例子来初 步了解p k i 1 】 假设我有个同学要把一份工作上的重要文件传给我,由于里面的内容 不想让别人知道,而我的同学义跟我不在一个城市,这时上面介绍的东西 就派上用场了。我们需要提出一个方案,它需要满足下面的条件: 方案必须是安全的 文件的加密必须足够快 加密后的密文必须紧凑 方案可扩展以用于大规模的用户 方案! 凶须防止密钥窃听 方案不要求双方事先建立某种关系 方案必须能够确保文件来源为真 方案必须能够检测到文件在传输中是否遭到修改 首先由我的同学那罩开始: 他先用软件创建一个随机对称加密密钥,该密钥可以对文件进行 陕速、紧凑和安全的加密操作,产生文件的加密形式。加密保证了文 件的安全,网络上的黑客无法看到这个文件内容。为了使对称密钥到 达我这罩,他需要执行密钥打包操作用我的公钥来加密这个对称 基于x k m s 的密钥证书管理系统的设计和实现 密钥,这样就得到了打包后的密钥。 下步开始创建数字签名。这一过程先要对文件的明文进行散列 并产生出原始摘要。这个摘要需要保证是由我的同学产生而不是别人 产生的,因此需要用他自己的私钥来加密这个摘要。 最后他把用对称密钥加密的文件、打包后的密钥以及加密后的摘 要一起放入一个数字信封然后通过网络发送给我。假设我己经知道了 我同学的公钥,那么他就不需要把他拥有公钥的数字证书发送给我。 当这个数字信封到达我这里后,我首先用我的私钥来对打包后的 密钥进行解密。这样我就得到了用于创建加密文件的对称密钥。何了 这个对称密钥,我就可以用它来解密加了密的文件,得到原始的明文 文件。但这时我不清楚文件在传输过程中有没有被篡改,因此我用同 学的公钥来解密加了密的摘要,得到原始文件的摘要值。我用同学发 过来的散列算法对明文文件进行散列创建摘要,把我创建的摘要和同 学的摘要对比,如果相同那么我可以确认文件来自我的同学而且在传 输过程中没有被篡改。 用于打包对称密钥的公私钥对使我们得到一个具有可扩展性的 方案。该方案能抗窃听,并且不要求预先存在关系。 从上面的例子我们可以看到用基本的一些算法已经可以实现文 件的安全传输了。但考虑到更复杂的情况的时候,我们就会发现这个 方案其实并不可靠。假如有黑客用他自己的公钥代替了我同学的公 钥,然后再况服我相信他就是我同学,那么黑客用他自己的私钥生成 的签名就会被我洪以为真,这样后面一系列的验证步骤都会得到正确 的结果,但那已经不是我的同学在和我交换信息了。 这时候我们已经处于这样一v 种状态,庄这种状态下仅仅有密码技 术是不足以达到任何如生成可以验证数字签名这样的安全服务的目 标的。如果一个人只是拥有公私钥对,耶么我们不能够就凭此来确 定他的身份。而p k i 最主要的任务就是确立i _ 信赖的数字身份,因 此我们需要找到某个我们完全信任的人或机构,让它来证实改身份。 在我们| = = | 常生活当中有很多这样的机构,如发放身份汪的公安机关等 等。我们对这些机构所颁发的身份证明都是完全信任的,那么在p k i 当中是什么机构负起了这蜂责任呢? 2 , 2公开密钥基础设施 基十x k m s 的密钥证书管理系统的设计和实现 个典型的p k i 系统如图2 1 所示,其中包括p k i 策略、软硬件系统、 证书认证机构c a ( c e r t i f i c a t i o na u t h o r i t y ) 、注册机构r a ( r e g i s t r a t i o n a u t h o r i t y ) 、证书发布系统和p k i 应用等。 删端群粼辫删蝌譬棼鳓獬镕$ 俐糍删辫蓦麟戳獬麟榭镕秽 ,端燃# 洲黼鳓獬自l _ 辩” 壤塞i j | ;i 獯;囊瓣、:i 鬻骞黪冁塑鬟囊攀* i 谣撼黪黪鬟 。j “。”。”。“j ”。9 。? 。- n “。”。“、“。”“。? ”。+ 。”。+ 。“。 ,。一,一一。一+ 一一u 一,一,一一一一 :瓣辨辨獬删喇麟徽 。瑚攀鬻鞲麟鳓鬻糍黼# 滞一 ii 缫霹娜臻ij 斓孵劳嘞m _ 。一一一一 图2 - 1p k i 组成框图 一个简单的p k i 系统包括证书认证机构c a 、注册机构r a 和相应的 p k i 存储库。c a 用于签发并管理证书:r a 可作为c a 的一部分,也可以 独立,其功能包括个人身份审核、证书撤消列表c r l f c e n i n c a t i o n r e v o c a t i o nl i s t s ) 管理、密钥产牛和密钥对备份等;p k i 存储库包括轻量目 录访问协议l d a p ( l i 曲t w e i g h td i r e c t o r ya c c e s sp r o t o c 0 1 ) 目录服务器和普 通数据库,用于对用户申请情况、证书、密钥、c r l 和日志等信息进行 存储和管理,并提供定的查询功能。这其中最重要部分的是证书认证机 构c a 2 2 1 证书认证机构 在p k i 当中,认证机构c a 是负责创建或者汪明身份的可信赖权威机 构。这不是运行一个能够生成公私密钥对和发放数字证书的应用程序那 么简单。它们之间的区别就好像是颁发护照的机关和能够复印彩色护照的 影印服务之问的区别样。所以能够创建身份但并不意味着所有人都信任 或者使用这些身份。这些我们需要信赖的颁发数字身份认证的机构和其它 国家权利机构一样,是有法律约束和舰范的。i l l c a 验证申请注册证书的申请者的身份,经过确认后颁发给申请者能 够证明其身份的数字证书,并保留颁发过的汪书。汪书都有一个使用期限, 超过期限c a 会自动使证书作废并把作废的证书放入撤销列表中去。当然 基于x k m s 的密钊证书管理系统的设计和实现 c a 也有权在证书没过期之前撤销证书并通知证书使用者该证书已经被撤 销。 我们在日常生活中寻找可信赖的c a 时,首先想到的可能就是平时我 们经常打交道的可信赖机构,比如银行、税务局等等。那么这些组织是不 是都是c a 运作者的合适人选昵? 回答足“也许”,因为不管在什么情况 下,回答都应该加上一句话来限制,那就是“仅用于某个特定的目的”【l 】, 除了这些传统的可信赖机构外,还有些公共c a 是在事先毫无名声或者 说信誉度的情况下慢慢建立起可信赖的名声的。比如我们在系统可信证书 中经常见到的一些国外c a 认证机构。 在各级政府部门的支持下,国内各机构纷纷成立c a 认证中心。据不 完全统计,目前国内各级c a 证书机构中区域型、行业型、商业型c a 机 构已达6 0 余家,5 8 的省市己经建立了区域c a ,部分部委建立了行业 c a 。目前己经签发的证书达2 5 0 力。张以上。同时,旨在解决我国c a 机 构互连互通问题,建设沟通不同p k i 信任体系的管理机制和技术机制的 一c a 互连互通示范工程”已全面展丌。另一方面,部分p k i 的关键技术, 如交叉认证技术、桥接技术、弹性c a 技术等被列入国家“8 6 3 ”汁划。 图2 2 是一个典型的c a 的框架模型图: i 臻产臻疆l o l j l i 整受 奄 。 l 囊 n j i 怒鬻爨理i 慧簿撬撵襄 藏慧 c a 斌游器 嚣瓣 黪魅鬣瓣鬻搠乳a 蕊静潞 襞燃攫貔鬻戮。巍豁争藏鬻辫l 图2 2 典型c a 框架模型 c a 的主要职责包括: 验证并标识证书申淆者的身份。对汪书申请者的信用度、申请证 书的目的、身份的真实可靠性等问题进行审鱼,确保证书与身份 绑定的j f 确性。当然这部分职责也可以由注册机构r a 来完成。 把c a 与r a 分开有利于安全,而合并在一起可以减轻p k 系统 基于x k m s 的密钥证书管理系统的设计和实现 的复杂性。 确保c a 用于签名证书的非对称密钥的质量和安全性。为了防止 被破译,c a 用于签名的私钥长度必须足够长并且私钥必须由硬 件卡产生,私钥不出卡。但在类似企业内部的小型c a 中,这一 职责不一定要做到。只要安排负责的人员对密钥进行监控看管就 可以,当然密钥不能放在能联网的主机内部。 管理证书信息资料。管理证书序号和c a 标识,确保证书主体标 识的惟一性,防止证书主体名字的重复。在证书使用中确定并检 查证书的有效期,保证不使用过期或已撤销的证书,确保刚上交 易的安全。发布和维护c r l ,因某种原因证书要作废,就必须将 其作为“黑名单”发布在证书撤销列表中,以供需要时在线查询。 对己签发证书的使用全过程进行监视跟踪,作全程日志记录,以 备发生争端时,提供公f 依据,参与仲裁。这一部分职责功能由 支持l d a p 协议的服务器来提供。 町以说整个c a 系统都是围绕着如何管理和颁发证书来进行构建的。 2 2 2 数字证书 数字证书是一个经c a 数字签名的,包含公开密钥拥有者信息和公开 密钥的文件。最简单的证书包含一个公开密钥、名称以及c a 的数字签 名。一般情况下证书中还包括密钥的有效时f 司,发证机关的名称,浚证书 的序列号等信息,旺书的格式遵循i t u t 的x 5 0 9 国际标准。虽然x 5 0 9 为证书及其c r l 格式提供了一个标准,但其本身并不是i n t e r n e t 的标准, 而是国际电联【t u 的标准,它定义了个开放的框架,并允许在一定范 围内扩展。为了适应p k i 技术的发展, e t f 也必须制定在i n t e m e te 使用 x 5 0 9 和c r l 的标准。p k i x 工作组就提供了一个i n t e r n e t 草案”p a r ti : x 5 0 9c e r t i f i c a t ea n dc r lp r o f i l e ”,用于定义在i n t e r n e tp k 中使用x 5 0 9 和c r l 的方法和规范。该草案把x 5 0 9 作为标准,并对各标准项和扩展 做了说明,基本接收了x 5 0 9 作为i n t e r n e t 中的证书标准,但电定义了被 p k i 应用的x 5 0 9v 3 和c r l v 2 标准格式的设置,这些设置包含了p k i x 作组对x 5 0 9 所做的些新的扩展。 。f 面我们从w i n d o w s 操作系统的m i c r o s o t ti n t e r n e te x p l o r e r 中取出一 张证书来看看x 5 0 9v 3 征书是如何定义的。选择i n t e r n e te x p l o r e r 的 “i n t e r n e t 选项”菜币,进入“内容”标签的“证书”段,然后选择“受 信任的根证书颁发机构”,可以看见l i 面列出了很多的证书颁发机构。用 基于x k m s 的密钥证书管理系统的设汁和实现 鼠标双击一张证书可以查看具体内容。图2 3 是“m i c r o s o f tr o o tc e r t i f i c a t e a u t h o r i t y ”这张证书的截图。 在“常规”标签里面显示了本证书的目的,由谁颁发,颁发给谁以及 有效日期。由于本证书是一张根证书,因此颁发者和和被颁发者是相同的。 在“详细信息”标签里面可以看到这张证书的具体内容: 版本:指明该证书中定义的格式和允许出现的内容。x 5 0 9 的最 新版本是第三版,所以本字段标识为“v 3 ”。 序列号:由证书颁发者分配的本证书的唯一标识符。 签名算法:标识用于证书签名的散列函数类型和签名算法类型。 本证书中为“s h a l r s a ”,表示该数字签名是利用r s a 对s h a l 杂 凑加密。 颁发者:颁发该证书的认证机构。 有效起始日期和有效终止日期:这两个字段其实是一个字段 有效期。它定义了证书有效的开始日期和终止只期。 丰题( 主体) :该证书所标识的个人或者实体就是主题( 主体) 。 附加的标识信息可能被包含在该主题( 主体) 的名称或者证书体 中其它的特定字段中。 公钥:主体的公钥( 以及算法标识符) 。 上面的字段属于基本字段,每一张证书都必须包括。另外还有两 个可选字段:颁发者唯一标识符和主体唯一标识符。两个字段在颁发 者和主体的名字存在重名的情况下使用。本证书剩下的字段属于扩展 字段和属性。 基本限制:该字段属于关键扩展。所谓关键扩展就是说当它被设 置为真时,这个扩展必须被处理。如果证书用户不能识别或者不 能处理含有关键扩展的证书1 j ! | j 必须认为该证书无效。而基本限 制字段属于证书路径限制扩展,如果c a 字段为真,邪么p a t h l e n g t hc o n s t r a i n t 字段设置的值为该证书之后的最大c a 证书数, 本证书中此值为n o n e ,意昧着我们不能用它来给其它c a 颁发证 书。 密钥用法:该字段属于密钊扩展。它定义了公钥的用途。 主题( 主体) 密钥标识符:也属于密钥扩展。当主体拥有多于 个密钥集时,本字段可以标识一个公钥属于主体的哪个密钥集。 c a 版本:属于主体和颁发者信息扩展。它表示颁发者的c a 版本 类型。 后面的三项属性不属于x 5 0 9v 3 证书的标准内容,因此略过不谈。 堆于x k m s 的密钥证书管理系统的设计和实现 2 2 3p k i 提供的服务 图2 - 3w i n d o w s 里面保存的证书 到目前为止,完善并正确实施的p k i 系统是全面解决所有网络交易和 通信安全问题的最佳途径。根据美国国家标准技术局的描述,在网络通信 和网络交易中,特别是在电子政务和电子商务的业务中,最需要的安全保 汪包括四个方面:身份标识和认证、保密或隐私、数据完整性和不可否认 性。p k i 可以完全提供以上四个方面的保障,它所提供的服务主要包括以 下三个方面: 4 1 ( 1 ) 认证 在现实生活中,认证采用的方式通常是两个人事前进行协商, 确定一个

温馨提示

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

评论

0/150

提交评论