流量信息测试方法、装置及系统与流程

文档序号:27202835发布日期:2021-11-03 13:53阅读:91来源:国知局
流量信息测试方法、装置及系统与流程

1.本发明涉及信息安全技术领域,具体地,涉及一种流量信息测试方法、装置及系统。


背景技术:

2.目前流量录制平台可提供相关接口和脱敏方法对录制的流量信息进行简单脱敏处理,应用端需要继承流量录制平台提供的接口和方法,并做录制接口输入参数和输出参数的字段脱敏配置,但存在以下问题。
3.1、安全性不足,秘钥容易被窃取。
4.2、如果涉及复杂脱敏逻辑,需要应用端自己开发脱敏代码,无统一实现方案,不便做统一的安全管控。


技术实现要素:

5.本发明实施例的主要目的在于提供一种流量信息测试方法、装置及系统,以无侵入实现流量信息脱敏,减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
6.为了实现上述目的,本发明实施例提供一种流量信息测试方法,包括:
7.接收来自应用端的正排索引和秘钥标签,根据正排索引从应用端拉取文件块;
8.根据私钥对文件块中秘钥标签对应的明细信息进行解密;
9.解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流量信息进行模拟测试。
10.本发明实施例还提供一种流量信息测试装置,包括:
11.拉取模块,用于接收来自应用端的正排索引和秘钥标签,根据正排索引从应用端拉取文件块;
12.解密模块,用于根据私钥对文件块中秘钥标签对应的明细信息进行解密;
13.解析模块,用于解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流量信息进行模拟测试。
14.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的流量信息测试方法的步骤。
15.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的流量信息测试方法的步骤。
16.本发明实施例还提供一种流量信息测试系统,包括:
17.秘钥管理装置;
18.应用端,用于调用秘钥管理装置录入秘钥信息,拦截调用服务获得秘钥标签和流量信息,根据调用秘钥管理装置获得的公钥对秘钥标签对应的流量信息进行加密生成明细
信息;将明细信息写入文件块,根据文件块生成正排索引,发送正排索引和秘钥标签至流量录制平台;对来自流量录制平台的流量信息进行模拟测试;
19.流量信息测试装置,应用于流量录制平台,用于调用秘钥管理装置中的秘钥信息生成公钥和私钥;根据正排索引从应用端拉取文件块;根据私钥对文件块中秘钥标签对应的明细信息进行解密;解析经过解密的文件块得到流量信息,将流量信息发送至应用端。
20.本发明实施例的流量信息测试方法、装置及系统先根据正排索引从应用端拉取文件块,再根据私钥对文件块中秘钥标签对应的明细信息进行解密,最后解析经过解密的文件块,得到流量信息后发送至应用端以使应用端对流量信息进行模拟测试,以无侵入实现流量信息脱敏,减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明实施例中流量信息测试方法的流程图;
23.图2是本发明另一实施例中流量信息测试方法的流程图;
24.图3是本发明实施例中秘钥标签透传的示意图;
25.图4是本发明实施例中流量信息测试装置的结构框图;
26.图5是本发明实施例中计算机设备的结构框图;
27.图6是本发明实施例中流量信息测试系统的交互示意图;
28.图7是本发明实施例中流量信息测试系统的非对称加密解密示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
31.鉴于现有技术的安全性不足,不便做统一的安全管控,本发明实施例提供一种流量信息测试方法、装置及系统,目的是将生产环境下的流量信息录制下来以便在测试环境进行模拟,在不破坏生产环境的前提下进行故障信息的排查与根因定位。以下结合附图对本发明进行详细说明。
32.本发明提及的关键术语定义如下:
33.流量录制平台:支持对生产环境交易流量进行录制,并在测试环境重放流量进行程序逻辑验证,解决常规测试时边界场景覆盖不全的问题,提前揭示系统升级的风险,提升
系统健壮性。
34.秘钥标签:采用key/value形式,例如:“encryptkey”:“hz5

bms

sm4

2”,当“encryptkey”不为空时需要进行脱密处理,否则认为无需进行脱密。
35.加密关键字:需要被加密的关键字信息,比如客户号是一种加密关键字。
36.索引:是一种映射关系,例如文档的目录,指向了xx内容在xx页。
37.正排索引:通过key找value,此时key是文件块名,可通过文件块名搜索关联文件块的特征信息。
38.倒排索引:通过key找value,此时key是文件块的特征信息,比如找秘钥标签为true,服务名为a的信息存储于哪些文件块。
39.秘钥管理装置:统一使用,以便实现统一安全的秘钥管理装置。
40.非对称加密:由公钥和私钥组成,公钥加密,私钥解密,避免在秘钥同步过程中被黑客窃取秘钥信息,具有较高的安全性,工作流程举例:甲向乙传达信息,甲和乙有各自的一套公钥、私钥,甲使用乙的公钥将明文加密并发给乙,乙使用乙的私钥才能解密。
41.秘钥信息:与秘钥相关的信息,可以根据秘钥信息查出唯一公钥信息,如应用名、秘钥名称、秘钥类型和秘钥算法名称等。
42.图1是本发明实施例中流量信息测试方法的流程图。图2是本发明另一实施例中流量信息测试方法的流程图。如图1

图2所示,流量信息测试方法包括:
43.s101:接收来自应用端的正排索引和秘钥标签,根据正排索引从应用端拉取文件块。
44.在分布式场景下,每一个应用可能只是一个微服务,要完成一个完整交易需要多个微服务调用或被调用,而要录制全链路上的流量信息,则需要在每一个微服务中安装一个agent(客户端),应用端将由多个app(应用程序)和多个agent构成,每一个app中嵌入安装一个agent,以便进行流量信息的采集和加密,在采集的前提下保证安全性。
45.在执行s101之前,还包括:调用秘钥管理装置,根据应用端在秘钥管理装置预先录入的秘钥信息生成公钥和私钥。秘钥信息包括应用名、秘钥名称、秘钥类型和秘钥算法名称等,私钥保存在流量录制平台的服务器本地。
46.其中,秘钥标签由应用端通过预先封装的公共方法拦截调用服务获得。agent实质是一个分布式拦截器(如dubbo拦截器),可以拦截服务调用的流量信息,包括时间、ip、输入参数、输出参数、服务名和服务器名等。agent中封装一个公共方法:rpccontext.getrecordtag,该公共方法可以拦截调用服务,获取秘钥标签的实际值。应用端与流量录制平台约定一个接口,调用流量录制平台接口将秘钥标签发送至流量录制平台。
47.图3是本发明实施例中秘钥标签透传的示意图。如图3所示,多个微服务在全链路中将标签信息一层层传递下去,使用dubbo的rpccontext可以将秘钥标签一直保存在链路中。例如,服务a建立秘钥标签,当服务a调用服务b时,服务a使用rpccontext.setrecordtag将秘钥标签进行初始化,服务b使用rpccontext.getrecordtag拦截服务a以获取秘钥标签的实际值。当服务b调用服务c时,该秘钥标签还是会保存,故能全链路获取并判断秘钥标签的值。
48.一实施例中,根据正排索引从应用端拉取文件块包括:
49.根据正排索引生成倒排索引,根据倒排索引从应用端拉取文件块。
50.具体实施时,将正排索引保存到映射关系表中,并根据加密关键字等信息采用程序循环搜索统计的方式反推出倒排索引。倒排索引将记录某个时间段、某个服务名所关联的文件块在哪些服务器的哪些路径下,以便后续通过自动化运维工具ansible或其他批量运维工具到应用端批量拉取明细信息。
51.其中,正排索引由应用端通过文件块生成。应用端扫描全部文档,循环搜索分词,记录文件名、位置信息和出现的次数,将这种映射关系用表或文件存储为索引。上报索引的频率可以为从上一个文件块结束,下一个文件块生成开始。
52.索引包括正排索引和倒排索引。例如:在一个文件夹下有5个文件,分别命名为:1.txt、2.txt、3.txt、4.txt、5.txt。1.txt:我爱学习,2.txt:我不想工作。如表1所示,正排索引是以文件id为关键字,记录文件中的字或词,出现的次数和位置。
53.表1
54.1.txt我:1次,1位,爱:2次、2位..2.txt我:1次,1位,不:2次、2位..
55.如表2所示,倒排索引以字或词为关键字,记录某个字或词出现在文档的位置。
56.表2
57.我1.txt:1次,1位,2.txt:1次、1位..爱1.txt:1次,2位..
58.s102:根据私钥对文件块中秘钥标签对应的明细信息进行解密。
59.其中,明细信息由应用端根据调用秘钥管理装置的接口获得的公钥对秘钥标签对应的流量信息进行加密生成。具体实施时,应用端在获取秘钥标签的实际值后,根据秘钥标签判断是否对对应的流量信息进行加密。当秘钥标签不为空时,对流量信息进行加密生成明细信息,将明细信息写入文件块。当秘钥标签为空时,不对流量信息进行加密,将流量信息直接作为明细信息写入文件块。文件块的产生频率可以为1小时产生一个文件块,单个文件块不超过1000万行,以便控制文件块的大小和数量。
60.具体执行s102时,根据秘钥标签判断是否采用私钥对文件块中对应的明细信息进行解密。当秘钥标签不为空时,对明细信息进行解密,得到流量信息;当秘钥标签为空时,不对明细信息进行解密,将明细信息直接作为流量信息。
61.s103:解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流量信息进行模拟测试。
62.具体实施时,解析经过解密的文件块可以得到文件块中未加密的流量信息并通过前端对流量信息进行展示,包括时间、ip、服务名、输入参数、输出参数、服务名和服务器名等。应用端在测试环境下根据输入参数和输出参数对流量信息进行模拟测试,重现故障现场。应用端基于模拟的结果排查具体原因,支持多次重放,以免漏掉重要信息,有利于原因定位与分析。
63.图1所示的流量信息测试方法的执行主体可以为流量录制平台。由图1所示的流程可知,本发明实施例的流量信息测试方法先根据正排索引从应用端拉取文件块,再根据私钥对文件块中秘钥标签对应的明细信息进行解密,最后解析经过解密的文件块,得到流量信息后发送至应用端以使应用端对流量信息进行模拟测试,以无侵入实现流量信息脱敏,
减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
64.基于同一发明构思,本发明实施例还提供了一种流量信息测试装置,由于该装置解决问题的原理与流量信息测试方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
65.图4是本发明实施例中流量信息测试装置的结构框图。如图4所示,流量信息测试装置包括:
66.拉取模块,用于接收来自应用端的正排索引和秘钥标签,根据正排索引从应用端拉取文件块;
67.解密模块,用于根据私钥对文件块中秘钥标签对应的明细信息进行解密;
68.解析模块,用于解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流量信息进行模拟测试。
69.综上,本发明实施例的流量信息测试装置先根据正排索引从应用端拉取文件块,再根据私钥对文件块中秘钥标签对应的明细信息进行解密,最后解析经过解密的文件块,得到流量信息后发送至应用端以使应用端对流量信息进行模拟测试,以无侵入实现流量信息脱敏,减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
70.本发明实施例还提供能够实现上述实施例中的流量信息测试方法中全部步骤的一种计算机设备的具体实施方式。图5是本发明实施例中计算机设备的结构框图,参见图5,所述计算机设备具体包括如下内容:
71.处理器(processor)501和存储器(memory)502。
72.所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的流量信息测试方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
73.接收来自应用端的正排索引和秘钥标签,根据正排索引从所述应用端拉取文件块;
74.根据私钥对文件块中秘钥标签对应的明细信息进行解密;
75.解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流量信息进行模拟测试。
76.综上,本发明实施例的计算机设备先根据正排索引从应用端拉取文件块,再根据私钥对文件块中秘钥标签对应的明细信息进行解密,最后解析经过解密的文件块,得到流量信息后发送至应用端以使应用端对流量信息进行模拟测试,以无侵入实现流量信息脱敏,减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
77.本发明实施例还提供能够实现上述实施例中的流量信息测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的流量信息测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
78.接收来自应用端的正排索引和秘钥标签,根据正排索引从所述应用端拉取文件块;
79.根据私钥对文件块中秘钥标签对应的明细信息进行解密;
80.解析经过解密的文件块得到流量信息,将流量信息发送至应用端以使应用端对流
量信息进行模拟测试。
81.综上,本发明实施例的计算机可读存储介质先根据正排索引从应用端拉取文件块,再根据私钥对文件块中秘钥标签对应的明细信息进行解密,最后解析经过解密的文件块,得到流量信息后发送至应用端以使应用端对流量信息进行模拟测试,以无侵入实现流量信息脱敏,减少应用端的被动改造,便于统一进行安全管控,提高流量录制平台的安全性能。
82.基于同一发明构思,本发明实施例还提供了一种流量信息测试系统,由于该系统解决问题的原理与流量信息测试方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。
83.图6是本发明实施例中流量信息测试系统的交互示意图。图7是本发明实施例中流量信息测试系统的非对称加密解密示意图。如图6

图7所示,流量信息测试系统包括:
84.秘钥管理装置;
85.应用端,用于调用秘钥管理装置录入秘钥信息,拦截调用服务获得秘钥标签和流量信息,根据调用秘钥管理装置获得的公钥对秘钥标签对应的流量信息进行加密生成明细信息;将明细信息写入文件块,根据文件块生成正排索引,发送正排索引和秘钥标签至流量录制平台;对来自流量录制平台的流量信息进行模拟测试;
86.流量信息测试装置,应用于流量录制平台,用于调用秘钥管理装置中的秘钥信息生成公钥和私钥;根据正排索引从应用端拉取文件块;根据私钥对文件块中秘钥标签对应的明细信息进行解密;解析经过解密的文件块得到流量信息,将流量信息发送至应用端。
87.如图6所示,应用端上报正排索引和秘钥标签至流量录制平台,流量录制平台从应用端拉取文件块,流量录制平台使用秘钥管理系统制作秘钥对。流量录制平台侧的核心为映射表与展示,主要实现以下功能:1、将上报的正排索引保存在映射表中并算出倒排索引;2、通过倒排索引去应用端拉取文件块;3、将获取的文件块进行解密与解析,最后展示在前端中。
88.如图7所示,秘钥管理装置主要实现以下功能:1、提供秘钥信息录入的功能;2、提供秘钥对制作功能,不同环境随机生成不同的秘钥对;3、公开保存流量录制平台_pub接口,提供api供第三方调用获取。
89.本发明采用非对称算法进行加密或解密,非对称加密的好处是使用一对公私钥实现加密和解密以提高安全性。流量录制平台保留私钥用来解密,应用端保留公钥用来加密。
90.秘钥信息录入41:应用端调用秘钥管理装置录入秘钥信息,包括应用名、秘钥名称、秘钥类型和秘钥算法名称等。
91.制作秘钥对42:流量录制平台调用秘钥管理装置生成公钥和私钥。其中,公钥在保存在秘钥管理装置,应用端可以通过接口调用来查询,私钥保留在流量录制平台的服务器本地。
92.传递秘钥标签43:应用端将秘钥标签传递到流量录制平台,以使流量录制平台根据秘钥标签判断是否需要对明细信息进行解密。
93.从秘钥管理装置获取公钥44:应用端调用秘钥管理装置获取公钥,以便使用公钥加密流量信息(见使用公钥加密流量信息45)。
94.拉取文件块46:流量录制平台根据倒排索引拉取文件块。
95.使用私钥解密文件块47:秘钥标签不为空时,流量录制平台使用私钥进行解密。
96.回放48:应用端在测试环境对流量信息进行回放。
97.本发明实施例的具体流程如下:
98.1、应用端调用秘钥管理装置录入秘钥信息。
99.2、流量信息测试装置调用秘钥管理装置中的秘钥信息生成公钥和私钥,公钥保存在秘钥管理装置,私钥保存在流量录制平台。
100.3、应用端调用秘钥管理装置获得公钥,拦截调用服务获得秘钥标签和流量信息,根据公钥对秘钥标签对应的流量信息进行加密生成明细信息。
101.4、应用端将明细信息写入文件块,根据文件块生成正排索引,发送正排索引和秘钥标签至流量录制平台。
102.5、流量录制平台根据正排索引从应用端拉取文件块,根据私钥对文件块中秘钥标签对应的明细信息进行解密,解析经过解密的文件块得到流量信息,将流量信息发送至应用端。
103.6、应用端对流量信息进行模拟测试。
104.综上所述,本发明实施例提供的流量信息测试系统具有以下有益效果:
105.(1)使用更高安全性的非对称加密方式传递数据,无侵入实现流量信息脱敏,减少应用端被动改造;
106.(2)提供一种统一实现流量信息脱敏的方案,应用端不需要自定义开发脱敏代码就可以共用公共逻辑,便于做统一安全管控;
107.(3)总体上录制的流量信息数据对用户完全透明且无感知,充分考虑用户数据的安全性,不会存在数据泄露的问题,提升了流量录制平台的安全性能。
108.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
109.本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
110.本发明实施例中所描述的各种说明性的逻辑块,或单元,或装置都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
111.本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd

rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
112.在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd

rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1