CN1707999B - 证书撤销列表的管理方法和设备及其存储设备 - Google Patents
证书撤销列表的管理方法和设备及其存储设备 Download PDFInfo
- Publication number
- CN1707999B CN1707999B CN2005100667730A CN200510066773A CN1707999B CN 1707999 B CN1707999 B CN 1707999B CN 2005100667730 A CN2005100667730 A CN 2005100667730A CN 200510066773 A CN200510066773 A CN 200510066773A CN 1707999 B CN1707999 B CN 1707999B
- Authority
- CN
- China
- Prior art keywords
- crl
- equipment
- identifier
- doucment
- cancellation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在用于管理证书撤销列表(CRL)的方法中,第一设备(31,61)接收包括至少一个撤销证书标识符(SNi)的该CRL(33,67)。使用保密数据(KCRL)计算与该CRL(371,...,37p)的项相关联的完整性字段(MACi),其中项包括该CRL的至少一个撤销证书标识符。将该项以及所计算的其相关联的完整性字段传输到不同于该第一设备的第二设备(32,62);并将其存储到该第二设备中。该方法进一步包括检查证书的有效性。
Description
技术领域
本发明涉及安全数字网络。
背景技术
表示内容的数字数据通过通信网络进行传输所引起的问题是需要对所交换的数据进行保护和对数据拷贝的许可或禁止进行管理。
为了解决这些问题,多媒体硬件制造商已经提出的解决方案有,以数字形式传输内容而禁止这些内容的非法拷贝。这些解决方案通常包括使用密码***,其中通过受托方、例如通过鉴定机构产生一个或多个密钥,以及使用所谓的适应性设备或模块。每一密钥与证书相关联。该证书加密地与该密钥捆绑起来验证其所有者的身份。
可能会出现这样的情况,即密钥或包含秘密的适应性设备或模块被盗用。在前一种情况下,“盗窃者”成功地得到了该密钥。在后一种情况下,“盗窃者”得到了该秘密。
安全数字网络的一个范例是用于安全数字内容广播的***。
已知在用于安全数字内容广播的***中,需要管理包含密钥、设备或模块的标识符的撤销列表,其不再被受托第三方认为是适应性的,因为受托方已经知道了它们被盗用的事实。
该撤销列表必须传输给该***中的所有参与方,使得不再适用的密钥、设备或模块可以被标识,并不再被使用。例如,该***的适应设备会拒绝与非适应设备通信,或与传输非适应密钥的设备通信。
为了使得这样更有效,需要让该适应设备总是能够访问该撤销列表。
更具体地,该撤销列表可以包含不再被信任的证书列表。这种列表也就是熟知的证书撤销列表(CRL)。
CRL典型地包括项列表。为了进行唯一地标识,通过CRL发行者,例如通过受托第三方签发该CRL及其有效日。每一CRL项可以包括所要撤销的证书的序列号和撤销日期。
在该安全数字网络中使用的设备可以在其硬件规范上有所限制。这种设备可能不具备足够的存储和/或处理能力来在其存储器中存储全部 CRL和处理存储在其存储器中的CRL,以检查密钥即与该密钥相关联的证书是否出现在该CRL中。这种设备的范例就是广泛使用的智能卡,其带有包括存储器和处理单元的电子电路。智能卡频繁地被用来对数据进行加密或解密。
图1所述的范例为根据现有技术的智能卡。该智能卡11包括塑料卡12和内置的微芯片13,其能够安全地存储加密信息。该微芯片13包括能够与外部设备通信的引脚14。该微芯片13具有相对较小尺寸的存储器:该智能卡可能不能够存储全部的CRL。
然而,有可能使用智能卡对于存在的所确定的证书逐步地检查所签发的CRL。这样就避免将全部的CRL存储在该智能卡的存储器中。
图2A所述的范例为根据现有技术使用智能卡检查CRL的第一种方法。CRL21以连续的小数据块传输给智能卡22。典型地,CRL21包括CRL标识符NCRL、CRL签字SCRL和多个项(241、242、...24MAX),每一项包含关联的所撤销的证书的序列号(SN1、SN2、...SNMAX)。所传输的每一小数据块可以包括一个项或多个项,每一项包含单个所撤销证书的序列号SNi。智能卡22处理每一小数据块,以检查是否存在对应于所确定证书的项:典型地,智能卡22的处理装置23将所确定证书的序列号SN0与所传输的撤销证书的序列号SNi进行比较。
为了检查该CRL签字SCRL,该智能卡计算连续接收的小数据块的散列值。设计在产生该CRL签字SCRL中所使用的散列函数,使得可以逐块地计算散列值。在已经接收了所有的小数据块、即全部CRL,并获得总的散列值之后,将验证函数应用于该散列值、产生签字的受托第三方的公用密钥以及该CRL签字SCRL,从而可以检查该CRL的完整性。对于该智能卡所要检查的每个新证书,需要重复CRL的该完整性检查。
图2B所述的范例为根据现有技术,使用CRL用于对所确定的证书的有效性进行检查的第二种方法。CRL21存储在主机设备26中,该主机设备不同于智能卡22。将所确定证书的证书标识符SN0从该智能卡22传输到该主机设备26。
第二设备26的处理装置25在存储在该主机设备26内的CRL21的撤销证书标识符(SN1、SN2、...SNMAX)中查找该证书标识符SN0。
该主机设备26接下来将查找的结果传送给智能卡22,以指示所确定的证书是否有效。
例如,如果在CRL21内查找到相关的撤销证书标识符等于所传输的证书标识符SN0,该主机设备26将第一值分配给布尔变量BV,例如将布尔变量BV复位。如果处理装置25在CRL21内没有找到等于所传输的证书标识符SN0的任何相关的撤销证书标识符,该主机设备26将第二值分配给该布尔变量BV,例如置位该布尔变量BV。
该主机设备26将该布尔变量BV传输给该智能卡22。该布尔变量BV的值向该智能卡22指示,该CRL21是否包括等于将检查的该证书标识符SN0的相关撤销证书标识符。只有当所传输的布尔变量BV被置位时,所确定的该证书才被评估为有效。如果所传输的布尔变量BV被复位时,所确定的该证书被评估为无效。
该CRL21典型地包括CRL标识符NCRL和CRL签字SCRL。
该智能卡22也可以存储CRL标识符NCRL;当需要检查所确定的证书时,该智能卡22传输所存储的CRL标识符NCRL的值,从而能够检查存储在该主机设备26内的CRL21是当前有效的CRL。
该CRL签字SCRL使得能够检查CRL21的整体性。
US5793868A描述了用于鉴别撤销证书的信息包括产生识别撤销证书的数据,产生关于撤销证书的信息,该信息包括数据但不包括每一个撤销证书的撤销日期,并且使权限鉴别该信息。产生数据可以包括指定撤销证书的证书序列号。鉴别信息可以包括数字化标记单独信息、信息和日期信息、以及信息和附加数据中的至少一个。
发明内容
在第一方面,本发明提供一种用于管理证书撤销列表(CRL)的方法。在第一设备接收该CRL。该CRL包括至少一个所撤销的证书标识符。使用保密数据计算与该CRL的项相关联的完整性字段,其中项包括该CRL的至少一个所撤销的证书标识符。将该项以及所计算的其相关联的完整性字段传输到不同于该第一设备的第二设备。该方法进一步包括:将所传输的该项和该相关的完整性字段存储到该第二设备中。
在第一优选实施例中,在第一设备中执行将该证书撤销列表(CRL)划分到各项中。
在第二优选实施例中,该完整性字段是消息鉴别码。将与所接收到的CRL相关联的证书撤销列表(CRL)密钥选择作为该保密数据并将其存储在该第一设备中。
在第三优选实施例中,该方法进一步包括对中间数据应用散列函数,以计算该消息鉴别码。可以从包含至少一个撤销证书标识符的项以及从该CRL密钥得到该中间数据。
在第四优选实施例中,在该第二设备中存储多个所撤销的证书标识符。将所存储的撤销证书标识符组织成为至少一个安全项集的列表。每一安全项集包括至少一个撤销证书标识符、至少一个相关联的完整性字段以及该CRL的CRL标识符。对于每一安全项集,产生列表顺序字段。该列表顺序字段所具有的内容能够在存储于该第二设备中的该安全项集列表内确定安全项集的顺序。
在第五优选实施例中,将该CRL的CRL标识符存储到该第一设备中。
在第六优选实施例中,该方法进一步包括使用包含在该CRL内并通过发行该CRL的受托第三方所产生的证书撤销列表(CRL)签字来检查所接收到的CRL的完整性。
在第七优选实施例中,所接收到的CRL的完整性检查包括计算所接收到的CRL的散列值,并对所计算的散列值、受托第三方的公用密钥以及该签字应用验证函数,以评估该CRL的完整性。
在第八优选实施例中,在该第一设备接收CRL的小数据块。该CRL的小数据块包括至少一个所撤销的证书标识符。将包含至少一个所撤销的证书标识符以及相关联的完整性字段的至少一个项传输给该第二设备。在任何接收CRL的其它小数据块之前删除所接收到的该CRL的小数据块。
优选地该第一设备是智能卡,而该CRL标识符是CRL的CRL序列号。
在第九优选实施例中,该方法进一步包括检查证书的有效性。将证书的证书标识符从该第一设备传输到第二设备。检查存储在该第二设备中的项的列表,以估计该列表是否包括所具有的值对应于所传输的证书标识符的值的相关撤销证书标识符。根据所检查的结果将至少一个所撤销的证书标识符以及相关联的完整性字段传输到该第一设备。该方法进一步包括:在该第一设备通过使用所传输的该相关完整性字段来验证该至少一个所传输的撤销证书标识符的完整性,以及在该第一设备通过使用该至少一个所传输的撤销证书标识符来评估该证书的有效性。
在第十优选实施例中,使用该CRL密钥来验证所传输的该撤销证书标识符的完整性。
在第十一优选实施例中,存储在第二设备中的列表的每一安全项集包括单个所撤销的证书标识符。将相关安全项集的至少一部分传输到该第一设备。该相关的安全项集包含该相关的撤销证书标识符。
在第十二优选实施例中,该方法进一步包括:在该第一设备,将包含在所传输的安全项集中的所传输的证书撤销列表(CRL)标识符与所确定的CRL的标识符进行比较。所传输的该CRL标识符能够确保存储在该第二设备中的列表对应于所确定的该CRL。该方法进一步包括:在该第一设备,检查相关的该撤销证书标识符实际上等于该证书标识符。
在第十三优选实施例中,存储在第二设备中的列表的每一安全项集包括单个所撤销的证书标识符。该方法进一步包括将第一安全项集的至少一部分以及第二安全项集的至少一部分传输给该第一设备。该第一安全项集和该第二安全项集分别包含具有在所传输的证书标识符的期望顺序之前和之后紧接的顺序的撤销证书标识符。
在第十四优选实施例中,在该第一设备将包含在所传输的安全项集中的所传输的证书撤销列表(CRL)标识符与所确定的CRL的标识符进行比较。所传输的该CRL标识符能够确保存储在该第二设备中的列表对应于所确定的该CRL。该方法进一步包括:在该第一设备,检查该第一安全项集和该第二安全项集在存储于该第二设备中的列表内是连续的。该方法进一步包括:在该第一设备,检查该第一安全项集和该第二安全项集分别包含具有在所传输的证书标识符的期望顺序之前和之后紧接的顺序的撤销证书标识符。
在第十五优选实施例中,该列表的每一安全项集包括多个撤销证书标识符。该多个撤销的证书标识符在该安全项集内排序。
在第十六优选实施例中,将相关安全项集的至少一部分传输到该第一设备。该相关的安全项集包含该相关的撤销证书标识符。
在第十七优选实施例中,该方法进一步包括:在该第二设备中,查找包括第一撤销证书标识符和第二撤销证书标识符的替换安全项集。该第一撤销证书标识符和第二撤销证书标识符分别具有在该相关证书标识符的期望顺序之前和之后紧接的顺序。将该替换安全项集传输到该第一设备。
在第十八优选实施例中,将第一替换安全项集和第二替换安全项集传输到该第一设备。该第一替换安全项集和该第二替换安全项集分别包 含该第一撤销证书标识符和该第二撤销证书标识符。
在第十九优选实施例中,在该第一设备将包含在所传输的安全项集中的所传输的证书撤销列表(CRL)标识符与所确定的CRL的标识符进行比较。所传输的该CRL标识符能够确保存储在该第二设备(62)中的列表对应于所确定的该CRL。
在第二十优选实施例中,该列表顺序字段的内容是索引,该索引对应于该列表内的安全项集的顺序。该第一设备存储最大索引,该最大索引对应于该列表的最后一个安全项集的索引。
在第二十一优选实施例中,该列表顺序字段的内容是关于该列表内前一安全项集的信息。该第一设备存储该列表的第一个安全项集和最后一个安全项集。
优选地,该证书标识符是证书序列号。
在第三方面,本发明提供一种用于管理证书撤销列表(CRL)的设备,所述设备包括:
用于接收CRL的装置,该CRL包括至少一个所撤销的证书标识符;
用于使用保密数据计算与该CRL的项相关联的完整性字段的装置,其中项包括该CRL的至少一个所撤销的证书标识符;和
用于将该项以及所计算的其相关的完整性字段传输到不同于所述设备的第二设备的装置。
在第二十二优选实施例中,该设备进一步包括:
用于将所要检查的证书的证书标识符传输到该第二设备的装置;
用于从该第二设备接收包含至少一个撤销证书标识符和至少一个相关联的完整性字段的至少一个项的装置;
用于通过使用所传输的该相关联的完整性字段来验证该至少一个所传输的撤销证书标识符的完整性的装置;和
用于使用至少一个所传输的撤销证书标识符评估该证书的有效性的装置。
在第四方面,本发明提供一种用于存储和证书撤销列表(CRL)相关的划分项的设备,所述设备包括:
用于从第一设备接收包含该CRL的至少一个撤销证书标识符的至少一个项以及与该项相关联的完整性字段的装置;
存储器,用于存储多个撤销证书标识符,所存储的撤销证书标识符 被组织成为至少一个安全项集的列表,每一安全项集包括至少一个撤销证书标识符、至少一个相关联的完整性字段以及该CRL的CRL标识符;其中每一安全项集包括列表顺序字段,该列表顺序字段具有能够在存储于所述设备中的该安全项集的列表内确定安全项集的顺序的内容。
在第二十三优选实施例中,该设备进一步包括:
用于从第一设备接收证书标识符的装置;
处理装置,用于检查存储在该存储器中的项的列表,从而估计该列表是否包括所具有的值对应于所传输的证书标识符的值的相关撤销证书标识符;和
用于根据所检查的结果将至少一个撤销证书标识符以及该相关联的完整性字段传输到该第一设备的装置。
从下面的描述和所附的权利要求书可以清楚本发明的其它方面和优点。
附图说明
图1所述的范例为根据现有技术的智能卡。
图2所述的范例为根据现有技术,使用智能卡检查CRL的方法。
图2B所述的范例为根据现有技术,使用CRL用于对所确定的证书的有效性进行检查的第二种方法。
图3A和3B所述的范例为本发明的***。
图4所述为在根据本发明第一优选实施例的***中,通过主机设备所执行的范例算法。
图5所述为在根据本发明第一优选实施例的***中,通过智能卡所执行的范例算法。
图6所述的范例为根据本发明第二优选实施例的***。
具体实施方式
一般通过将所要检查的证书的标识符与证书撤销列表(CRL)的撤销证书的标识符进行比较来检查证书的有效性。
单个设备可以包括用于存储该CRL的存储器和用于执行该比较的处理装置。
可替换地,该设备可以是受限的存储器:例如,能够保护所要检查的证书和其它安全数据,但是不能将全部CRL存储在其存储器中的智能卡。
在根据现有技术的第一种方法中,每次需要检查证书时,逐个小数据块地将该CRL下载到该设备中。在该设备中处理所下载的每一小数据块,并在下载其它小数据块之前将其删除。可以证明这样是相对比较耗时的。
在根据现有技术的第二种方法中,主机设备存储该CRL,并在该CRL中进行查找证书标识符。将所查找的结果,例如表示该证书是否被检查为有效的布尔变量传输给该设备,例如智能卡。
然而,黑客可以向该智能卡传输假的查找结果。将该查找的结果改变,使得该证书被评估为有效。例如,该智能卡接收假的布尔变量,其具有表示该证书有效的值。
因此需要一种***和方法,能够使用存储器受限的设备更加安全地检查证书的有效性。
图3A和3B所述的范例为根据本发明的***。
该***包括第一设备31以及不同于该第一设备31的第二设备32。如图3A中所述,该第一设备31初始接收CRL33,处理所接收到的CRL33,并将所处理的CRL传输到该第二设备32。该第二设备32包括能够存储所处理的CRL的第二存储器34。
在该第一设备31所接收到的该CRL33包括至少一个撤销证书标识符(SN1,...,SNP)。
所接收到的CRL33在该第一设备31中进行处理,以将其划分成多个项(371,...,37P),每一项包括至少一个撤销证书标识符,并然后为该CRL的每一项计算完整性字段(MACi)。该计算包括保密数据,例如保密函数或者密钥。
将所计算的完整性字段(MACi)以及相关联的包括至少一个撤销证书标识符的项(SNi)传输到该第二设备(32),并存储在其中。
如果需要评估具有证书标识符SN0的证书,将该证书标识符SN0传输到该第二设备32,如图3B中所示。该第二设备的处理装置35能够检查存储在该第二存储器34中的所处理的CRL,从而估计该处理的CRL是否包括所具有的值等于该证书标识符SN0的值的相关撤销证书标识符。
可替换地,该处理装置是第三设备的一部分,该第三设备不同于该第一设备和该第二设备。
该第二设备32根据该检查的结果,将结果数据输出到该第一设备 31。该结果数据包括该列表的至少一个撤销证书标识符SNi0以及相关联的完整性字段MACi0。
所传输的该完整性字段MACi0能够检查相关联的该撤销证书标识符SNi0的完整性。
接下来使用所传输的撤销证书标识符SNi0来评估该证书SN0的有效性。
本发明的***能够快速地评估存储在具有相对较小存储器的第一设备中的证书的有效性。该第一设备必须在初始步骤仅一次处理CRL,如图3A中所述。将所处理的CRL存储在第二设备中,其能够在该第二设备查找该证书的证书标识符。
根据现有技术的第一种方法包括将该CRL逐个小数据块地下载到该第一设备,其比本发明的方法要更加耗时。
而且,本发明的方法包括验证所传输的结果数据的完整性,其能够检查所传输的撤销证书标识符SNi0的内容中的任何改变。本发明的方法因此比根据现有技术的第二种方法能够对证书的有效性进行更加安全的检查。
再次参照图3A,典型地在该第一设备31逐个小数据块的接收该CRL33。处理每一小数据块,并在第一设备31删除其之前将其传输到第二设备32。
在图3A中所述的范例中,每一小数据块可以包括一个或多个撤销证书标识符(SN1,...,SNP)。
对在该第一设备31所接收到的CRL33的小数据块进行的处理包括:将该小数据块划分成一个或几个项37i(每一项包括单个撤销证书标识符或多个撤销证书标识符),以及为每一项37i产生安全项集SESi。将每一安全项集SESi传输到该第二设备32并将其存储在该第二存储器34中。
从相关联的项37i产生每一安全项集SESi。除了索引i之外,安全项集SES1还包括至少一个相关联的项37i的撤销证书标识符SNi、为该项37i计算的完整性字段MACi以及CRL33的CRL标识符NCRL。
将该CRL的CRL标识符NCRL保持在第一设备31的第一存储器36中。
该完整性字段优选地是消息鉴别码MACi。在该第一设备31,根据该相关联的项37i的一个撤销证书标识符或多个标识符SNi以及根据在该第一设备31中所选择的CRL密钥KCRL计算该消息鉴别码MACi。
该CRL密钥KCRL可以附属到所确定的CRL,并且因此当在第一设备31接收到新的CRL时将其替换。可替换地,将该CRL密钥KCRL附属到该第一设备31并保持相同的值。
典型地,该第一设备31包括拾取装置39,以随机地拾取CRL密钥KCRL。对中间数据应用散列函数以计算该消息鉴别码MACi。根据该相关联的项37i的一个撤销证书标识符或多个标识符SNi以及根据CRL密钥KCRL得到该中间数据。
例如,该中间数据以二进制的形式存储,并包括对应于该相关联的项37i的一个撤销证书标识符或多个标识符SNi的标识符比特,随后是对应于CRL密钥KCRL的密钥比特。所计算的消息鉴别码MACi具有取决于该一个撤销证书标识符或多个标识符SNi以及该CRL密钥KCRL的值。
可替换地,在应用散列函数之前或之后使用CRL密钥KCRL对该项的一个撤销证书标识符或多个标识符SNi进行加密。
也可以通过对该项的一个撤销证书标识符或多个标识符SNi应用保密函数来计算该完整性字段。该加密函数可以保持在该第一设备中。
更一般地,该完整性字段可以是能够验证该项的一个撤销证书标识符或多个标识符SNi的完整性的任何其它数据。
该消息鉴别码MACi的计算也可以包括安全项集SESi的其它字段,例如表示在存储于该第二设备32中的列表中的该安全项集SESi的顺序的列表顺序字段。该消息鉴别码MACi因此能够验证该安全项集SESi的完整性。
当在该第一设备31和该第二设备32之间进行传输时,如果黑客成功地修改了撤销证书序列号SNi,则该完整性字段MACi能够检查该修改。
该第一设备31通过包含在该CRL33内的CRL签字SCRL,也能够检查所接收的CRL33自身的完整性,该签字SCRL通过发行该CRL的受托第三方产生。该第一设备31的加密装置38能够计算所接收到的CRL33的散列值。设计在产生该CRL签字SCRL中所使用的散列函数,使得可以逐块地计算散列值。然后将验证函数应用于所计算的该散列值、受托第三方的公用密钥以及签字SCRL,以评估该CRL33的完整性。
在根据现有技术的方法中需要为每一个所要检查的新证书重复该CRL的完整性检查,与其不同的是,本发明的方法只需要在初始步骤,当下载了新CRL时执行该检查。
图3A中所示的***能够从该第一设备31访问该CRL的撤销证书标识符。当需要评估证书时,将该证书标识符SN0传输到该第二设备32,如图3B中所示。
证书标识符SN0可以在所存储的安全项集(SES1,...,SESi,...,SESp)的列表之中查找。该第二设备32根据该查找的结果将至少一个安全项集SESi0的至少一部分传输到该第一设备31。所传输的部分至少包括该安全项集SESi0的撤销证书标识符SNi0以及完整性字段MACi0。
该第一设备31的验证装置311能够验证所传输的该撤销证书标识符SNi0的完整性。
接下来在该第一设备31的评估装置310中至少使用所传输的该撤销证书标识符SNi0来评估该证书的有效性。该评估典型地包括将所传输的撤销证书标识符SNi0与所要检查的证书的标识符SN0进行比较。
如果所传输的该撤销证书标识符SNi0与该证书标识符SN0具有相同值,该证书被评估为无效。
如果所传输的该撤销证书标识符SNi0与该证书标识符SN0具有不同值,该证书被评估为有效。
然而,该第一设备可以执行附加测试来检测黑客所进行的攻击。
该攻击例如可以包括非法修改在该第二设备中所实施的算法。例如,黑客修改该主机设备,使得该主机设备总是输出旧的撤销证书标识符以及相关联的消息鉴别码:在这种情况下,该证书标识符SN0与旧的撤销证书标识符相等的机会非常小。
在将证书标识符传输到该主机设备期间,黑客也可以成功地修改所要检查的撤销证书的证书标识符的值。该主机设备然后就不能找到该相关撤销证书标识符。
该第一设备因此典型地执行附加测试,以检测可能的攻击,诸如修改主机设备所执行的算法、或修改传输到该主机设备的证书标识符的值。
例如,如果所传输的撤销证书标识符SNi0与该证书标识符SN0之间的差值超出了预定的阈值,则该第一设备可以怀疑受到黑客攻击。
该第一设备也可以存储在检查不同证书时从主机设备接收到的先前的撤销证书标识符:如果所传输的撤销证书标识符SNi0与所存储的先前的撤销证书标识符具有相同的值,则该证书可以被评估为无效。
在本说明书进一步的段落中描述了一种优选的方法,其能够检测可能出现的对主机设备执行的算法所进行的修改,或者对所传输的证书标识符进行的修改。
该第一设备31优选地为智能卡。所要检查的该证书可以附属到该智能卡上:例如,在制造智能卡的时候将该证书下载到该智能卡。可替换地,可以有规律地替换该证书。
该CRL标识符NCRL优选地是该CRL的CRL序列号。
可替换地,该CRL标识符NCRL是该CRL的发行日期。
优选地,每一证书标识符是撤销证书的序列号或该序列号的一部分。
可替换地,该证书标识符可以是证书本身。
该证书标识符可以是能够标示该对应证书的任何数据。
如图3A和3B中所示,该拾取装置39、加密装置38、评估装置310以及验证装置311可以是该第一设备31的四个不同元件。然而,该拾取装置、加密装置、评估装置以及验证装置优选地是单个处理单元,例如该智能卡的微处理器的一部分。
该拾取装置39、加密装置38、评估装置310以及验证装置311与该第一存储器36、例如与智能卡存储器通信。
本发明的第一优选实施例
图4所述为在根据本发明第一优选实施例的***中,通过主机设备所执行的范例算法。该第二设备是与第一设备,例如与智能卡通信的主机设备。
在初始步骤期间,该智能卡将安全项集(SES1,...,SESj,...,SESjMAX)的列表传输给该主机设备。每一安全项集包括单个撤销证书序列号(SN1,...,SNj,...,SNjMAX)以及相关联的消息鉴别码。
每一安全项集(SES1,...,SESj,...,SESjMAX)进一步包括列表顺序字段。该列表顺序字段包括关于该列表内前一个安全项集的信息。该列表内的第一个安全项集SES1包括包含预定值的列表顺序字段。该智能卡存储第一个安全项集SES1以及最后一个安全项集SESjMAX。该列表顺序字段的内容因此能够在该列表内将该列表的安全项集(SES1,...,SESj,...,SESjMAX)进行排序。
可替换地,该列表顺序字段包含关于该列表内下一个安全项集的信 息,具有填充了预定值的列表顺序字段的最后一个安全项集SESjMAX。
可替换地,该列表顺序字段包括对应于该列表内的安全项集的顺序的索引。
更一般地,该列表顺序字段具有能够确定该列表内的安全项集的顺序的内容。
该主机设备包括能够存储该列表的第二存储器。在本发明的第一个优选实施例中,该安全项集以关于撤销证书序列号(SN1,...,SNj,...,SNjMAX)的升序存储在该列表中。
当证书需要被检查时,该智能卡将该证书的证书序列号SN0传输给主机设备。
该主机设备检查该列表,以估计该列表是否包括所具有的值等于所传输的证书序列号SN0的值的相关撤销证书序列号。
首先,将所传输的证书序列号SN0与该列表的第一个撤销证书序列号SN1进行比较(方框51)。
如果所传输的证书序列号SN0小于该第一个撤销证书序列号SN1,该主机设备将该第一安全项集SES1传输给该智能卡(方框52)。
如果所传输的证书序列号SN0大于该第一个撤销证书序列号SN1,进行第二检测:将所传输的证书序列号SN0与该列表的最后一个撤销证书序列号SNjMAX进行比较(方框53)。
如果所传输的证书序列号SN0大于该最后一个撤销证书序列号SNjMAX,该主机设备将该最后一个安全项集SESjMAX传输给该智能卡(方框54)。
如果所传输的证书序列号SN0大于该第一个撤销证书序列号SN1并小于该最后一个撤销证书序列号SNjMAX,该主机设备将索引变量i复位(方框55)。该索引变量接下来开始递增(方框56)。
进一步检查所传输的证书序列号SN0是否等于对应于当前索引变量i的当前撤销证书序列号SNi(方框57)。
如果所传输的证书序列号SN0等于当前的撤销证书序列号SNi,即该列表包括等于所传输的该证书序列号SN0的相关撤销证书序列号,该主机设备传输该相关安全项集SESi作为一个结果数据(方框58)。
否则,将当前的撤销证书序列号SNi与所传输的该证书序列号SN0进行比较(方框59),如果SNi小于SN0,该索引变量i递增(方框56)。
相反,如果SNi大于SN0,这就意味着SN0包括在SNi-1与SNi之间,该主机设备将对应于分跨在所传输的证书序列号SN0两边的两个撤销证书序列号的两个安全项集SESi-1和SESi作为结果数据传输给该智能卡(方框510)。
图4中所示的在该列表中查找所传输的证书序列号SN0的算法只是范例。可以使用各种算法实施该查找。
图5所述为在根据本发明第一优选实施例的***中,通过智能卡所执行的范例算法。
该智能卡与主机设备通信,其执行证书序列号SN0的查找,并且传输结果数据RD,如图4中所示。该智能卡接收结果数据RD(方框512),即存储在该主机设备中的列表的一个或两个安全项集。
该智能卡检查该结果数据RD是否包括一个或两个安全项集(方框513)。
如果接收单个安全项集SESi0作为结果数据,那么认为存储在该主机设备中的列表包括等于该证书序列号SN0的相关撤销证书序列号SNi0,或者认为满足“限制”条件之一(SESi0=SES1或者SESi0=SESjMAX)。然后在将该证书评估为无效(方框517)之前执行多个检查(方框514、515和516)。
第一个检查包括验证:包含在所接收的安全项集SESi0内的所传输的CRL标识符NCRL (i0)等于在初始步骤中存储在该智能卡中的CRL标识符NCRL。该第一个检查能够确保存储在该主机设备中的该列表对应于所确定的实际生效的该证书撤销列表(CRL)。
第二个检查(方框515)包括:根据包含在所传输的安全项集SESi0中的消息鉴别码MACi0以及根据存储在智能卡中的CRL密钥KCRL,验证所传输的安全项集SESi0的完整性。例如,该智能卡对从该相关撤销证书序列号SNi0以及从存储在该智能卡中的CRL密钥KCRL得到的中间数据应用散列函数,从而获得该相关撤销证书序列号SNi0的验证码。将该相关撤销证书序列号SNi0的验证码与包含在所传输的安全项集SESi0中的消息鉴别码MACi0进行比较:如果不同,则认为所传输的安全项集SESi0的内容发生了变化。
第三个检查包括验证该相关撤销证书序列号SNi0实际等于证书序列号SN0(方框516)。
如果成功地执行了这三个检查(方框514、515和516),那么该证书被评估为无效(方框517)。
如果在第三个检查中,发现SNi0不同于该证书序列号SN0,那么执行第四个检查,其包括验证SN0是否小于SNi0(方框524),仅当SESi0=SES1时才出现这种情况。如果该第四个检查成功,那么就认为具有序列号SN0的该证书有效(方框522)。相反,执行第五个检查,以验证SN0是否大于SNi0(方框525),仅当SESi0=SESjMAX时才出现这种情况。如果该第五个检查成功,该证书就被评估为有效(方框522)。
否则,如果在方框514、515或525中所执行的任何一个检查为否,那么就认为该主机响应错误(方框523)。在这种情况下,根据所选择的实施方式,该证书可以被评估为无效或者重新启动全部过程:该智能卡31再次将所要检查的该证书的序列号SN0传输给该主机32,并等待另一个结果数据。可以重复从该主机对结果数据的请求,直至达到最大次数(例如两次或三次)。
再次返回方框513,在对该结果数据的检查之后,如果估计该结果数据包括一组两个所传输的安全项集,则在能够对该证书的有效性进行任何评估(方框522)之前执行多个检查(方框518、519、520和521)。
将分别包含在第一个所接收到的安全项集SESj0以及在第二个所接收到的安全项集SESk0中的所传输的CRL标识符NCRL (j0)和NCRL (k0)与存储在该智能卡中的CRL标识符NCRL进行比较(方框518)。这种第六检查(方框518)能够确保存储在该主机设备中的列表对应于所确定的实际有效的证书撤销列表(CRL)。如果任何一个所传输的CRL标识符NCRL (j0)和NCRL (k0)不同于存储在该智能卡中的CRL标识符NCRL,就可以认为该智能卡或者该主机设备已经被欺诈性地替换了。接下来可以认为该证书是无效的。
根据包含在该第一个所传输的安全项集SESj0中的消息鉴别码MACj0和根据存储在该智能卡中的CRL密钥KCRL验证第一个所传输的安全项集SESj0的完整性(方框519)。可以通过散列函数执行这种第七检查:如在第二检查(方框515)中的那样,例如可以将该散列函数应用于从所传输的第一撤销证书序列号SNj0和从该CRL密钥KCRL得到的中间数据。如果该第七检查(方框519)导致认为第一个所传输的安全项集SESj0的内容发生了改变,可以将该证书评估为无效。
类似地,根据包含在该第二个所传输的安全项集SESk0中的消息鉴别码MACk0和根据存储在该智能卡中的CRL密钥KCRL验证第二个所传输的安全项集SESk0的完整性(方框519)。
接下来的检查是该第一个所传输的安全项集SESj0和该第二个所传输的安全项集SESk0在存储于该第二设备中的列表内实际上是连续的(方框520)。典型地通过使用所传输的安全项集SESj0和SESk0的列表顺序字段来执行这种第八检查(方框520)。
如在第一优选实施例中所述,如果该列表的给定安全项集的每一列表顺序字段包括关于前一安全项集的信息,则该第八检查可以包括:验证包含在该第二个安全项集SESk0的列表顺序字段内的信息实际上对应于该第一个安全项集SESj0。
可替换地,该列表的给定安全项集的每一列表顺序字段包括给定安全项集的索引:在这种情况下,该检查可以简单地包括验证与该第一个安全项集SESj0以及该第二个安全项集SESk0相关联的索引实际上是连续的。
最后,该智能卡检查该第一个安全项集SESj0和该第二个安全项集SESk0分别位于紧接在存储于该主机设备的列表内的相关安全项集之前和之后(方框521)。
在本发明的第一优选实施例中,其中该列表的安全项集以关于该撤销证书序列号(SN1,...,SNj,...,SNjMAX)的升序排列,该第九检查(方框521)包括:验证该证书序列号SN0具有介于分别包含在该第一个安全项集SESj0和该第二个安全项集SESk0中的第一个撤销证书序列号SNj0的值与第二个撤销证书序列号SNk0的值之间的值。
该第六检查(方框518)、第七检查(方框519)、第八检查(方框520)和第九检查(方框521)能够提供更加完善安全的***。实际上,该主机设备典型地是无保护的设备:黑客不仅可以改变在该智能卡与该主机设备之间传输的数据,而且可以访问该主机设备的处理装置以及修改所实施的算法。
例如,使用现有技术的第二种方法,黑客可以修改该处理装置,使得传输到该智能卡的布尔变量总是具有相同的值,即所要检查的任何证书都被评估为有效的。
使用根据本发明的***,黑客可以修改所实施的算法,使得对于所 传输的证书标识符SN0的任何值,总是向该智能卡传输相同配合的撤销证书标识符和相关联的消息鉴别码。典型地,该配合包括旧的撤销证书标识符,从而确保任何相对新的证书被评估为有效。然而,根据本发明第一实优选施例的该方法能够检测主机设备的这种算法的故障:具体而言,第九检查(方框521)可以实现使得撤销证书标识符的该配合实际上并不分跨在该列表内的所传输的标识符的两边。接着,就可以将该证书标识符评估为无效。也可以阻止或禁止该智能卡与该主机设备通信。
如果该第六检查(方框518)、第七检查(方框519)、第八检查(方框520)和第九检查(方框521)成功地执行,该证书就被评估为有效(方框522)。
否则,如果在方框518、519、520或521中所执行的任何一个检查为否,那么就认为该主机响应错误(方框523),这就意味着或者该证书被评估为无效,或者再次启动该处理,如前所述。
图5所示只是在该智能卡中实施的范例算法。可以按照不同的顺序执行检查(方框514、515、516、518、519、520和521)。例如,可以在检查该结果数据是否包括一个或两个安全数据项集之前,检查所传输的CRL标识符和所传输的安全项集的完整性:该智能卡检查一个所传输的CRL标识符和单个所传输的安全项集的完整性,该结果数据是否包括一个或两个安全项集。
本发明的第二优选实施例
图6所示的范例为根据本发明第二优选实施例的***。该***包括第一设备,例如具有存储器66的智能卡61,以及与该第一设备61通信的第二设备,例如具有存储器64和处理装置65的主机设备62。首先在该智能卡61中处理通过附图标记67表示的证书撤销列表(CRL),以产生安全项集SESi,然后将其存储在该主机存储器64中。
在本发明的第二优选实施例中,从该CRL的多个所撤销的证书序列号(SN1,...SNjMAX)中产生每一安全项集SESi。每一安全项集SESi可以包括预定数目的撤销证书序列号(例如四个),或者每一安全项集的撤销证书序列号的数目是可变的。
每一安全项集SESi包括CRL标识符NCRL,其是该CRL67的特征,可以从其产生该安全项集。
该安全项集也包括定义该安全项集(SES1,...,SESi,...,SESiMAX)之 间的顺序的列表顺序字段(631,...,63i,...,63iMAX),例如索引,如图6中所示。
每一单个安全项集SESi的撤销证书序列号(SNfi,...SN1i)也在该安全项集内排序,例如从第一个撤销证书序列号SNfi至最后一个撤销证书序列号SN1i按照升序排列,如图6中所示。
根据安全项集SESi的多个撤销证书序列号(SNfi,...SN1i)以及根据该CRL密钥KCRL进一步计算每一安全项集SESi的消息鉴别码(MAC1,...,MACi,...,MACiMAX)。可替换地,也可以使用安全项集SESi的其它字段来计算该MACi值。
该安全项集进一步可以包括附加字段,例如具有该智能卡的智能卡标识符的字段,假设该主机设备能够支持其工作。
该智能卡存储能够进一步检查从该主机设备接收到的结果数据的多个参数。典型地,该智能卡存储CRL标识符NCRL,其是所确定的当前有效的CRL的特征,在计算消息鉴别码(MAC1,...,MAC16)中所使用的CRL密钥KCRL。根据所选择的实施方式,也可以在该智能卡中存储对应于该列表的最后一个安全项集SESiMAX的最大索引iMAX和/或每个安全项集的预定数目的撤销证书序列号。
当该智能卡61需要检查具有证书序列号SN0的证书的有效性,该智能卡将证书序列号SN0传输给该主机设备62,并且该主机设备在安全项集(SES1,...,SESi,...,SESiMAX)的列表中查找该证书序列号SN0。
如果该主机设备的处理装置65发现该列表包括了相关安全项集SESi0,其所包含的相关撤销序列号SNi0等于该证书序列号SN0,则将该相关安全项集传输给该智能卡作为结果数据。
相反,如果该主机设备的处理装置65没有找到所包含的相关撤销序列号SNi0等于该证书序列号SN0的任何相关安全项集,则该主机设备按照如下所述返回结果数据。
在第一替换形式中,我们假设该CRL67的撤销证书序列号(SN1,...SNiMAX)没有任何冗余地存储在该安全项集(SES1,...,SESi,...,SESiMAX)中。在这种替换形式中:
或者该主机的处理装置65可以找到相关的安全项集SESi0,其包含两个撤销证书序列号SNj和SNj+1,使得SNj<SN0<SNj+1,在这种情况下,该主机62将该相关的安全项集SESi0作为结果数据发送给该智能卡61;
或者该主机的处理装置65发现相关证书序列号SN0包括在安全项集SESi0的最后一个撤销证书序列号SN1i0与下一个安全项集SESi0+1的第一个撤销证书序列号SNfi0+1之间,在这种情况下,该主机62将该连续的安全项集SESi0和SESi0+1作为结果数据发送给该智能卡61。
在第二替换形式中,我们假设该CRL67的撤销证书序列号(SN1,...SNiMAX)存储在该安全项集(SES1,...,SESi,...,SESiMAX)中,使得给定安全项集SESi的每一最后一个撤销证书序列号SN1i(除了最后一个安全项集SESiMAX)也被存储作为接续的安全项集SESi+1的第一个撤销证书序列号SNfi+1,即SN1i=SNfi+1。在该第二替换形式中,该主机的处理装置65应该总是能够找到包含两个撤销证书序列号SNj和SNj+1的相关安全项集SESi0,使得SNj<SN0<SNj+1,在这种情况下,该主机62将该相关的安全项集SESi0作为结果数据发送给该智能卡61。
然而在上述两个替换形式中,我们可以具有的“限制”条件是该证书序列号SN0小于该列表的第一个安全项集SES1的第一个撤销证书序列号SNf1=SN1,在这种情况下,该主机62向该智能卡61传输第一个安全项集SESi。
类似地,如果该证书序列号SN0大于该列表的最后一个安全项集SESiMAX的最后一个撤销证书序列号SN1iMAX=SNjMAX,在上述两种替换形式中可以满足另一“限制”条件,在这种情况下,该主机设备62向该智能卡61传输最后一个安全项集SESiMAX。
如在本发明的第一优选实施例中所述,该智能卡61根据所接收到的结果数据执行多个检查。
在第二优选实施例中,该结果数据包括该列表的至少一个安全项集SESi0。该智能卡61检查包含在所传输的安全项集中的所传输的CRL标识符NCRL实际上等于存储在该智能卡61中的CRL标识符,于是能够确保存储在该主机设备中的列表对应于有效的CRL。
也可以根据相关联的消息鉴别码MACi0和根据存储在该智能卡61中的CRL密钥KCRL验证至少一个所传输的安全项集SESi0的完整性。
如果该结果数据包括单个安全项集,所传输的该安全项集可以包含等于该证书序列号SN0的相关撤销证书序列号,其可以包含使得SNj<SN0<SNj+1的两个撤销证书序列号SNj和SNj+1,或者如果满足上述“限制”条件的其中一个,则所传输的该安全项集可以等于SES1或SESiMAX。该智能 卡因此确定该单个安全项集SESi0是否包括该相关的证书序列号SN0。
在前一种情况下,估计该证书序列号SN0包含在当前证书撤销列表中,并且对应的证书是无效的。
在后一种情况下,该智能卡检查所接收的SESi0的单个安全项集实际上包括使得SNj<SN0<SNj+1的两个撤销证书序列号SNj和SNj+1,或者该证书序列号SN0小于该安全项集SESi0的第一个撤销证书序列号SNfi0(如果SESi0=SES1),或者SN0大于该安全项集SESi0的最后一个撤销证书序列号SN1i0(如果SESi0=SESiMAX)。
如果该智能卡所接收到的结果数据包括两个安全项集SESi0和SESi0+1,则该智能卡61在两个安全项集的撤销证书序列号中查找使得SNj<SN0<SNj+1的两个撤销证书序列号SNj和SNj+1。
当已经在该结果数据中识别两个撤销证书序列号SNj和SNj+1时,不管该结果数据是否包括一个或两个安全项集,该智能卡检查这两个撤销证书序列号SNj和SNj+1实际上在该列表中是连续的。接下来将该证书评估为有效。
当满足“限制”条件之一时,即当该证书序列号SN0小于所接收到的安全项集SESi0的第一个撤销证书序列号SNfi0(如果SESi0=SES1),或者当SN0大于该安全项集SESi0的最后一个撤销证书序列号SN1i0(如果SESi0=SESiMAX)时,具有序列号SN0的证书也可以估计为有效。
虽然已经描述了本发明有限数目的实施例,但是本领域的技术人员在本说明书的基础上可以理解的是,不脱离此处所描述的本发明的范围可以得到其它的实施例。相应地,应该只通过所附的权利要求书来限制本发明的范围。
Claims (26)
1.一种用于管理证书撤销列表(CRL)的方法,该方法包括:
在第一设备接收该CRL,该CRL包括至少一个所撤销的证书标识符;
在第一设备将该CRL划分成多个项,然后使用保密数据计算与该CRL的每个项相关联的完整性字段,其中每个项包括该CRL的至少一个撤销证书标识符;
将每个项以及所计算的其相关联的完整性字段传输到不同于该第一设备的第二设备;和
将所传输的项与该相关的完整性字段存储到该第二设备中。
2.根据权利要求1的方法,其中:该完整性字段是消息鉴别码;
该方法进一步包括:
将与所接收到的CRL相关联的证书撤销列表密钥选择作为该保密数据:
将所选择的CRL密钥存储在该第一设备中。
3.根据权利要求2的方法,进一步包括:
对中间数据应用散列函数,以计算该消息鉴别码;从包含至少一个撤销证书标识符的项以及从该CRL密钥得到该中间数据。
4.根据权利要求1至3的任一权利要求的方法,进一步包括:
在该第二设备中存储多个撤销证书标识符,将所存储的撤销证书标识符组织成为至少一个安全项集的列表;每一安全项集包括至少一个撤销证书标识符、至少一个相关联的完整性字段以及该CRL的CRL标识符;
产生每一安全项集的列表顺序字段,该列表顺序字段具有能够在存储于该第二设备中的该安全项集的列表内确定安全项集的顺序的内容。
5.根据权利要求4的方法,进一步包括:
将该CRL的CRL标识符存储到该第一设备中。
6.根据权利要求1或5的方法,进一步包括:
在该第一设备,使用包含在该CRL内并通过发行该CRL的受托第三方所产生的证书撤销列表签字检查所接收到的CRL的完整性。
7.根据权利要求6的方法,其中所接收到的CRL的完整性检查包括:
计算所接收到的CRL的散列值;
对所计算的散列值、受托第三方的公用密钥和该签字应用验证函数,以评估该CRL的完整性。
8.根据权利要求1至3的任一权利要求的方法,进一步包括:
在该第一设备接收CRL的小数据块,该CRL的小数据块包括至少一个撤销证书标识符;和
将包含至少一个撤销证书标识符以及相关联的完整性字段的至少一个项传输给该第二设备;
在任何接收CRL的其它小数据块之前删除所接收到的该CRL的小数据块。
9.根据权利要求4的方法,其中:
该第一设备是智能卡;
该CRL标识符是CRL的CRL序列号;
该至少一个撤销证书标识符是撤销证书的序列号。
10.根据权利要求4的方法,进一步包括:
检查证书的有效性,其中检查该证书的有效性包括:
将该证书的证书标识符从该第一设备传输到第二设备;
在该第二设备,检查存储在该第二设备中的项的列表,从而估计该列表是否包括所具有的值对应于所传输的证书标识符的值的相关撤销证书标识符;
根据所检查的结果将至少一个撤销证书标识符以及相关联的完整性字段传输到该第一设备;
在该第一设备,通过使用所传输的该相关联的完整性字段来验证至少一个所传输的该撤销证书标识符的完整性;以及
在该第一设备,通过使用至少一个所传输的该撤销证书标识符来评估该证书的有效性。
11.根据权利要求10的方法,其中该方法进一步包括:
使用该CRL密钥来验证所传输的该撤销证书标识符的完整性。
12.根据权利要求10的方法,其中:
存储在第二设备中的列表的每一安全项集包括单个撤销证书标识符;该方法进一步包括:
将相关的安全项集的至少一部分传输到该第一设备,该相关的安全项集包含该相关的撤销证书标识符。
13.根据权利要求12的方法,该方法还包括:
在该第一设备将包含在所传输的安全项集中的所传输的证书撤销列表标识符与所确定的CRL的标识符进行比较,所传输的该CRL标识符能够确保存储在第二设备中的列表对应于所确定的该CRL;
在该第一设备检查相关的该撤销证书标识符实际上等于该证书标识符。
14.根据权利要求10的方法,其中:
存储在第二设备中的列表的每一安全项集包括单个撤销证书标识符;
该方法进一步包括:
将第一安全项集的至少一部分以及第二安全项集的至少一部分传输给该第一设备,该第一安全项集和该第二安全项集分别包含具有在所传输的证书标识符的期望顺序之前和之后紧接的顺序的撤销证书标识符。
15.根据权利要求14的方法,该方法进一步包括在该第一设备执行下列步骤:
将包含在所传输的安全项集中的所传输的证书撤销列表标识符与所确定的CRL的标识符进行比较,所传输的该CRL标识符能够确保存储在该第二设备中的列表对应于所确定的该CRL;
检查该第一安全项集和该第二安全项集在存储于该第二设备中的列表内是连续的;以及
检查该第一安全项集和该第二安全项集分别包含具有在所传输的证书标识符的期望顺序之前和之后紧接的顺序的撤销证书标识符。
16.根据权利要求10的方法,其中:
存储于第二设备中的安全项集的列表的每一安全项集包括多个撤销证书标识符,该多个撤销的证书标识符在该安全项集内排序。
17.根据权利要求16的方法,进一步包括:
将相关的安全项集的至少一部分传输到该第一设备,该相关的安全项集包含该相关的撤销证书标识符。
18.根据权利要求16的方法,进一步包括:
在该第二设备中查找包括第一撤销证书标识符和第二撤销证书标识符的替换安全项集,该第一撤销证书标识符和该第二撤销证书标识符分别具有在该相关的证书标识符的期望顺序之前和之后紧接的顺序;以及将该替换安全项集传输到该第一设备。
19.根据权利要求18的方法,进一步包括:
将第一替换安全项集和第二替换安全项集传输到该第一设备,该第一替换安全项集和该第二替换安全项集分别包含该第一撤销证书标识符和该第二撤销证书标识符。
20.根据权利要求17、18或19的方法,进一步包括:
在该第一设备将包含在所传输的安全项集中的所传输的证书撤销列表标识符与所确定的CRL的标识符进行比较,所传输的该CRL标识符能够确保存储在该第二设备中的列表对应于所确定的该CRL。
21.根据权利要求12的方法,其中:
该列表顺序字段的内容是索引,该索引对应于该列表内的安全项集的顺序;
该第一设备存储最大索引,该最大索引对应于该列表的最后一个安全项集的索引。
22.根据权利要求12的方法,其中:
该列表顺序字段的内容是关于该列表内的前一安全项集的信息;
该第一设备存储该列表的第一个安全项集和最后一个安全项集。
23.一种用于管理证书撤销列表(CRL)的设备,所述设备包括:
用于接收CRL的装置,该CRL包括至少一个撤销证书标识符;
用于将CRL划分成多个项并使用保密数据计算与该CRL的每个项相关联的完整性字段的装置,其中每个项包括该CRL的至少一个撤销证书标识符;和
用于将每个项以及所计算的其相关的完整性字段传输到不同于所述设备的第二设备的装置。
24.根据权利要求23的设备,进一步包括:
用于将所要检查的证书的证书标识符传输到所述第二设备的装置;
用于从所述第二设备接收包含至少一个撤销证书标识符和至少一个相关联的完整性字段的至少一个项的装置;
用于通过使用所传输的该相关联的完整性字段来验证该至少一个所传输的撤销证书标识符的完整性的装置;和
用于使用至少一个所传输的撤销证书标识符评估该证书的有效性的装置。
25.一种用于存储与证书撤销列表(CRL)相关的划分项的设备,所述设备包括:
用于从第一设备接收包含该CRL的至少一个撤销证书标识符的至少一个项以及与该项相关联的完整性字段的装置;
存储器,用于存储多个撤销证书标识符,所存储的撤销证书标识符被组织成为至少一个安全项集的列表,每一安全项集包括至少一个撤销证书标识符、至少一个相关联的完整性字段以及该CRL的CRL标识符;其中每一安全项集包括列表顺序字段,该列表顺序字段具有能够在存储于所述设备中的该安全项集的列表内确定安全项集的顺序的内容。
26.根据权利要求25的设备,进一步包括:
用于从第一设备接收证书标识符的装置;
处理装置,用于检查存储在该存储器中的项的列表,从而估计该列表是否包括所具有的值对应于所传输的证书标识符的值的相关撤销证书标识符;和
用于根据所检查的结果将至少一个撤销证书标识符以及该相关联的完整性字段传输到该第一设备的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04291124.8 | 2004-05-03 | ||
EP04291124A EP1594250A1 (en) | 2004-05-03 | 2004-05-03 | Distributed management of a certificate revocation list |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1707999A CN1707999A (zh) | 2005-12-14 |
CN1707999B true CN1707999B (zh) | 2010-12-22 |
Family
ID=34931067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100667730A Expired - Fee Related CN1707999B (zh) | 2004-05-03 | 2005-04-30 | 证书撤销列表的管理方法和设备及其存储设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8131996B2 (zh) |
EP (1) | EP1594250A1 (zh) |
JP (1) | JP4774235B2 (zh) |
KR (1) | KR101038331B1 (zh) |
CN (1) | CN1707999B (zh) |
BR (1) | BRPI0501608A (zh) |
DE (1) | DE602005001351T2 (zh) |
TW (1) | TWI384829B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1594250A1 (en) * | 2004-05-03 | 2005-11-09 | Thomson Licensing | Distributed management of a certificate revocation list |
US8504849B2 (en) | 2004-12-21 | 2013-08-06 | Sandisk Technologies Inc. | Method for versatile content control |
US8051052B2 (en) | 2004-12-21 | 2011-11-01 | Sandisk Technologies Inc. | Method for creating control structure for versatile content control |
US8601283B2 (en) | 2004-12-21 | 2013-12-03 | Sandisk Technologies Inc. | Method for versatile content control with partitioning |
US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US9177114B2 (en) * | 2005-10-04 | 2015-11-03 | Google Technology Holdings LLC | Method and apparatus for determining the proximity of a client device |
US9054879B2 (en) * | 2005-10-04 | 2015-06-09 | Google Technology Holdings LLC | Method and apparatus for delivering certificate revocation lists |
IL174614A (en) * | 2006-03-29 | 2013-03-24 | Yaakov Levy | Method of enforcing use of certificate revocation lists |
KR101346734B1 (ko) * | 2006-05-12 | 2014-01-03 | 삼성전자주식회사 | 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치 |
US8266711B2 (en) | 2006-07-07 | 2012-09-11 | Sandisk Technologies Inc. | Method for controlling information supplied from memory device |
US8245031B2 (en) | 2006-07-07 | 2012-08-14 | Sandisk Technologies Inc. | Content control method using certificate revocation lists |
US8140843B2 (en) | 2006-07-07 | 2012-03-20 | Sandisk Technologies Inc. | Content control method using certificate chains |
WO2008013655A2 (en) * | 2006-07-07 | 2008-01-31 | Sandisk Corporation | Content control system and method using certificate revocation lists |
US8613103B2 (en) | 2006-07-07 | 2013-12-17 | Sandisk Technologies Inc. | Content control method using versatile control structure |
CN101490688A (zh) * | 2006-07-07 | 2009-07-22 | 桑迪士克股份有限公司 | 使用证书撤回列表的内容控制***和方法 |
US8639939B2 (en) | 2006-07-07 | 2014-01-28 | Sandisk Technologies Inc. | Control method using identity objects |
KR101356736B1 (ko) * | 2007-01-19 | 2014-02-06 | 삼성전자주식회사 | 콘텐츠의 무결성을 확인하기 위한 콘텐츠 제공 장치 및방법 및 콘텐츠 사용 장치 및 방법, 및 콘텐츠 사용 장치를폐지하는 콘텐츠 제공 장치 및 방법 |
US8819450B2 (en) * | 2008-11-25 | 2014-08-26 | Dell Products L.P. | System and method for providing data integrity |
US8347081B2 (en) * | 2008-12-10 | 2013-01-01 | Silicon Image, Inc. | Method, apparatus and system for employing a content protection system |
US9104618B2 (en) | 2008-12-18 | 2015-08-11 | Sandisk Technologies Inc. | Managing access to an address range in a storage device |
US20100205429A1 (en) * | 2009-02-10 | 2010-08-12 | Gm Global Technology Operations, Inc. | System and method for verifying that a remote device is a trusted entity |
CN101572707B (zh) * | 2009-05-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种证书状态的验证方法、装置和*** |
CN102315938A (zh) * | 2011-07-11 | 2012-01-11 | 北京信安世纪科技有限公司 | 一种提高数字证书撤销列表安全性的方法 |
TWI433558B (zh) | 2011-12-05 | 2014-04-01 | Ind Tech Res Inst | 動態調整憑證撤銷清單更新頻率的方法及系統 |
DE102014204044A1 (de) * | 2014-03-05 | 2015-09-10 | Robert Bosch Gmbh | Verfahren zum Widerrufen einer Gruppe von Zertifikaten |
CN104579689B (zh) * | 2015-01-20 | 2018-02-13 | 中城智慧科技有限公司 | 一种软密钥***及实现方法 |
US10530587B2 (en) * | 2015-07-07 | 2020-01-07 | Openvpn Technologies, Inc. | Web scale authentication |
US10129025B2 (en) * | 2016-09-19 | 2018-11-13 | Red Hat, Inc. | Binding data to a network in the presence of an entity with revocation capabilities |
CN108365962B (zh) * | 2018-01-02 | 2021-04-06 | 北京信安世纪科技股份有限公司 | 一种证书吊销列表查询方法及装置 |
CN113256877B (zh) * | 2020-12-31 | 2024-02-02 | 深圳怡化电脑股份有限公司 | 纸币信息管理方法、装置、存储介质和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793868A (en) * | 1996-08-29 | 1998-08-11 | Micali; Silvio | Certificate revocation system |
CN1327663A (zh) * | 1999-08-09 | 2001-12-19 | 皇家菲利浦电子有限公司 | 更新撤销列表以抵制对方 |
US6487658B1 (en) * | 1995-10-02 | 2002-11-26 | Corestreet Security, Ltd. | Efficient certificate revocation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2675032B2 (ja) * | 1987-12-21 | 1997-11-12 | 株式会社日立製作所 | 伝票圧縮文の作成方法 |
US6453416B1 (en) * | 1997-12-19 | 2002-09-17 | Koninklijke Philips Electronics N.V. | Secure proxy signing device and method of use |
JP3543618B2 (ja) * | 1998-05-27 | 2004-07-14 | 三菱電機株式会社 | 失効情報検証方式 |
JP2974019B1 (ja) * | 1998-08-26 | 1999-11-08 | 日本電気株式会社 | 移動通信システム、並びにソフトハンドオーバー処理方法及びこれが書き込まれた記憶媒体 |
CN1326352C (zh) * | 1999-12-03 | 2007-07-11 | 三洋电机株式会社 | 数据传输***及用于该***的记录装置 |
US7120607B2 (en) * | 2000-06-16 | 2006-10-10 | Lenovo (Singapore) Pte. Ltd. | Business system and method using a distorted biometrics |
KR20010008268A (ko) * | 2000-11-20 | 2001-02-05 | 이계철 | 가입자 단말의 시스템 시간 설정을 위한 타임 스탬핑서비스 방법 |
US20020073310A1 (en) * | 2000-12-11 | 2002-06-13 | Ibm Corporation | Method and system for a secure binding of a revoked X.509 certificate to its corresponding certificate revocation list |
WO2003088565A1 (en) * | 2002-04-17 | 2003-10-23 | Matsushita Electric Industrial Co., Ltd. | System and devices for information input/output and key management |
EP1616334A1 (en) * | 2003-03-24 | 2006-01-18 | Matsushita Electric Industrial Co., Ltd. | Recording medium recording apparatus and reproducing apparatus |
CA2548546A1 (en) * | 2003-12-18 | 2005-06-30 | Matsushita Electric Industrial Co., Ltd. | Method for storing, authenticalting and executing an application program |
EP1594250A1 (en) * | 2004-05-03 | 2005-11-09 | Thomson Licensing | Distributed management of a certificate revocation list |
-
2004
- 2004-05-03 EP EP04291124A patent/EP1594250A1/en not_active Withdrawn
-
2005
- 2005-04-25 TW TW094113083A patent/TWI384829B/zh not_active IP Right Cessation
- 2005-04-26 JP JP2005128013A patent/JP4774235B2/ja not_active Expired - Fee Related
- 2005-04-27 DE DE602005001351T patent/DE602005001351T2/de active Active
- 2005-04-29 US US11/119,391 patent/US8131996B2/en not_active Expired - Fee Related
- 2005-04-30 CN CN2005100667730A patent/CN1707999B/zh not_active Expired - Fee Related
- 2005-05-03 BR BR0501608-8A patent/BRPI0501608A/pt not_active Application Discontinuation
- 2005-05-03 KR KR1020050036972A patent/KR101038331B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487658B1 (en) * | 1995-10-02 | 2002-11-26 | Corestreet Security, Ltd. | Efficient certificate revocation |
US5793868A (en) * | 1996-08-29 | 1998-08-11 | Micali; Silvio | Certificate revocation system |
CN1327663A (zh) * | 1999-08-09 | 2001-12-19 | 皇家菲利浦电子有限公司 | 更新撤销列表以抵制对方 |
Also Published As
Publication number | Publication date |
---|---|
US8131996B2 (en) | 2012-03-06 |
BRPI0501608A (pt) | 2006-01-10 |
TWI384829B (zh) | 2013-02-01 |
KR20060045882A (ko) | 2006-05-17 |
DE602005001351D1 (de) | 2007-07-26 |
EP1594250A1 (en) | 2005-11-09 |
JP4774235B2 (ja) | 2011-09-14 |
KR101038331B1 (ko) | 2011-05-31 |
US20050257046A1 (en) | 2005-11-17 |
TW200605592A (en) | 2006-02-01 |
JP2005341552A (ja) | 2005-12-08 |
DE602005001351T2 (de) | 2008-02-21 |
CN1707999A (zh) | 2005-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707999B (zh) | 证书撤销列表的管理方法和设备及其存储设备 | |
CN102426640B (zh) | 用于产品验证和激活的安全软件产品标识符 | |
CN102419804B (zh) | 具有冗余安全性的可靠的软件产品验证和激活 | |
CN104065481B (zh) | 具有隐私保护的凭证产生及撤销的方法及装置 | |
US20150264080A1 (en) | Testing Integrity of Property Data of a Device Using a Testing Device | |
CN107085675A (zh) | 受控安全代码验证 | |
CN106452721A (zh) | 一种基于标识公钥的智能设备指令鉴别方法及*** | |
EP1547305B1 (en) | System and method for guaranteeing software integrity | |
CN106487767A (zh) | 验证信息的更新方法及装置 | |
CN107690791A (zh) | 用于使电子通信中的认证安全的方法 | |
CN108777675B (zh) | 电子装置、基于区块链的身份验证方法和计算机存储介质 | |
CN106790156A (zh) | 一种智能设备绑定方法及装置 | |
CN112165382A (zh) | 软件授权方法、装置、授权服务端及终端设备 | |
US9065635B2 (en) | Information processing apparatus, IC chip, and information processing method | |
CN108337092A (zh) | 用于在通信网络中执行集体认证的方法和*** | |
CN106027237B (zh) | 一种rfid***中基于组的密钥矩阵安全认证方法 | |
CN111327561B (zh) | 认证方法、***、认证服务器和计算机可读存储介质 | |
CN108352991A (zh) | 信息处理装置以及不正当消息检测方法 | |
CN111934882B (zh) | 基于区块链的身份认证方法、装置、电子设备及存储介质 | |
CN109583555B (zh) | 产品防伪电子标签认证方法和*** | |
Sun et al. | Catch id if you can: Dynamic id virtualization mechanism for the controller area network | |
EP1594251B1 (en) | Distributed management of a certificate revocation list | |
CN112738129B (zh) | 一种网络用户的身份核实认证方法及*** | |
CN109544182B (zh) | 产品防伪验证方法及*** | |
CN113949591A (zh) | 一种基于区块链的数据加密保护方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101222 Termination date: 20170430 |
|
CF01 | Termination of patent right due to non-payment of annual fee |