一种身份验证方法及装置,电子设备
技术领域
本申请涉及身份验证领域,特别是涉及一种身份验证方法及装置,电子设备。
背景技术
为了保障用户信息安全,现有技术中,当用户在一些网站或者应用程序上注册时,网站或应用程序会要求用户设置用户名和密码,并且同时要求用户设置手机号或者邮箱,便于进行身份验证或密码找回。当用户登录注册获得网站或应用程序时,输入注册的用户名和密码,如果用户输入的应户名和密码与服务器端保存的用户名和密码匹配,则身份验证成功,完成用户登录。之后,用户可以获得该用户名对应的用户相关信息和权限。由于现有技术中的验证方法中密码长度有限,容易被破解,导致身份验证安全性低。同时,由于现有技术中的验证方法中验证逻辑不严密,导致验证方法存在账号信息泄露的隐患。例如,用户通常会在不同设备上某一登录网站或应用程序,当某个设备中的恶意软件盗取了用户的登录密码,然后在其他设备登录该用户的账户,用户账户的信息安全将受到威胁。
综上所述,现有技术中的身份验证方法的安全性仍有待提高。
发明内容
本申请实施例提供一种身份验证方法,解决现有技术中的身份验证方法安全性较低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种身份验证方法,包括:
根据用户的身份验证操作,获取待验证的用户标识和密码;
获取附加密码;
将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
第二方面,本申请实施例提供了一种身份验证装置,包括:
第一验证信息获取模块,用于根据用户的身份验证操作,获取待验证的用户标识和密码;
第二验证信息获取模块,用于获取附加密码;
验证信息发送模块,用于将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
第三方面,本申请实施例还提供了一种身份验证方法,包括:
根据接收到的用户注册请求,获取与所述用户注册请求中携带的用户标识匹配的附加密码,并在服务器本地和所述客户端同时存储所述附加密码;
根据接收到的身份验证请求,进行身份验证,其中,所述身份验证请求包括待验证用户标识和密码,及附加密码。
第四方面,本申请实施例提供了一种身份验证装置,包括:
第一附加密码获取模块,用于根据接收到的用户注册请求,获取与所述用户注册请求中携带的用户标识匹配的附加密码,并在服务器本地和所述客户端同时存储所述附加密码;
验证模块,用于根据接收到的身份验证请求,进行身份验证;
其中,所述身份验证请求包括待验证用户标识和密码,及附加密码。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的身份验证方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所述的身份验证方法的步骤。
本申请实施例公开的身份验证方法,通过根据用户的身份验证操作,获取待验证的用户标识和密码,并获取附加密码,然后将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过结合附加密码对用户进行身份验证,有效提高了用户身份验证的安全性,可以有效避免注册密码被盗导致的用户账户信息泄露。当用户的密码被盗后,盗用者通过其他客户端进行身份验证时,由于无法获取附加密码,因此即使盗取了用户名和密码,也无法完成身份验证,无法成功登录用户账户,获取用户的账户信息。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的身份验证方法的流程图;
图2是本申请实施例二的身份验证方法的流程图;
图3是本申请实施例三的身份验证方法的流程图;
图4是本申请实施例四的身份验证方法的流程图;
图5是本申请实施例五的身份验证方法的流程图;
图6是本申请实施例六的身份验证方法的流程图;
图7是本申请实施例七的身份验证装置结构示意图之一;
图8是本申请实施例七的身份验证装置结构示意图之二;
图9是本申请实施例八的身份验证装置结构示意图之一;
图10是本申请实施例八的身份验证装置结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请公开的一种身份验证方法,如图1所示,该方法包括:步骤100至步骤120。
步骤100,根据用户的身份验证操作,获取待验证的用户标识和密码。
当用户登录某个网站或者应用程序,并需要获取用户相关的信息时,通常需要通过网站页面或应用程序页面设置的用户登录入口输入标识和待验证密码进行身份验证,在身份验证通过后,才允许访问用户账户中的个人信息。具体实施时,当用户输入用户标识和密码之后,触发身份验证按钮时,可以通过调用网站页面或应用程序页面的接口获取用户输入的用户标识和待验证密码,以便发送至服务器进行身份验证。具体实施时,所述用户标识可以为用户名。
步骤110,获取附加密码。
具体实施时,如果用户在已经登录过的设备或者注册设备上通过客户端进行登录,通常客户端会存储附加密码,可以直接读取客户端本地存储的附加密码,即读取执行所述身份验证操作的客户端预先存储的附加密码。
如果用户更换设备或者设备上存储的附加密码由于管理不善而丢失了,如进行数据清理时删除了,客户端可以通过设置在界面上的生成附加密码的入口,向服务器发起生成附加密码的请求,以获取附加密码。然后,获取用户在进行身份验证操作的客户端输入的附加密码。具体实施时,用户可以首先在已经登录过的设备或者注册设备上登录,然后通过客户端预设的获取附加密码的入口向服务器发起生成附加密码的请求,由服务器将于登录用户匹配的附加密码发送至发起请求的已登录客户端进行展示。然后,由用户手动将所述附加密码输入至待登录的客户端。或者,用户通过待登录客户端,即没有存储附加密码的客户端,在至少输入用户标识的情况下,通过预先设置的生成附加密码的入口,如生成附加密码按钮,向服务器发起生成附加密码的请求,以获取附加密码。由服务器通过所述输入的用户标识注册信息接收方式发送所述输入的用户标识匹配的附加密码。然后,由用户手动将接收到的信息中的附加密码输入至待登录的客户端。
具体实施时,所述附加密码可以由客户端生成,也可以由进行身份验证的服务器端生成。所述附加密码在客户端和进行身份验证的服务器端同时存储。
步骤120,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
获取到待验证用户标识、待验证密码和附加密码之后,进一步将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。具体实施时,可以将所述待验证用户标识、待验证密码和所述附加密码同时发送至进行身份验证的服务器,由所述服务器基于所述用户标识和预先存储的用户信息对所述待验证密码和所述附加密码分别进行验证,并且,当所述待验证密码和所述附加密码全部验证通过时,才确认用户身份验证成功。
或者,通过所述附加密码对所述待验证密码进行加密,然后把加密后的所述待验证密码和所述待验证用户标识发送至进行身份验证的服务器,由所述服务器首先获取预先存储的所述用户标识匹配的附加密码,基于预先存储的与所述用户标识匹配的附加密码对所述加密后的待验证密码进行解密,并对解密后得到的待验证密码进行验证,当解密后得到的待验证密码验证通过时,才确认用户身份验证成功。如果加密时使用的附加密码与服务器获取的预先存储的与所述用户标识匹配的附加密码不一致,解密后得到的待验证密码不是用户输入的待验证密码,即使用户输入的是待验证密码是注册密码,也会验证失败。
本申请实施例公开的身份验证方法,通过根据用户的身份验证操作,获取待验证的用户标识和密码,并获取附加密码,然后,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过结合附加密码对用户进行身份验证,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。当用户的密码被盗后,盗用者通过其他客户端进行身份验证时,由于无法获取附加密码,因此即使盗取了用户名和密码,也无法完成身份验证,无法成功登录用户账户,获取用户的账户信息。
实施例二
本申请另一实施例公开的一种身份验证方法,如图2所示,该方法包括:步骤200至步骤240。
步骤200,根据用户的注册操作,发送用户注册请求,以获取所述用户的附加密码。
网站或应用程序的页面通常设置有用户注册入口,用于进行用户注册,以便于用户可以通过网站或应用程序管理个人信息,和使用网站或应用程序提供的更丰富的功能。用户注册,通常需要输入用户标识和注册密码,用户标识作为该用户在网站或应用内的唯一标识,以区分不同用户;注册密码则作为该用户标识的身份验证信息,用于由服务器对通过客户端进行登陆的用户进行身份验证。通常,用户标识和注册密码存储在用于身份验证的服务器端。当用户输入用户标识和注册密码后,触发用户注册按钮时,可以通过调用网站页面或应用程序页面的接口获取用户输入的用户标识和注册密码,并生成用户注册请求,然后将所述用户注册请求发送至网站或应用程序的服务器进行用户注册。通常,所述用户注册请求中至少包括:用户标识、注册密码。所述用户标识通常为用户名。
所述附加密码在用户注册时由客户端或服务器生成。所述注册信息包含在用户注册请求中,至少包括:用户标识。具体实施时,所述附加密码可以由客户端生成,也可以由服务器端生成,并在客户端和服务器端同时存储。所述附加密码根据用户的注册信息生成,包括:根据用户标识,生成与所述用户标识匹配的随机密码,作为附加密码;或者,根据所述用户标识和注册操作所在客户端的设备标识,生成与所述用户标识匹配的附加密码。以附加密码在服务器端生成为例,生成所述附加密码至少包括以下两种方法。
第一种,根据客户端发送的用户注册请求中包含的用户标识,由服务器生成与所述用户标识匹配的随机密码,作为附加密码。例如,根据所述用户标识按照预设算法,如使用rand()函数,生成一个随机密码,作为附加密码。当网站或应用程序的服务器接收到客户端发送的用户注册请求之后,根据所述用户注册请求中的用户标识,为用户生成匹配的附加密码,并在服务器本地存储所述用户标识、注册密码和附加密码的对应关系。
第二种,根据客户端发送的所述用户注册请求中包含的用户标识和所述客户端的设备标识,生成与所述用户标识匹配的附加密码。例如,根据所述用户标识和所述设备标识,按照预设算法,如将所述设备标识作为附加密码或将所述设备标识与所述用户标识按照由前向后按位异或的方法,生成与所述用户标识匹配的附加密码,并在服务器本地存储所述用户标识、注册密码和附加密码的对应关系。其中,所述设备标识可以为:设备IP地址、设备序列号等。
在客户端生成附加密码的具体方法参见在服务器端生成附加密码的具体方法,此处不再赘述。客户端生成附加密码后,将用户标识、注册密码、附加密码通过用户注册请求或生成附加密码请求发送至服务器端进行存储。并同时在本地存储所述附加密码。
为了便于用户在密码丢失或者执行安全级别较高的操作时,对用户进行真实性验证,现有网站或应用程序通常还要求用户预先设置接收信息(如验证码、附加密码)的方式验证码的方式,以对用户进行身份真实性验证。所述预先设置的接收信息的方式包括但不限于以下任意一项:通过邮件接收信息、通过手机短信接收信息、通过电话接收信息、通过即时通信消息接收信息等。
步骤210,在执行所述注册操作的客户端存储获取的所述附加密码。
客户端生成附加密码后,将用户标识、注册密码、附加密码通过用户注册请求或生成附加密码请求发送至服务器端进行存储,并同时在本地存储所述附加密码。服务器端生成附加密码后,会响应用户注册请求,将生成的附加密码发送至客户端进行存储。
步骤220,根据用户的身份验证操作,获取待验证的用户标识和密码。
根据用户的身份验证操作,获取待验证的用户标识和密码的具体实施方式参见实施例一,此处不再赘述。
步骤230,读取执行所述身份验证操作的客户端预先存储的附加密码。
当用户在注册设备上通过客户端登录时,在客户端的登录入口输入用户标识和待验证密码之后,触发登录按钮,客户端会读取本地存储的附加密码,并根据所述待验证用户标识和密码,以及所述附加密码生成身份验证请求发送至服务器,由服务器进行身份验证。
具体实施时,所述预先存储的附加密码通过以下任意一种方式获得:用户注册时由客户端或服务器生成;用户通过验证码验证后,从服务器端下载;用户通过非注册设备上首次登录时,通过已登录客户端获取或通过预先注册的信息接收方式接收。
步骤240,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,包括:通过所述附加密码对所述待验证密码进行加密融合,把融合后的密码和所述用户标识发送至服务器,由所述服务器基于融合后的密码和所述用户标识进行身份验证;或者,将所述待验证用户标识和密码,及所述附加密码同时发送至服务器,由所述服务器基于接收到的所述待验证用户标识和密码,及所述附加密码进行身份验证。
具体实施时,客户端可以通过以下两种形式发送用于进行身份验证的待验证用户标识ID和密码PW2,以及附加密码PW1。第一种,通过所述附加密码PW1对所述待验证密码PW2进行加密融合,得到密码PW3,把融合后的密码PW3和所述用户标识ID发送至服务器用于进行身份验证。第二种,把所述待验证用户标识PW1和密码PW2和所述附加密码PW1同时发送到服务器,用于进行身份验证。
相应的,服务器通过两种方式进行身份验证。
例如,如果服务器接收到融合后的密码PW3,则服务器首先根据与所述融合密码同时发送的用户身份标识ID获取本地存储的与所述身份标识对应的附加密码PW1’,并利用所述附加密码PW1’对接收到的所述融合后的密码PW3进行解密,获取解密后的待验证密码PW2’,并进一步将解密后得到的待验证密码PW2’与所述服务器端本地存储的与所述用户标识匹配的注册密码PW进行比对。若比对成功,则身份验证通过,否则,身份验证失败。
具体实施时,该用户标识对应的附加密码可能不止一个,对融合后的密码进行解密时,通过每个附加密码分别对所述融合后的密码进行解密,得到相应数量的待验证密码,并将所述相应数量的待验证密码与所述服务器端本地存储的与所述用户标识匹配的注册密码逐一进行比对,只要有一个比对成功,则身份验证通过。
再例如,如果服务器接收到同时发送的待验证用户标识ID和密码PW2和附加密码PW1,则服务器首先根据所述用户身份标识ID获取本地存储的与所述身份标识ID对应的注册密码PW和附加密码PW1’,并将接收到的所述附加密码PW1与本地存储附加密码PW1’进行比对,以及,将接收到的所述待验证密码PW2与本地存储注册密码PW进行比对,只有两者均匹配成功时,才确定身份验证成功。否则,只要有一组密码匹配失败,则认为身份验证失败。同样的,当服务器端存在与所述用户标识匹配的多个附加密码时,需要将接收到的附加密码与所述服务器端存储的与所述用户标识匹配的多个附加密码逐一进行比对,只要有一个比对成功,则认为附加密码匹配成功。
本申请实施例公开的身份验证方法,通过在客户端预先存储附加密码,当用户执行身份认证操作时,获取用户输入的待验证的用户标识和密码,并读取客户端本地存储的附加密码,然后,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过结合附加密码对用户进行身份验证,并且,将附加密码存储在客户端,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。当用户的密码被盗后,盗用者通过其他客户端进行身份验证时,由于无法获取附加密码,因此即使盗取了用户名和密码,也无法完成身份验证,无法成功登录用户账户,获取用户的账户信息。
现有技术中,为了便于记忆,用户通常会在多个平台或应用上使用相同的用户名和密码进行注册,但是,如果其中一个平台上的用户名和密码被盗用了,盗用者可以通过盗取的用户名和密码登录其他应用,导致其他应用的账户存在不安全问题。通过本申请实施例公开的身份验证方法,由于盗用者无法获取存在应用客户端上附加密码,所以无法成功通过身份验证。即便盗用者盗取了其中一个应用客户端存储的附加密码,由于附加密码为应用服务器随机生成并保存在应用的服务器上,待登录的不同应用的服务器无法对其他应用的附加密码验证通过,因此盗用者无法成功通过身份验证。进一步提升了身份验证的安全性。
实施例三
本申请另一实施例公开的一种身份验证方法,如图3所示,该方法包括:步骤300至步骤340。
步骤300,根据用户获取附加密码的操作,发送生成附加密码请求至服务器,以获取所述用户的附加密码。
具体实施时,当用户切换到服注册客户端进行登录或者注册客户端存储的密码损坏或丢失时,用户可以通过客户端界面设置的获取附加密码的入口,如获取附加密码按钮,向服务器获取附加密码。
具体实施时,用户需要在待登录客户端至少输入用户标识,然后,触发获取附加密码按钮。客户端检测到用户获取附加密码的操作之后,生成附加密码请求,并发送至服务器。所述生成附加密码请求中至少包括用户标识。
服务器接收到待登录客户端发送的生成附加密码请求之后,判断所述用户标识当前为未登录状态,然后,服务器获取所述用户标识对应的注册信息,其中,所述注册信息包括预设的接收信息的方式。所述接收信息的方式包括但不限于以下任意一种:通过邮件接收信息、通过手机短信接收信息、通过电话接收信息、通过即时通信消息接收信息等。以所述接收信息的方式通过邮件接收信息为例,所述注册信息中包括接收信息的邮箱地址。所述用户标识对应的注册信息还包括:注册密码和附加密码。然后,服务器将所述附加密码通过预设的邮箱地址,通过邮件的形式发送所述用户标识对应的附加密码至所述用户标识所属用户。具体实施时,服务器也可以根据所述用户标识重新生成附加密码,然后通过预设形式发送给所述用户标识所属用户。服务器根据所述用户标识重新生成附加密码的方法参见实施例二,此处不再赘述。
当用户切换客户端进行登录时,另一种可选的实施方式是,用户首先通过存储有附加密码的客户端进行登录,当成功登陆后,用户通过客户端界面设置的获取附加密码入口执行获取附加密码操作。客户端检测到用户获取附加密码的操作后,产生生成附加密码请求,并发送至服务器,以获取附加密码。所述生成附加密码请求中至少包括:用户标识。具体实施时,为了进一步提升密码验证的安全性,可以在用户通过客户端界面设置的获取附加密码入口执行获取附加密码操作时,对用户再进行一次登陆密码验证。
当服务器接收到待登录客户端发送的生成附加密码请求之后,判断所述用户标识当前为已登录状态,然后,服务器获取所述用户标识对应的注册信息,其中,所述注册信息包括附加密码,并将所述附加密码发送至发送生成附加密码请求的客户端。发送生成附加密码请求的客户端接收到服务器发送的附加密码后,在客户端界面显示所述附加密码,以便于待登录的客户端进行输入。
步骤310,获取用户在进行身份验证操作的客户端输入的附加密码。
其中,所述附加密码通过已登录客户端获取,或通过所述用户标识预先注册的信息接收方式获取。
具体实施时,用户通过预先注册的接收信息的方式获取附加密码,如通过接收邮件、接听电话或接收短信,或者通过已经登录的客户端接收附加密码。本实施例中以用户通过预先注册的接收信息的邮箱接收邮件,以获取附加密码为例,用户将邮件中携带的附加密码转输入至待登录的客户端。
具体实施时,所述附加密码可以为字符串或二维码,当所述附加密码通过二维码发送时,进行身份验证操作的客户端扫码输入所述附加密码。
待登录客户端通过调用***接口获取扫描得到的附加密码,或者调用***接口获取附加密码编辑框中输入的附加密码。
步骤320,根据用户的身份验证操作,获取待验证的用户标识和密码。
根据用户的身份验证操作,获取待验证的用户标识和密码的具体实施方式参见实施例一,此处不再赘述。
步骤330,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证的具体实时方式参见实施例二,此处不再赘述。
步骤340,存储所述附加密码。
当用户切换客户端进行登录成功后,或者,用户重新获取附加密码并登录成功后,客户端在本地存储所述附加密码,以便后续登录时直接读取。
本申请实施例公开的身份验证方法,通过已经登录的客户端或者预先注册的信息接收方式获取附加密码,然后,结合所述附加密码和待验证用户标识和密码,进行身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过可信的身份获取附加密码,使得在密码丢失或者易机的情况,用户能够正常登录。同时,对于盗用了用户名和密码的不法分子,由于其不具备可信的身份,即其不能够接收附加密码,因此无法获得附加密码,不能通过身份验证,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。在验证通过后,在客户端保存附加密码,便于下一次登录此客户端。另一方面,通过以二维码的形式传输附加密码,并在客户端设置展示和识别二维码的功能模块,便于用户快速、准确的输入附加密码,进一步提高身份验证效率。
实施例四
基于实施例三,本申请另一实施例公开的一种身份验证方法,如图4所示,该方法包括:步骤400至步骤450。
步骤400,根据用户获取附加密码的操作,发送生成附加密码请求至服务器,以获取所述用户的附加密码。
具体实施时,当用户切换到服注册客户端进行登录或者注册客户端存储的密码损坏或丢失时,用户可以通过客户端界面设置的获取附加密码的入口,如获取附加密码按钮,向服务器获取附加密码。
具体实施时,用户需要在待登录客户端至少输入用户标识,然后,触发获取附加密码按钮。客户端用户获取附加密码的操作,产生生成附加密码请求,并发送至服务器。所述生成附加密码请求中至少包括用户标识。
服务器接收到待登录客户端发送的生成附加密码请求之后,判断所述用户标识当前为未登录状态,然后,服务器获取所述用户标识对应的注册信息,其中,所述注册信息包括预设的接收信息的方式。所述接收信息的方式包括但不限于以下任意一种:通过邮件接收信息、通过手机短信接收信息、通过电话接收信息、通过即时通信消息接收信息等。以所述接收信息的方式通过邮件接收信息为例,所述注册信息中包括接收信息的邮箱地址。然后,服务器通过预设的邮箱地址,通过邮件的形式发送验证码,对待登录用户进行真实身份验证。
步骤410,获取用户在进行身份验证操作的客户端输入的验证码,并进行验证码验证。
具体实施时,用户通过预先注册的接收信息的方式获取验证码,如通过接收邮件、接听电话或接收短信等方式接收服务器发送的验证码。本实施例中以用户通过预先注册的接收信息的邮箱接收邮件,以接收验证码为例,用户将邮件中携带的验证码转输入至待登录的客户端。
然后,用户通过触发客户端设置的验证码验证按钮发送验证码至服务器完成验证码验证。
服务器端对客户端进行验证码验证的具体方案参见现有技术,此处不再赘述。
步骤420,接收附加密码。
当服务器对客户端进行验证码验证成功后,服务器将所述用户标识对应的附加密码发送至发送获取的客户端。客户端在发送验证码之后,实时接收服务器发送的附加密码。
步骤430,根据用户的身份验证操作,获取待验证的用户标识和密码。
根据用户的身份验证操作,获取待验证的用户标识和密码的具体实施方式参见实施例一,此处不再赘述。
步骤440,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证的具体实时方式参见实施例二,此处不再赘述。
步骤450,存储所述附加密码。
当用户切换客户端进行登录成功后,或者,用户重新获取附加密码并登录成功后,客户端在本地存储所述附加密码,以便后续登录时直接读取。
本申请实施例公开的身份验证方法,通过首先进行验证码验证,并在验证码验证通过后,从服务器下载附加密码,然后结合所述附加密码和待验证用户标识和密码,进行身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过首先进行验证码验证以确定用户的真实身份,然后,为待登录客户端生成附加密码,已完成身份验证,使得在密码丢失或者易机登录的情况下,用户能够通过客户端正常登录。同时,对于盗用了用户名和密码的不法分子,由于其不具备可信的身份,即其不能够接收附加密码,因此无法获得附加密码,不能通过身份验证,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。同时,在验证码验证通过后,客户端静默从服务器获取附加密码并保存在客户端本地,便于下一次登录此客户端,同时,避免了用户手动输入附加密码,进一步提高身份验证效率和准确率。
实施例五
本申请另一实施例公开的一种身份验证方法,如图5所示,该方法包括:步骤500至步骤510。
步骤500,根据接收到的用户注册请求,获取与所述用户注册请求中携带的用户标识匹配的附加密码,并在服务器本地和所述客户端同时存储所述附加密码。
具体实施时,服务器实时接收客户端发送的请求,包括但不限于:用户注册请求。
当用户通过客户端进行用户注册时,在用户输入用户标识和注册密码之后,触发注册按钮时,客户端会向服务器发送用户注册请求。具体实施时,所述用户注册请求至少包括:用户标识和注册密码。如果附加密码由客户端生成,所述用户注册请求还包括:附加密码。如果附加密码由服务器生成,所述用户注册请求还可以包括:客户端的设备标识。其中,所述设备标识可以为:设备IP地址、设备序列号等。
然后,服务器根据接收到的所述用户注册请求,获取附加密码,包括:根据接收到的所述用户注册请求中包含的用户标识,生成与所述用户标识匹配的随机密码作为附加密码;或者,根据接收到的所述用户注册请求中包含的用户标识和所述客户端的设备标识,生成与所述用户标识匹配的附加密码。
服务器根据所述用户注册请求中包括的用户标识获取附加密码的方法参见实施例二中的相关步骤的介绍,此处不再赘述。服务器根据所述用户注册请求中包括的用户标识、客户端的设备标识生成附加密码的方法参见实施例二中的相关步骤的介绍,此处不再赘述。
当服务器获取到附加密码之后,会在服务器本地存储所述附加密码。具体实施时,服务器在用户标识、注册密码和附加密码的匹配关系中存储所述附加密码。所述服务器会通过响应所述用户注册请求的方式,将所述附加密码发送给客户端,便于所述客户端存储所述附加密码。
步骤510,根据接收到的身份验证请求,进行身份验证。
其中,所述身份验证请求包括待验证用户标识和密码,及附加密码。
根据客户端发送的身份验证请求,对所述客户端的当前用户进行身份验证,包括:通过所述身份验证请求中的用户标识,获取服务器存储的与所述用户标识匹配的附加密码和注册密码,用于对所述身份验证请求中加密融合后的所述待验证密码进行解密,并将解密得到的待验证密码与所述注册密码进行匹配,以执行身份验证;或者,通过所述身份验证请求中的用户标识,获取服务器存储的与所述用户标识匹配的附加密码和注册密码,用于与所述身份验证请求中包括的附加密码和待验证密码分别进行匹配,以执行身份验证。
具体实施时,如实施例二所述,客户端可以通过两种形式发送用于进行身份验证的待验证密码和附加密码。相应的,服务器通过两种方式进行身份验证。服务器根据客户端发送的身份验证请求,对所述客户端的当前用户进行身份验证的具体实施方式参见实施二中关于身份验证的具体描述,此处不再赘述。
本申请实施例公开的身份验证方法,通过接收客户端发送的用户注册请求,并根据所述用户注册请求,获取附加密码,然后在服务器本地和所述客户端同时存储所述附加密码,当客户端发送身份验证请求时,则基于客户端发送的身份验证请求中过包括的待验证用户标识和密码,及附加密码,对所述客户端的当前用户进行身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过结合附加密码对用户进行身份验证,并且,将附加密码存储在客户端,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。
实施例六
基于实施例五,本申请另一实施例中公开的身份验证方法,如图6所示,包括:步骤600至步骤640。
步骤600,接收生成附加密码请求,所述生成附加密码请求至少包括用户标识。
服务器实时接收客户端发送的请求,所述请求包括但不限于:生成附加密码请求。
在客户端由于设备清理数据而导致附加密码丢失,或者,由于切换登陆设备而无法成功获取客户端本地存储的附加密码时,用户可以在待登陆客户端通过获取附加密码入口重新获取附加密码。例如,当用户在待登陆客户端通过获取附加密码入口输入用户表标识之后,触发获取附加密码按钮时,客户端会向服务器发送获取附加密码请求。具体实施时,所述获取附加密码请求至少包括:用户标识。如果附加密码由客户端生成,所述用户注册请求还包括:附加密码。如果附加密码由服务器生成,所述用户注册请求还可以包括:客户端的设备标识。其中,所述设备标识可以为:设备IP地址、设备序列号等。
服务器实时接收到客户端发送的请求。当服务器接收到客户端发送的获取附加密码请求之后,首先判断所述获取附加密码请求中携带的用户标识是否已经登陆,并根据用户标识的登陆情况采取相应的响应。
步骤610,判断所述用户标识是否已经登录,若所述用户标识未登录,则执行步骤620,否则,执行步骤630。
服务器根据存储的用户信息判断用户标识的登陆情况。服务器判断所述用户标识是否已经登录,若所述用户标识未登录,则通过所述用户标识预先注册的接收信息方式发送与所述用户标识匹配的附加密码;若所述用户标识已经登录,则发送与所述用户标识匹配的附加密码至发送所述生成附加密码请求的客户端。
步骤620,通过所述用户标识预先注册的接收信息的方式发送与所述用户标识匹配的附加密码。
当服务器判断所述用户标识未登录时,则通过所述用户标识预先注册的接收信息的方式发送与所述用户标识匹配的附加密码,或者,首先对所述用户标识进行验证码验证,并在验证码验证通过后,再向发送获取附加密码请求的客户端发送附加密码。
具体实施时,用户在注册时会注册用于接收信息的方式,包括但不限于以下任意一项:通过邮件接收信息、通过手机短信接收信息、通过电话接收信息、通过即时通信消息接收信息等。服务器根据用户标识确定该用户标识注册的用于接受信息的方式,如通过邮件接收信息,然后,将存储的该用户标识对应的附加密码或重新生成的与标识对应的附加密码通过所述西悉尼接收方式进行发送,使得用户通过所述接收信息的方式可以接收到附加密码。
步骤630,发送与所述用户标识匹配的附加密码至发送所述生成附加密码请求的客户端。
当服务器判断所述用户标识已经登录时,则确认该用户处于通过已经登陆的客户端获取附加密码用于在其他客户端进行登录的场景,因此,服务器将与所述用户标识匹配的附加密码至发送所述生成附加密码请求的客户端,即已经登陆的客户端,使得用户可以通过已经登陆的客户端展示的附加密码在待登陆的客户端完成输入附加密码。
步骤640,根据接收到的身份验证请求,进行身份验证。
其中,所述身份验证请求包括待验证用户标识和密码,及附加密码。
根据客户端发送的身份验证请求,对所述客户端的当前用户进行身份验证的具体实施方式参见实施例五,此处不再赘述。
具体实施时,所述附加密码可以为字符串或二维码,当所述附加密码通过二维码发送时,进行身份验证操作的客户端扫码输入所述附加密码。
可选的,在另一个实施例中,若判断所述用户标识未登录,则启动验证码验证;若验证码验证通过,则获取与所述生成附加密码请求中携带的用户标识匹配的附加密码,并发送所述附加密码至生成附加密码请求的客户端,用于在所述客户端存储所述附加密码。
当用户切换到其他设备进行账户登录时,客户端将无法获取本地存储的附加密码,因此,所述客户端会提示用户发起获取附加密码的操作,并根据所述操作发送生成附加密码请求,以通过预先设置的接收信息的方式接收验证码,进行验证码验证,以验证用户的真实身份。然后,在验证码验证通过后,进一步获取附加密码。具体实施时,所述生成附加密码请求至少包括:用户标识。
所述服务器收到生成附加密码请求之后,根据所述生成附加密码请求中携带的用户标识获取所述用户标识所述用户预先设置的接收信息方式,并通过所述接收信息方式发送验证码,对所述用户执行身份真实性验证,即进行验证码验证,如通过短信或电话或邮箱向用户发送验证码,并要求用户在客户端输入所述验证码,以完成验证码验证。
验证码验证的具体实施方式参见现有技术,本申请的实施例中不再赘述。
若验证码验证通过,服务器获取与所述生成附加密码请求中携带的用户标识匹配的附加密码,并在服务器本地存储所述附加密码,同时,发送所述附加密码至发送生成附加密码请求的客户端,便于所述客户端存储所述附加密码。
如果附加密码由客户端生成,所述生成附加密码请求还包括:附加密码。服务器接收到所述生成附加密码请求之后,直接将所述附加密码存储在用户标识和附加密码的对应关系中。如果附加密码由服务器生成,所述用户注册请求还可以包括:客户端的设备标识。服务器根据所述设备标识和用户标识生成附加密码。其中,所述设备标识可以为:设备IP地址、设备序列号等。
服务器根据生成附加密码请求,生成与所述用户标识匹配的附加密码的具体方法参见实施例二,此处不再赘述。
基于实施例五公开的身份验证方法,本实施例公开的验证方法通过根据客户端发送的生成附加密码请求,使得用户在不同设备上可以实现正常的身份验证。而对于盗用密码的不法分子,因其无法通过预先设置的信息接收方式获取验证码,因此无法通过验证码验证,也无法获取附加密码,所以,无法成功进行身份验证,进而可以有效避免密码被盗导致的用户账户信息被盗,保护了用户账户信息的安全。
实施例七
相应的,本申请实施例公开的一种身份验证装置,如图7所示,所述装置包括:
第一验证信息获取模块700,用于根据用户的身份验证操作,获取待验证的用户标识和密码;
第二验证信息获取模块710,用于获取附加密码;
验证信息发送模块720,用于将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证。
可选的,如图8所示,所述第二验证信息获取模块710进一步包括:
第一验证信息获取单元7101,用于读取执行所述身份验证操作的客户端预先存储的附加密码。
可选的,所述预先存储的附加密码通过以下任意一种方式获得:
用户注册时由客户端或服务器生成;
用户通过验证码验证后,从服务器端下载;
用户通过非注册设备上首次登录时,通过已登录客户端获取或通过预先注册的信息接收方式接收。
可选的,如图8所示,所述第二验证信息获取710进一步包括:
第二验证信息获取单元7102,用于获取用户在进行身份验证操作的客户端输入的附加密码;
其中,所述附加密码通过已登录客户端获取,或通过所述用户标识预先注册的信息接收方式获取。
可选的,当所述附加密码通过二维码发送时,进行身份验证操作的客户端扫码输入所述附加密码。
可选的,如图8所示,所述验证信息发送模块720进一步包括以下任意一项:
第一身份验证单元7201,用于通过所述附加密码对所述待验证密码进行加密融合,把融合后的密码和所述用户标识发送至服务器,由所述服务器基于融合后的密码和所述用户标识进行身份验证;
第二身份验证单元7202,用于将所述待验证用户标识和密码,及所述附加密码同时发送至服务器,由所述服务器基于接收到的所述待验证用户标识和密码,及所述附加密码进行身份验证。
本申请实施例公开的身份验证装置,通过根据用户的身份验证操作,获取待验证的用户标识和密码,并获取附加密码,然后,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证方法,通过结合附加密码对用户进行身份验证,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。当用户的密码被盗后,盗用者通过其他客户端进行身份验证时,由于无法获取附加密码,因此即使盗取了用户名和密码,也无法完成身份验证,无法成功登录用户账户,获取用户的账户信息。
通过在客户端预先存储附加密码,然后,将所述待验证的用户标识和密码及所述附加密码发送至服务器,用于身份验证,当用户的密码被盗后,盗用者通过其他客户端进行身份验证时,由于无法获取附加密码,因此即使盗取了用户名和密码,也无法完成身份验证,无法成功登录用户账户,获取用户的账户信息,进一步提升了验证安全性。
通过由已登录客户端获取并展示附加密码,或者通过预先注册的信息接收方式获取附加密码,可以保障用户在不同客户端能够正常登陆。同时,通过用二维码形式发送附加密码,待登陆客户端可以通过扫码输入附加密码,使得用户可以快速、便捷、准确地输入附加密码,提高了验证效率。
实施例八
相应的,本申请实施例公开的一种身份验证装置,如图9所示,所述装置包括:
第一附加密码获取模块900,用于根据接收到的用户注册请求,获取与所述用户注册请求中携带的用户标识匹配的附加密码,并在服务器本地和所述客户端同时存储所述附加密码;
验证模块910,用于根据接收到的身份验证请求,进行身份验证;
其中,所述身份验证请求包括待验证用户标识和密码,及附加密码。
可选的,如图10所示,所述装置还包括:第二附加密码获取模块920,所述第二附加密码获取模块920进一步包括:请求接收单元9201、判断单元9202、第一附加密码获取单元9203或第二附加密码获取单元9204、第三附加密码获取单元9205;其中,
所述请求接收单元9201,用于接收生成附加密码请求,所述生成附加密码请求至少包括用户标识;
所述判断单元9202,用于判断所述用户标识是否已经登录;
所述第一附加密码获取单元9203,用于若所述用户标识未登录,则通过所述用户标识预先注册的接收信息方式发送与所述用户标识匹配的附加密码;
所述第二附加密码获取单元9204,用于若所述用户标识未登录,则启动验证码验证;
所述第二附加密码获取单元9204,还用于若验证码验证通过,则获取与所述生成附加密码请求中携带的用户标识匹配的附加密码,并发送所述附加密码至生成附加密码请求的客户端,用于在所述客户端存储所述附加密码;
所述第三附加密码获取单元9205,用于若所述用户标识已经登录,则发送与所述用户标识匹配的附加密码至发送所述生成附加密码请求的客户端。
可选的,当所述附加密码通过二维码发送时,进行身份验证操作的客户端扫码输入所述附加密码。
可选的,如图10所示,所述验证模块910包括以下任意一项:
第一验证单元9101,用于通过所述身份验证请求中的用户标识,获取服务器存储的与所述用户标识匹配的附加密码和注册密码,用于对所述身份验证请求中加密融合后的所述待验证密码进行解密,并将解密得到的待验证密码与所述注册密码进行匹配,以执行身份验证;
第二验证单元9102,用于通过所述身份验证请求中的用户标识,获取服务器存储的与所述用户标识匹配的附加密码和注册密码,用于与所述身份验证请求中包括的附加密码和待验证密码分别进行匹配,以执行身份验证。
本申请实施例公开的身份验证装置,通过接收客户端发送的用户注册请求,并根据所述用户注册请求,获取附加密码,然后在服务器本地和所述客户端同时存储所述附加密码,当客户端发送身份验证请求时,则基于客户端发送的身份验证请求中过包括的待验证用户标识和密码,及附加密码,对所述客户端的当前用户进行身份验证,解决了现有技术中的身份验证方法存在的安全性较低的问题。本申请实施例公开的验证装置,通过结合附加密码对用户进行身份验证,并且,将附加密码存储在客户端,有效提高了用户身份验证的安全性,可以有效避免密码被盗导致的用户账户信息被盗。
进一步的,通过根据客户端发送的生成附加密码请求生成附加密码,使得用户在不同设备上可以实现正常的身份验证。而对于盗用密码的不法分子,因其无法通过预先设置的信息接收方式获取验证码,因此无法通过验证码验证,也无法获取附加密码,所以,无法成功进行身份验证,进而可以有效避免密码被盗导致的用户账户信息被盗,保护了用户账户信息的安全。
相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一至实施例六所述的身份验证方法。所述电子设备可以为移动终端、导航仪、个人数字助理、平板电脑等。
本申请还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一至实施例六所述的身份验证方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种身份验证方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。