(计算机系统结构专业论文)基于根ca的数字证书验证服务的设计与实现.pdf_第1页
(计算机系统结构专业论文)基于根ca的数字证书验证服务的设计与实现.pdf_第2页
(计算机系统结构专业论文)基于根ca的数字证书验证服务的设计与实现.pdf_第3页
(计算机系统结构专业论文)基于根ca的数字证书验证服务的设计与实现.pdf_第4页
(计算机系统结构专业论文)基于根ca的数字证书验证服务的设计与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着网络的快速发展,信息安全问题越来越受关注。公钥基础设施( p k i ) 是 解决信息安全问题的关键技术之一,数字证书是实施公钥基础设施p k i 的重要手 段。证书验证是数字证书使用过程中的重要环节。本文介绍了c a 系统及其信任模 型,并且根据我国p k i 体系的现状分析了建立基于根c a 的互联模型的可行性。针 对根c a 互联模型的特点,提出了证书路径分割与合并、证书路径缓存、证书路径 有效期及委托路径发现等概念。提出了基于委托路径发现的证书验证服务器模型, 并对证书路径构造算法、证书路径验证算法和安全通信协议进行了详细设计。该模 型有助于提高跨信任域的证书路径构造和证书验证的效率,在一定程度上解决了互 联模型下证书路径构造难度大、效率低和失败概率高的问题。在系统的实施过程中 充分考虑了系统的安全性、灵活性和可扩展性,系统的测试也取得了可靠、稳定的 结果。 关键字:p k l 根c a 信任模型证书验证证书路径 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r k ,i n f o r m a t i o ns e c u r i t yp r o b l e m sh a v e b e c o m em o r ea n dm o r ea t t e n t i o n p u b l i ck e yi n f x a s t r u c t u r e ( p k i ) i so n eo ft h ek e y t e c l m o l o 西e st oa d d r e s st h ei s s u eo f i n f o r m a t i o ns e c u r i t y t h ea p p l i c a t i o no f c e r t i f i c a t ei s o n eo fi m p o r t a n tw a y si nt h ep r a c t i c eo fp k i ,a n dt h ev a l i d a t i o no fc e r t i f i c a t ei sa n i m p o r t a n tp a r to f t h ea p p l i c a t i o no f c e r t i f i c a t e t h i sp a p e r i n t r o d u c e st h ec as y s t e ma n d i t st r u s tm o d e l ,a n a l y s i st h ec b r r e n ts i t u a t i o no fc h i n a sp k is y s t e m ,a n da n a l y s i st h e f e a s i b i l i 哆o fe s t a b l i s h i n gt h em o d e lo fr o o tc e r t i f i c a t i o na u t h o r i t y a c c o r d i n gt oi t s f e a t u r e s ,p r o p o s e st h ed i v i s i o na n dc o m p o s e o fac e r t i f i c a t ep a t h ,t h ec a c h eo fc e r t i f i c a t e p a t h e s ,t h ep e r i o do fv a l i d i t yo fac e r t i f i c a t ep a t ha n dt h ec o m m i s s i o no fd i s c o v e r i n g c e r t i f i c a t ep a t h e s t h i sp a p e rb r i n g sf o r w a r dt h em o d e lo fc e r t i f i c a t ev a l i d a t i o ns e r v e r , w h i c hb a s e do nt h ec o n c e p to f t h ec o m m i s s i o no f d i s c o v e r i n gc e r t i f i c a t ep a t h e s a n dt h e a r i t h m e t i c so fc e r t i f i c a t ep a t hb u i l d i n g , c e r t i f i c a t ep a t hv a l i d a t i o na n dt h es e c u r e c o m m u n i c a t ep r o t o c o la r ed e s i g n e dd e t a i l e d l y n l i sm o d e lf 1 1 1 f i l l st h ec e r t i f i c a t ep a t h b u i l d i n ga c r o s st r u s tf i e l d sb yd i s t r i b u t i n gs y s t e m sc o o p e r a t i o n 1 1 1 em o d e ls e t t l e st h e p r o b l e mt h a ti ti sh a r da n di n e f f i c i e n ta n dh i 曲p r o b a b i l i t yo ff a i l u r et of i n dac e r t i f i c a t e p a t ha c r o s sd i f f e r e n tt r u s tf i e l d s d u r i n gt h er e a l i z a t i o no ft h i ss y s t e m ,s e c u r i t y , f l e x i b i l i t ya n de x t e n s i b i l i t yi sf u l l yc o n s i d e r e d s y s t e mt e s t i n gh a sm a d ear e l i a b l ea n d s t a b l er e s u l t s k e yw o r d s :p k i r c at r u s tm o d e lc e r t i f i c a t ev a l i d a t i o nc e r t i f i c a t ep a t h 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包 含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:型l 垫二日期丑塑 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离 校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学校有 权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分 内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在解密后 遵守此规定) 本学位论文属于机密,在一年解密后适用本授权书。 本人签名:趁l 壁二 导师签名 日期理:! :! 日期垒z ! :孟 第一章绪论 第一章绪论 1 i 论文背景及意义 随着网络技术和信息技术的发展,网络应用也越来越广泛,特别是电子政务的 推广和电子商务的广泛应用,极大的提高了工作效率,方便了人们的生活。但是 由于种种原因,网络传输的信息安全性仍然得不到有效的保障。公钥基础设施 ( p k i ) 是解决信息安全问题的关键技术之一,目前已经得到广泛的应用。 公钥基础设施( p k i ) 是信息安全基础设施的一个重要组成部分,是一种普遍适 用的网络安全基础设施。p k i 是2 0 世纪8 0 年代由美国学者提出来的概念,实际 上,授权管理基础设施、可信时间戳服务系统、安全保密管理系统、统一的安全 电子政务平台等的构筑都离不开它的支持。作为提供信息安全服务的公共基础设 施,p k i 是目前公认的保障网络社会安全的最佳体系。 p k i 体系具有多种信任模型,常见的有层次模型,分布式模型以及混合模型。 在我国,p k i 建设在几年前就已开始启动,截至目前,金融、政府、电信等部门 已经建立了6 0 多家c a 认证中心,在金融等行业内部也建立了信任域,实现了行 业内部的互通,但是各个信任域之间还没有很好的相互联通。为了推广p k i 应用, 加强系统之间、部门之间、国家之间p k i 体系的互通互联,建立一个国家级的p k i 互联体系是一个比较好的策略。目前国际上常用的互联模型有多级层次互联模型 和桥c a 互联模型,比较成功的案例是加拿大的层次p k i 体系和美国的联邦桥c a 体系。针对我国的国情和p k i 体系现状,借鉴国外的成功经验,我们发现采用基 于基于根c a 的多级互联结构更能适应我国的p k i 体系发展,不仅实施代价小而 且比较易于管理和扩展。 数字证书是实施p k i 的重要手段,在网络中,数字证书代表着用户的身份和权 限,因此在数字证书的使用过程中,证书的验证就显得格外重要,它关系到证书 的合法性,也即是关系到整个通信过程的安全性。目前的证书验证方法主要是针 对某一个信任模型的,而且效率也不高。在一个复杂的多级p k i 体系下,证书验 证过程比较耗时,也比较复杂,如何设计一种快捷高效的证书验证方法,一直是 数字证书验证技术亟待解决的问题。作者根据已有的证书验证技术,针对根c a 互 联模型的特点,对证书路径构造和验证进行了深入研究,设计了一种适应互联模 型的证书验证方案。 2 基于根c a 的数字证书验证服务的设计与实现 1 2 论文工作 证书验证是证书应用的关键技术,是实现信息安全的重要模块,目前相关技术 还都处于发展阶段。在复杂的p k i 体系下,涉及到跨域证书路径构造和验证,证 书验证过程比较复杂,效率也较低,因此证书验证服务既要考虑p k i 系统的域间 互通问题,又要努力提高证书验证的效率,同时还要保证证书验证服务的标准化 和可扩展性。 作者的主要工作是设计实现互联模型下的证书验证服务模型,关键是证书路径 构造设计和证书路径验证设计,由于没有成熟的方案可以借鉴,因此要对其可行 性进行分析、论证和验证。作者对整个方案的总体架构进行分析和设计,并且在 系统中进行实现和测试。所做具体工作主要包括: 查阅了大量有关p k i 体系和信息安全的文献资料,认真研究了p k i 体系结 构和我国p k i 发展现状; 查阅了证书路径构造算法和证书验证算法相关资料,深入研究了多级互联 模型下的证书路径的特点; 参与了大型p k i 系统的开发,参与了p k i 系统中几个关键模块的设计和开 发,对p k i 体系有了深入的理解; 根据多级互联p k i 体系的特点和需要,提出了一种基于委托路径发现的证 书验证服务模型,并进行了详细的分析和设计; 在实际项目中,对基于该模型的关键模块进行了详细设计和实现。 本人在论文撰写过程中主要的创新点是: 深入比较各种p k i 信任模型,分析我国的国情和p k i 发展现状,指出了基 于根c a 的多级互联模型的优势。 针对多级互联模型下证书路径的特点,提出了路径分割与合并、路径缓存 机制、路径有效期等概念; 提出了一种基于委托路径发现的证书验证服务模型; 在实际系统中成功的实现该模型并解决了相关技术难题。 1 3 论文结构 本文对证书验证服务进行了深入的研究,针对多级互联模型下证书路径过于 复杂的特点,提出了基于委托路径发现的证书验证服务。 第一章介绍了课题的研究背景、论文的主要工作和论文的创新点。 第二章对p k i c a 体系进行了介绍。对c a 系统的构成,数字证书结构以及证 第一章绪论3 书的生命周期进行了介绍。 第三章描述了p k i 信任体系结构,介绍了几种比较常见的信任模型,指出了 建立p k i 互联体系的必要性,最后根据国内外p k i 体系的实施状况和我国的国情, 指出了在我国建立根c a 互联模型的可行性。 第四章主要说明了证书验证的重要性,介绍了证书验证的概念,以及证书验 证的策略,引出了证书路径的概念。 第五章介绍了证书路径的构造方法,并且针对根c a 互联模型的特点,对证书 路径的构造和验证提出了一些新的方法,并且设计了路径构造算法。 第六章提出了根c a 互联模型下基于委托路径发现的证书验证服务模型,对 证书验证算法进行了设计,并且结合第五章关于路径构造算法的设计,对证书验 证服务进行了详细设计与具体实现。 第七章对本论文的工作进行了总结,并提出了今后的进一步研究方向。 第二章p k i c a 体系 第二章p k i o a 体系 2 ip k i c a 简介 公钥基础设施( p u b l i ck e yl u f r a s t r u c t u r e ,简称p k i ) ,是一个包括硬件、软件、 人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管 理、存储、分发和撤销等功能。p k i 是目前网络安全的基础和核心,作为一组分布 在分布式计算机中利用公钥技术和x 5 0 9 证书所提供的安全服务,包括p k i 策略、 证书机构c a 、注册机构r a 、证书发布系统等。p k i 是一个用公钥概念和技术来 实现并提供安全服务的具有普遍适用性的基础设施,它的目标是管理密钥和证书。 p k i 通过对公钥及公钥持有者的身份信息捆绑来实现身份验证,保证实体身份的真 实性。 认证机构( c e r t i f i c a t i o n a u t h o r i t y ,简称c a ) 是可信任第三方,是p k i 的主要 组成部分,是网络上确认用户身份的权威机构:用于创建和发布证书,它通常为 一个信任域的有限群发放证书,同时负责维护和发布证书撤销列表( c e r t i f i c a t e r e v o c a t i o nl i s t ,c r l ) 。 最终实体( e n d e n t i t y ) 是和一个证书主体相对应的人或对象。最终实体可以 是人、网络结点( 如w e b 服务器、防火墙或路由器) 、可执行程序。证书所有者 ( c e r t i f i c a t e o w n e l ) 是证书中的主体字段所标识的最终实体。这个最终实体有时也 会被称作证书主体( c e r t i f i c a t es u b j e c t ) 。证书用户( c e r t i f i c a t e u s e r ) 是收到一个证 书并且用该证书来确定证书所有者身份的最终实体。因为证书用户要依赖于该证 书中确立的身份,所以它们有时也被称作依赖方。颁发者( c e r t i f i c a t ei s s u f f f ) 是颁 发相应证书的c a ,它对证书主体的身份提供担保。 图2 1 显示了如何通过p k i 系统,两个用户实现安全通信的简单过程。由c a 给u s e r l 颁发证书,u s e r 2 通过认证u s e r l 的证书实现对u s e r l 的身份认证,并且 可以通过密钥交换实现通信的保密性。这里u s e r l 和u s e r 2 都是最终实体,u s e r l 是证书所有者,u s e r 2 是依赖方,c a 是u s e r l 证书的颁发者。 图2 1p k i 应用 6 基于根c a 的数字证书验证服务的设计与实现 2 2c a 系统构成 核心层 尸?。7 仨二二习 证书签发服务罄1 证书库 i a l 、一j f 圆 圈 厂i 石习管理层 终端 甲 固 i 竺! :竺兰型 匮i 里竺兰全堕兰i 图2 2c a 系统逻辑结构 上图是c a 系统的逻辑结构,由上图可以看出c a 系统是一个复杂的系统,以 下是对各个组成部分的简单介绍: 密钥管理中心 密钥管理中心的主要功能是生成、管理、作废和恢复非对称密钥对。这些密 钥对在c a 签发加密证书时被申请。 证书签发服务器 证书签发服务器负责签发证书和c r l ,是p k i 系统的核心。该服务器可以提 第二章p k i c a 体系 7 供四个功能:签发、作废、恢复证书,签发c r l ,以及管理服务和审计服务。 l d a p 服务器 l d a p ( l i g h t d i r e c t o r y a c c e s s p r o t o c o l ,轻量级目录访问协议) 是一个发布服 务器,用户可以从l d a p 中下载证书和c r l 。在我们的c a 系统中有两类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 服务器中。 0 c s p 服务器 o c s p 的是在线证书状态验证( o 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 0 1 ) 的缩写。用 户可以向o c s p 服务器查询证书的撤销状态,由o c s p 服务器完成证书状态的查 询过程。 证书注册系统( r e g i s t e r a u t h o r i t y , r a ) 证书注册系统是面向最终用户的。它的主要功能是登记、审核用户的身份信 息,并向c a 提出证书签发请求;用户也可以通过r a 提出证书注销和恢复请求。 2 3 数字证书结构 证书包含用户的身份信息、公钥和c a 的数字签名。任何一个信任c a 的通 信一方,都可以通过验证对方数字证书上的c a 数字签名来建立起与对方的信任关 系,并且获得对方的公钥以备使用。为了保证c a 所签发证书的通用性,通常证书 格式遵守i t ux 5 0 9 v 3 标准。该标准把用户的公钥与用户名等其他信息绑定在一 起,为了建立信任关系,c a 用它的私钥对数字证书签名,c a 的数字签名提供了 三个重要的保证。第一,认证中有效的数字签名保证了认证信息的完整性:第二, 因为c a 是唯一有权使用它私钥的实体,任何验证数字证书的用户都可以信任c a 的签名,保证了证书的权威性:第三,由于c a 签名的唯一性,c a 不能否认自己所 签发的证书,并承担相应的责任。本节介绍x 5 0 9 证书结构,重点介绍与证书验 证有关的证书属性。 2 3 1x 5 0 9 证书概述 认证机构通过对信息集合的签名来生成用户证书,信息集合包括可辨别的用 户名、公钥以及一个可选的包含用户附加信息的唯一标识符( u n i q u ei d e n t i f i e r ) 。 具体地说,如果一个用户证书的可辨别名为a ,唯一标识符为u a ,并且该证书是 由名为c a ,其唯一标识符为u c a 的认证机构签发的,则证书可以表示为: c a = c a v ,s n ,a i ,c a ,u c a ,a ,u a ,a p ,t a ) 基于根c a 的数字证书验证服务的设计与实现 这里v 为证书版本;s n 为证书序列号;a j 为用来签发证书的算法标识符;u c a 为c a 的可选的唯一标识符;u a 为用户a 的可选的唯一标识符;a p 为用户a 的 公钥;t a 表示证书的有效期。 以下我们用抽象语法表示法( a s n 1 ) 对证书的格式进行描述。利用与a s n 1 语法对应的特定编码规则( d e r ) 对证书中的各项信息进行编码生成证书。 2 3 2 基本证书域的数据结构 下面是数字证书的基本数据结构: c e r t i f i c a t e := s e q u e n c e t b s c e r t i f i c a t e t b s c e r t i f i c a t e , s i g n a t u r e a l g o r i t h ma l g o r i t h m l d e n t i f i e r , s i g n a t u r e v a l u e b i ts t r i n g ) 上述的证书数据结构由t b s c e r t i f i c a t e ,s i g n a t u r e a l g o r i t h m 和 s i g n a t u r e v a l u e 三个域组成。这些域的含义如下: t b s c e r t i f i c a t e 域包含了主体名称和签发者名称、主体公钥、证书有效期以及 其它相关信息。 s i g n a t u r e a l g o r i t h m 域包含证书签发机构签发该证书所使用的密码算法的标 识符。 s i g n a t u r e v a l u e 域包含了对t b s c e r t i f i c a t e 域进行数字签名的结果。采用 a s n 1d e r 编码的t b s c e r t i f i c a t e 作为数字签名的输入,而签名的结果则按照 a s n 1 编码成b i ts t r i n g 类型并保存在证书签名值域内。 2 3 3t b s c e r t i f i c a t e 及其数据结构 证书主体是指证书的持有者,它表示了证书持有者的身份信息。证书签发者是 指签发证书的认证机构( c a ) 。t b s c e r t i f i c a t e 结构体中包括了有关证书主体、证 书签发者信息以及证书及其公钥的使用策略的一些信息。 t b s c e r t i f i c a t e := s e q u e n c e ( v e r s i o n 0 】e x p l i c i tv e r s i o nd e f a u tv l , s e r i a l n u m b e r c e r t i f i c a t e s e r i a l n u m b e r , s i g n a t u r ea l g o r i t h m l d e n t i f i e r , i s s u e r n a m e , v a l i d i t y v a l i d i t y , s l l b j e c tn a m e , 第二章p k i c a 体系 9 s u b j e c t p u b l i c k e y l n f os u b j e c t p u b l i c k e y l n f o , i s s u e r u n i q u e l d【1 i m p l i c i tu n i q u e l d e n t i f i e ro p t i o n a l , s u b j e c t u n i q u e l d e x t e n s l o n s 一如果出现,v e r s i o n 必须是v 2 或者v 3 【2 】i m p l i c i tu n i q u e l d e n t i f i e ro p t i o n a l , 一如果出现,v e r s i o n 必须是v 2 或者v 3 3 】e x p l i c i te x t e n s i o n so p t i o n a l 一扩展项如果出现,v e r s i o n 必须是v 3 i 版本( v e r s i o n ) v e r s i o n :产i n t e g e r v l ( 0 ) v 2 ( 1 ) v 3 ( 2 ) 版本号表示了证书数据格式所遵循的x 5 0 9 版本。当前最高版本是v 4 版,但 v 3 版是目前使用最广的版本。没有特别说明,本文是针对v 3 版的。 2 证书序列号( s e r i a i n u m b e r ) c e r t i f i c a t e s e d a l n u m b e r:= 【n t e g e r 序列号是c a 分配给每个证书的一个正整数,由一个c a 签发的证书的序列号 必须是唯一的。序列号可以是长整数,证书用户必须能够处理长达2 0 个8 比特字 节的证书序列号。 3 有效期( v a l i d i t y ) v a l i d i t y := s e q u e n c e n o t b e f o r e t i m e , n o t a f t e r t i m e ) 有效期描述了证书的有效时间,在这个时间段内,c a 担保它将维护关于证书 状态的信息。n o t b e f o r e 表示有效期的起始时间,n o t a f l c r 表示有效期的终止时间。 4 颁发者名称( i s s u e r ) n a m e :产c h o i c e r d n s e q u e n c e r d n s e q u e n c e := s e q u e n c eo fr e l a t i v e d i s t i n g u i s h e d n a m e r e l a t i v e d i s t i n g u i s h e d n a m e := s e to fa t t r i b u t e t y p e a n d v a l u e a t t r i b u t e t y p e a n d v a l u e :_ s e q u e n c e t y p ea t t r i b u t e t y p e , v a l u e a t t r i b u t e v a l u e a t t r i b u t e t y p e := o b j e c ti d e n t i f i e r a t t r i b u t e v a l u e := a n yd e f i n e db y a t t r i b u t e t y p e 颁发者名称项描述了证书颁发者c a 的信息。颁发者名称通过n a m e 来描述。 n a m e 是一个可分辨名( d i s t i n g g u i s h e dn a m e ,d n ) ,由一些相对可分辨名( r e l m i v e 1 0 基于根c a 的数字证书验证服务的设计与实现 d i s t i n g g u i s h e dn a m e ,r d n ) 组成。一个相对可分辨名的类型用一个对象标识符 ( o b j e c ti d e n t i f i e r , o i d ) 来表示。通常由以下的一项或多项组成:国家( c ) 、省份 ( s ) 、地市( l ) 、组织名称( 0 ) 、机构名称( o u ) 和通用名称( c n ) 。 5 ,主体名称( s u b j e c t ) 主体名称项描述了与主体公钥项中的公钥相对应的实体。当主体名称项非空 时,这个项必须包含一个x 5 0 0 的可分辨名称( d n ) ,由某个c a 认证的每个主体 的可分辨名称必须是唯一的。主体名称的语法与颁发者信息构成语法一样,是通 过n a m e 来描述的。 6 主体公钥信息( s u b j e e t p u b l i c k e y l n f o ) s u b j e c t p u b l i c k e y l n f o := s e q u e n c e a l g o r i t h m a l g o r i t h m l d e n t i f i e r , s u b j e c t p u b l i c k e y b i ts t r i n g a l g o r i t h m l d e n t i f i e r := s e q u e n c e a l g o r i t h m o b j e c ti d e n t i f i e r , p a r a m e t e r s a n yd e f i n e db y a l g o r i t h mo p t 【o n a l 。 。 主体公钥信息表示了与证书绑定的公钥算法及公钥数据。其中a l g o r i t h m 描述 了非对称算法信息。而s u b j e c t p u b l i c k e y 包含了证书的主体公钥数据。 2 3 4 证书扩展项 证书扩展项在x 5 0 9 证书结构中是作为t b s c e r t i f i c a t e 的一部分存在的,我们 把它单独作为一节进行讨论是因为证书扩展项的项目很多,并且有很多项在证书 验证的过程起着重要作用。 e x t e n s i o n s := s e q u e n c es i z ef l m a x ) o fe x t e n s i o n e x t e n s i o n := s e q u e n c e e x t n l do b j e c ti d e n t i f i e r , c r i t i c a lb o o l e a nd e f a u l tf a l s e 。 e x t n v a l u eo c t e ts t r i n g 证书扩展项提供了把一些附加属性同用户或公钥相关联的方法以及证书结构 的管理方法。数字证书允许定义标准扩展项和专用扩展项。每个证书中的扩展项 可以定义成关键性的和非关键性的。由上面a s n 1 描述的扩展项语法可知,一个 扩展含有三部分,他们分别是扩展项类型、扩展关键度和扩展项值。当证书中出 现一个扩展项时,用e x t n l d 来表示扩展项类型,扩展项类型是一个o i d 值,对应 的a s n 1 编码结构就是8 比特字符串e x t n v a l u e 的值。一个特定的证书中特定的扩 第二章p k i c a 体系 展只可出现一次。扩展关键度( e x t e n s i o nc r i t i c a l i t y ) 告诉证书的使用者是否可以忽 略某一扩展项。证书应用系统如果不能识别关键的扩展时,必须拒绝接受该证书, 如果不能识别非关键的扩展,则可以忽略该扩展项的信息。用布尔型的值来表示 该扩展的关键性,其缺省值为f a l s e ,即非关键的。 c a 必须支持密钥标识符、基本限制、密钥用法和证书策略等扩展;另外,c a 还应该能支持认证权威机构( a u t h o r i t y ) 和主体密钥标识符( s u b j e c tk e yi d e n t i f i e r ) 以及策略映射扩展;c a 还可以支持本标准定义之外的其它的扩展。值得注意的是, 如果这些扩展被定义为关键的,可能会给互操作性带来障碍。 1 权威机构密钥标识符( a u t h o r i t y k e y l d e n t i f i e r ) 权威机构密钥标识符扩展提供了一种以识别与证书签名私钥对应的公钥的方 法。当发行方由于有多个密钥共存或由于发生变化而具有多个签名密钥时使用该 扩展。c a 以“自签”( s e l f - s i g n e d ) 证书形式发放其公钥时,可以省略该扩展。 a u t h o r i t y k e y l d e n t i f i e r := s e q u e n c e k e y l d e n t i f i e r【0 k e y l d e n t i f l e ro p t i o n a l , a u t h o r i t y c e t t l s s u e r【1 g e n e r a l n a m e so p t i o n a l , a u t h o n t y c e r t s e r i a l n u m b e r 【2 c e r t i f i c a t e s e r i a l n u m b e ro p t i o n a l k e y l d e n t i f i e r := o c t e ts t r i n g 其中,k e y l d e n t i f i e r 项的值应从对应公钥导出,必须保证k e y l d e n t i f i e r 的唯一 性。公开密钥的密钥标识符k e y i d e n t i f i e r 可采用下述两种方法生成: k e y l d e n t i f i e r 由b i ts t r i n gs u b j e c t p u b l i c k e y 值的1 6 0 - b i ts h a l 哈希值组成 ( 去掉标签、长度和不使用的字节数目) 。 k e y l d e n t i f i e r 由0 1 0 0 加上后跟的b i ts t r i n gs u b j e c t p u b l i c k e y 值的s h a l 哈 希值中最低位的6 0 比特组成。 除自签证书之外,所有的证书必须包含本扩展,而且要包含k e y l d e n t i f i e r 项。 a u t h o r i t y k e y l d e n t i f i e r 的值是由证书颁发者公钥导出的k e y l d e n t i f i e r 。 2 主体密钥标识符( s u b j e e t k e y l d e n t i f i e r ) 主体密钥标识符扩展提供一种识别包含有一个特定公钥的证书的方法。此扩展 标识了被认证的公开密钥,它能够区分同一主体使用的不同密钥( 例如,当密钥 更新发生时) 。此项定义如下: s u b j e c t k e y l d e n t i f i e r := k e y l d e n t i f i e r 对于某个主体的各个密钥标识符而言,每一个密钥标识符均应是唯一的。此扩 展项总是非关键的,但所有的c a 证书必须包括本扩展。s u b j e c t k e y l d e n t i f i e r 的值 是由证书公钥导出的k e y l d e n t i f i e r 。 1 2 基于撮c a 的数字证书验证服务的设计与实现 3 密钥用法( k e y u s a g e ) 此扩展指示已认证的公开密钥可用于何种用途,该项定义如下: k e y u s a g e :b i ts t r i n g d 蝤t a l s i g n a t u r e n o n r e p u d i a t i o n k e y e n c i p h e r m e n t d a t a e n c i p h e r m e n t k e y a g r e e m e n t k e y c e r t s i g n c r l s i g n e n e i p h e r o n l y d e c i p h e r o n l y 以上定义了证书公钥的基本用途,它可以用来验证数字签名、加密密钥、加密数 据、用作公钥协商密钥、验证证书签名、验证c r l 签名等用途。 密钥用法在证书中的表示是一个8 位0 1 串,每一位代表着一种密钥用途。如 果此扩展标记为关键的,那么该证书应只用于相应密钥用法比特置为“1 ”的用途。 如果此扩展标记为非关键的,那么它指明此密钥的预期的用途或多种用途,并可 用于查找具有多密钥证书的实体的正确密钥证书。 4 证书策略( c e r t i f i c a t e p o l i c i e s ) 证书策略项列出了由颁发的c a 所认可的证书策略,这些策略适用于证书以及 关于这些证书策略的任选的限定符信息。证书策略扩展包含了一系列策略信息条 目,每个条目都有一个o i d 和一个可选的限定条件。在用户证书中,这些策略信 息条目描述了证书发放所依据的策略以及证书的应用目的;在c a 证书中,这些策 略条目指定了包含这个证书的验证路径的策略集合。如果该扩展是关键的,则证 书验证时必须能够解释该扩展( 包括选择性限定语) ,否则必须拒绝该证书。 c e r t i f i c a t e p o l i c i e s := s e q u e n c es i z e ( 1 m a x ) o fp o l i c y l n f o r m a t i o n p o l i c y l n f o r m a t i o n := s e q u e n c e p o l i c y l d e n t i f i e rc e r t p o l i c y l d , p o l i c y q u a l i f i e r ss e q u e n c es i z e( 1 m a x ) o fp o l i c y q u a l i f i e r l n f o “ o p t i o n a l 5 策略映射( p o l i c y m a p p i n g s ) 策略映射扩展只用于c a 证书,它列出一个或多个o i d 对,每对包括一个 m骱吼协驯 第二章p k i c a 体系 i s s u e r d o m a i n p o l i c y 和一个s u b j e c t d o m a i n p o l i c y 。策略映射表明,颁发者c a 认为 其i s s u e r d o m a i n p o l i c y 与主体c a 的s u b j e c t d o m a i n p o l i c y 是等效的。此项定义如下: p o l i c y m a p p i n g s s y n t a x := s e q u e n c es i z e ( 1 一m a x ) o fs e q u e n c e i s s u e r d o m a i n p o l i c yc e r t p o l i c y l d , s u b j e c t d o m a i n p o l i c y c e r t p o l i c y l d 6 基本限制( b a s i c c o n s t r a i n t s ) 基本限制扩展项用来标识证书的主体是否是一个c a ,该c a 以下允许的最大 认证路径有多长。此项定义如下: b a s i c c o n s t r a i n t s s y n t a x := s e q u e n c e c ab o o l e a nd e f a u l tf a l s e , p a t h l e n c o n s t r a i n ti n t e g e r ( o m a x ) o p t i o n a l c a 字段标识该公钥证书是否是c a 证书。p a t h l e n c o n s t r a i n t 字段仅在c a 设 置为t r u e 时才有意义。它给出此证书之后认证路径中最多的c a 证书数目。0 值 表明该证书只能向最终实体签发证书,而不可以签发下级c a 证书。 p a t h l e n c o n s t r a i n t 字段出现时必须大于或等于0 。如果在认证路径的任何证书中未 出现p a t h l e n c o n s t r a i n t 字段,则对认证路径的允许长度没有限制。c a 证书中必须 包括本扩展,而且必须是关键的。 7 名称限制( n a m e c o n s w a m t s ) 名称限制扩展项只用于c a 证书。它指示了一个名称空间,在此空间设置了认 证路径中后续证书中的所有主体名称。此项定义如下: n a m e c o n s t r a i n t s s y n t a x :2 s e q u e n c e p e r m i t t e d s u b t r e e sf o 】g e n e r a l s u b t r e e so p t i o n a l , e x c l u d e d s u b t r e e s 1 】g e n e r a l s u b t r e e so p t i o n a l g e n e r a l s u b t r e e s := s e q u e n c es i z e ( 1 m a x ) o fg e n e r a l s u b t r e e g e n e r a l s u b t r e e := s e q u e n c e b a s eg e n e r a l n a m e , m i n i m u m 【0 】b a s e d i s t a n c ed e f a u l t 0 , m a x i m u m 【l 】b a s e d i s t a n c eo p t i o n a l b a s e d i s t a n c e := i n t e g e r ( o m a x ) 。 如果存在p e r m i t t e d s u b t r e e s 和e x c l u d e d s u b t r e e s 字段,则他们每个都规定一个

温馨提示

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

最新文档

评论

0/150

提交评论