毕业设计论文公钥基础设施理论及实现.doc

上传人:sccc 文档编号:4856529 上传时间:2023-05-20 格式:DOC 页数:51 大小:923.02KB
返回 下载 相关 举报
毕业设计论文公钥基础设施理论及实现.doc_第1页
第1页 / 共51页
毕业设计论文公钥基础设施理论及实现.doc_第2页
第2页 / 共51页
毕业设计论文公钥基础设施理论及实现.doc_第3页
第3页 / 共51页
毕业设计论文公钥基础设施理论及实现.doc_第4页
第4页 / 共51页
毕业设计论文公钥基础设施理论及实现.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《毕业设计论文公钥基础设施理论及实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文公钥基础设施理论及实现.doc(51页珍藏版)》请在三一办公上搜索。

1、公钥基础设施理论与实现Theory and Implementation ofPublic Key Infrastructure目录摘要1ABSTRACT2第一章 绪论31.1 引言31.2 PKI概述31.3 背景与技术现状51.4 本文的结构和作者的工作6第二章 PKI密码理论基础72.1 秘密密钥密码72.2 公开密钥密码72.3 单向散列函数82.4 数字签名92.5 信息封装格式9第三章 证书与认证体系103.1引言103.2 X.509v3证书113.3 证书的撤消133.4 认证路径153.5 PKI实施体系结构17第四章 PKI框架、管理和操作204.1 PKI框架模型204.

2、2 PKI管理模块的功能214.3 PKI管理操作224.4 轻型目录访问协议LDAP254.5 在线证书状态协议OCSP30第五章 PKI系统模型的实现335.1 引言335.2 PKI实现的功能模块335.3 PKI实现模型的演示37第六章 PKI应用举例406.1 引言406.2 TLS&SSL协议406.3 为WWW访问建立SSL连接43第七章 结束语46致谢47附录1 术语及缩写词48附录2 参考文献4948- -公钥基础设施理论与实现摘要公钥密码体制已迅速成为电子商务和开放网络中其他同样需要安全和认证的应用的基础。公钥体制广泛使用迫切需要一个公钥基础设施来发布和管理公钥及相关的信息

3、。本文对公钥基础设施的理论、实现和应用进行研究。其可以分为两部分:1)公钥基础设施的理论在首先概述了X.509证书及证书废止表后,讨论了认证路径和PKI认证的体系结构,然后提出了PKI的框架结构,在此基础上,讨论了各实体交换PKI管理信息的管理协议,以及获得证书和证书状态的操作协议。2)公钥基础设施的实现和应用按功能模块讨论实现模型的框架,并建立CA的演示模型并实现以SSL协议为基础的安全Web访问。关键词:公钥基础设施;认证机关;X.509证书;轻型目录访问协议;安全套接字ABSTRACTPublic-Key cryptography is fast becoming the foundat

4、ion for online commerce and other applications that require security and authentication in an open network. The widespread use of public-key cryptography require a public-key infrastructure to publish and manage public-key values.In this thesis, we research some area about public-key infrastructure,

5、 include theory, implementation and application. It can be divided into two parts as the following :1. Theory about PKIFirst, the X.509 certificate and CRL standards are provided, and then the certification path and the PKI structure are analyzed. After a view of the PKI architectural model is built

6、, the management protocols and the operational protocols, in which different entities in the system exchange information needed for proper management of the PKI and obtain information such as certificates or certificate status, is studied.2. Implementation and application of PKIThe function modules

7、of the demo PKI is discussed, and the demo CA is founded. Finaly, according to the demo CA and the SSL protocol, a secure Web connection is established.Key Words :PKI , CA , X.509 Certificate , LDAP , SSL第一章 绪论1.1 引言革命性增长的Internet改变着世界,人们正试图把它当作代替信件、电话、报纸的一个包罗万象的通信载体。而正如一切事物宿命的辨证,Internet的开放设计,也给自身带

8、来了安全问题。对于涉及金钱或法律的敏感数据,Internet上的信息太容易被截获、窃取或伪造了。Internet用户所面临的安全问题可主要归纳为两个:秘密和鉴别。秘密代表信息传输过程中不被窃听或篡改;鉴别代表通信双方确认对方的身份,保证信息不被伪造和不可抵赖。密码学中传统的秘密密钥密码体制为信息提供了加密,并以共享的秘密密钥作为对方的身份鉴别。但该体制中秘密密钥是“生而知之”或通过“带外”途径传递,对于Internet这样的大场面,这显然是不现实的。全新的公开密钥密码体制的出现极好地满足了Internet的需要。公钥系统的用户都有一对相关的密钥,其中一个密钥加密的信息只能被相应的另一个密钥解密

9、。用户保存其中一个作为私钥,而把另一个公开发布为公钥。这样,人们可以用别人的公钥加密信息,而只有私钥持有者才能读懂该信息;还可以用自己的私钥签名信息,其他人利用公钥就可鉴别信息发送者的身份。前面提到的用公钥鉴别信息发送者的身份是通过证书实现的。根据X.509标准,证书是把私钥持有者身份描述和公钥绑定在一起的数字文件。一个值得信赖的公证机关用自己的私钥签名证书,并为私钥持有者身份担保。在Internet上使用公开密钥密码体制的应用越来越广泛,使得迫切需要建立一个可靠、有效的公开密钥(证书)发布途径,这就是公钥基础设施(PKI)。1.2 PKI概述我们可以给公钥基础设施(PKI)如下的定义:在公钥

10、密码理论基础上,产生、管理、存储、发布及撤消证书所涉及的一系列的硬件、软件、人、策略和操作。一个简单的PKI构架如图1-1。端用户向认证机关(CA)申请证书,CA确认签名后,将证书发布到数据仓库;欲使用证书的端用户到数据仓库中读取证书。PKI由三个核心部件构成:l 认证机关(CA):一个发布证书的实体,可以是内部的服务器,也可以是提供认证功能的外部服务器。l 数据仓库:保存证书,密钥和证书撤消表(CRL)。通常它是基于支持轻型目录访问协议(LDAP)的目录服务。l 管理模块:CA、数据仓库和端用户间互操作的管理,通常由一个管理终端实现。除了以上核心部件,PKI可能还有一种独立的注册机关(RA)

11、。CA在签发证书前,往往需要验证申请人的身份和证书申请中用户信息的正确性。RA把这部分可能需要人工干预的功能从CA中分离了出来。PKI主要功能就是管理证书,具体包括:发布证书,撤消证书,产生和发布CRL,存储和恢复证书及CRL,密钥有效期的管理等。还有一些增强的功能包括时戳和认证路径的确认等。详见下表。功能描述实现用户注册收集用户信息并验证其身份CA或独立的RA发行证书对用户或管理者的申请发出响应,生成证书CA撤消证书产生和发布证书撤消表与CA关联的管理软件存储和恢复证书及CRL使授权用户方便地访问证书和CRL数据仓库通常是一个可由LDAP访问的、安全、拥有备份的目录服务基于策略的认证路径确认

12、认证链中引入并确认是否满足策略限制CA时戳在证书中放置时戳CA或专门的时戳服务器密钥有效期管理密钥的存储、更新和归档手工或专门的软件CA、RA这些PKI部件可以有多种软硬件实现。常见的是以C/S构架中的服务器出现。1.3 背景与技术现状PKI被广泛关注是在Internet电子商务开始兴起以后。鉴于Internet逐渐成为商务和通信的主要载体,商家开始对他们使用的Internet应用提出更高的安全性要求。PKI的产品和服务因适应了这些安全要求而得到广泛关注,公开密钥体制和X.509证书成为了各种应用的认证和授权实现工具。比如,传输层安全协议(TLS)通过证书和公钥加密来进行身份鉴别和协商建立安全

13、通信信道。这种广泛应用在Web浏览上的技术仅仅是个开始,相似的应用还有很多:Email上的S/MIME,群件系统,文件和代码的数字签名,VPN,SET等等。现实中使用两种方法使用PKI,一是利用PKI产品建立自己的PKI系统,代表性的产品有Entrust Technologies公司的Entrust/PKI;二是直接使用第三方CA服务,比如使用Verisign为用户提供的证书服务。另外,目前许多操作系统的开发商正在网络操作系统中集成PKI。NetWare5中Public Key Infrastructure Services(PKIS)为它的NDS网络提供数字证书和公钥加密技术;Microso

14、ft宣布将在Windows 2000中集成Certificate Server和Active Directory;Sun也宣布将在Solaris中集成PKI。尽管国外许多公司已开发出PKI产品,并得到应用,但PKI市场尚未发育成熟。事实上,过去的一年和未来的一、两年是PKI的高速成长期,大量的PKI支持协议标准将出台,建立在这些统一标准上,具有互操作性的产品也会很快出现。不光国外,国内许多有远见的公司也正开始开发PKI产品。技术方面,PKI的相关协议和标准有许多,它们分别由不同的玩家制定。其中包括:ISO/ITU制定的X.509定义了标准的数字证书格式,这是PKI最基础和最广泛的标准。RSA的

15、公钥体制标准(PKCS)定义了许多PKI的基本构件,覆盖从证书申请、更新到CRL发布。较为重要的有PKCS#7,PKCS#10,PKCS#12等。IETF的PKI工作组(PKIX)定义了丰富的可互操作的PKI相关协议或建议。它基于X.509,在PEM的等级结构上增加了灵活性。作为RFC或Internet草案提交的这些文档海纳百川地包括了PKI模型、证书和CRL结构,PKI管理和操作协议等等内容。PKIX的工作有一部分是建立在已有的标准之上,针对PKI相关部分,PKIX对这些标准进行了提炼。PKIX的草案正在Internet上如火如荼地讨论着,并不断有RFC文档出台。IETF还有其他的工作组,如

16、LDAP,S/MIME,TLS,IPSEC等,对PKI提供着支持。它们有的定义了PKI的操作协议LDAP,有的定义TLS等PKI的应用协议,它们与PKIX一起设计着PKI的未来。除了Internet上的标准,各国政府也在开发自己的PKI。美国国家标准与技术局(NIST)的Federal PKI是美国联邦政府可能采用的PKI构架,其中提出的新颖的Birdge CA的概念将在后文论述。1.4 本文的结构和作者的工作本文是作者在硕士学习期间,对公钥基础设施 和网络安全(主要指Internet安全)等方面研究开发工作的总结。整个文章可分为两大部分:第一部分是PKI的理论和协议,主要论述PKI的理论基础

17、,各种PKI相关的协议,并得出PKI建设的框架。这一部分包括2-4章:l 第二章PKI密码理论基础简单介绍了秘密密钥、公开密钥密码体制,散列函数及签名等与PKI相关的密码理论。l 第三章证书与认证体系,首先介绍了X.509证书和证书废止表,然后比较了几种认证体系结构。l 第四章PKI框架、管理与操作,详细介绍了PKI框架模型,证书、密钥管理实体的功能与操作,以及LDAP、OCSP等PKI的操作协议。第二部分是PKI的实现和应用,包括5-6章:l 第五章PKI系统的实现介绍了作者建立的一套PKI实现的框架模型。l 第六章PKI应用举例,首先介绍了PKI广泛的应用前景,然后以TLS协议为例,着重介

18、绍CA在WWW安全浏览方面的应用。作者在论文期间的工作,主要也集中在两方面:首先跟踪并比较了PKI各种协议和体系结构;然后在此基础上实现了一套PKI的模型,为将来真正的PKI产品建立了框架。鉴于PKI是个非常新和复杂的技术,许多标准还在讨论中,本文难免有错漏之处,还望读者批评指正。第二章 PKI密码理论基础2.1 秘密密钥密码秘密密钥密码体制是一种经典的密码体制。在这种体制下,Alice和Bob共享一个密钥,这个密钥既用作加密又用作解密。秘密密钥密码体制由于速度很快,通常被用作加密信息主体。属于秘密密钥密码体制的算法很多,比较有名的有DES,IDEA,RC2等等。信息加密标准DES是70年代初

19、由IBM公司发明的,是密钥长56bits的分组加密算法。1976年被美国国家标准与技术局(NIST)确定为国家加密标准算法。这之后,世界范围的密码专家对它进行了几十年的分析,如今DES仍然被认为是安全的,是许多应用的首选算法。DES有一个重要的变形三重DES(Triple-DES)。三重DES对信息逐次做三次加密,其中常用的EDE方式见图2-1。EDE-DES的密钥长112bits,即两个56bits的密钥。这样的长度足以防止强行破译,并它还防止微分和线形密码分析。EDE-DES速度比DES约慢1/2。2.2 公开密钥密码公开密钥密码这一革命性的概念是由Diffie和Hellman在1976年

20、最先提出的。这种体制引入了这样一个概念:密钥成对出现,一个加密,一个解密,且不可能从其中一个推算出另一个。公开密钥密码体制中从加密规则Ek推导解密规则Dk在计算上是不可能的,所以Dk持有者将Ek公开,任何人都能发送利用公开加密规则Ek加密的密文,而只有Dk持有者才能用Dk解密密文。一般说来,公开密钥加密比秘密密钥加密要慢得多。比如我们后面讨论的RSA比DES慢大约1000倍。这样,在现实应用中往往用DES等秘密密钥加密信息,而用RSA等公开密钥加密秘密密钥本身。由于秘密密钥很短,利用公钥传输密钥比公钥加密信息效率要高许多。公开密钥体制有许多:RSA、McEliece、椭圆曲线密码体制等等。其中

21、被Internet推荐使用的是RSA。RSA公钥算法的RSA来自三个发明者的名字。它既能用于加密也能用于数字签名,是目前流行且比较完善的公钥算法。其实,RSA是Internet事实上的标准。RSA算法可描述如下:设n=pq,p和q是两个素数(p和q保密)公开密钥e:与(p-1)(q-1)互素的随机数秘密密钥d:e-1(mod(p-1)(q-1)加密:c=m-1(mod(n)解密:m=cd(mod(n)对这种密码体制最明显的攻击方法是分解大数n,一旦分解出p和q,该体制就被破解。因此,在速度容许的情况下,应采用尽量长的密钥。一般应用中采用512 bits的密钥,而1024 bits被认为未来十年

22、中都是安全的。2.3 单向散列函数单向散列函数H(M)作用与一任意长的消息M,返回一固定长度为m的散列值hh=H(M)单向散列函数应具有以下特点:l 给定M,计算h很容易l 给定h,计算M很难l 给定M,要找到另一条消息M满足H(M)=H(M)很难单向散列函数可看作一个手印,正如根据一个手印可以单一鉴定出一个人,人们希望通过单向散列函数单一鉴定出一个任意长度的信息。因为这些特性,单向散列函数在数字签名中得到应用。对单向散列函数有两种攻击方法。第一种:给出消息的散列H(M),攻击者找到另一个消息M满足H(M)=H(M);第二种:找到两个随机的消息M和M满足H(M)=H(M)。在人群中找一对生日相

23、同的人比起在其中找与你相同生日的人要容易得多,同样,第二种攻击(又称生日攻击)比第一种攻击要容易得多。第一种攻击可能需要散列2m个随机的消息,而生日攻击可能只需要散列2m/2个随机消息。为了对付生日攻击,绝大多数实用的单向散列函数产生128bits的散列值,尽管强行破译128 bits以上散列值的代价(时间和金钱)比较高昂了,但没有人能证明单向散列函数能防止强行破译外的所有破译法;相反,许多单向散列函数在专家的分析下,被找到了弱点,而被认为是不安全的。各种PKI应用中提供可选的单向散列函数有许多种:MD4,MD5,SHA,IDEA等等。Internet上现在推崇的是安全散列算法(SHA)。美国

24、国家标准与技术局(NIST)和美国国家安全局(NSA)一起设计了用于安全散列标准(SHS)的算法SHA。目前它还没有已知的密码攻击,并且由于产生160bits的散列,所以被认为比MD5等算法更加坚强。2.4 数字签名公开密钥算法与单向散列函数的结合,提供了数字签名。假设Alice公开了她的公钥,如果她用私钥加密一段信息,任何人都可以用公钥解密密文。当解密成功,人们会相信这段信息是由Alice加密的,因为只有Alice拥有私钥。这时,我们可以说Alice签名了这段信息。并不是所有公钥体制都可以用于数字签名。能够数字签名的体制(如RSA)需要公钥、私钥都既可加密又可解密。另外,签名的信息可能很长,

25、应用中应先用单向散列函数求出信息的散列,然后再签名散列。数字签名应满足以下特征:l 签名不会被忘记;Alice知道她的私钥l 签名是可信的;Bob用公钥对签名核实后,便知道是Alice签的名l 签名不可再用;由于单向散列函数特性,一个文件的签名不能转移到另一文件。l 签过名的文件无法更改;原因同上l 签名无法否认;由于公钥公开,Bob无需Alice帮助就能核实签名数字签名算法也有多种,应用较广泛的有RSA和DSA。DSA是美国国家数字签名标准。它的安全性所依赖的数学原理与RSA不同,但两者安全性近似,速度方面RSA验证签名快些。由于RSA还能加密,一般Internet上推荐使用RSA。2.5

26、信息封装格式使用公钥算法处理的信息可有如图2-2三种封装格式:l 加密信息,用对称密钥加密信息并用公开密钥加密该对称密钥。l 签名信息,取信息的散列值,并用公开密钥加密该散列值l 签名并加密信息,信息发送者用自己的私钥签名信息,然后将信息与签名一起,以第一种公钥加密信息方法加密传输。第三章 证书与认证体系3.1引言人们使用某人的公开密钥加密信息或验证数字签名时,需要确认这个拥有者的身份。这种对私钥拥有者身份的信心就来自于证书:一种把私钥拥有者身份描述和公钥捆绑在一起的数据结构。这种捆绑来自由值得信赖的公证机关(CA)提供的数字签名。CA在对私钥拥有者身份确认后,对证书进行了签名,并确定了此签名

27、的失效期。由于证书的签名和时限可由证书使用者在客户端独立验证,即使证书发布渠道不可靠,或存储在非安全的系统中,都不会影响使用者的安全性。在基于证书的应用中,涉及的CA可能不止一个。用户也可能隶属于不同安全域的CA。比如,Alice和Bob证书分别由CA2和CA1颁发,当Alice收到Bob签名的文件,她对该数字签名的验证过程应该包括如图4-1几个步骤:1) 采用签名者Bob的证书(公钥)验证文件的签名;2) 采用证书签发者CA1的证书(公钥)验证Bob证书的签名;3) 因为两人证书签发者不同,Alice不知Bob证书签发者CA1的证书是否可信。于是必须采用上级CA证书来验证CA1的证书,直到采

28、用可信CA公钥验证证书的真实性为止。其中可信CA就是验证者的信任点。假如Alice和Bob的证书签发者都由上级 CA3签发,CA3就是可信CA。在公钥基础设施PKI中,每个用户都有一个信任点。从证书持有者或证书用户到信任点的一系列CA构成的证书链就形成了认证路径。本章首先讨论X.509证书和CRL的构成,然后比较三种认证路径结构,在此基础上分析各种PKI的CA结构体系,如PEM、Federal PKI。3.2 X.509v3证书X.509是为支持X.500目录服务而设计的身份鉴别构架。X.509和X.500都是ISO和ITU发布的X系列标准的一部分。由于很适应PKI的构建而得到广泛的应用。Vi

29、sa和MasterCard基于X.509提出了安全电子交易协议(SET);Netscape应用于WWW的安全套接字协议(SSL)使用着X.509;还有许多如PGP的Internet应用都基于X.509。鉴于此,X.509是我们构建PKI认证的基础。ITU-T X.509(过去的CCITT X.509)和ISO/IEC/ITU 9594-8在1988年发布了X.509v1,其中定义了X.509证书的标准格式。1993年经过修订的X.509v2增加了两个支持目录访问控制的字段。在增强保密邮件(PEM)系列RFC发表后,PEM的实现者发现了X.509v1v2的一些缺陷,并且PEM有许多额外的信息需要

30、证书搭载。为满足新的需求,ISO/IEC/ITU在1996年发布了X.509v3。新版本在v2的基础上为未来的需求增加了扩展字段。标准中描述了一些特别的扩展字段,而任何组织团体都可申请注册其他各种各样的扩展字段。X.509v3的结构见图3-2。3.2.1 证书的基本构成X.509v3证书主体结构用ASN.1语法描述如下。 Certificate := SEQUENCE tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signatureValue BIT STRING X.509v3证书由顺序排列的三部

31、分构成:l tbsCertificate 此域包含证书持有者和签名者的姓名,公钥,证书有效日期和X.509v3的扩展字段等其他一些相关信息。TBSCertificate域的ASN.1语法描述如下。 TBSCertificate := SEQUENCE version 0 EXPLICIT Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo

32、 SubjectPublicKeyInfo, issuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL, - If present, version shall be v2 or v3 subjectUniqueID 2 IMPLICIT UniqueIdentifier OPTIONAL, - If present, version shall be v2 or v3 extensions 3 EXPLICIT Extensions OPTIONAL - If present, version shall be v3 Version := INT

33、EGER v1(0), v2(1), v3(2) CertificateSerialNumber := INTEGER Validity := SEQUENCE notBefore Time, notAfter Time Time := CHOICE utcTime UTCTime, generalTime GeneralizedTime UniqueIdentifier := BIT STRING SubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING Extens

34、ions := SEQUENCE SIZE (1.MAX) OF Extension Extension := SEQUENCE extnID OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING l signatureAlgorithm此域包含着CA签名证书所用算法的标识符,它可由ASN.1语法描述如下: AlgorithmIdentifier := SEQUENCE algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm O

35、PTIONAL 其中IDENTIFIER描述着签名的算法(如SHA-1为散列的DHA),作为选项的parameters决定于所采用的算法。目前Internet上常采用的算法为RSA和DHA。l signatureValue此域是对以ASN.1唯一编码规则(DER)编码的tbsCertificate域进行数字签名计算的结果。CA经过对tbsCertificate域各字段内容验证后,经DER编码作为签名算法的输入,所算结果以ASN.1的BIT STRING编码输出3.2.2 唯一标识DNX.509结构中,标识证书发布人的issuer字段和标识证书持有者的subject字段都来自唯一非空的标识名(D

36、N)。X.509最初是为X.500目录服务所设计,为唯一标识目录中的每个实体,X.500采用了一种特殊的等级结构目录信息树(DIT)。如图3-3,除了根节点以外的每个节点都有一个父节点和多个子节点。这些节点每个都有一个相关唯一标识(RDN),RDN在平级的节点中是唯一的。每个节点祖先的RDN和自己的RDN连接起来成为条目的DN。图3-3例中,根节点下每个国家都有自己的条目,国家条目下有该国的各种组织,各组织又为所有成员产生了个人的条目。这样,每个条目在目录树中都有唯一的定位,而有唯一的DN。3.3 证书的撤消当证书发布时,设定了有效期,希望在整个有效期内使用。但环境的变化(如证书持有者改名、私

37、钥泄密等)会使证书可能在失效期之前就变为无效。这种情况下,CA需要撤消证书。撤消证书的方法一般有两种:离线方法和在线方法。本文将在第四章介绍在线的OCSP协议。这里我们先讨论X.509定义的一种离线撤消证书的方法CRL。 CRL是由CA签名并定期发布的证书废止表。CRL可以自由存放在公共数据仓库中,每个被CA撤消的证书在CRL中以证书序列号唯一标识。当用户使用证书时,不仅要检查证书的签名和有效期,还要在CRL中查询该证书是否被撤消。使用CRL撤消证书一大优点是CRL与证书采用同样的渠道发布和存储,也就是说可以容忍发布和存储渠道不可靠。这样带来的问题是,当上次发布的CRL不可靠时,客户可能会等待

38、到下一次CRL发布时间才能鉴别某一证书的可靠性。这间隔时间取决于CA颁发CRL的周期:也许1小时,也许1星期。为适应Internet应用的需要,X.509 v2 CRL出现了。结构见图3-4。CA收到撤消证书申请后,将定期签名发布CRL。而用户可利用下载新的CRL来查询证书的状态。3.3.1 X.509 v2 CRL基本结构X.509 v2 CRL的ASN.1语法描述如下。 CertificateList := SEQUENCE tbsCertList TBSCertList, signatureAlgorithm AlgorithmIdentifier, signatureValue BIT

39、 STRING TBSCertList := SEQUENCE version Version OPTIONAL, - if present, shall be v2 signature AlgorithmIdentifier, issuer Name, thisUpdate Time, nextUpdate Time OPTIONAL, revokedCertificates SEQUENCE OF SEQUENCE userCertificate CertificateSerialNumber, revocationDate Time, crlEntryExtensions Extensi

40、ons OPTIONAL - if present, shall be v2 OPTIONAL, crlExtensions 0 EXPLICIT Extensions OPTIONAL - if present, shall be v2 以上CRL格式中,signatureAlgorithm和signatureValue域与前文X.509v3证书相同。tbsCertList域包含CRL发布者名,发布时间,下次发布时间,一个撤消证书的列表和作为选项的CRL扩展。其中,撤消证书列表每一项包含证书序列号,撤消时间和CRL条目扩展选项。3.3.2 CRL优化当CA发布的证书规模很大或证书被频繁地撤消

41、时,用户为验证一个证书的有效性,可能需要下载很大的CRL文件。为解决数据流量和验证时间的问题,X.509v3证书中增加了一些CRL扩展。一个解决方案是在X.509v3证书中增加CRL distribution points扩展。这个扩展描述了哪里可找到证书的CRL,这样,CA可将CRL分为较小的片段,也就减少了证书验证答复CRL的大小。比如,CA可分别发布每个公司或组织的CRL,用户验证证书时,针对证书持有者归属的组织选择相应的CRL,而不用下载整个CRL。另一个减小CRL大小的方法是Delta-CRLs扩展。CA不是每次都发布完整的CRL,而是记录上次完整发布后所发生的改变。用户维护着自己的

42、CRL数据库,并利用Delta-CRL不断更新它。这样避免了下载整个CRL,节省了通信带宽和计算时间。应该看到,这些扩展并没有完全解决CRL撤消证书的延迟性问题。就算一个分片的并不断更新Delta CRL的发布,也会有一个可能带来危险的时间窗延迟。只有避免CRL,采用后文所述的在线方法,才能彻底解决该问题。3.4 认证路径CA互相签名的方法可以是系统有序的,也可以是灵活、非指令式的。等级结构是一种系统有序的认证路径,网状结构是一种灵活非指令式的交叉认证路径。另外,如今的Web浏览器实现了一种认证路径较短的简单方式。这三种方式见图4-2。3.4.1 等级式结构等级式结构组织在一个自签名的根证书下

43、。根证书为唯一的公共信任点。根CA签发下级CA证书,再由这些CA签发子CA或用户的证书。在等级式PKI中,根证书的公钥是所有用户都知道的,用户可利用它验证结构中任何用户的证书。比如图3-5 (A)中,Alice验证Bob证书,Bob证书由CA4认证,CA4由CA2认证,而CA2即由众所皆知的根证书的公钥签名认证。这种结构类型的特点如下: 优点:l 类似政府型的组织管理结构,而信任关系也符合组织结构,因此,等级型结构成为一种常规体系结构。l 分级方法可基于层次目录名l 认证路径搜索策略为“前向直通”l 每个用户都有返回到根的认证路径。根为所有用户熟知并信任,因此,任一用户可向对方提供认证路径,而

44、验证方也能核实该路径。 缺点l 全球范围内不可能只有单个根CAl 商业和贸易等信任关系不必要都采用等级型结构l 根CA私钥的泄露后果非常严重,恢复也十分困难。3.4.2 网络式结构网络式结构中,CA之间通过相互认证形成交叉证书来建立相互信任关系。与等级式结构的上下级关系不同,网络式结构信任关系是端到端的。如图3-5 (B)中,Alice知道自己的发证机关CA2的公钥,由可信的CA2交叉认证CA1,又以CA1交叉认证CA3,最后以CA3验证Bob证书。这种配置类型的特点如下: 优点:l 很灵活,便于建立特殊信任关系,也符合商贸中的双边信任关系l 任何PKI中,用户至少要信任其证书颁发CA,所以,建立这种信任网也很合理l 允许用户频繁

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号