一种基于磁力计的验证方法和设备
技术领域
本申请涉及通信技术领域,尤其涉及一种基于磁力计的验证方法和设备。
背景技术
目前的应用程序使用验证码来区分输入信息(如用户名和密码)的是合法用户还是攻击者(攻击者通过计算机不断尝试输入用户名和密码,以暴力破解合法用户的用户名和密码)。其中,验证码可以为不规则字符,通过图片将不规则字符展示给用户,由用户输入该不规则字符;或,验证码可以为一个问题,通过图片将问题展示给用户,由用户输入该问题的答案。基于此,由于合法用户能够输入正确的内容,而攻击者无法通过计算机输入正确的内容,因此,可以通过使用验证码来区分输入信息的是合法用户还是攻击者。
现有技术中,为了提升攻击者识别验证码的难度,还可以在不规则字符中进行加噪点、扭曲文字等处理,其验证码如图1所示。或者,为了提升攻击者识别验证码的难度,还可以提高问题的难度,其验证码如图2所示。
但是,在经过上述处理后,合法用户也很难识别出图1所示的不规则字符是什么,而且合法用户也很难输入图2所示的问题的答案。显然,上述方式会影响用户体验,尤其是在移动终端上,由于在移动终端上输入信息较为不便,因此上述方式进一步提高了验证码的输入难度,极其影响用户体验。
发明内容
本申请实施例提供一种基于磁力计的验证方法和设备,使用户通过转动移动终端即可输入正确的验证码,降低了验证码的输入难度,提高用户体验。
为了达到上述目的,本申请实施例提供一种基于磁力计的验证方法,所述方法具体包括以下步骤:
服务器确定特定区间内的数值,该数值表示标记位置和特定位置的夹角;
所述服务器利用所述数值生成方向图片,所述方向图片标记有所述数值对应的标记位置及磁北极;
所述服务器将所述方向图片发送给移动终端,并向移动终端发送用户转动所述移动终端的命令;
所述服务器接收所述移动终端上报的磁力计上感应的磁力计数值,所述磁力计数值是所述移动终端在收到用户转动所述移动终端的命令时,转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极,并在所述方向图片上标记的标记位置与所述特定位置重合时,接收到用户停止转动所述移动终端的命令后上报给服务器的;
所述服务器利用所述特定区间内的数值以及所述磁力计数值进行验证。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
优选的,本申请实施例中,所述服务器利用所述特定区间内的数值以及所述磁力计数值进行验证的过程,具体包括:
所述服务器计算所述特定区间内的数值与所述磁力计数值之间的差值;如果所述差值的绝对值小于预设数值,验证当前输入信息的是合法用户;如果所述差值的绝对值不小于预设数值,验证当前输入信息的可能是攻击者。
本申请实施例提供一种基于磁力计的验证方法,所述方法包括以下步骤:
移动终端接收来自服务器的方向图片和用户转动所述移动终端的命令,所述方向图片是所述服务器利用确定的特定区间内的数值生成并发送给所述移动终端的,所述数值表示标记位置和特定位置的夹角,所述方向图片标记有所述数值对应的标记位置以及磁北极;
所述移动终端在收到用户转动所述移动终端的命令时,所述移动终端转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极;当所述方向图片上标记的标记位置与所述特定位置重合时,所述移动终端接收用户停止转动所述移动终端的命令;
所述移动终端在收到用户停止转动所述移动终端的命令后,向所述服务器上报所述磁力计上当前感应的磁力计数值。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
所述移动终端转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极之前,所述方法进一步包括:
所述移动终端提示用户对所述磁力计进行校准,并接收用户对所述磁力计进行校准的命令,并按照用户对所述磁力计进行校准的命令对所述磁力计进行校准。
所述移动终端接收用户停止转动所述移动终端的命令的过程,具体包括:
当所述移动终端检测到所述移动终端停止转动的时间超过预设阈值时,所述移动终端确认用户停止转动所述移动终端,并确认所述移动终端收到用户停止转动所述移动终端的命令;当所述移动终端检测到所述移动终端停止转动的时间未超过预设阈值时,所述移动终端确认用户未停止转动所述移动终端,并确认所述移动终端未收到用户停止转动所述移动终端的命令。
本申请实施例提供一种服务器,所述服务器具体包括:
确定模块,用于确定特定区间内的数值;其中,所述数值表示标记位置和特定位置的夹角;
生成模块,用于利用所述数值生成方向图片,所述方向图片标记有所述数值对应的标记位置及磁北极;
发送模块,用于将所述方向图片发送给移动终端,并向移动终端发送用户转动所述移动终端的命令;
接收模块,用于接收所述移动终端上报的磁力计上感应的磁力计数值,所述磁力计数值是所述移动终端在收到用户转动所述移动终端的命令时,转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极,并在所述方向图片上标记的标记位置与所述特定位置重合时,接收到用户停止转动所述移动终端的命令后上报给服务器的;
验证模块,用于利用所述特定区间内的数值和所述磁力计数值进行验证。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
优选的,本申请实施例中,所述验证模块,具体用于计算所述特定区间内的数值与所述磁力计数值之间的差值;如果所述差值的绝对值小于预设数值,则验证当前输入信息的是合法用户;如果所述差值的绝对值不小于预设数值,则验证当前输入信息的可能是攻击者。
本申请实施例提供一种移动终端,所述移动终端包括:
接收模块,用于接收来自服务器的方向图片和用户转动所述移动终端的命令,所述方向图片是所述服务器利用确定的特定区间内的数值生成并发送给所述移动终端的,所述数值表示标记位置和特定位置的夹角,所述方向图片标记有所述数值对应的标记位置以及磁北极;
处理模块,用于在收到用户转动所述移动终端的命令时,则转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极;当所述方向图片上标记的标记位置与所述特定位置重合时,则接收用户停止转动所述移动终端的命令;
发送模块,用于在收到用户停止转动所述移动终端的命令之后,向所述服务器上报所述磁力计上当前感应的磁力计数值。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
优选的,本申请实施例中,所述处理模块,还用于在转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极之前,提示用户对所述磁力计进行校准,并接收用户对所述磁力计进行校准的命令,并按照用户对所述磁力计进行校准的命令对所述磁力计进行校准。
优选的,所述处理模块,进一步用于在接收用户停止转动所述移动终端的命令的过程中,当检测到所述移动终端停止转动的时间超过预设阈值时,确认用户停止转动所述移动终端,并确认收到用户停止转动所述移动终端的命令;当检测到所述移动终端停止转动的时间未超过预设阈值时,确认用户未停止转动所述移动终端,并确认未收到用户停止转动所述移动终端的命令。
与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,基于移动终端内设置的磁力计,通过要求用户转动移动终端,使移动终端摆放到指定方向,由移动终端输入磁力计上感应的磁力计数值,使得服务器能够利用磁力计数值进行验证。进一步的,基于上述验证方式,可以验证当前输入信息的是合法用户还是攻击者,从而使用户能够输入正确的验证码(磁力计数值),降低了验证码的输入难度,提高了用户体验。进一步的,上述验证方式还可以减轻了用户识别问题的难度,同时避免用户在移动终端上通过虚拟键盘输入字符,提高了回答问题的效率和用户体验。
附图说明
为了更加清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本申请实施例的这些附图获得其他的附图。
图1是现有技术中进行加噪点、扭曲文字等处理后的验证码的示意图;
图2是现有技术中提高了问题的难度的验证码的示意图;
图3是本申请实施例一提供的一种基于磁力计的验证方法流程示意图;
图4和图5是本申请实施例一中提出的方向图片的示意图;
图6是本申请实施例二提供的一种服务器的结构示意图;
图7是本申请实施例三提供的一种移动终端的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
针对现有技术中存在的问题,本申请实施例提供一种基于磁力计的验证方法,该方法应用于包括移动终端和服务器的系统中,该移动终端通过网络和服务器进行通信,以完成具体的业务操作。其中,该移动终端可以为智能手机、平板电脑等终端设备,且该移动终端内需要设置磁力计(即磁力计感应器)。基于该磁力计,移动终端上的应用能够知道当前移动终端的正前方和磁北极方向的夹角。该磁北极又称为地北极,后续以磁北极为例进行说明。
如图3所示,该基于磁力计的验证方法具体可以包括以下步骤:
步骤301,服务器确定特定区间内的数值,并利用该数值生成方向图片。
步骤302,服务器将方向图片发送给移动终端,并向移动终端发送用户转动移动终端的命令。
本申请实施例中,在服务器与移动终端进行业务操作的过程中,为了区分输入信息(如用户名和密码)的是合法用户还是攻击者,服务器向移动终端发送的不再是图1所示的不规则字符以及图2所示的问题,而是在需要由用户输入信息,并区分输入信息的是合法用户还是攻击者时,首先,由服务器确定特定区间内的数值,并利用该数值生成方向图片,之后,由服务器将该方向图片发送给移动终端,并向移动终端发送用户转动移动终端的命令,如:服务器将该方向图片发送给移动终端上的客户端应用程序,并向移动终端上的客户端应用程序发送用户转动移动终端的命令。其中,该客户端应用程序当前正与服务器进行业务操作。
本申请实施例中,服务器确定特定区间内的数值的过程,具体包括但不限于如下方式:服务器随机生成一个特定区间内的数值。其中,该特定区间具体包括区间(0-360),即特定区间内的数值为0-360之间的一个数值。
本申请实施例中,特定区间内的数值表示标记位置和特定位置的夹角。其中,标记位置和特定位置的夹角具体包括:标记位置沿顺时针方向上和特定位置之间的夹角,或者,标记位置沿逆时针方向上和特定位置之间的夹角。
本申请实施例中,特定位置具体包括但不限于磁北极。基于此,特定区间内的数值表示标记位置沿顺时针方向上和磁北极之间的夹角,或者,标记位置沿逆时针方向上和磁北极之间的夹角。为了方便描述,后续过程中以特定区间内的数值表示标记位置沿逆时针方向上和磁北极之间的夹角为例。
本申请实施例中,对于服务器利用特定区间内的数值生成的方向图片,在该方向图片上会对特定区间内的数值对应的标记位置进行标记,且在该方向图片上还会标记有磁北极,即所述方向图片标记有所述数值对应的标记位置以及磁北极。进一步的,该方向图片用于指示用户将移动终端的正前方摆放到该特定区间内的数值对应的标记位置所指定的方向。
例如:假设服务器随机生成的数值为159,则159表示标记位置沿逆时针方向上和磁北极之间的夹角。基于此,如图4所示的方向图片的示意图,图4中的黑色小三角的位置为标记位置,且通过黑色小三角来对标记位置进行标记;此外,图4中的0为磁北极。显然,在图4所示的方向图片上,标记位置(即黑色小三角)沿逆时针方向上和磁北极(即0)之间的夹角为159。
本申请实施例中,为了提高攻击者通过计算机自动识别方向图片中内容的难度,服务器在生成方向图片的过程中,还可以对方向图片进行加噪点等处理,且服务器向移动终端发送的方向图片为加噪点处理后的方向图片。
步骤303,移动终端接收来自服务器的方向图片和用户转动移动终端的命令。如图4所示,为移动终端收到的方向图片的示例,该方向图片上对标记位置(即黑色小三角)进行了标记,且在方向图片上标记有磁北极(即0)。
步骤304,移动终端在收到用户转动本移动终端的命令时,由移动终端转动方向图片,以使方向图片上标记的磁北极一直指向移动终端内设置的磁力计的磁北极;一直到方向图片上标记的标记位置与特定位置(即方向图片初始的磁北极位置)重合时,由移动终端接收用户停止转动移动终端的命令。
具体的,当移动终端收到方向图片后,首先由用户启动移动终端内设置的磁力计,并由用户转动移动终端,在用户转动移动终端的过程中,移动终端将会收到用户转动本移动终端的命令,基于此,移动终端上的客户端应用程序会自动旋转服务器下发的方向图片,以使方向图片上标记的磁北极一直指向移动终端内设置的磁力计的磁北极。
进一步的,如图4所示的方向图片以及如图5所示的方向图片,在移动终端上的客户端应用程序自动旋转方向图片的过程中,当旋转到图5所示的方向图片时,说明方向图片上标记的标记位置(即黑色小三角指示的位置)与特定位置(即方向图片初始的磁北极位置,终端设备的正前方)重合,此时用户会停止转动移动终端,在用户停止转动移动终端之后,移动终端会接收到用户停止转动移动终端的命令。
本申请实施例中,由于磁力计容易出现偏差,因此在移动终端转动方向图片,以使方向图片上标记的磁北极指向移动终端内设置的磁力计的磁北极之前,移动终端还可以提示用户对磁力计进行校准,由用户对磁力计进行校准,即移动终端接收用户对磁力计进行校准的命令,并按照用户对磁力计进行校准的命令对磁力计进行校准。其中,用户对磁力计进行校准的方式包括但不限于以下方式:用户在空中划8字,以完成对磁力计的校准;对于其它的校准方式,本申请实施例中在此不再详加赘述。
步骤305,移动终端在收到用户停止转动本移动终端的命令之后,向服务器上报本移动终端内设置的磁力计上当前感应的磁力计数值。
本申请实施例中,移动终端接收用户停止转动本移动终端的命令的过程,具体包括:当移动终端检测到本移动终端停止转动的时间超过预设阈值时,移动终端确认用户停止转动本移动终端,并确认本移动终端收到用户停止转动本移动终端的命令;否则,当移动终端检测到本移动终端停止转动的时间未超过预设阈值时,则本移动终端确认用户未停止转动本移动终端,并确认本移动终端未收到用户停止转动本移动终端的命令。
步骤306,服务器接收移动终端上报的磁力计数值,并利用特定区间内的数值以及该磁力计数值进行验证。
本申请实施例中,服务器利用特定区间内的数值以及磁力计数值进行验证的过程,具体包括但不限于:服务器计算特定区间内的数值与磁力计数值之间的差值;如果二者之间的差值的绝对值小于预设数值,则服务器验证当前输入信息的是合法用户;如果二者之间的差值的绝对值不小于预设数值,则服务器验证当前输入信息的可能是攻击者。
进一步的,在登录的应用场景中,当前用户输入的信息可以是用户名和密码等信息。基于此,如果服务器确定当前输入信息的是合法用户,则服务器还需要验证用户名和密码是否匹配;如果二者不匹配则拒绝用户的登录;如果二者匹配就执行登录操作。如果服务器确定当前输入信息的可能是攻击者,则服务器就不会验证用户名和密码是否匹配,直接拒绝用户的登录。
综上所述,本申请实施例中,基于移动终端内设置的磁力计,通过要求用户转动移动终端,使移动终端摆放到指定方向,由移动终端输入磁力计上感应的磁力计数值给服务器,使得服务器能够利用磁力计数值进行验证。
进一步的,基于上述验证方式,可以验证当前输入信息的是合法用户还是攻击者,从而使用户能够输入正确的验证码(磁力计数值),降低了验证码的输入难度,并且提高了用户体验。
进一步的,上述验证方式减轻了用户识别问题的难度,同时避免用户在移动终端上通过虚拟键盘输入字符,提高了回答问题的效率和用户体验。
实施例二
基于与上述方法同样的申请构思,本申请实施例提供了一种服务器,如图6所示,所述服务器包括:
确定模块11,用于确定特定区间内的数值,所述数值表示标记位置和特定位置的夹角;
生成模块12,用于利用所述数值生成方向图片,所述方向图片标记有所述数值对应的标记位置及磁北极;
发送模块13,用于将所述方向图片发送给移动终端,并向移动终端发送用户转动所述移动终端的命令;
接收模块14,用于接收所述移动终端上报的磁力计上感应的磁力计数值,所述磁力计数值是所述移动终端在收到用户转动所述移动终端的命令时,转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极,并在所述方向图片上标记的标记位置与所述特定位置重合时,接收到用户停止转动所述移动终端的命令后上报给服务器的;
验证模块15,用于利用所述特定区间内的数值和磁力计数值进行验证。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
优选的,本申请实施例中,所述验证模块15,具体用于计算所述特定区间内的数值与所述磁力计数值之间的差值;如果所述差值的绝对值小于预设数值,则验证当前输入信息的是合法用户;如果所述差值的绝对值不小于预设数值,则验证当前输入信息的可能是攻击者。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
实施例三
基于与上述方法同样的申请构思,本申请实施例中提供了一种移动终端,如图7所示,所述移动终端包括:
接收模块21,用于接收来自服务器的方向图片和用户转动所述移动终端的命令,所述方向图片是所述服务器利用确定的特定区间内的数值生成并发送给所述移动终端的,所述数值表示标记位置和特定位置的夹角,所述方向图片标记有所述数值对应的标记位置以及磁北极;
处理模块22,用于在收到用户转动所述移动终端的命令时,则转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极;当所述方向图片上标记的标记位置与所述特定位置重合时,则接收用户停止转动所述移动终端的命令;
发送模块23,用于在收到用户停止转动所述移动终端的命令之后,向服务器上报所述磁力计上当前感应的磁力计数值。
优选的,本申请实施例中,所述特定区间具体包括:区间(0-360);所述特定位置具体包括:磁北极;所述标记位置和特定位置的夹角具体包括:所述标记位置沿顺时针方向上和所述特定位置之间的夹角,或者,所述标记位置沿逆时针方向上和所述特定位置之间的夹角。
本申请实施例中,所述处理模块22,还用于在转动所述方向图片,以使所述方向图片上标记的磁北极指向所述移动终端内设置的磁力计的磁北极之前,提示用户对所述磁力计进行校准,并接收用户对所述磁力计进行校准的命令,并按照用户对所述磁力计进行校准的命令对所述磁力计进行校准。
所述处理模块22,进一步用于在接收用户停止转动所述移动终端的命令的过程中,当检测到所述移动终端停止转动的时间超过预设阈值时,确认用户停止转动所述移动终端,并确认收到用户停止转动所述移动终端的命令;当检测到所述移动终端停止转动的时间未超过预设阈值时,确认用户未停止转动所述移动终端,并确认未收到用户停止转动所述移动终端的命令。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。