用于PKI证书透明化系统的证书监视器服务可靠性检测方法

未命名 07-29 阅读:126 评论:0

用于pki证书透明化系统的证书监视器服务可靠性检测方法
技术领域
1.本发明涉及信息安全中信任管理领域,特别涉及一种用于pki证书透明化系统的证书监视器服务可靠性检测方法及系统。


背景技术:

2.公钥基础设施(public key infrastructure,pki),是建立在公钥密码学理论基础之上的一种安全基础设施服务。基于数字证书的pki系统能够为互联网中的应用提供身份验证、加密数据传输等服务。
3.以目前广泛部署的web pki为例,在pki系统中,域名所有者首先向认证机构(certificate authority,ca)请求签发数字证书。随后,ca对域名所有者进行身份验证,若验证通过则为其签发数字证书,以绑定域名所有者的身份和公钥信息。客户端使用tls/https协议与web网站服务器进行通信时,通过验证数字证书的方式确保通信对端的真实性,进而完成密钥协商等步骤,实现安全的通信连接。因此,ca作为pki体系的信任锚点,通过颁发数字证书的方式在网络应用间构建信任基础、实现信任传递。
4.然而,近年来发生的一系列安全事件表明,ca机构因管理疏忽、操作不当,或遭受攻击导致私钥被盗等原因,可能存在未经合法域名所有者授权而为其域名签发虚假证书的行为。虚假证书将域名绑定到攻击者而非合法域名所有者持有的密钥对上,进而被攻击者利用来发起中间人或身份假冒攻击。原有传统pki系统缺少对ca的监管以及发现虚假证书的能力,虚假证书的存在对已建立的pki信任体系造成破坏。
5.证书透明化(certificate transparency,ct)技术用于实现及时发现虚假证书、提高对ca机构的审计问责能力。通过引入具有仅追加、不可篡改特性的第三方日志服务器(log server),ct系统要求ca机构所签发的数字证书必须提交到日志服务器。
6.此外,为便于任何相关的实体对日志服务器中所记录的证书进行实时监视,ct系统引入了证书监视器(monitor)这一核心组件。证书监视器可由任何利益相关方或第三方实体进行独立部署。证书监视器预先选取一组要监视的日志服务器列表,并定期从被监视的日志服务器中获取其记录的所有证书数据,并进行解析、分类与存储,进而为域名所有者等请求方提供证书监视或检索服务。任意实体可通过证书监视器实时地查询、分析与关注域名相关的证书信息,及时发现未经授权签发的虚假证书。
7.部署及维护证书监视器需在管理、计算与存储等方面付出高昂的成本。因此,域名所有者通常使用当前业界所提供的专业第三方证书监视器服务进行证书查询和监管。这导致了证书监视器作为ct系统中实现透明化目标的基础设施,通常只能依赖于少数几个证书监视器服务供应商提供可靠性保障。已有研究证实,现有的第三方证书监视器服务供应商无法保证提供及时可靠的证书监视或查询服务,难以保证域名所有者等请求方能够查询得到所有的、已记录在日志服务器的相关证书。此时,证书监视器服务质量和虚假证书对于使用证书监视器服务的域名所有者来说都是非透明化的。因此,如果存在虚假证书满足浏览器的ct验证策略、却无法通过证书监视器而监视或检索到,那么攻击者即可利用该证书发
起中间人或身份冒用攻击。
8.如何在计算与存储等资源有限的前提下,持续、高效地检查证书监视器证书查询与监视服务的质量,并分析与定位潜在故障原因,给出提高证书监视器服务质量的改进建议措施,进而提升现有pki证书透明化服务的可靠性,仍是一个有待解决的问题,目前尚未有相关技术方案。


技术实现要素:

9.鉴于上述问题,本发明提供了用于pki证书透明化系统的证书监视器服务可靠性检测方法,以期至少能够解决上述问题之一。
10.根据本发明的第一个方面,提供了一种用于pki证书透明化系统的证书监视器服务可靠性检测方法,包括:
11.向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合;
12.对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在无关证书和/或缺失证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息;
13.利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
14.根据本发明的实施例,上述向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合包括:
15.根据每个第三方证书监视器服务供应商提供的证书查询规则,为每个第三方证书监视器服务供应商生成证书查询请求,其中,证书查询请求满足相应的证书查询需求且符合第三方证书监视器服务供应商的查询策略;
16.根据每个证书查询请求,将待查询域名集合通过每个第三方证书监视器服务供应商所提供的查询接口,发送到与证书查询请求相对应的第三方证书监视器服务供应商;
17.响应于每个证书查询请求,通过与证书查询请求相对应的第三方证书监视器服务供应商输出原始证书;
18.根据设置的证书格式化规则,对每个原始证书进行格式化处理,得到多个证书搜索结果集合。
19.根据本发明的实施例,上述证书查询规则包括第三方证书监视器服务供应商所支持的查询方式;
20.其中,证书格式化规则包括为每个证书生成统一的输出信息和生成唯一的证书标识符;
21.其中,证书标识符基于证书序列号、签发者、证书生效起始日期以及证书生效截止日期进行构建。
22.根据本发明的实施例,上述对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在无关证书和/或缺失证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息包括:
23.根据设置的证书过滤规则,对每个证书搜索结果集合进行无关证书过滤处理,在证书搜索结果集合存在无关证书的情况下,将无关证书添加到与第三方证书监视器服务供应商相对应的无关证书集合中并向第三方证书监视器服务供应商发出可靠性告警信息;
24.将过滤处理后的每个证书搜索结果集合进行聚合处理,得到证书参考集合,并将证书参考集合与每个过滤处理后的证书搜索结果集合进行差异性检测处理,在差异性检测结果存在缺失证书的情况下,将缺失证书添加到第三方证书监视器服务供应商相对应的缺失证书集合中并向第三方证书监视器服务供应商发出可靠性告警信息;
25.提取每个第三方证书监视器服务供应商的无关证书集合和缺失证书集合中的每个证书所对应的查询域名,为每个第三方证书监视器服务供应商生成非一致域名集合。
26.根据本发明的实施例,上述无关证书包括第三方证书监视器服务供应商对所获取的证书进行错误处理得到的证书、存在设计缺陷的证书;
27.其中,无关证书集合和缺失证书集合中的每个证书的信息包括查询域名、sha-256指纹、序列号、证书有效期、证书签发者、证书主体、证书所提交的日志服务器、目标域名、证书在日志服务器中的存储格式;
28.其中,非一致域名集合中的每个域名的信息包括查询域名、查询时间、参考集的证书数量、域名所对应的无关证书集合的证书数量、域名所对应的缺失证书集合的证书数量。
29.根据本发明的实施例,上述利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位包括:
30.基于机器学习技术和/或统计学习方法构建特征提取工具,并利用特征提取工具对每个过滤处理结果和差异性检测结果进行特征提取,得到每个第三方证书监视器服务供应商的特征集合;
31.对每个特征集合进行分析,得到与第三方证书监视器服务供应商相对应的分析结果;
32.根据每个分析结果,为每个第三方证书监视器服务供应商生成一组故障原因表;
33.根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
34.根据本发明的实施例,上述故障原因表的参考来源包括第三方证书监视器服务供应商的日志服务器属性信息、证书在日志服务器中的格式信息、证书所匹配的目标域名及数量、证书的有效期、原始证书集合的数量信息;
35.根据本发明的实施例,上述故障定位还包括使用黑盒测试方法以定位内部工作过程中出现的故障;
36.其中,黑盒测试的判断依据包括基于sha-256证书指纹的搜索结果和/或基于证书所匹配的目标域名的搜索结果;
37.在基于sha-256证书指纹的搜索结果是未找到相应证书的情况下,确定第三方证书监视器服务供应商的故障发生在证书获取阶段或证书存储阶段;
38.在基于证书所匹配的目标域名的搜索结果是未找到相应证书的情况下,确定第三方证书监视器服务供应商的故障发生在证书查询阶段或证书结果返回阶段。
39.根据本发明的实施例,上述证书搜索结果集合中每一个证书元素的信息包括从证书中提取的主体信息、san扩展所包含的域名信息、证书序列号、sha-256指纹、签发者、证书有效期以及日志服务器信息、查询域名、原始证书集合中证书所匹配的目标域名以及证书在日志服务器中的存储格式。
40.根据本发明的第二个方面,提供了一种用于pki证书透明化系统的证书监视器服务可靠性检测系统,包括:
41.证书收集模块,用于向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合;
42.差异性检测模块,用于对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在缺失证书和/或无关证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息;
43.故障分析模块,用于利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
44.本发明提供的上述用于pki证书透明化系统的证书监视器服务可靠性检测系统,对任意随机输入的域名,通过持续性的证书数据收集,实现了对不同证书监视器服务供应商的证书监视与查询服务质量的差异性检测。对于存在问题或故障的证书监视器,借助本发明方案可实现及时地错误告警。同时,本发明提供的上述方法能够更好地了解、发现以及定位证书监视器内部故障,提升了证书监视器服务故障的有效分析效率,不仅提升了证书监视器可靠性服务还提升了现有pki证书透明化服务的可靠性。
附图说明
45.图1是根据本发明实施例的用于pki证书透明化系统的证书监视器服务可靠性检测方法的流程图;
46.图2是根据本发明实施例的获取证书搜索结果集合的流程图;
47.图3是根据本发明实施例的差异性检测和告警流程图;
48.图4是根据本发明实施例的进行故障分析定位的流程图;
49.图5是根据本发明另一实施例进行故障分析和定位的流程图;
50.图6是根据本发明实施例的用于pki证书透明化系统的证书监视器服务可靠性检测方法的结构示意图。
具体实施方式
51.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
52.当前ct系统中广泛应用的证书监视服务仅集中在少数的第三方证书监视器且无法保证返回完整的证书查询结果,该行为可能导致未经授权签发的虚假证书被客户端信任并接受,导致ct系统无法达到其预期效果。现有ct系统缺乏对证书监视器的不当行为或服务质量进行度量评估的有效检测工具与手段,无法透明地掌握现有证书监视器服务的可靠性。
53.针对现有技术中的诸多缺陷,本发明旨在设计一种针对证书监视器服务质量的检查框架。在资源受限的场景下,通过聚合多个证书监视器的证书监视结果,对比不同证书监视器之间证书处理的差异性,定位和分析证书监视器故障的潜在原因,从而高效地对证书监视器服务供应商的证书监视与查询服务质量进行合理评估与度量,实现错误告警;从而实现pki证书透明化服务的可靠性提升。
54.本发明所公开的技术方案,在获取第三方证书监视器服务供应商相关证书信息、查询策略、应用程序接口等过程中,均取得了第三方证书监视器服务供应商的授权,并在第三方证书监视器服务供应商的许可下,对上述数据进行处理、应用和存储,相关过程符合法律法规的规定,采取了必要及可靠的保密措施,符合公序良俗的要求。
55.下面结合具体实施例以及附图对本发明提供的技术方案作进一步详细地说明。
56.图1是根据本发明实施例的用于pki证书透明化系统的证书监视器服务可靠性检测方法的流程图。
57.如图1所示,上述用于pki证书透明化系统的证书监视器服务可靠性检测方法包括操作s110~操作s130。
58.在操作s110,向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的所述多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合。
59.上述证书搜索结果集合表示从单个证书监视器中所收集的证书数据经过格式处理后所形成的证书集合。
60.上述待查询域名集合中的域名与多个证书相关,以待查询域名c.b.a为例,该域名相关证书包括:(1)为域名c.b.a签发的证书;(2)为域名c.b.a的子域名(例如d.c.b.a子域名)或带有通配符标识的子域名(例如*.c.b.a子域名)签发的证书;(3)若c.b.a不是一个有效顶级域名(etld),则还包括为带有通配符标识的父域名*.b.a签发的证书。
61.根据本发明的实施例,上述证书搜索结果集合中每一个证书元素的信息包括从证书中提取的主体信息、san扩展所包含的域名信息、证书序列号、sha-256指纹、签发者、证书有效期以及日志服务器信息、查询域名、原始证书集合中证书所匹配的目标域名以及证书在日志服务器中的存储格式。
62.在操作s120,对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在无关证书和/或缺失证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息。
63.上述证书参考集合表示聚合来自多个第三方证书监视器服务供应商经过滤处理后的搜索结果集合形成的参考集。
64.在过滤处理结果存在无关证书和/或差异性检测结果存在缺失证书的情况下,说明第三方证书监视器服务供应商可能存在故障,此时应当向第三方证书监视器服务供应商发出可靠性告警信息。
65.在操作s130,利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
66.本发明提供的上述用于pki证书透明化系统的证书监视器服务可靠性检测系统,对任意随机输入的域名,通过持续性的证书数据收集,实现了对不同证书监视器服务供应商的证书监视与查询服务质量的差异性检测。对于存在问题或故障的证书监视器,借助本发明方案可实现及时地错误告警。同时,本发明提供的上述方法能够更好地了解、发现以及定位证书监视器内部故障,提升了证书监视器服务故障的有效分析效率,不仅提升了证书监视器可靠性服务还提升了现有pki证书透明化服务的可靠性。
67.图2是根据本发明实施例的获取证书搜索结果集合的流程图。
68.如图2所示,上述向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合包括操作s210~操作s240。
69.在操作s210,根据每个第三方证书监视器服务供应商提供的证书查询规则,为每个第三方证书监视器服务供应商生成证书查询请求,其中,证书查询请求满足用户设置的证书查询需求且符合第三方证书监视器服务供应商的查询策略。
70.在操作s220,根据每个证书查询请求,将待查询域名集合通过每个第三方证书监视器服务供应商所提供的查询接口,发送到与证书查询请求相对应的第三方证书监视器服务供应商。
71.在操作s230,响应于每个证书查询请求,通过与证书查询请求相对应的第三方证书监视器服务供应商输出原始证书。
72.在操作s240,根据用户设置的证书格式化规则,对每个原始证书进行格式化处理,得到多个证书搜索结果集合。
73.上述操作旨在获取证书搜索结果集合,下面结合具体实施方式,对上述操作做进一步详细地说明。
74.首先,分析提取当前已部署的多个证书监视器服务供应商的域名查询规则。本发明的实施例在分析、提取规则时,主要关注以下三类与证书监视器服务有关的信息:(1)证书来源;分析每个证书监视器所监视的日志服务器列表,对于未公开日志服务器列表的证书监视器,本实施例中默认该证书监视器监视所有非测试日志服务器。特别地,对于证书监视器主动扫描所得的证书数据,本发明实施例排除了从以上渠道获得的证书。(2)查询策略;分析每个证书监视器所支持的查询策略,例如是否支持域名、sha-256证书指纹等查询方式。此外,为便于下一阶段的证书收集和故障分析,本发明实例同时从以下三个方面对不同证书监视器进行对比总结,包括搜索项格式定义、输入域名与匹配的证书结果以及返回
的结果中是否包括已过期证书等。(3)返回结果;分析每个证书监视器返回的证书基本信息(例如证书的签发者、dnsname、过期时间等)。此外,对于每次的证书查询,分析证书监视器是否会对返回的结果数量作限制。
75.其次,构建域名查询调度程序,从所选择的随机测试用例中加载待查询域名,并为每个证书监视器创建一个查询任务。
76.可选地,当测试用例包含多个查询域名时,本发明实例使用多线程方式以提高证书搜索效率并减小返回证书结果所带来的服务延迟。此外,对于每个待查询域名,本发明实例同时使用公共后缀列表对有效顶级域名(etld)进行过滤。
77.最后,基于上述操作所收集的每个证书监视器的证书查询规则和api查询语法,为各证书监视器创建一个唯一的证书收集程序。
78.可选地,为便于后续操作(例如操作s130),本发明实施例对每个证书监视器的原始输出做格式化处理,生成证书搜索结果集合。
79.上述证书搜索结果集合包括多方面的信息,主要有:(1)可观察信息,包含从证书中提取的主体信息、san扩展所包含的域名信息、证书序列号、sha-256指纹、签发者、证书有效期、日志服务器信息等;(2)可处理信息,包含查询域名、返回的证书结果中所匹配的目标域名以及证书在日志服务器中的存储格式(例如预证书或叶子证书)。
80.其中,所匹配的目标域名指san扩展所包含的域名信息中与查询域名匹配的其它域名信息。
81.特别地,对于搜索结果集合中的每个证书,本发明实施例基于证书序列号、签发者、证书生效起始期、证书生效截止期构建四元组,以作为证书的唯一标识。
82.根据本发明的实施例,上述证书查询规则包括第三方证书监视器服务供应商所支持的查询方式。
83.其中,证书格式处理规则包括为每个证书生成统一的输出信息和生成唯一的证书标识符。
84.其中,证书的标识符基于证书序列号、签发者、证书生效起始日期以及证书生效截止日期进行构建。
85.图3是根据本发明实施例的差异性检测和告警流程图。
86.如图3所示,上述对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在无关证书和/或缺失证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息包括操作s310~操作s330。
87.在操作s310,根据用户设置的证书过滤规则,对每个证书搜索结果集合进行无关证书过滤处理,在过滤处理结果存在无关证书的情况下,将无关证书添加到与第三方证书监视器服务供应商相对应的无关证书集合中并向第三方证书监视器服务供应商发出可靠性告警信息。
88.根据本发明的实施例,上述无关证书包括第三方证书监视器服务供应商对所获取的证书进行错误处理得到的证书、存在设计缺陷的证书。
89.其中,无关证书集合和缺失证书集合中的每个证书的信息包括查询域名、sha-256指纹、序列号、证书有效期、证书签发者、证书所提交的日志服务器、目标域名、证书在日志
服务器中的存储格式。
90.在操作s320,将过滤处理后的每个证书搜索结果集合进行聚合处理,得到证书参考集合,并将证书参考集合与每个过滤处理后的证书搜索结果集合进行差异性检测处理,在差异性检测结果存在缺失证书的情况下,将缺失证书添加到第三方证书监视器服务供应商相对应的缺失证书集合中并向第三方证书监视器服务供应商发出可靠性告警信息。
91.在操作s330,提取每个第三方证书监视器服务供应商的无关证书集合和缺失证书集合中的每个证书所对应的查询域名,为每个第三方证书监视器服务供应商生成非一致域名集合。
92.其中,非一致域名集合中的每个记录的信息包括查询域名、查询时间、参考集证书数量、域名所对应的无关证书集合的证书数量、域名所对应的缺失证书集合的证书数量。
93.为了更好地说明上述操作s310~操作s330,下面结合具体实施方式对上述操作做进一步地详细解释。
94.首先,对于经过格式化处理后的证书搜索结果集合根据预定义的证书处理规则去除无关证书。聚合以上经过处理的搜索结果集合构建待查询域名的参考集。
95.具体地,证书过滤规则涉及证书监视器返回结果中与查询域名无关的证书处理。
96.其中,无关证书包括以下几类:(1)证书监视器可能存在对获取的证书执行错误处理,例如,证书监视器错误地将已过期证书标记为未过期证书或错误地解析证书。(2)实验设计本身的缺陷,例如在数据收集过程中由于操作者本身对证书监视器的搜索策略的误解,未能过滤从证书监视器主动扫描中获得的证书数据等。
97.特别地,由于每个证书监视器均存在一个服务延迟,即证书颁发时间与证书首次出现在证书监视器返回结果之间的时间差值。因此,本发明实施例限定证书监视器的最大延迟为24小时,对于延迟大于24小时的证书即归类为证书监视器自身缺陷导致的证书缺失。
98.特别地,本发明实施例假定以上参考集即为待查询域名相关证书在现实场景下的真实数据集。
99.其次,识别无关证书和缺失证书(统称为非一致证书)。可选地,将以上被过滤的无关证书添加到相应无关证书集合。此外,通过对比单个证书监视器经过滤处理后的搜索结果集合与参考集,可进一步地发现证书监视器中存在的缺失证书,该证书被加入到相应缺失证书集合。
100.最后,提取无关证书或缺失证书中对应的查询域名信息并添加到非一致域名集合中,同时输出该查询域名所对应的无关证书集合和缺失证书集合。
101.特别地,对于一张非一致证书,若该证书是由证书监视器内部对域名的错误处理导致,仅通过分析证书的方式发现错误的原因较为困难。
102.为此,对于无关证书集合或缺失证书集合中的每一张非一致证书,本发明实施例提取与该证书相对于的查询域名,以构建非一致域名集合。非一致域名集合可包含查询域名、查询时间、参考集的证书数量、域名所对应的无关证书集合的证书数量、域名所对应的缺失证书集合的证书数量等。
103.图4是根据本发明实施例的故障分析定位的流程图。
104.如图4所示,上述利用特征提取工具对过滤处理结果和差异性检测结果进行特征
提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位包括操作s410~操作s440。
105.在操作s410,基于机器学习技术和/或统计学习方法构建特征提取工具,并利用特征提取工具对过滤处理结果和差异性检测结果分别进行特征提取,得到每个第三方证书监视器服务供应商的特征集合。
106.在操作s420,对每个特征集合进行分析,得到与第三方证书监视器服务供应商相对应的分析结果。
107.在操作s430,根据每个分析结果,为每个第三方证书监视器服务供应商生成一组故障原因表。
108.在操作s440,根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
109.为了更好地说明上述故障定位操作,本发明结合多个具体实施方式对上述故障定位技术方案做进一步详细地说明。
110.在一个具体实施方式中,首先利用机器学习模型对过滤处理结果和差异性检测结果分别进行特征提取,得到特征集合,其中,过滤处理结果和差异性检测结果分别为非一致域名集合中每个域名所对应的无关证书集合和缺失证书集合。
111.其次,将特征集合中的特征进行排序,该输出用于指导生成一组可能诱发证书监视器出现故障的故障原因表。
112.根据本发明的实施例,上述故障原因可参考信息还包括第三方证书监视器服务供应商的日志服务器属性信息、证书在日志服务器中的格式信息、证书所匹配的目标域及数量、证书的有效期、原始证书集合的数量信息。
113.上述故障原因可归为以下两类:1)若某个故障相关的证书特征会导致该类证书以较高概率缺失(相对于证书类),则该故障属于第i类故障;2)若某个故障相关的证书特征会导致该类证书在无关证书集合或缺失证书集合中的占比较高(相对于集合),则该规则属于第ii类故障。
114.假设证书监视器表示为m,故障原因表中的某个故障表示为ri,无关证书集合或缺失证书集合表示为icm,待查询域名的所有证书中与故障ri相匹配的证书数量表示为td,期望值为ei,本发明进一步给出了下列度量方法计算某类故障与非一致证书之间的关联程度,
115.第i类故障度量方法:计算当前证书监视器的无关证书集合或缺失证书集合中与故障ri匹配的证书的数量和所有证书中与故障ri相匹配的证书数量的比例,如公示(1)所示:
[0116][0117]
第ii类故障度量方法:假设故障ri与非一致证书独立,根据cramer

s v相关系数计算规则分别计算无关证书集合或缺失证书集合中非一致证书与故障ri之间的期望值ei、卡方分布x2、cramer

s v数值v,公式如方程组(i)所示:
[0118][0119]
其中,oi表示故障ri与非一致证书匹配或不匹配的证书数量,n为非一致证书数量,pi为总的证书集合中与故障ri匹配或不匹配的证书比例。
[0120]
再次,利用故障原因表对无关证书或缺失证书集合进行证书匹配,将符合故障原因表的证书从对应的无关证书集合或缺失证书集合中删除,得到进一步过滤后的无关证书集合或缺失证书集合。
[0121]
最后,对于缺失证书集合中无法使用故障原因表进行故障归因的证书数据,进一步对第三方证书监视器服务供应商进行黑盒测试,得到第三方证书监视器服务供应商的故障信息。
[0122]
图5是根据本发明另一实施例进行故障分析和定位的流程图。
[0123]
下面结合附图5以及具体实施方式,对上述故障分析操作做进一步地详细说明。
[0124]
在操作s510,使用前述操作得到的无关证书集合、缺失证书集合分别作为输入,借助机器学习模型为每个证书监视器训练两个随机森林分类器,分别用于预测一个具有相应特征的证书是否会在无关证书集合和缺失证书集合的返回结果中。
[0125]
可选地,对于该阶段,本发明实施例不考虑由恶意或被攻击者盗用的证书监视器而导致的不可预测的结果,仅关注证书监视器内部缺陷或在其操作期间发生的错误行为。
[0126]
具体地,本发明实施例使用随机森林分类器对模型进行训练,并使用f-1分数对模型性能进行评估。
[0127]
在操作s520,参考上述操作s510中模型输出的特征排序,并结合从其它角度(例如日志服务器、证书等)分析的特征,定义一组故障原因表。
[0128]
具体地,故障原因表可参考来源包括:(1)日志服务器属性,例如操作日志服务器的组织、增长率等;(2)证书在日志服务器中的格式信息;(3)证书所匹配的目标域及数量;(4)证书的有效期;(5)原始输出的证书数量。
[0129]
在操作s530,将操作s520中所识别的故障原因表,标注无关证书集合或缺失证书集合中与相应故障相匹配的证书,并将其从对应集合中移除。集合中的其余证书继续作为操作s510的输入,用于提升机器学习模型的有效性。
[0130]
在操作s540,对操作s530缺失证书集合中未能与相应故障匹配的证书,进一步执行黑盒测试方法以定位监视器内部工作过程中出现的故障。
[0131]
具体地,本发明实施例提供的一种黑盒测试判断依据如下:(1)基于sha-256证书指纹搜索以上证书,若无法找到,则表明故障可能发生在证书获取或证书存储阶段,即在基于sha-256证书指纹的搜索结果是未找到相应证书情况下,确定第三方证书监视器服务供应商的故障发生在证书获取阶段或证书存储阶段;(2)在基于证书所匹配的目标域名的搜索结果是未找到相应证书的情况下,确定第三方证书监视器服务供应商的故障发生在证书查询阶段或证书结果返回阶段。
[0132]
可选地,以上黑盒测试方法也可用于s530缺失证书集合中能与相应故障匹配的证书进行黑盒测试。
[0133]
图6是根据本发明实施例的用于pki证书透明化系统的证书监视器服务可靠性检测系统的结构示意图。
[0134]
如图6所示,上述用于pki证书透明化系统的证书监视器服务可靠性检测系统600包括证书收集模块610、差异性检测模块620和故障分析模块630。
[0135]
证书收集模块610,用于向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合。
[0136]
证书收集模块610随机生成一组待查询域名列表作为模块输入。随后,证书收集模块依据各证书监视器所发布的证书查询策略和查询语法,为以上域名列表生成正确的查询语句,并通过各证书监视器所提供的api执行查询。最后,对各个证书监视器返回的原始输出进行格式处理,形成搜索结果集合。
[0137]
差异性检测模块620,用于对多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将每个证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在缺失证书和/或无关证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息。
[0138]
差异性检测模块620对证书搜索结果集合根据相应的证书处理规则(例如无关证书的定义),过滤集合中的无关证书。聚合以上所有经过滤处理后的搜索结果集合,生成一组具有唯一证书索引的参考集。其中,参考集将作为域名相关证书的完整数据集。因此,通过比较来自单个证书监视器的搜索结果集合与参考集,即可获知该证书监视器存在的缺失证书信息。将无关证书与缺失证书分别添加到对应的证书集合。之后,提取以上无关证书和缺失证书中所对应的查询域名等其它信息。最终,针对每一个证书监视器,差异性检测模块输出非一致域名集合以及非一致域名集合每个域名所对应的无关证书集合和缺失证书集合。其中,无关证书集合和缺失证书集合进一步作为故障分析模块的输入。
[0139]
故障分析模块630,用于利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。
[0140]
故障分析模块630用于推断各个证书监视器未能返回完整的域名相关证书原因。具体地,模块使用机器学习模型提取每个证书监视器中返回的非一致证书的模式特征,用于指导后期故障原因表的制定。此外,为提高模型的准确性,以上故障原因表可进一步细分为以下两类:1)若某个故障相关的证书特征会导致该类证书以较高概率缺失(相对于证书类),则该规则属于第i类故障;2)若某个故障相关的证书特征会导致该类证书在无关证书集合或缺失证书集合中的占比较高(相对于集合),则该规则属于第ii类故障。为提高模型的准确性,基于上述故障原因表对无关证书集合或缺失证书集合执行证书匹配,将符合上述故障原因表的证书从无关证书集合或缺失证书集合中删除,得到过滤后的无关证书集合或缺失证书集合。以上集合作为模型的下一轮的训练输入。对于缺失证书集合中无法使用以上规则进行故障归因的证书数据,故障分析模块进一步执行黑盒测试以定位证书监视器存在的故障。在本模块阶段,任何由设计或实现缺陷等导致的证书监视器不当行为均会被检测。
[0141]
本发明提供的上述用于pki证书透明化系统的证书监视器服务可靠性检测方法及系统对于随机待查询的域名集合,通过预先收集、分析各个证书监视器的查询策略,并利用
其所提供的api接口逐一请求域名证书查询服务。每个证书监视器返回的原始输出首先经过格式处理(例如输出统一的内容信息),之后根据相应的证书处理规则,对搜索结果集合进行过滤。随后,聚合各已处理的搜索结果集合,生成完整的证书参考集。基于参考集对比各证书监视器已过滤处理的搜索结果集之间的差异性,为每个证书监视器输出非一致域名集合以及非一致域名集合中每个域名所对应的无关证书集合和缺失证书集合。最后,使用故障分析方法,对以上集合中的非一致证书进行特征提取、分类和过滤,从而对证书监视器可能存在的故障进行高效定位。本发明的技术方案能够提高pki证书透明化服务的可靠性。
[0142]
下面结合另一具体实施方式,对本发明提供的上述方法做进一步地说明。
[0143]
本发明提供的用于pki证书透明化系统的第三方证书监视器服务可靠性检测方法,对于随机生成的一组待查询域名,本发明基于自动化证书收集工具,持续性地从多个证书监视器服务供应商收集证书。对以上所收集的来自各证书监视器的搜索结果集合,通过证书处理规则进行过滤,移除无关证书,最终聚合以上搜索结果集合生成完整的证书参考集。进一步地,对比参考集与单个证书监视器的搜索结果集,发现两者间仍存在的差异,确定证书监视器证书监视服务质量,例如缺失证书、返回无关证书等,实现对当前证书监视器服务进行及时地告警,以提升pki证书透明化服务的可靠性。
[0144]
对于上述输入的随机域名,证书收集过程包括:首先,分析、度量并提取所要检测的证书监视器服务供应商的域名查询策略,包括证书监视器所监视的日志服务器列表、支持的查询方式、返回的证书基本信息字段、返回的结果数量限制等;其次,加载待查询域名,使用公共后缀列表对有效顶级域名(etld)进行过滤。之后,对输入域名,分别为每个证书监视器创建一个该域名的证书查询任务;特别地,若待查询域名包括多个域名,则使用多线程或其它方法以提高证书搜索效率和搜索的同步;最后,对各证书监视器查询结果的原始输出做格式化处理,生成具有统一格式的搜索结果集合。
[0145]
上述证书搜索结果集合包括:(1)可观察信息,包含从证书中提取的主体信息、san扩展所包含的域名信息、证书序列号、sha-256指纹、签发者、证书有效期、日志服务器信息等来自证书的信息;(2)处理信息,包含查询的域名、返回的证书结果所匹配的域名、证书在日志服务器中的存储格式。
[0146]
对于输出的各证书监视器的搜索结果集合,证书处理规则主要包括:首先,移除无关证书,包括证书监视器本身对证书的错误处理、操作者本身对证书监视器查询策略的误解等导致搜索结果集合多出的证书,例如返回的证书与所查询的域名不匹配、搜索时已过期证书、仅记录在少数证书监视器的返回结果(阈值可自定义设置)的证书;其次,以上移除的证书添加至无关证书集合。将以上经过预设的证书过滤规则过滤后的各搜索结果集合进行聚合,得到证书参考集合。通过比较单个证书监视器的证书搜索结果集合与证书参考集合,得到证书监视器搜索结果中所缺失的证书并添加到缺失证书集合。缺失证书集合包括由于证书监视器隐藏证书颁发机构为待查询域名签发的证书、证书监视器软件故障、证书监视器实现故障等原因,返回的搜索结果中未返回的证书。
[0147]
无关证书集合或缺失证书集合至少包含如下信息:查询域名、sha-256指纹、序列号、证书有效期、证书签发者、证书主体、证书所提交的日志服务器、目标域名、证书在日志服务器中的存储格式等。
[0148]
非一致域名集合至少包含如下信息:查询域名、查询时间、参考集的证书数量、域
名所对应的无关证书集合的证书数量、域名所对应的缺失证书集合的证书数量等。
[0149]
为了进一步分析导致证书监视器返回证书结果与参考集存在差异性的原因并定位潜在故障,包括:首先,构建自动化特征提取工具,使用非一致域名集合每个域名所对应的无关证书集合和缺失证书集合分别作为模型输入,训练模型;其次,参考自动化工具所输出的特征排序,输出结果用于指导生成一组可能诱发证书监视器出现故障的故障原因表;最后,基于上述故障原因表对无关证书集合或缺失证书集合中的证书进行过滤,对于无法与上述故障原因表相匹配的缺失证书,进一步执行黑盒测试以定位证书监视器存在的故障。其中,黑盒测试方式包括可基于证书的sha-256指纹或证书所匹配的目标域名搜索等其它方式。
[0150]
对于故障原因表的制定,可参考内容至少还包括日志服务器属性(例如操作日志服务器的组织、记录的增长率等)、证书在日志服务器中的格式信息、证书所匹配的目标域以及目标域的数量、证书的有效期、原始输出的证书数量。
[0151]
根据本发明另一具体实施方式,上述用于pki证书透明化系统的第三方证书监视器服务可靠性检测系统包括证书收集模块、差异性检测模块和故障分析模块。
[0152]
其中,证书收集模块应用于随机的域名证书收集。具体地,随机输入一个待查询域名,基于已度量、分析与提取的各个证书监视器查询策略,为每个待查询域名分配单独的任务调度程序和证书抓取程序。之后,对各个证书监视器返回的证书查询结果做格式化处理,分别生成具有统一格式的搜索结果集合。特别地,该模块所使用的证书监视器可按实际需求进行增加或删减。
[0153]
其中,所述差异性检测模块应用于不同证书监视器返回结果的差异性检测。具体地,对不同证书监视器所生成的搜索结果集合,根据证书处理规则进行处理,生成能反映现实场景下证书数据的参考集。随后,通过对比单个经过滤处理的搜索结果集合和反映完整证书数据的参考集,识别证书监视器存在的非一致证书。
[0154]
其中,所述故障分析模块应用于证书监视器的故障分析。具体地,基于已有的非一致域名集合中每个查询域名所对应的无关证书集合和缺失证书集合,使用自动化特征提取工具,分别从以上集合中提取非一致证书具有的模式特征。输出的特征排序可用于指导生成一组可能诱发证书监视器出现故障的故障原因表。随后,使用统计学或其它科学方法分析和优化上述规则集合,并将其应用于无关证书集合和缺失证书集合的过滤。对于缺失证书集合中无法与上述故障原因表相匹配的证书,进一步执行黑盒测试以定位证书监视器存在的故障。该模块可检测由设计或实现缺陷等导致的证书监视器的不当行为。同时,所述故障分析模块分析与定位得出各证书监视器证书监视与查询服务存在的潜在问题与原因,可向证书监视器服务商发出及时告警,并结合查询策略、查询结果数据集特征,向其提供提升服务可靠性的改进建议与措施。
[0155]
以上的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种用于pki证书透明化系统的证书监视器服务可靠性检测方法,包括:向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的所述多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合;对所述多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将所述每个证书搜索结果集合与所述证书参考集合进行差异性检测,在所述证书搜索结果集合存在无关证书和/或缺失证书情况下,向所述第三方证书监视器服务供应商发出可靠性告警信息;利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据所述过滤处理结果、差异性检测结果和所述故障原因表对所述第三方证书监视器服务供应商进行故障定位。2.根据权利要求1所述的方法,其中,所述向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的所述多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合包括:根据所述每个第三方证书监视器服务供应商提供的证书查询规则,为所述每个第三方证书监视器服务供应商生成证书查询请求,其中,所述证书查询请求满足相应的证书查询需求且符合所述第三方证书监视器服务供应商的查询策略;根据所述每个证书查询请求,将所述待查询域名集合通过所述每个第三方证书监视器服务供应商所提供的查询接口,发送到与所述证书查询请求相对应的第三方证书监视器服务供应商;响应于所述每个证书查询请求,通过与所述证书查询请求相对应的第三方证书监视器服务供应商输出原始证书;根据设置的证书格式化规则,对所述每个原始证书进行格式化处理,得到所述多个证书搜索结果集合。3.根据权利要求2所述的方法,其中,所述证书查询规则包括所述第三方证书监视器服务供应商所支持的查询方式;其中,所述证书格式化规则包括为每个证书生成统一的输出信息和生成唯一的证书标识符;其中,所述证书标识符基于证书序列号、签发者、证书生效起始日期以及证书生效截止日期进行构建。4.根据权利要求1所述的方法,其中,对所述多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将所述每个证书搜索结果集合与所述证书参考集合进行差异性检测,在所述证书搜索结果集合存在无关证书和/或缺失证书情况下,向所述第三方证书监视器服务供应商发出可靠性告警信息包括:根据设置的证书过滤规则,对所述每个证书搜索结果集合进行无关证书过滤处理,在所述证书搜索结果集合存在所述无关证书的情况下,将所述无关证书添加到与所述第三方证书监视器服务供应商相对应的无关证书集合中并向所述第三方证书监视器服务供应商发出可靠性告警信息;
将过滤处理后的每个证书搜索结果集合进行聚合处理,得到证书参考集合,并将所述证书参考集合与所述每个过滤处理后的证书搜索结果集合进行差异性检测处理,在差异性检测结果存在缺失证书的情况下,将所述缺失证书添加到所述第三方证书监视器服务供应商相对应的缺失证书集合中并向所述第三方证书监视器服务供应商发出可靠性告警信息;提取所述每个第三方证书监视器服务供应商的无关证书集合和缺失证书集合中的每个证书所对应的查询域名,为所述每个第三方证书监视器服务供应商生成非一致域名集合。5.根据权利要求4所述的方法,其中,所述无关证书包括所述第三方证书监视器服务供应商对所获取的证书进行错误处理得到的证书、存在设计缺陷的证书;其中,所述无关证书集合和缺失证书集合中的每个证书的信息包括查询域名、sha-256指纹、序列号、证书有效期、证书签发者、证书主体、证书所提交的日志服务器、目标域名、证书在日志服务器中的存储格式;其中,所述非一致域名集合中的每个域名的信息包括查询域名、查询时间、参考集的证书数量、域名所对应的无关证书集合的证书数量、域名所对应的缺失证书集合的证书数量。6.根据权利要求1所述的方法,其中,所述利用特征提取工具对所述过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据所述过滤处理结果、差异性检测结果和所述故障原因表对所述第三方证书监视器服务供应商进行故障定位包括:基于机器学习技术和/或统计学习方法构建所述特征提取工具,并利用所述特征提取工具对所述每个过滤处理结果和差异性检测结果进行特征提取,得到所述每个第三方证书监视器服务供应商的特征集合;对所述每个特征集合进行分析,得到与所述第三方证书监视器服务供应商相对应的分析结果;根据所述每个分析结果,为所述每个第三方证书监视器服务供应商生成一组所述故障原因表;根据所述过滤处理结果、差异性检测结果和所述故障原因表对所述第三方证书监视器服务供应商进行故障定位。7.根据权利要求1所述的方法,其中,所述故障原因表的参考来源包括所述第三方证书监视器服务供应商的日志服务器属性信息、证书在日志服务器中的格式信息、证书所匹配的目标域名及数量、证书的有效期、所述原始证书集合的数量信息。8.根据权利要求7所述的方法,其中,所述故障定位还包括使用黑盒测试方法以定位内部工作过程中出现的故障;其中,所述黑盒测试的判断依据包括基于sha-256证书指纹的搜索结果和/或基于证书所匹配的目标域名的搜索结果;在所述基于sha-256证书指纹的搜索结果是未找到相应证书的情况下,确定所述第三方证书监视器服务供应商的故障发生在证书获取阶段或证书存储阶段;在所述基于证书所匹配的目标域名的搜索结果是未找到相应证书的情况下,确定所述第三方证书监视器服务供应商的故障发生在证书查询阶段或证书结果返回阶段。9.根据权利要求1-8所述的方法,其中,所述证书搜索结果集合中每个证书元素的信息
包括从证书中提取的主体信息、san扩展所包含的域名信息、证书序列号、sha-256指纹、签发者、证书有效期以及日志服务器信息、查询域名、所述原始证书集合中所述证书所匹配的目标域名以及所述证书在所述日志服务器中的存储格式。10.一种用于pki证书透明化系统的证书监视器服务可靠性检测系统,包括:证书收集模块,用于向多个第三方证书监视器服务供应商发送随机生成的待查询域名集合,并将收集到的所述多个第三方证书监视器服务供应商输出的原始证书进行处理,得到多个证书搜索结果集合;差异性检测模块,用于对所述多个证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将所述每个证书搜索结果集合与所述证书参考集合进行差异性检测,在所述证书搜索结果集合存在缺失证书和/或无关证书情况下,向所述第三方证书监视器服务供应商发出可靠性告警信息;故障分析模块,用于利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取并对特征提取结果进行分析,利用分析结果生成一组诱发第三方证书监视器服务供应商出现故障的故障原因表,并根据所述过滤处理结果、差异性检测结果和所述故障原因表对所述第三方证书监视器服务供应商进行故障定位。

技术总结
本发明公开了一种用于PKI证书透明化系统的证书监视器服务可靠性检测方法,包括:向第三方证书监视器服务供应商发送待查询域名集合,并将收集到的第三方证书监视器服务供应商输出的原始证书进行处理,得到证书搜索结果集合;对证书搜索结果集合进行过滤处理和聚合处理,得到证书参考集合,并将证书搜索结果集合与证书参考集合进行差异性检测,在证书搜索结果集合存在缺失证书和/或无关证书情况下,向第三方证书监视器服务供应商发出可靠性告警信息;利用特征提取工具对过滤处理结果和差异性检测结果进行特征提取和分析,利用分析结果生成故障原因表,并根据过滤处理结果、差异性检测结果和故障原因表对第三方证书监视器服务供应商进行故障定位。务供应商进行故障定位。务供应商进行故障定位。


技术研发人员:林璟锵 李冰雨 孙傲卓 温舒尚 李冬 贾云昊
受保护的技术使用者:中国科学技术大学
技术研发日:2023.04.14
技术公布日:2023/7/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐