欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种通用报文的验证方法、装置及存储介质独创技术26518字

一种通用报文的验证方法、装置及存储介质

2021-02-27 18:50:17

一种通用报文的验证方法、装置及存储介质

  技术领域

  本发明涉及数据传输技术领域,尤其涉及一种通用报文的验证方法、装置及存储介质。

  背景技术

  伴随着网络技术的飞速发展,各种应用层出不穷,为了避免不同应用之间的耦合,将各个应用以微服务的形式进行拆解,各个微服务之间进行报文的传递,各自作为内部服务相互调用。

  但是,报文传输存在一定的危险性,会有因为格式异常的风险引发生产安全问题,现有技术中,为每一个微服务配置验证方法,但是各个验证方法中存在重复,重复的部分需要反复配置,增加了验证方法配置的工作量。

  发明内容

  有鉴于此,本发明提供了一种通用报文的验证方法、装置及存储介质,用以解决现有技术中为每一个微服务配置验证方法,但是各个验证方法中存在重复,增加了验证方法配置的工作量的问题。具体方案如下:

  一种通用报文的验证方法,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,所述报文验证规则方法库包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则,所述验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证方法包括:

  在接收到对当前报文的验证请求时,确定所述当前报文所属的目标接口;

  获取所述目标接口的验证逻辑,所述验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;

  在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则;

  基于所述各个验证规则对所述当前报文进行验证。

  上述的方法,可选的,在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则,包括:

  获取所述验证逻辑中包含的各个验证规则的标识;

  在所述报文验证规则方法库中选取与各个标识对应的各个验证规则。

  上述的方法,可选的,基于所述各个验证规则对所述当前报文进行验证,包括:

  获取与所述目标接口匹配的配置数据和所述各个验证规则在所述验证逻辑中的执行顺序;

  基于所述配置数据对所述各个验证规则进行配置,得到目标验证规则;

  依据所述执行顺序执行所述各个目标验证规则,完成对所述当前报文的验证。

  上述的方法,可选的,还包括:

  在对所述当前报文进行验证过程中,若当前验证规则验证不通过,进行验证提示。

  上述的方法,可选的,所述报文验证规则方法库还包括:各个验证逻辑。

  一种通用报文的验证装置,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,所述报文验证规则方法库包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则,所述验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证方法包括:

  接口确定模块,用于在接收到对当前报文的验证请求时,确定所述当前报文所属的目标接口;

  验证逻辑获取模块,用于获取所述目标接口的验证逻辑,所述验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;

  选取模块,用于在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则;

  验证模块,用于基于所述各个验证规则对所述当前报文进行验证。

  上述的装置,可选的,所述选取模块包括:

  标识获取单元,用于获取所述验证逻辑中包含的各个验证规则的标识;

  选取单元,用于在所述验证规则方法库中选取与各个标识对应的各个验证规则。

  上述的装置,可选的,所述验证模块包括:

  获取单元,用于获取与所述目标接口匹配的配置数据和所述各个验证规则在所述验证逻辑中的执行顺序;

  配置单元,用于基于所述配置数据对所述各个验证规则进行配置,得到目标验证规则;

  验证单元,用于依据所述执行顺序执行所述各个目标验证规则,完成对所述当前报文的验证。

  上述的装置,可选的,所述验证模块还包括:

  提示单元,用于在对所述当前报文进行验证过程中,若当前验证规则验证不通过,进行验证提示。

  一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的通用报文的验证方法。

  与现有技术相比,本发明包括以下优点:

  本发明提供了一种通用报文的验证方法,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证方法包括:在接收到对当前报文的验证请求时,确定当前报文所属的目标接口;获取目标接口的验证逻辑,验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;在报文验证规则方法库选取与验证逻辑匹配的各个验证规则;基于各个验证规则对所述当前报文进行验证,上述的验证方法中,在进行报文验证,基于该接口的验证逻辑在报文验证规则方法库中选取验证规则进行验证,不需要为每一个接口配置验证方法,减少了配置的工作量。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本申请实施例公开的一种通用报文的验证方法流程图;

  图2为本申请实施例公开的一种通用报文的验证装置统结构框图;

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

  本发明公开了一种通用报文验证方法、装置及存储介质,应用于接口在传输报文时,对报文的验证过程中,现有技术中,需要为每一个接口配置验证方法,各个接口配置的验证方法中存在重复部分,重复的部分需要反复配置,增加了配置的工作量,为了解决上述问题,本发明提供了一种通用报文验证方法,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,所述报文验证规则方法库包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则,所述验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证方法的执行流程如图1所示,包括步骤:

  S101、在接收到对当前报文的验证请求时,确定所述当前报文所属的目标接口;

  本发明实施例中,当前报文进行传输时,可以选择是否对所述当前报文进行验证,若不需要对所述当前报文进行验证,则直接将其传递给对应的接口,若需要对当前报文进行验证,在各个接口中确定所述当前报文所属于目标接口的过程如下,可以通过报文传输协议获取目标接口,也可以通过所述当前报文中携带的关联信息确定所述目标报文或者其它的优选方式获取目标接口,本发明实施例中,对所述目标接口的具体确定形式不进行限定。

  S102、获取所述目标接口的验证逻辑,所述验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;

  本发明实施例中,所述验证逻辑可以存在与所述目标接口对应的指定位置中,也可以存储在所述报文验证规则方法库,若存在所述目标接口的指定位置中则直接获取即可,若存在所述报文验证规则方法库中,预先会为所述目标接口和其对应的验证逻辑分配验证标识,通过验证标识将所述目标接口和其对应的验证逻辑建立对应关系,基于所述验证标识,在所述报文验证规则方法库查找与所述验证标识相同的验证逻辑,其中,所述验证标识可以为所述目标接口的名称、编号或者其它优选的标识形式等,本发明实施例中对所述验证标识的具体存在形式不进行限定。

  进一步的,针对每一个接口,其对应的验证逻辑的设定可以基于经验、具体情况或者两者的组成等,该验证逻辑中各个验证规则的执行顺序是预先设定的,针对每一个验证逻辑都会都应一个与其对应的配置数据,所述配置数据用于对验证逻辑各个验证规则中对应的参数进行设置,实现针对不同的接口,及时调用同一验证规则,因为配置参数的不同,验证的过程也不同。

  本发明实施例中,对验证逻辑的设定过程不进行具体限定。其中,所述各个验证规则包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则中的至少一个,优选的,验证逻辑中的各个验证规则与所述报文验证规则方法库中的各个规则通过标识相关联,优选的,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  进一步的,所述验证逻辑中各个验证规则的执行

  针对所述报文加解密验证规则,其中包括:常用的加解密方法,提供出调用API给使用方调用,如对称加密DES、AES,非对称加密RSA、DSA等,以及常见的签名加密算法MD5、SHA1等,另外,支持将自定义加密模块集成进去,整合在一起提供一个报文加解密验证规则,优选的,可以为各个加密方法分配标识,其中,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  针对令牌验证规则,其中包括:集成令牌服务功能,可以生产令牌、验证令牌以及删除令牌等。优选的,可以为各个功能分配标识,其中,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  针对报文攻击检测规则,其中包括:集成报文攻击检测功能代码,供外部调用,如报文实时性检测、防串改检测、防中间人攻击检测、防重复攻击检测、sql注入检测、ddos攻击检测等,组合提供给使用方调用。优选的,可以为各个功能分配标识,其中,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  针对替换转译特殊字符验证规则,其中名包括:服务器敏感的特殊字符过滤功能,可以替换掉或者转译特殊字符,降低服务对敏感字符报错的几率。优选的,可以为各个功能分配标识,其中,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  针对报文字段校验规则,其中包括:对简单规则数据校验功能,如校验长短、是否为空、正则规则匹配验证,如手机号,是否为空、长度11位、匹配正则是否合规/^1[3-9]d{9}$/。关联型数据验证功能,如AField=BField,字段的来源,如入参、数据库、常量、字典值等,可以拼装简单select sql取自数据库表,提前配置的常量值,配置的字典值范围内等。格式化函数,见参数字段简单操作的函数,如字符串截取、拼接、转译大小写等功能函数。优选的,可以为各个功能分配标识,其中,标识可以为数字、字母或者其它优选的标识形式等,本发明实施例中对所述标识的具体存在形式不进行限定。

  S103、在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则;

  本发明实施例中,获取所述验证逻辑中包含的各个验证规则的标识,针对每一个标识,遍历所述报文验证规则方法库,在所述报文验证规则方法库中选取与各个标识对应的各个验证规则。

  S104、基于所述各个验证规则对所述当前报文进行验证。

  本发明实施例中,获取与所述目标接口匹配的配置数据和所述各个验证规则在所述验证逻辑中的执行顺序,基于所述配置数据对所述各个验证规则进行配置,得到目标验证规则,依据所述执行顺序执行所述各个目标验证规则,完成对所述当前报文的验证。

  本发明提供了一种通用报文的验证方法,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,验证逻辑中包含该接口传输的报文需要执行的各个验证规则,该方法包括:在接收到对当前报文的验证请求时,确定当前报文所属的目标接口;获取目标接口的验证逻辑,验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;在报文验证规则方法库选取与验证逻辑匹配的各个验证规则;基于各个验证规则对所述当前报文进行验证,上述的验证方法中,在进行报文验证,基于该接口的验证逻辑在报文验证规则方法库中选取验证规则进行验证,不需要为每一个接口配置验证方法,减少了配置的工作量。

  本发明实施例中,基于上述的验证方法进行举例,以A接口为例,验证过程如下:

  配置对A接口报文进行解密功能,使用非堆成解密RSA进行解密,提前配置好私钥匙,报文输入时,首先取出配置的私钥调用RAS算法进行解密,解密失败直接返回解密失败提示,解密成功,继续下一项验证,如该验证逻辑没有配置,则跳过解密功能,继续下一项验证。

  配置对A接口报文进行令牌验证功能,取出特定的token字段,其中,token字段可以在预设位置处获取,本发明实施例中,对所述预设位置不进行限定。按照预置令牌规则进行验证,验证通过则继续下一项验证,验证失败则返回令牌验证失败提示,如该模块没有配置,则跳过令牌验证,继续下一项验证。其中,基于令牌进行验证过程如下:发放的令牌中由用户id+时间戳组成,在经过AES进行加密,验证令牌的时候用AES解密,在验证用户id是否存在,以及时间戳是否在有效期间内,验证通过即为有效验证,否则令牌已时效。

  配置对A接口报文进行攻击检测功能,取出接口中每个报文字段,依次进行验证,是否命中攻击规则(报文实时性检测、防串改检测、防中间人攻击检测、防重复攻击检测、sql注入检测、ddos攻击检测等),如命中攻击规则,直接返回风险报文提示,没有命中规则,表示报文安全,继续下一项验证,如该模块没有配置,则跳过攻击检测,继续下一项验证。

  配置对A接口报文,进行替换转译特殊字符功能,取出接口中每个报文字段,依次进行替换转译,如n转译\n,*替换空格等,依照服务器需要的规则进行替换即可,替换转译完成,继续下一项验证,如该模块没有配置,则跳过替换转译特殊字符功能,继续下一项验证。

  配置对A接口报文,进行字段规则验证,其中,针对子段规则验证,对哪个字段进行配置,就对哪个字段进行验证,可插拔,可选择性配置。可选择性验证,具体根据实际的业务配置,要对这个字段配置什么样的检测。

  验证过程如下:取出接口中的每个报文,提前配置好每个字段的验证规则,如手机号,是否为空、长度11为,匹配正则为/^1[3-9]d{9}$/,验证通过,继续下一个字段,还有关联型数据验证,如AField=BField,字段的来源可以拼装简单select sql取自数据库表,提前配置的常量值,配置的字典值范围内等。其中每个字段还可以配置使用内置的字段操作函数,如subString(AField,0,2).length()=“ok”等。

  完成所有配置项目检测,即可进入正常的业务流程。

  基于上述的一种通用报文的验证方法,本发明实施例中还提供了一种通用报文的验证装置,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,所述报文验证规则方法库包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则,所述验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证装置的结构框图如图2所示,包括:

  接口确定模块201、验证逻辑获取模块202、选取模块203和验证模块204。

  其中,

  所述接口确定模块201,用于在接收到对当前报文的验证请求时,确定所述当前报文所属的目标接口;

  所述验证逻辑获取模块202,用于获取所述目标接口的验证逻辑,所述验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;

  所述选取模块203,用于在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则;

  所述验证模块204,用于基于所述各个验证规则对所述当前报文进行验证。

  本发明提供了一种通用报文的验证装置,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,验证逻辑中包含该接口传输的报文需要执行的各个验证规则,该装置包括:在接收到对当前报文的验证请求时,确定当前报文所属的目标接口;获取目标接口的验证逻辑,验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;在报文验证规则方法库选取与验证逻辑匹配的各个验证规则;基于各个验证规则对所述当前报文进行验证,上述的验证装置中,在进行报文验证,基于该接口的验证逻辑在报文验证规则方法库中选取验证规则进行验证,不需要为每一个接口配置验证方法,减少了配置的工作量。

  本发明实施例中,所述选取模块203包括:

  标识获取单元205和选取单元206。

  其中,

  所述标识获取单元205,用于获取所述验证逻辑中包含的各个验证规则的标识;

  所述选取单元206,用于在所述报文验证规则方法库中选取与各个标识对应的各个验证规则。

  本发明实施例中,所述验证模块204包括:

  获取单元207、配置单元208和验证单元209。

  其中,

  所述获取单元207,用于获取与所述目标接口匹配的配置数据和所述各个验证规则在所述验证逻辑中的执行顺序;

  所述配置单元208,用于基于所述配置数据对所述各个验证规则进行配置,得到目标验证规则;

  所述验证单元209,用于依据所述执行顺序执行所述各个目标验证规则,完成对所述当前报文的验证。

  本发明实施例中,所述验证模块204还包括:提示单元210。

  其中,

  所述提示单元210,用于在对所述当前报文进行验证过程中,若当前验证规则验证不通过,进行验证提示。

  本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述一种通用报文验证方法,应用于报文在各个接口的传输过程中,预先编制报文验证规则方法库和预先为每一个接口编制验证逻辑,其中,所述报文验证规则方法库包括:报文加解密验证规则、令牌验证规则、报文攻击检测验证规则、替换转译特殊字符验证规则和报文字段校验验证规则,所述验证逻辑中包含该接口传输的报文需要执行的各个验证规则,所述验证方法包括:

  在接收到对当前报文的验证请求时,确定所述当前报文所属的目标接口;

  获取所述目标接口的验证逻辑,所述验证逻辑包括:所述报文验证规则方法库中各个验证规则中的至少一个;

  在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则;

  基于所述各个验证规则对所述当前报文进行验证。

  上述的方法,可选的,在所述报文验证规则方法库选取与所述验证逻辑匹配的各个验证规则,包括:

  获取所述验证逻辑中包含的各个验证规则的标识;

  在所述报文验证规则方法库中选取与各个标识对应的各个验证规则。

  上述的方法,可选的,基于所述各个验证规则对所述当前报文进行验证,包括:

  获取与所述目标接口匹配的配置数据和所述各个验证规则在所述验证逻辑中的执行顺序;

  基于所述配置数据对所述各个验证规则进行配置,得到目标验证规则;

  依据所述执行顺序执行所述各个目标验证规则,完成对所述当前报文的验证。

  上述的方法,可选的,还包括:

  在对所述当前报文进行验证过程中,若当前验证规则验证不通过,进行验证提示。

  上述的方法,可选的,所述报文验证规则方法库还包括:各个验证逻辑。

  需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

  为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

  通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

  以上对本发明所提供的一种通用报文的验证方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

《一种通用报文的验证方法、装置及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)