基于入侵容忍的证书撤销列表机制研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于入侵容忍的证书撤销列表机制研究
吕红伟;徐蕾
【摘要】In Public Key Infrastructure (PKI) systems, the Certificate Authority (CA) signature is not easy to forge, thus, intrusions to these certificate revocation systems which are based on Certificate Revocation List ( CRL) usually aim at destroying system usability and data integration. Concerning this intrusion feature, an intrusion tolerance CRL service system was designed in this paper. Within the system, CRL was stored on multiple redundant servers. In order to copy and use data among these servers, a passive replication algorithm of randomly selecting main server and a simple vote algorithm of selecting the most recent updated CRL were proposed. Under the given experiment intrusion conditions, although system expenses were increased, the query accuracy of certificate revocation of a system that tolerated intrusions was about 20% higher than that of a system that did not. The experimental results show that adding more servers properly increases the query accuracy of certificate revocation and controls the system expenses.%公钥基础设施(PKI)系统中,认证机构(CA)签名不易伪造,对基于证书撤销列表(CRL)的证书撤销系统的入侵通常是破坏系统的可用性和数据的完整性,针对这一特点,设计了入侵容忍CRL服务系统.系统利用冗余的多台服务器存储CRL,在进行多机之间的数据复制和使用时,采取随机选择主服务器的被动复制算法及选择最近更新的CRL简单表决算法.在实验给定的入侵攻击条件下,入侵容忍的CRL系统比无容忍系统的证书撤销查询正确率提高
了近20%,但也增加了系统的开销.实验结果表明,适当地增加CRL服务器的数量能够提高证书撤销查询的正确率且控制系统的开销.
【期刊名称】《计算机应用》
【年(卷),期】2013(033)001
【总页数】4页(P160-162,170)
【关键词】入侵容忍;证书撤销列表;复制;表决;Over-Issued
【作者】吕红伟;徐蕾
【作者单位】沈阳航空航天大学计算机学院,沈阳110136;沈阳航空航天大学计算机学院,沈阳110136
【正文语种】中文
【中图分类】TP393.083
0 引言
证书撤销列表(Certificate Revocation List,CRL)[1]是公钥基础设施(Public Key Infrastructure,PKI)中主要的证书撤销方法之一,CRL的使用方法通常是由证书验证方将CRL服务器中的CRL下载到本地,进行证书有效性的验证。

由于CRL中认证机构(Certificate Authority,CA)的签名伪造困难,对CRL服务器的常用攻击方法是使CRL服务器不可用,或者使用过时的CRL替代新的CRL,进而降低证书验证的正确率。

入侵容忍技术[2]能够使系统受到入侵时,仍然提供必需的服务并有自我恢复的能力,针对CRL服务器中CRL数据的特点,入侵容忍即是保证CRL服务的可生存性和完整性。

使用的冗余技术主要是物理资源冗余和信
息冗余,即复制技术。

复制技术的两种基本策略是主动复制和被动复制。

目前复制技术的改进研究都是在这两种策略基础上完成的。

文献[3]提出了基于服务的半主动复制技术,根据客户端请求服务的特征,进行相应的部分复制。

这样既保留了主动复制故障恢复时间短等优点,又克服了主动复制开销大等缺点,但是需要进行复制粒度计算,并且主动复制需要多台服务器在确定的顺序下执行操作。

文献[4]基于主动复制技术提出了一种快速响应复制算法,所有副本接收客户端请求,处理速度最快的副本将结果返回给客户端。

目的是减少主动复制服务器响应请求的时间,但是所有副本接收请求,带宽没有减少,同时仅仅处理速度最快的副本返还结果,正确性得不到很好保证。

文献[5-6]提出了一种间接划分复制算法,将复制对象划分成若干个小块,通过编码和解码对不同数据块对应复制,降低了复制量,减少了网络通信负载。

由于并不是将所有数据块复制到每台服务器,因此对于入侵较高的系统其正确性不能得到保证。

文献[7]对被动复制技术进行了详细的分类,并对性能进行了相应比较,服务器之间都是通过协调者来进行相互通信。

文献[8]提出了一种入侵容忍资料库的方法,对简单复制进行改进,同时每次查询服务器的数量要多于出现入侵服务器的个数,不容易控制。

此外分布式容忍系统中另外一个困难就是一致性问题。

文献[9-10]基于中间设备检测故障信号提出了一致性检测方法,可确保多个复制品的一致性,但需要中间设备硬件等支持。

CRL的特点是伪造困难,可以避免拜占庭错误[11]。

本文提出了一种入侵容忍
的CRL证书撤销服务系统,为减少入侵容忍的系统开销,采用被动复制技术,并
随机选择主服务器,进而部分解决了被动复制主服务器崩溃后响应时间长的问题,降低了主服务器崩溃的概率。

提出一种主席协调的一致性协调算法,给出了一种基于CRL更新时间的简单表决方法。

实验结果表明当存在入侵攻击时,入侵容忍的
证书撤销服务系统比无容忍的系统提高了证书撤销查询的正确率。

1 入侵容忍的CRL系统
CRL是查询撤销证书的有效方法之一,利用入侵容忍技术可提高CRL发布系统的
容侵能力,进而提高证书查询正确率。

1.1 CRL的组织方式
分段CRL根据某个属性将一个完整的CRL分成若干个分段的CRL,目的是降低CRL的下载数据量。

用户可以根据需要下载相应的分段CRL,减小下载CRL的通
信代价,提高查询速度。

本文按照x.509v2CRL标准、利用分段的方法组织证书撤销列表,将证书序列号按照PKI的地域特征进行组织,这样可以利用证书序列号的地域特征将CRL进行分段,每个分段的CRL按照证书序列号的大小进行排序,以便于分段内的证书查询。

用户根据要验证的证书地域选择需要查询的CRL分段,下载对应分段数据。

为避免新的CRL信息发布时的尖峰下载,在CRL发布方式上引入Over-Issued思想[12],在一个CRL有效期内每隔固定时间间隔发布新的CRL版本,即在一个CRL有效期内发布多个不同CRL版本。

而用户是将CRL存放在本地使用的,只有在本地CRL过期之后,用户才到CRL服务器中下载更新的CRL,这样避免了所有用户同时更新CRL。

1.2 CRL服务系统结构
入侵容忍的CRL服务系统设计的主要目的是系统在遭受攻击的情况下,仍然可以
向用户提供正确、持续以及可靠的服务。

由于CRL中具有CA的私钥签名使得CRL不易伪造,对于CRL服务系统的主要攻击是破坏系统的可用性或者使用旧的CRL进行重放。

在容侵CRL服务系统中,使用多台服务器构成冗余系统,不同的
服务器使用不同的操作系统等工作环境,以避免不同的服务器同时受到相同的攻击,基本的CRL容侵服务系统结构如图1所示。

图1 基本CRL容侵服务的系统结构
系统的结构分为三层:CRL服务器副本层主要是由多个不同结构的CRL服务器存储相同的CRL数据,构成CRL数据存储的冗余;CRL服务使用层是CRL数据的维护
和使用端,由两类用户构成,CA系统主要完成CRL数据的更新,CRL用户是CRL的使用者,基本操作是申请下载新的CRL,进而在本地进行证书有效性的验证;CRL服务代理层接收用户的服务请求,进行相应的处理后,将处理结果返回给
用户。

1.3 系统工作过程
系统的使用端分成两类用户:CA系统完成CRL数据的更新;CRL用户申请下载新发布的证书撤销数据。

CA系统更新CRL数据时,向CRL服务代理申请进行CRL的更新,服务代理程序向CRL服务器提出数据更新的申请,CRL服务器层的多个服务器之间数据复制采
用被动复制算法,代理程序向主服务器提交数据更新任务,由主服务器在各服务器之间协调进行CRL数据的一致性更新。

用户申请下载新发布CRL数据时,向CRL服务代理申请下载CRL数据,代理程
序进行相应的身份鉴别,如果为合法用户,向CRL服务器层多播数据的下载申请,服务器层的多个服务器接收申请后向代理程序返回服务器的CRL数据,代理程序
对获得的多个CRL数据进行表决,选出最近发布的CRL返回给用户;代理程序若发现某些备份服务器出现故障或数据不一致时,向主服务器提交一个一致性更新任务进行服务器层的数据更新。

2 相关算法
系统的主要算法是进行CRL数据更新时使用的数据一致性更新算法及从多台服务
器返回的CRL数据中选择正确结果的表决算法。

2.1 数据一致性复制算法
入侵容忍的CRL服务系统属于分布式系统,需要一种策略保证多台服务器中CRL
数据的一致性。

当CA系统进行新CRL数据装载或者察觉CRL服务器副本中CRL 数据不一致时启动数据的一致性复制。

为减少系统的计算开销,系统使用被动复制算法。

本文基于被动复制的协调者算法提出一种主席协调的一致性复制算法,在服务器中初始随机选择一个协调者(称为主席),由主席协调完成服务器之间数据的一致性复制,当主席崩溃或出现故障时,采用顺序轮换机制,由下一个服务器接替主席完成数据一致性复制。

代理程序负责主席服务器的选择并将数据更新任务转交主席服务器。

算法如下:
被动复制算法中主服务崩溃或出现故障时,客户端重新选择主服务器的响应时间长,本文没有指定主服务器,而是随机选择主服务器,增加了攻击主服务器的难度,降低因主服务器崩溃导致响应时间长这一事件的概率。

2.2 表决算法及重配机制
重放攻击的结果是使得CRL服务器中的数据不一致,进行CRL数据下载时,如果多个服务器返回的CRL数据不一致,需要进行表决处理。

根据CRL数据伪造困难的特点,系统的表决方法是:取发布时间最近的CRL数据返回给用户。

数据表决的工作仍然由主席服务器完成,工作过程如下。

1)代理程序接收用户下载CRL数据的申请。

2)代理程序在可用的服务器中随机选择一个服务器作为主席服务器;工作过程如算
法agent.select_host;代理程序将下载CRL的请求提交给主席服务器。

3)主席服务器向其他可用的CRL服务器查询服务器中CRL数据的发布日期,如果日期一致,转到6)。

4)向具有最近CRL数据发布日期的服务器提交申请,获得最近日期的CRL数据(标识为CRLnew)。

如果与主席服务器中CRL数据日期不一致,将CRLnew复制到
主席服务器中。

5)向CRL数据发布日期早于CRLnew服务器发布数据更新任务,更新数据为CRLnew。

6)将CRLnew数据返回代理程序,代理程序返回给申请的用户。

表决过程中发现备份服务器数据出现重放攻击后,需要一种重配机制对被攻击的服务器数据进行恢复。

系统采用的方式是当发现服务器中数据不一致时,立即进行数据的重配,进而实现数据的快速恢复。

3 实验及结果分析
3.1 实验的环境及结果
实验中,CRL数据维护和使用的客户端程序、CRL服务的代理程序均采用C++语言实现;在局域网环境下,进行系统的仿真实验。

系统的服务器层由1至3台存放CRL数据的服务器分别构成无入侵容忍的系统、
2台服务器的入侵容忍系统和3台服务器的入侵容忍系统。

系统的客户端程序分成CA系统客户端、CRL用户客户端和一般的攻击者。

系统主要仿真两种攻击形式:一种是使CRL服务器不可用(破坏性攻击);一种是使用旧的CRL代替新发布的CRL(重放攻击)。

实验中CRL采用文本文件进行存储,结构遵循x.509v2CRL标准。

证书序列号采
用11(3+8)位有效数字进行表示,其中:前3位代表不同的地区并以此进行证书分段,实验中分成10段,后8位代表段内证书的序列号,每段可生产1亿个证书号。

CRL每日平均更新4次,两次更新间隔为6 h。

实验中仿真5日的证书撤销查询与证书撤销工作。

假设每日系统中有1000用户工作,每个用户每日随机的生成5次证书撤销查询操作;对CRL服务系统的攻击分为重放攻击与破坏性攻击,两类攻击出现的比例是4∶1,如果服务器每天正常运行
时间至少为70%,而发现服务器损坏后恢复的时间是30 min,每日则至多有14
次破坏性攻击;替换性攻击每日最多为56次,随机生成5日内对服务器系统的攻击。

初始化时,首先初始化30 000个已经撤销的证书,同时80%的用户在本地已经存放了最新的CRL。

在实验中使用了撤销证书验证查询失败数(Query Failure Number,QFN)、撤销证书平均查询时间(Query Time,QT)和CRL平均更新时间(Update Time,UT)三个评估参数。

验证QFN指普通用户对已经撤销的证书进行验证查询时,没有查到撤销信息的次数。

QFN是证书撤销系统的重要指标,QFN数值越大说明系统证书查询验证出错率越高,系统的可用性和可靠性越低;QT指普通用户对证书进行一次验证查询的平均耗费时间;UT指CA系统一次更新CRL所用的平均时间。

事实上,如果没有新撤销的证书且所有用户在本地已经存储了CRL,上述两类攻击不会影响证书撤销验证的正确性,但如果有新的证书撤销事件,情况就会不同。

在实际的系统中,新撤销证书事件要远远少于证书撤销的查询事件。

实验仿真新证书撤销事件数与证书查询事件数之比分别是:0.03,0.06,0.09,0.12,0.15,0.18,0.21,0.24,0.27,0.3,记录有入侵容忍证书撤销方法与无入侵容忍证书撤销方法在验证查询失败数量、平均更新时间和平均验证查询时间的对比。

实验结果分别如图2~4所示。

图2 3种情况下撤销证书查询QFN比较
图3 3种情况下CA更新CRL的UT比较
图4 3种情况下证书撤销QT比较
3.2 结果分析
图2所示有容忍的系统(2台服务器和3台服务器)比无容忍的系统(1台服务器)对于替换性攻击和破坏服务器攻击有较好的弹性,证书查询的正确率高于无容忍的系统,随着证书撤销数量的增加,这一结果更加明显。

但是服务器的增加,证书查询正确率提高得不明显。

图3~4表明有容忍的系统平均更新CRL时间和证书查询的平均时间大于无容忍的系统,随着服务器的增加,多台服务器之间的协调难免会
增加响应时间,因而平均更新时间要长。

当系统要求证书查询的正确率达到一定的指标时,可考虑增加服务器的数量。

但是CRL发布的延迟是不可避免的,当服务器增加过多时,证书查询的正确率增加很少,而系统的开销将会显著增加。

用户需要进行适当的折中。

4 结语
当存在入侵攻击时,入侵容忍系统明显地提高了CRL服务系统的可用性和可靠性,但容侵系统也相应地增加了系统的设备成本和运行成本。

在容忍入侵的系统中,服务器的数量越多,容侵的效果越好,但是运行成本增加得越多。

对于CRL这样正
确性要求高的系统,部分成本的增加是值得的。

根据实验,由于CRL无法做到完
全的及时更新,因此适当地增加冗余的数量能够达到可接受的正确率。

进一步的工作可以针对CRL分段的特点,进行服务器组服务分工和服务器之间CRL分段数据的不完全复制,进而在保证证书查询的正确率的同时,降低容侵系
统的开销。

参考文献:
[1]王政,赵明,斯雪明,等.基于局部签名Hash表的证书撤销列表方案[J].计算机工程,2009,35(1):36 -40.
[2]吴庆涛,华彬,郑瑞娟,等.基于自律计算的入侵容忍模型[J].计算机应用,2010,30(9):2386 -2388.
[3] LIU J M,LI Y Z,ZHAO Y, et al.Research on computer immune system based on intrusion tolerance[C] //Proceedings of the 2010 International Conference on Future Information Technology and Management Engineering.Piscataway:IEEE Press, 2010:200 -203.
[4] LIU L X,XIA J B,MA Z Q,et al.Rapid-response replication:a fault tolerant algorithm based on active replication[C] //Proceedings of the
7th International Conference on Computational Science.Berlin:Springer-Verlag, 2007:133 -136.
[5] WANG Y J, LI S J.Research and performance evaluation of data replication technology in distributed storage systems [J].Computer and Mathematics with Applications, 2006,51(11):1625 -1632.
[6] DI R H,WANG T,LIANG Y,et al.The analysis and implementation of partition replication-based distributed cache system [C]//Proceedings of the 12th International Conference on High Performance Computing and Communications.Piscataway:IEEE Press,2010:719-724.
[7] de JUAN-MARIN R,DECKER H,MUNOZ-ESCO F D.Revisiting hot passive replication [C]//Proceedings of the Second International Conference on Availability, Reliability and Security.Washington,DC:IEEE Computer Society,2007:93-102.
[8]刘海蛟,荆继武,林璟锵,等.一种入侵容忍的资料库[J].中国科学院研究生院学报,2006,23(1):46 -51.
[9] SAMYDURAI A, MUKHERJEE S.Fully distributed active software objects replication in OO-Middleware [C]//Proceedings of the 16th IEEE International Conference on Networks.Piscataway:IEEE Press, 2008:1 -6. [10] TARIQ Q I.Learning from experience:better design techniques for an improved consensus protocol[C]//Proceedings of the 2nd IEEE International Conference on Computer Technology and Development.Piscataway:IEEE Press,2010:420 -424.
[11] AMIR Y, COAN B, KIRSCH J, et al.Prime:Byzantine replication under attack [J].IEEE Transactions on Dependable and Secure
Computing,2011,8(4):564-577.
[12] ZHAO J, TANG S P.An improved over-issued CRLs method [C]//Proceedings of the Second International Conference on Innovative Computing, Information and Control. Piscataway:IEEE Press,2007:481-484.。

相关文档
最新文档