CN112291240B - 一种信息处理方法及装置 - Google Patents

一种信息处理方法及装置 Download PDF

Info

Publication number
CN112291240B
CN112291240B CN202011179959.8A CN202011179959A CN112291240B CN 112291240 B CN112291240 B CN 112291240B CN 202011179959 A CN202011179959 A CN 202011179959A CN 112291240 B CN112291240 B CN 112291240B
Authority
CN
China
Prior art keywords
message
request
response message
client
request message
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.)
Active
Application number
CN202011179959.8A
Other languages
English (en)
Other versions
CN112291240A (zh
Inventor
王勇
辛存生
李一萌
赵敬和
陈享享
欧阳鹏
乔子真
闫然
李曦
何通
刘丹丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guowang Xiongan Finance Technology Group Co ltd
State Grid Huitong Jincai Beijing Information Technology Co ltd
State Grid Corp of China SGCC
State Grid E Commerce Co Ltd
Original Assignee
Guowang Xiongan Finance Technology Group Co ltd
State Grid Huitong Jincai Beijing Information Technology Co ltd
State Grid Corp of China SGCC
State Grid E Commerce Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guowang Xiongan Finance Technology Group Co ltd, State Grid Huitong Jincai Beijing Information Technology Co ltd, State Grid Corp of China SGCC, State Grid E Commerce Co Ltd filed Critical Guowang Xiongan Finance Technology Group Co ltd
Priority to CN202011179959.8A priority Critical patent/CN112291240B/zh
Publication of CN112291240A publication Critical patent/CN112291240A/zh
Application granted granted Critical
Publication of CN112291240B publication Critical patent/CN112291240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种信息处理方法及装置,在现有应用框架的基础上增加了安全校验机制,具体地,服务应用端接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;利用请求解析器中的请求校验器,对所述处理结果进行安全校验;校验通过后,进行业务逻辑处理并生成响应报文;对所述响应报文进行封装,并将封装后的报文返回至客户端。由于对客户端与服务应用端之间传输的信息即请求报文进行了安全校验,因此可以避免主要针对客户端与服务应用端之间传输数据的中间人攻击。相较于现有技术的安全验证机制,提高了应用的安全性。

Description

一种信息处理方法及装置
技术领域
本申请属于信息安全技术领域,尤其涉及一种信息处理方法及装置。
背景技术
现有的应用框架上,仅存在用于实现对用户鉴权的安全机制,用于保证应用的安全性。但是,随着互联网的发展,用户对应用安全性的要求越来越高,仅对用户鉴权进行安全验证,并不能满足用户对应用安全性的要求。例如,无法避免中间人攻击。
针对此,亟需提高应用的安全性来满足用户要求。
发明内容
有鉴于此,本申请的目的在于提供一种信息处理方法及处理装置,用于提高应用的安全性。
技术方案如下:
本申请提供了一种信息处理方法,包括:
接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;
利用请求解析器中的请求校验器,对所述处理结果进行安全校验;
校验通过后,进行业务逻辑处理并生成响应报文;
对所述响应报文进行封装,并将封装后的报文返回至客户端。
优选地,所述利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果,包括:
确定所述请求报文的类型;
根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器;其中,所述报文转换器列表是通过配置项将所需的报文转换器注册到所述请求解析器中生成的;
利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文。
优选地,还包括:
对所述约定格式的请求报文进行解密,得到请求报文数据;
对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
优选地,所述请求校验器至少包括完整性校验器、防重放攻击校验器、防重复提交校验器、鉴权校验器、终端版本校验器中的一项或多项的组合。
优选地,所述对所述响应报文进行封装,并将封装后的报文返回至客户端,包括:
若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;
若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文;
将所述约定格式的响应报文返回至客户端。
优选地,所述将所述约定格式的响应报文返回至客户端,包括:
对所述约定格式的响应报文进行整体签名,并将所述约定格式的响应报文和所述整体签名发送至客户端,使得客户端接收到响应报文后,基于所述整体签名对所述响应报文进行完整性校验。
优选地,还包括:
将所述请求报文的防重放令牌,添加至所述约定格式的响应报文;
将所述约定格式的响应报文返回至客户端,使得客户端接收到响应报文后,通过比较所述防重放令牌和发送请求报文时生成的令牌,验证响应报文是否被整体性替换。
本申请还提供了一种信息处理装置,包括:
处理单元,用于接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;
校验单元,用于利用请求解析器中的请求校验器,对所述处理结果进行安全校验;
生成单元,用于校验通过后,进行业务逻辑处理并生成响应报文;
封装单元,用于对所述响应报文进行封装,并将封装后的报文返回至客户端。
优选地,所述处理单元,具体包括:
转换子单元,用于确定所述请求报文的类型;根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器;其中,所述报文转换器列表是通过配置项将所需的报文转换器注册到所述请求解析器中生成的;利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文;
解密子单元,用于对所述约定格式的请求报文进行解密,得到请求报文数据;
过滤子单元,用于对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
优选地,所述封装单元,具体用于:
若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;
若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文;
将所述约定格式的响应报文返回至客户端。
与现有技术相比,本申请提供的上述技术方案具有如下优点:
从上述技术方案可知,本申请中在现有应用框架的基础上增加了安全校验机制,具体地,服务应用端接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;利用请求解析器中的请求校验器,对所述处理结果进行安全校验;校验通过后,进行业务逻辑处理并生成响应报文;对所述响应报文进行封装,并将封装后的报文返回至客户端。由于对客户端与服务应用端之间传输的信息即请求报文进行了安全校验,因此可以避免主要针对客户端与服务应用端之间传输数据的中间人攻击。相较于现有技术的安全验证机制,提高了安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请公开的一种信息处理方法的流程图;
图2是本申请公开的利用请求解析器对请求报文进行处理的方法流程图;
图3是应用信息处理方法从请求开始至响应结束的示意图;
图4是本申请公开的一种信息处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种信息处理方法,应用于提供服务的应用端。
在实际应用中,springboot作为市面上主流的Java后端应用的微服务框架,本申请实施例可以以springboot为应用框架,在此基础上进行改进以提高服务应用的安全性。特别地,可以避免中间人攻击。
参见图1所示,该信息处理方法可以包括以下步骤:
S101、接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果。
S102、利用请求解析器中的请求校验器,对所述处理结果进行安全校验。
请求校验器可以包括以下至少一项:
完整性校验器、防重放攻击校验器、防重复提交校验器、鉴权校验器、终端版本校验器。
完整性校验器用于验证请求报文的完整性,保证报文数据不被篡改;
防重放攻击校验器用于验证请求报文是否已经被响应后又再次重放,可以避免重放攻击。主要在身份认证过程中应用,避免破坏身份认证的正确性。
防重复提交校验器用于验证请求报文是否重复提交。
鉴权校验器用于验证用户是否拥有访问权限。
终端版本校验器用于验证终端版本是否符合要求。
S103、校验通过后,进行业务逻辑处理并生成响应报文。
不同的服务应用对应的业务逻辑是不同的。
根据该服务应用的业务逻辑进行处理后,生成响应报文。
S104、对所述响应报文进行封装,并将封装后的报文返回至客户端。
通过上述技术方案,本实施例中在现有应用框架的基础上增加了安全校验机制,具体地,服务应用端接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;利用请求解析器中的请求校验器,对所述处理结果进行安全校验;校验通过后,进行业务逻辑处理并生成响应报文;对所述响应报文进行封装,并将封装后的报文返回至客户端。由于对客户端与服务应用端之间传输的信息即请求报文进行了安全校验,因此可以避免主要针对客户端与服务应用端之间传输数据的中间人攻击。相较于现有技术的安全验证机制,提高了安全性。
本申请实施例中自定义请求解析器,请求解析器中包括报文转换器列表以及请求校验器列表。报文转换器列表中包括多个不同的报文转换器,请求校验器列表中包括多个不同的请求校验器。
其中,通过配置项将所需的报文转换器和请求校验器注册到请求解析器中。
以springboot应用框架为例,springboot应用框架的请求解析器本身对外暴露了自定义拓展接口且对外暴露注册转换器和校验器,通过自定义拓展接口实现自定义请求解析器。
并在配置项如webmvc配置类中添加请求解析器时,通过对外暴露的注册转换器和校验器,将所需的报文转换器和请求校验器注册到自定义的请求解析器中。
其中,针对不同类型的请求报文,需要利用不同的报文转换器对其进行报文转换。因此,根据应用及业务需求,将所需的报文转换器注册到请求解析器中。
本实施例中预先指定了VO,通过不同的报文转换器将不同类型的请求报文转换为指定的VO。实现了同一接口支持多报文类型。
在基于API接口后端Java服务框架开发的服务应用中,服务应用端与客户端以HTTP协议进行通信。其中,通信报文是字符串格式。
此处约定格式的请求报文为指定的VO。VO指的是请求报文所映射的服务应用端Java实体类,以便服务应用端进行业务逻辑处理。
由于VO是请求报文的一个映射,因此当报文格式不同时,指定的VO也不同。在实际应用中,可以根据应用及业务需求,自定义VO。
其中,不同的请求校验器用于校验不同的内容。例如,利用请求校验器1校验用户是否登录,利用请求校验器2校验请求报文是否被篡改。
在实际应用中,可以根据应用及业务需求,将所需的请求校验器注册到请求解析器中。
基于上述自定义的请求解析器,详细介绍对请求报文的处理方法。
参见图2所示,可以包括以下步骤:
S201、确定所述请求报文的类型。
S202、根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器。
S203、利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文。
约定格式的请求报文可以为指定的VO。
S204、对所述约定格式的请求报文进行解密,得到请求报文数据。
在客户端发送请求报文之前,为了保证传输数据的安全性,会利用约定的算法和密钥对请求报文进行全文加密,这样保证请求报文中的敏感数据不被窃取,保证了数据的安全性。
从而,接收到的客户端发送的请求报文是加密后的报文,需要对其进行解密操作。
在进行解密前,需要先根据调用方获取对应的算法和密钥,然后再对VO进行解密。
一种获取对应的算法和密钥的实现方式为,根据请求报文中携带的调用来源方标识,获取与该调用来源方标识对应的算法和密钥。
利用获取到的算法和密钥,对VO进行解密后,得到请求报文数据。
S205、对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
XSS过滤是对明文数据进行过滤,通过XSS过滤可以进一步保证数据的安全性。报文数据为字符串形式,通过XSS过滤可以将字符串中会导致XSS攻击的非法字符转换成HTML实体字符。比如将“<”转换成“&#60;”。
需要注意的是,统一的XSS过滤工具会无差别对所有字符进行过滤,但在少数业务中会出现也需要出现会导致XSS攻击的“非法”字符,例如字符串是一段XML,而XML的结果中必然会出现“<”,此时就需要将“<”这一字符排除在XSS过滤之外。其中,可以对特定的字符通过注解的方式绕过XSS过滤。
对于排除在XSS过滤之外的字符,可以进行单独验证。例如,在业务逻辑中进行自行验证。
通过执行步骤S201-S205,实现了利用请求解析器中自定义的报文转换器,对请求报文的处理。
接下来,需要利用请求解析器中自定义的请求校验器对处理后的请求报文进行校验。
所述请求校验器至少包括完整性校验器、防重放攻击校验器、防重复提交校验器、鉴权校验器、终端版本校验器中的一项或多项的组合。
将经过处理后的VO交由上述各个请求校验器依次进行校验。
具体地:
完整性校验器:根据签名对请求报文的完整性进行验证,保证请求报文中的数据不被篡改。其中,所述签名是客户端对请求报文进行的整体签名。
防重放攻击校验器:接收到报文请求并从报文请求中获取到令牌后,验证客户端和服务应用端这两端之间的时间差是否超过时间阈值。若两端之间的时间差超过时间阈值,则拒绝响应该报文请求;若两端之间的时间差没有超过时间阈值,则进一步验证缓存中是否存在该令牌。若验证缓存中存在该令牌,则表明此次报文请求已经被响应过进而拒绝再次响应该报文请求;如果验证缓存中未存在该令牌,则验证通过,并将该令牌存入缓存中,并设置令牌的有效时间为两端之间的最大时间差。
其中,令牌为针对重放攻击在客户端每次发送报文请求时均会用随机数加上时间戳生成的唯一性令牌,同一个令牌只能用于一次报文请求,在请求报文中携带该令牌。
防重复提交校验器:验证接收到的客户端传入的令牌是否存在,其中,令牌是针对重复提交的请求报文,在需要校验的接口前面的接口生成唯一性令牌后发送给客户端的,客户端在需要校验的接口传入该令牌。若令牌存在,则校验通过,并且重新生成一个令牌并返回给客户端;否则校验不通过,拒绝响应该请求报文。
鉴权校验器:根据客户端传入的会话标识获取用户会话信息,验证用户访问业务系统的权限。
终端版本校验器:通过管理业务后台配置访问的接口对终端的要求,对终端的版本进行验证。
相较于现有技术,将校验从过滤器和拦截器挪到请求解析器的参数解析之后,能在一次解析后获得所有待验证信息,避免对请求报文执行多次解析,避免了重复工作,让请求校验器专注于校验。
请求报文通过上述各个请求校验器的校验后,可以根据自身服务应用的业务处理逻辑对该请求报文进行处理,以生成响应报文。
其中,根据是否能够正确响应所述请求报文,生成的响应报文是不同的。
若能够正确响应所述请求报文,则得到的是返回值,即响应报文是返回值;若未能正确响应所述请求报文,则得到的是异常信息,即响应报文是异常信息。
在生成响应报文后,需要将响应报文返回给客户端。在返回给客户端之前,需要对响应报文进行封装。
其中,若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文。
约定格式的响应报文与约定格式的请求报文格式是一致的,即VO。将VO返回至客户端。
需要注意的是,请求校验器对请求报文校验不通过,会输出异常信息,也会直接利用异常解析器将异常信息封装为VO后返回至客户端,并中断后续处理流程。即不会执行后续对请求报文的响应操作,也不会通过响应解析器对响应报文封装后返回客户端。
本申请提供的实施例中,除了对请求报文进行安全校验,还对响应报文进行安全校验。
其中,将响应报文返回至客户端之前,包括:
将响应报文例如指定的VO进行全报文加密,保证敏感数据不被他人窃取。
将响应报文返回至客户端,包括:
对所述响应报文进行整体签名,并将所述响应报文和所述整体签名发送至客户端,使得客户端接收到响应报文后,基于响应报文中携带的整体签名对所述响应报文进行完整性校验,以保证报文数据不被篡改。
考虑到中间人还有可能将之前的某次请求报文的完整响应报文复制到当前请求报文的响应里并返回给客户端,从而导致越权的相关漏洞,因此仅依靠整体签名完成对响应报文的完整性校验,还不能保证响应报文的安全。
针对此,将每次请求报文传入的防重放用的唯一性令牌放在响应报文里一起返回给客户端,客户端可以验证响应返回的令牌和其发送请求报文时生成的令牌是否一致来确认响应报文是否被整体性替换。
至此,本申请基于springboot应用框架进行拓展,通过在请求解析器、响应解析器以及异常解析器这三处的改进,实现了在请求报文的解析和响应报文的封装上增加了安全校验的机制,提高了服务应用的安全性,特别是,避免了中间人攻击。
在请求报文的解析上,主要体现为在请求报文解析器处根据不同类型的请求报文,选择使用不同的报文转换器进行报文转换,得到约定格式的请求报文。然后对该约定格式的请求报文进行解密以及XSS过滤,并利用请求校验器进行相应的安全校验,包括完整性校验、防重放校验、防重复提交校验、会话鉴权校验、终端版本校验等。校验通过后,进行业务逻辑处理。
在响应报文的封装上,主要体现为在不同情况下分别利用响应解析器和异常解析器对响应报文进行封装,然后进行加密和签名,最后得到约定格式的响应报文并返回给客户端;使得客户端接收到响应报文后可以对响应报文的完整性进行校验和解密,从而保证响应报文的安全。且,通过回传每次请求报文的唯一性令牌,使得客户端验证请求报文的令牌与响应报文的令牌是否匹配,完成对响应报文是否发生整体性替换的验证,保证客户端接收到的响应报文的准确性。
下面从请求开始至响应结束来完整介绍应用本申请提供的信息处理方法来保证服务应用安全性的方案。
参见图3所示,请求开始,即接收到客户端发送的请求报文,先经过前置过滤器和前置拦截器的处理。一种实现方式为:引入Falosy拦截器,用于故障定位。每次请求都会获取终端的IP、且会生成一个唯一性编号,与服务应用名称拼接组成requestId,在调用后续其他服务应用时也会带着请求终端的IP和requestId。在日志输出的时候,会自动将IP和requestId输出在每条日志中。在排查问题的时候,方便同一个请求的日志跟踪,特别在多服务应用时方便服务应用调用链路的跟踪。
其中,在前置拦截器拦截该报文请求后,直接交由异常解析器处理,并返回给客户端,不再继续执行后续操作。
通过前置过滤器和前置拦截器的处理后,交由请求解析器进行处理。请求解析器的具体处理已经在上文介绍,此处不再赘述。
经过请求解析器中的各个请求校验器进行校验并校验通过后,交由前置AOP切面处理。其中,若请求报文未通过任意一个请求校验器的校验,则直接由异常解析器中相应的异常处理器进行处理,并返回至客户端,而不再继续执行后续操作。
前置AOP切面引入了方法监控日志(MethodMonitorAspect),旨在记录该方法执行的开始时间,用于在后置AOP切面中计算该方法的耗时。
且,默认提供了标准接口缓存(APICacheAspect),旨在为服务应用提供一套接口级标准缓存方案。在业务数据不会频繁变动且对数据的实时准确性要求不高时,可以将一段时间内的首次请求报文的响应报文缓存起来,在缓存失效之前直接返回缓存好的响应报文直接返回,不再执行该方法;等到缓存失效后重新获取最新的响应报文,避免频繁且非必要的业务逻辑处理、访问数据库、调用三方接口等操作,降低对应用性能的损耗,提高对请求报文的响应速度。例如:一个接口用于查询用电客户的电费月账单,该功能需要调用第三方接口进行查询,该第三方的接口处理非常慢,但该数据基本不会有变化,用户调用又非常频繁,因此可以根据户号和月份等相关信息将该条电费账单数据缓存起来一段时间,在缓存失效之前,同一个户号同一个月的电费账单查询的请求,直接返回缓存好的数据,不再调用第三方接口。等缓存失效后重新调用第三方接口查询并将缓存信息更新。其中,若前置AOP切换处理过程中,出现异常会直接由异常解析器中相应的异常处理器进行处理,并返回至客户端,而不再继续执行后续操作。
然后,利用接口方法对请求报文进行处理。其中,接口方法为业务逻辑处理,由开发者根据业务需求自行设计。在按照业务逻辑对请求报文进行处理过程中出现异常,会直接由异常解析器中相应的异常处理器进行处理,并返回至客户端,而不再继续执行后续操作。
完成业务逻辑处理后,通过后置AOP切面进行处理。其中,后置AOP切面默认引入了方法监控日志(MethodMonitorAspect),旨在方法执行完成或出现异常时在日志中输出方法的名称、入参、出参、异常并统计每次请求该方法执行的所耗时长,以便在出现问题时方便排查,同时方便后续通过日志对接口调用量、接口处理性能进行统计和分析。若后置AOP切面处理过程中,出现异常会直接由异常解析器中相应的异常处理器进行处理,并返回至客户端,而不再继续执行后续操作。
后置AOP切换处理后,将正确响应请求报文的返回值通过响应解析器封装后经由后置拦截器、后置过滤器后返回至客户端。其中,若响应解析器、后置拦截器或后置过滤器处理过程中发生异常,则直接由异常解析器中相应的异常处理器进行处理,并返回至客户端,而不再继续执行后续操作。
需要注意的是,进入异常解析器后的响应不再经由响应解析器进行解析了。因此,对于响应解析器而言,还需要关注异常解析器。
异常解析器中有一个异常处理器的集合,按照顺序遍历该集合,由第一个满足条件的异常处理器进行异常信息的处理,将异常信息封装成响应报文并通过后置过滤器后返回至客户端。其中,在异常处理器内不仅需要进行响应报文的封装,还需要进行响应报文解析,完成响应解析器的工作。因此,在调整响应报文后,不仅需要修改响应解析器,还需要修改异常处理器。例如,响应报文的签名和加密。
通过上述技术方案,本申请在springboot服务框架上进行拓展,开发者可以根据实际需要自定义一个或多个统一的VO,并根据VO实现相应的请求解析器、报文转换器、请求校验器、响应解析器和异常解析器。
由于在请求解析器、响应解析器和异常解析器这三处进行改进,即可避免中间人攻击,而不受接口方法即业务逻辑的影响,因此与业务逻辑耦合度低,适用范围广。且开发人员只需要专注于产品的业务逻辑开发,避免重复劳动。
对应上述实施例公开的信息处理方法,本实施例还提供了一种信息处理装置,参见图4所示,该信息处理装置包括:
处理单元401、校验单元402、生成单元403和封装单元404。
处理单元401,用于接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;
校验单元402,用于利用请求解析器中的请求校验器,对所述处理结果进行安全校验。
所述请求校验器至少包括完整性校验器、防重放攻击校验器、防重复提交校验器、鉴权校验器、终端版本校验器中的一项或多项的组合。
生成单元403,用于校验通过后,进行业务逻辑处理并生成响应报文;
封装单元404,用于对所述响应报文进行封装,并将封装后的报文返回至客户端。
通过上述技术方案,本实施例中在现有应用框架的基础上增加了安全校验机制,具体地,服务应用端接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果;利用请求解析器中的请求校验器,对所述处理结果进行安全校验;校验通过后,进行业务逻辑处理并生成响应报文;对所述响应报文进行封装,并将封装后的报文返回至客户端。由于对客户端与服务应用端之间传输的信息即请求报文进行了安全校验,因此可以避免主要针对客户端与服务应用端之间传输数据的中间人攻击。相较于现有技术的安全验证机制,提高了安全性。
可选地,在其他实施例中,处理单元401,具体包括:
转换子单元、解密子单元和过滤子单元。
所述转换子单元,用于确定所述请求报文的类型;根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器;其中,所述报文转换器列表是通过配置项将所需的报文转换器注册到所述请求解析器中生成的;利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文;
所述解密子单元,用于对所述约定格式的请求报文进行解密,得到请求报文数据;
所述过滤子单元,用于对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
可选地,在其他实施例中,封装单元404,具体用于:
若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;
若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文;
将所述约定格式的响应报文返回至客户端。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种信息处理方法,其特征在于,应用于提供服务的应用端,包括:
接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果,所述处理结果为一次解析后获得的所有待验证信息;
利用请求解析器中的请求校验器,对所述处理结果进行安全校验;
校验通过后,进行业务逻辑处理并生成响应报文;
对所述响应报文进行封装,并将封装后的报文返回至客户端;
其中,所述对所述响应报文进行封装,并将封装后的报文返回至客户端,包括:
若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;
若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文;
将所述约定格式的响应报文返回至客户端;
其中,所述将所述约定格式的响应报文返回至客户端,包括:
对所述约定格式的响应报文进行整体签名,并将所述约定格式的响应报文和所述整体签名发送至客户端,使得客户端接收到响应报文后,基于所述整体签名对所述响应报文进行完整性校验。
2.根据权利要求1所述的信息处理方法,其特征在于,所述利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果,包括:
确定所述请求报文的类型;
根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器;其中,所述报文转换器列表是通过配置项将所需的报文转换器注册到所述请求解析器中生成的;
利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文。
3.根据权利要求2所述的信息处理方法,其特征在于,还包括:
对所述约定格式的请求报文进行解密,得到请求报文数据;
对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
4.根据权利要求3所述的信息处理方法,其特征在于,所述请求校验器至少包括完整性校验器、防重放攻击校验器、防重复提交校验器、鉴权校验器、终端版本校验器中的一项或多项的组合。
5.根据权利要求1所述的信息处理方法,其特征在于,还包括:
将所述请求报文的防重放令牌,添加至所述约定格式的响应报文;
将所述约定格式的响应报文返回至客户端,使得客户端接收到响应报文后,通过比较所述防重放令牌和发送请求报文时生成的令牌,验证响应报文是否被整体性替换。
6.一种信息处理装置,其特征在于,应用于提供服务的应用端,包括:
处理单元,用于接收到客户端发送的请求报文后,利用请求解析器中的报文转换器对请求报文进行处理,得到处理结果,所述处理结果为一次解析后获得的所有待验证信息;
校验单元,用于利用请求解析器中的请求校验器,对所述处理结果进行安全校验;
生成单元,用于校验通过后,进行业务逻辑处理并生成响应报文;
封装单元,用于对所述响应报文进行封装,并将封装后的报文返回至客户端;
其中,所述封装单元,具体用于:
若所述响应报文为正确响应所述请求报文后生成的返回值,则利用响应解析器将返回值封装为约定格式的响应报文;
若所述响应报文为未被正确响应所述请求报文后生成的异常信息,则利用异常解析器将异常信息封装为约定格式的响应报文;
将所述约定格式的响应报文返回至客户端;
其中,所述将所述约定格式的响应报文返回至客户端,包括:
对所述约定格式的响应报文进行整体签名,并将所述约定格式的响应报文和所述整体签名发送至客户端,使得客户端接收到响应报文后,基于所述整体签名对所述响应报文进行完整性校验。
7.根据权利要求6所述的信息处理装置,其特征在于,所述处理单元,具体包括:
转换子单元,用于确定所述请求报文的类型;根据所述请求报文的类型,从所述请求解析器中的报文转换器列表中选择对应的报文转换器;其中,所述报文转换器列表是通过配置项将所需的报文转换器注册到所述请求解析器中生成的;利用从所述报文转换器列表中选择的报文转换器,对所述请求报文进行转换,得到约定格式的请求报文;
解密子单元,用于对所述约定格式的请求报文进行解密,得到请求报文数据;
过滤子单元,用于对所述请求报文数据进行XSS过滤,得到过滤后的报文数据。
CN202011179959.8A 2020-10-29 2020-10-29 一种信息处理方法及装置 Active CN112291240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011179959.8A CN112291240B (zh) 2020-10-29 2020-10-29 一种信息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011179959.8A CN112291240B (zh) 2020-10-29 2020-10-29 一种信息处理方法及装置

Publications (2)

Publication Number Publication Date
CN112291240A CN112291240A (zh) 2021-01-29
CN112291240B true CN112291240B (zh) 2023-05-09

Family

ID=74374008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011179959.8A Active CN112291240B (zh) 2020-10-29 2020-10-29 一种信息处理方法及装置

Country Status (1)

Country Link
CN (1) CN112291240B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835808A (zh) * 2021-03-12 2021-05-25 中国平安财产保险股份有限公司 接口测试方法、装置、计算机设备及存储介质
CN113127108A (zh) * 2021-04-22 2021-07-16 京东数科海益信息科技有限公司 业务请求的处理方法及装置、存储介质以及电子设备
CN113239048B (zh) * 2021-05-26 2023-03-03 五八有限公司 一种数据管理方法、装置、电子设备及存储介质
CN113595978B (zh) * 2021-06-23 2023-08-01 北京国电通网络技术有限公司 基于微服务架构的数据贯通方法及相关设备
CN113992749B (zh) * 2021-10-08 2024-05-14 浪潮云信息技术股份公司 一种基于go语言的http反向代理方法及系统
CN114095177B (zh) * 2021-11-18 2024-01-26 中国银行股份有限公司 信息安全处理的方法及装置、电子设备、存储介质
CN114339765B (zh) * 2021-11-25 2024-01-19 国网河南省电力公司电力科学研究院 一种基于5g通信的差动保护数据交互链式校验方法和系统
CN114697371A (zh) * 2022-04-13 2022-07-01 中国农业银行股份有限公司 一种远程调用方法及装置
CN117221374B (zh) * 2023-09-11 2024-05-24 广州Tcl互联网小额贷款有限公司 一种基于api网关的api调用方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791219B (zh) * 2014-12-22 2020-03-20 华为技术有限公司 抗重放方法和装置
CN108241720B (zh) * 2016-12-27 2021-07-20 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
CN111399749B (zh) * 2019-01-02 2023-05-09 中国移动通信有限公司研究院 一种数据处理系统及方法
CN110765102B (zh) * 2019-09-25 2022-11-08 苏宁云计算有限公司 业务数据的处理方法、装置、计算机设备和存储介质
CN110808840B (zh) * 2019-10-30 2022-08-09 网易(杭州)网络有限公司 业务处理方法及装置、电子设备、存储介质
CN111814449B (zh) * 2020-07-10 2024-03-22 泰康保险集团股份有限公司 表单解析方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112291240A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN112291240B (zh) 一种信息处理方法及装置
US11818274B1 (en) Systems and methods for trusted path secure communication
US11588649B2 (en) Methods and systems for PKI-based authentication
CN101247407B (zh) 网络认证服务系统和方法
CN105681470B (zh) 基于超文本传输协议的通信方法、服务器、终端
CN110430065B (zh) 一种应用服务调用方法、装置及系统
JP2004515166A (ja) 安全ファイル転送方法及びシステム
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
JP2018519562A (ja) 取引セキュリティのための方法及びシステム
KR20220069020A (ko) 전송 계층 보안 및 기타 컨텍스트에서의 데이터 검증을 위한 분산 기술
WO2021078062A1 (zh) Ssl证书校验方法、装置、设备及计算机存储介质
US20030031153A1 (en) Program control system, program control method and information control program
Kim et al. Geo-location based QR-Code authentication scheme to defeat active real-time phishing attack
Detering et al. On the (in-) security of javascript object signing and encryption
Khoury et al. Implementation of blockchain domain control verification (B-DCV)
Cobourne et al. Using the smart card web server in secure branchless banking
CN115334150A (zh) 一种数据转发的方法、装置、系统、电子设备及介质
CN112733166A (zh) license认证授权功能的实现方法及系统
CN111935164A (zh) 一种https接口请求方法
CN112231724B (zh) 一种公众号数据处理方法、装置、服务器及存储介质
CN115514507B (zh) 一种信息传输方法、装置、电子设备及存储介质
Malladi et al. Adapting constraint solving to automatically analyze UPI protocols
CN110532741B (zh) 个人信息授权方法、认证中心及服务提供方
CN111565178B (zh) 业务信息下发方法、装置、服务器、客户端及存储介质
CN118590313A (zh) 一种报文信息安全处理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant