数字证书的证书吊销列表缓存及查询方法技术

技术编号:10427465 阅读:294 留言:0更新日期:2014-09-12 17:43
本发明专利技术公开了一种数字证书的证书吊销列表缓存及查询方法,包括:A、设置一个起始值BaseSN;B、分配一段用于储存证书吊销列表(CRL)的内存,并进行初始化,将CRL的缓存区内容清零;C、从CA获取一个最新发布的CRL;D、解析所述的CRL,从中得到TBSCertList;E、从TBSCertList中获得一个数字证书的序列号(SN);F、计算SN与BaseSN的差值ΔSN;G、设ΔSN为偏移量,将CRL缓存区中相应的二进制位置1;H、判断TBSCertList中是否还有其他数字证书的SN,若没有,则执行步骤I;否则,则返回步骤E;I、步骤I:进一步判断是否还有其他CRL实体,若有,则返回步骤C;否则,结束所述CRL的缓存过程。采用本发明专利技术,能够提高从缓存中检索CRL的效率。

【技术实现步骤摘要】

本专利技术涉及信息安全和数字证书技术,尤其涉及一种。
技术介绍
基于数字证书的应用,通常需要访问证书颁发机构(CA )获取证书吊销列表(CRL)来检查证书状态。应用软件通常将CRL缓存,并按预设的策略进行更新。随着数字证书数量的快速增长,CRL缓存的空间开销和检索证书是否被吊销的时间开销也变得越来越大。因此,亟待发展一种能够提高缓存和检索CRL效率的技术。目前,传统的CRL缓存方式是缓存CRL的实体,或使用线性表、哈希表结构在存储CRL中标记“已吊销”的数字证书序列号。现有的CRL缓存方式下,缓存一个数字证书序列号大约需要20字节,缓存N个CRL中被吊销的证书序列号,则需要的空间约为NX序列号包含字节数。在传统的CRL缓存方式下,检索一个指定的数字证书序列号(SN)是否包含在吊销列表中,对缓存的数据结构进行检索需要进行多次比对,才能确认缓存中是否包含了序列号(SN)。对于数据条数假设为η的缓存而言,查找的时间复杂度为0(n),如果采用二分法进行查找,则所需的时间复杂度为0(log(n))。因此,采用传统方式在数字证书数量和被吊销证书的数量达到百万至千万数量级之后,所需的存储空间和检索所需的时间,都会迅速增长,这将会对系统的运行效率和响应的及时性产生较严重的影响。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种数字证书的证书吊销列表(CRL)缓存及查询方法,在使用海量的数字证书和数字证书的CRL的场景下,供使用数字证书的应用软件或密码设备进行验证使用,以大幅降低CRL缓存的开销和提高CRL的检索效率。为达到上述目的,本专利技术的技术方案是这样实现的: 一种数字证书的证书吊销列表缓存方法,该方法包括: A、根据数字证书的策略和实际情况,设置一个证书序列号的起始值BaseSN; B、向系统申请分配一段用于储存证书吊销列表CRL的内存,并对该段内存进行初始化,将CRL的缓存区内容清零; C、从数字证书颁发机构获取一个最新发布的CRL; D、解析所述的CRL,从CRL中得到TBSCertList; E、从TBSCertList中获得一个数字证书的序列号; F、计算所述序列号与BaseSN的差值Asn; G、设所述Asn为偏移量,将所述CRL缓存区中相应的二进制位置I;H、判断所述TBSCertList中是否还有其他数字证书的序列号,若没有,则执行步骤I;否则,则返回步骤E ; 1、步骤1:进一步判断是否还有其他CRL实体,若有,则返回步骤C ;否则,结束所述CRL的缓存过程。其中,所述数字证书序列号的起始值BaseSN与在内存中的位置无关。步骤D所述TBSCerList为CRL中的一个字段,该字段为一个序列,含有数字证书发行者的名字、发行日期、下一个CRL的发行日期、吊销证书列表和可选CRL的扩展。所述CRL缓存区中相应的二进制的位置为I或0,用以指示对应该位置的数字证书的状态是否被吊销。一种验证权利要求1?4所述数字证书状态的查询方法,包括: a、获得数字证书的序列号SN;b、计算SN与数字证书序列号的起始值BaseSN的差值,即计算ΛSN=SN_BaseSN ; C、取证书吊销列表CRL缓存区中Asn位置上的二进制值b ; d、判断该二进制位的b值是否为1,若为1,则证明该证书已被吊销;否则,b不为1,则证明该证书有效。本专利技术所提供的,具有以下优点: 在海量数字证书和海量数字证书吊销列表的情况下,基于数字证书的应用或设备,出于效率原因,需要缓存吊销列表的情况下,使用本专利技术的技术,能够有效降低缓存CRL所需的内存要求,并且,能够提高从缓存中检索CRL的效率。【附图说明】图1为本专利技术对数字证书的证书吊销列表进行缓存的过程示意图; 图2为本专利技术采用二进制位保存数字证书是否被吊销的信息的数据结构存储状态示意图; 图3为本专利技术验证数字证书状态的查询过程示意图。【具体实施方式】下面结合附图及本专利技术的实施例对本专利技术的方法作进一步详细的说明。图1为本专利技术对数字证书的证书吊销列表(CRL)进行缓存的过程示意图。在本专利技术中,采用I个二进制位来保存I个证书是否被吊销的信息(参考图2)。如图1所示,对证书吊销列表进行缓存的过程包括如下步骤: 步骤101:根据数字证书的策略和实际情况,设置一个证书序列号的起始值BaseSN (参考图2)。这里,所述数字证书的实际情况,主要是指证书大小、存储空间等。步骤102:向系统申请分配一段用于储存证书吊销列表(CRL)的内存。步骤103:对所述的一段内存初始化,将证书吊销列表(CRL)的缓存区内容清零。步骤104:从数字证书颁发机构获取一个最新发布的证书吊销列表(CRL)。步骤105:解析所述的证书吊销列表(CRL),从证书吊销列表(CRL)中得到TBSCertList0这里,所述TBSCerList为CRL中的一个字段,该字段是一个序列,含有数字证书发行者的名字、发行日期、下一个证书吊销列表(CRL)的发行日期、吊销证书列表和可选CRL的扩展。其中,吊销证书列表是由一连串的数字证书序号、撤销日期和可选CRL入口扩展组成。步骤106:从TBSCertList中获得一个数字证书的序列号(SN)。步骤107:计算所述序列号(SN)与BaseSN的差值,即根据下述公式:Δ SN=SN-BaseSN0步骤108:设所述ASN=SN_BaseSN为偏移量(offset),将证书吊销列表(CRL)缓存区中相应的二进制的位置为I (参考图2)。步骤109:判断所述TBSCertList中是否还有其他数字证书的序列号(SN),若没有,则执行步骤110 ;否则,则返回步骤106 ; 步骤110:进一步判断是否还有其他证书吊销列表(CRL)实体,若有,则返回步骤104 ;否则,执行步骤111。步骤111:完成所述证书吊销列表(CRL)的缓存过程。图2为本专利技术采用二进制位保存数字证书是否被吊销的信息的数据结构存储状态示意图。如图2所示,每个二进制位指示I个数字证书是否被吊销的状态。其中,二进制位“O”表示该对应的数字证书目前有效;二进制位“I”表示该对应的数字证书被吊销。如图1所示的步骤108中 ,偏移量(offset)ASN=SN-BaseSN,此时,须在证书吊销列表(CRL)缓存区中相应的二进制位赋值I。反之,在CRL缓存区相应的二进制位赋值O。图3为本专利技术验证数字证书状态的查询过程示意图。在验证某个数字证书的状态时,需验证该证书的序列号(SN)是否包含在证书吊销列表(CRL)中,如果已经包含在吊销列表中,则认为该证书已被吊销;否则认为该证书状态为正常。如图3所示,该过程包括如下步骤: 步骤301:开始数字证书状态验证。步骤302:获得证书的序列号SN。步骤303:计算SN与数字证书序列号的起始值BaseSN的差值,即计算Δ SN=SN-BaseSN0步骤304:取CRL缓存区中,Λ SN位置上的二进制值b。步骤305:判断该二进制位的b值是否为1,若为1,则执行步骤306 ;否则,执行步骤 307。步骤306:b为1,则证明该证书已被吊销,返回。步骤307:b不为1,则证明该证书有效。下面,结合具体实施例对缓存数字证书的过程和查询即验证数字证书是否有效本文档来自技高网...

【技术保护点】
一种数字证书的证书吊销列表缓存方法,其特征在于,该方法包括:A、根据数字证书的策略和实际情况,设置一个证书序列号的起始值BaseSN;B、向系统申请分配一段用于储存证书吊销列表CRL的内存,并对该段内存进行初始化,将CRL的缓存区内容清零;C、从数字证书颁发机构获取一个最新发布的CRL;D、解析所述的CRL,从CRL中得到TBSCertList;E、从TBSCertList中获得一个数字证书的序列号;F、计算所述序列号与BaseSN的差值ΔSN;G、设所述ΔSN为偏移量,将所述CRL缓存区中相应的二进制位置1;H、判断所述TBSCertList中是否还有其他数字证书的序列号,若没有,则执行步骤I;否则,则返回步骤E;I、步骤I:进一步判断是否还有其他CRL实体,若有,则返回步骤C;否则,结束所述CRL的缓存过程。

【技术特征摘要】
1.一种数字证书的证书吊销列表缓存方法,其特征在于,该方法包括: A、根据数字证书的策略和实际情况,设置一个证书序列号的起始值BaseSN; B、向系统申请分配一段用于储存证书吊销列表CRL的内存,并对该段内存进行初始化,将CRL的缓存区内容清零; C、从数字证书颁发机构获取一个最新发布的CRL; D、解析所述的CRL,从CRL中得到TBSCertList; E、从TBSCertList中获得一个数字证书的序列号; F、计算所述序列号与BaseSN的差值Asn; G、设所述Asn为偏移量,将所述CRL缓存区中相应的二进制位置I; H、判断所述TBSCertList中是否还有其他数字证书的序列号,若没有,则执行步骤I;否则,则返回步骤E ; 1、步骤1:进一步判断是否还有其他CRL实体,若有,则返回步骤C ;否则,结束所述CRL的缓存过程。2.根据权利要求1所述数字证书的证书吊销列表缓存方法,其...

【专利技术属性】
技术研发人员:李向锋
申请(专利权)人:北京数字认证股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1