




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 , f 公钥密码架构中证书存储和证书撤销是信息安全领域中的一个重要 、一一h 一课题。本论文在调研了大量文献的基础上,针对证书管理系统中证书的 存储和撤销进行了详细的研究,分析了基于x 5 0 0 目录的证书存储中存 在的问题,通过对证书存储方法的分析,给出了一个基于关系型数据库 技术之上的证书存储设计方案。这种设计的优点在于具有通用性、可靠 性,且独立于底层的操作系统和硬件,同时详细说明了利用关系型数据 库存储证书的正确性、安全性,给出了如何实现,如何提高查询效率的 、 方法钥本论文将事务处理与证书管理结合起来,给出了证书管理各个步 骤涉及到的事务处理机制,提高了证书管理的可靠性。 本文还分析了采用c r l ( c e n i f i c a t er e v o c a t i o nl i s t ) 发布证书撤销 信息的传统方法的缺陷,提出了两种改进的方法一额外发布c r l 和分段 发布c r l 。这两种方法能够减少对证书存储库的峰值负载从而提高响应 时间,并将额外发布c r l 和分段发布c r l 结合起来,进一步提高证书 撤销的性能。同时本文给出了如何根据不同的应用环境正确选择一个发 布c r l 的方法。 用传统方法发布d e l t a c r l ,不一定能达到最初设计d e l t a - c r l 以提高 性能的目的,尤其是当客户必须是基于最新的证书状态信息进行证书有效 性检验时。本文针对传统方法发布d e l t a - c r l 中存在的缺陷提出了一些改 进,改进中利用滑动窗1 2d e l t a - c r l 克服了用传统方法发布d e l t a - c r l 所遇 到的问题,达到了利用d e l t a c r l 提高性能的目的。 关键词:证书,证书存储,证书撤销,证书撤销列表 摘要 a b s t r a c t t h i s p a p e r h a s p r e s e n c e d a d e s i g n f o ra r e l i a b l e ,s c a l a b l e a n d g e n e r a l - p u r p o s ec e r t i f i c a t e s t o r eb a s e do ne x i s t i n gt e c h n o l o g yw h i c hh a s b e e n p r o v e n i nt h ef i e l da n dw h i c hi s i n d e p e n d e n t o ft h e u n d e r l y i n g o p e r a t i n gs y s t e ma n dh a r d w a r ep l a t f o r m t h ep a p e rh a sp r e s e n t e dan e w a p p r o a c h o f v i e w i n g c e r t i f i c a t e m a n a g e m e n t o p e r a t i o n s i nt e r m so f t r a d i t i o n a it r a n s a c t i o np r o c e s s i n gm e c h a n i s m st h a tc a nb eu s e dw i t hc e r t a i n g u a r a n t e e so fp e r f o r m a n c e a n dr e s i l i e n c ei nt h ep r e s e n c eo ff a i l u r e s t h i s p a p e rp r e s e n t s am o d e if o rt h ed i s t r i b u t i o no fr e v o c a t i o n i n f o r m a t i o nu s i n gc e r t i f i c a t er e v o c a t i o ni i s t sf c r l s ) t h i sm o d e ii su s e dt o h i g h l i g h t i n e f f i c i e n c i e si nt h et r a d i t i o n a lm e t h o do fd i s t r i b u t i n gc e r t i f i c a t e s t a t u si n f o r m a t i o n u s i n g c r l s t w oa l t e r n a t i v ec r l - b a s e dr e v o c a t i o n d i s t r i b u t i o nm e c h a n i s m s o v e r i s s u e dc r l sa n ds e g m e n t e dc r l s ,a r et h e n p r e s e n t e d t h et w oa l t e r n a t i v em e c h a n i s m sc a nr e d u c et h ep e a kr e q u e s t r a t ef o rc r l s c o m b i n a t i o no fo v e r - i s s u e d c r l sa n d s e g m e n t e dc r l s e n h a n c e st h ep e r f o r m a n c eo fc e r t i f i c a t er e v o c a t i o n t h ep a p e ro f f e r ss o m e s u g g e s t i o n s f o r c h o o s i n g t h eb e s tc r l s b a s e dr e v o c a t i o nd i s t r i b u t i o n m e c h a n i s mf o ra n yp a r t i c u l a re n v i r o n m e n t d e l t a c e r t i f i c a t er e v o c a t i o ni i s t s ( d e t l a - c r l s ) w e r ed e s i g n e dt op r o v i d e am o n 9e f f i c i e n tw a yt od i s t r i b u t ec e r t i f i c a t es t a t u si n f o r m a t i o n h o w e v e r n s o m ee n v i r o n m e n t st h eb e n e f i t so fu s i n gd e l t a - c r l sw i l l b em i n j m a ii f d e l t a c r l sa r eu s e da so r i g i n a li n t e n d e d t h i sp a p e rp r o v i d e sa na n a l y s i so f d e l t a c r l st h a td e m o n s t r a t e s t h e p r o b l e m s a s s o c i a t e dw i t h i s s u i n g d e l t a c r l si nt h et r a d i t i o n a im a n n e r an e w , m o f ee f n c i e n tt e c h n i q u ef o r i s s u i n gd e l t a c r l s ,s l i d i n gw i n d o w d e l t a - c r l s ,i sp r e s e n t e d k e y w o r d s :c e r t i f i c a t e ,c r l ,d e t l a - c r l s r e v o c a t i o n 2 第一章概述 1 - 1 问题的提出 1 1 1 背景 第一章概述 随着全球信息化的飞速发展以及中国世贸组织的加入,许多业务要与国 际接轨,如电信,电子商务,金融网络等。计算机的出现与i n t e r n e t 的迅猛发 展更使全球信息化如虎添翼,给我们带来了极大的方便,但同时也带来了安 全方面的问题。并且随着信息通过网络传输的增多,安全问题日渐突出而且 情况越来越复杂,因此保护信息安全显得越来越重要并且越来越受到人们 的重视。 使用密码技术不仅可以保证信息的机密性而且可以保证信息的完整性和 确证性,防止信息被篡改,伪造和假冒。按照收发双方密钥是否相同来分类, 可以将这些密码分为常规密码和公钥密码。在常规密码中,收信方和发信方 使用相同的密钥常规密码算法无法满足互连网环境中安全性的需求,例如 它无法实现数字签名的要求,对大量用户的密钥管理难以实现。在公钥密码 中,收信方和发信方使用的密钥互不相同,而且几乎不可能由加密密钥推导 出脱密密钥。公钥密码技术弥补了常规密码的不足,它能够有效地解决互联 网中应用的真实性,完整性,机密性和不可否认性。 根据近代密码学的观点,密码系统的安全应只取决于密钥的安全,而不 取决于对算法的保密 6 。安全系统会涉及到密钥的的管理和分发问题,如果 在这上面存在着安全漏洞,那么不论密文加密的效果多么好通信的安全性 也毫无保证。在计算机网络环境中,由于用户和节点很多,需要使用大量的 密钥。密钥的数量如此之大,而且又要经常更换,其存贮、发布是极大的问 题。证书是公钥和公钥所有者的信息加上其他一些信息的集合,由一个值得 信赖的机构签发。采用证书是防范用一个密钥替换另一个密钥去攻击公钥密 3 第一章概述 码的重要手段。在公钥体系结构中,证书的管理是一个重要的环节,设计和 实现健全的证书管理方案,是关系到整个公钥密码系统强健性,安全性,可 用性的重要因素。在证书管理系统中,证书的存储和证书的撤销在很大程度 上影响着整个系统的安全性和运行效率。 1 1 2 目前在公钥密码技术中证书的存储与撤销所存在的问题 关于证书的存储,早期曾经出现过一些证书存储方法,例如将证书存储 在w i n d o w s 注册表中以及存放在非加密的文件中等等。因早期的证书存储 方法存在着各种缺陷所以现在已不被使用。随着x 5 0 0 和l d a p 协议的出现, 目前证书又被存储到x 5 0 0 目录结构中。利用l d a p 协议进行访问1 3 。由于 x 5 0 0 目录结构十分复杂并且x 5 0 0 类型的目录不能作为通用的证书存储结 构,除非证书经过特殊的处理去适应这种结构。l d a p 存储证书的能力完全 依赖于证书的内部细节,这就意味着它不能作为通用的证书存储技术。公钥 架构将用于一些关键应用,如金融事务等。这些应用要求具有高可靠性、实 时性和健壮性的特点。现在的证书管理协议无法满足高可靠性、实时性和健 壮性的要求。 在证书撤销过程中,用传统方法发布c r l 带来的问题是每一个客户缓存 的c r l 将在同一时刻失效,结果当一个新的c r l 发布时有一个相对很高的 请求率随后是一个指数级下降的请求率。传统方法发布c r l 的弊端在于当 一个新的c r l 发布时会使证书存储库负载过重。如果c r l 在一个相当长的 时间内有效,那么存储库会在一段时间内根本不被访问,也就不会对证书存 储库产生负载。用传统方法发布d e l t a c r l ,尤其是当客户必须是基于最新的 证书状态信息进行证书有效性检验时,不一定能达到最初设计d e l t a c r l 以提 高性能的目的。问题在于用传统方法发布d e l t a c r l 时d e l t a - c r l 的窗口尺寸 在不断地变化。 第一章概述 1 1 3 关系型数据是满足通用证书存储的理想的工具 关系型数据库经过几十年的发展和改进已经十分成熟,应用范围十分广 泛且可以通过各种渠道获得。大部分关系型数据库提供了审计,日志,恢复 和证书存储所必须的安全特性。功能强大的查询处理和报告产生工具为c a 的同常操作和证书的管理提供了足够的支持信息,关系型数据库中成熟的事 务处理机制可以有效的保证基于公钥架构关键应用的可靠性、实时性、健壮 性。关系型数据库是能够满足通用证书存储的理想的工具。 1 2 论文的目标和内容 1 2 1 目标 本文的目标是针对目前在公钥密码架构中证书存储和证书撤销中存在 的不足,给出一个通用可靠的证书存储设计方案和高效的证书撤销方法,通 过上述方案和方法,可以实现公钥架构中证书存储的通用性、可靠性,减小 对证书存储库产生的负载以提高证书撤销的效率,对于证书认证中心的建设 起到指导作用。 1 2 2 研究工作内容 本论文主要论述证书的存储和证书的撤销,通过分析目前证书管理系统 中证书存储和证书撤销的缺陷,给出可行的解决方案和改进方法。 本文给出了一个基于关系型数据库技术之上的证书存储设计方案,这种 设计的优点在于具有通用性、可靠性,且独立于底层的操作系统和硬件,同 时详细说明了利用关系型数据库存储证书的正确性、安全性,给出了如何实 现,如何提高查询效率的方法。本文还从事务处理的角度探讨了事务处理及 其在证书发布和c r l 中的应用。 第一章概述 本文通过分析传统方法发布c r l 的缺陷,提出了两种改进的方法一额外 发布c r l 和分段发布c r l ,通过额外发布c r l 的方法可以减少对证书存储 库的高峰负载,分段c r l 可以使存储库提供更加快速的请求服务。本文针对 传统方法发布d e l t a c r l 中存在的缺陷提出了一些改进,改进通过使每个 d e l t a c r l 都有相同的较大的窗口尺寸,而不采用传统方法中变化的窗口尺 寸,达到了利用d e l t a c r l 提高性能的目的。 本文的主要内容如下: 第二章加密体系。通过对加密体系的研究,对公钥密码技术中证书、 认证机构( c a ) 、证书撤销列表( c r l ) 等进行了综述,指出了证书在公钥 密码技术中的作用。 第三章通用可靠的证书存储。介绍了x 5 0 0 和x 5 0 9 ,分析了基于 x 5 0 0 目录的证书存储问题,给出了一个基于关系型数据库技术之上的证书存 储设计方案。 第四章证书管理中的事务处理。从事务处理的角度来研究证书管理 问题,探讨事务处理及其在证书发布和c r l 中的应用,为基于公钥架构的关 键应用提供更加安全的保障。 第五章证书撤消。通过分析传统方法发布c r l 的缺陷,提出了两种 改进的方法一额外发布c r l 和分段发布c r l 。同时给出了如何根据不同的应 用环境正确选择一个发布c r l 的方法。最后针对传统方法发布d e l t a c r l 中 存在的缺陷提出了一些改进。 第二章加密体系 第二章加密体系 密码学的研究已有几千年的历史,自从人类有了战争就有了密码,它作 为一种技术源远流长,可以追溯到远古时代。1 9 4 9 年s h a n n o n 发表了题为保 密通信的信息理论的论文,为近代密码学奠定了理论基础。7 0 年代中期密 码学的发展出现了两件引人注目的事件:一件是1 9 7 6 年d i f f i e 和h e l l m a n 发 表的论文密码学的新方向,提出了适用网络上保密通信的公钥密码思想, 掀起了公钥密码研究的序幕。受他们的思想启迪,各种公钥密码体制被提出, 特别是r s a 公钥密码的提出在密码学史上是一个里程碑。可以说“没有公钥 密码的研究就没有近代密码学”;另件是1 9 7 7 年美国国家标准局正式颂 公布了美国的数据加密标准( d e s ) ,公开它的加密算法,并批准用于非机密 单位及商业上的保密通信人们将这两个事件作为现代密码学诞生的标志。 消息被称为明文,用某种方法伪装消息以隐藏它的内容的过程称为加 密,而把密文转变为明文过程称为解密,图1 1 表明了这个过程: 图1 1 加密和解密 使消息保密的技术和科学叫做密码编码学,密码分析学就是破译密文的 科学和技术,即揭穿伪装,密码学作为数学的一个分支,包括密码编码学和 密码分析学两部分。 明文用m 或p 表示,它可能是位序列、文本文件、位图、数字化的语音 序列或数字化的视频图像等等,对于计算机,m 指简单地二进制数据。密文 第二章加密体系 用c 表示,它也是二进制数据,有时和m 一样大,有时稍大,加密函数e 作 用于m 得到密文c 可用数学公式表示:e ( m ) = c 。相反地,解密函数d 作 用于c 产生m :d ( c ) = m ,先加密后再解密,原始的明文将恢复,故下面 的等式必须所立:d ( e ( m ) ) = m 。 除了提供机密性外,密码学通常还有其他作用:鉴别一消息的接收者应 该能够确认消息的来源,入侵者不可能伪装成他人;完整性一消息的接收者 应该能够验证传送过程中消息没有被修改,入侵者不可能用假消息代替合法 消息;抗抵赖一发送者事后不可能虚假的否认他发送的消息。 密码的算法是用于加密和解密的数学函数,( 通常情况下,有两个相关的 函数:一个用作加密,另一个用作解密) 。如果算法的保密性是基于保持算法 的秘密,这种算法称为受限制的算法,受限制的算法具有历史意义,但按现 在标准,它们的保密性远远不够。大的或经常变换的用户组织不能使用它们, 因为如果有一个用户离开这个组织,其他的用户就必须改换另外不同的算法。 如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。现代密码学 用密钥( k e y ) 解决了这个问题,密钥用k 表示。k 可以是很多数值里的任意 值。密钥k 的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥, 这样,加解密函数现在变成:e k ( m ) = c ,d k ( c ) = m ,这些函数据有下 面的特性d k ( e k ( m ) ) = m ,如图1 - 2 所示: 图1 - 2 使用一个密钥的加解密 有些算法使用不同的加密密钥和解密密钥( 见图l 一3 ) ,也就是说加密密钥k 1 与相应的解密密钥k 2 不同: 8 第二章加密体系 图1 3 使用两个密钥的;n 解密 在这情况下:e kl ( m ) = cd r , 2 ( c ) = md k 2 ( e k l ( m ) ) = m 所有这些算法的安全性都基于密钥的安全性,而不是基于算法的细节的安 全性这就意味着算法可以公开,也可以被分析,即使偷听者知道你的算法也 没关系,如果他不知道你使用的具体密钥,他就不可能阅读你的消息。 基于密钥的算法通常有两类:对称算法和公开密钥算法。对称算法有时 又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过不来也 成立。在大多数对称算法中,加,解密密钥相同的这些算法也叫秘密密钥算法 或单密钥算法,它要求发送者和接叫者在安全通信之前商定一个密钥。对称 算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行o a 解 密。公开密钥算法( 也叫非对称算法) 是这样设计的:用作加密的密钥不同 于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来,之所以叫做 公开密钥算法,是因为加密密钥能够公开即陌生者能用加密密钥加密信息 但只有用相应的解密密钥才能解密信息,在这些系统中,加密密钥叫做公开 密钥( 简称公钥) ,解密密钥叫做私人密钥( 简称私钥) 。 公钥体系结构( p k i ) 利用了公开密钥算法进行信息的安全传输,在用公 钥进行加密之前,传递信息的双方首先要交换公钥。在交换公钥的过程中如 果没有保护措旌可能出现安全上的漏洞。下面举一个例子:a l i c e 要和b o b 用 公钥加密方式进行通信,a l i c e 首先要将自己的公钥传送给b o b ,如下图: 。“1 1 。1 。_ 。_ _ _ _ _ _ _ _ _ _ 。_ _ _ _ _ 。 9 第二章加密体系 图l 一4 a l i c e 的公钥在传递的过程中被攻击者m a l l e t 获取,m a l l e t 把a l i c e 的公钥替 换成自己的公钥并发给b o b ,如下图: 图1 5 b o b 在获得公钥后并不知道a l i c e 的公钥己被替换,仍然用被替换的公钥加密 信息然后传输。这样m a l l e t 就可以获得b o b 的信息而b o b 和a l i c e 均无察觉。 在公钥体系结构中,如何保证获得的a l i c e 的公钥确实是a l i c e 本人的公 钥对于防止信息被窃取是十分重要的。认证机构( c a ) 和证书就是用来解决 上述问题的。c a 作为受信任和具有权威性的第三方,承担公钥体系中公钥的 合法性检验的责任。c a 中心为每个使用公开密铜的客户发放数字证书,数字 证书的作用是证明证书中列出的客户合法拥有证书中列出的公开密钥。证书 是种对象,它绑定了公钥所有者和公钥本身的一些信息,绑定过程是通过 c a 对证书中信息进行数字签名来完成的。这样就可以保护证书信息一致性以 便证书可以通过不安全的途径发布或存储在不安全的系统中。 第二章加密体系 c a 对a l i c e 的公钥进行数字签名生成证书以确保a l i c e 公钥的真实性。在 有c a 的情况下,a l i c e 要将自己的公钥发给b o b 的过程如下: 1 a l i c e 产生公钥私钥对,用私钥对自己的标识信息和公钥进行数字签 名然后发给c a 。 2 c a 收到后要验证a l i c e 签名的公钥和标识信息的正确性。 3 如果验证的结果是正确的,c a 就用自己的私钥对a l i c e 的公钥和标识 信息进行数字签名生成a l i c e 的证书然后发布出去。 4 b o b 获得证书并用c a 的公钥检验证书是否是c a 签发的。 通过以上步骤就可必确保b o b 得到的a l i c e 的公钥不被替换和篡改。 c a 签发证书来捆绑用户的身份和公钥。可是在现实环境中,必须存在 种机制来撤销这种认可。原因可能是与证书相对应的私钥已丢失或被窃取; 证书的具体内容已变化,所以必须存在一种方法警告其他用户不要再使用这 个证书,这种警告机制称为证书撤销。用户在使用一个证书以前,必须进行 证书检验,因为有时在某些环境下要求检查当前没有过期的证书是否可信。 除非是证书具有很短的生命周期,只能有效使用一次( 就是说证书发布以后, 马上使用,然后不会再使用) ,否则需要有种撤销的方式来宣布证书不再有 效。在很多环境中使用次性有效的证书是不现实的,因为这会极大的增加 c a 的负担,c a 自己的证书必须不是一次性的。因此证书撤销是证书管理 中重要的组成部分。证书撤销是通过证书撤销列表( c r l ) 来完成,简单的 讲,c r l 是一种包含撤销的证书列表的签名数据结构。c r l 的完整性和可靠 性由它本身的数字签名来保证。 第三章通用可靠的证挡存储 第三章通用可靠的证书存储 3 1x 5 0 0 和x 5 0 9 协议 现在大部分软件中所使用的证书晟初是在c c i t tx 5 0 9 标准中定义的, 而x 5 0 9 标准是为了支持x 5 0 0 目录的认证而建立的,为了研究证书的存储 必须首先了解x 5 0 0 和x 5 0 9 协议。 3 1 1x 5 0 0 标准与目录服务 在八十年代中期,两个不同的团体一c c i t t 和i s o ,各自开始在目录服务 方面的研究工作。最后,两个国际性的目录规范融合成一个规范,这就是 x 5 0 0 。 在深入了解x 5 0 9 之前需要了解与x 5 0 9 密切相关的x 5 0 0 目录的基本 知识。x 5 0 0 目录很像一个电话号码本,给出一个人的姓名就能得到这个人的 相关信息。然而,x 5 0 0 提供的不仅仅是姓名,地址和电话号码信息,它还提 供了很多其它信息,例如:某人的职位、邮件地址等。另外x 5 0 0 目录还可 以包含现实世界中的其它实体,如计算机,打印机,公司、政府、国家等, 还可以包含数字证书。 为了支持在目录中查找的功能,目录中的每一个条目被分配了一个全球 唯一的名字叫做区分名字( d n ) ,为了确保d n 的唯一性,d n 以一种特定的 形式被赋值。x 5 0 0 的目录以树型结构来安排,这个树型结构叫做目录信息树 ( d i t ) 如下图所示: 第三章通用可靠的证书存储 图3 1 目录信息树 目录信息树中除了根结点外的每一个结点都有一个父结点和多个子结点, 除了根结点,每一个结点都有一个亲属区分名( r d n ) ,结点的r d n 在同级 结点中是唯一的。结点的r d n 和其祖先结点的r d n 连在一起,就形成了目 录中条目的d n 。 上图表示了这个过程。在根结点下有世界各个国家的条目,这些条目都有 一个r d n ,这个r d n 用国际标准化组织分配的两个字符的国家代码来表示。 在国家结点的下面是国家组织的结点,例如国家的政府部门、省份、公司, 每一个这样的结点被赋给一个r d n ,这个r d n 用组织的名字来表示。最后, 每一个组织为组织的人员创建一个条目每一个这样的条目也被赋给一个唯 一的r d n 。在上面的例子中,b r u c e 是i b m 公司的员工,i b m 是属于美国的 公司i b m 给b r u c e 分配了以他的名字为标识的r d n 为: c o m m o n n a m e = b r u c e ,i b m 公司由美国分配了个r d n 为: o r g a n i z a t i o n = i b m ,而美国用两个字符的国家代码作为r d n :c o u n t r y = c a , 这样b r u c e 的d n 就是由从根结点开始的所有这些r d n 连接起来形成的,即: 。1 h _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ 。,。1 第三章通用可靠的证书存储 c o u n 咿c a ,o r g a n i z a t i o n = i b m ,c o m m o n n a m e = b r u c e 目录是一种专门的数据库,它服务于各种应用程序,包括l d a p ( 轻量 级目录访问协议) 目录和基于x 5 0 0 的目录。这些目录都是通用的标准的目 录。虽然目录也被称为特殊的数据库,但它不同于真正的数据库。目录的大 部分操作为读操作。假如你的应用程序要写大量的数据,你应该考虑选择使 用数据库来实现。目录支持相对简单的事务处理。相反,数据库被设计成处 理大量的各种各样的事务处理。假如你的应用要求这种重负荷的事务支持, 你该选择数据库而不是目录。 x 5 0 0 定义了一个十分复杂的目录服务,包括目录信息模型、名字空间、 功能模型和安全模型。x 5 0 0 将本地信息保存在一个目录系统代l 里( d s a ) 中, 所有的d s a 按一定的规则组织起来就形成一个全球的分布式目录系统。各 d s a 通过目录服务协议( d s p ) 的协调,向用户提供目录服务。此外,x 5 0 0 中还定义了目录访问协议( d i r e c t o r y a c e s sp r o t o c 0 1 ) ,d a p 是一个o s i 协议, 它包含许多扩展的功能,但大多数应用程序没有用到这些功能。由于x 5 0 0 是在o s i 协议栈上实现的,加上功能十分复杂,因此比那些在t c p i p 实现的 协议需要更多的资源,程序的代码也十分庞大,这样就使得它很难在p c 机等 资源配置较低的计算机上运行。 目录服务的概念已在十多年前就被提出。由于计算机信息处理尤其是网 络技术的发展,越来越多的资源及其处理被集成迸计算机应用系统。系统的 规模不断加大,复杂性几何级地增长,对系统的可管理性,可延展性和可靠 性都提出了严酷的挑战。于是技术专家们提出了目录管理的概念,采用类似 于全球各地电话号码本的模式提供层次化、分布式的目录服务。 3 1 2x 5 0 9 标准与证书格式 x 5 0 9 是为了支持x 5 0 0 目录的认证而建立的。它是一种行业标准或者 行业解决方案,在x 5 0 9 方案中默认的加密体制是公钥密码体制。为进行身 第三章通用可靠的证书存储 份认证,x 5 0 9 标准及公共密钥加密系统提供了数字签名的方案。用户可生成 一段信息及其摘要( 亦称作信息“指纹”) 。用户用专用密钥对摘要加密以形成 签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息”指纹” 进行比较以确定其真实性。 x 5 0 9 在二十世纪八十年代开始设计,当时互联网的发展还刚刚开始, 计算机的连接大部分是内部互联的局域网,所以x 5 0 9 的版本l 和版本2 中 使用的c r l 非常简单,没有设计到大小和时间问题版本3 已做了重大改进, 很好地解决了c r l 中存在地问题。第三个版本主要的变化是证书和c r l 的 格式变得可以扩展,x 5 0 9 的实现者可以用他们认为合适的内容随意地定义证 书。另外还定义了一个标准地扩展部分来提供密钥和策略信息,主体和发布 者的属性,证书通路限制以及增强地c r l 功能。 证书格式是根据x 5 0 9 标准而定义的,包含下列信息: _ 版本号 序列号 签名算法标识符 一认证机构 有效期限 _ 主题信息 _ 认证机构的数字签名 公钥信息 版本号:用来区分x 5 0 9 的不同版本号。 序n g - :由c a 给每一个证书分配的唯一的数字型编号,当证书被取消时, 实际上是将此证书的序列号放入由c a 签发的c r l 中,这也是序列号存 在的原因。 签名算法标识符:用来指定用c a 签发证书时所使用的签名算法。算法 标识符用来指定c a 签发证书时所使用的公开密钥算法和h a s h 算法, 须向国际指明标准组织( 如i s o ) 注册。 15 第三章通用可靠的证书存储 认证机构:即发出该证书的机构唯一的c a 的名字。 有效期限:证书有效的时间包括两个日期:证书开始生效期和证书失效 的日期和时间。证书在所指定的这两个时间之间有效。 主题信息:证书持有人的姓名、服务处所等信息。 认证机构的数字签名:以确保这个证书在发放之后没有被撰改过。 公钥信息:包括被证明有效的公钥值和加上使用这个公钥的方法名称。 3 1 3 基于x 5 0 0 目录的证书存储问题 x 5 0 9 最初是为目录访问控制机制而设计,但由于x 5 0 0 目录附属于 x 5 0 9 ,使这个目标无法实现。目录访问是通过目录访问协议( d a p - - d i r e c t o r y a c c e s sp r o t o c 0 1 ) 来处理,这是一个非常复杂难以实现的协议,由于实现x 5 0 0 目录存在着技术上的困难,所以目前还没有一个证书存储和管理机制的标准。 安全协议的设计者在以前的十几年中对证书的存储和管理问题进行了研 究他们采用的一种方法是将末端实体到顶端可信任c a 的证书的全部交换 信息放到一串证书中,这些信息编码到应用中。这种依赖于硬编码的证书带 来了很多问题,例如:最终用户在进行证书管理时增加和删除证书困难且通 常需要用户的干预;不同的应用具有相互不兼容的证书,不同的应用不能相 互访问证书;证书的管理过程需要采用w e b 浏览器提供的接口。当用到商业 和其他大的组织中时,问题更加严重,因为在这种环境中证书的存储不是单 一的集中式的而是变为随机证书的杂乱集合分布在几百甚至上千台机器上。 硬编码证书除了存储难以实现外,查询证书也具有严重的性能问题,要获取 一个证书必须先取得证书链,然后沿着证书链依次检查每个证书是否是想要 的。如果有过期证书检查过程,还要对每一个证书进行过期检查,要完成各 个步骤会花费很多时间。 本文给出了一种通用的证书存储方法,这种方法对计算机的硬件和操作 系统无严格的限制且具有高度的可伸缩性和可用性及错误恢复功能。 第三章通用可靠的证书存储 3 2 证书管理的需求 要解决证书的存储与管理问题必须确定证书存储要达到的查询功能,操作 环境是什么以及证书存储之外的管理问题。 3 2 1 查询功能 一个证书存储机制必须能够响应以下查询: 谁签署的证书 谁发布的证书 证书是否有效 除了以上标准的查询外,还有一种比较模糊的查询,如:给我x 的证书, 这里x 可能是邮件地址,也可能是一个w e b 服务器或主机的域名。对于商 业应用,证书也可能用数字来标识,例如用客户号或信用卡号等标识,因此 我们采用的方法必须足够灵活以处理各种形式的证书查询。 3 2 2 操作环境 需要达到的功能明确后,让我们来看一下证书存储需要的操作环境。对 于证书存储一般有三类应用: 最终用户。运行在w i n d o w s 9 5 9 8 上或l i n u x 上,具有较小的证书集合 用来进行邮件发送。 商业应用。运行在w i n d o w s n t 2 0 0 0 服务器或u n i x 上,硬件一般是 大型计算机,有一个客户证书的集合,这个集合根据不同的商业应用 可大可小。 c a 应用。运行在u n i x 操作系统之上,具有大量的证书集合。c a 需 第三章通用可靠的证书存储 要保存证书撤销信息,通常要有严格的日志需求以审计证书的发布过 程。 在最终用户的应用中,证书的存储不需要安装驱动程序和系统服务以及进 行复杂的系统配置。在商业应用或c a 中,只需要现有的环境,不需要软件 升级和重新配置,不需要新的硬件及对操作者进行特殊培训。 3 2 3 进一步的需求 商业和c a 应用比最终用户具有更多的需求,它们不像最终用户对计 算机具有完全的控制权,可能有很多人在同时访问证书信息库因此需要特 殊的审计功能和安全需求。c a 可能要以安全的方式记录证书操作的各个细 节,例如事件发生的时问,发生了什么,触发事件的详细信息以及受影响的 对象的信息均被记录日志。i s o1 5 7 8 2 一l 标准指出:日志要记录证书管理的不 同操作,如证书请求、证书发布、证书撤销以及c r l 的产生等,还要记录被 授权的操作者的标识、操作的日期、时间,此标准还规定了数据备份与恢复 的一些内容。 有了审计和日志后,另一个安全特性随之产生,即非授权的用户不能 终止审计或更改日志。这要求审计机制和证书存储更新机制互相独立以使有 权更新证书的人不能影响到审计系统,有权管理审计的人不能影响到证书的 存储。另外对于普通用户,他既不能改变证书存储也不能访问审计系统。 3 3 存储证书可行的方法 曾经出现过一些证书存储方法,因其存在着各种缺陷现在已不被使用。例 如将证书存储在w i n d o w s 注册表中,这种方法效率低,限制在w i n d o w s 操作系统不可扩展,当注册表损坏后证书将丢失。另外的方法象存放在非 加密的文件中,也具有类似的效率和可伸展性的问题。这些方法都不是通用 的证书存储方法。 第三章通用可靠的证书存储 除了上述方法外,还有数据库存储( 从简单的键一值查找到支持关系型数 据库) 和l d a p 存储。 3 3 1 用b e r k e l e yd b 存储证书 b e r k e l e yd b 提供了一种从磁盘上存储和获取键值对的高效方法。尽管它 简单且访问速度快,但这恰恰严重限制了它的可用性,因为它仅支持给某个 键赋值和获取某键的值( 新的版本支持在一定范围内通过b 一树比较键值) 。 b e r k e l e y d b 的日志功能只是最基本的恢复功能,没有安全的审计功能,不支 持复杂的查询功能。尽管b e r k e l e yd b 提供了一种快速有效的管理键,值对的 方法,但要将它改变成能满足证书存储的各种需求,所要做的工作太多,是 不可取的。 3 3 2 利用l d a p l d a p 一轻量目录访问协议,最初在美国密执安大学被开发,它是以x 5 0 0 目录访问协议为基础的版本。l d a p 客户端连接到服务器端,从目录中获取 数据或将信息存到目录中。不像关系型数据库阱行的方式存储数据,l d a p 目录以分等级的方式存储数据信息。绝大多数常用的l d a p 访问如: s l a p d o p e n l d a p ,n e t s e a p e 目录服务器都用b e r l b e l e yd b 作为数据引擎,为了 实现复杂的x 5 0 0 的匹配规则,服务器必须维持大量的索引信息去处理精确 匹配,近似匹配,子串匹配等。 l d a p 是一种不十分成熟的技术,以x 5 0 0 为基础使它使用起来十分复杂, 这种复杂性给使用者和计算机都带来了很多问题。l d a p 查询使用的方法对 大多数用户来说是难以理解的,其查询的过程十分复杂且耗时。除了复杂性 问题外,还存在着应用问题。由于大部分l d a p 技术仍在试验阶段,要投入 大量的人力、物力、时间去安装配置l d a p 服务器,设计方案,在目录中加 入证书,处理数据备份等问题。除此之外,用户还需要安装l d a p 客户端软 第三章通用可靠的证书存储 件。要使l d a p 完全可用还有很多障碍需要解决,例如:l d a p 在防火墙环 境下的使用。从将l d a p 作为证书存储的用户的反馈来看,这种技术在可以 有效使用之前还有很长段路要走。 最后,l d a p 存储证书的能力完全依赖于证书的内部细节,这就意味着它 不能作为通用的证书存储技术。因为它只能存储l d a p 服务器所期望的有d n 和属性的证书,而现实中证书可能包含任何可以相象的到的东西。x 5 0 0 类型 的目录不能作为通用的证书存储结构,除非证书经过特殊的处理去适应这种 结构。 3 3 3 利用关系数据库存储证书 最后一种存储证书的方法是利用关系型数据库。关系型数据库经过几十年 的发展和改进已经十分成熟,应用范围十分广泛且可以通过各种渠道获得。 用关系型数据库来存储证书比使用其他方法有很多优势。最明显的优势是关 系型数据库在业界内的广泛使用。很多单位将关系型数据库作为日常工作必 不可少的一部分。因此将关系型数据库扩展为通用的证书存储工具只需要扩 充一下磁盘空间,增加些库表。如果有的单位以前没有使用关系型数据库, 一些高性能低价位甚至免费的数据库系统如m y s q l 可以在网上下载并安装。 大部分关系型数据库提供了审计,日志,恢复和证书存储所必须的安全特性。 功能强大的查询处理和报告产生工具为c a 的日常操作和证书的管理提供了 足够的支持信息。关系型数据库的驱动已经以w i n d o w so d b c 的方式被内嵌 到w i n d o w s 平台中,因此对大多数用户不需要做安装和配置工作。对于非 w i n d o w s 平台,大量小型免费的数据库可以获得,通过各种o d b c 的移植也 可以有效的使用。 关系型数据库与l d a p 相比另一个重要的优势是:它对所存储的数据格式 要求不严格。也就是说所存储的证书可以包含任何修改的和拆分的d n 和其 他信息,它只是把存储的信息看作密钥的集合和透明的b l o b 对象,而不关 第三章通用可靠的证书存储 心信息包含的内容。 3 4 应用关系型数据库存储证书 关系型数据库是能够满足通用证书存储的理想的工具,这一部分主要讨论 关系型数据库适于通用证书存储的特点。 3 4 1 利用关系型数据库存储证书的正确性 证书和c r l 的更新必须符合正确性的原理。正确性的原理规定:如果事 务开始时数据库处于一致性的状态,那么一旦事务结束数据库仍要处于一致 性的状态。j 下确实现的事务一定具有a c i d 特性。a c i d 代表原子性( 事务或 者完全被执行或者完全不执行,不可部分执行。) ,一致性( 事务的执行要保 持数据库的一致性) ,独立性( 在同一时间,每个事务在执行时好像没有其他 事务存在一样) ,最重要的是持久性( 事务一旦完成,其产生的效果不会丢失) 。 3 , 4 2 利用关系型数据库存储证书的安全性 为了提供一种职责分开的机制,在数据库中需要一定的安全特性以防止用 户损坏数据的一致性。大部分关系型数据库通过g r a n t r e v o k e 语句提供 了这种能力,这样可实现对某些用户限制其执行某些s q l 语句。 所有的用户可以分为三类不同的权限 ( 1 ) 允许读证书和c r l ,也就是允许执行s e l e c t 操作。 ( 2 ) 允许增加证书和c r l ,也就是允许执行i n s e r t 操作和s e l e c t 操 作。 ( 3 ) 允许管理审计,但不允许增加证书和c r l 。 权限最低的用户只被允许读操作。通过如下语句可以实现: r e v o k ea l lo ne e r t i f i e a t e sf r o mp u b l i c ; 21 第三章通用可靠的证书存储 g r a n ts e l e c to nc e r t i f i c a t e st op u b l i c 某些关系型数据库提供了更加细化的控制语句,只允许在特定的列上做读 取操作。这样就可以实现只有证书可以被读取的功能,使安全性得到进一步 加强。 具有增加证书和c r l 权限的用户比只有读取权限的用户具有更高的优先 级。他同时具有i n s e r t 和s e l e c t 两种权限,但不具有u p d a t e 和d e l e t e 的权限,这样,旦一个记录和它相关的密钥被成功的插入到表中后,用户 就不能更改或删除它。 有审计权的用户具有c r e a t e t r i g g e r 和a l t e r t a b l e 的权限,但不 能向证书或c r l 表中增加数据,这样就可以防止审计人员对审计表进行增删 和修改。 这些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民事调解的方法和策略课件
- 自动门项目运营方案
- 2025年春国家开放大学《马克思主义基本原理》期末终考试卷1参考答案试卷1
- 设备工作计划13篇
- 幼儿园 中班科学奇妙的树叶课件
- Unit 10 Lesson 3 Thinkign Skills and Reading Strategies 课件 2024-2025学年仁爱科普版英语七年级下册
- 2025年Android性能优化总结BAT大厂面试总结
- 部编版五年级上册第二单元《搭石》教案
- 建筑施工特种作业-建筑架子工附着式脚手架真题库-6
- 色彩文案题目大全及答案
- 2025至2030中国成人用品行业产业运行态势及投资规划深度研究报告
- 2025年重庆市九年级中考语文试题卷及答案解析
- 公安院校公安学科专业招生政治考察表
- 2024年内蒙古锡林郭勒职业学院招聘真题
- 民航招飞驾驶测试题及答案
- 北京税务筹划课件
- 内燃机技术协议书
- 数字智慧方案数字乡村信息化建设及精细化治理平台建设方案
- 2024年陇南市事业单位专业技术人才引进笔试真题
- 2025届浙江省精诚联盟高三下学期适应性联考生物试题
- 《中央银行数字货币基本知识》课件
评论
0/150
提交评论