CN118074910A - 一种身份验证方法、系统、电子设备及存储介质 - Google Patents
一种身份验证方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118074910A CN118074910A CN202211464500.1A CN202211464500A CN118074910A CN 118074910 A CN118074910 A CN 118074910A CN 202211464500 A CN202211464500 A CN 202211464500A CN 118074910 A CN118074910 A CN 118074910A
- Authority
- CN
- China
- Prior art keywords
- random number
- target
- client
- access token
- server
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000001514 detection method Methods 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 3
- 235000014510 cooky Nutrition 0.000 description 30
- 230000002159 abnormal effect Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种身份验证方法、系统、电子设备及存储介质,客户端响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,初始访问令牌为客户端最近一次访问服务器时使用的访问令牌;根据初始访问令牌和目标随机数字符生成目标访问令牌;其中,目标随机数字符为服务器根据客户端最近一个访问反馈的;根据目标访问令牌生成访问请求,并将访问请求发送给服务器,以使服务器根据接收到的访问请求携带的目标访问令牌,对客户端进行身份验证。
Description
技术领域
本发明涉及信息安全技术领域,更具体地说,涉及一种身份验证方法、系统、电子设备及存储介质。
背景技术
随着互联网技术的快速发展,用户通过浏览器访问服务器的方式越来越多,为了保证访问服务器的用户为安全用户,可以对访问服务器的用户的身份进行验证。
目标的服务器通常采利用Cookies跟踪技术对用户进行身份验证,具体而言,用户在登录服务器成功后,服务器会向用户颁发相应的Cookies令牌,并将该Cookies令牌保存到相应的计算机本地数据库中;在用户通过该浏览器向服务器发起请求时,浏览器会自动从计算机本地数据库中获取该Cookies令牌,并携带该Cookies令牌向服务器发送相应的请求;服务器在接收请求后,会根据请求中携带的Cookies令牌对该用户进行身份验证。但是,当用户的Cookies令牌丢失,并被第三方冒用的话,服务器无法验证当前是否存在异常,无法对第三方进行拦截。
发明内容
有鉴于此,本发明提供一种身份验证方法、系统、电子设备及存储介质,以解决现有基础中,当用户的Cookies令牌丢失,并被第三方冒用的话,服务器无法验证当前是否存在异常,无法对第三方进行拦截。
本发明第一方面公开一种身份验证方法,应用于客户端,所述方法包括:
响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,所述初始访问令牌为所述客户端最近一次访问所述服务器时使用的访问令牌;
根据所述初始访问令牌和目标随机数字符生成目标访问令牌;其中,所述目标随机数字符为所述服务器根据所述客户端最近一个访问反馈的;
根据所述目标访问令牌生成访问请求,并将所述访问请求发送给所述服务器,以使所述服务器根据接收到的所述访问请求携带的目标访问令牌,对所述客户端进行身份验证。
可选的,所述根据所述初始访问令牌和目标随机数字符生成目标访问令牌,包括:
判断所述初始访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;
响应于所述第一随机数字符串中的随机数字符的数量小于所述预设阈值,将所述第一随机数字符串与所述目标随机数字符进行拼接,得到目标访问令牌;
响应于所述第一随机数字符串中的随机数字符的数量不小于所述预设阈值,从所述第一随机数字符中,丢弃目标预设数量个随机数字符;其中,所述目标预设数量个随机数字符为所述第一随机数字符串中位于最前面的预设数量个随机数字符;
将丢弃目标预设数量个随机数字符的所述第一随机数字符串与所述目标随机数字符进行拼接,得到目标访问令牌。
本发明第二方面公开一种身份验证方法,应用于服务器,所述方法包括:
接收到客户端发送的访问请求时,根据所述访问请求获取所述客户端对应的验证访问令牌;其中,所述访问请求包括目标访问令牌,所述目标访问令牌包括第一随机数字符串;所述验证访问令牌为利用所述客户端最近一次访问所述服务器时使用的访问令牌和基于所述客户端最近一次访问生成的目标随机数字符生成;所述验证访问令牌包括第二随机数字符串;
确定所述第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量;
响应于所述数量大于预设数量,确定所述客户端的身份验证未通过,拦截所述访问请求,禁止所述客户端访问所述服务器;
响应于所述数量不大于所述预设数量,确定所述客户端的身份验证通过,允许所述客户端访问所述服务器,并将更新后的所述目标随机数字符反馈给所述客户端,以便所述客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的所述目标随机数字符和目标访问令牌生成新的目标访问令牌。
可选的,所述确定第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量,包括:
根据预设随机数字符比对算法,确定第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量。
可选的,所述方法还包括:
根据更新后所述目标随机数字符和所述目标访问令牌,生成目标第二随机数字符串;
利用目标第二随机数字符串对所述验证访问令牌中的第二随机数字符串进行更新。
可选的,所述根据更新后所述目标随机数字符和所述目标访问令牌生成目标第二随机数字符串,包括:
判断所述目标访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;
响应于所述第一随机数字符串中的随机数字符的数量小于所述预设阈值,将所述第一随机数字符串与更新后所述目标随机数字符进行拼接,得到目标第二随机数字符串;
响应于所述第一随机数字符串中的随机数字符的数量不小于所述预设阈值,从所述第一随机数字符中,丢弃目标预设数量个随机数字符;其中,所述目标预设数量个随机数字符为所述第一随机数字符串中位于最前面的预设数量个随机数字符;
将丢弃目标预设数量个随机数字符的所述第一随机数字符串与更新后的所述目标随机数字符进行拼接,得到目标第二随机数字符串。
本发明第三方面公开一种身份验证系统,应用于客户端,所述系统包括:
初始访问令牌获取单元,用于响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,所述初始访问令牌为所述客户端最近一次访问所述服务器时使用的访问令牌;
目标访问令牌生成单元,用于根据所述初始访问令牌和目标随机数字符生成目标访问令牌;其中,所述目标随机数字符为所述服务器根据所述客户端最近一个访问反馈的;
访问请求发送单元,用于根据所述目标访问令牌生成访问请求,并将所述访问请求发送给所述服务器,以使所述服务器根据接收到的所述访问请求携带的目标访问令牌,对所述客户端进行身份验证。
本发明第四方面公开一种身份验证系统,应用于服务器,所述系统包括:
验证访问令牌获取单元,用于接收到客户端发送的访问请求时,根据所述访问请求获取所述客户端对应的验证访问令牌;其中,所述访问请求包括目标访问令牌,所述目标访问令牌包括第一随机数字符串;所述验证访问令牌为利用所述客户端最近一次访问所述服务器时使用的访问令牌和基于所述客户端最近一次访问生成的目标随机数字符生成;所述验证访问令牌包括第二随机数字符串;
确定单元,用于确定所述第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量;
拦截单元,用于响应于所述数量大于预设数量,确定所述客户端的身份验证未通过,拦截所述访问请求,禁止所述客户端访问所述服务器;
允许访问单元,用于响应于所述数量不大于所述预设数量,确定所述客户端的身份验证通过,允许所述客户端访问所述服务器,并将更新后的所述目标随机数字符反馈给所述客户端,以便所述客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的所述目标随机数字符和目标访问令牌生成新的目标访问令牌。
本发明第五方面公开一种电子设备,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如上述本发明第一方面,或者上述本发明第二方面公开的身份验证方法。
本发明第六方面公开一种存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上述本发明第一方面,或者上述本发明第二方面公开的身份验证方法。
本发明提供一种身份验证方法、系统、电子设备及存储介质,客户端在检测到用户向服务器发送持续访问操作时,可以获取最近一次访问服务器时使用的访问令牌,并将获取到的访问令牌作为初始访问令牌,以根据初始访问令牌和目标随机数字符生成目标访问令牌,目标随机数字符为服务器根据客户端最近一个访问反馈的,目标访问令牌包括第一随机数字符串;进而可以根据生成的目标访问令牌生成访问请求,并将生成的访问令牌发送给服务器;服务器可以根据客户端发送的访问请求获取客户端对应的验证访问令牌,验证访问令牌为利用客户端最近一次访问服务器时使用的访问令牌和基于客户端最近一次访问生成的目标随机数字符生成;验证访问令牌包括第二随机数字符串;若数量大于预设数量,确定客户端的身份验证未通过,拦截访问请求,并禁止客户端访问服务器;若数量不大于预设数量,确定客户端的身份验证通过,允许客户端访问服务器,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来将,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种身份验证方法的流程示意图;
图2为本发明实施例提供的另一种身份验证方法的流程示意图;
图3为本发明实施例提供的另一种身份验证方法的流程示意图;
图4为本发明实施例提供的一种身份验证系统的结构示意图;
图5为本发明实施例提供的一种身份验证系统的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
由上述背景技术可知,在用户通过该浏览器向服务器发起请求时,浏览器会自动从计算机本地数据库中获取该Cookies令牌,并携带该Cookies令牌向服务器发送相应的请求;服务器在接收请求后,会根据请求中携带的Cookies令牌对该用户进行身份验证。但是,当用户的Cookies令牌丢失,并被第三方冒用的话,服务器无法验证当前是否存在异常,无法对第三方进行拦截。
在现有技术中,还可以通过在用户的Cookies令牌中加密放置IP字符串,或在服务器上存储IP字符串,在服务器端解密或取出IP并与访问者对应的IP进行判断,如果一致则说明是正常访问,如果不一致则说明是伪造访问,则对该访问请求进行拦截。或者,在用户的Cookies令牌中加密放置UA字符串,或在服务器上存储UA字符串,在服务器端解密或取出UA与访问者对应的UA进行判断,如果一致则说明是正常访问,如果不一致则说明是伪造访问,则对该访问请求进行拦截。
但是,当用户是通过移动终端进行访问时,由于移动终端使用的IP是公共出口IP,会随时间变化而变化,导致验证访问者对应的IP的这种方式在移动终端进行访问时,出现经常性的误拦截情况,导致用户体验感差。而验证访问者的UA的方式,如果第三方在窃取Cookie令牌的同时,也窃取了UA并伪造的情况之下,则服务器无法验证当前是否存在异常,无法对第三方进行拦截。
因此,本发明提供一种身份验证方法、系统、电子设备及存储介质,本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
参见图1,示出了本发明实施例提供的一种身份验证方法的流程示意图,该身份验证方法具体包括以下步骤:
S101:客户端响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌。
其中,初始访问令牌为客户端最近一次访问服务器时使用的访问令牌。
在本申请实施例中,客户端在检测到用户通过浏览器向服务器发起持续访问操作时,可以响应该持续访问操作,以获取最近一次访问服务器时使用的访问令牌,并将最近一次访问服务器时使用的访问令牌作为初始访问令牌。
需要说明的是,初始访问令牌包括Cookie令牌和第一随机数字符串。其中,Cookie令牌是用户在通过客户端登录服务器成功后,服务器向用户颁发的。还需要说明的是,如果当前是客户端首次访问服务器,客户端可以获取Cookie令牌,进而可以根据Cookie令牌和第一随机数字符串生成初始访问令牌,此时的初始访问令牌中包括的第一随机数字符串为空的随机数字符串。
S102:客户端根据初始访问令牌和目标随机数字符生成目标访问令牌,其中,目标随机数字符为服务器根据客户端最近一个访问反馈的。
在具体执行步骤S102的过程中,客户端在获取到初始访问令牌后,可以进一步获取目标随机数字符,并根据初始访问令牌和目标随机数字符生成相应的目标访问令牌。
需要说明的是,目标随机数字符为服务器根据客户端最近一个访问反馈的;如果当前是客户端首次访问服务器,则目标随机数字符为服务器预先与客户端约定的随机数字符。
需要说明的是,服务器反馈的目标随机数字符可以包括至少一个随机数字符。
作为本申请实施例的优选方式,可以判断初始访问令牌中的第一随机数字符串中的随机数字符的个数是否小于预设阈值;如果第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。
如果第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符,并将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符。
在本申请实施例中,在将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接的过程中,可以通过分隔符将拼接入该第一随机数字符串的目标随机数字符字符与原始的随机数字符隔开。
需要说明的是,因为服务器不能无限制的保存无限个随机数字符,因此需要限制随机数字符串中随机数字符的数量,一般可以将随机数字符串中随机数字符的个数限制在10个、15个、20个等等。故,可以预先设置预设阈值为10、15、20。可以根据实际应用进行设置,本申请实施例不加以限定。
例如,预设阈值为10,客户端获取的初始访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4;服务器根据客户端最近一个访问反馈的目标随机数字符为5。其中,ID=4E6B34B54为Cookie令牌;Visit=1,5,9,2,8,4第一随机数字符串。
客户端在获取到初始访问令牌后,可以第一随机数字符串中随机数字符的个数小于10,进而可以直接将目标随机数字符(5)通过分隔符拼接在第一随机数字符串的后面,得到目标访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,5。
又例如,预设阈值为10,目标预设数量为1,客户端获取的初始访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,6,7,4,6;服务器根据客户端最近一个访问反馈的目标随机数字符为5。其中,ID=4E6B34B54为Cookie令牌;Visit=1,5,9,2,8,4,6,7,4,6第一随机数字符串。
客户端在获取到初始访问令牌后,可以第一随机数字符串中随机数字符的个数不小于10,进而可以将第一随机数字符中最前面的1个随机数字符丢弃,得到Visit=1,5,9,2,8,4,6,7,4;将目标随机数字符(5)通过分隔符拼接在Visit=1,5,9,2,8,4,6,7,4的后面,得到目标访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,6,7,4,5。
S103:客户端根据目标访问令牌生成访问请求,并将访问请求发送给服务器。
在具体执行步骤S103的过程中,客户端在根据初始访问令牌和目标随机数字符生成目标访问令牌后,可以进一步根据目标访问令牌生成相应的访问令牌,并将生成的访问请求发送给服务器。
需要说明的是,访问请求中除了目标访问令牌,还可以包括客户端的客户端标识。
S104:服务器接收到客户端发送的访问请求时,根据访问请求获取客户端对应的验证访问令牌。
在本申请实施例中,服务器接收到客户端发送的访问请求后,可以根据访问请求中携带的客户端标识,获取相应的验证访问令牌。其中,验证访问令牌包括该客户端对应的Cookie令牌和第二随机数字符串。
需要说明的是,验证访问令牌是服务器利用客户端最近一次访问服务器时使用的访问令牌和基于客户端最近一次访问生成的目标随机数字符生成的。
具体而言,服务器在接收到客户端最近一次的访问时,会生成与最近一次访问对应的目标随机数字符,在将该目标随机数字符反馈给客户端后,可以判断最近一次的访问携带的目标访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;若小于预设阈值,将最近一次的访问携带的目标访问令牌中的第一随机数字符串与随机数进行拼接,得到相应的验证访问令牌;
若不小于从第一随机数字符中,将最近一次的访问携带的目标访问令牌中的第一随机数字符串最前面的目标预设数量个随机数字符丢弃,并将丢弃目标预设数量个随机数字符的最近一次的访问携带的目标访问令牌中的第一随机数字符串与更新后的目标随机数字符进行拼接,得到相应的验证访问令牌。
S105:服务器确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
在具体执行步骤S105的过程中,服务器在根据访问令牌获取到相应的验证访问令牌后,可以根据预先设置的预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
在本申请实施例中,根据预先设置的预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量的方式可以为:可以将第一随机数字符串中的每个随机数字符依次与第二随机数字符串中的每个随机数字符进行比对,以判断第二随机数字符串中是否存在与该随机数字符相同的随机数字符;如果第二随机数字符串中存在与该随机数字符相同的随机数字符,则忽略该随机数字符;如果如果第二随机数字符串中不存在与该随机数字符相同的随机数字符,则将第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量加1,直至比对完第一随机数字符串中的各个随机数字符为止。
S106:服务器判断数量是否大于预设数量;若数量大于预设数量执行步骤S107;若数量不大于预设数量,执行步骤S108。
在具体执行步骤S106的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量后,可以进一步判断所确定的数量是否大于预设数量;如果所确定的数量大于预设数量,可以确定客户端的身份验证未通过,也就是说,当前访问服务器的客户端有可能是第三方,进而可以拦截访问请求,并禁止该客户端访问服务器。
如果所确定的数量不大于预设数量,服务器确定客户端的身份验证通过,允许客户端访问服务器。
例如,预设数量为1,如果服务器确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量为0或者1,则可以确定客户端的身份验证通过,允许客户端访问服务器;如果确定客户端的身份验证通过,允许客户端访问服务器为2,则确定客户端的身份验证未通过,也就是说,当前访问服务器的客户端有可能是第三方,进而可以拦截访问请求,并禁止该客户端访问服务器。
S107:服务器确定客户端的身份验证未通过,拦截访问请求,禁止客户端访问服务器。
在具体执行步骤S107的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量大于预设数量的情况下,可以响应于数量大于预设数量,确定对应的客户端的身份验证未通过,进而可以认为该客户端可能为第三方,此时可以拦截该客户端的访问请求,禁止该客户端访问服务器。
需要说明的是,服务器在拦截客户端对应的访问请求后,还可以根据接收到的访问请求中的客户端标识,向对应的客户端发送对应报警信息,提示该客户端当前可能存在身份被冒用的风险,以便对应的客户端可以进行相应的处理。
S108:服务器确定客户端的身份验证通过,允许客户端访问服务器。
在具体执行步骤S108的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量不大于预设数量的情况下,可以响应于数量不大于预设数量,确定对应的客户端的身份验证通过,进而可以允许该客户端访问服务器。
S109:服务器更新目标随机数字符,并将更新后的目标随机数字符反馈给客户端。
在具体执行步骤S109的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量不大于预设数量的情况下,还可以对当前的目标随机数字符进行更新,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。
S110:服务器根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串,并利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
在具体执行步骤S110的过程中,服务器对当前的目标随机数字符进行更新后,还可以根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串,并利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
可选的,服务器判断目标访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;若第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与更新后的目标随机数字符进行拼接,得到目标第二随机数字符串;最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
若第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符;其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符;将丢弃目标预设数量个随机数字符的第一随机数字符串与更新后的随机数字符进行拼接,得到目标第二随机数字符串,最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
在实际应用中,客户端有可能会同时向服务器发送多个访问请求,服务器可能会接收不到该多个访问请求中的部分访问请求,此时,服务器仍然会根据接收到的访问请求执行以上身份验证方法的实施例对客户端进行身份验证,并更新目标随机数字符,同时根据更新后的目标随机数字符和接收到的访问请求中的目标访问令牌更新验证访问令牌。但是,在服务器更新验证访问令牌后,服务器可能会接收到之前没有接收到的访问请求,服务器会根据更新后的验证访问令牌对新接收到的访问请求(也就是之前没有接收到的访问请求)对客户端进行身份验证,此时,如果预设阈值设置为1,会导致客户端的身份验证失败这一异常情况,从而导致服务器对客户端进行误拦截。
针对以上异常情况,可以通过增大预设阈值来解决以上异常情况,从而减少误拦截的情况。为更好的解释如何减少误拦截的情况,通过以下例子举例说明。
例如,客户端有可能同时向服务器发了3次访问请求,其中,访问请求1中的第一随机数字符串为1,5,9,2,8,4,5;访问请求2中的第一随机数字符串为“1,5,9,2,8,4,5”。服务器存储客户端对应的验证访问令牌中的第二随机数字符串为“1,5,9,2,8,4,5”。
可能因为网络延迟的原因,服务器先接收到访问请求2,并根据该客户端对应的验证访问令牌中的第二随机数字符串为“1,5,9,2,8,4,5”和访问请求2中的第一随机数字符串为“1,5,9,2,8,4,5”,对客户端进行身份验证;如果预设数量为1,服务器可以确定客户端的身份验证通过,此时服务器会更新目标随机数字符(3),且预设阈值为10,则服务器可以根据更新的目标随机数字符3和访问请求2中的第一随机数字符串“1,5,9,2,8,4,5”生成新的验证访问令牌中的第二随机数字符串为“1,5,9,2,8,4,5,3”。
这个时候如果服务器接收到访问请求1,服务器就会根据新生成的验证访问令牌中第二随机数字符串为“1,5,9,2,8,4,5,3和访问请求1中的第一随机数字符串“1,5,9,2,8,4,5”,对客户端进行身份验证,由于预设阈值为1,服务器会确定客户端的身份验证失败,此时服务器就会对客户端进行拦截,导致出现误拦截的情况,因此,可以将预设阈值设置为3、5,来减少这种误拦截的情况。
本发明提供一种身份验证方法,客户端在检测到用户向服务器发送持续访问操作时,可以获取最近一次访问服务器时使用的访问令牌,并将获取到的访问令牌作为初始访问令牌,以根据初始访问令牌和目标随机数字符生成目标访问令牌,目标随机数字符为服务器根据客户端最近一个访问反馈的,目标访问令牌包括第一随机数字符串;进而可以根据生成的目标访问令牌生成访问请求,并将生成的访问令牌发送给服务器;服务器可以根据客户端发送的访问请求获取客户端对应的验证访问令牌,验证访问令牌为利用客户端最近一次访问服务器时使用的访问令牌和基于客户端最近一次访问生成的目标随机数字符生成;验证访问令牌包括第二随机数字符串;若数量大于预设数量,确定客户端的身份验证未通过,拦截访问请求,并禁止客户端访问服务器;若数量不大于预设数量,确定客户端的身份验证通过,允许客户端访问服务器,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的随机数生成新访问令牌。由于服务器反馈的随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
下面分别从客户端和服务器的角度对本发明实施例提供身份验证方法的进行介绍。
参见图2,示出了本发明实施例提供的另一种身份验证方法的流程示意图,该身份验证方法应用于客户端,该方法具体包括以下步骤:
S201:响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌。
其中,初始访问令牌为客户端最近一次访问服务器时使用的访问令牌。
在本申请实施例中,客户端在检测到用户通过浏览器向服务器发起持续访问操作时,可以获取最近一次访问服务器时使用的访问令牌,并将最近一次访问服务器时使用的访问令牌作为初始访问令牌。
需要说明的是,初始访问令牌包括Cookie令牌和第一随机数字符串。其中,Cookie令牌是用户在通过客户端登录服务器成功后,服务器向用户颁发的。
还需要说明的是,如果当前是客户端首次访问服务器,客户端可以获取Cookie令牌,进而可以根据Cookie令牌和第一随机数字符串生成初始访问令牌,此时的初始访问令牌中包括的第一随机数字符串为空的随机数字符串。
S202:根据初始访问令牌和目标随机数字符生成目标访问令牌。
其中,目标随机数字符为服务器根据客户端最近一个访问反馈的。
在具体执行步骤S202的过程中,客户端在获取到初始访问令牌后,可以进一步获取目标随机数字符,并根据初始访问令牌和目标随机数字符生成相应的目标访问令牌。
需要说明的是,目标随机数字符为服务器根据客户端最近一个访问反馈的;如果当前是客户端首次访问服务器,则目标随机数字符为服务器预先与客户端约定的随机数字符。
需要说明的是,服务器反馈的随机数可以包括至少一个随机数字符。
作为本申请实施例的优选方式,可以判断初始访问令牌中的第一随机数字符串中的随机数字符的个数是否小于预设阈值;如果第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与随机数进行拼接,得到目标访问令牌。
如果第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符,并将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符。
在本申请实施例中,在将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接的过程中,可以通过分隔符将拼接入该第一随机数字符串的目标随机数字符字符与原始的随机数字符隔开。
需要说明的是,因为服务器不能无限制的保存无限个随机数字符,因此需要限制随机数字符串中随机数字符的数量,一般可以将随机数字符串中随机数字符的个数限制在10个、15个、20个等等。故,可以预先设置预设阈值为10、15、20。可以根据实际应用进行设置,本申请实施例不加以限定。
例如,预设阈值为10,客户端获取的初始访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4;服务器根据客户端最近一个访问反馈的目标随机数字符为5。其中,ID=4E6B34B54为Cookie令牌;Visit=1,5,9,2,8,4第一随机数字符串。
客户端在获取到初始访问令牌后,可以第一随机数字符串中随机数字符的个数小于10,进而可以直接将目标随机数字符(5)通过分隔符拼接在第一随机数字符串的后面,得到目标访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,5。
又例如,预设阈值为10,目标预设数量为1,客户端获取的初始访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,6,7,4,6;服务器根据客户端最近一个访问反馈的目标随机数字符为5。其中,ID=4E6B34B54为Cookie令牌;Visit=1,5,9,2,8,4,6,7,4,6第一随机数字符串。
客户端在获取到初始访问令牌后,可以第一随机数字符串中随机数字符的个数不小于10,进而可以将第一随机数字符中最前面的1个随机数字符丢弃,得到Visit=1,5,9,2,8,4,6,7,4;将目标随机数字符(5)通过分隔符拼接在Visit=1,5,9,2,8,4,6,7,4的后面,得到目标访问令牌为:ID=4E6B34B54;Visit=1,5,9,2,8,4,6,7,4,5。
S203:根据目标访问令牌生成访问请求,并将访问请求发送给服务器,以使服务器根据接收到的访问请求携带的目标访问令牌,对客户端进行身份验证。
在具体执行步骤S203的过程中,客户端在根据初始访问令牌和目标随机数字符生成目标访问令牌后,可以进一步根据目标访问令牌生成相应的访问令牌,并将生成的访问请求发送给服务器。
需要说明的是,访问请求中除了目标访问令牌,还可以包括客户端的客户端标识。
在本申请实施例中,服务器接收到客户端发送的访问请求后,可以根据访问请求中携带的客户端标识,获取相应的验证访问令牌,其中,验证访问令牌包括该客户端对应的Cookie令牌和第二随机数字符串。根据预先设置的预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
服务器判断所确定的数量是否大于预设数量;如果所确定的数量大于预设数量,可以响应于数量大于预设数量,确定客户端的身份验证未通过,也就是说,当前访问服务器的客户端有可能是第三方,进而可以拦截访问请求,并禁止该客户端访问服务器。
如果所确定的数量不大于预设数量,服务器可以响应于数量不大于预设数量,确定客户端的身份验证通过,允许客户端访问服务器,并对当前的目标随机数字符进行更新,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。
服务器在将更新后的目标随机数字符反馈给客户端的同时,根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串,并利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
可选的,服务器判断第一随机数字符串中的随机数字符的数量是否小于预设阈值;若第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与随机数进行拼接,得到目标第二随机数字符串;最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
若第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符;其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符;将丢弃目标预设数量个随机数字符的第一随机数字符串与更新后的随机数字符进行拼接,得到目标第二随机数字符串,最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
本发明提供的身份验证方法,本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
参见图3,示出了本发明实施例提供的另一种身份验证方法的流程示意图,该身份验证方法应用于客户端,该方法具体包括以下步骤:
S301:接收到客户端发送的访问请求时,根据访问请求获取客户端对应的验证访问令牌。
在本申请实施例中,客户端在检测到用户通过浏览器向服务器发起持续访问操作时,可以响应该持续访问操作,以获取最近一次访问服务器时使用的访问令牌,并将最近一次访问服务器时使用的访问令牌作为初始访问令牌;在获取到初始访问令牌后,可以进一步获取目标随机数字符,根据初始访问令牌和目标随机数字符生成相应的目标访问令牌,并根据目标访问令牌生成访问请求,并将访问请求发送给服务。其中,目标随机数字符为服务器根据客户端最近一个访问反馈的。
作为本申请实施例的优选方式,可以判断初始访问令牌中的第一随机数字符串中的随机数字符的个数是否小于预设阈值;如果第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。
如果第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符,并将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符。
在具体执行步骤S301的过程中,服务器接收到客户端发送的访问请求后,可以根据访问请求中携带的客户端标识,获取相应的验证访问令牌。其中,验证访问令牌包括该客户端对应的Cookie令牌和第二随机数字符串。
需要说明的是,验证访问令牌是服务器利用客户端最近一次访问服务器时使用的访问令牌和基于客户端最近一次访问生成的目标随机数字符生成的。
具体而言,服务器在接收到客户端最近一次的访问时,会生成与最近一次访问对应的目标随机数字符,在将该目标随机数字符反馈给客户端后,可以判断最近一次的访问携带的目标访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;若小于预设阈值,将最近一次的访问携带的目标访问令牌中的第一随机数字符串与随机数进行拼接,得到相应的验证访问令牌;
若不小于从第一随机数字符中,将最近一次的访问携带的目标访问令牌中的第一随机数字符串最前面的目标预设数量个随机数字符丢弃,并将丢弃目标预设数量个随机数字符的最近一次的访问携带的目标访问令牌中的第一随机数字符串与更新后的目标随机数字符进行拼接,得到相应的验证访问令牌。
S302:确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
在具体执行步骤S302的过程中,服务器在根据访问令牌获取到相应的验证访问令牌后,可以根据预先设置的预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
在本申请实施例中,根据预先设置的预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量的方式可以为:可以将第一随机数字符串中的每个随机数字符依次与第二随机数字符串中的每个随机数字符进行比对,以判断第二随机数字符串中是否存在与该随机数字符相同的随机数字符;如果第二随机数字符串中存在与该随机数字符相同的随机数字符,则忽略该随机数字符;如果如果第二随机数字符串中不存在与该随机数字符相同的随机数字符,则将第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量加1,直至比对完第一随机数字符串中的各个随机数字符为止。
S303:判断数量是否大于预设数量;若数量大于预设数量执行步骤S304;若数量不大于预设数量,执行步骤S305。
在具体执行步骤S303的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量后,可以进一步判断所确定的数量是否大于预设数量;如果所确定的数量大于预设数量,可以确定客户端的身份验证未通过,也就是说,当前访问服务器的客户端有可能是第三方,进而可以拦截访问请求,并禁止该客户端访问服务器。
如果所确定的数量不大于预设数量,服务器确定客户端的身份验证通过,允许客户端访问服务器。
例如,预设数量为1,如果服务器确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量为0或者1,则可以确定客户端的身份验证通过,允许客户端访问服务器;如果确定客户端的身份验证通过,允许客户端访问服务器为2,则确定客户端的身份验证未通过,也就是说,当前访问服务器的客户端有可能是第三方,进而可以拦截访问请求,并禁止该客户端访问服务器。
S304:确定客户端的身份验证未通过,拦截访问请求,禁止客户端访问服务器。
在具体执行步骤S304的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量大于预设数量的情况下,可以响应于数量大于预设数量,确定对应的客户端的身份验证未通过,进而可以认为该客户端可能为第三方,此时可以拦截该客户端的访问请求,禁止该客户端访问服务器。
需要说明的是,服务器在拦截客户端对应的访问请求后,还可以根据接收到的访问请求中的客户端标识,向对应的客户端发送对应报警信息,提示该客户端当前可能存在身份被冒用的风险,以便对应的客户端可以进行相应的处理。
S305:确定客户端的身份验证通过,允许客户端访问服务器。
在具体执行步骤S305的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量不大于预设数量的情况下,可以响应于数量不大于预设数量,确定对应的客户端的身份验证通过,进而可以允许该客户端访问服务器。
S306:更新目标随机数字符,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。
在具体执行步骤S306的过程中,服务器在确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量不大于预设数量的情况下,还可以对当前的目标随机数字符进行更新,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。
S307:根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串,并利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
在具体执行步骤S307的过程中,服务器对当前的目标随机数字符进行更新后,还可以根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串,并利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
可选的,服务器判断第一随机数字符串中的随机数字符的数量是否小于预设阈值;若第一随机数字符串中的随机数字符的数量小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与随机数进行拼接,得到目标第二随机数字符串;最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
若第一随机数字符串中的随机数字符的数量不小于预设阈值,则可以响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符;其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符;将丢弃目标预设数量个随机数字符的第一随机数字符串与更新后的随机数字符进行拼接,得到目标第二随机数字符串,最后利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
本发明提供的身份验证方法,本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
基于本发明实施例公开的身份验证方法,本发明实施例还对应公开一种身份验证系统,如图4所示,该身份验证系统应用于客户端,该身份验证系统包括:
初始访问令牌获取单元41,用于响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,初始访问令牌为客户端最近一次访问服务器时使用的访问令牌;
目标访问令牌生成单元42,用于根据初始访问令牌和目标随机数字符生成目标访问令牌;其中,目标随机数字符为服务器根据客户端最近一个访问反馈的;
访问请求发送单元43,用于根据目标访问令牌生成访问请求,并将访问请求发送给服务器,以使服务器根据接收到的访问请求携带的目标访问令牌,对客户端进行身份验证。
上述本发明实施例公开的身份验证系统中各个单元具体的原理和执行过程,与上述本发明实施例图2公开的身份验证方法相同,可参见上述本发明实施例公开的身份验证方法中相应的部分,这里不再进行赘述。
本发明提供的身份验证系统,本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
可选的,目标访问令牌生成单元,包括:
第一判断单元,用于判断初始访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;
第一拼接单元,用于响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与随机数进行拼接,得到目标访问令牌;
第一丢弃单元,用于响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符;其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符;
第二拼接单元,用于将丢弃目标预设数量个随机数字符的第一随机数字符串与目标随机数字符进行拼接,得到目标访问令牌。
基于本发明实施例公开的身份验证方法,本发明实施例还对应公开一种身份验证系统,如图5所示,该身份验证系统应用于服务器,该身份验证系统包括:
验证访问令牌获取单元51,用于接收到客户端发送的访问请求时,根据访问请求获取客户端对应的验证访问令牌;其中,访问请求包括目标访问令牌,目标访问令牌包括第一随机数字符串;验证访问令牌为利用客户端最近一次访问服务器时使用的访问令牌和基于客户端最近一次访问生成的目标随机数字符生成;验证访问令牌包括第二随机数字符串;
确定单元52,用于确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量;
拦截单元53,用于响应于数量大于预设数量,确定客户端的身份验证未通过,拦截访问请求,禁止客户端访问服务器;
允许访问单元54,用于响应于数量不大于预设数量,确定客户端的身份验证通过,允许客户端访问服务器,并将更新后的目标随机数字符反馈给客户端,以便客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的目标随机数字符和目标访问令牌生成新的目标访问令牌。
上述本发明实施例公开的身份验证系统中各个单元具体的原理和执行过程,与上述本发明实施例图3公开的身份验证方法相同,可参见上述本发明实施例公开的身份验证方法中相应的部分,这里不再进行赘述。
本发明提供的身份验证系统,本发明提供的技术方案,服务器在每次客户端访问后,都会随机向客户端反馈一个目标随机数,以便客户端在下一次访问时,可以根据原先的访问令牌和服务器最新反馈的目标随机数生成新访问令牌。由于服务器反馈的目标随机数是随机的,这样即使第三方从客户端上窃取到最近访问服务器的访问令牌,也无法知晓服务器随机反馈的目标随机数是什么,当第三方根据窃取到的访问令牌生成访问请求访问服务器时,服务器便可以根据最新反馈给客户端的目标随机数生成验证访问令牌,来对第三方发送的访问请求中的访问令牌进行验证,从而验证出当前接收到的访问请求为异常访问请求,进而对该访问请求进行拦截。
可选的,确定单元,包括:
确定子单元,用于根据预设随机数字符比对算法,确定第一随机数字符串中不存在于第二随机数字符串的随机数字符的数量。
可选的,本申请实施例提供的身份验证系统,还包括:
目标第二随机数字符串生成单元,用于根据更新后目标随机数字符和目标访问令牌生成目标第二随机数字符串;
更新单元,用于利用目标第二随机数字符串对验证访问令牌中的第二随机数字符串进行更新。
可选的,目标第二随机数字符串生成单元,包括:
第二判断单元,用于判断第一随机数字符串中的随机数字符的数量是否小于预设阈值;
第一目标第二随机数字符串生成子单元,用于响应于第一随机数字符串中的随机数字符的数量小于预设阈值,将第一随机数字符串与随机数进行拼接,得到目标第二随机数字符串;
第二丢弃单元,用于响应于第一随机数字符串中的随机数字符的数量不小于预设阈值,从第一随机数字符中,丢弃目标预设数量个随机数字符;其中,目标预设数量个随机数字符为第一随机数字符串中位于最前的预设数量个随机数字符;
第二目标第二随机数字符串生成子单元,用于将丢弃目标预设数量个随机数字符的第一随机数字符串与更新后的随机数字符进行拼接,得到目标第二随机数字符串。
本申请实施例提供了一种电子设备,如图6所示,电子设备包括处理器601和存储器602,处理器601以及存储器通过通信总线相连;其中,所处理器601,用于调用并执行存储器602中存储的程序;存储器602,用于存储程序,程序用于实现如上述实施例示出的任意一个身份验证方法所示的步骤。
本申请实施例提供了一种存储介质,存储介质包括存储程序,其中,在程序运行时控制存储介质所在设备执行上述实施例示出的任意一个身份验证方法所示的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种身份验证方法,其特征在于,应用于客户端,所述方法包括:
响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,所述初始访问令牌为所述客户端最近一次访问所述服务器时使用的访问令牌;
根据所述初始访问令牌和目标随机数字符生成目标访问令牌;其中,所述目标随机数字符为所述服务器根据所述客户端最近一个访问反馈的;
根据所述目标访问令牌生成访问请求,并将所述访问请求发送给所述服务器,以使所述服务器根据接收到的所述访问请求携带的目标访问令牌,对所述客户端进行身份验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始访问令牌和目标随机数字符生成目标访问令牌,包括:
判断所述初始访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;
响应于所述第一随机数字符串中的随机数字符的数量小于所述预设阈值,将所述第一随机数字符串与所述目标随机数字符进行拼接,得到目标访问令牌;
响应于所述第一随机数字符串中的随机数字符的数量不小于所述预设阈值,从所述第一随机数字符中,丢弃目标预设数量个随机数字符;其中,所述目标预设数量个随机数字符为所述第一随机数字符串中位于最前面的预设数量个随机数字符;
将丢弃目标预设数量个随机数字符的所述第一随机数字符串与所述目标随机数字符进行拼接,得到目标访问令牌。
3.一种身份验证方法,其特征在于,应用于服务器,所述方法包括:
接收到客户端发送的访问请求时,根据所述访问请求获取所述客户端对应的验证访问令牌;其中,所述访问请求包括目标访问令牌,所述目标访问令牌包括第一随机数字符串;所述验证访问令牌为利用所述客户端最近一次访问所述服务器时使用的访问令牌和基于所述客户端最近一次访问生成的目标随机数字符生成;所述验证访问令牌包括第二随机数字符串;
确定所述第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量;
响应于所述数量大于预设数量,确定所述客户端的身份验证未通过,拦截所述访问请求,禁止所述客户端访问所述服务器;
响应于所述数量不大于所述预设数量,确定所述客户端的身份验证通过,允许所述客户端访问所述服务器,并将更新后的所述目标随机数字符反馈给所述客户端,以便所述客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的所述目标随机数字符和目标访问令牌生成新的目标访问令牌。
4.根据权利要求3所述的方法,其特征在于,所述确定第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量,包括:
根据预设随机数字符比对算法,确定第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据更新后所述目标随机数字符和所述目标访问令牌,生成目标第二随机数字符串;
利用目标第二随机数字符串对所述验证访问令牌中的第二随机数字符串进行更新。
6.根据权利要求5所述的方法,其特征在于,所述根据更新后所述目标随机数字符和所述目标访问令牌生成目标第二随机数字符串,包括:
判断所述目标访问令牌中的第一随机数字符串中的随机数字符的数量是否小于预设阈值;
响应于所述第一随机数字符串中的随机数字符的数量小于所述预设阈值,将所述第一随机数字符串与更新后所述目标随机数字符进行拼接,得到目标第二随机数字符串;
响应于所述第一随机数字符串中的随机数字符的数量不小于所述预设阈值,从所述第一随机数字符中,丢弃目标预设数量个随机数字符;其中,所述目标预设数量个随机数字符为所述第一随机数字符串中位于最前面的预设数量个随机数字符;
将丢弃目标预设数量个随机数字符的所述第一随机数字符串与更新后的所述目标随机数字符进行拼接,得到目标第二随机数字符串。
7.一种身份验证系统,其特征在于,应用于客户端,所述系统包括:
初始访问令牌获取单元,用于响应于检测到用户向服务器发起持续访问操作,获取初始访问令牌;其中,所述初始访问令牌为所述客户端最近一次访问所述服务器时使用的访问令牌;
目标访问令牌生成单元,用于根据所述初始访问令牌和目标随机数字符生成目标访问令牌;其中,所述目标随机数字符为所述服务器根据所述客户端最近一个访问反馈的;
访问请求发送单元,用于根据所述目标访问令牌生成访问请求,并将所述访问请求发送给所述服务器,以使所述服务器根据接收到的所述访问请求携带的目标访问令牌,对所述客户端进行身份验证。
8.一种身份验证系统,其特征在于,应用于服务器,所述系统包括:
验证访问令牌获取单元,用于接收到客户端发送的访问请求时,根据所述访问请求获取所述客户端对应的验证访问令牌;其中,所述访问请求包括目标访问令牌,所述目标访问令牌包括第一随机数字符串;所述验证访问令牌为利用所述客户端最近一次访问所述服务器时使用的访问令牌和基于所述客户端最近一次访问生成的目标随机数字符生成;所述验证访问令牌包括第二随机数字符串;
确定单元,用于确定所述第一随机数字符串中不存在于所述第二随机数字符串的随机数字符的数量;
拦截单元,用于响应于所述数量大于预设数量,确定所述客户端的身份验证未通过,拦截所述访问请求,禁止所述客户端访问所述服务器;
允许访问单元,用于响应于所述数量不大于所述预设数量,确定所述客户端的身份验证通过,允许所述客户端访问所述服务器,并将更新后的所述目标随机数字符反馈给所述客户端,以便所述客户端在下一次检测到用户向服务器发起访问操作时,根据更新后的所述目标随机数字符和目标访问令牌生成新的目标访问令牌。
9.一种电子设备,其特征在于,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如权利要求1-2任一项,或者权利要求3-6任一项所述的身份验证方法。
10.一种存储介质,其特征在于,述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-2任一项,或者权利要求3-6任一项所述的身份验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464500.1A CN118074910A (zh) | 2022-11-22 | 2022-11-22 | 一种身份验证方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464500.1A CN118074910A (zh) | 2022-11-22 | 2022-11-22 | 一种身份验证方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118074910A true CN118074910A (zh) | 2024-05-24 |
Family
ID=91102674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211464500.1A Pending CN118074910A (zh) | 2022-11-22 | 2022-11-22 | 一种身份验证方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118074910A (zh) |
-
2022
- 2022-11-22 CN CN202211464500.1A patent/CN118074910A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359691B (zh) | 基于区块链的身份验证方法和系统 | |
CN106936835B (zh) | 设备接入的方法及系统 | |
CN107948204B (zh) | 一键登录方法及系统、相关设备以及计算机可读存储介质 | |
CN105939326B (zh) | 处理报文的方法及装置 | |
KR20030059824A (ko) | 통신 네트워크에서 제1 통신 가입자의 인증을 검사하는방법 및 시스템 | |
CN105763521A (zh) | 一种设备验证方法及装置 | |
CN111639327A (zh) | 一种开放平台的认证方法及装置 | |
CN108259502A (zh) | 用于获取接口访问权限的鉴定方法、服务端及存储介质 | |
CN109120616B (zh) | 一种身份认证方法、装置、代理服务端和存储介质 | |
CN110855624A (zh) | 基于web接口的安全校验方法及相关设备 | |
CN107733853B (zh) | 页面访问方法、装置、计算机和介质 | |
CN110943840B (zh) | 一种签名验证方法 | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
CN112581233A (zh) | 订单离线操作的方法、装置、设备和计算机可读存储介质 | |
KR101879843B1 (ko) | Ip 주소와 sms를 이용한 인증 방법 및 시스템 | |
CN113676452A (zh) | 基于一次性密钥的重放攻击抵御方法及系统 | |
EP2345975A1 (en) | Content delivery verification system | |
CN118074910A (zh) | 一种身份验证方法、系统、电子设备及存储介质 | |
CN116055172A (zh) | 一种设备认证方法、系统、电子设备及存储介质 | |
CN112765588B (zh) | 一种身份识别方法、装置、电子设备及存储介质 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
WO2006059852A1 (en) | Method and system for providing resources by using virtual path | |
CN109936522B (zh) | 设备认证方法及设备认证系统 | |
CN113660328B (zh) | 通信连接的建立方法及装置、存储介质及电子设备 | |
CN112104657B (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 |