无感人机识别安全防护方法、装置、设备及介质与流程
- 国知局
- 2024-07-31 23:07:15
本公开涉及大数据和信息安全,更具体地涉及一种无感人机识别安全防护方法、装置、设备、介质及程序产品。
背景技术:
1、在互联网应用中,为了防范客户端无限制地请求服务器接口,进而可能导致的越权风险和用户敏感信息泄露,应用通常会对使用者进行人机识别。目前,图形验证码作为一种通用做法,被广泛应用于人机识别过程。这一机制主要通过以下步骤实现:首先,服务端会生成图形验证码文件,其中包含随机的字符或图案,然后客户端将这些图形验证码文件展示给使用者,使用者需要识别图形验证码的内容,并输入相应的结果。随后,服务端会对客户输入的结果进行匹配校验,如果校验通过,使用者将继续后续的业务流程,如果校验未通过,服务端则会刷新图形验证码,并要求客户重新进行验证。通过这种方式,图形验证码有效地实现了人机识别,提高了系统的安全性。然而,在系统业务中,对每个访问接口都进行图形验证码验证操作会影响客户操作体验,但同时无限制无校验的客户端请求又可能会造成系统越权风险和信息泄露风险。
技术实现思路
1、鉴于上述问题,本公开的实施例提供了一种无感人机识别安全防护方法、装置、设备、介质及程序产品。
2、根据本公开的第一个方面,提供了一种无感人机识别安全防护方法,所述方法包括:响应于接入服务端的用户的第一访问请求,获取所述第一访问请求的业务数据;通过所述服务端识别所述第一访问请求的头部字段,并根据所述业务数据,将识别信息返回至所述用户的客户端,其中,所述识别信息包括验证信息和加密参数;基于所述识别信息,获取所述客户端的内核信息,将所述内核信息与至少部分所述验证信息拼接并加密,生成第一加密字符串;使用所述加密参数对所述第一加密字符串进行加密,生成第二加密字符串,构造包含所述第二加密字符串的第二访问请求,并发送至所述服务端;响应于所述服务端接收所述第二访问请求,根据所述服务端存储的解密参数对所述第二加密字符串进行解密,并将解密的结果与根据预设规则计算的实际值进行比较,对所述第二访问请求进行校验。
3、根据本公开的实施例,所述通过所述服务端识别所述第一访问请求的头部字段,并根据所述业务数据,将识别信息返回至所述用户的客户端包括:通过所述服务器判断所述第一访问请求的头部字段中预设字段的值是否为空;当所述预设字段的值为空时,根据所述业务数据查询所述服务端存储的验证信息和识别参数,并将包含所述验证信息和所述识别参数的识别信息返回至所述客户端;当所述预设字段的值不为空,且所述预设字段的值为预设的有效值时,通过所述第一访问请求的校验。
4、根据本公开的实施例,所述基于所述识别信息,获取所述客户端的内核信息,将所述内核信息与至少部分所述验证信息拼接并加密,生成第一加密字符串包括:基于所述识别信息中浏览器内核版本获取逻辑,获取所述客户端的浏览器的内核信息;当获取所述内核信息失败,将所述用户的第一访问请求判定为伪造请求,并拦截所述第一访问请求;当获取所述内核信息成功,将所述内核信息与所述验证信息中的标识符及当前的时间戳进行拼接,并调用所述浏览器提供的第一加密算法,将拼接后的字符串加密,生成第一加密字符串。
5、根据本公开的实施例,所述使用所述加密参数对所述第一加密字符串进行加密,生成第二加密字符串,构造包含所述第二加密字符串的第二访问请求,并发送至所述服务端包括:调用所述加密参数中第二加密算法和加密公钥,对所述第一加密字符串进行加密,生成第二加密字符串;基于所述第二加密字符串,对所述第二访问请求的头部字段进行赋值,并将赋值后的头部字段与所述验证信息中的加盐序列号和所述时间戳打包,生成所述第二访问请求,发送至所述服务端。
6、根据本公开的实施例,所述验证信息、加密参数及解密参数存储于所述服务端的安全防护数据库表中,所述方法还包括:监测所述安全防护数据库表存储的验证信息、加密参数及解密参数的数据条目数量,其中,所述验证信息、所述加密参数及所述解密参数一一对应;当所述安全防护数据库表中的至少部分所述验证信息、加密参数及解密参数的数据条目数量低于预设阈值时,自动生成新的所述验证信息、所述加密参数及所述解密参数,并存储至所述安全防护数据库表中。
7、根据本公开的实施例,所述方法还包括:识别所述第二访问请求中的时间戳和加盐序列号,校验所述时间戳距离当前时间是否超过预设的请求有效期;当所述时间戳距离当前时间超过预设的请求有效期,拒绝所述用户的第二访问请求;当所述时间戳距离当前时间未超过预设的请求有效期,根据所述加盐序列号查询所述服务端存储的解密参数,对所述第二加密字符串进行解密,得到解密的结果。
8、根据本公开的实施例,所述将解密的结果与根据预设规则计算的实际值进行比较,对所述第二访问请求进行校验包括:根据所述加盐序列号查询所述服务端存储的验证信息中的标识符,并获取所述第二访问请求中中的内核信息及时间戳;将所述标识符、所述内核信息及所述时间戳进行拼接,计算得到所述实际值,并比较所述实际值与解密的结果是否一致;当所述实际值与解密的结果一致时,校验成功;当所述实际值与解密的结果不一致时,校验失败。
9、根据本公开的实施例,所述方法还包括:基于所述业务数据,将校验成功的所述第二访问请求转发至对应的业务处理单元进行处理,并将校验失败的所述第二访问请求判定为伪造请求,拒绝所述第二访问请求的访问。
10、本公开的第二方面提供了一种无感人机识别安全防护装置,包括:数据获取模块,用于响应于接入服务端的用户的第一访问请求,获取所述第一访问请求的业务数据;识别模块,用于通过所述服务端识别所述第一访问请求的头部字段,并根据所述业务数据,将识别信息返回至所述用户的客户端,其中,所述识别信息包括验证信息和加密参数;第一加密模块,用于基于所述识别信息,获取所述客户端的内核信息,将所述内核信息与至少部分所述验证信息拼接并加密,生成第一加密字符串;第二加密模块,用于使用所述加密参数对所述第一加密字符串进行加密,生成第二加密字符串,构造包含所述第二加密字符串的第二访问请求,并发送至所述服务端;校验模块,用于响应于所述服务端接收所述第二访问请求,根据所述服务端存储的解密参数对所述第二加密字符串进行解密,并将解密的结果与根据预设规则计算的实际值进行比较,对所述第二访问请求进行校验。
11、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述无感人机识别安全防护方法。
12、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述无感人机识别安全防护方法。
13、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述无感人机识别安全防护方法。
14、根据本公开提供的无感人机识别安全防护方法、装置、设备、介质和程序产品,通过在底层通讯过程中对发出的请求进行拦截,并与至少部分验证信息拼接,对请求内容进行加密和校验处理,以确保每个请求都是在系统预定的操作流程中发起的。这种校验方式在用户操作过程中是完全无感知的,即用户不会察觉到任何额外的安全验证步骤,但是系统可确保为真实客户请求而非攻击者抓取报文后重放的攻击行为。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196049.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表