您当前的位置:首页 > 计算机论文>信息管理论文

证书撤销方法研究

2015-07-04 09:21 来源:学术参考网 作者:未知
摘 要 pki是网络安全的基础,其安全性和可靠性直接影响到上层的网络安全,证书撤销是pki系统中重要的一个方面。本文详细讨论了现存的证书撤销状态信息发布方法, 并结合时戳服务提出了新的解决方案.该方法在现有时戳协议的基础上, 通过时戳提供证书的状态信息,可以有效降低系 统成本,提高系统的工作效率。 关键词 pki; 证书撤销列表; 时戳服务

0 引 言

信息安全是日渐得到社会各方注意的热点问题之一。如何在公共网络上保证信息的完整性、机密性和不可否认性是各国推进电子商务、发展网络事业的最大挑战。公钥体制正迅速地成为解决这一问题的基础技术,但它的广泛应用要求有一个公钥基础设施来发布和管理这些公钥值。公钥基础设施( public key infrastructure, 简称pki )作为一个普适性的基础设施,能为多种协议和安全应用提供统一接口和底层支撑。它能在没有安全保障的公共网络中实现认证、密钥管理、数字签名和不可否认等服务,从而最大限度地满足网络安全的需要。在网络安全问题日趋严重的今天,pki的应用具有非常重要的意义。 当密钥对的公钥以证书的形式公布后,在其整个有效期内都应该是可使用的。WWw.133229.Com但是在某些情况下,比如发现或怀疑私钥被损害、用户名称的改变以及主体和ca之间关系的变化(比如终止雇佣关系)等,可能需要在密钥的有效期终止之前停止对该密钥的使用。在这些情况下,客户或ca需要撤消证书。用户在验证一个证书是否有效时,通常需要验证该证书是否已被撤消,因此证书撤销在pki系统中的重要性不言而喻。由于pki是网络安全的基础,所以其安全性和可靠性直接影响到上层的网络安全,本文详细讨论了pki技术中有关证书撤销的方式,并提出了新的解决方案。

1 现存证书撤销方案

证书撤销的方法很多,最常用的方法是周期性的发布机制,比如ca颁发的证书撤消列表(certificate revokation list,简称crl)。另一种方法是在线查询机制如在线证书状态协议。在文献[3]中对现存的证书撤销方法给予了详细说明,在此本文仅对这些方式给以简单介绍。 1.1周期发布机制 crl是一些带有时戳的被撤消证书的列表。crl可以发布在已知的网址上或从ca自己的x.500目录条目中定期进行发布。每个被撤消的证书在crl中由其证书序列号来确认。crl的完整性和可靠性由它本身的数字签名来保障。 大规模网络环境中pki的构成是复杂的,往往用于鉴别密钥的不再是一个单独的证书,而是一个证书链。要确认链中的证书的有效性,验证者需要获取与每一个证书相对应的crl并一一加以验证。当ca的数量和层次较多时,下载和维护crl就会成为沉重的负担。 crl是定期发布的,而撤销请求的到达是随机的,从证书撤销请求到新的crl公布之间的不确定的时间差。在这段时间中,被撤销的证书的状态是不一致的。这种不一致会严重影响到证书服务的质量。所以对pki系统来说,crl的更新和发布频率非常重要。另外随着用户的增加和系统使用时间延续,crl列表有可能变得越来越大,最后可能使用户查询起来极不方便。到目前为止,对这个问题的解决方案有如下几种[6,7,8]: (1)完全crl:即所有撤消证书都列在一个crl表里,这只可能适合于那些用户群很小的pki域。 (2)ca撤消列表(arl):arl不包括用户证书的撤消信息,相当于专项专用,因此在用户验证证书路径时会提高效率。 (3)crl分布点:这是目前最常采用的机制。系统对整个认证空间分区,并将一个单独的crl与每个区联系。这种机制中的区段称为crl发布点或分配点,所有撤消认证的子集就保留在这些点上。分区可以按照撤消原因、撤消证书是ca证书还是终端实体证书、用户的姓名等等来进行。每个发布点由一套名称来标识,这组名称可以有多种形式。一旦发布点定义下来,它们就可以包括在证书中,以至于那些必须检查证书状态的应用程序可以访问在证书中crl发布点而不是主crl中指定的crl发布点,与主crl相比,发布点中的crl要小一些,可以加速证书状态检查的过程。crl分配点可以通过使用证书中的crldistributionpoints扩展与证书联系起来。 (4) 间接crl:它使得在一个crl中发布来自多个ca的撤消信息。间接crl的使用可以减小用户在进行证书验证过程中需要检索的总的crl的数目。 (5) 证书撤消树:这是基于杂凑树概念的一种撤消列表方式。 (6) delta-crl扩展:delta-crl允许用户只记录上次完整crl发布后所发生的改变。用户维护着自己的crl数据库,并利用delta-crl不断更新它。这样避免了下载整个crl,节省了通信带宽和计算时间。每次delta-crl发布的时候,ca都需要同时发布一个完整的crl。 事实上,这些扩展并没有完全解决crl撤消证书的延迟性问题。 1.2在线检查 周期性撤消列表方法的问题之一就是,证书使用系统不能容忍由于时间间隔而造成的撤消通知的延迟。根据应用环境,许多损害来自密钥受损的当天。在理想的情况下,当用户要使用某受损的证书时,他应该马上知道该证书已经受损。 通过实时撤消检查或在线状态检查(ocsp),希望确认证书有效性的证书使用系统可以实现和相应的ca服务器之间的在线通讯。该通讯将返回关于该证书状态的一条指示。ca必须实现高度可用的在线服务,这种服务对所有的潜在用户都是可用的,并且必须在安全的环境中提供这种服务。对证书使用系统来说,该通讯在实时性和来源上必须是安全可靠的。这要求对每一次通讯,ca都产生数字签名,证书使用系统验证该签名。 实时状态检查在一些环境中运转良好,特别是在证书主体和证书使用的封闭环境中。但成本可能成为一个问题,尤其当环境的规模扩大时,考虑到服务器需要为每个询问通讯产生一个数字签名,所要求的加密处理资源也将特别昂贵。安全服务器的运作成本(包括所有安全控制的实施)将会很高。

2 结合时间戳的证书撤销方案

在电子商务中,时间戳服务是一个必不可少的服务,通过时间戳服务为交易双方提供一个可信的交易时间,来标记交易的准确发生时间。rfc文档3161详细规定了pki服务中提供时间戳服务的协议。作为一项重要的服务,时间戳服务同样必须进行安全防护,才能保证时间戳的安全性。时间服务器作为可信第三方ttp,客户端发送消息x的摘要h(x)到时间服务器,时间服务器获取当前时间t,并对(h(x),t)进行签字,把时间t和签字 sigtss{(h(x),t)}回复给客户端。 因为所有签字过程都需要一个可信的时间戳,作为签字时间的一个保证。如果把时间服务器与ca的证书状态服务器相关联,在客户请求时间戳时,除了原来的时间戳请求消息外,还要求客户提供将要使用的签字证书的序列号,然后时间服务器根据证书的序列号,查询该证书的状态,如果证书已撤消,则不给予时间戳,在没有时间戳的情况下,使用该证书对应私钥的签字是无效的,从而可防止用户欺骗行为。同时在发给用户的时间戳中包含当前时间和用户的签字证书序列号,其他用户在验证签字时,首先验证该时戳是否可信,然后再检查用户签字证书的序列号与该时戳中的用户签字证书序列

号是否一致,若一致,就说明签字时用户的签字证书处于有效状态;若不一致,则可怀疑用户有作弊行为,这样,就可以安全地获得用户证书的状态。该方案只需把原时间戳服务协议略加改造即可。 (1)签字者在对消息x签字前,首先向时间服务器发送请求,获得时间戳,发送消息为:
timestampreq ::= sequence { version integer , messageimprint messageimprint, reqpolicy tsapolicyid optional, nonce integer optional, certreq boolean default false, extensions [0] implicit extensions optional } messageimprint ::= sequence { hashalgorithm algorithmidentifier, hashedmessage octet string signcertid integer }
该消息与rfc3161的协议相比增加了只增加了签字证书的序列号,即消息中的阴影部分的内容。 (2)时间服务器接受到请求后,首先检查signcertid对应的签字证书的有效性,如果有效则按照通常的时间服务进行处理,生成响应消息,发送给签字者。响应消息的格式为:
timestampresp ::= sequence { status pkistatusinfo, timestamptoken timestamptoken optional } tstinfo ::= sequence { version integer, policy tsapolicyid, messageimprint messageimprint, serialnumber integer, gentime generalizedtime, accuracy accuracy optional, ordering boolean default false, nonce integer optional, tsa [0] generalname optional, extensions [1] implicit extensions optional }
在这个消息中格式与原来协议的格式一样,只是messageimprint 使用请求者发送来的messageimprint,即包含了请求者的签字证书的序列号。时间戳是对tstinfo的签字,包括当前时间和messageimprint,因此其他用户不能更改时戳中的签字证书的序列号。 (3)签字者按照正常时间戳的使用方式使用时间服务器发送来的时间戳,他在对消息x签字时务必使用在时戳请求中包含的签字证书序列号对应的证书。 (4)其他用户在验证该签字时,首先验证时戳是否正确,然后在验证签字所使用的证书的序列号和时戳messageimprint中包含签字证书序列号是否一致,如果一致则表明该证书在使用时是有效的。 在一个安全性要求较高的环境中,时间服务器是必须的,其安全性也是必须要保证的,这样把证书状态响应服务与时间服务相连,可以节省状态响应服务器运行的成本,并且证书的使用者也可以通过验证时戳达到验证了证书状态的目的,从而节省了用户的资源和时间。

3 结语

本文提出的结合时戳服务,提供证书状态信息,可以有效的解决证书撤销带来的问题,同时节约了用户和系统的资源和时间,并且对当前的时戳服务只需做一些小的改进,容易实现。上述关于证书撤消的各种方法具有不同的及时性,可以应用于各种不同的环境。除了成本方面的考虑,最合适的方法还依赖于风险评估。该领域的研究还在继续,新的撤消方法还会不断出现。

参 考 文 献

1 housley.r, fond.w, polk.w, et al. internet x.509 public key infrastructure certificate and crl profile[s]. (1999-1), rfc 2459. 2 adams c, farrell s. internet x.509 public key infrastructure certificate management protocols [s]. (1999-03), rfc, 2510. 3 carlisle adams, steve lloyd 著, 冯登国 等译. 公开密钥基础设施——概念、标准和实施[m]. 人民邮电出版社, 2001.1. 4 金融系统电子商务联络与研究小组,电子商务——安全认证与网上支付[m], 人民出版社.2000.4. 5 cain, p., pinkas, d., and r. zuccherato, "internet x.509 public key infrastructure time stamp protocol",[s], rfc3161. 6 薛源, 周永彬, 郭建锋, 倪惜珍. 基于huffman算法的证书撤销树[j]. 通信学报. 2005,26(2):45-50. 7 王永静, 谢冬青, 陈华勇. 证书撤销机制的分析与设计[j]. 计算机应用研究. 2004,21(9):147-149. 8 刘爱江, 何大可, 许长枫. 基于排队模型的证书撤销机制分析.计算机应用研究[j]. 2004 ,21(4):68-70.
相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页