一种鉴权方法、鉴权服务器、客户端及存储介质与流程

文档序号:34489616发布日期:2023-06-17 20:37阅读:53来源:国知局
一种鉴权方法、鉴权服务器、客户端及存储介质与流程

本技术涉及网络安全,具体而言,涉及一种鉴权方法、鉴权服务器、客户端及存储介质。


背景技术:

1、token(令牌)验证是一种常用的服务器鉴权方式,客户端存储服务器下发的token,并且在每次进行业务请求时均携带token进行验证。

2、目前,token中会携带用户标识、颁发时间、有效期、使用次数、权限信息等认证信息。token一旦被攻击者截获,其携带的认证信息就会被泄露,攻击者可以轻易的对认证信息进行篡改和使用,极大地影响网络数据安全。


技术实现思路

1、本技术实施例的目的在于提供一种鉴权方法、鉴权服务器、客户端及存储介质,以有效地解决令牌被截获后对网络数据安全产生威胁。

2、本发明是这样实现的:

3、第一方面,本技术实施例提供一种鉴权方法,应用于鉴权服务器,所述方法包括:获取待鉴权令牌;其中,所述待鉴权令牌为客户端发送的业务请求报文所携带;当本地存储有与所述待鉴权令牌相同的令牌时,基于本地预先存储的认证信息对所述待鉴权令牌进行鉴权。

4、在本技术实施例中,由于鉴权服务器自身存储有认证信息,因此,鉴权过程完全依赖于鉴权服务器预先存储的认证信息,则客户端发送的业务请求报文中的待鉴权令牌可以不携带上述认证信息,进而使得即使待鉴权令牌被攻击者截获,用于鉴权的认证信息也不会泄露,攻击者也无法对认证信息进行篡改和使用。并且,即使客户端发送的业务请求报文中的待鉴权令牌携带认证信息,但是在实际鉴权过程中,并不会使用待鉴权令牌所携带的认证信息,因此,攻击者也无法对鉴权过程进行干预,进而极大地保证了网络数据安全。

5、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述认证信息包括所述待鉴权令牌的使用次数,所述基于本地预先存储的认证信息对所述待鉴权令牌进行鉴权,包括:基于所述待鉴权令牌的使用次数,对所述待鉴权令牌进行鉴权;其中,当所述待鉴权令牌的使用次数不小于预设次数,则表征鉴权失败。

6、在本技术实施例中,鉴权服务器本地存储有令牌的使用次数,进而实现对待鉴权令牌的有效鉴权。

7、结合上述第一方面提供的技术方案,在一些可能的实现方式中,当所述待鉴权令牌的使用次数小于所述预设次数时,所述方法还包括:基于所述待鉴权令牌的使用次数,设置所述待鉴权令牌的有效时长;其中,所述待鉴权令牌的有效时长随着所述待鉴权令牌的使用次数的增加而减少;在所述待鉴权令牌的使用时长达到所述有效时长后,将本地存储的与所述待鉴权令牌相同的令牌删除。

8、本技术实施例中,鉴权服务器通过待鉴权令牌的使用次数,设置待鉴权令牌的有效时长,并且在待鉴权令牌的使用时长达到有效时长后,将本地存储的与待鉴权令牌相同的令牌删除,可以有效地应对客户端的并发操作等极端网络情况。

9、结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述待鉴权令牌鉴权成功后,且所述待鉴权令牌为首次使用时,所述方法还包括:基于所述待鉴权令牌生成子令牌;将所述子令牌发送至所述客户端,以使所述客户端基于所述子令牌将存储的所述待鉴权令牌进行替换。

10、本技术实施例中,通过上述令牌的更新方式,可以使得客户端发送的业务请求报文中的令牌在不断的变换,通过该方式以进一步地解决令牌被截获后对鉴权服务器造成的威胁。

11、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述待鉴权令牌包括版本信息,所述基于所述待鉴权令牌生成子令牌,包括:获取所述待鉴权令牌的版本信息;构建所述子令牌,其中,所述子令牌的版本信息通过对所述待鉴权令牌的版本信息进行计算后得到。

12、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述待鉴权令牌包括头部字段、中部字段和尾部字段,所述头部字段包括用户信息,所述中部字段包括预设字符,所述尾部字段包括版本信息;所述基于所述待鉴权令牌生成子令牌,包括:获取所述待鉴权令牌中的用户信息、预设字符及版本信息;构建所述子令牌,其中,所述子令牌的头部字段包括所述用户信息,所述子令牌的中部字段的信息通过对所述待鉴权令牌的预设字符及版本信息采用预设算法进行计算后得到;所述子令牌的尾部字段的信息通过对所述待鉴权令牌的版本信息进行计算后得到。

13、在本技术实施例中,通过对中部字段进行更新,可以提高更新的复杂性,以避免攻击者破解更新规则。

14、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:判断本地是否存储有与所述待鉴权令牌对应的父令牌;其中,所述待鉴权令牌基于所述父令牌生成;若存在,减小所述父令牌的有效时长;当所述父令牌的使用时长达到减小后的有效时长,则将本地存储的所述父令牌删除。

15、在本技术实施例中,鉴权服务器在确定当前已经在使用待鉴权令牌时,可以判断本地是否存储有该待鉴权令牌的父令牌,其中,待鉴权令牌相当于是已经更新后的令牌,因此,此时可以减小父令牌的有效时长,以使其尽快的过期。通过该方式可以使得当鉴权过程中出现新的令牌时,可以将旧的令牌尽快地删除,以进一步地提高鉴权过程的安全性,减少父令牌被截获后对鉴权服务器造成的威胁。

16、结合上述第一方面提供的技术方案,在一些可能的实现方式中,当所述待鉴权令牌为非首次使用时,所述方法还包括:判断本地是否存储有与所述待鉴权令牌对应的子令牌;若不存在,则基于所述待鉴权令牌生成所述子令牌;并将所述子令牌发送至所述客户端,以使所述客户端基于所述子令牌将存储的所述待鉴权令牌进行替换;若存在,则将所述子令牌发送至所述客户端,以使所述客户端基于所述子令牌将存储的所述待鉴权令牌进行替换。

17、在本技术实施例中,当待鉴权令牌为非首次使用时,鉴权服务器会先判断本地是否已经生成过与待鉴权令牌对应的子令牌,若不存在,则先生成子令牌,再将子令牌发送至客户端。若存在,则直接将子令牌返回至客户端。通过上述过程,以实现对待鉴权令牌的准确更新。

18、结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述获取待鉴权令牌之前,所述方法还包括:接收所述客户端发送的登录请求报文;其中,所述登录请求报文中携带用户信息;基于所述用户信息生成初始令牌,将所述初始令牌发送至所述客户端;其中,所述初始令牌用于被所述客户端携带至待发送的业务请求报文中,以使所述鉴权服务器对所述初始令牌进行鉴权。

19、在本技术实施例中,仅基于用户信息生成初始令牌,进而使得令牌中不携带认证信息,以避免认证信息的泄露。

20、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述基于所述用户信息生成初始令牌,包括:基于所述用户信息生成动态字符;基于所述用户信息生成未加密的初始令牌;基于所述动态字符与固定字符所组成的秘钥对所述未加密的初始令牌进行加密,生成所述初始令牌;其中,所述固定字符由所述鉴权服务器与所述客户端预先确定。

21、由于每个用户的用户信息均不相同,因此,在本技术实施例中,基于用户信息生成动态字符并结合固定字符可以得到唯一的密钥,通过唯一的密钥能够进一步地加强令牌传输过程中的安全性。

22、结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述认证信息包括权限信息,所述方法还包括:更改所述待鉴权令牌对应的用户信息的权限信息的权限范围。

23、通过鉴权服务器本地存储权限信息能够更加方便地对管理用户的业务功能。

24、第二方面,本技术实施例提供一种鉴权方法,应用于客户端,所述方法包括:发出业务请求报文,以使鉴权服务器获取所述业务请求报文所携带的待鉴权令牌,并当所述鉴权服务器本地存储有与所述待鉴权令牌相同的令牌时,基于本地存储的认证信息对所述待鉴权令牌进行鉴权。

25、结合上述第二方面提供的技术方案,在一些可能的实现方式中,在所述发出业务请求报文之后,所述方法还包括:接收业务响应报文;其中,所述业务响应报文携带有子令牌;其中,所述子令牌为所述鉴权服务器基于所述待鉴权令牌生成的;将自身存储的所述待鉴权令牌替换为所述子令牌。

26、第三方面,本技术实施例提供一种鉴权装置,应用于鉴权服务器,所述装置包括:获取模块,用于获取待鉴权令牌;其中,所述待鉴权令牌为客户端发送的业务请求报文所携带;

27、鉴权模块,用于当本地存储有与所述待鉴权令牌相同的令牌时,基于本地预先存储的认证信息对所述待鉴权令牌进行鉴权。

28、第四方面,本技术实施例提供一种鉴权装置,应用于客户端,所述装置包括:发送模块,用于发出业务请求报文,以使鉴权服务器获取所述业务请求报文所携带的待鉴权令牌,并当所述鉴权服务器本地存储有与所述待鉴权令牌相同的令牌时,基于本地存储的认证信息对所述待鉴权令牌进行鉴权。

29、第五方面,本技术实施例提供一种鉴权服务器,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。

30、第六方面,本技术实施例提供一种客户端,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。

31、第七方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上述第一方面实施例,或第二方面实施例提供的方法。

32、第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行如上述第一方面实施例,或第二方面实施例提供的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1