具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
在一个实施例中,提供了一种身份验证方法,该身份验证方法可应用于任意需要验证用户身份的场景。参考图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执行上述的身份验证方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。