全链路数据鉴权方法、装置、设备及存储介质.pdf

上传人:小*** 文档编号:11244221 上传时间:2021-09-14 格式:PDF 页数:18 大小:680.84KB
收藏 版权申诉 举报 下载
全链路数据鉴权方法、装置、设备及存储介质.pdf_第1页
第1页 / 共18页
全链路数据鉴权方法、装置、设备及存储介质.pdf_第2页
第2页 / 共18页
全链路数据鉴权方法、装置、设备及存储介质.pdf_第3页
第3页 / 共18页
文档描述:

《全链路数据鉴权方法、装置、设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《全链路数据鉴权方法、装置、设备及存储介质.pdf(18页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910524196.7 (22)申请日 2019.06.18 (71)申请人 平安科技 (深圳) 有限公司 地址 518033 广东省深圳市福田区福田街 道福安社区益田路5033号平安金融中 心23楼 (72)发明人 洪耿杰 (74)专利代理机构 北京市京大律师事务所 11321 代理人 刘挽澜 (51)Int.Cl. H04L 29/06(2006.01) (54)发明名称 全链路数据鉴权方法、 装置、 设备及存储介 质 (57)摘要 本发明涉及信息安全领域, 公开了全链。

2、路数 据鉴权方法、 装置、 设备及存储介质。 全链路数据 鉴权方法包括: 接收链路上报的数据; 解析链路 上报的数据, 得到用户令牌token、 代理agent唯 一标识和用户IP地址; 根据用户token、 agent唯 一标识和用户IP地址进行鉴权; 若鉴权失败, 则 丢弃链路上报的数据; 若鉴权成功, 则采集链路 上报的数据。 本发明基于JWT协议的方式对全链 路上报数据进行身份验证, 防止用户信息泄露导 致的垃圾数据问题, 防止全链路监控服务器受到 攻击, 确保链路上报数据的有用性。 权利要求书2页 说明书11页 附图4页 CN 110225045 A 2019.09.10 CN 11。

3、0225045 A 1.一种全链路数据鉴权方法, 其特征在于, 包括: 接收链路上报的数据; 解析所述链路上报的数据, 得到用户令牌token、 代理agent唯一标识和用户IP地址; 根据所述用户token、 所述agent唯一标识和所述用户IP地址进行鉴权; 若鉴权失败, 则丢弃所述链路上报的数据; 若鉴权成功, 则采集所述链路上报的数据。 2.根据权利要求1所述的全链路数据鉴权方法, 其特征在于, 所述根据所述用户token、 所述agent唯一标识和所述用户IP地址进行鉴权包括: 根据JWT协议对所述用户token进行解析, 得到所述用户token的鉴权信息; 判断所述用户token的。

4、鉴权信息是否存在异常; 若所述用户token的鉴权信息存在异常, 则确定鉴权失败; 若所述用户token的鉴权信息不存在异常, 则根据所述用户token的鉴权信息、 所述 agent唯一标识和所述用户IP地址进行鉴权。 3.根据权利要求2所述的全链路数据鉴权方法, 其特征在于, 所述根据JWT协议对所述 用户token进行解析, 得到所述用户token的鉴权信息包括: 根据所述JWT协议对所述用户token进行分割, 得到所述用户token的头部、 所述用户 token的载荷和所述用户token的签名; 对所述用户token的头部进行base64解密, 得到所述头部声明的加密算法; 根据所述头。

5、部声明的加密算法对所述用户token的头部和所述用户token的载荷进行 组合加密, 得到待验证签名; 判断所述待验证签名与所述用户token的签名是否相同; 若所述待验证签名与所述用户token的签名相同, 则对所述用户token的载荷进行 base64解密, 得到所述用户token的鉴权信息。 4.根据权利要求2所述的全链路数据鉴权方法, 其特征在于, 所述若所述用户token的 鉴权信息不存在异常, 则根据所述用户token的鉴权信息、 所述agent唯一标识和所述用户 IP地址进行鉴权包括: 若所述用户token的鉴权信息不存在异常, 则判断所述用户token的鉴权信息是否包括 所述a。

6、gent唯一标识; 若所述用户token的鉴权信息不包括所述agent唯一标识, 则确定鉴权失败; 若所述用户token的鉴权信息包括所述agent唯一标识, 则判断所述用户token的鉴权 信息是否包括所述用户IP地址; 若所述用户token的鉴权信息不包括所述用户IP地址, 则确定鉴权失败; 若所述用户token的鉴权信息包括所述用户IP地址, 则确定鉴权成功。 5.根据权利要求1所述的全链路数据鉴权方法, 其特征在于, 所述若鉴权失败, 则丢弃 所述链路上报的数据包括: 发送鉴权失败的原因值; 获取鉴权时刻; 记录所述鉴权失败的原因值、 所述agent唯一标识、 所述用户IP地址和所述鉴。

7、权时刻; 删除所述链路上报的数据。 权利要求书 1/2 页 2 CN 110225045 A 2 6.根据权利要求1所述的全链路数据鉴权方法, 其特征在于, 所述若鉴权成功, 则采集 所述链路上报的数据包括: 发送鉴权成功的原因值; 将所述链路上报的数据写入数据库。 7.根据权利要求1至6中任一项所述的全链路数据鉴权方法, 其特征在于, 所述若所述 用户token的鉴权信息不存在异常, 则根据所述用户token的鉴权信息、 所述agent唯一标识 和所述用户IP地址进行鉴权之后, 所述全链路数据鉴权方法还包括: 读取预置值; 判断预置值是否为目标阈值, 所述目标阈值用于指示根据所述用户toke。

8、n的过期时刻 进行鉴权; 若所述预置值为所述目标阈值, 则获取所述用户token的过期时刻; 判断所述用户token的过期时刻是否小于当前时刻; 若所述用户token的过期时刻小于所述当前时刻, 则确定鉴权失败; 若所述用户token的过期时刻大于或等于所述当前时刻, 则确定鉴权成功。 8.一种全链路数据鉴权装置, 其特征在于, 所述全链路数据鉴权装置包括: 接收单元, 用于接收链路上报的数据; 解析单元, 用于解析所述链路上报的数据, 得到用户令牌token、 代理agent唯一标识和 用户IP地址; 鉴权单元, 用于根据所述用户token、 所述agent唯一标识和所述用户IP地址进行鉴权。

9、; 第一处理单元, 若鉴权失败, 则用于丢弃所述链路上报的数据; 第二处理单元, 若鉴权成功, 则用于采集所述链路上报的数据。 9.一种基于全链路数据鉴权设备, 其特征在于, 所述全链路数据鉴权设备包括: 存储器 和至少一个处理器, 所述存储器中存储有指令, 所述存储器和所述至少一个处理器通过线 路互联; 所述至少一个处理器调用所述存储器中的所述指令, 以使得所述全链路数据鉴权设备 执行如权利要求1-7中任意一项所述的方法。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于: 所述计算机程序 被处理器执行时实现如权利要求1-7中任意一项所述方法的步骤。 权利要求书 2/2 页。

10、 3 CN 110225045 A 3 全链路数据鉴权方法、 装置、 设备及存储介质 技术领域 0001 本发明涉及信息安全领域, 尤其涉及全链路数据鉴权方法、 装置、 设备及存储介 质。 背景技术 0002 在互联网技术高速发展的今天, 需要通过集群部署来支撑日益增长的庞大业务 量, 同时又能根据业务需要进行灵活扩展, 形成了分布式系统。 0003 全链路监控组件可以监控分布式系统在不同应用、 不同服务器的之间的关联动 作。 一次用户上报数据通常要调用多个服务节点, 在系统运维中, 需要对服务链路的用户上 报数据进行监控, 以便及时发现并处理服务链路中出现的问题。 0004 目前全链路上报数。

11、据只是根据用户名和密码进行简单鉴权, 或者不进行鉴权, 这 样会带来各种问题, 比如一些重要的用户信息, 尤其敏感数据, 以明文方式传输, 会导致用 户的数据容易遭受攻击, 也会造成大量的垃圾数据上报。 发明内容 0005 本发明的主要目的在于解决全链路上报数据不鉴权或者简单鉴权导致的用户数 据遭受攻击, 大量的垃圾数据上报的技术问题。 0006 为实现上述目的, 本发明第一方面提供了一种全链路数据鉴权方法, 包括: 接收链 路上报的数据; 解析所述链路上报的数据, 得到用户令牌token、 代理agent唯一标识和用户 IP地址; 根据所述用户token、 所述agent唯一标识和所述用户I。

12、P地址进行鉴权; 若鉴权失 败, 则丢弃所述链路上报的数据; 若鉴权成功, 则采集所述链路上报的数据。 0007 可选的, 在本发明第一方面的第一种实现方式中, 所述根据所述用户token、 所述 agent唯一标识和所述用户IP地址进行鉴权包括: 根据JWT协议对所述用户token进行解析, 得到所述用户token的鉴权信息; 判断所述用户token的鉴权信息是否存在异常; 若所述用 户token的鉴权信息存在异常, 则确定鉴权失败; 若所述用户token的鉴权信息不存在异常, 则根据所述用户token的鉴权信息、 所述agent唯一标识和所述用户IP地址进行鉴权。 0008 可选的, 在本。

13、发明第一方面的第二种实现方式中, 所述根据JWT协议对所述用户 token进行解析, 得到所述用户token的鉴权信息包括: 根据所述JWT协议对所述用户token 进行分割, 得到所述用户token的头部、 所述用户token的载荷和所述用户token的签名; 对 所述用户token的头部进行base64解密, 得到所述头部声明的加密算法; 根据所述头部声明 的加密算法对所述用户token的头部和所述用户token的载荷进行组合加密, 得到待验证签 名; 判断所述待验证签名与所述用户token的签名是否相同; 若所述待验证签名与所述用户 token的签名相同, 则对所述用户token的载荷进。

14、行base64解密, 得到所述用户token的鉴权 信息。 0009 可选的, 在本发明第一方面的第三种实现方式中, 所述若所述用户token的鉴权信 息不存在异常, 则根据所述用户token的鉴权信息、 所述agent唯一标识和所述用户IP地址 说明书 1/11 页 4 CN 110225045 A 4 进行鉴权包括: 若所述用户token的鉴权信息不存在异常, 则判断所述用户token的鉴权信 息是否包括所述agent唯一标识; 若所述用户token的鉴权信息不包括所述agent唯一标识, 则确定鉴权失败; 若所述用户token的鉴权信息包括所述agent唯一标识, 则判断所述用户 tok。

15、en的鉴权信息是否包括所述用户IP地址; 若所述用户token的鉴权信息不包括所述用户 IP地址, 则确定鉴权失败; 若所述用户token的鉴权信息包括所述用户IP地址, 则确定鉴权 成功。 0010 可选的, 在本发明第一方面的第四种实现方式中, 所述若鉴权失败, 则丢弃所述链 路上报的数据包括: 发送鉴权失败的原因值; 获取鉴权时刻; 记录所述鉴权失败的原因值、 所述agent唯一标识、 所述用户IP地址和所述鉴权时刻; 删除所述链路上报的数据。 0011 可选的, 在本发明第一方面的第五种实现方式中, 所述若鉴权成功, 则采集所述链 路上报的数据包括: 发送鉴权成功的原因值; 将所述链路。

16、上报的数据写入数据库。 0012 可选的, 在本发明第一方面的第六种实现方式中, 所述若所述用户token的鉴权信 息不存在异常, 则根据所述用户token的鉴权信息、 所述agent唯一标识和所述用户IP地址 进行鉴权还包括: 读取预置值; 判断所述预置值是否为目标阈值, 所述目标阈值用于指示根 据所述用户token的过期时刻进行鉴权; 若所述预置值为所述目标阈值, 则获取所述用户 token的过期时刻; 判断所述用户token的过期时刻是否小于当前时刻; 若所述用户token的 过期时刻小于所述当前时刻, 则确定鉴权失败; 若所述用户token的过期时刻大于或等于所 述当前时刻, 则确定鉴。

17、权成功。 0013 本发明第二方面提供了一种全链路数据鉴权装置, 包括: 接收单元, 用于接收链路 上报的数据; 解析单元, 用于解析所述链路上报的数据, 得到所述用户令牌token、 代理 agent唯一标识和用户IP地址; 鉴权单元, 用于根据所述用户token、 所述agent唯一标识和 所述用户IP地址进行鉴权; 第一处理单元, 若鉴权失败, 则用于丢弃所述链路上报的数据; 第二处理单元, 若鉴权成功, 则用于采集所述链路上报的数据。 0014 可选的, 在本发明第二方面的第一种实现方式中, 所述鉴权单元包括: 解析子单 元, 用于根据JWT协议对所述用户token进行解析, 得到所述。

18、用户token的鉴权信息; 第一判 断子单元, 用于判断所述用户token的鉴权信息是否存在异常; 第一处理子单元, 若所述用 户token的鉴权信息存在异常, 则用于确定鉴权失败; 第一鉴权子单元, 若所述用户token的 鉴权信息不存在异常, 则用于根据所述用户token的鉴权信息、 所述agent唯一标识和所述 用户IP地址进行鉴权。 0015 可选的, 在本发明第二方面的第二种实现方式中, 所述解析子单元具体用于: 根据 所述JWT协议对所述用户token进行分割, 得到所述用户token的头部、 所述用户token的载 荷和所述用户token的签名; 对所述用户token的头部进行b。

19、ase64解密, 得到所述头部声明 的加密算法; 根据所述头部声明的加密算法对所述用户token的头部和所述用户token的载 荷进行组合加密, 得到待验证签名; 判断所述待验证签名与所述用户token的签名是否相 同; 若所述待验证签名与所述用户token的签名相同, 则对所述用户token的载荷进行 base64解密, 得到所述用户token的鉴权信息。 0016 可选的, 在本发明第二方面的第三种实现方式中, 所述第一鉴权子单元具体用于: 若所述用户token的鉴权信息不存在异常, 则判断所述用户token的鉴权信息是否包括所述 agent唯一标识; 若所述用户token的鉴权信息不包括。

20、所述agent唯一标识, 则确定鉴权失 说明书 2/11 页 5 CN 110225045 A 5 败; 若所述用户token的鉴权信息包括所述agent唯一标识, 则判断所述用户token的鉴权信 息是否包括所述用户IP地址; 若所述用户token的鉴权信息不包括所述用户IP地址, 则确定 鉴权失败; 若所述用户token的鉴权信息包括所述用户IP地址, 则确定鉴权成功。 0017 可选的, 在本发明第一方面的第四种实现方式中, 所述第一处理单元具体用于: 发 送鉴权失败的原因值; 获取鉴权时刻; 记录所述鉴权失败的原因值、 所述agent唯一标识、 所 述用户IP地址和所述鉴权时刻; 删除。

21、所述链路上报的数据。 0018 可选的, 在本发明第二方面的第五种实现方式中, 所述第二处理单元具体用于: 发 送鉴权成功的原因值; 将所述链路上报的数据写入数据库。 0019 可选的, 在本发明第二方面的第六种实现方式中, 所述鉴权单元还包括: 读取子单 元, 用于读取预置值; 第二判断子单元, 用于判断所述预置值是否为目标阈值, 所述目标阈 值指示根据所述用户token的过期时刻进行鉴权; 第二鉴权子单元, 若所述预置值为根据所 述用户token的过期时刻进行鉴权, 则用于获取所述用户token的过期时刻; 第三判断子单 元, 用于判断所述用户token的过期时刻是否小于当前时刻; 第二处。

22、理子单元, 若所述用户 token的过期时刻小于所述当前时刻, 则用于确定鉴权单元; 第三处理子单元, 若所述用户 token的过期时刻大于或等于所述当前时刻, 则用于确定鉴权成功。 0020 本发明第三方面提供了一种全链路数据鉴权设备, 包括: 存储器和至少一个处理 器, 所述存储器中存储有指令, 所述存储器和所述至少一个处理器通过线路互联; 所述至少 一个处理器调用所述存储器中的所述指令, 以使得所述全链路数据鉴权设备执行上述第一 方面所述的方法。 0021 本发明的第四方面提供了一种计算机可读存储介质, 所述计算机可读存储介质中 存储有指令, 当其在计算机上运行时, 使得计算机执行上述第。

23、一方面所述的方法。 0022 从以上技术方案可以看出, 本发明具有以下优点: 0023 本发明提供的技术方案中, 接收链路上报的数据; 解析所述链路上报的数据, 得到 用户令牌token、 代理agent唯一标识和用户IP地址; 根据所述用户token、 所述agent唯一标 识和所述用户IP地址进行鉴权; 若鉴权失败, 则丢弃所述链路上报的数据; 若鉴权成功, 则 采集所述链路上报的数据。 本发明实施例中, 根据用户令牌token与代理agent唯一标识和 用户IP地址进行鉴权, 得到鉴权结果, 根据鉴权结果确定是否采集链路上报的数据, 实现过 滤链路上报的垃圾数据。 附图说明 0024 图。

24、1为本发明实施例中全链路数据鉴权方法的一个实施例示意图; 0025 图2为本发明实施例中全链路数据鉴权方法的另一个实施例示意图; 0026 图3为本发明实施例中全链路数据鉴权装置的一个实施例示意图; 0027 图4为本发明实施例中全链路数据鉴权装置的另一个实施例示意图; 0028 图5为本发明实施例中全链路数据鉴权设备的一个实施例示意图。 具体实施方式 0029 本发明实施例提供了全链路数据鉴权方法、 装置、 设备及存储介质, 用于根据用户 令牌token与代理agent唯一标识和用户IP地址进行鉴权, 得到鉴权结果, 根据鉴权结果确 说明书 3/11 页 6 CN 110225045 A 6。

25、 定是否采集链路上报的数据, 实现过滤链路上报的垃圾数据。 基于JWT协议的方式对全链路 上报数据进行身份验证, 防止用户信息泄露导致的垃圾数据问题, 防止全链路监控服务器 受到攻击, 确保链路上报数据的有用性。 0030 为了使本技术领域的人员更好地理解本发明方案, 下面将结合本发明实施例中的 附图, 对本发明实施例进行描述。 0031 本发明的说明书和权利要求书及上述附图中的术语 “第一” 、“第二” 、“第三” 、“第 四” 等(如果存在)是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。 应该理 解这样使用的数据在适当情况下可以互换, 以便这里描述的实施例能够以除了在这里图示。

26、 或描述的内容以外的顺序实施。 此外, 术语 “包括” 或 “具有” 及其任何变形, 意图在于覆盖不 排他的包含, 例如, 包含了一系列步骤或单元的过程、 方法、 系统、 产品或设备不必限于清楚 地列出的那些步骤或单元, 而是可包括没有清楚地列出的或对于这些过程、 方法、 产品或设 备固有的其它步骤或单元。 0032 为便于理解, 下面对本发明实施例的具体流程进行描述, 请参阅图1, 本发明实施 例中全链路数据鉴权方法的一个实施例包括: 0033 101、 接收链路上报的数据; 0034 服务器接收链路上报的数据。 具体的, 服务器通过全链路的代理agent发送链路上 报的数据, 通过全链路中。

27、的数据收集模块collector接收agent发送过来的链路上报的数 据, 链路上报的数据包括用户令牌token、 代理agent唯一标识和用户IP地址。 0035 需要说明的是, 全链路监控系统包括代理agent, 数据收集模块collector以及显 示终端, 每个agent都有其唯一的用户token、 agent唯一标识和用户IP地址。 agent部署在全 链路分布式系统中, 用于监控网络连接情况, 并上报数据, collector用于接收数据并对接 收的数据进行鉴权, 显示终端用来展示collector采集的数据。 0036 102、 解析链路上报的数据, 得到用户令牌token、 代。

28、理agent唯一标识和用户IP地 址; 0037 服务器解析链路上报的数据, 得到用户令牌token、 代理agent唯一标识和用户IP 地址。 具体的, 服务器按照预置方式解析该链路上报的数据, 得到用户令牌token、 代理 agent唯一标识和用户IP地址, 服务器判断用户令牌token、 代理agent唯一标识和用户IP地 址是否为空, 若用户令牌token、 代理agent唯一标识和用户IP地址有一个参数为空, 则确定 此次链路上报的数据为无效数据, 丢弃此次链路上报的数据。 0038 需要说明的是, 该用户令牌token为根据JWT协议生成的, 该JWT协议是一种基于JS 对象简谱。

29、(javascript object notation, JSON)的开放标准协议, 适用场景比如现在流行 的分布式环境当中, 非常适用跨平台应用程序, 根据JWT协议生成的链路的用户token, 包括 用户token的头部header、 用户token的载荷payload和用户token的签名signature, 三个部 分使用分隔符 “.” 按照先后顺序依次进行连接。 该agent唯一标识是全局唯一的, 服务器使 用数据库中具有自动增长标识符类型的字段或者使用通用唯一识别码(universally unique identifier, UUID)的生成库进行设置代理agent唯一标识, 具。

30、体此处不做限定。 0039 103、 根据用户token、 agent唯一标识和用户IP地址进行鉴权; 0040 服务器根据用户token、 agent唯一标识和用户IP地址进行鉴权。 鉴权是指验证链 路上报的数据是否拥有访问系统的权利。 具体的, 服务器根据JWT协议对用户token进行分 说明书 4/11 页 7 CN 110225045 A 7 割, 进一步地, 服务器根据JWT协议通过分隔符 “.” 将该用户token进行分割, 得到用户token 的头部、 用户token的载荷和用户token的签名, 三个部分都为字符串形式, 包括数字和字母 等符号; 服务器对用户token的头部进。

31、行base64解密, 得到头部声明的加密算法; 服务器根 据头部声明的加密算法对用户token的头部和用户token的载荷进行组合加密, 得到待验证 签名; 服务器判断待验证签名与用户token的签名是否相同; 若待验证签名与用户token的 签名相同, 则服务器对用户token的载荷进行base64解密, 得到用户token的鉴权信息。 0041 服务器判断用户token的鉴权信息是否存在异常; 若用户token的鉴权信息存在异 常, 则确定鉴权失败, 执行步骤104, 例如, 若用户token的鉴权信息为空, 则确定鉴权失败; 若用户token的鉴权信息不存在异常, 则服务器判断用户tok。

32、en的鉴权信息是否包括agent 唯一标识; 若用户token的鉴权信息不包括agent唯一标识, 则服务器确定鉴权失败, 执行步 骤104, 例如, agent唯一标识为1000, 用户token的鉴权信息中的agent唯一标识为1001, 则 两者不匹配, 确定鉴权失败; 若用户token的鉴权信息包括agent唯一标识, 则服务器判断用 户token的鉴权信息是否包括用户IP地址; 若用户token的鉴权信息不包括用户IP地址, 则 确定鉴权失败, 执行步骤104, 例如, 用户IP地址为A, 用户token的鉴权信息中的用户IP地址 为B, 则两者不匹配, 确定鉴权失败, A与B均为符。

33、合IP地址的格式; 若用户token的鉴权信息 包括用户IP地址, 则确定鉴权成功, 执行步骤105。 0042 104、 若鉴权失败, 则丢弃链路上报的数据; 0043 若鉴权失败, 则服务器丢弃链路上报的数据。 鉴权失败说明通过agent发送的数据 没有通过链路的身份验证, 是无效的垃圾数据, 拒绝采集, 等待下一个链路上报数据周期, 重新进行链路数据的鉴权。 0044 具体的, 服务器根据鉴权失败预设鉴权失败的原因值, 一旦鉴权失败, 服务器发送 鉴权失败的原因值; 获取鉴权时刻; 记录鉴权失败的原因值、 agent唯一标识、 用户IP地址和 鉴权时刻; 服务器删除链路上报的数据。 例如。

34、, 若用户令牌token的鉴权信息不包括agent唯 一标识, 确定鉴权失败, 设置其鉴权失败的原因值为501; 若用户令牌token的鉴权信息不包 括用户IP地址, 确定鉴权失败, 设置其鉴权失败的原因值为502, 具体此处不做限定。 0045 需要说明的是, 记录鉴权失败的原因值、 agent唯一标识、 用户IP地址和鉴权时刻, 以便于查询问题, 该记录方式可以通过日志或者数据库表的方式, 具体此处不做限定。 0046 105、 若鉴权成功, 则采集链路上报的数据。 0047 若鉴权成功, 则服务器采集上报的数据, 具体的, 服务器发送鉴权成功的原因值, 通知链路上报数据端数据采集成功, 。

35、例如, 设置鉴权成功的原因值为200, agent接收到该 值, 确认上报数据被采集; 同时服务器将链路上报的数据记录在HBase数据库中。 HBase是一 个高可靠性、 高性能、 面向列和可伸缩的分布式存储系统, 利用HBase技术可搭建大规模结 构化存储集群, HBase的目标是存储并处理大型的数据, 更具体来说是仅需使用普通的硬件 配置, 就能够处理由成千上万的行和列所组成的大型数据, 适用于全链路监控系统。 0048 需要说明的是, 全链路通过代理agent无侵入式部署, 将性能测量与业务逻辑完全 分离, 用于收集应用端监控数据, 在启动命令中设置部分参数, 例如, 代理agent唯一。

36、标识以 及数据收集模块collector的地址, 这种方式大大提高了采集效率, 并且减少运维成本。 0049 本发明实施例中, 根据用户令牌token与代理agent唯一标识和用户IP地址进行鉴 权, 得到鉴权结果, 根据鉴权结果确定是否采集链路上报的数据, 实现过滤链路上报的垃圾 说明书 5/11 页 8 CN 110225045 A 8 数据。 基于JWT协议的方式对全链路上报数据进行身份验证, 防止用户信息泄露导致的垃圾 数据问题, 防止全链路监控服务器受到攻击, 确保链路上报数据的有用性。 0050 请参阅图2, 本发明实施例中全链路数据鉴权方法的另一个实施例包括: 0051 201、。

37、 接收链路上报的数据; 0052 服务器接收链路上报的数据。 具体的, 服务器通过全链路的代理agent发送链路上 报的数据, 通过全链路中的数据收集模块collector接收agent发送过来的链路上报的数 据, 链路上报的数据包括用户令牌token、 代理agent唯一标识和用户IP地址。 0053 需要说明的是, 全链路监控系统包括代理agent, 数据收集模块collector以及显 示终端, 每个agent都有其唯一的用户token、 agent唯一标识和用户IP地址。 agent部署在全 链路分布式系统中, 用于监控网络连接情况, 并上报数据, collector用于接收数据并对接。

38、 收的数据进行鉴权, 显示终端用来展示collector采集的数据。 0054 202、 解析链路上报的数据, 得到用户令牌token、 代理agent唯一标识和用户IP地 址; 0055 服务器解析链路上报的数据, 得到用户令牌token、 代理agent唯一标识和用户IP 地址。 具体的, 服务器通过预置方式解析该链路上报的数据, 得到用户令牌token、 代理 agent唯一标识和用户IP地址, 服务器判断用户令牌token、 代理agent唯一标识和用户IP地 址是否为空, 若用户令牌token、 代理agent唯一标识和用户IP地址有一个参数为空, 则确定 此次链路上报的数据为无效数。

39、据, 丢弃此次链路上报的数据。 0056 需要说明的是, 该用户令牌token为根据JWT协议生成的, 该JWT协议是一种基于JS 对象简谱(javascript object notation, JSON)的开放标准协议, 适用场景比如现在流行 的分布式环境当中, 非常适用跨平台应用程序, 根据JWT协议生成的链路的用户token, 包括 用户token的头部header、 用户token的载荷payload和用户token的签名signature, 三个部 分使用分隔符 “.” 按照先后顺序依次进行连接。 该agent唯一标识是全局唯一的, 服务器使 用数据库中具有自动增长标识符类型的字段。

40、或者使用通用唯一识别码(universally unique identifier, UUID)的生成库进行设置代理agent唯一标识, UUID包括当前时刻、 时 钟序列和全局唯一的IEEE机器识别号, UUID是指在一台机器上生成的数字, 它保证对在同 一时空中的所有机器都是唯一的。 0057 203、 根据JWT协议对用户token进行解析, 得到用户token的鉴权信息; 0058 服务器根据JWT协议对用户token进行解析, 得到用户token的鉴权信息。 该用户 token的鉴权信息包括用户token的过期时刻和鉴权参数。 0059 具体的, 首先, 服务器根据JWT协议对用户t。

41、oken进行分割, 进一步地, 服务器根据 JWT协议通过分隔符 “.” 对用户token进行字符串的分割, 得到用户token的头部、 用户token 的载荷和用户token的签名, 三个部分都为字符串形式, 包括数字和字母等字符。 0060 其次, 服务器对用户token的头部进行base64解密, 得到头部声明的加密算法, 例 如, 服务器根据base64解密, base64UrlDecode(用户token的头部), 得到的解密结果如下所 示, 0061 说明书 6/11 页 9 CN 110225045 A 9 0062 0063 其中, 参数typ为令牌的类型, 参数alg为常用的。

42、加密散列算法, 得到头部声明的加 密算法为HS256。 0064 然后, 服务器根据头部声明的加密算法对用户token的头部和用户token的载荷进 行组合加密, 得到待验证签名, 具体的, 服务器将用户token的头部和用户token的载荷使用 分隔符 “.” 连接组成字符串, 然后根据头部声明的加密方式HS256将字符串与密钥组合加 密, 得到待验证签名, 例如, 密钥为secret, 服务器根据头部声明的加密算法HS256进行组合 加密的流程为, 0065 HMACSHA256(用户token的头部+.+用户token的载荷,secret), 0066 其中secret为用户token的。

43、密钥, 该密钥与用户token的加密过程保持一致。 0067 最后, 服务器判断待验证签名与用户token的签名是否相同; 若待验证签名与用户 token的签名相同, 则服务器对用户token的载荷进行base64解密, 得到用户令牌token的鉴 权信息。 0068 需要说明的是, 用户token的载荷存放有效信息, 包含注册声明、 公有声明和私有 声明, 服务器获取包括agent唯一标识和用户IP地址的私有声明部分, 例如: 0069 0070 , 服务器还获取到注册声明中的参数, 例如过期时刻参数exp, 该参数exp为时间戳 格式。 0071 204、 根据用户token的鉴权信息、 。

44、agent唯一标识和用户IP地址进行鉴权; 0072 服务器根据用户令牌token的鉴权信息、 agent唯一标识和用户IP地址进行鉴权, 具体的, 服务器判断用户令牌token的鉴权信息是否存在异常, 例如, 若用户令牌token的鉴 权信息为空, 则确定鉴权失败; 若用户令牌token的鉴权信息存在异常, 则确定鉴权失败, 执 行步骤205, 例如, 用户令牌token的鉴权信息为空, 则确定鉴权失败; 若用户令牌token的鉴 权信息不存在异常, 则服务器判断用户令牌token的鉴权信息是否包括代理agent唯一标 识; 若用户令牌token的鉴权信息不包括代理agent唯一标识, 则服。

45、务器确定鉴权失败, 执行 步骤205, 例如, agent唯一标识为1000, 用户令牌token的鉴权信息中的agent唯一标识为 1001, 则两者不匹配, 确定鉴权失败; 若用户令牌token的鉴权信息包括代理agent唯一标 识, 则服务器判断用户令牌token的鉴权信息是否包括用户IP地址; 若用户令牌token的鉴 权信息不包括用户IP地址, 则确定鉴权失败, 执行步骤205, 例如, 用户IP地址为A, 用户令牌 token的鉴权信息中的用户IP地址为B, 则两者不匹配, 确定鉴权失败, A与B均为符合IP地址 的格式。 若用户令牌token的鉴权信息包括用户IP地址, 则确定鉴。

46、权成功, 执行步骤206。 0073 可选的, 服务器读取配置信息, 判断预置值是否为目标阈值, 目标阈值用于指示根 据用户令牌token的过期时刻进行鉴权; 若预置值为目标阈值, 则获取用户token的获取用 说明书 7/11 页 10 CN 110225045 A 10 户令牌的过期时刻; 判断所述用户令牌token的过期时刻是否小于当前时刻, 若用户令牌的 过期时刻小于当前时刻, 则确定鉴权失败, 执行步骤205; 若用户token的过期时刻大于或等 于当前时刻, 则确定鉴权成功, 执行步骤206。 例如, 若获取预置值的目标阈值为1, 则表示根 据用户token的过期时刻进行鉴权, 用。

47、户token的过期时刻是时间戳格式。 该配置信息可通 过文件方式或者数据表方式进行存储, 具体此处不做限定。 0074 205、 若鉴权失败, 则丢弃链路上报的数据; 0075 若鉴权失败, 则服务器丢弃链路上报的数据。 鉴权失败说明通过agent发送的链路 上报的数据没有通过身份验证, 是无效的垃圾数据, 拒绝采集, 等待下一个链路上报数据周 期, 重新进行链路数据的鉴权。 0076 具体的, 服务器根据鉴权失败预设鉴权失败的原因值, 一旦鉴权失败, 服务器发送 鉴权失败的原因值; 获取鉴权时刻; 记录鉴权失败的原因值、 agent唯一标识、 用户IP地址和 鉴权时刻; 服务器删除链路上报的。

48、数据。 例如, 若用户token的鉴权信息不包括agent唯一标 识, 确定鉴权失败, 其预设的鉴权失败的原因值为501; 若用户token的鉴权信息不包括用户 IP地址, 确定鉴权失败, 起预设的鉴权失败的原因值为502, 具体此处不做限定。 0077 需要说明的是, 记录鉴权失败的原因值、 agent唯一标识、 用户IP地址和鉴权时刻, 是为了便于查询问题, 该记录方式可以通过日志或者数据库表的方式, 具体此处不做限定。 0078 206、 若鉴权成功, 则采集链路上报的数据; 0079 若鉴权成功, 则服务器采集链路上报的数据。 具体的, 用户令牌token的鉴权信息 不存在异常, 同时。

49、包括代理agent唯一标识和用户IP地址服务器, 则确定鉴权成功, 若鉴权 成功, 则服务器发送鉴权成功的原因值, 通知链路上报数据端, 即agent数据采集成功, 例 如, 设置鉴权成功的原因值为200, agent接收到该值, 确认上报数据被采集; 同时服务器将 链路上报的数据记录在HBase数据库中。 HBase是一个高可靠性、 高性能、 面向列和可伸缩的 分布式存储系统, 利用HBase技术可搭建大规模结构化存储集群, HBase的目标是存储并处 理大型的数据, 更具体来说是仅需使用普通的硬件配置, 就能够处理由成千上万的行和列 所组成的大型数据, 适用于全链路监控系统。 0080 需。

50、要说明的是, 全链路通过代理agent无侵入式部署, 将性能测量与业务逻辑完全 分离, 用于收集应用端监控数据, 在启动命令中设置部分参数, 例如, 代理agent唯一标识以 及数据收集模块collector的地址, 这种方式大大提高了采集效率, 并且减少运维成本。 0081 本发明采用上述的方法, 根据用户令牌token与代理agent唯一标识和用户IP地址 进行鉴权, 得到鉴权结果, 根据鉴权结果确定是否采集链路上报的数据, 实现过滤链路上报 的垃圾数据。 基于JWT协议的方式对全链路上报数据进行身份验证, 防止用户信息泄露导致 的垃圾数据问题, 防止全链路监控服务器受到攻击, 确保链路上。

展开阅读全文
内容关键字: 路数 据鉴权 方法 装置 设备 存储 介质
关于本文
本文标题:全链路数据鉴权方法、装置、设备及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11244221.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1