CN104836777A - 身份验证方法和系统 - Google Patents

身份验证方法和系统 Download PDF

Info

Publication number
CN104836777A
CN104836777A CN201410046968.8A CN201410046968A CN104836777A CN 104836777 A CN104836777 A CN 104836777A CN 201410046968 A CN201410046968 A CN 201410046968A CN 104836777 A CN104836777 A CN 104836777A
Authority
CN
China
Prior art keywords
son
default
authorization information
checking
sub
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.)
Granted
Application number
CN201410046968.8A
Other languages
English (en)
Other versions
CN104836777B (zh
Inventor
陈旺林
古开元
刘金星
陆莉
刘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410046968.8A priority Critical patent/CN104836777B/zh
Publication of CN104836777A publication Critical patent/CN104836777A/zh
Application granted granted Critical
Publication of CN104836777B publication Critical patent/CN104836777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Abstract

本发明提供了一种身份验证方法,包括:根据请求端发送的身份验证请求获取第一验证信息,将第一验证信息发送给请求端,根据请求端响应于第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;根据前一次子验证所获得的子验证结果获取第二验证信息,将第二验证信息发送给请求端,根据请求端响应于第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果;根据已发送的验证信息和已获得的子验证结果确定验证路径;根据验证路径与预设成功路径或预设失败路径的匹配结果判定身份验证结果。本发明提供的身份验证方法增加了破解难度,提高了安全性。本发明还提供了一种身份验证系统。

Description

身份验证方法和系统
技术领域
本发明涉及信息安全技术领域,特别是涉及一种身份验证方法和系统。
背景技术
随着计算机技术的发展,人们的生活、工作越来越依赖于计算机,用户通过账号等用户标识来表示自己的数字化身份,通过与账号匹配的密码来保障自己的数字化信息的安全,常见的账号密码有即时通信系统、社交网络以及电子邮箱等的账号密码。
为了保证账号密码的安全,用户一般将密码设置的比较复杂,以至于用户很容易忘记密码;而且互联网上充斥着大量的木马、病毒,恶意用户可通过这些恶意手段获取用户的密码并修改。上述这两种情况都会导致用户无法通过账号密码进行相应的登录操作,一般来说,官方的账号管理机构会设置找回密码的机制,用户可通过这种找回密码的机制找回密码。这就需要账号管理机构通过一定技术手段对用户的身份进行核实、验证,从而判断该账号是否属于该用户所有。
如图1所示,目前存在一种账号申诉的验证用户身份的手段,用户的账号被盗或忘记密码后,用户通过账号管理机构提供的官方网页,按照官方设置好的一系列的表格,填写表格中与账号相关的历史证据资料来证明自己是该账号的真实拥有者。当用户填写的资料与账号管理机构服务器上存储的历史数据匹配时,服务器会通过电子邮件等方式将成功凭据发送给用户,用户根据此凭据重置帐号的密码和密保资料,此时申诉成功。
然而,由于恶意用户也可以直接获取到账号管理机构提供的表格,从而可根据该表格猜测与账号相关的历史证据资料,从而通过不断的尝试进行破解,因此传统的身份验证方式安全性不高。
发明内容
基于此,有必要针对传统的身份验证方式安全性不高的问题,提供一种身份验证方法和系统。
一种身份验证方法,所述方法包括:
根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果;
根据已发送的验证信息和已获得的子验证结果确定验证路径;
判断所述验证路径是否与预设成功路径或预设失败路径匹配;
若是则根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
若否则继续执行所述根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果的步骤,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
一种身份验证系统,所述系统包括:第一子验证模块、第二子验证模块、验证路径确定模块、路径匹配判断模块和身份验证结果判定模块;
所述第一子验证模块,用于根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述第二子验证模块,用于根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果;
所述验证路径确定模块,用于根据已发送的验证信息和已获得的子验证结果确定验证路径;
所述路径匹配判断模块,用于判断所述验证路径是否与预设成功路径或预设失败路径匹配;
所述身份验证结果判定模块,用于当所述路径匹配判断模块判断为是时根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
所述第二子验证模块还用于当所述路径匹配判断模块判断为否时继续执行根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至所述路径匹配判断模块用于根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
上述身份验证方法和系统,先根据请求端发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端进行一次子验证,获得相应的子验证结果。然后再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端进行又一次子验证,获得相应的子验证结果。这样后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
一种身份验证方法,所述方法包括:
请求端向验证端发送身份验证请求;
所述验证端根据所述身份验证请求获取第一验证信息,并将所述第一验证信息发送给所述请求端;
所述请求端响应于所述第一验证信息,向所述验证端发送第一响应信息;
所述验证端根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述验证端根据前一次子验证所获得的子验证结果获取第二验证信息,并将所述第二验证信息发送给所述请求端;
所述请求端响应于所述第二验证信息,向所述验证端发送第二响应信息;
所述验证端根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果;
所述验证端根据已发送的验证信息和已获得的子验证结果确定验证路径;所述验证端判断所述验证路径是否与预设成功路径或预设失败路径匹配;
若是则所述验证端根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
若否则所述验证端继续根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
一种身份验证系统,所述系统包括请求端和验证端;
所述请求端用于向验证端发送身份验证请求;
所述验证端用于根据所述身份验证请求获取第一验证信息,并将所述第一验证信息发送给所述请求端;
所述请求端还用于响应于所述第一验证信息,向所述验证端发送第一响应信息;
所述验证端还用于根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;所述验证端还用于根据前一次子验证所获得的子验证结果获取第二验证信息,并将所述第二验证信息发送给所述请求端;
所述请求端还用于响应于所述第二验证信息,向所述验证端发送第二响应信息;
所述验证端还用于根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果;
所述验证端还用于根据已发送的验证信息和已获得的子验证结果确定验证路径;所述验证端还用于判断所述验证路径是否与预设成功路径或预设失败路径匹配;
所述验证端还用于若判断为是则根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
所述验证端还用于若判断为否则继续根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
上述身份验证方法和系统,验证端先根据请求端发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端进行一次子验证,获得相应的子验证结果。然后验证端再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端进行又一次子验证,获得相应的子验证结果。这样验证端上进行的后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
附图说明
图1为传统技术中进行身份验证的网页页面示意图;
图2为一个实施例中应用身份验证方法的身份验证系统的结构示意图;
图3为一个实施例中身份验证方法的流程示意图;
图4为一个实施例中预设的决策树的逻辑示意图;
图5为一个具体应用场景中身份验证方法的流程示意图;
图6为另一个具体应用场景中应用身份验证方法的身份验证系统的结构图;
图7为另一个具体应用场景中身份验证方法的流程示意图;
图8为另一个实施例中身份验证方法的流程示意图;
图9为一个实施例中身份验证系统的结构框图;
图10为图9中的第一子验证模块的一个实施例的结构框图;
图11为图9中的第二子验证模块的一个实施例的结构框图;
图12为另一个实施例中身份验证系统的结构框图;
图13为再一个实施例中身份验证系统的结构框图;
图14为一个实施例中身份验证系统的结构示意图;
图15为一个实施例中能实现本发明实施例的一个计算机系统的模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
在一个实施例中,提供了一种身份验证方法,该身份验证方法可应用于任意需要验证用户身份的场景。参考图2,图2是一个实施例中应用该方法的身份验证系统的结构图,该系统包括通过网络连接的请求端和验证端,用户通过操作请求端进行身份验证。其中请求端可以是终端,验证端可以是终端或者服务器。终端可以包括但不限于智能手机、平板电脑、个人数字助理、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、POS终端、车载电脑、膝上型便携计算机和台式计算机等。服务器包括但不限于各种计算机,包括个人计算机、大型计算机、超级计算机和计算机集群等。
如图3所示,本实施例中,该身份验证方法包括:
步骤302,根据请求端发送的身份验证请求获取第一验证信息,将第一验证信息发送给请求端,根据请求端响应于第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。
身份验证是指对操作请求端的用户的身份的确认操作。当用户需要进行身份验证时,通过请求端向验证端发送身份验证请求。验证端接收到身份验证请求后,根据请求端发送的身份验证请求获取第一验证信息并发送给请求端。其中验证信息与用户身份信息相关,比如验证信息可以是该用户的用户标识对应的用户历史资料相关的问题或提示语,用户标识用以唯一区分用户,用户标识比如可以是账号。第一验证信息是指用于第一次子验证的验证信息。
请求端接收到第一验证信息后显示该第一验证信息,用户根据显示的第一验证信息向请求端输入第一响应信息,请求端将第一响应信息发送给验证端。响应信息与验证信息对应,正确的响应信息应当与验证信息匹配,响应信息可以是用户标识对应的用户历史资料。第一响应信息是指用于第一次子验证的响应信息。
在整个身份验证过程中验证端需要进行多次子验证,验证端通过判断第一响应信息是否与第一验证信息匹配进行第一次子验证,从而获得表示第一次子验证成功或失败的子验证结果。
举例说明,身份验证请求可以包括待验证用户标识,待验证用户标识是需要通过身份验证来确定其是否属于操作请求端的用户的用户标识。第一验证信息可以是“曾经使用的账号密码”、“账号经常登录地区”、“用户账号绑定的手机号码”或者好友资料等与用户身份相关的信息。当用户向请求端输入正确的第一响应信息,比如自己正确的曾经使用的账号密码、正确的账号经常登录地区,正确的绑定手机号码或者正确的好友资料后,请求端将用户输入的第一响应信息发送给验证端,验证端对接收的第一响应信息进行验证,获得表示验证成功的子验证结果。相反,当用户输入错误的响应信息后,验证端会获得表示验证失败的子验证结果。
步骤304,根据前一次子验证所获得的子验证结果获取第二验证信息,将第二验证信息发送给请求端,根据请求端响应于第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
验证端进行第一次子验证之后,还会进行又一次子验证。在又一次子验证时使用的第二验证信息是根据前一次子验证所获得的子验证结果确定的。具体地第二次子验证时使用的第二验证信息是根据第一次子验证所获得的子验证结果确定的。验证端将第二验证信息发送给请求端,请求端显示该第二验证信息,用户根据显示的第二验证信息向请求端输入第二响应信息,请求端将第二响应信息发送给验证端。验证端通过判断第二响应信息是否与第二验证信息匹配,从而获得表示又一次子验证成功或失败的子验证结果。
步骤306,根据已发送的验证信息和已获得的子验证结果确定验证路径。
验证端在进行至少两次子验证之后,根据已发送的验证信息和已获得的子验证结果确定验证路径,使得验证路径包括已发送的验证信息、已发送的验证信息的顺序以及已获得的子验证结果的信息。
比如假设第一验证信息为问题1、第一响应信息为答案1,且第一次子验证的子验证结果为成功;第二次子验证中的第二验证信息为问题2、第二响应信息为答案2,且第二次子验证的子验证结果为失败。则验证路径可以表示为:“问题1(成功)—问题2(失败)”。
步骤308,判断验证路径是否与预设成功路径或预设失败路径匹配,若判断为匹配则执行步骤310,若判断为不匹配则继续执行步骤304。
验证端获取预设成功路径与预设失败路径,并将验证路径与预设成功路径和预设失败路径比较,当验证路径与预设成功路径和预设失败路径中的其中一个匹配时,可根据匹配结果判定身份验证结果。比如若验证路径为“问题1(成功)—问题2(失败)—问题3(成功)”,且一条预设成功路径为“问题1(成功)—问题2(失败)—问题3(成功)”,则此时验证路径与一条预设成功路径匹配。
当验证路径与预设成功路径和预设失败路径都不匹配时,说明验证端根据已进行的子验证还不足以判定身份验证结果,此时需要继续执行步骤304及其后续步骤,进行又一次子验证,且又一次子验证使用的第二验证信息是根据前一次子验证的子验证结果确定的,比如第三次子验证使用的第二验证信息是根据第二次子验证的子验证结果确定的。直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与预设成功路径或预设失败路径匹配为止。
比如若验证路径为“问题1(成功)—问题2(失败)”,但不存在“问题1(成功)—问题2(失败)”这样的预设成功路径和预设失败路径,则此时验证路径与预设成功路径和预设失败路径都不匹配。
在一个实施例中,预设成功路径和预设失败路径可以通过大量的决策路径训练样本进行训练获得。对于不同的用户或用户群可以预设不同的成功路径或失败路径,以动态调整身份验证的过程,从而增加破解身份验证的难度。
在一个实施例中,预设成功路径包括多个预设子验证结果,且预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值。预设失败路径包括多个预设子验证结果,且预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值。其中,第一预设阈值大于或等于第二预设阈值。
本实施例中,提供了生成预设成功路径和预设失败路径的手段。每条预设成功路径和预设失败路径包括多个按顺序排列的预设验证信息以及与该预设验证信息对应的预设子验证结果。其中预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值,这样进行身份验证时子验证正确率超过第一预设阈值才会判定为身份验证成功。相反,预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值,这样进行身份验证时子验证正确率低于第二预设阈值则判定为身份验证失败。并且第一预设阈值大于或等于第二预设阈值,以完全区分预设成功路径和预设失败路径,保证身份验证能够得到唯一正确的结果。
步骤310,根据验证路径与预设成功路径或预设失败路径的匹配结果判定身份验证结果。
具体地,若验证路径与成功路径匹配,则验证端判定身份验证成功;若验证路径与失败路径匹配,则验证端判定身份验证失败,从而可给出最终的身份验证结果。
上述身份验证方法,验证端先根据请求端发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端进行一次子验证,获得相应的子验证结果。然后验证端再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端进行又一次子验证,获得相应的子验证结果。这样后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
在一个实施例中,步骤302包括:根据请求端通过网页服务器发送的身份验证请求获取第一验证信息,通过网页服务器将第一验证信息发送给请求端,根据请求端响应于第一验证信息而通过网页服务器所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。
而且,步骤304包括:根据前一次子验证所获得的子验证结果获取第二验证信息,通过网页服务器将第二验证信息发送给请求端,根据请求端响应于第二验证信息而通过网页服务器所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
本实施例中,请求端和验证端之间的通信都通过网页服务器中转,适用于请求端通过访问网页以访问网页服务器从而进行身份验证的应用场景,比如找回用户密码的应用场景。可对已有的网页服务器稍加改造,增加验证端即可实现本实施例的身份验证方法,使得该身份验证方法的应用兼容性强。
在一个实施例中,步骤302具体包括步骤11)~步骤14):
步骤11),根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点。
参考图4,图4为预设的决策树的逻辑图,预设决策树的每个非叶子结点(比如A0、A1、A2、A3、B1、B2、B3等)与预设验证信息一一对应。预设验证信息可以存储在决策树的对应结点中;也可以分别存储预设决策树和预设验证信息,并存储预设决策树的决策结点和预设验证信息的对应关系。预设决策树和/或预设验证信息可存储在验证端中,也可以存储在网络上的其它节点中,需要时即时获取。验证端接收到请求端发送的身份验证请求后,可采用多种方式在预设决策树中确定用于第一次子验证的决策结点。
在一个实施例中,步骤11)具体包括:根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点作为用于第一次子验证的决策结点。本实施例中,预设决策树中预设了初始决策结点,验证端接收到请求端发送的身份验证请求后,直接将该初始决策结点作为用于第一次子验证的决策结点。比如可将预设决策树的根结点作为用于第一次子验证的决策结点。
在一个实施例中,步骤11)具体包括:根据请求端发送的身份验证请求,从预设决策树中随机选取决策结点作为用于第一次子验证的决策结点。本实施例中,验证端在接收到请求端发送的身份验证请求后,从预设决策树的各个决策结点中随机选取一个决策结点作为用于第一次子验证的决策结点。采用随机方式确定用于第一次子验证的决策结点可进一步增加破解难度。
在一个实施例中,身份验证请求包括请求端的属性信息,步骤11)具体包括:根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
本实施例中,请求端获取请求端自身的属性信息,从而将包括属性信息的身份验证请求发送给验证端。属性信息是描述请求端自身特性的信息,比如可以是请求端的IP地址和/或MAC(Media Access Control,介质访问控制层)地址,还可以是请求端的终端类型,终端类型比如为手机、计算机等。其中一个决策结点的孩子结点是指该决策结点的直接后继子结点。
具体地,若属性信息为请求端的IP地址,则验证端可根据预设决策树的根结点对应的判定条件,对请求端的IP地址进行区域判定,确定请求端所在地区,比如北京、上海等,进而从预设决策树的根结点对应的孩子结点中选择与确定的请求端所在地区匹配的孩子结点作为用于第一次子验证的决策结点。
步骤12),根据预设的决策结点与预设验证信息的对应关系,获取用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。
验证端或其它网络节点上预存了决策结点与预设验证信息的对应关系,需要时验证端可随时获取该对应关系。验证端在确定了用于第一次子验证的决策结点后,根据该对应关系,直接获取用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。
步骤13),将第一验证信息发送给请求端,接收请求端响应于第一验证信息所反馈的第一响应信息。
验证端将第一验证信息发送给请求端,请求端接收并显示该第一验证信息,用户根据显示的第一验证信息向请求端输入第一响应信息,从而请求端将第一响应信息反馈给验证端,验证端接收请求端所反馈的第一响应信息。
步骤14),通过判断第一响应信息是否与用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
验证端上或其它网络节点上预存了预设决策树的决策结点和预设响应信息的对应关系,这里的预设响应信息是与预设验证信息匹配的正确的响应信息。当第一响应信息与用于第一次子验证的决策结点所对应的预设响应信息匹配时,说明第一次子验证成功;若不匹配则说明第一次子验证失败。
本实施例中,通过上述步骤11)~步骤14),根据预设决策树来获取第一验证信息,并使用预设决策树来对请求端根据第一验证信息反馈的第一响应信息进行第一次子验证。决策树可以很好地表示各个决策结点之间的关系,可提高计算效率。
在一个实施例中,步骤304具体包括步骤21)~步骤24):
步骤21),从预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
预设决策树的每个非叶子结点可对应两个孩子结点,且两个孩子节点分别与该非根结点对应的子验证结果匹配。比如图4中,当结点A1为用于第一次子验证的决策结点时,若结点A2与表示子验证失败的子验证结果匹配,则结点A3与表示子验证成功的子验证结果匹配。预设决策树的叶子节点对应预设子验证结果。
验证端进行又一次子验证,需要先从预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,根据前一次子验证的子验证结果,若该子验证结果为成功,则选择与该表示成功的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。若该子验证结果为失败,则选择与该表示子验证失败的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
具体地,进行第二次子验证,需要先从预设决策树中的用于第一次子验证的决策结点所对应的孩子结点中,选择与第一次子验证的子验证结果匹配的孩子结点作为用于第二次子验证的决策结点。
步骤22),根据预设的决策结点与预设验证信息的对应关系,获取用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
验证端或其它网络节点上预存了决策结点与预设验证信息的对应关系,需要时验证端可随时获取该对应关系。验证端在确定了用于又一次子验证的决策结点后,根据该对应关系,直接获取用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
步骤23),将第二验证信息发送给请求端,接收请求端响应于第二验证信息所反馈的第二响应信息。
验证端将第二验证信息发送给请求端,请求端接收并显示该第二验证信息,用户根据显示的第二验证信息向请求端输入第二响应信息,从而请求端将第二响应信息反馈给验证端,验证端接收请求端所反馈的第二响应信息。
步骤24),通过判断第二响应信息是否与用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
验证端上或其它网络节点上预存了预设决策树的决策结点和预设响应信息的对应关系,这里的预设响应信息是与预设验证信息匹配的正确的响应信息。当第二响应信息与用于又一次子验证的决策结点所对应的预设响应信息匹配时,说明该又一次子验证成功;若不匹配则说明该又一次子验证失败。
本实施例中,通过上述步骤21)~步骤24),根据预设决策树中用于前一次子验证的决策结点来确定用于又一次子验证的决策结点,从而获取的第二验证信息是根据前一次子验证的子验证结果确定的,并使用预设决策树来对请求端根据第二验证信息反馈的第二响应信息进行又一次子验证。决策树可以很好地表示各个决策结点之间的关系,可快速根据前一次子验证的子验证结果进行又一次子验证,可提高计算效率。
在一个实施例中,步骤306包括:根据预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
在预设决策树中,各个已发送的验证信息所对应的决策结点中,用于又一次子验证的决策结点是根据前一次子验证的子验证结果确定的,那么已发送的验证信息所对应的决策结点构成的验证路径本身就包含各次子验证所获得的子验证结果信息。比如图4中,A0-A1-A3-A4可以作为一条验证路径。本实施例中,根据预设决策树中的已发送的验证信息所对应的决策结点生成的验证路径,既能够体现每次子验证所使用的验证信息以及每次子验证的子验证结果,可提高身份验证的效率。
在一个实施例中,身份验证请求包括待验证用户标识;该身份验证方法还包括:当获得表示身份验证成功的身份验证结果时,向请求端或待验证用户标识对应的通信地址标识所对应的终端发送对应待验证用户标识的验证凭据,验证凭据用于据以修改待验证用户标识对应的用户资料。
本实施例中,当身份验证成功时,说明操作请求端的用户是可靠的,可认定操作请求端的用户是该待验证用户标识的主人。此时验证端可向请求端发送对应待验证用户标识的验证凭据,或者可向待验证用户标识对应的通信地址标识所对应的终端发送该待验证用户标识的验证凭据。通信地址标识可以是IP地址和/或MAC地址。请求端或其它终端接收到凭据后,用户可通过请求端或其它终端,根据该验证凭据修改待验证用户标识对应的用户资料。比如该验证凭据可以是一个网页链接,用户接收到该网页链接后点击该网页链接进入对应的网页,修改诸如用户密码等用户资料。
在一个实施例中,该身份验证方法还包括:记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据记录的验证路径更新预设成功路径和/或预设失败路径。
本实施例中,验证端在进行身份验证过程中,会记录每次身份验证时生成的验证路径。验证端每隔预设时间,比如每隔预设天数、每隔预设周数或每隔预设月数;或者每到预设时间点,比如每天的固定时间点、每周的固定日子、每月的固定日期等,根据记录的验证路径更新预设成功路径和/或预设失败路径。
具体地,验证端可统计记录的验证路径中与预设成功路径匹配的个数或频率,当统计的个数或频率超出第一个数门限值或第一频率门限值时,从多个预设成功路径中删除匹配的预设成功路径;此时说明该匹配的预设成功路径太容易实现,可能存在安全风险,删除匹配的预设成功路径后可增加破解难度。
进一步地,验证端也可统计记录的验证路径中验证成功的个数,将验证成功的个数超过验证成功个数阈值,且不属于预设成功路径和预设失败路径的验证路径设置为预设成功路径;此时可将满足要求的验证决策路径设置为预设成功路径,增加破解难度。
下面用一个具体应用场景来说明上述身份验证方法的原理。该应用场景中应用上述身份验证方法的身份验证系统的结构图如图2所示,包括请求端和验证端,用户操作请求端,参考图5,具体包括如下步骤:
请求端请求进行身份验证:请求端向验证端发送身份验证请求,身份验证请求包括请求端的地址标识和待验证用户标识,地址标识包括IP地址,该地址标识为请求端的属性信息。
验证端根据该身份验证请求,获取预设决策树的根结点(如图4中的A0)对应的判定条件,对请求端的IP地址进行区域判定,确定请求端所在地区,比如北京。进而验证端从预设决策树的根结点对应的孩子结点(如图4中的A1、B1)中选择与确定的请求端所在地区匹配的孩子结点(如图4中的A1)作为用于第一次子验证的决策结点。
验证端根据预设的决策结点与预设验证信息的对应关系,获取用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。验证端将第一验证信息发送给请求端,接收请求端响应于第一验证信息所反馈的第一响应信息。验证端通过判断第一响应信息是否与用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
验证端从预设决策树中的用于第一次子验证的决策结点(如图4中的A1)所对应的孩子结点(如图4中的A2、A3)中,选择与第一次子验证的子验证结果匹配的孩子结点(如图4中的A3)作为用于又一次子验证的决策结点。验证端根据预设的决策结点与预设验证信息的对应关系,获取用于又一次子验证的决策结点A3所对应的预设验证信息作为第二验证信息。验证端将第二验证信息发送给请求端,接收请求端响应于第二验证信息所反馈的第二响应信息。验证端通过判断第二响应信息是否与用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
验证端根据预设决策树中的已发送的验证信息所对应的决策结点(如图4中的A1、A3)生成验证路径为A0-A1-A3-A4,其中结点A0为起点,结点A4为A3的孩子结点中与第二子验证结果匹配的决策结点,以体现决策结点A3对应的子验证结果。
验证端判断验证路径是否与预设成功路径或预设失败路径匹配,当判断为匹配时,若验证路径与成功路径匹配,则验证端判定身份验证成功;若验证路径与失败路径匹配,则验证端判定身份验证失败。当判断为不匹配时则继续根据前一次子验证所获得的子验证结果获取第二验证信息,将第二验证信息发送给请求端,根据请求端响应于第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与预设成功路径或预设失败路径匹配。
最后,验证端判定身份验证结果后,向请求端返回身份验证成功或失败的结果,并返回与待验证用户标识对应的验证凭据,用户通过请求端根据该验证凭据修改待验证用户标识对应的用户资料,比如密码等。
在另一个具体应用场景中,应用上述身份验证方法的身份验证系统的结构图如图6所示,包括请求端、网页服务器和作为验证端的验证服务器,用户通过操作请求端进行身份验证。具体步骤可参照图7,与上述应用场景中不同的是,请求端与验证服务器之间不直接进行通信,请求端通过访问网页服务器,网页服务器再访问验证服务器完成身份验证的过程。详细身份验证的步骤请参考图7以及上述应用场景中的具体步骤,这里不再赘述。
如图8所示,在一个实施例中,提供了一种身份验证方法,该方法包括:
步骤801,请求端向验证端发送身份验证请求。
身份验证是指对操作请求端的用户的身份的确认操作。当用户需要进行身份验证时,通过请求端向验证端发送身份验证请求。
步骤802,验证端根据身份验证请求获取第一验证信息,并将第一验证信息发送给请求端。
验证端接收到身份验证请求后,根据请求端发送的身份验证请求获取第一验证信息并发送给请求端。其中验证信息与用户身份信息相关,比如验证信息可以是该用户的用户标识对应的用户历史资料相关的问题或提示语,用户标识用以唯一区分用户,用户标识比如可以是账号。第一验证信息是指用于第一次子验证的验证信息。
步骤803,请求端响应于第一验证信息,向验证端发送第一响应信息。
请求端接收到第一验证信息后显示该第一验证信息,用户根据显示的第一验证信息向请求端输入第一响应信息,请求端将第一响应信息发送给验证端。响应信息与验证信息对应,正确的响应信息应当与验证信息匹配,响应信息可以是用户标识对应的用户历史资料。第一响应信息是指用于第一次子验证的响应信息。
步骤804,验证端根据第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。
在整个身份验证过程中验证端需要进行多次子验证,验证端通过判断第一响应信息是否与第一验证信息匹配进行第一次子验证,从而获得表示第一次子验证成功或失败的子验证结果。
步骤805,验证端根据前一次子验证所获得的子验证结果获取第二验证信息,并将第二验证信息发送给请求端。
验证端进行第一次子验证之后,还会进行又一次子验证。在又一次子验证时使用的第二验证信息是根据前一次子验证所获得的子验证结果确定的。具体地第二次子验证时使用的第二验证信息是根据第一次子验证所获得的子验证结果确定的,验证端将第二验证信息发送给请求端。
步骤806,请求端响应于第二验证信息,向验证端发送第二响应信息。
请求端显示第二验证信息,用户根据显示的第二验证信息向请求端输入第二响应信息,请求端将第二响应信息发送给验证端。
步骤807,验证端根据第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果。
验证端通过判断第二响应信息是否与第二验证信息匹配,从而获得表示又一次子验证成功或失败的子验证结果。
步骤808,验证端根据已发送的验证信息和已获得的子验证结果确定验证路径。
验证端在进行至少两次子验证之后,根据已发送的验证信息和已获得的子验证结果确定验证路径,使得验证路径包括已发送的验证信息、已发送的验证信息的顺序以及已获得的子验证结果的信息。
步骤809,验证端判断验证路径是否与预设成功路径或预设失败路径匹配,若判断为是则执行步骤810,若判断为否则继续执行步骤805及其后续步骤。
验证端获取预设成功路径与预设失败路径,并将验证路径与预设成功路径和预设失败路径比较,当验证路径与预设成功路径和预设失败路径中的其中一个匹配时,可根据匹配结果判定身份验证结果。
当验证路径与预设成功路径和预设失败路径都不匹配时,说明验证端根据已进行的子验证还不足以判定身份验证结果,此时需要继续执行步骤805及其后续步骤,进行又一次子验证,且又一次子验证使用的第二验证信息是根据前一次子验证的子验证结果确定的,比如第三次子验证使用的第二验证信息是根据第二次子验证的子验证结果确定的。直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与预设成功路径或预设失败路径匹配为止。
步骤810,验证端根据验证路径与预设成功路径或预设失败路径的匹配结果判定身份验证结果。
具体地,若验证路径与成功路径匹配,则验证端判定身份验证成功;若验证路径与失败路径匹配,则验证端判定身份验证失败,从而可给出最终的身份验证结果。
上述身份验证方法,验证端先根据请求端发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端进行一次子验证,获得相应的子验证结果。然后验证端再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端进行又一次子验证,获得相应的子验证结果。这样后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
在一个实施例中,所述请求端通过网页服务器与所述验证端通信;所述验证端通过所述网页服务器与所述请求端通信。本实施例中,请求端和验证端之间的通信都通过网页服务器中转,适用于请求端通过访问网页以访问网页服务器从而进行身份验证的应用场景,比如找回用户密码的应用场景。可对已有的网页服务器稍加改造,增加验证端即可实现本实施例的身份验证方法,使得该身份验证方法的应用兼容性强。
在一个实施例中,所述验证端根据所述身份验证请求获取第一验证信息的步骤具体包括:所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;所述验证端根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。
而且,所述验证端根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果的步骤具体包括:所述验证端通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
本实施例中,决策树的每个非叶子结点与预设验证信息一一对应,预设验证信息可以存储在决策树的对应结点中;也可以分别存储预设决策树和预设验证信息,并存储预设决策树的决策结点和预设验证信息的对应关系。预设决策树和/或预设验证信息可存储在验证端中,也可以存储在网络上的其它节点中,需要时即时获取。
验证端在确定了用于第一次子验证的决策结点后,根据该对应关系,直接获取用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。验证端将第一验证信息发送给请求端,请求端接收并显示该第一验证信息,用户根据显示的第一验证信息向请求端输入第一响应信息,从而请求端将第一响应信息反馈给验证端,验证端接收请求端所反馈的第一响应信息。
验证端上或其它网络节点上预存了预设决策树的决策结点和预设响应信息的对应关系,这里的预设响应信息是与预设验证信息匹配的正确的响应信息。当第一响应信息与用于第一次子验证的决策结点所对应的预设响应信息匹配时,说明第一次子验证成功;若不匹配则说明第一次子验证失败。
本实施例中,验证端根据预设决策树来获取第一验证信息,并使用预设决策树来对请求端根据第一验证信息反馈的第一响应信息进行第一次子验证。决策树可以很好地表示各个决策结点之间的关系,可提高计算效率。
在一个实施例中,所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点的步骤具体包括:所述验证端根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点作为用于第一次子验证的决策结点。
本实施例中,预设决策树中预设了初始决策结点,验证端接收到请求端发送的身份验证请求后,直接将该初始决策结点作为用于第一次子验证的决策结点。比如可将预设决策树的根结点作为用于第一次子验证的决策结点。
在一个实施例中,所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点的步骤具体包括:所述验证端根据请求端发送的身份验证请求,从预设决策树中随机选取决策结点作为用于第一次子验证的决策结点。
本实施例中,验证端在接收到请求端发送的身份验证请求后,从预设决策树的各个决策结点中随机选取一个决策结点作为用于第一次子验证的决策结点。采用随机方式确定用于第一次子验证的决策结点可进一步增加破解难度。
在一个实施例中,所述身份验证请求包括所述请求端的属性信息;所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点的步骤具体包括:所述验证端根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
本实施例中,请求端获取请求端自身的属性信息,从而将包括属性信息的身份验证请求发送给验证端。属性信息是描述请求端自身特性的信息,比如可以是请求端的IP地址和/或MAC地址,还可以是请求端的终端类型,终端类型比如为手机、计算机等。其中一个决策结点的孩子结点是指该决策结点的直接后继子结点。
具体地,若属性信息为请求端的IP地址,则验证端可根据预设决策树的根结点对应的判定条件,对请求端的IP地址进行区域判定,确定请求端所在地区,比如北京、上海等,进而从预设决策树的根结点对应的孩子结点中选择与确定的请求端所在地区匹配的孩子结点作为用于第一次子验证的决策结点。
在一个实施例中,所述验证端根据前一次子验证所获得的子验证结果获取第二验证信息的步骤具体包括:所述验证端从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;所述验证端根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
而且,所述验证端根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果的步骤具体包括:所述验证端通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
预设决策树的每个非叶子结点可对应两个孩子结点,且两个孩子节点分别与该非根结点对应的子验证结果匹配。预设决策树的叶子节点对应预设子验证结果。验证端进行又一次子验证,需要先从预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,根据前一次子验证的子验证结果,若该子验证结果为成功,则选择与该表示成功的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。若该子验证结果为失败,则选择与该表示子验证失败的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
验证端或其它网络节点上预存了决策结点与预设验证信息的对应关系,需要时验证端可随时获取该对应关系。验证端在确定了用于又一次子验证的决策结点后,根据该对应关系,直接获取用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
验证端将第二验证信息发送给请求端,请求端接收并显示该第二验证信息,用户根据显示的第二验证信息向请求端输入第二响应信息,从而请求端将第二响应信息反馈给验证端,验证端接收请求端所反馈的第二响应信息。
验证端上或其它网络节点上预存了预设决策树的决策结点和预设响应信息的对应关系,这里的预设响应信息是与预设验证信息匹配的正确的响应信息。当第二响应信息与用于又一次子验证的决策结点所对应的预设响应信息匹配时,说明该又一次子验证成功;若不匹配则说明该又一次子验证失败。
本实施例中,验证端根据预设决策树中用于前一次子验证的决策结点来确定用于又一次子验证的决策结点,从而获取的第二验证信息是根据前一次子验证的子验证结果确定的,并使用预设决策树来对请求端根据第二验证信息反馈的第二响应信息进行又一次子验证。决策树可以很好地表示各个决策结点之间的关系,可快速根据前一次子验证的子验证结果进行又一次子验证,可提高计算效率。
在一个实施例中,所述验证端根据已发送的验证信息和已获得的子验证结果确定验证路径的步骤具体包括:所述验证端根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
在预设决策树中,各个已发送的验证信息所对应的决策结点中,用于又一次子验证的决策结点是根据前一次子验证的子验证结果确定的,那么已发送的验证信息所对应的决策结点构成的验证路径本身就包含各次子验证所获得的子验证结果信息。本实施例中,根据预设决策树中的已发送的验证信息所对应的决策结点生成的验证路径,既能够体现每次子验证所使用的验证信息以及每次子验证的子验证结果,可提高身份验证的效率。
在一个实施例中,预设成功路径包括多个预设子验证结果,且预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值。预设失败路径包括多个预设子验证结果,且预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值。其中,第一预设阈值大于或等于第二预设阈值。
本实施例中,提供了生成预设成功路径和预设失败路径的手段。每条预设成功路径和预设失败路径包括多个按顺序排列的预设验证信息以及与该预设验证信息对应的预设子验证结果。其中预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值,这样进行身份验证时子验证正确率超过第一预设阈值才会判定为身份验证成功。相反,预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值,这样进行身份验证时子验证正确率低于第二预设阈值则判定为身份验证失败。并且第一预设阈值大于或等于第二预设阈值,以完全区分预设成功路径和预设失败路径,保证身份验证能够得到唯一正确的结果。
在一个实施例中,所述身份验证请求包括待验证用户标识;该身份验证方法还包括:所述验证端在获得表示身份验证成功的身份验证结果后,向所述请求端发送对应所述待验证用户标识的验证凭据;所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
本实施例中,当身份验证成功时,说明操作请求端的用户是可靠的,可认定操作请求端的用户是该待验证用户标识的主人。此时验证端可向请求端发送对应待验证用户标识的验证凭据,或者可向待验证用户标识对应的通信地址标识所对应的终端发送该待验证用户标识的验证凭据。通信地址标识可以是IP地址和/或MAC地址。请求端或其它终端接收到凭据后,用户可通过请求端或其它终端,根据该验证凭据修改待验证用户标识对应的用户资料。比如该验证凭据可以是一个网页链接,用户接收到该网页链接后点击该网页链接进入对应的网页,修改诸如用户密码等用户资料。
在一个实施例中,该身份验证方法还包括:所述验证端记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
本实施例中,验证端在进行身份验证过程中,会记录每次身份验证时生成的验证路径。验证端每隔预设时间,比如每隔预设天数、每隔预设周数或每隔预设月数;或者每到预设时间点,比如每天的固定时间点、每周的固定日子、每月的固定日期等,根据记录的验证路径更新预设成功路径和/或预设失败路径。
具体地,验证端可统计记录的验证路径中与预设成功路径匹配的个数或频率,当统计的个数或频率超出第一个数门限值或第一频率门限值时,从多个预设成功路径中删除匹配的预设成功路径;此时说明该匹配的预设成功路径太容易实现,可能存在安全风险,删除匹配的预设成功路径后可增加破解难度。
进一步地,验证端也可统计记录的验证路径中验证成功的个数,将验证成功的个数超过验证成功个数阈值,且不属于预设成功路径和预设失败路径的验证路径设置为预设成功路径;此时可将满足要求的验证决策路径设置为预设成功路径,增加破解难度。
本实施例提供的身份验证方法,可适用上述参考图5或图7的具体应用场景,在此不再赘述。
如图9所示,在一个实施例中,提供了一种身份验证系统,该身份验证系统包括:第一子验证模块902、第二子验证模块904、验证路径确定模块906、路径匹配判断模块908和身份验证结果判定模块910。
所述第一子验证模块902,用于根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。
身份验证是指对操作请求端的用户的身份的确认操作。当用户需要进行身份验证时,通过请求端发送身份验证请求。第一子验证模块902用于接收到身份验证请求后,根据请求端发送的身份验证请求获取第一验证信息并发送给请求端。其中验证信息与用户身份信息相关,比如验证信息可以是该用户的用户标识对应的用户历史资料相关的问题或提示语,用户标识用以唯一区分用户,用户标识比如可以是账号。第一验证信息是指用于第一次子验证的验证信息。
请求端接收到第一验证信息后显示该第一验证信息,用户根据显示的第一验证信息向请求端输入第一响应信息,请求端发送该第一响应信息。响应信息与验证信息对应,正确的响应信息应当与验证信息匹配,响应信息可以是用户标识对应的用户历史资料。第一响应信息是指用于第一次子验证的响应信息。第一子验证模块902用于通过判断第一响应信息是否与第一验证信息匹配进行第一次子验证,从而获得表示第一次子验证成功或失败的子验证结果。
所述第二子验证模块904,用于根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
第二子验证模块904用于在进行第一次子验证之后,进行又一次子验证。在又一次子验证时使用的第二验证信息是根据前一次子验证所获得的子验证结果确定的。具体地第二次子验证时使用的第二验证信息是根据第一次子验证所获得的子验证结果确定的。第二子验证模块904用于将第二验证信息发送给请求端,请求端显示该第二验证信息,用户根据显示的第二验证信息向请求端输入第二响应信息,请求端发送该第二响应信息。第二子验证模块904用于通过判断第二响应信息是否与第二验证信息匹配,从而获得表示又一次子验证成功或失败的子验证结果。
所述验证路径确定模块906,用于根据已发送的验证信息和已获得的子验证结果确定验证路径。
验证路径确定模块906用于在进行至少两次子验证之后,根据已发送的验证信息和已获得的子验证结果确定验证路径,使得验证路径包括已发送的验证信息、已发送的验证信息的顺序以及已获得的子验证结果的信息。
所述路径匹配判断模块908,用于判断所述验证路径是否与预设成功路径或预设失败路径匹配。
所述路径匹配判断模块908用于获取预设成功路径与预设失败路径,并将验证路径与预设成功路径和预设失败路径比较,判断所述验证路径是否与预设成功路径或预设失败路径匹配。
在一个实施例中,路径匹配判断模块908可用于通过大量的决策路径训练样本进行训练获得预设成功路径和预设失败路径。对于不同的用户或用户群可以预设不同的成功路径或失败路径,以动态调整身份验证的过程,从而增加破解身份验证的难度。
所述身份验证结果判定模块910,用于当所述路径匹配判断模块908判断为是时根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果。
身份验证结果判定模块910可用于当验证路径与预设成功路径和预设失败路径中的其中一个匹配时,根据匹配结果判定身份验证结果。具体地,若验证路径与成功路径匹配,则身份验证结果判定模块910用于判定身份验证成功;若验证路径与失败路径匹配,则身份验证结果判定模块910用于判定身份验证失败,从而可给出最终的身份验证结果。
所述第二子验证模块904还用于当所述路径匹配判断模块908判断为否时继续执行根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至所述路径匹配判断模块908用于根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
当验证路径与预设成功路径和预设失败路径都不匹配时,说明根据已进行的子验证还不足以判定身份验证结果,此时需要继续进行又一次子验证,且又一次子验证使用的第二验证信息是根据前一次子验证的子验证结果确定的,比如第三次子验证使用的第二验证信息是根据第二次子验证的子验证结果确定的。直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与预设成功路径或预设失败路径匹配为止。
上述身份验证系统,先根据请求端发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端进行一次子验证,获得相应的子验证结果。然后再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端进行又一次子验证,获得相应的子验证结果。这样后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
在一个实施例中,所述第一子验证模块902还用于根据请求端通过网页服务器发送的身份验证请求获取第一验证信息,通过所述网页服务器将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息而通过所述网页服务器所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。
而且,所述第二子验证模块904还用于根据前一次子验证所获得的子验证结果获取第二验证信息,通过所述网页服务器将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息而通过所述网页服务器所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
本实施例中,第一子验证模块902和第二子验证模块904用于通过网页服务器中转进行通信,适用于请求端通过访问网页以访问网页服务器从而进行身份验证的应用场景,比如找回用户密码的应用场景。可对已有的网页服务器稍加改造即可实现身份验证,应用兼容性强。
如图10所示,在一个实施例中,第一子验证模块902包括第一决策结点确定模块902a、第一验证信息获取模块902b、第一信息收发模块902c和第一子验证执行模块902d。
第一决策结点确定模块902a,用于根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点。
预设决策树的每个非叶子结点与预设验证信息一一对应。预设验证信息可以存储在决策树的对应结点中;也可以分别存储预设决策树和预设验证信息,并存储预设决策树的决策结点和预设验证信息的对应关系。第一决策结点确定模块902a用于接收到请求端发送的身份验证请求后,可采用多种方式在预设决策树中确定用于第一次子验证的决策结点。
在一个实施例中,第一决策结点确定模块902a还用于根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点作为用于第一次子验证的决策结点。本实施例中,预设决策树中预设了初始决策结点,当接收到请求端发送的身份验证请求后,直接将该初始决策结点作为用于第一次子验证的决策结点。比如可将预设决策树的根结点作为用于第一次子验证的决策结点。
在一个实施例中,第一决策结点确定模块902a还用于根据请求端发送的身份验证请求,从预设决策树中随机选取决策结点作为用于第一次子验证的决策结点。本实施例中,在接收到请求端发送的身份验证请求后,从预设决策树的各个决策结点中随机选取一个决策结点作为用于第一次子验证的决策结点。采用随机方式确定用于第一次子验证的决策结点可进一步增加破解难度。
在一个实施例中,所述身份验证请求包括所述请求端的属性信息;所述第一决策结点确定模块902a还用于根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
本实施例中,请求端获取请求端自身的属性信息,从而发送包括属性信息的身份验证请求。属性信息是描述请求端自身特性的信息,比如可以是请求端的IP地址和/或MAC地址,还可以是请求端的终端类型,终端类型比如为手机、计算机等。其中一个决策结点的孩子结点是指该决策结点的直接后继子结点。
具体地,若属性信息为请求端的IP地址,则第一决策结点确定模块902a可用于根据预设决策树的根结点对应的判定条件,对请求端的IP地址进行区域判定,确定请求端所在地区,比如北京、上海等,进而从预设决策树的根结点对应的孩子结点中选择与确定的请求端所在地区匹配的孩子结点作为用于第一次子验证的决策结点。
第一验证信息获取模块902b,用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。
第一信息收发模块902c,用于将所述第一验证信息发送给所述请求端,接收所述请求端响应于所述第一验证信息所反馈的第一响应信息。
第一子验证执行模块902d,用于通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
本实施例中,根据预设决策树来获取第一验证信息,并使用预设决策树来对请求端根据第一验证信息反馈的第一响应信息进行第一次子验证。决策树可以很好地表示各个决策结点之间的关系,可提高计算效率。
如图11所示,在一个实施例中,第二子验证模块904包括第二决策结点确定模块904a、第二验证信息获取模块904b、第二信息收发模块904c和第二子验证执行模块904d。
第二决策结点确定模块904a,用于从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
预设决策树的每个非叶子结点可对应两个孩子结点,且两个孩子节点分别与该非根结点对应的子验证结果匹配。预设决策树的叶子节点对应预设子验证结果。第二决策结点确定模块904a用于进行又一次子验证时,先从预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,根据前一次子验证的子验证结果,若该子验证结果为成功,则选择与该表示成功的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。用于若该子验证结果为失败,则选择与该表示子验证失败的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
第二验证信息获取模块904b,用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
第二信息收发模块904c,用于将所述第二验证信息发送给所述请求端,接收所述请求端响应于所述第二验证信息所反馈的第二响应信息。
第二子验证执行模块904d,用于通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
本实施例中,根据预设决策树中用于前一次子验证的决策结点来确定用于又一次子验证的决策结点,从而获取的第二验证信息是根据前一次子验证的子验证结果确定的,并使用预设决策树来对请求端根据第二验证信息反馈的第二响应信息进行又一次子验证。决策树可以很好地表示各个决策结点之间的关系,可快速根据前一次子验证的子验证结果进行又一次子验证,可提高计算效率。
在一个实施例中,验证路径确定模块906还用于根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
在预设决策树中,各个已发送的验证信息所对应的决策结点中,用于又一次子验证的决策结点是根据前一次子验证的子验证结果确定的,那么已发送的验证信息所对应的决策结点构成的验证路径本身就包含各次子验证所获得的子验证结果信息。本实施例中,根据预设决策树中的已发送的验证信息所对应的决策结点生成的验证路径,既能够体现每次子验证所使用的验证信息以及每次子验证的子验证结果,可提高身份验证的效率。
在一个实施例中,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值。所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值。其中,所述第一预设阈值大于或等于所述第二预设阈值。
本实施例中,每条预设成功路径和预设失败路径包括多个按顺序排列的预设验证信息以及与该预设验证信息对应的预设子验证结果。其中预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值,这样进行身份验证时子验证正确率超过第一预设阈值才会判定为身份验证成功。相反,预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值,这样进行身份验证时子验证正确率低于第二预设阈值则判定为身份验证失败。并且第一预设阈值大于或等于第二预设阈值,以完全区分预设成功路径和预设失败路径,保证身份验证能够得到唯一正确的结果。
如图12所示,在一个实施例中,所述身份验证请求包括待验证用户标识;该身份验证系统还包括验证凭据发送模块912,用于当获得表示身份验证成功的身份验证结果时,向所述请求端或所述待验证用户标识对应的通信地址标识所对应的终端发送对应所述待验证用户标识的验证凭据,所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
本实施例中,当身份验证成功时,说明操作请求端的用户是可靠的,可认定操作请求端的用户是该待验证用户标识的主人。此时验证凭据发送模块912向请求端发送对应待验证用户标识的验证凭据,或者用于向待验证用户标识对应的通信地址标识所对应的终端发送该待验证用户标识的验证凭据。通信地址标识可以是IP地址和/或MAC地址。请求端或其它终端接收到凭据后,用户可通过请求端或其它终端,根据该验证凭据修改待验证用户标识对应的用户资料。比如该验证凭据可以是一个网页链接,用户接收到该网页链接后点击该网页链接进入对应的网页,修改诸如用户密码等用户资料。
如图13所示,在一个实施例中,该身份验证系统还包括路径更新模块914,用于记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
本实施例中,路径更新模块914用于在进行身份验证过程中,记录每次身份验证时生成的验证路径。路径更新模块914用于每隔预设时间,比如每隔预设天数、每隔预设周数或每隔预设月数;或者每到预设时间点,比如每天的固定时间点、每周的固定日子、每月的固定日期等,根据记录的验证路径更新预设成功路径和/或预设失败路径。
具体地,路径更新模块914可用于统计记录的验证路径中与预设成功路径匹配的个数或频率,当统计的个数或频率超出第一个数门限值或第一频率门限值时,从多个预设成功路径中删除匹配的预设成功路径;此时说明该匹配的预设成功路径太容易实现,可能存在安全风险,删除匹配的预设成功路径后可增加破解难度。
进一步地,路径更新模块914也可用于统计记录的验证路径中验证成功的个数,将验证成功的个数超过验证成功个数阈值,且不属于预设成功路径和预设失败路径的验证路径设置为预设成功路径;此时可将满足要求的验证决策路径设置为预设成功路径,增加破解难度。
如图14所示,在一个实施例中,提供了另一种身份验证系统,该身份验证系统包括请求端1402和验证端1404。
所述请求端1402用于向验证端1404发送身份验证请求。
身份验证是指对操作请求端的用户的身份的确认操作。当用户需要进行身份验证时,请求端1402用于向验证端发送身份验证请求。
所述验证端1404用于根据所述身份验证请求获取第一验证信息,并将所述第一验证信息发送给所述请求端1402。
验证端1404用于接收到身份验证请求后,根据请求端1402发送的身份验证请求获取第一验证信息并发送给请求端1402。其中验证信息与用户身份信息相关,比如验证信息可以是该用户的用户标识对应的用户历史资料相关的问题或提示语,用户标识用以唯一区分用户,用户标识比如可以是账号。第一验证信息是指用于第一次子验证的验证信息。
所述请求端1402还用于响应于所述第一验证信息,向所述验证端1404发送第一响应信息。
请求端1402用于接收到第一验证信息后显示该第一验证信息,用户根据显示的第一验证信息向请求端1402输入第一响应信息,请求端1402用于将第一响应信息发送给验证端1404。响应信息与验证信息对应,正确的响应信息应当与验证信息匹配,响应信息可以是用户标识对应的用户历史资料。第一响应信息是指用于第一次子验证的响应信息。
所述验证端1404还用于根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果。所述验证端1404还用于根据前一次子验证所获得的子验证结果获取第二验证信息,并将所述第二验证信息发送给所述请求端1402。
所述请求端1402还用于响应于所述第二验证信息,向所述验证端1404发送第二响应信息。
请求端1402用于显示第二验证信息,用户根据显示的第二验证信息向请求端1402输入第二响应信息,请求端1402用于将第二响应信息发送给验证端1404。
所述验证端1404还用于根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果。
验证端1404用于通过判断第二响应信息是否与第二验证信息匹配,从而获得表示又一次子验证成功或失败的子验证结果。
所述验证端1404还用于根据已发送的验证信息和已获得的子验证结果确定验证路径。所述验证端1404还用于判断所述验证路径是否与预设成功路径或预设失败路径匹配。
验证端1404用于在进行至少两次子验证之后,根据已发送的验证信息和已获得的子验证结果确定验证路径,使得验证路径包括已发送的验证信息、已发送的验证信息的顺序以及已获得的子验证结果的信息。验证端1404用于获取预设成功路径与预设失败路径,并将验证路径与预设成功路径和预设失败路径比较,以判断所述验证路径是否与预设成功路径或预设失败路径匹配
所述验证端1404还用于若判断为是则根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果。
当验证路径与预设成功路径和预设失败路径中的其中一个匹配时,验证端1404可用于根据匹配结果判定身份验证结果。具体地,若验证路径与成功路径匹配,则验证端1404用于判定身份验证成功;若验证路径与失败路径匹配,则验证端1404用于判定身份验证失败,从而可给出最终的身份验证结果。
所述验证端1404还用于若判断为否则继续根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端1402,根据所述请求端1402响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
当验证路径与预设成功路径和预设失败路径都不匹配时,说明根据已进行的子验证还不足以判定身份验证结果,此时需要继续进行又一次子验证,且又一次子验证使用的第二验证信息是根据前一次子验证的子验证结果确定的,比如第三次子验证使用的第二验证信息是根据第二次子验证的子验证结果确定的。直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与预设成功路径或预设失败路径匹配为止。
上述身份验证系统,验证端1404用于先根据请求端1402发送的身份验证请求获取第一验证信息,根据该第一验证信息对请求端1402进行一次子验证,获得相应的子验证结果。然后验证端1404用于再根据前一次子验证所获得的子验证结果获取第二验证信息,根据该第二验证信息再对请求端1402进行又一次子验证,获得相应的子验证结果。这样后一次子验证所使用的验证信息是根据前一次子验证过程的子验证结果决定的,前一次子验证的成功或失败,会导致后一次子验证所使用的验证信息的不同。然后再根据已发送的验证信息和已获得的子验证结果确定验证路径,从而判断验证路径是否与预设成功路径或失败路径匹配。若匹配则直接给出身份验证结果,若不匹配则继续根据前一次子验证所获得的子验证结果获取第二验证信息,从而进行又一次子验证,直至能够给出身份验证结果。
这样当恶意用户欲通过猜测方式破解身份验证时,恶意用户无法知道每次子验证的子验证结果,也就无法知晓每次针对验证信息的猜测是否正确,难以破解,安全性高。而且由于后一次子验证是基于前一次子验证的子验证结果进行的,这样恶意用户多次通过猜测方式破解身份验证时,会因猜测正确或错误的不同而导致后续子验证所使用的验证信息的不同,从而增加了整个身份验证过程的动态变化,进一步增加了破解难度,提高了安全性。
在一个实施例中,所述请求端1402还用于通过网页服务器与所述验证端1404通信;所述验证端1404还用于通过所述网页服务器与所述请求端1402通信。本实施例中,请求端1402还用于通过网页服务器与所述验证端1404通信;所述验证端1404还用于通过所述网页服务器与所述请求端1402通信,适用于请求端通过访问网页以访问网页服务器从而进行身份验证的应用场景,比如找回用户密码的应用场景。
在一个实施例中,所述验证端1404还用于根据请求端1402发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;所述验证端1404还用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。所述验证端1404还用于通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
本实施例中,决策树的每个非叶子结点与预设验证信息一一对应,预设验证信息可以存储在决策树的对应结点中;也可以分别存储预设决策树和预设验证信息,并存储预设决策树的决策结点和预设验证信息的对应关系。验证端1404用于在确定了用于第一次子验证的决策结点后,根据该对应关系,直接获取用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息。验证端1404用于将第一验证信息发送给请求端1402,请求端1402用于接收并显示该第一验证信息,用户根据显示的第一验证信息向请求端1402输入第一响应信息,从而请求端1402用于将第一响应信息反馈给验证端1404,验证端1404用于接收请求端1402所反馈的第一响应信息。
预设响应信息是与预设验证信息匹配的正确的响应信息。当第一响应信息与用于第一次子验证的决策结点所对应的预设响应信息匹配时,说明第一次子验证成功;若不匹配则说明第一次子验证失败。
本实施例中,验证端1404用于根据预设决策树来获取第一验证信息,并使用预设决策树来对请求端1402根据第一验证信息反馈的第一响应信息进行第一次子验证。决策树可以很好地表示各个决策结点之间的关系,可提高计算效率。
在一个实施例中,所述验证端1404还用于根据请求端1402发送的身份验证请求,从预设决策树中选择预设的初始决策结点作为用于第一次子验证的决策结点。本实施例中,预设决策树中预设了初始决策结点,验证端1404用于接收到请求端发送的身份验证请求后,直接将该初始决策结点作为用于第一次子验证的决策结点。比如可将预设决策树的根结点作为用于第一次子验证的决策结点。
在一个实施例中,所述验证端1404还用于根据请求端1402发送的身份验证请求,从预设决策树中随机选取决策结点作为用于第一次子验证的决策结点。本实施例中,验证端1404用于在接收到请求端发送的身份验证请求后,从预设决策树的各个决策结点中随机选取一个决策结点作为用于第一次子验证的决策结点。采用随机方式确定用于第一次子验证的决策结点可进一步增加破解难度。
在一个实施例中,所述身份验证请求包括所述请求端1402的属性信息;所述验证端1404还用于根据请求端1402发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
本实施例中,请求端1402用于获取请求端1402自身的属性信息,从而将包括属性信息的身份验证请求发送给验证端。属性信息是描述请求端自身特性的信息,比如可以是请求端1402的IP地址和/或MAC地址。其中一个决策结点的孩子结点是指该决策结点的直接后继子结点。
具体地,若属性信息为请求端1402的IP地址,则验证端1404可用于根据预设决策树的根结点对应的判定条件,对请求端1402的IP地址进行区域判定,确定请求端1402所在地区,比如北京、上海等,进而从预设决策树的根结点对应的孩子结点中选择与确定的请求端1402所在地区匹配的孩子结点作为用于第一次子验证的决策结点。
在一个实施例中,所述验证端1404还用于从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;所述验证端1404还用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。
而且,所述验证端1404还用于通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
预设决策树的每个非叶子结点可对应两个孩子结点,且两个孩子节点分别与该非根结点对应的子验证结果匹配。预设决策树的叶子节点对应预设子验证结果。验证端1404用于进行又一次子验证,用于先从预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,根据前一次子验证的子验证结果,若该子验证结果为成功,则选择与该表示成功的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。若该子验证结果为失败,则选择与该表示子验证失败的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点。
验证端1404用于在确定了用于又一次子验证的决策结点后,根据该对应关系,直接获取用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息。验证端1404用于将第二验证信息发送给请求端1402,请求端1402用于接收并显示该第二验证信息,用户根据显示的第二验证信息向请求端1402输入第二响应信息,从而请求端1402用于将第二响应信息反馈给验证端,验证端1404用于接收请求端所反馈的第二响应信息。
这里的预设响应信息是与预设验证信息匹配的正确的响应信息。当第二响应信息与用于又一次子验证的决策结点所对应的预设响应信息匹配时,说明该又一次子验证成功;若不匹配则说明该又一次子验证失败。
本实施例中,验证端1404用于根据预设决策树中用于前一次子验证的决策结点来确定用于又一次子验证的决策结点,从而获取的第二验证信息是根据前一次子验证的子验证结果确定的,并使用预设决策树来对请求端1402根据第二验证信息反馈的第二响应信息进行又一次子验证。决策树可以很好地表示各个决策结点之间的关系,可快速根据前一次子验证的子验证结果进行又一次子验证,可提高计算效率。
在一个实施例中,所述验证端1404还用于根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
在预设决策树中,各个已发送的验证信息所对应的决策结点中,用于又一次子验证的决策结点是根据前一次子验证的子验证结果确定的,那么已发送的验证信息所对应的决策结点构成的验证路径本身就包含各次子验证所获得的子验证结果信息。本实施例中,根据预设决策树中的已发送的验证信息所对应的决策结点生成的验证路径,既能够体现每次子验证所使用的验证信息以及每次子验证的子验证结果,可提高身份验证的效率。
在一个实施例中,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值。所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值。其中,所述第一预设阈值大于或等于所述第二预设阈值。
本实施例中,提供了生成预设成功路径和预设失败路径的手段。每条预设成功路径和预设失败路径包括多个按顺序排列的预设验证信息以及与该预设验证信息对应的预设子验证结果。其中预设成功路径中表示子验证成功的预设子验证结果的个数占预设成功路径中的预设子验证结果总数的比重超过第一预设阈值,这样进行身份验证时子验证正确率超过第一预设阈值才会判定为身份验证成功。相反,预设失败路径中表示子验证成功的预设子验证结果的个数占预设失败路径的预设子验证结果总数的比重不超过第二预设阈值,这样进行身份验证时子验证正确率低于第二预设阈值则判定为身份验证失败。并且第一预设阈值大于或等于第二预设阈值,以完全区分预设成功路径和预设失败路径,保证身份验证能够得到唯一正确的结果。
在一个实施例中,所述身份验证请求包括待验证用户标识;所述验证端1404还用于在获得表示身份验证成功的身份验证结果后,向所述请求端1402发送对应所述待验证用户标识的验证凭据;所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
本实施例中,当身份验证成功时,说明操作请求端1402的用户是可靠的,可认定操作请求端1402的用户是该待验证用户标识的主人。此时验证端1404可用于向请求端1402发送对应待验证用户标识的验证凭据,或者可向待验证用户标识对应的通信地址标识所对应的终端发送该待验证用户标识的验证凭据。通信地址标识可以是IP地址和/或MAC地址。请求端1402或其它终端用于接收到凭据后,用户可通过请求端1402或其它终端,根据该验证凭据修改待验证用户标识对应的用户资料。比如该验证凭据可以是一个网页链接,用户接收到该网页链接后点击该网页链接进入对应的网页,修改诸如用户密码等用户资料。
在一个实施例中,所述验证端1404还用于记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
本实施例中,验证端1404用于在进行身份验证过程中,会记录每次身份验证时生成的验证路径。验证端1404用于每隔预设时间,比如每隔预设天数、每隔预设周数或每隔预设月数;或者每到预设时间点,比如每天的固定时间点、每周的固定日子、每月的固定日期等,根据记录的验证路径更新预设成功路径和/或预设失败路径。
具体地,验证端1404可用于统计记录的验证路径中与预设成功路径匹配的个数或频率,当统计的个数或频率超出第一个数门限值或第一频率门限值时,从多个预设成功路径中删除匹配的预设成功路径;此时说明该匹配的预设成功路径太容易实现,可能存在安全风险,删除匹配的预设成功路径后可增加破解难度。
进一步地,验证端1404也可用于统计记录的验证路径中验证成功的个数,将验证成功的个数超过验证成功个数阈值,且不属于预设成功路径和预设失败路径的验证路径设置为预设成功路径;此时可将满足要求的验证决策路径设置为预设成功路径,增加破解难度。
图15为能实现本发明实施例的一个计算机系统1000的模块图,该计算机系统可以作为请求端,也可以作为验证端。该计算机系统1000只是一个适用于本发明的计算机环境的示例,不能认为是提出了对本发明的使用范围的任何限制。计算机系统1000也不能解释为需要依赖于或具有图示的示例性的计算机系统1000中的一个或多个部件的组合。
图15中示出的计算机系统1000是一个适合用于本发明的计算机系统的例子。具有不同子系统配置的其它架构也可以使用。例如有大众所熟知的台式机、笔记本、个人数字助理、智能电话、平板电脑、便携式媒体播放器、机顶盒等类似设备可以适用于本发明的一些实施例。但不限于以上所列举的设备。
如图15所示,计算机系统1000包括处理器1010、存储器1020和系统总线1022。包括存储器1020和处理器1010在内的各种系统组件连接到系统总线1022上。处理器1010是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器1020是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线1020可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器1010和存储器1020可以通过系统总线1022进行数据通信。其中存储器1020包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
计算机系统1000还包括显示接口1030(例如,图形处理单元)、显示装置1040(例如,液晶显示器)、音频接口1050(例如,声卡)以及音频设备1060(例如,扬声器)。显示装置1040和音频设备1060是用于体验多媒体内容的媒体设备。
计算机系统1000一般包括一个存储设备1070。存储设备1070可以从多种计算机可读介质中选择,计算机可读介质是指可以通过计算机系统1000访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型SD卡),CD-ROM,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由计算机系统1000访问的任何其它介质。
计算机系统1000还包括输入装置1080和输入接口1090(例如,IO控制器)。用户可以通过输入装置1080,如键盘、鼠标、显示装置1040上的触摸面板设备,输入指令和信息到计算机系统1000中。输入装置1080通常是通过输入接口1090连接到系统总线1022上的,但也可以通过其它接口或总线结构相连接,如通用串行总线(USB)。
计算机系统1000可在网络环境中与一个或者多个网络设备进行逻辑连接。网络设备可以是个人电脑、服务器、路由器、智能电话、平板电脑或者其它公共网络节点。计算机系统1000通过局域网(LAN)接口1100或者移动通信单元1110与网络设备相连接。局域网(LAN)是指在有限区域内,例如家庭、学校、计算机实验室、或者使用网络媒体的办公楼,互联组成的计算机网络。WiFi和双绞线布线以太网是最常用的构建局域网的两种技术。WiFi是一种能使计算机系统1000间交换数据或通过无线电波连接到无线网络的技术。移动通信单元1110能在一个广阔的地理区域内移动的同时通过无线电通信线路接听和拨打电话。除了通话以外,移动通信单元1110也支持在提供移动数据服务的2G,3G或4G蜂窝通信系统中进行互联网访问。
应当指出的是,其它包括比计算机系统1000更多或更少的子系统的计算机系统也能适用于发明。例如,计算机系统1000可以包括能在短距离内交换数据的蓝牙单元,用于照相的图像传感器,以及用于测量加速度的加速计。
如上面详细描述的,适用于本发明的计算机系统1000能执行身份验证方法的指定操作。计算机系统1000通过处理器1010运行在计算机可读介质中的软件指令的形式来执行这些操作。这些软件指令可以从存储设备1070或者通过局域网接口1100从另一设备读入到存储器1020中。存储在存储器1020中的软件指令使得处理器1010执行上述的身份验证方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (36)

1.一种身份验证方法,所述方法包括:
根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果;
根据已发送的验证信息和已获得的子验证结果确定验证路径;
判断所述验证路径是否与预设成功路径或预设失败路径匹配;
若是则根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
若否则继续执行所述根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果的步骤,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
2.根据权利要求1所述的方法,其特征在于,所述根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果,包括:
根据请求端通过网页服务器发送的身份验证请求获取第一验证信息,通过所述网页服务器将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息而通过所述网页服务器所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,包括:
根据前一次子验证所获得的子验证结果获取第二验证信息,通过所述网页服务器将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息而通过所述网页服务器所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
3.根据权利要求1所述的方法,其特征在于,所述根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果,包括:
根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;
根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息;
将所述第一验证信息发送给所述请求端,接收所述请求端响应于所述第一验证信息所反馈的第一响应信息;
通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
4.根据权利要求3所述的方法,其特征在于,所述根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点,包括:
根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点或随机选取决策结点作为用于第一次子验证的决策结点;或者,
所述身份验证请求包括所述请求端的属性信息;所述根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点,包括:
根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
5.根据权利要求3所述的方法,其特征在于,所述根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,包括:
从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;
根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息;
将所述第二验证信息发送给所述请求端,接收所述请求端响应于所述第二验证信息所反馈的第二响应信息;
通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
6.根据权利要求5所述的方法,其特征在于,所述根据已发送的验证信息和已获得的子验证结果确定验证路径,包括:
根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
7.根据权利要求1所述的方法,其特征在于,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值;
所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值;
其中,所述第一预设阈值大于或等于所述第二预设阈值。
8.根据权利要求1所述的方法,其特征在于,所述身份验证请求包括待验证用户标识;所述方法还包括:
当获得表示身份验证成功的身份验证结果时,向所述请求端或所述待验证用户标识对应的通信地址标识所对应的终端发送对应所述待验证用户标识的验证凭据,所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
10.一种身份验证方法,所述方法包括:
请求端向验证端发送身份验证请求;
所述验证端根据所述身份验证请求获取第一验证信息,并将所述第一验证信息发送给所述请求端;
所述请求端响应于所述第一验证信息,向所述验证端发送第一响应信息;
所述验证端根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述验证端根据前一次子验证所获得的子验证结果获取第二验证信息,并将所述第二验证信息发送给所述请求端;
所述请求端响应于所述第二验证信息,向所述验证端发送第二响应信息;
所述验证端根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果;
所述验证端根据已发送的验证信息和已获得的子验证结果确定验证路径;所述验证端判断所述验证路径是否与预设成功路径或预设失败路径匹配;
若是则所述验证端根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
若否则所述验证端继续根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
11.根据权利要求10所述的方法,其特征在于,所述请求端通过网页服务器与所述验证端通信;所述验证端通过所述网页服务器与所述请求端通信。
12.根据权利要求10所述的方法,其特征在于,所述验证端根据所述身份验证请求获取第一验证信息,包括:
所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;所述验证端根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息;
所述验证端根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果,包括:
所述验证端通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
13.根据权利要求12所述的方法,其特征在于,所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点,包括:
所述验证端根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点或随机选取决策结点作为用于第一次子验证的决策结点;或者,
所述身份验证请求包括所述请求端的属性信息;所述验证端根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点,包括:
所述验证端根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
14.根据权利要求12所述的方法,其特征在于,所述验证端根据前一次子验证所获得的子验证结果获取第二验证信息,包括:
所述验证端从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;所述验证端根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息;
所述验证端根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果,包括:
所述验证端通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
15.根据权利要求14所述的方法,其特征在于,所述验证端根据已发送的验证信息和已获得的子验证结果确定验证路径,包括:
所述验证端根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
16.根据权利要求10所述的方法,其特征在于,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值;
所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值;
其中,所述第一预设阈值大于或等于所述第二预设阈值。
17.根据权利要求10所述的方法,其特征在于,所述身份验证请求包括待验证用户标识;所述方法还包括:
所述验证端在获得表示身份验证成功的身份验证结果后,向所述请求端发送对应所述待验证用户标识的验证凭据;所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
18.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述验证端记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
19.一种身份验证系统,其特征在于,所述系统包括:第一子验证模块、第二子验证模块、验证路径确定模块、路径匹配判断模块和身份验证结果判定模块;
所述第一子验证模块,用于根据请求端发送的身份验证请求获取第一验证信息,将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述第二子验证模块,用于根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果;
所述验证路径确定模块,用于根据已发送的验证信息和已获得的子验证结果确定验证路径;
所述路径匹配判断模块,用于判断所述验证路径是否与预设成功路径或预设失败路径匹配;
所述身份验证结果判定模块,用于当所述路径匹配判断模块判断为是时根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
所述第二子验证模块还用于当所述路径匹配判断模块判断为否时继续执行根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至所述路径匹配判断模块用于根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
20.根据权利要求19所述的系统,其特征在于,所述第一子验证模块还用于根据请求端通过网页服务器发送的身份验证请求获取第一验证信息,通过所述网页服务器将所述第一验证信息发送给所述请求端,根据所述请求端响应于所述第一验证信息而通过所述网页服务器所反馈的第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;
所述第二子验证模块还用于根据前一次子验证所获得的子验证结果获取第二验证信息,通过所述网页服务器将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息而通过所述网页服务器所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果。
21.根据权利要求19所述的系统,其特征在于,所述第一子验证模块包括:
第一决策结点确定模块,用于根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;
第一验证信息获取模块,用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息;
第一信息收发模块,用于将所述第一验证信息发送给所述请求端,接收所述请求端响应于所述第一验证信息所反馈的第一响应信息;
第一子验证执行模块,用于通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
22.根据权利要求21所述的系统,其特征在于,所述第一决策结点确定模块还用于根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点或随机选取决策结点作为用于第一次子验证的决策结点;或者,
所述身份验证请求包括所述请求端的属性信息;所述第一决策结点确定模块还用于根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
23.根据权利要求21所述的系统,其特征在于,所述第二子验证模块包括:
第二决策结点确定模块,用于从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;
第二验证信息获取模块,用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息;
第二信息收发模块,用于将所述第二验证信息发送给所述请求端,接收所述请求端响应于所述第二验证信息所反馈的第二响应信息;
第二子验证执行模块,用于通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
24.根据权利要求23所述的系统,其特征在于,所述验证路径确定模块还用于根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
25.根据权利要求19所述的系统,其特征在于,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值;
所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值;
其中,所述第一预设阈值大于或等于所述第二预设阈值。
26.根据权利要求19所述的系统,其特征在于,所述身份验证请求包括待验证用户标识;所述系统还包括验证凭据发送模块,用于当获得表示身份验证成功的身份验证结果时,向所述请求端或所述待验证用户标识对应的通信地址标识所对应的终端发送对应所述待验证用户标识的验证凭据,所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
27.根据权利要求19所述的系统,其特征在于,所述系统还包括路径更新模块,用于记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
28.一种身份验证系统,其特征在于,所述系统包括请求端和验证端;
所述请求端用于向验证端发送身份验证请求;
所述验证端用于根据所述身份验证请求获取第一验证信息,并将所述第一验证信息发送给所述请求端;
所述请求端还用于响应于所述第一验证信息,向所述验证端发送第一响应信息;
所述验证端还用于根据所述第一响应信息进行第一次子验证,获得对应第一次子验证的子验证结果;所述验证端还用于根据前一次子验证所获得的子验证结果获取第二验证信息,并将所述第二验证信息发送给所述请求端;
所述请求端还用于响应于所述第二验证信息,向所述验证端发送第二响应信息;
所述验证端还用于根据所述第二响应信息进行又一次子验证获得对应又一次子验证的子验证结果;
所述验证端还用于根据已发送的验证信息和已获得的子验证结果确定验证路径;所述验证端还用于判断所述验证路径是否与预设成功路径或预设失败路径匹配;
所述验证端还用于若判断为是则根据所述验证路径与所述预设成功路径或预设失败路径的匹配结果判定身份验证结果;
所述验证端还用于若判断为否则继续根据前一次子验证所获得的子验证结果获取第二验证信息,将所述第二验证信息发送给所述请求端,根据所述请求端响应于所述第二验证信息所反馈的第二响应信息进行又一次子验证,获得对应又一次子验证的子验证结果,直至根据已发送的验证信息和已获得的子验证结果确定的验证路径能够与所述预设成功路径或所述预设失败路径匹配。
29.根据权利要求28所述的系统,其特征在于,所述请求端还用于通过网页服务器与所述验证端通信;所述验证端还用于通过所述网页服务器与所述请求端通信。
30.根据权利要求28所述的系统,其特征在于,所述验证端还用于根据请求端发送的身份验证请求在预设决策树中确定用于第一次子验证的决策结点;所述验证端还用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于第一次子验证的决策结点所对应的预设验证信息作为第一验证信息;
所述验证端还用于通过判断所述第一响应信息是否与所述用于第一次子验证的决策结点所对应的预设响应信息匹配进行第一次子验证,获得对应第一次子验证的子验证结果。
31.根据权利要求30所述的系统,其特征在于,所述验证端还用于根据请求端发送的身份验证请求,从预设决策树中选择预设的初始决策结点或随机选取决策结点作为用于第一次子验证的决策结点;或者,
所述身份验证请求包括所述请求端的属性信息;所述验证端还用于根据请求端发送的身份验证请求,从预设决策树的根结点对应的孩子结点中选择与所述属性信息匹配的孩子结点作为用于第一次子验证的决策结点。
32.根据权利要求30所述的系统,其特征在于,所述验证端还用于从所述预设决策树中的用于前一次子验证的决策结点所对应的孩子结点中,选择与前一次子验证的子验证结果匹配的孩子结点作为用于又一次子验证的决策结点;所述验证端还用于根据预设的决策结点与预设验证信息的对应关系,获取所述用于又一次子验证的决策结点所对应的预设验证信息作为第二验证信息;
所述验证端还用于通过判断所述第二响应信息是否与所述用于又一次子验证的决策结点所对应的预设响应信息匹配进行又一次子验证,获得对应又一次子验证的子验证结果。
33.根据权利要求32所述的系统,其特征在于,所述验证端还用于根据所述预设决策树中的已发送的验证信息所对应的决策结点生成验证路径。
34.根据权利要求28所述的系统,其特征在于,所述预设成功路径包括多个预设子验证结果,且所述预设成功路径中表示子验证成功的预设子验证结果的个数占所述预设成功路径中的预设子验证结果总数的比重超过第一预设阈值;
所述预设失败路径包括多个预设子验证结果,且所述预设失败路径中表示子验证成功的预设子验证结果的个数占所述预设失败路径的预设子验证结果总数的比重不超过第二预设阈值;
其中,所述第一预设阈值大于或等于所述第二预设阈值。
35.根据权利要求28所述的系统,其特征在于,所述身份验证请求包括待验证用户标识;所述验证端还用于在获得表示身份验证成功的身份验证结果后,向所述请求端发送对应所述待验证用户标识的验证凭据;所述验证凭据用于据以修改所述待验证用户标识对应的用户资料。
36.根据权利要求28所述的系统,其特征在于,所述验证端还用于记录每次身份验证时生成的验证路径;每隔预设时间或每到预设时间点,根据所述记录的验证路径更新所述预设成功路径和/或所述预设失败路径。
CN201410046968.8A 2014-02-10 2014-02-10 身份验证方法和系统 Active CN104836777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410046968.8A CN104836777B (zh) 2014-02-10 2014-02-10 身份验证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410046968.8A CN104836777B (zh) 2014-02-10 2014-02-10 身份验证方法和系统

Publications (2)

Publication Number Publication Date
CN104836777A true CN104836777A (zh) 2015-08-12
CN104836777B CN104836777B (zh) 2017-03-22

Family

ID=53814417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410046968.8A Active CN104836777B (zh) 2014-02-10 2014-02-10 身份验证方法和系统

Country Status (1)

Country Link
CN (1) CN104836777B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055288A (zh) * 2018-01-29 2018-05-18 平安科技(深圳)有限公司 身份信息的认证方法、终端设备及介质
CN110650142A (zh) * 2019-09-25 2020-01-03 腾讯科技(深圳)有限公司 访问请求处理方法、装置、系统、存储介质和计算机设备
CN110705987A (zh) * 2019-09-04 2020-01-17 华东江苏大数据交易中心股份有限公司 一种交易数据有效性判断系统
CN112507314A (zh) * 2021-02-03 2021-03-16 平安普惠企业管理有限公司 客户身份核实方法、装置、电子设备及存储介质
CN113468492A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 验证信息的校验方法、装置和可读存储介质
CN113641968A (zh) * 2021-08-14 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的身份验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090208002A1 (en) * 2008-02-20 2009-08-20 Susann Marie Koehane Preventing replay attacks in encrypted file systems
US20130042311A1 (en) * 2011-08-10 2013-02-14 Yahoo! Inc. Multi-step captcha with serial time-consuming decryption of puzzles
CN103188344A (zh) * 2013-02-22 2013-07-03 浪潮电子信息产业股份有限公司 一种安全调用rest api的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090208002A1 (en) * 2008-02-20 2009-08-20 Susann Marie Koehane Preventing replay attacks in encrypted file systems
US20130042311A1 (en) * 2011-08-10 2013-02-14 Yahoo! Inc. Multi-step captcha with serial time-consuming decryption of puzzles
CN103188344A (zh) * 2013-02-22 2013-07-03 浪潮电子信息产业股份有限公司 一种安全调用rest api的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055288A (zh) * 2018-01-29 2018-05-18 平安科技(深圳)有限公司 身份信息的认证方法、终端设备及介质
WO2019144522A1 (zh) * 2018-01-29 2019-08-01 平安科技(深圳)有限公司 身份信息的认证方法、装置、终端设备及介质
CN110705987A (zh) * 2019-09-04 2020-01-17 华东江苏大数据交易中心股份有限公司 一种交易数据有效性判断系统
CN110650142A (zh) * 2019-09-25 2020-01-03 腾讯科技(深圳)有限公司 访问请求处理方法、装置、系统、存储介质和计算机设备
CN110650142B (zh) * 2019-09-25 2022-05-24 腾讯科技(深圳)有限公司 访问请求处理方法、装置、系统、存储介质和计算机设备
CN112507314A (zh) * 2021-02-03 2021-03-16 平安普惠企业管理有限公司 客户身份核实方法、装置、电子设备及存储介质
CN112507314B (zh) * 2021-02-03 2021-09-28 平安普惠企业管理有限公司 客户身份核实方法、装置、电子设备及存储介质
CN113468492A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 验证信息的校验方法、装置和可读存储介质
CN113641968A (zh) * 2021-08-14 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的身份验证方法

Also Published As

Publication number Publication date
CN104836777B (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US11539701B2 (en) Network access point
CN104836777A (zh) 身份验证方法和系统
US20200204999A1 (en) Home Network Access
CN104753677B (zh) 密码分级控制方法和系统
US20180343606A1 (en) Method and device for establishing wireless connection
CN108287708B (zh) 一种数据处理方法、装置、服务器及计算机可读存储介质
US11316693B2 (en) Trusted platform module-based prepaid access token for commercial IoT online services
CN108173938A (zh) 服务器负载分流方法及装置
CN113268336B (zh) 一种服务的获取方法、装置、设备以及可读介质
WO2018082560A1 (zh) 帐号注册方法、相关设备及系统
US9510182B2 (en) User onboarding for newly enrolled devices
WO2019047708A1 (zh) 资源配置方法及相关产品
CN110348237A (zh) 基于区块链的数据管理方法及装置、存储介质、电子设备
CN111400684B (zh) 电子证照信息获取方法、系统、装置、设备和存储介质
EP3557448A1 (en) Voucher information input method and apparatus, and server and storage medium
US20220058287A1 (en) Modifying elements of a secure document workflow based on change in profile of recipient
JP2023521901A (ja) ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置
CN108471422B (zh) 一种异地登录判断方法、装置、服务器及介质
CN107517177B (zh) 接口授权的方法和装置
CN113641966B (zh) 一种应用集成方法、系统、设备及介质
CN115250186B (zh) 网络连接认证方法、装置、计算机设备和存储介质
WO2019062184A1 (zh) 银行保单数据对接方法及保单数据服务器
CN114969835B (zh) 网页信息存证方法及装置
US11599662B2 (en) Bypassing elements of a secure document workflow based on identity of recipient
US20230359350A1 (en) Using a virtual keyboard to enter particular input

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right