CN113132363B - 一种前后端安全验证方法及设备 - Google Patents

一种前后端安全验证方法及设备 Download PDF

Info

Publication number
CN113132363B
CN113132363B CN202110363560.3A CN202110363560A CN113132363B CN 113132363 B CN113132363 B CN 113132363B CN 202110363560 A CN202110363560 A CN 202110363560A CN 113132363 B CN113132363 B CN 113132363B
Authority
CN
China
Prior art keywords
request
encryption key
client
http request
http
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
CN202110363560.3A
Other languages
English (en)
Other versions
CN113132363A (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.)
Shanghai Wanwu Xinsheng Environmental Technology Group Co
Original Assignee
Shanghai Wanwu Xinsheng Environmental Technology Group Co
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 Shanghai Wanwu Xinsheng Environmental Technology Group Co filed Critical Shanghai Wanwu Xinsheng Environmental Technology Group Co
Priority to CN202110363560.3A priority Critical patent/CN113132363B/zh
Publication of CN113132363A publication Critical patent/CN113132363A/zh
Application granted granted Critical
Publication of CN113132363B publication Critical patent/CN113132363B/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请的目的是提供一种前后端安全验证方法及设备,本申请通过客户端向后台服务端发送HTTP请求,HTTP请求包括请求头和请求数据,请求头包括请求加密串和请求时间戳;后台服务端创建一拦截器,通过拦截器拦截HTTP请求并通过判断请求头中是否存在请求加密串和请求时间戳,若否,则向客户端返回用于指示HTTP请求为非法请求的响应信息;若是,则通过对HTTP请求进行安全验证,并在验证通过后处理HTTP请求对应的业务逻辑得到处理结果,将处理结果返回给所述客户端,使得通过拦截器,不仅提高了交互的便捷性、数据的时效性及数据的安全性,还增加了数据的过滤,进一步提高了需要保护的数据在前后端交互中的安全性。

Description

一种前后端安全验证方法及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种前后端安全验证方法及设备。
背景技术
随着时代的进步和互联网的迅速发展,以往单一的业务模式,已经无法满足现有的业务需求,各种错综复杂的需求都交织在一起,使得业务场景越来越复杂。以往可能就是一个项目,比如办公自动化(Office Automation,OA)系统、进销存管理系统及会议管理系统等业务单一。如今业务复杂,需求多,时间紧,效率要求高;外加团队扩展,业务细分,需求庞大,变化多端,前后端分离模式已经是未来发展的趋势所在,其中,后端负责处理后端相关的技术,前端负责处理前端的相关的技术,二者各司其职,各尽其用,发挥各自领域的技术创新。
目前在处理前后端交互的时候,往往只做了一个简单的用户登陆校验,但是没有做交互数据的安全校验,比如数据的传输时效问题、数据传输的安全问题及数据传输的便捷问题等。只有在和其他商家有合作的时候,进行了接口安全验证;但是在自己的项目种,比如移动端设备IPAD上、可供移动端阅读的网站(M站)及个人计算机PC端可以访问的网站(PC站)等交互种忽略了这些安全校验,这样就是容易造成数据的不安全,系统易遭人攻击,数据的重复提交。
发明内容
本申请的一个目的是提供一种前后端安全验证方法及设备,增加了对HTTP请求的安全验证,以达到对数据的过滤,避免了消息在传输过程中可能出现的异常情况或丢失等,从而提高了需要保护的数据在前后端交互中的安全性。
根据本申请的一个方面,提供了一种前后端安全验证方法,应用于客户端,其中,所述方法包括:
向后台服务端发送HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体,以使所述后台服务端对所述HTTP请求进行安全验证;
若验证未通过,则接收所述后台服务端返回的用于指示所述HTTP请求为非法请求的响应信息;
若验证通过,则接收所述后台服务器端返回的、处理所述HTTP请求对应的业务逻辑得到的处理结果。
进一步地,上述方法中,所述请求加密串由请求的消息体、所述请求时间戳及前端加密密钥经过加密确定,包括:
获取预置的预设加密算法;
基于所述预设加密算法,对所述请求时间戳、前端加密密钥及请求的消息体进行加密,得到所述请求加密串。
进一步地,上述方法中,所述方法还包括:
接收所述后台服务端发起的用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥;
响应于所述第一更新请求,将所述前端加密密钥更新为所述更新的第一加密密钥。
进一步地,上述方法中,所述方法还包括:
向所述后台服务端发送请求更新所述前端加密密钥的第二更新请求,以使所述后台服务端响应于所述第二更新请求为所述客户端调整并确定第二加密密钥;
接收所述后台服务端返回的所述第二加密密钥;
将所述前端加密密钥更新为所述第二加密密钥。
根据本申请的另一方面,还提供了一种前后端安全验证方法,应用于后台服务端,其中,所述方法包括:
创建一拦截器;
通过所述拦截器接收所述客户端发送的HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体;
通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,
若否,则向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;
若是,则通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端。
进一步地,上述方法中,所述通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,包括:
通过所述拦截器校验所述请求时间戳是否超过预设时间阈值,
若否,则判断请求的所述消息体是否已存在所述后台服务端,若未存在,则判断所述请求数据中的所述消息体经过所述前端加密密钥加密后得到的数据与所述请求加密串中携带的加密后的消息体是否一致,
若一致,则处理所述HTTP请求对应的业务逻辑得到处理结果。
进一步地,上述方法中,所述方法还包括:
向所述客户端发起用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥,以使所述客户端响应于所述第一更新请求将所述前端加密密钥更新为所述更新的第一加密密钥。
进一步地,上述方法中,所述方法还包括:
接收所述客户端发送的请求更新所述前端加密密钥的第二更新请求;
响应于所述第二更新请求为所述客户端调整并确定第二加密密钥;
将所述第二加密密钥返回至所述客户端,以使所述客户端将所述前端加密密钥更新为所述第二加密密钥。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述前后端安全验证方法。
根据本申请的另一方面,还提供了一种用于前后端安全验证的客户端,其中,该客户端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述客户端的前后端安全验证方法。
根据本申请的另一方面,还提供了一种用于前后端安全验证的后台服务端,其中,该后台服务端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述后台服务端的前后端安全验证方法。
与现有技术相比,本申请通过客户端向后台服务端发送HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体;所述后台服务端创建一拦截器,通过所述拦截器接收所述客户端发送的HTTP请求,并通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,若否,则向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;若是,则通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端,使得通过后台服务端的拦截器,高效便捷地解决了现有的前后端分离项目中未对数据安全进行校验的问题,不仅提高了交互的便捷性、数据的时效性及数据的安全性,还增加了数据的过滤,避免了处理的数据在传输过程中可能出现的异常情况,进一步提高了需要保护的数据在前后端交互中的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种前后端安全验证方法的交互流程示意图;
图2示出根据本申请一个方面的一种前后端安全验证方法的实际应用场景示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
在现在已有的前后端的交互模式下,尽量以较小的成本的改动来完善数据的安全校验,如图1所示,本申请的一个方面提出了一种前后端安全验证方法的交互流程示意图,该方法包括用于指示前端服务的客户端和用于指示后台服务的后台服务端,其中,所述方法包括步骤S11、步骤S12、步骤S13、步骤S21、步骤S22、步骤S23、步骤S24及步骤S25,具体包括如下步骤:
步骤S11,所述客户端向后台服务端发送HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体,以使所述后台服务端对所述HTTP请求进行安全验证;例如,在前后端的接口交互中,在客户端发起的所述HTTP请求的请求头header中新增请求加密串sign和请求时间戳time,其中,所述请求加密串sign由请求的消息体、所述请求时间戳及前端加密密钥key经过加密确定,所述请求时间戳time为当前发起请求的时间戳。
在此,所有的前端服务的接口调用统一采用json格式传输数据,比如所述HTTP请求,具体示例见如下代码:
{"cityId":72,"countyId":2839,"provinceId":1,"skuId":57152474550,"townId":0}
其中,请求类型为:application/json。
所有的前端服务的接口调用需要在请求头header中添加请求时间戳time,比如,具体示例代码为:time=1604735845978等。
在所述步骤S11中,所述请求加密串由请求的消息体、所述请求时间戳及前端加密密钥经过加密确定,具体包括:首先需要预置用来进行加密的预设加密算法,之后,获取预置的预设加密算法,然后,基于所述预设加密算法,对所述步骤S11中发起的所述HTTP请求的所述请求时间戳、前端加密密钥及请求的消息体进行加密,得到在所述HTTP请求的请求头header中新增请求加密串sign,使得所述请求加密串sign为请求的消息体+请求时间戳+前端加密密钥组成的字符串经过所述预设加密算法的方式加密之后生成的字符串,实现对请求加密串sign的确定。
步骤S21,所述后台服务端创建一拦截器;所述后台服务端在所有的请求中新增所述拦截器,对所有的请求进行拦截,以便对拦截的所有的请求进行安全验证。
步骤S22,所述后台服务端通过所述拦截器接收所述客户端发送的HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体;
步骤S23,所述后台服务端通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,即所述后台服务端通过所述拦截器拦截到所述HTTP请求后,需要判断所述HTTP请求的请求头header中是否均存在请求加密串sign和请求时间戳time这两项,
若否,则可以直接认定所述HTTP请求为非法请求,即所述HTTP请求并未通过所述后台服务端的安全验证,可以不经过后续的业务处理,直接对所述HTTP请求进行响应,则执行步骤S24,其中,在所述步骤S24中,所述后台服务端向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;在步骤S12中,所述客户端接收所述后台服务端返回的用于指示所述HTTP请求为非法请求的响应信息,实现对非法请求的安全纠察,避免非法请求进入后台服务端的后续业务逻辑的处理过程。
若是,即所述HTTP请求的请求头header中均存在请求加密串sign和请求时间戳time这两项,实现对所述HTTP请求的合法性验证,则执行步骤S25进行安全验证,其中,在所述步骤S25中,所述后台服务端通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端;在后台服务端验证通过后,在步骤S13中,所述客户端接收所述后台服务器端返回的、处理所述HTTP请求对应的业务逻辑得到的处理结果。
通过上述步骤S11至步骤S13和步骤S21至步骤S25,使得通过后台服务端新增的拦截器,高效便捷地解决了现有的前后端分离项目中未对数据安全进行校验的问题,不仅提高了交互的便捷性、数据的时效性及数据的安全性,还增加了数据的过滤,避免了处理的数据在传输过程中可能出现的异常情况,进一步提高了需要保护的数据在前后端交互中的安全性。
接着本申请的上述实施例,在所述步骤S25中,所述后台服务端通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,具体包括:
通过所述拦截器校验所述请求时间戳是否超过预设时间阈值,
若否,则判断请求的所述消息体是否已存在所述后台服务端,若未存在,则判断所述请求数据中的所述消息体经过所述前端加密密钥加密后得到的数据与所述请求加密串中携带的加密后的消息体是否一致,
若一致,则处理所述HTTP请求对应的业务逻辑得到处理结果。
例如,若所述后台服务端验证到所述HTTP请求中的请求头中均存在请求加密串sign和请求时间戳time这两项,则继续通过所述拦截器的方式进行校验,首先需要通过所述拦截器校验所述请求时间戳是否超过预设时间阈值(可通过配置设置),若所述请求时间戳未超过预设时间阈值,继续验证请求的所述消息体(body体)是否已经存在所述后台服务端,防止重复提交;若所述消息体未存在所述后台服务端,则继续判断所述请求数据中的所述消息体经过所述前端加密密钥加密后得到的数据与从所述客户端发送过来的所述HTTP请求的请求头所携带的所述请求加密串中携带的加密后的消息体是否一致,则说明请求的消息体并未受到非法篡改或更改,则可以进入处理所述HTTP请求对应的业务逻辑中,以得到处理结果,实现了通过拦截器完成对所述HTTP请求的合法性、时效性、查重及一致性验证。
进一步地,本申请一实施例提供的一种前后端安全验证方法还包括:
所述后台服务端向所述客户端发起用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥,以使所述客户端响应于所述第一更新请求将所述前端加密密钥更新为所述更新的第一加密密钥;
所述客户端接收所述后台服务端发起的用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥;
所述客户端响应于所述第一更新请求,将所述前端加密密钥更新为所述更新的第一加密密钥。
例如,为了提高安全性,需要周期性地对客户端的加密密钥进行更改,可以是通过后台服务端主动下发更改加密密钥的请求或者客户端主动上报更改加密密钥的请求。比如,所述后台服务端主动向所述客户端发起用于指示更改前端服务对应的客户端的加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥;所述客户端接收到所述后台服务端发起的用于指示加密密钥的第一更新请求后,响应于所述第一更新请求,将所述前端加密密钥更新为所述更新的第一加密密钥,实现后台服务端主动下发更新的加密密钥给客户端,以确保对前端服务对应的客户端的加密密钥的周期性地修改和调整。
又例如,所述客户端主动上报更改加密密钥的请求时,所述客户端向所述后台服务端发送请求更新所述前端加密密钥的第二更新请求,以使所述后台服务端响应于所述第二更新请求为所述客户端调整并确定第二加密密钥;所述后台服务端接收所述客户端发送的请求更新所述前端加密密钥的第二更新请求,响应于所述第二更新请求为所述客户端调整并确定第二加密密钥,并将所述第二加密密钥返回至所述客户端,以使所述客户端将所述前端加密密钥更新为所述第二加密密钥;所述客户端接收所述后台服务端返回的所述第二加密密钥,并所述客户端将所述前端加密密钥更新为所述第二加密密钥,实现客户端主动向后台服务端请求更改加密密钥,以确保对前端服务对应的客户端的加密密钥的周期性地修改和调整。
在本申请一实际应用场景中,如图2所示,前端服务对应的客户端,如PC、M站及小程序等,通过HTTP请求后端服务网关,在所述HTTP请求中携带请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体,应用服务器(对应后台服务端)接受到所述HTTP请求之后,会对所述所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳这两项的合法性验证,并在合法性验证通过后,继续通过所述拦截器校验所述请求时间戳是否超过预设时间阈值,若否,则判断请求的所述消息体是否已存在所述后台服务端,若未存在,则判断所述请求数据中的所述消息体经过所述前端加密密钥加密后得到的数据与所述请求加密串中携带的加密后的消息体是否一致,若一致,则处理所述HTTP请求对应的业务逻辑得到处理结果,以实现对所述HTTP请求的时效性及一致性校验,并在均校验通过之后才会进入到所述HTTP请求对应的业务逻辑的处理层进行业务逻辑处理。其中,在后台服务端对所述HTTP请求进行安全验证的过程中,可以通过如下代码实现:
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(value=RetentionPolicy.RUNTIME)
@NameBinding
public@interface CommonValidate{
}
自定义一个注解,在需要后台服务端的安全验证的方法代码上进行添加该注解。具体实现代码为:
Figure BDA0003006498180000111
Figure BDA0003006498180000121
从请求体中获取请求的消息体:
Figure BDA0003006498180000122
Figure BDA0003006498180000131
Figure BDA0003006498180000141
Figure BDA0003006498180000151
使得通过后台服务端的拦截器,高效便捷地解决了现有的前后端分离项目中未对数据安全进行校验的问题,不仅提高了交互的便捷性、数据的时效性及数据的安全性,还增加了数据的过滤,避免了处理的数据在传输过程中可能出现的异常情况,进一步提高了需要保护的数据在前后端交互中的安全性。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述前后端安全验证方法。
根据本申请的另一方面,还提供了一种用于前后端安全验证的客户端,其中,该客户端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述客户端的前后端安全验证方法。
在此,所述用于前后端安全验证的客户端中的各实施例的详细内容,具体可参见上述客户端的前后端安全验证方法的实施例的对应部分,在此,不再赘述。
根据本申请的另一方面,还提供了一种用于前后端安全验证的后台服务端,其中,该后台服务端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述后台服务端的前后端安全验证方法。
在此,所述用于前后端安全验证的后台服务端中的各实施例的详细内容,具体可参见上述后台服务端的前后端安全验证方法的实施例的对应部分,在此,不再赘述。
综上所述,本申请通过客户端向后台服务端发送HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体;所述后台服务端创建一拦截器,通过所述拦截器接收所述客户端发送的HTTP请求,并通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,若否,则向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;若是,则通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端,使得通过后台服务端的拦截器,高效便捷地解决了现有的前后端分离项目中未对数据安全进行校验的问题,不仅提高了交互的便捷性、数据的时效性及数据的安全性,还增加了数据的过滤,避免了处理的数据在传输过程中可能出现的异常情况,进一步提高了需要保护的数据在前后端交互中的安全性。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (11)

1.一种前后端安全验证方法,应用于客户端,其中,所述方法包括:
向后台服务端发送HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体,以使所述后台服务端对所述HTTP请求进行安全验证;
其中,所述后台服务器创建有一拦截器,通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,若否,则向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;若是,则通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端;
若验证未通过,则接收所述后台服务端返回的用于指示所述HTTP请求为非法请求的响应信息;
若验证通过,则接收所述后台服务器端返回的、处理所述HTTP请求对应的业务逻辑得到的处理结果。
2.根据权利要求1所述的方法,其中,所述请求加密串由请求的消息体、所述请求时间戳及前端加密密钥经过加密确定,包括:
获取预置的预设加密算法;
基于所述预设加密算法,对所述请求时间戳、前端加密密钥及请求的消息体进行加密,得到所述请求加密串。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:
接收所述后台服务端发起的用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥;
响应于所述第一更新请求,将所述前端加密密钥更新为所述更新的第一加密密钥。
4.根据权利要求1或2所述的方法,其中,所述方法还包括:
向所述后台服务端发送请求更新所述前端加密密钥的第二更新请求,以使所述后台服务端响应于所述第二更新请求为所述客户端调整并确定第二加密密钥;
接收所述后台服务端返回的所述第二加密密钥;
将所述前端加密密钥更新为所述第二加密密钥。
5.一种前后端安全验证方法,应用于后台服务端,其中,所述方法包括:
创建一拦截器;
通过所述拦截器接收所述客户端发送的HTTP请求,所述HTTP请求包括请求头和请求数据,其中,所述请求头包括请求加密串和请求时间戳,所述请求加密串由所述请求时间戳、前端加密密钥及请求的消息体经过加密确定,所述请求数据包括所述消息体;
通过所述拦截器判断所述HTTP请求的所述请求头中是否存在所述请求加密串和所述请求时间戳,
若否,则向所述客户端返回用于指示所述HTTP请求为非法请求的响应信息;
若是,则通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,将所述处理结果返回给所述客户端。
6.根据权利要求5所述的方法,其中,所述通过所述拦截器对所述HTTP请求进行安全验证,并在验证通过后,处理所述HTTP请求对应的业务逻辑得到处理结果,包括:
通过所述拦截器校验所述请求时间戳是否超过预设时间阈值,
若否,则判断请求的所述消息体是否已存在所述后台服务端,若未存在,则判断所述请求数据中的所述消息体经过所述前端加密密钥加密后得到的数据与所述请求加密串中携带的加密后的消息体是否一致,
若一致,则处理所述HTTP请求对应的业务逻辑得到处理结果。
7.根据权利要求5或6所述的方法,其中,所述方法还包括:
向所述客户端发起用于指示加密密钥的第一更新请求,所述第一更新请求包括更新的第一加密密钥,以使所述客户端响应于所述第一更新请求将所述前端加密密钥更新为所述更新的第一加密密钥。
8.根据权利要求5或6所述的方法,其中,所述方法还包括:
接收所述客户端发送的请求更新所述前端加密密钥的第二更新请求;
响应于所述第二更新请求为所述客户端调整并确定第二加密密钥;
将所述第二加密密钥返回至所述客户端,以使所述客户端将所述前端加密密钥更新为所述第二加密密钥。
9.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至8中任一项所述的方法。
10.一种用于前后端安全验证的客户端,其中,该客户端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的方法。
11.一种用于前后端安全验证的后台服务端,其中,该后台服务端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5至8中任一项所述的方法。
CN202110363560.3A 2021-04-02 2021-04-02 一种前后端安全验证方法及设备 Active CN113132363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110363560.3A CN113132363B (zh) 2021-04-02 2021-04-02 一种前后端安全验证方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110363560.3A CN113132363B (zh) 2021-04-02 2021-04-02 一种前后端安全验证方法及设备

Publications (2)

Publication Number Publication Date
CN113132363A CN113132363A (zh) 2021-07-16
CN113132363B true CN113132363B (zh) 2022-12-27

Family

ID=76774776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110363560.3A Active CN113132363B (zh) 2021-04-02 2021-04-02 一种前后端安全验证方法及设备

Country Status (1)

Country Link
CN (1) CN113132363B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691511B (zh) * 2021-08-13 2024-01-19 广州华多网络科技有限公司 服务请求处理方法及其装置、设备与介质
CN114244563A (zh) * 2021-11-15 2022-03-25 珠海许继芝电网自动化有限公司 基于aes加密的前后端跨语言通讯方法及系统
CN115277187A (zh) * 2022-07-26 2022-11-01 新明珠集团股份有限公司 一种请求数据校验结果提示方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986735A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Cdn网络防盗系统及防盗方法
CN105554133A (zh) * 2015-12-21 2016-05-04 世纪龙信息网络有限责任公司 Http远程数据访问系统和方法
CN105704149A (zh) * 2016-03-24 2016-06-22 国网江苏省电力公司电力科学研究院 一种电力移动应用安全防护方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965230B (zh) * 2018-05-09 2021-10-15 深圳市中信网安认证有限公司 一种安全通信方法、系统及终端设备
CN112202705A (zh) * 2020-08-21 2021-01-08 上海微亿智造科技有限公司 一种数字验签生成和校验方法、系统
CN112311531B (zh) * 2020-11-05 2023-05-30 重庆邮电大学 一种可控的前后端安全通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986735A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Cdn网络防盗系统及防盗方法
CN105554133A (zh) * 2015-12-21 2016-05-04 世纪龙信息网络有限责任公司 Http远程数据访问系统和方法
CN105704149A (zh) * 2016-03-24 2016-06-22 国网江苏省电力公司电力科学研究院 一种电力移动应用安全防护方法

Also Published As

Publication number Publication date
CN113132363A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN113132363B (zh) 一种前后端安全验证方法及设备
US11501533B2 (en) Media authentication using distributed ledger
US9954842B2 (en) Method, client, server and system of login verification
CN112333198B (zh) 安全跨域登录方法、系统及服务器
US10769873B1 (en) Secure smart unlocking
TWI782255B (zh) 解鎖方法、實現解鎖的設備及電腦可讀媒體
CA3095150A1 (en) Generating and linking private transaction identifiers to distributed data repositories
US11997107B2 (en) Decentralized techniques for verification of data in transport layer security and other contexts
US11909728B2 (en) Network resource access control methods and systems using transactional artifacts
CN111199037B (zh) 登录方法、系统和装置
CN110070357B (zh) 数据处理方法、装置和系统
CN107169364B (zh) 一种数据保全方法及相关系统
CN112968910B (zh) 一种防重放攻击方法和装置
CN111371555A (zh) 一种签名认证方法及系统
US20180234412A1 (en) Online authentication method based on smart card, smart card and authentication server
CN106982193A (zh) 一种预防批量注册的方法及装置
TWI759838B (zh) 一種圖形化代碼生成方法、裝置、移動設備、服務平台以及電腦可讀儲存介質
CN114090996A (zh) 多方系统互信认证方法及装置
CN111291393A (zh) 请求校验方法及设备
CN111915297A (zh) 一种电子签名方法、装置及存储介质
CN110381452A (zh) Gms短信防嗅探方法、终端及服务器
CN110766407A (zh) 基于区块链的交易验证方法、记账节点及介质
CN114553443B (zh) 一种对接第三方数据模型的方法及系统
US12051048B2 (en) Systems and methods for securely sharing public blockchain addresses
CN112241513B (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