身份认证方法及装置与流程

文档序号:20216785发布日期:2020-03-31 12:01阅读:193来源:国知局
身份认证方法及装置与流程

本公开涉及信息安全技术领域,尤其涉及一种身份认证方法及装置。



背景技术:

用户设备(userequipment,ue)上的大多数应用(application,app)都基于验证码来认证用户身份。其中,验证码通常是服务器通过第三方服务商向用户设备发送的。若网络环境较差或第三方服务商情况较为复杂,则可能存在如下状况:在用户设备向服务器请求验证码之后,未接收到服务器提供的验证码,用户设备再次(或多次)向服务器请求验证码。如此,服务器向用户设备发送两次(或多次)验证码,每次发送的验证码不同,且服务器发送验证码的顺序与用户设备接收验证码的顺序存在差异。如此,用户设备在短时间内收到两个(或多个)不同的验证码,导致用户体验差。并且,服务器以最后一次发送的验证码为准,对用户设备反馈的验证码进行验证。由于服务器发送验证码的顺序与用户设备接收验证码的顺序存在差异。用户也就无法获知接收到的两个(或多个)验证码中,哪一验证码是服务器最后一次发送的验证码,致使验证码的验证成功率低。



技术实现要素:

本公开提供一种身份认证方法及装置,以至少解决相关技术中验证码的验证成功率低的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种身份认证方法,所述身份认证方法包括:

接收来自用户设备的验证码请求消息;所述验证码请求消息包括所述用户设备的标识和场景信息,所述场景信息用于指示所述用户设备请求验证码的场景;

根据所述用户设备的标识和所述场景信息,获取随机种子;其中,所述随机种子被配置有有效时间,在所述随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同;

向所述用户设备发送与所述随机种子对应的验证码;

其中,在所述随机种子的有效时间内,所述随机种子对应的验证码相同。

在本公开的实施例中,随机种子被配置有有效时间,在随机种子的有效时间内,相同的用户设备的标识和相同的场景对应的随机种子相同,相同的随机种子对应的验证码也相同。如此,在一个随机种子的有效时间内,即使服务器向用户设备发送两次或多次验证码,每次验证码也相同。现有技术中,服务器以最后一次发送的验证码为准,对用户设备反馈的验证码进行验证,验证码的验证成功率低。而本公开提供的身份认证方法,在一个随机种子的有效时间内,向用户设备发送的验证码相同。如此,用户也就无需分辨验证码的传输顺序。用户设备向服务器反馈验证码之后,服务器对用户反馈的验证码进行验证时,验证码的验证成功率得到提升。

在一些实施例中,所述根据所述用户设备的标识和所述场景信息,获取随机种子,包括:根据所述用户设备的标识和所述场景信息,生成种子密钥;查询种子密钥与随机种子的对应关系,获取与所述种子密钥对应的随机种子,其中,所述种子密钥与随机种子的对应关系包括一个或多个种子密钥以及与种子密钥对应的随机种子,一个随机种子对应一个有效时间。如此,若一个随机种子(该随机种子为种子密钥对应的随机种子)在有效时间内,则相同的用户设备的标识和相同的场景信息对应的随机种子不变。

在一些实施例中,所述根据所述用户设备的标识和所述场景信息,获取随机种子,还包括:查询种子密钥与随机种子的对应关系,若未查询到与所述种子密钥对应的随机种子,则根据所述种子密钥生成随机种子。如此,若超出一个随机种子(该随机种子为种子密钥对应的随机种子)的有效时间,则服务器再次生成随机种子,即相同的用户设备的标识和相同的场景信息对应的随机种子发生变化。

在一些实施例中,所述来自用户设备的验证码请求消息为第一次收到的验证码请求消息,所述根据所述用户设备的标识和所述场景信息,获取随机种子,包括:根据所述用户设备的标识和所述场景信息,生成种子密钥;根据所述种子密钥生成所述随机种子。针对不同场景下的不同用户设备,服务器首次接收到验证码请求消息之后,服务器能够获取不同的随机种子。

在一些实施例中,所述用户设备的标识为移动用户号码;所述根据所述用户设备的标识和所述场景信息,获取随机种子,包括:若所述移动用户号码为移动用户国际号码,则根据所述移动用户国际号码和所述场景信息,获取所述随机种子。由于移动用户国际号码所标识的用户设备,所处的网络环境和第三方服务器的情况较为复杂,若根据移动用户国际号码和所述场景信息,获取所述随机种子,在随机种子不变时,验证码也就不会发生变化,即使网络环境和第三方服务器的情况较为复杂,也不会影响验证码的验证。

在一些实施例中,本公开的实施例提供的身份验证方法还包括:将所述随机种子存入所述种子密钥与随机种子的对应关系中;为所述随机种子设置有效时间。如此,在一个随机种子的有效时间内,种子密钥对应的随机种子不变。

在一些实施例中,本公开的实施例提供的身份验证方法还包括:存储与所述随机种子对应的验证码;根据所述存储的验证码,验证来自所述用户设备的验证码;若验证通过,则删除所述存储的验证码。如此,即使验证码泄露,再有用户反馈相同的验证码时,也无法验证成功,在一定程度上降低了由于“验证码泄露”所带来的安全风险,提高信息安全性能。

在一些实施例中,在存储与所述随机种子对应的验证码之后,本公开的实施例提供的身份验证方法还包括:在超过所述随机种子的有效时间后,删除所述随机种子;在超过所述随机种子的有效时间后,删除所述随机种子对应的验证码。如此,在一个时间段内,服务器向用户设备发送的验证码相同,在多个时间段的不同时间段内,服务器向用户设备发送的验证码不同。即使某一验证码泄露,非正常用户设备向服务器反馈的验证码,与服务器用于验证步骤的验证码不同,也不会验证成功。从而在一定程度上,降低了安全风险。服务器在某一时间段,存储一个验证码,存储资源占用量小,验证码验证的复杂程度和比较成本低。

根据本公开实施例的第二方面,提供一种身份认证装置,所述身份认证装置包括:接收单元、处理单元和发送单元;其中,

接收单元,被配置为接收来自用户设备的验证码请求消息;所述验证码请求消息包括所述用户设备的标识和场景信息,所述场景信息用于指示所述用户设备请求验证码的场景;

处理单元,被配置为根据所述用户设备的标识和所述场景信息,获取随机种子;其中,所述随机种子被配置有有效时间,在所述随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同;

发送单元,被配置为向所述用户设备发送与所述随机种子对应的验证码;

其中,在所述随机种子的有效时间内,所述随机种子对应的验证码相同。

在一些实施例中,所述处理单元被配置为:

根据所述用户设备的标识和所述场景信息,生成种子密钥;

查询种子密钥与随机种子的对应关系,获取与所述种子密钥对应的随机种子,其中,所述种子密钥与随机种子的对应关系包括一个或多个种子密钥以及与种子密钥对应的随机种子,一个随机种子对应一个有效时间。

在一些实施例中,所述处理单元还被配置为:

查询种子密钥与随机种子的对应关系,若未查询到与所述种子密钥对应的随机种子,则根据所述种子密钥生成随机种子。

在一些实施例中,所述来自用户设备的验证码请求消息为第一次收到的验证码请求消息,所述处理单元被配置为:

根据所述用户设备的标识和所述场景信息,生成种子密钥;

根据所述种子密钥生成所述随机种子。

在一些实施例中,所述用户设备的标识为移动用户号码;所述处理单元被配置为:

若所述移动用户号码为移动用户国际号码,则根据所述移动用户国际号码和所述场景信息,获取所述随机种子。

在一些实施例中,所述装置还包括:存储单元;所述存储单元被配置为:

将所述随机种子存入所述种子密钥与随机种子的对应关系中;

为所述随机种子设置有效时间。

在一些实施例中,所述存储单元还被配置为:存储与所述随机种子对应的验证码;

所述处理单元还被配置为:根据所述存储的验证码,验证来自所述用户设备的验证码;

所述存储单元还被配置为:若所述处理单元验证通过,则删除所述存储的验证码。

在一些实施例中,所述存储单元还被配置为:

在超过所述随机种子的有效时间后,删除所述随机种子;

在超过所述随机种子的有效时间后,删除所述随机种子对应的验证码。

根据本公开实施例的第三方面,提供一种服务器,所述服务器包括:收发器,处理器和用于存储所述处理器可执行指令的存储器;

其中,所述收发器被配置为:接收来自用户设备的验证码请求消息;所述验证码请求消息包括所述用户设备的标识和场景信息,所述场景信息用于指示所述用户设备请求验证码的场景;

所述处理器被配置为:根据所述用户设备的标识和所述场景信息,获取随机种子;其中,所述随机种子被配置有有效时间,在所述随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同;

所述收发器还被配置为:向所述用户设备发送与所述随机种子对应的验证码;

其中,在所述随机种子的有效时间内,所述随机种子对应的验证码相同。

根据本公开实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现:

接收来自用户设备的验证码请求消息;所述验证码请求消息包括所述用户设备的标识和场景信息,所述场景信息用于指示所述用户设备请求验证码的场景;

根据所述用户设备的标识和所述场景信息,获取随机种子;其中,所述随机种子被配置有有效时间,在所述随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同;

向所述用户设备发送与所述随机种子对应的验证码;

其中,在所述随机种子的有效时间内,所述随机种子对应的验证码相同。

根据本公开实施例的第五方面,提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行:

接收来自用户设备的验证码请求消息;所述验证码请求消息包括所述用户设备的标识和场景信息,所述场景信息用于指示所述用户设备请求验证码的场景;

根据所述用户设备的标识和所述场景信息,获取随机种子;其中,所述随机种子被配置有有效时间,在所述随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同;

向所述用户设备发送与所述随机种子对应的验证码;

其中,在所述随机种子的有效时间内,所述随机种子对应的验证码相同。

上述提供的任一种装置或计算机可读存储介质或计算机程序产品用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种实施环境的示意图。

图2是根据一示例性实施例示出的一种身份认证方法的流程图。

图3是根据另一示例性实施例示出的一种身份认证方法的流程图。

图4(a)是根据一示例性实施例示出的一种随机种子的存储位置示意图。

图4(b)是根据一示例性实施例示出的一个用户设备的随机种子的存储示意图。

图4(c)是根据一示例性实施例示出的另一个用户设备的随机种子的存储示意图。

图5是根据再一示例性实施例示出的一种身份认证方法的流程图。

图6是根据又一示例性实施例示出的一种身份认证方法的流程图。

图7是根据相关技术中的实施例示出的一种用户设备显示界面的实例示意图。

图8是根据又一示例性实施例示出的一种用户设备显示界面的实例示意图。

图9是根据一示例性实施例示出的一种身份认证装置的框图。

图10是根据另一示例性实施例示出的一种身份认证装置的框图。

图11是根据一示例性实施例示出的一种用户设备的结构框图。

图12是根据一示例性实施例示出的一种服务器的结构框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在对本公开提供的身份认证方法进行详细介绍之前,先对本公开涉及的应用场景和实施环境进行简单介绍。

首先,对本公开涉及的应用场景进行简单介绍。

目前,用户设备(userequipment,ue)上的大多数应用(application,app)都基于验证码来认证用户身份。其中,验证码通常是服务器通过第三方服务商向用户设备发送的。示例性的,针对某一场景(如登录、注册等),用户设备向服务器发送验证码请求消息。相应的,服务器接收来自用户设备的验证码请求消息,之后,服务器生成验证码,再通过第三方服务商,以短信的形式向用户设备发送随机数字验证码。

若网络环境较差或第三方服务商情况较为复杂,则可能存在如下状况:服务器向用户设备发送两次或多次验证码,每次发送的验证码不同,且服务器发送验证码的顺序与用户设备接收验证码的顺序存在差异。如此,用户设备在短时间内收到两个或多个不同的验证码,导致用户体验差。

在相关技术中,服务器以最后一次发送的验证码为准,对用户设备反馈的验证码进行验证。由于服务器发送验证码的顺序与用户设备接收验证码的顺序存在差异。用户也就无法获知接收到的两个或多个验证码中,哪一验证码是服务器最后一次发送的验证码。如此,用户设备向服务器反馈验证码之后,服务器对用户反馈的验证码进行验证时,验证码的验证成功率低。

为此,本公开提供了一种身份认证方法,该方法可以在某一时间段内,向用户设备发送相同的验证码。例如,在一个随时种子的有效时间段内,该随机种子所对应的验证码相同。如此,即使服务器向用户设备发送两次或多次验证码,每次验证码也相同。用户也就无需分辨验证码的发送顺序。如此,用户设备向服务器反馈验证码之后,服务器对用户反馈的验证码进行验证时,验证码的验证成功率得到提升。其具体实现请参见如图2所示实施例。

接下来,对本公开涉及的实施环境进行简单介绍。

请参考图1,该图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境中可以包括用户设备110和服务器120,该用户设备110可以通过无线网络或有线网络与该服务器120之间建立连接。

其中,该用户设备110为用户使用的设备,其安装有各种应用。在验证码验证成功之后,即表示身份认证通过。用户设备可以运行上述各种应用,以浏览视频、图片等,或执行其他处理操作。在一些实施例中,该用户设备110可以为手机、平板电脑、笔记本电脑、台式计算机、便携式计算机等,本公开对此不做限定。

其中,该服务器120主要用于实现本公开提供的身份认证方法,进一步地,该服务器120用于验证用户设备反馈的验证码。在一些实施例中,该服务器120可以为一台服务器,或者,也可以为由多台服务器组成的服务器集群,本公开对此不做限定。

在介绍完本公开涉及的应用场景和实施环境后,接下来将结合附图对本公开提供的身份认证方法进行详细介绍。

请参考图2,图2是根据一示例性实施例示出的一种身份认证方法的流程图,如图1所示,身份认证方法用于服务器中,该身份认证方法包括以下步骤。

在步骤s11中,用户设备向服务器发送验证码请求消息。相应的,服务器接收来自用户设备的验证码请求消息。

其中,验证码请求消息用于请求验证码。验证码请求消息包括用户设备的标识和场景信息。其中,场景信息用于指示用户设备请求验证码的场景。场景信息可以为场景标识。用户设备请求验证码的场景不同,对应的场景标识也不一样。例如,用户设备请求验证码的场景可以例如但不限于注册、登录或支付。以场景标识具体实施为固定位数的字符串为例,“注册”这一场景所对应的场景标识为“zc”,“登录”这一场景所对应的场景标识为“dl”,“支付”这一场景所对应的场景标识为“zf”。用户设备的标识用于唯一标识用户设备,例如,用户设备的标识可以是移动用户号码。

可选的,考虑到网络环境或第三方服务商对验证码传输的影响,在移动用户号码为移动用户国内号码的情况下,若网络环境良好,则服务器采用相关技术中的身份认证方法,为用户设备提供验证码,验证来自用户设备的验证码,以实现身份认证。若网络环境较差,则服务器执行步骤s12至步骤s14,来为用户设备提供验证码,验证来自用户设备的验证码,以实现身份认证。在移动用户号码为移动用户国际号码的情况下,服务器执行步骤s12至步骤s14。

在步骤s12中,服务器根据用户设备的标识和场景信息,获取随机种子。

其中,随机种子(seed)被配置有有效时间,在随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同。示例性的,随机种子可以是16位随机字符串,如4mcdrl5h1x8del2d。

作为一种可能的实现方式,针对同一场景下的单个用户设备而言,服务器接收到的验证码请求消息的次数不同,服务器确定获取随机种子的实现方式也存在差异。其具体说明如下:

若来自用户设备的验证码请求消息为第一次收到的验证码请求消息。也就是说,针对某一场景下的单个用户设备,对于服务器而言,服务器第一次接收来自该用户设备的验证码请求消息。参见图3,步骤s12可以具体实施为如下步骤s121和步骤s122:

步骤s121、服务器根据用户设备的标识和场景信息,生成种子密钥。

例如,由移动用户号码和用户设备请求验证码的场景的标识构成二元组<移动用户号码,场景的标识>,该二元组即为种子密钥(seedkey)。

步骤s122、服务器根据种子密钥生成随机种子。

例如,采用randomutils.randomalphanumeric(16),对种子密钥1(二元组<移动用户号码1,场景1的标识>)进行处理,得到一个16位随机字符串,如4mcdrl5h1x8del2d。

如此,在服务器首次接收到来自用户设备的验证码请求消息时,服务器即可根据用户设备的标识和场景信息,确定相应的随机种子。若用户设备不同,或同一用户设备所请求验证码的场景不同,服务器所确定的随机种子也不一样。例如,基于种子密钥2(二元组为<移动用户号码2,场景1的标识>),得到16位随机字符串“dk4fml5h1x88mafd”,基于种子密钥3(二元组为<移动用户号码1,场景2的标识>),得到16位随机字符串“ml4f1x8dk5hm8afd”,基于种子密钥4(二元组为<移动用户号码2,场景2的标识>),得到16位随机字符串“af4f1wq9k4lm8afd”。如此,针对不同场景下的不同用户设备,服务器首次接收到验证码请求消息之后,服务器能够获取不同的随机种子。

进一步地,在步骤s122之后,本公开的实施例提供的身份验证方法还包括步骤s123和步骤s124:

步骤s123、服务器将随机种子存入“种子密钥与随机种子的对应关系”中。

其中,“种子密钥与随机种子的对应关系”包括一个或多个种子密钥以及与种子密钥对应的随机种子。一个随机种子对应一个有效时间。

其中,“种子密钥与随机种子的对应关系”具体实施为:一个种子密钥对应一个预设地址。基于该种子密钥所生成的随机种子,存储在该预设地址对应的存储区,具体如图4(a)所示。在图4(a)中,以“种子密钥1”为例,“种子密钥1”所对应的预设地址为“0000”,若“种子密钥1所对应的随机种子”存在且有效,则存储在“0000”这一预设地址对应的存储区;若“种子密钥1所对应的随机种子”不存在或失效,则“0000”这一预设地址对应的存储区为空。参见图4(a),“种子密钥2”所对应的预设地址为“0001”,在“0001”这一预设地址对应的存储区存储“种子密钥2所对应的随机种子”;“种子密钥3”所对应的预设地址为“0010”,在“0010”这一预设地址对应的存储区存储“种子密钥3所对应的随机种子”;“种子密钥4”所对应的预设地址为“0011”,在“0011”这一预设地址对应的存储区存储“种子密钥4所对应的随机种子”。

步骤s124、服务器为随机种子设置有效时间。

其中,“服务器为随机种子设置有效时间”可以具体实施为:服务器设置存储随机种子的时间。例如,在一个随机种子的有效时间内,服务器存储该随机种子,表示该随机种子有效。若超出一个随机种子的有效时间,则服务器删除该随机种子,表示该随机种子失效。

若来自用户设备的验证码请求消息为第二次或更多次收到的验证码请求消息。也就是说,针对某一场景下的单个用户设备,对于服务器而言,服务器非首次接收来自该用户设备的验证码请求消息。参见图5,步骤s12可以具体实施为步骤s121和步骤s125:

步骤s121、服务器根据用户设备的标识和场景信息,生成种子密钥。

步骤s125、服务器查询种子密钥与随机种子的对应关系:

若查询到与种子密钥对应的随机种子,即随机种子在有效时间内,该种子密钥对应的预设地址所指示的存储区上,已存储该种子密钥对应的随机种子,则可获取与种子密钥对应的随机种子。例如,以种子密钥1为例,服务器根据种子密钥1,查询种子密钥1对应的预设地址“0000”,在“0000”这一预设地址对应的存储区存储了“4mcdrl5h1x8del2d”这一随机种子,则服务器获取到与种子密钥1对应的随机种子。再以种子密钥2为例,服务器根据种子密钥2,查询种子密钥2对应的预设地址“0001”,在“0001”这一预设地址对应的存储区存储了“dk4fml5h1x88mafd”这一随机种子,则服务器获取到与种子密钥2对应的随机种子。也就是说,对于同一场景下,针对同一用户设备而言,服务器所确定的种子密钥不会发生变化,若该种子密钥对应的随机种子有效,则服务器即可获取到种子密钥对应的随机种子。即相同的用户设备的标识和相同的场景信息所对应的随机种子相同。若未查询到与所述种子密钥对应的随机种子,即超出了随机种子的有效时间,该种子密钥对应的预设地址所指示的存储区为空,例如,服务器根据种子密钥1,查询种子密钥1对应的预设地址“0000”,在“0000”这一预设地址对应的存储区为空,则服务器执行步骤s122,或执行步骤s122至步骤s124。

如此,针对某一场景下的单个用户设备,对于服务器而言,服务器非首次接收来自该用户设备的验证码请求消息。在此情况下,若在“步骤s122所生成的随机种子”的有效时间内,则相同的用户设备的标识和相同的场景信息对应的随机种子不变。若超出“步骤s122所生成的随机种子”的有效时间,则服务器再次生成随机种子,即相同的用户设备的标识和相同的场景信息对应的随机种子发生变化。例如,在登录场景下,一个用户设备的标识为移动用户号码1,参见图4(b),在10:00,服务器基于登录场景的标识和移动用户号码1所确定的随机种子为“4mcdrl5h1x8del2d”,该随机种子的有效时间为1分钟。若在10:00至10:01这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为登录场景,则服务器确定移动用户号码1和登录场景对应的随机种子不变,仍为“4mcdrl5h1x8del2d”这一随机种子。在10:01至10:02这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为登录场景,则服务器确定移动用户号码1和登录场景对应的随机种子发生变化,不再为“4mcdrl5h1x8del2d”这一随机种子,而是“7823lh1drl5e2xd8”这一随机种子。在支付场景下,在15:00,服务器基于支付场景的标识和移动用户号码1所确定的随机种子为“kexrtrl18de5hl2m”,该随机种子的有效时间为1分钟。若在15:00至15:01这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为支付场景,则服务器确定移动用户号码1和支付场景对应的随机种子不变,仍为“kexrtrl18de5hl2m”这一随机种子。在15:01至15:02这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为支付场景,则服务器确定移动用户号码1和支付场景对应的随机种子发生变化,不再为“kexrtrl18de5hl2m”这一随机种子,而是“mlh13exd8r5e23l2”这一随机种子。

又例如,在登录场景下,一个用户设备的标识为移动用户号码2,参见图4(c),在10:00,服务器基于登录场景的标识和移动用户号码2所确定的随机种子为“x8drxetru2d5h1ml”,该随机种子的有效时间为1分钟。若在10:00至10:01这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为登录场景,则服务器确定移动用户号码2和登录场景对应的随机种子不变,仍为“x8drxetru2d5h1ml”这一随机种子。在10:01至10:02这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为登录场景,则服务器确定移动用户号码2和登录场景对应的随机种子发生变化,不再为“x8drxetru2d5h1ml”这一随机种子,而是“3lqrxe1l5he82drd”这一随机种子。在支付场景下,在15:00,服务器基于支付场景的标识和移动用户号码2所确定的随机种子为“xracx15trhl8detr”,该随机种子的有效时间为1分钟。若在15:00至15:01这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为支付场景,则服务器确定移动用户号码2和支付场景对应的随机种子不变,仍为“xracx15trhl8detr”这一随机种子。在15:01至15:02这一时间段,服务器再次接收来自该用户设备的验证码请求消息,且验证码请求消息所请求验证码的场景为支付场景,则服务器确定移动用户号码2和支付场景对应的随机种子发生变化,不再为“xracx15trhl8detr”这一随机种子,而是“3dr5m8lh1ex3l22e”这一随机种子。需要说明的是,若来自用户设备的验证码请求消息为第一次收到的验证码请求消息。步骤s12也可以具体实施为步骤s121和步骤s125。也就是说,针对同一场景下的单个用户设备,服务器无需区分接收验证码请求消息的次数,而是根据步骤s125的查询结果,确定是否执行步骤s122。

在步骤s13中,向用户设备发送与随机种子对应的验证码。

其中,在随机种子的有效时间内,该随机种子所对应的验证码相同。如此,向用户设备发送的验证码也就不发生变化。例如,若“4mcdrl5h1x8del2d”这一随机种子有效,以短信形式,向用户设备两次或多次发送的验证码均为383582。若“dk4fml5h1x88mafd”这一随机种子有效,以短信形式,向用户设备两次或多次发送的验证码均为080046。

在一些实施例中,不同随机种子所对应的验证码不同。例如,在第一随机种子的有效时间段内,与第一随机种子对应的验证码为第一验证码,向用户设备发送的验证码为第一验证码。在第二随机种子的有效时间段内,与第二随机种子对应的验证码为第二验证码,向用户设备发送的验证码为第二验证码。

这里,若采用同一随机种子,来确定验证码,则在某一时间段内向用户设备发送的验证码相同。若采用不同的随机种子,来确定验证码,则在不同的时间段内向用户设备发送的验证码不同。

参见图6,在步骤s14中,服务器存储与随机种子对应的验证码。

在步骤s15中,服务器根据存储的验证码,验证来自用户设备的验证码。

在一些实施例中,用户设备向服务器反馈验证码。相应的,服务器获取用户设备反馈的验证码。之后,将用户反馈的验证码与存储的验证码进行对比:若用户反馈的验证码与存储的验证码相同,则验证成功;若用户反馈的验证码与存储的验证码不同,则验证失败。

示例性的,参见图7,在图7的(a)中,在三个时刻点(即10:00、10:01和10:02)用户设备接收到的验证码相同。在图7的(b)中,用户将接收到的验证码,即63458,输入选项框中。其中,选项框以标识有“请输入验证码”的椭圆表示。针对同一场景下的单个用户设备,服务器以最新发送的验证码为准,来验证用户反馈的验证码。在某一段时间内,服务器为用户设备提供的验证码相同,与验证码的传输顺序无关。也就是说,服务器用于验证用户设备反馈的验证码,与用户反馈的验证码一致,即验证码验证成功。用户设备显示的用户界面如图7的(c)所示。

而相关技术中,示例性的,参见图8,在图8的(a)中,在三个时刻点(即10:00、10:01和10:02)用户设备分别接收到一个验证码,且不同时刻点,用户设备接收到的验证码不同。在图8的(b)中,用户将最后一个时刻点接收到的验证码,即63458,输入选项框中。其中,选项框在图8的(b)中以椭圆形示出。由于服务器发送验证码的顺序与用户设备接收验证码的顺序存在差异,且服务器以最新发送的验证码为准,来验证用户反馈的验证码。若服务器最新发送的验证码并不是“83488”这一验证码,则验证码验证失败。用户设备显示的用户界面如图8的(c)所示。

在一些实施例中,若验证码验证成功,则删除上述存储的验证码。如此,即使验证码泄露,再有用户反馈相同的验证码时,也无法验证成功,在一定程度上降低了由于“验证码泄露”所带来的安全风险,提高信息安全性能。

在一些实施例中,若超出随机种子的有效时间,则删除该随机种子。如此,针对同一场景下的单个用户设备而言,随机种子也会发生变化,进而,与随机种子对应的验证码也会发生变化。也就是说,在一个时间段内,服务器向用户设备发送的验证码相同,在多个时间段的不同时间段内,服务器向用户设备发送的验证码不同。即使某一验证码泄露,非正常用户设备向服务器反馈的验证码,与服务器用于验证步骤的验证码不同,也不会验证成功。从而在一定程度上,降低了安全风险。

在一些实施例中,若超出随机种子的有效时间,则删除该随机种子对应的验证码。如此,针对同一场景下的单个用户设备,服务器在某一时间段,存储一个验证码,以对来自用户设备的验证码进行验证。现有技术中,服务器向用户设备发送两个或多个不同的验证码,且存储上述两个或多个不同的验证码,以验证来自用户设备的验证码。而本公开提供的身份认证方法中,服务器在某一时间段,存储一个验证码,存储资源占用量小。在对来自用户设备的验证码进行验证时,与存储的一个验证码对比即可,无需与两个或多个不同的验证码一一对比,降低了验证码验证的复杂程度和比较成本。

在本公开的实施例中,随机种子被配置有有效时间,在随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同。相同的随机种子对应的验证码也相同。如此,在一个随机种子的有效时间内,即使服务器向用户设备发送两次或多次验证码,每次验证码也相同。现有技术中,服务器以最后一次发送的验证码为准,对用户设备反馈的验证码进行验证,验证码的验证成功率低。而本公开提供的身份认证方法,在一个随机种子的有效时间内,向用户设备发送的验证码相同。如此,用户也就无需分辨验证码的发送顺序。用户设备向服务器反馈验证码之后,服务器对用户反馈的验证码进行验证时,验证码的验证成功率得到提升。

图9是根据一示例性实施例示出的一种身份认证装置框图。参照图9,该身份认证装置包括接收单元121,处理单元122和发送单元123。其中,

接收单元121,被配置为接收来自用户设备的验证码请求消息;验证码请求消息包括用户设备的标识和场景信息,场景信息用于指示用户设备请求验证码的场景;

处理单元122,被配置为根据用户设备的标识和场景信息,获取随机种子;其中,随机种子被配置有有效时间,在随机种子的有效时间内,相同的用户设备的标识和相同的场景对应的随机种子相同;

发送单元123,被配置为向用户设备发送与随机种子对应的验证码;

其中,在随机种子的有效时间内,随机种子对应的验证码相同。

在一些实施例中,处理单元122被配置为:

根据用户设备的标识和场景信息,生成种子密钥;

查询种子密钥与随机种子的对应关系,获取与种子密钥对应的随机种子,其中,种子密钥与随机种子的对应关系包括一个或多个种子密钥以及与种子密钥对应的随机种子,一个随机种子对应一个有效时间。

在一些实施例中,处理单元122还被配置为:

查询种子密钥与随机种子的对应关系,若未查询到与种子密钥对应的随机种子,则根据种子密钥生成随机种子。

在一些实施例中,来自用户设备的验证码请求消息为第一次收到的验证码请求消息,处理单元122被配置为:

根据用户设备的标识和场景信息,生成种子密钥;

根据种子密钥生成随机种子。

在一些实施例中,用户设备的标识为移动用户号码;处理单元122被配置为:

若移动用户号码为移动用户国际号码,则根据移动用户国际号码和场景信息,获取随机种子。

在一些实施例中,参见图10,身份认证装置还包括:存储单元124;存储单元124被配置为:将随机种子存入种子密钥与随机种子的对应关系中;为随机种子设置有效时间。

在一些实施例中,存储单元124还被配置为:存储与随机种子对应的验证码;

处理单元122还被配置为:根据存储的验证码,验证来自用户设备的验证码;

存储单元124还被配置为:若处理单元122验证通过,则删除存储的验证码。

在一些实施例中,存储单元124还被配置为:在超过随机种子的有效时间后,删除随机种子;在超过随机种子的有效时间后,删除随机种子对应的验证码。

在本公开的实施例中,随机种子被配置有有效时间,在随机种子的有效时间内,相同的用户设备的标识和相同的场景信息对应的随机种子相同。相同的随机种子对应的也验证码相同。如此,在一个随机种子的有效时间内,即使身份认证装置向用户设备发送两次或多次验证码,每次验证码也相同。现有技术中,服务器以最后一次发送的验证码为准,对用户设备反馈的验证码进行验证,验证码的验证成功率低。而本公开提供的身份认证方法,在一个随机种子的有效时间内,向用户设备发送的验证码相同。如此,用户也就无需分辨验证码的发送顺序。用户设备向身份认证装置反馈验证码之后,身份认证装置对用户反馈的验证码进行验证时,验证码的验证成功率得到提升。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图11是本公开提供的一种用户设备1100的结构框图。通常,用户设备1100包括有:处理器1102、收发器1103、存储器1101。

其中,收发器1103可以为独立设置的发送器,该发送器可用于向其他设备发送信息,该收发器也可以为独立设置的接收器,用于从其他设备接收信息。该收发器也可以是将发送、接收信息功能集成在一起的部件,本公开对收发器的具体实现不做限制。

可选的,用户设备1100还可以包括总线1104。其中,收发器1103、处理器1102以及存储器1101可以通过总线1104相互连接;总线1104可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1101,上述指令可由用户设备1100的处理器1102执行以完成上述身份认证方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图12是本公开提供的一种服务器1200的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunit,cpu)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条指令,所述至少一条指令由所述处理器1201加载并执行以实现上述各个方法实施例提供的身份认证方法。

当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。

本公开还提供了一种包括指令的存储介质,例如包括指令的存储器1202,上述指令可由服务器1200的处理器1201执行以完成上述身份认证方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本公开还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机设备执行上述所示实施例提供的身份认证方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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