一种用户合法性验证方法、装置及系统与流程

文档序号:12622148阅读:240来源:国知局
一种用户合法性验证方法、装置及系统与流程

本发明涉及通信领域,尤其涉及一种用户合法性验证方法、装置及系统。



背景技术:

互联网网上交易和网上认证的使用越来越普遍,目前存在的一种验证机制是用户在注册时同时提交了手机号,在用户进行交易或认证时,服务器发送验证码到用户手机以确认手机号,以及该手机号与用户归属关系的真实性。用户将接收到的验证码提交给服务器,服务器对用户提交的验证码进行验证。然而,当用户手机或SIM卡遗失时,如果未及时在服务器上更改注册时提交的手机号码,获得该手机或SIM卡的其他使用者则可以收到服务器下发验证码。其他使用者可以使用用户的账号和验证码进行登录,导致用户信息泄露或被更改;或者使用验证码进行网上交易,这些都增加了手机丢失给用户账号信息带来的安全风险。



技术实现要素:

本发明的实施例提供一种用户合法性验证方法、装置及系统,能够降低用户终端丢失导致验证码泄露造成的安全风险。

第一方面,提供了一种用户合法性验证方法,所述方法包括:接收用户通过终端设备发送的字符串;根据所述字符串生成验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;根据所述对应关系、所述验证码和所述字符串生成第一密码;接收所述用户通过所述终端设备发送的第二密码;比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

结合第一方面的实现方式,在第一方面第一种可能的实现方式中,所述验证码中的字符为数字,所述数字小于等于所述字符串的长度;所述对应关系为:所述数字指示所述字符串中字符的位置;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述数字指示的所述字符串中字符的位置,将所述位置上的字符排列组 成第一密码。

结合第一方面、第一方面的第一种可能的实现方式,在第二种可能实现的方式中,所述对应关系为:所述多个字符与所述字符串中的字符相同;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中与所述多个字符相同的所有字符的位置序号,将所述位置序号排列组成第一密码。

结合第一方面、第一方面的第一种至第二种可能的实现方式,在第三种可能实现的方式中,所述对应关系为:所述多个字符中的至少一个字符与所述字符串中的字符相同;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述多个字符中出现的与所述字符串中字符相同的字符,将所述确定的字符组成第一密码。

结合第一方面、第一方面的第一种至第三种可能的实现方式,在第四种可能实现的方式中,所述字符串为根据位置矩阵生成,所述字符串中的字符具有固定顺序;所述验证码为由多个字符组成的验证码矩阵,所述验证码矩阵与所述位置矩阵是同型矩阵;所述对应关系为:所述字符串中的字符指示所述验证码矩阵中的位置;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中字符指示的所述验证码矩阵中的位置上的字符,按照所述字符串中字符的顺序将所述确定的字符排列组成第一密码。

结合第一方面、第一方面的第一种至第四种可能的实现方式,在第五种可能实现的方式中,还发送所述验证码给所述终端设备,所述第二密码为所述终端设备根据所述对应关系、所述验证码和所述字符串生成。

第二方面,提供一种用户合法性验证方法,所述方法包括接收用户输入的字符串;接收验证服务器发送的验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;发送根据所述对应关系、所述验证码和所述字符串生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

第三方面,提供一种用户合法性验证方法,所述方法包括接收用户通过终端设备提交的生物特征信息;生成验证码,所述验证码由至少一个字符组成;通过存储的算法、所述生物特征信息和所述验证码, 确定第一密码;接收所述用户通过所述终端设备发送的第二密码;比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

结合第三方面的实现方式,在第三方面第一种可能的实现方式中,还发送所述验证码给所述终端设备,所述第二密码为所述终端设备根据所述算法、所述生物特征信息和所述验证码生成。

第四方面,提供一种用户合法性验证方法,所述方法包括接收用户输入的生物特征信息;接收验证服务器发送的验证码,所述验证码由多个字符组成;发送根据存储的算法、所述生物特征信息和所述验证码生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

第五方面,提供了一种验证服务器,包括接收模块,生成模块和处理模块:所述接收模块,用于接收用户通过终端设备发送的字符串;所述生成模块,用于根据所述字符串生成验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;所述生成模块,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码;所述接收模块,还用于接收所述用户通过所述终端设备发送的第二密码;所述处理模块,用于比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

结合第五方面的实现方式,在第五方面第一种可能的实现方式中,所述验证码中的字符为数字,所述数字小于等于所述字符串的长度;所述对应关系为:所述数字指示所述字符串中字符的位置;则所述生成模块,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述数字指示的所述字符串中字符的位置,将所述位置上的字符排列组成第一密码。

结合第五方面、第五方面的第一种可能的实现方式,在第二种可能实现的方式中,所述对应关系为:所述多个字符与所述字符串中的字符相同;则所述生成模块,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中与所述多个字符相同的所有字符的位置序号,将所述位置序号排列组成第一密码。

结合第五方面、第五方面的第一种至第二种可能的实现方式,在 第三种可能实现的方式中,所述对应关系为:所述多个字符中的至少一个字符与所述字符串中的字符相同;则所述生成模块,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述多个字符中出现的与所述字符串中字符相同的字符,将所述确定的字符组成第一密码。

结合第五方面、第五方面的第一种至第三种可能的实现方式,在第四种可能实现的方式中,所述字符串为根据位置矩阵生成,所述字符串中的字符具有固定顺序;所述验证码为由多个字符组成的验证码矩阵,所述验证码矩阵与所述位置矩阵是同型矩阵;所述对应关系为:所述字符串中的字符指示所述验证码矩阵中的位置;则所述生成模块,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中字符指示的所述验证码矩阵中的位置上的字符,按照所述字符串中字符的顺序将所述确定的字符排列组成第一密码。

结合第五方面、第五方面的第一种至第三种可能的实现方式,在第四种可能实现的方式中,所述验证服务器还包括发送模块,所述发送模块用于发送所述验证码给所述终端设备,所述第二密码为所述终端设备根据所述对应关系、所述验证码和所述字符串生成。

第六方面,提供了一种终端设备,包括接收模块和发送模块:所述接收模块,用于接收用户输入的字符串;所述接收模块,还用于接收验证服务器发送的验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;所述发送模块,用于发送根据所述对应关系、所述验证码和所述字符串生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

第七方面,提供了一种验证服务器,包括接收模块,生成模块和处理模块:所述接收模块,用于接收用户通过终端设备提交的生物特征信息;所述生成模块,用于生成验证码,所述验证码由至少一个字符组成;所述处理模块,用于通过存储的算法、所述生物特征信息和所述验证码,确定第一密码;所述接收模块,还用于接收所述用户通过所述终端设备发送的第二密码;所述处理模块,还用于比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

结合第七方面的实现方式,在第七方面第一种可能的实现方式中, 所述验证服务器还包括发送模块,所述发送模块用于发送所述验证码给所述终端设备,所述第二密码为所述终端设备根据所述算法、所述生物特征信息和所述验证码生成。

第八方面,提供了一种终端设备,包括接收模块和发送模块:所述接收模块,用于接收用户输入的生物特征信息;所述接收模块,还用于接收所述验证服务器发送的验证码,所述验证码由多个字符组成;所述发送模块,用于发送根据存储的算法、所述生物特征信息和所述验证码生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

第九方面,提供了一种用户合法性验证系统,包括验证服务器和终端设备:所述验证服务器,用于接收用户通过终端设备发送的字符串;根据所述字符串生成验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;根据所述对应关系、所述验证码和所述字符串生成第一密码;接收所述用户通过所述终端设备发送的第二密码;比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性;所述终端设备,用于接收用户输入的字符串;接收所述验证服务器发送的验证码;发送根据所述对应关系、所述验证码和所述字符串生成的第二密码给所述验证服务器,所述第二密码用于所述用户合法性的验证。

结合第九方面的实现方式,在第九方面第一种可能的实现方式中,所述验证码中的字符为数字,所述数字小于等于所述字符串的长度;所述对应关系为:所述数字指示所述字符串中字符的位置;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述数字指示的所述字符串中字符的位置,将所述位置上的字符排列组成第一密码。

结合第九方面、第九方面的第一种可能的实现方式,在第二种可能实现的方式中,所述对应关系为:所述多个字符与所述字符串中的字符相同;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中与所述多个字符相同的所有字符的位置序号,将所述位置序号排列组成第一密码。

结合第九方面、第九方面的第一种至第二种可能的实现方式,在 第三种可能实现的方式中,所述对应关系为:所述多个字符中的至少一个字符与所述字符串中的字符相同;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述多个字符中出现的与所述字符串中字符相同的字符,将所述确定的字符组成第一密码。

结合第九方面、第九方面的第一种至第三种可能的实现方式,在第四种可能实现的方式中,所述字符串为根据位置矩阵生成,所述字符串中的字符具有固定顺序;所述验证码为由多个字符组成的验证码矩阵,所述验证码矩阵与所述位置矩阵是同型矩阵;所述对应关系为:所述字符串中的字符指示所述验证码矩阵中的位置;则所述根据所述对应关系、所述验证码和所述字符串生成第一密码为:确定所述字符串中字符指示的所述验证码矩阵中的位置上的字符,按照所述字符串中字符的顺序将所述确定的字符排列组成第一密码。

第十方面,提供了一种用户合法性验证系统,包括验证服务器和终端设备:所述验证服务器,用于接收用户通过终端设备提交的生物特征信息;生成验证码,所述验证码由至少一个字符组成;通过存储的算法、所述生物特征信息和所述验证码,确定第一密码;接收所述用户通过所述终端设备发送的第二密码;比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性;所述终端设备,用于接收用户输入的生物特征信息;接收所述验证服务器发送的验证码;发送根据存储的算法、所述生物特征信息和所述验证码生成的第二密码给所述验证服务器,所述第二密码用于所述用户合法性的验证。

第十一方面,提供了一种计算设备,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算设备执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算设备执行第一方面至第四方面及第一方面至第四方面的任一可能的实现方式所述的方法。

根据本发明实施例提供的技术方案,根据用户提交的字符串生成验证码,该验证码由多个字符组成,该多个字符与该字符串中的字符具有对应关系,根据该对应关系、该验证码和该字符串生成第一密码,接收终端设备发送的根据该对应关系、该验证码和该字符串生成的第 二密码,比较第一密码和第二密码,根据比较结果验证用户的合法性,有效地降低了用户终端设备丢失给用户账号信息带来的安全风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例应用的网络架构的示意图;

图2是依据本发明一实施例的验证方法的示范性流程图;

图3是依据本发明一实施例的设置字符串的界面示意图;

图4a、图4b、图4c是依据本发明一实施例的位置矩阵的示意图;

图5a、图5b是依据本发明一实施例的选取位置顺序的示意图;

图6是依据本发明一实施例的以图形界面方式呈现验证码矩阵的示意图;

图7是依据本发明一实施例的验证方法的示范性流程图;

图8是依据本发明一实施例的通用计算机结构的硬件结构示意图;

图9是依据本发明一实施例的验证服务器的结构示意图;

图10是依据本发明一实施例的终端设备的结构示意图;

图11是依据本发明一实施例的验证服务器的结构示意图;

图12是依据本发明一实施例的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法 的详细说明,以免不必要的细节妨碍本发明的描述。

图1是本发明实施例应用的网络架构100的示意图。其中验证服务器104中存储有用户提交的字符串,验证服务器104根据该字符串生成验证码,该验证码中的字符与用户提交的字符串中的字符具有对应关系,验证服务器104根据对应关系、验证码和用户提交的字符串生成第一密码。验证服务器104发送上述验证码给终端设备102,用户根据该验证码与提交的字符串的对应关系确定第二密码,用户通过终端设备102将第二密码发送给验证服务器104,验证服务器104比较第一密码与第二密码,从而根据比较结果验证用户的合法性。

图2是依据本发明一实施例的用户合法性验证方法的示范性流程图。在具体实现过程中,用户合法性验证方法200可以由例如但不限于终端设备和验证服务器执行。在本实施例中,终端设备可以是例如但不限于移动电话。

S202,终端设备发送字符串给验证服务器。

具体的,用户可以在注册账号时设置一个字符串,通过终端设备提交给验证服务器。也可以已经注册过账号,在后期使用该账号的过程中设置一个字符串,通过终端设备提交给验证服务器。例如,图3为要求用户提交设置的字符串的终端界面示意图。字符串可以为例如但不限于字母、汉字、数字中的至少一种。

用户提交用户标识给验证服务器,该用户标识可以为例如但不限于手机号码或电子邮箱地址。用户可以通过上述发送字符串的终端设备提交用户标识,也可以通过其他终端设备提交。验证服务器将验证码发送给通过该用户标识所标识的终端设备。

S204,验证服务器存储终端设备发送的字符串。

S206,终端设备发送“获取验证码请求”给验证服务器。

S208,验证服务器根据所述字符串生成验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系。

S210,验证服务器根据所述对应关系、所述验证码和所述字符串生成第一密码。

验证码的生成方式可以为根据字符串随机生成。

本发明中所指的“多个”为大于等于2个。

在S208和S210中,可选的,该验证码中的字符为数字,该数字小于等于上述字符串的长度;该对应关系为:该数字指示上述字符串中字符的位置;则根据该对应关系、该验证码和该字符串生成第一密码为:

验证服务器确定该数字指示的上述字符串中字符的位置,将该位置上的字符排列组成第一密码。

上述数字为正整数。

例如,验证服务器存储的字符串为Kate21,生成的验证码为153,则验证服务器确定153指示的Kate21中字符的位置上的字符为K,2,t,则组成的第一密码为K2t。

可选的,验证码中的数字可以具有固定的排列顺序,在生成第一密码时,验证服务器可以按照验证码中数字的排列顺序将上述确定出的字符排列组成第一密码。例如,按照验证码153中数字的排列顺序,将确定出的字符K,2,t组成的第一密码为K2t。

可选的,验证服务器也可以按照字符串中字符的排列顺序将上述确定出的字符排列组成第一密码。例如,按照字符串Kate21中字符的排列顺序,将确定出的字符K,2,t组成的第一密码为Kt2。

可选的,验证服务器在将确定出的字符组成第一密码时,可以不考虑这些确定出的字符的排列顺序,当终端设备返回第二密码时,如果第二密码中的字符与第一密码中的字符相同,即通过验证。例如,验证服务器确定出的字符为K,2,t,第一密码由K,2,t组成,但在组成第一密码时不考虑K,2,t的顺序,如果终端设备返回的第二密码为tK2,由于第二密码中的字符t,K,2与第一密码中的字符K,2,t相同,因此可以通过验证。

在S208和S210中,可选的,该对应关系为:该多个字符与该字符串中的字符相同;则根据该对应关系、该验证码和该字符串生成第一密码为:

验证服务器确定上述字符串中与该多个字符相同的所有字符的位置序号,将该位置序号排列组成第一密码。

例如,验证服务器存储的字符串为Kate21,生成的验证码为K2t,则验证服务器确定Kate21中与字符K,2,t相同的字符的位置序号为1,5,3,则组成的第一密码为153。

可选的,验证码中的多个字符可以具有固定的排列顺序,在生成第一密码时,验证服务器可以按照验证码中字符的排列顺序将上述确定出的位置序号排列组成第一密码。例如,按照验证码K2t中字符的排列顺序,将确定出的位置序号1,5,3组成的第一密码为153。

可选的,验证服务器也可以按照字符串中字符的排列顺序将上述确定出的位置序号排列组成第一密码。例如,按照字符串Kate21中字符的排列顺序,将确定出的位置序号1,5,3组成的第一密码为153。

可选的,验证服务器在将确定出的位置序号组成第一密码时,可以不考虑这些确定出的位置序号的排列顺序,当终端设备返回第二密码时,如果第二密码中的位置序号与第一密码中的位置序号相同,即通过验证。例如,验证服务器确定出的位置序号为1,5,3,第一密码由1,5,3组成,但在组成第一密码时不考虑1,5,3的顺序,如果终端设备返回的第二密码为315,由于第二密码中的位置序号3,1,5与第一密码中的位置序号1,5,3相同,因此可以通过验证。

可选的,如果验证服务器存储的字符串中含有相同字符,并且生成的验证码中也存在该相同的字符,则在验证服务器确定该相同的字符的位置序号时,可以确定出每个该相同的字符的位置序号,如果终端设备返回的第二密码中对应该相同字符的位置序号与验证服务器确定出的该相同字符的位置序号中的一个相同,则通过验证。

例如,验证服务器存储的字符串为Welcome15,其中包含两个字符e,如果验证码为ecm,则验证服务器根据验证码中的字符e确定出字符串Welcome15中字符e的位置序号为2和7,验证服务器生成的第一密码为2,7,4,6,终端设备返回的第二密码为2,4,6,其中2与2,7中的一个相同,并且第一密码中的4,6与第二密码中的4,6相同,因此通过验证。

在S208和S210中,可选的,该对应关系为:该多个字符中的至少一个字符与该字符串中的字符相同;则根据该对应关系、该验证码 和该字符串生成第一密码为:

验证服务器确定该验证码中出现的与该字符串中字符相同的字符,将该确定的字符组成第一密码。

例如,验证服务器存储的字符串为Kate21,生成的验证码为Kza1hgrc32,则验证服务器确定Kza1hgrc32中出现的与Kate21中字符相同的字符为K,a,1,2,则组成的第一密码为Ka12。

可选的,验证码中的多个字符可以具有固定的排列顺序,在生成第一密码时,验证服务器可以按照验证码中字符的排列顺序将上述确定出的字符排列组成第一密码。例如,按照验证码Kza2hgrc31中字符的排列顺序,将确定出的字符K,a,1,2组成的第一密码为Ka12。

可选的,验证服务器也可以按照字符串中字符的排列顺序将上述确定出的位置序号排列组成第一密码。例如,按照字符串Kate21中字符的排列顺序,将确定出的字符K,a,1,2组成的第一密码为Ka21。

可选的,验证服务器在将确定出的字符组成第一密码时,可以不考虑这些确定出的字符的排列顺序,当终端设备返回第二密码时,如果第二密码中的字符与第一密码中的字符相同,即通过验证。例如,验证服务器确定出的字符为K,a,1,2,第一密码由K,a,1,2组成,但在组成第一密码时不考虑K,a,1,2的顺序,如果终端设备返回的第二密码为aK21,由于第二密码中的字符a,K,2,1与第一密码中的字符K,a,1,2相同,因此可以通过验证。

在S208和S210中,可选的,该字符串为根据位置矩阵生成,该字符串中的字符指示该位置矩阵中的位置,该字符串中的字符具有固定顺序;该验证码为由多个字符组成的验证码矩阵,该验证码矩阵与该位置矩阵是同型矩阵,该对应关系为:该字符串中的字符指示该验证码矩阵中的位置;则根据该对应关系、该验证码和该字符串生成第一密码为:

验证服务器确定字符串中字符指示的该验证码矩阵中的位置上的字符,按照该字符串中字符的顺序将该确定的字符排列组成第一密码。

具体的,由于验证码矩阵由多个字符组成,并且字符串中的字符 指示验证码矩阵中的位置,因此,该多个字符与该字符串中的字符具有对应关系。

验证码矩阵与位置矩阵是同型矩阵指:验证码矩阵的行数与位置矩阵的行数相同,并且验证码矩阵的列数与位置矩阵的列数相同。

用户在设置字符串时,可选的,验证服务器可以给用户提供设置界面,在该设置界面中显示位置矩阵,该位置矩阵中的位置可以通过图形表示,如图4a,也可以通过字符表示,如图4b,还可以通过字符与图形共同表示,如图4c,本发明对此不做限制。

用户选取位置矩阵中的位置,验证服务器根据用户选取的位置生成字符串,生成的字符串中字符的顺序与用户选取位置的顺序相同。字符串中的字符指示用户选取的位置矩阵中的位置。

可选的,用户可以通过在位置矩阵中连续滑动的方式选取位置,也可以通过点击位置的方式选取位置。

可选的,生成的字符串可以由位置序号组成,例如,用户按照图5a中的滑动轨迹选取位置,验证服务器生成的字符串可以为{(1,1),(1,2),(1,3),(2,2),(3,1),(2,1)},其中,(1,1)指示第1行第1列的位置,(1,2)指示第1行第2列的位置,(1,3)指示第1行第3列的位置,(2,2)指示第2行第2列的位置,(3,1)指示第3行第1列的位置,(2,1)指示第2行第1列的位置。

可选的,生成的字符串可以由选取的位置上的字符组成,例如,用户按照图5b中的滑动轨迹选取位置,验证服务器生成的字符串可以为{1,2,3,5,7,4},其中,1指示第1行第1列的位置,2指示第1行第2列的位置,3指示第1行第3列的位置,5指示第2行第2列的位置,7指示第3行第1列的位置,4指示第2行第1列的位置。由于验证码矩阵与位置矩阵是同型矩阵,因此验证服务器能够根据第二密码中字符指示的验证码矩阵中的位置确定位置矩阵中的位置。

S212,验证服务器发送所述生成的验证码给所述终端设备,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系。

具体的,该终端设备可以是用户提交字符串的终端设备,也可以 是其他终端设备。

S214,终端设备发送根据所述对应关系、所述验证码和所述字符串生成的第二密码给所述验证服务器,所述第二密码用于所述用户合法性的验证。

具体的,该终端设备可以是用户提交字符串的终端设备,也可以是其他终端设备。发送第二密码的终端设备与生成第二密码的终端设备可以为同一终端设备,也可以为不同终端设备。

终端设备用户在提交字符串给验证服务器时,确定了验证码中多个字符与提交的字符串中字符的对应关系。用户根据该确定了的对应关系确定第二密码,通过终端设备生成第二密码。

可选的,当验证码中的字符为数字,该对应关系为:该数字指示该字符串中字符的位置时,根据该对应关系、该验证码和该字符串生成第二密码为:

终端设备生成该数字指示的位置上的字符,将该生成的字符排列组成第二密码。

例如,终端设备接收到的验证码为153,用户通过终端设备提交给验证服务器存储的字符串为Kate21,则用户确定153指示的Kate21中字符的位置上的字符为K,2,t,则用户将字符K,2,t输入到终端设备,即终端设备生成字符K,2,t,得到第二密码K2t。

终端设备用户在提交字符串给验证服务器时,确定了第二密码中字符的排列顺序。用户在通过终端设备生成第二密码时,按照该确定了的排列顺序排列第二密码中的字符。可以按照验证码中数字的排列顺序排列第二密码中的字符,也可以按照提交的字符串中字符的排列顺序排列第二密码中的字符,还可以不考虑第二密码中字符的排列顺序。

可选的,当该对应关系为:该多个字符与该字符串中的字符相同时,根据该对应关系、该验证码和该字符串生成第二密码为:

终端设备生成该字符串中与该多个字符相同的所有字符的位置序号,将该位置序号排列组成第二密码。

例如,终端设备接收到的验证码为K2t,用户通过终端设备提交 给验证服务器存储的字符串为Kate21,则用户确定Kate21中与字符K,2,t相同的字符的位置序号为1,5,3,则用户将位置序号1,5,3输入到终端设备,即终端设备生成位置序号为1,5,3,得到第二密码为153。

终端设备用户在提交字符串给验证服务器时,确定了第二密码中位置序号的排列顺序。用户在通过终端设备生成第二密码时,按照该确定了的排列顺序排列第二密码中的位置序号。可以按照验证码中字符的排列顺序排列第二密码中的位置序号,也可以按照提交的字符串中字符的排列顺序排列第二密码中的位置序号,还可以不考虑第二密码中位置序号的排列顺序。

可选的,当该对应关系为多个字符中的至少一个字符与该字符串中的字符相同时,根据该对应关系、该验证码和该字符串生成第二密码为:

终端设备生成该多个字符中出现的与该字符串中字符相同的字符,将该生成的字符组成第二密码。

例如,终端设备接收到的验证码为Kza1hgrc32,用户通过终端设备提交给验证服务器存储的字符串为Kate21,则用户确定Kza1hgrc32中出现的与Kate21中字符相同的字符为K,a,1,2,则用户将字符K,a,1,2输入到终端设备,即终端设备生成字符K,a,1,2,得到第二密码为Ka12。

终端设备用户在提交字符串给验证服务器时,确定了第二密码中字符的排列顺序。用户在通过终端设备生成第二密码时,按照该确定了的排列顺序排列第二密码中的字符。可以按照验证码中字符的排列顺序排列第二密码中的字符,也可以按照提交的字符串中字符的排列顺序排列第二密码中的字符,还可以不考虑第二密码中字符的排列顺序。

可选的,当该字符串为根据位置矩阵生成,该字符串中的字符具有固定顺序;该验证码为由多个字符组成的验证码矩阵,该验证码矩阵与该位置矩阵是同型矩阵;该对应关系为:该字符串中的字符指示该验证码矩阵中的位置时,根据该对应关系、该验证码和该字符串生成第二密码为:

终端设备生成该字符串中字符指示的该验证码矩阵中的位置上的字符,按照该字符串中字符的顺序将该生成的字符排列组成第二密码。

终端设备用户在提交字符串给验证服务器时,确定了第二密码中字符的排列顺序。用户在通过终端设备生成第二密码时,按照该确定了的排列顺序排列第二密码中的字符。

在验证码矩阵中,用户选取与设置字符串时选取的位置相同的位置,终端设备根据用户选取的位置生成这些位置上的字符,按照字符串中字符的顺序排列生成的字符,得到第二密码。

验证码矩阵中的字符可以包括例如但不限于字母、数字、汉字、符号中的至少一种。

可选的,验证码矩阵可以通过图形界面呈现,如图6所示。用户可以通过在验证码矩阵中连续滑动的方式选取位置。终端设备用户在设置字符串时,确定了在验证码矩阵中滑动选取位置的顺序,用户在验证码矩阵中滑动选取位置的顺序与设置字符串时确定的顺序相同。

可选的,验证码矩阵可以通过短信呈现,终端设备用户在设置字符串时,确定了在验证码矩阵中选取位置的顺序,用户根据设置字符串时选取的位置选取验证码矩阵中位置上的字符,将选取的字符输入到终端设备,即终端设备生成选取的字符,并按照字符串中字符的顺序排列选取的字符,得到第二密码。

S216,验证服务器比较第一密码和第二密码,根据所述比较结果,验证所述用户的合法性。

具体的,当第一密码和第二密码相同时,确认该用户合法,通过验证;当第一密码和第二密码不同时,确认该述用户不合法,不通过验证。可选的,当通过验证时,可以允许用户进行登录或进行交易。不通过验证时,不允许用户进行登录和进行交易。

根据本发明实施例提供的技术方案,根据用户提交的字符串生成验证码,该验证码由多个字符组成,该多个字符与该字符串中的字符具有对应关系,根据该对应关系、该验证码和该字符串生成第一密码,接收终端设备发送的根据该对应关系、该验证码和该字符串生成的第 二密码,比较第一密码和第二密码,根据比较结果验证用户的合法性,有效地降低了用户终端设备丢失给用户账号信息带来的安全风险。

图7是依据本发明一实施例的验证方法的示范性流程图。在具体实现过程中,验证方法700可以由例如但不限于终端设备和验证服务器执行。在本实施例中,终端设备可以是例如但不限于移动电话。

S702,验证服务器接收用户通过终端设备提交的生物特征信息。

用户提交自己的生物特征信息给验证服务器存储,可以在注册账号时提交,也可以在后期使用该账号的过程中提交。验证服务器可以提供多种加密算法,用户在提交生物特征时选取一种加密算法;或者,验证服务器只提供一种加密算法,无需用户选择。

生物特征可以为例如但不限于指纹或声音。

S704,验证服务器生成验证码,所述验证码由至少一个字符组成。

可选的,该验证码为随机生成的字符序列。

S706,验证服务器通过存储的算法、所述生物特征信息和所述验证码,确定第一密码。

可选的,验证服务器将生物特征信息和验证码作为该算法的参数,通过该算法计算得出第一密码。该算法可以为例如但不限于加密算法。

S708,验证服务器发送所述验证码给终端设备。

具体的,该终端设备可以是用户提交生物特征信息的终端设备,也可以是其他终端设备。

S710,终端设备根据存储的算法、生物特征和所述验证码,生成第二密码。

具体的,终端设备安装有允许用户录入生物特征的工具,在用户录入生物特征信息后,输入接收到的验证码,终端设备将用户录入的生物特征信息和验证码作为该算法的参数,计算得到第二密码。

S712,终端设备发送所述第二密码给验证服务器,所述第二密码用于所述用户合法性的验证。

S714,验证服务器比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

具体的,当第一密码和第二密码相同时,确定该用户合法,通过验证;当第一密码和第二密码不同时,确认该用户不合法,不通过验证。可选的,当通过验证时,可以允许用户进行登录或进行交易。不通过验证时,不允许用户进行登录和进行交易。

根据本发明实施例提供的技术方案,验证服务器生成验证码,该验证码由至少一个字符组成,通过存储的算法、用户提交的生物特征和验证码,确定第一密码,接收终端设备根据存储的算法、用户录入的生物特征和验证码生成的第二密码,比较第一密码和第二密码,有效地降低了用户终端设备丢失给用户账号信息带来的安全风险。

图8是依据本发明一实施例的通用计算机结构800的硬件结构示意图。如图8所示,通用计算机结构800包括处理器802、存储器804、通信接口806和总线808。其中,处理器802、存储器804和通信接口806通过总线808实现彼此之间的通信连接。

处理器802可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。

存储器804可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器804可以存储操作系统8041和其他应用程序8042。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器804中,并由处理器802来执行。

通信接口806使用例如但不限于收发器一类的收发装置,来实现接与其他设备或通信网络之间的通信。

总线808可包括一通路,在各个部件(例如处理器802、存储器804、输和通信接口806)之间传送信息。

如图9所示,当验证服务器包括上述通用计算机结构800时,该通用计算机结构800进一步包括用于用户合法性验证的接收模块902、生成模块904和处理模块906。这些模块可以使用硬件实现,软件实现,或软件结合硬件实现。作为软件的模块,存储于通用计算机结构 800的存储器804中,可以一起作为一个独立的程序,或分别作为独立的程序。作为一种可选的实施方式,这些软件模块也可以分别,或一起作为应用程序8042的一部分,或者作为操作系统8041的一部分。

接收模块902,用于接收用户通过终端设备发送的字符串;

生成模块904,用于根据所述字符串生成验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;

生成模块904,还用于根据所述对应关系、所述验证码和所述字符串生成第一密码;

接收模块902,还用于接收所述用户通过所述终端设备发送的第二密码;

处理模块906,用于比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

如图10所示,当终端设备包括上述通用计算机结构800时,该通用计算机结构800进一步包括用于用户合法性验证的接收模块1002和发送模块1004。这些模块可以使用硬件实现,软件实现,或软件结合硬件实现。作为软件的模块,存储于通用计算机结构800的存储器804中,可以一起作为一个独立的程序,或分别作为独立的程序。作为一种可选的实施方式,这些软件模块也可以分别,或一起作为应用程序8042的一部分,或者作为操作系统8041的一部分。

接收模块1002,用于接收用户输入的字符串;

接收模块1002,还用于接收所述验证服务器发送的验证码,所述验证码由多个字符组成,所述多个字符与所述字符串中的字符具有对应关系;

发送模块1004,用于发送根据所述对应关系、所述验证码和所述字符串生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

如图11所示,当验证服务器包括上述通用计算机结构800时,该通用计算机结构800进一步包括用于用户合法性验证的接收模块1102、生成模块1104和处理模块1106。这些模块可以使用硬件实现,软件实现,或软件结合硬件实现。作为软件的模块,存储于通用计算 机结构800的存储器804中,可以一起作为一个独立的程序,或分别作为独立的程序。作为一种可选的实施方式,这些软件模块也可以分别,或一起作为应用程序8042的一部分,或者作为操作系统8041的一部分。

接收模块1102,用于接收用户通过终端设备提交的生物特征信息;

生成模块1104,用于生成验证码,所述验证码由至少一个字符组成;

处理模块1106,用于通过存储的算法、所述生物特征信息和所述验证码,确定第一密码;

接收模块1102,还用于接收所述用户通过所述终端设备发送的第二密码;

处理模块1106,还用于比较所述第一密码和所述第二密码,根据所述比较结果,验证所述用户的合法性。

如图12所示,当终端设备包括上述通用计算机结构800时,该通用计算机结构800进一步包括用于用户合法性验证的接收模块1202和发送模块1204。这些模块可以使用硬件实现,软件实现,或软件结合硬件实现。作为软件的模块,存储于通用计算机结构800的存储器804中,可以一起作为一个独立的程序,或分别作为独立的程序。作为一种可选的实施方式,这些软件模块也可以分别,或一起作为应用程序8042的一部分,或者作为操作系统8041的一部分。

接收模块1202,用于接收用户输入的生物特征信息;

接收模块1202,还用于接收所述验证服务器发送的验证码,所述验证码由多个字符组成;

发送模块1204,用于发送根据存储的算法、所述生物特征信息和所述验证码生成的密码给所述验证服务器,所述密码用于所述用户合法性的验证。

在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可 以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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