具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:移动终端设备客户端接收到用户的访问请求后,向服务器发送验证码请求;服务器从所述验证码请求获取客户端的账号资料和设备参数信息,根据客户端的账号资料和设备参数信息,以及预设验证策略,向客户端返回验证码指令;客户端根据所述验证码指令,提示用户输入验证码信息;客户端利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器;服务器验证用户的行为特征,并将验证结果返回给客户端。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面方便用户进行验证码输入操作。
如图1所示,本发明较佳实施例提出一种验证信息处理系统,包括:客户端102和与所述客户端102通信连接的服务器101;其中:
所述客户端102,用于接收用户的访问请求,根据所述访问请求向服务器101发送验证码请求;
所述服务器101,用于从所述验证码请求获取所述客户端102的账号资料和设备参数信息,根据所述客户端102的账号资料和设备参数信息,以及预设验证策略,向所述客户端102返回验证码指令;
所述客户端102,还用于根据所述验证码指令,提示用户输入验证码信息;以及获取用户根据提示信息触发的行为特征,并将所述用户的行为特征上传至所述服务器101;
所述服务器101,还用于验证所述用户的行为特征,并将验证结果返回给所述客户端102。
具体地,本实施例客户端102可以为PC客户端,也可以为手机、平板电脑等具有行为特征获取功能的移动终端设备,该移动终端设备一般带有物理键盘或虚拟键盘等输入装置,以及显示屏等输出装置,还配备有检测方位、姿势等信息的额外传感器,比如加速度传感器、距离传感器以及摄像头等。本实施例尤其指具有加速度传感器和距离传感器的移动终端设备。
其中,加速度传感器是一种能够测量加速力的电子设备,常用于各种设备或终端中实现姿态检测、运动检测等。
距离传感器是通过发射短的光脉冲,通过测量此光脉冲从发射到被物体反射回来的时间,来计算与物体之间的距离。
由于现有的文字式验证码和图片式验证码易遭到一些互联网恶意用户通过自动机或招募大量码工来对其破解,对互联网服务的安全性造成极大挑战。而且对于移动终端设备,用户在使用移动终端设备上网或者使用其他互联网服务需要输入验证码时,由于移动终端设备的键盘较小或触摸屏输入区域较小,输入字符时容易出现按键错误,而且输入特殊字符还需要进行输入法切换等操作,给用户操作带来不便。本实施例方案为一种基于用户行为动作的验证码设计方案,这种验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面方便用户进行验证码输入操作。本实施例客户端102与服务器101的交互流程如图2所示。
相比传统的验证码设计方案要求用户使用键盘或触摸屏输入正确的数字或者字母,从而通过验证,本实施例方案将用户的某种动作作为特定的“数字”或“字母”,要求用户实现正确的行为动作来通过验证,而用户的行为可以通过移动终端设备上的加速度传感器和距离传感器来获得。
其中,通过加速度传感器可以检测用户手中的移动终端设备的上下颠倒状态,还可以计算出移动终端设备相对于水平面的倾斜角度,由此可以得知用户是否将移动终端设备直立、是否将移动终端设备左右倾斜及是否将移动终端设备前后倾斜等。
因此,通过分析动态加速度,可以分析出移动终端设备移动的方式,检测用户是否在晃动移动终端设备。如图3所示,X轴代表移动终端设备的左右移动,Y轴代表移动终端设备的上下移动,Z轴代表移动终端设备的前后移动,加速度传感器可以分别测量移动终端设备X、Y、Z三个轴上的加速度值,从而知道用户是否将移动终端设备在这三个方向上晃动。
当有物体(比如手)接近移动终端设备时,距离传感器可以测量获得物体与移动终端设备之间的距离。通过对距离的判断,可以知道移动终端设备是否有物体遮挡、物体是在靠近还是在远离、移动终端设备与物体的具体距离。以智能手机接打电话为例,人脸靠近屏幕,距离传感器检测到人脸接近,屏幕灯会熄灭,并自动锁屏;当人脸离开,屏幕灯会自动打开,并且自动解锁。
本实施例正是基于上述加速度传感器和距离传感器的特点,考虑将多样化的用户手势或动作作为验证码的输入进行验证。比如用户晃动一次设备、晃动两次设备、将设备顺时针旋转、用手挡住屏幕等等手势,都可以作为新型验证码的一种输入形式。
具体地,本实施例在移动终端设备上安装有客户端102应用软件。以互联网中常见的帐号登录为例,用户在移动终端设备输入帐号后,系统一般需要用户输入验证码进行验证,以确保互联网服务的安全性。
首先,客户端102接收用户的访问请求,该访问请求可能为正常用户的访问请求,也可能为恶意用户的访问请求。
客户端102接收到用户的访问请求后,根据所述访问请求向服务器101发送验证码请求。该验证码请求包括拉取验证码和校验验证码请求。在该验证码请求中携带有客户端102用户的账号资料和设备参数信息,其中,设备参数信息比如可以是:移动终端设备是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等。
服务器101接收到客户端102上报的验证码请求后,对所述验证码请求进行解析,从所述验证码请求获取所述客户端102的账号资料和设备参数信息。
在服务器101侧,针对不同的移动终端设备,预先根据用户习惯或用户自定义规则等,配置有相应的验证策略。比如,对于某移动终端设备,配置用户的验证码规则为“晃动设备三次”。
服务器101根据解析获取的客户端102用户的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;之后,将所述验证策略结果转义为验证码,比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”等。
服务器101将验证码生成验证码指令返回给客户端102。
客户端102接收到服务器101发来的验证码指令后,将验证码结果显示或播放出现,提示用户输入验证码信息。其验证码操作界面如图4a所示。
用户根据客户端102提示输入验证码信息。如前所述,本实施例方案为一种基于用户行为动作的验证码设计方案,因此,用户输入的验证码信息为用户触发的行为特征,比如晃动手机三下或设定的手势动作。
客户端102通过加速度传感器或距离传感器获取用户的行为特征,并将用户的行为特征上传至所述服务器101。
服务器101获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器101判断用户的行为特征符合用户预设行为规则,则验证通过,否则,验证未通过。
最后,服务器101将验证结果返回给所述客户端102,由客户端102将验证结果提示给用户,其验证结果显示界面如图4b所示。
进一步地,作为另一种实施方式,服务器101在验证用户的行为特征是否通过时,还可以采用如下方案:
首先,服务器101获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器101判断用户的行为特征符合用户预设行为规则时,服务器101还要判断所述用户的行为特征是否符合机器的行为特征,若不是,则验证通过,否则,验证未通过;最后,服务器101将综合上述两种情形得到的验证结果返回给客户端102。
当然,上述服务器101判断用户的行为特征是否符合用户预设行为规则,以及判断用户的行为特征是否符合机器的行为特征的两个步骤可以不分先后执行,即可以同时进行。
本实施例通过上述方案,移动终端设备客户端102接收到用户的访问请求后,向服务器101发送验证码请求;服务器101从所述验证码请求获取客户端102的账号资料和设备参数信息,根据客户端102的账号资料和设备参数信息,以及预设验证策略,向客户端102返回验证码指令;客户端102根据所述验证码指令,提示用户输入验证码信息;客户端102利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器101;服务器101验证用户的行为特征,并将验证结果返回给客户端102。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面向用户提供了一种方便及具有个性化特点的验证码输入方式。
需要说明的是,本实施例中服务器101的功能可以根据需要由多个相关服务器101分别实现。比如可以包括:验证码服务器101、策略服务器101、用户手势习惯服务器101和防恶意攻击服务器101,如图5所示。
上述验证码服务器101、策略服务器101、用户手势习惯服务器101和防恶意攻击服务器101的功能如下:
首先,在移动终端设备上安装有客户端102应用软件,客户端102负责接收用户或者码工的访问请求,并向验证码服务拉取和校验验证码。
验证码服务器101负责处理来自客户端102应用软件的拉取验证码和校验验证码请求。
其中,验证码服务器101处理拉取请求包括:接收客户端102应用软件的拉取验证码请求和设备参数,上报设备参数到策略服务器101,获得验证码指令,返回验证码指令给客户端102应用软件。
验证码服务器101处理校验请求包括:校验用户输入的验证码是否正确,并向客户端102应用软件返回校验结果。
策略服务器101上配置有一些规则,根据验证码服务器101上报的客户端102应用软件的设备参数信息以及一些安全策略,返回验证码指令给验证码服务器101。
用户手势习惯服务器101上存储了用户的手势习惯,可鉴定当次的手势验证码是否符合该用户的平时习惯。
防恶意攻击服务器101负责鉴定当次的手势验证码是否为机器行为,防止自动机恶意破解验证码。
基于上述验证码服务器101、策略服务器101、用户手势习惯服务器101和防恶意攻击服务器101,实现基于用户行为特征的验证码设计原理如下:
如图5所示,首先,客户端102上报用户的帐号资料及设备的参数信息(比如是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等)到验证码服务器101。
然后,验证码服务器101上报用户资料及设备的参数信息到策略服务器101。
之后,策略服务器101根据上报的信息计算及判断,返回策略结果到验证码服务器101。比如该策略结果为“用户晃动移动终端设备三次”。
验证码服务器101将策略结果转义为验证码。比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”。验证码服务器101将验证码反馈给客户端102应用软件,由客户端102将验证码显示或播放出来。
用户根据客户端102的验证码的提示,晃动移动终端设备三次。客户端102获取传感器的信息,将用户的行为上传到验证码服务器101。
验证码服务器101将用户的行为记录转发至用户手势习惯服务器101、防恶意攻击服务器101。
用户手势习惯服务器101判定该次用户的行为记录是否符合其平时的行为习惯,并向验证码服务器101返回结果;防恶意攻击服务器101判定该次用户的行为记录是否符合机器的手势特征,并向验证码服务器101返回结果。
最后,验证码服务器101综合判断用户手势习惯服务器101及防恶意攻击服务器101的结果,决定用户的验证是否可以通过。
如图6所示,本发明第一实施例提出一种验证信息处理方法,包括:
步骤S201,客户端接收用户的访问请求,根据所述访问请求向服务器发送验证码请求;
本实施例客户端可以为PC客户端,也可以为手机、平板电脑等具有行为特征获取功能的移动终端设备,该移动终端设备一般带有物理键盘或虚拟键盘等输入装置,以及显示屏等输出装置,还配备有检测方位、姿势等信息的额外传感器,比如加速度传感器、距离传感器以及摄像头等。本实施例尤其指具有加速度传感器和距离传感器的移动终端设备。
其中,加速度传感器是一种能够测量加速力的电子设备,常用于各种设备或终端中实现姿态检测、运动检测等。
距离传感器是通过发射短的光脉冲,通过测量此光脉冲从发射到被物体反射回来的时间,来计算与物体之间的距离。
由于现有的文字式验证码和图片式验证码易遭到一些互联网恶意用户通过自动机或招募大量码工来对其破解,对互联网服务的安全性造成极大挑战。而且对于移动终端设备,用户在使用移动终端设备上网或者使用其他互联网服务需要输入验证码时,由于移动终端设备的键盘较小或触摸屏输入区域较小,输入字符时容易出现按键错误,而且输入特殊字符还需要进行输入法切换等操作,给用户操作带来不便。本实施例方案为一种基于用户行为动作的验证码设计方案,这种验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面方便用户进行验证码输入操作。
相比传统的验证码设计方案要求用户使用键盘或触摸屏输入正确的数字或者字母,从而通过验证,本实施例方案将用户的某种动作作为特定的“数字”或“字母”,要求用户实现正确的行为动作来通过验证,而用户的行为可以通过移动终端设备上的加速度传感器和距离传感器来获得。
其中,通过加速度传感器可以检测用户手中的移动终端设备的上下颠倒状态,还可以计算出移动终端设备相对于水平面的倾斜角度,由此可以得知用户是否将移动终端设备直立、是否将移动终端设备左右倾斜及是否将移动终端设备前后倾斜等。
因此,通过分析动态加速度,可以分析出移动终端设备移动的方式,检测用户是否在晃动移动终端设备。如图3所示,X轴代表移动终端设备的左右移动,Y轴代表移动终端设备的上下移动,Z轴代表移动终端设备的前后移动,加速度传感器可以分别测量移动终端设备X、Y、Z三个轴上的加速度值,从而知道用户是否将移动终端设备在这三个方向上晃动。
当有物体(比如手)接近移动终端设备时,距离传感器可以测量获得物体与移动终端设备之间的距离。通过对距离的判断,可以知道移动终端设备是否有物体遮挡、物体是在靠近还是在远离、移动终端设备与物体的具体距离。以智能手机接打电话为例,人脸靠近屏幕,距离传感器检测到人脸接近,屏幕灯会熄灭,并自动锁屏;当人脸离开,屏幕灯会自动打开,并且自动解锁。
本实施例正是基于上述加速度传感器和距离传感器的特点,考虑将多样化的用户手势或动作作为验证码的输入进行验证。比如用户晃动一次设备、晃动两次设备、将设备顺时针旋转、用手挡住屏幕等等手势,都可以作为新型验证码的一种输入形式。
具体地,本实施例在移动终端设备上安装有客户端应用软件。以互联网中常见的帐号登录为例,用户在移动终端设备输入帐号后,系统一般需要用户输入验证码进行验证,以确保互联网服务的安全性。
首先,客户端接收用户的访问请求,该访问请求可能为正常用户的访问请求,也可能为恶意用户的访问请求。
客户端接收到用户的访问请求后,根据所述访问请求向服务器发送验证码请求。该验证码请求包括拉取验证码和校验验证码请求。在该验证码请求中携带有客户端用户的账号资料和设备参数信息,其中,设备参数信息比如可以是:移动终端设备是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等。
步骤S202,所述服务器从所述验证码请求获取所述客户端的账号资料和设备参数信息,根据所述客户端的账号资料和设备参数信息,以及预设验证策略,向所述客户端返回验证码指令;
服务器接收到客户端上报的验证码请求后,对所述验证码请求进行解析,从所述验证码请求获取所述客户端的账号资料和设备参数信息。
在服务器侧,针对不同的移动终端设备,预先根据用户习惯或用户自定义规则等,配置有相应的验证策略。比如,对于某移动终端设备,配置用户的验证码规则为“晃动设备三次”。
服务器根据解析获取的客户端用户的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;之后,将所述验证策略结果转义为验证码,比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”等。
服务器将验证码生成验证码指令返回给客户端。
步骤S203,所述客户端根据所述验证码指令,提示用户输入验证码信息;
客户端接收到服务器发来的验证码指令后,将验证码结果显示或播放出现,提示用户输入验证码信息。其验证码操作界面如图4a所示。
步骤S204,所述客户端获取用户根据提示信息触发的行为特征,并将所述用户的行为特征上传至所述服务器;
用户根据客户端提示输入验证码信息。如前所述,本实施例方案为一种基于用户行为动作的验证码设计方案,因此,用户输入的验证码信息为用户触发的行为特征,比如晃动手机三下或设定的手势动作。
客户端通过加速度传感器或距离传感器获取用户的行为特征,并将用户的行为特征上传至所述服务器。
步骤S205,所述服务器验证所述用户的行为特征,并将验证结果返回给所述客户端。
服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则,则验证通过,否则,验证未通过。
最后,服务器将验证结果返回给所述客户端,由客户端将验证结果提示给用户,其验证结果界面如图4b所示。
进一步地,作为另一种实施方式,服务器在验证用户的行为特征是否通过时,还可以采用如下方案:
首先,服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则时,服务器还要判断所述用户的行为特征是否符合机器的行为特征,若不是,则验证通过,否则,验证未通过;最后,服务器将综合上述两种情形得到的验证结果返回给客户端。
当然,上述服务器判断用户的行为特征是否符合用户预设行为规则,以及判断用户的行为特征是否符合机器的行为特征的两个步骤可以不分先后执行,即可以同时进行。
本实施例通过上述方案,移动终端设备客户端接收到用户的访问请求后,向服务器发送验证码请求;服务器从所述验证码请求获取客户端的账号资料和设备参数信息,根据客户端的账号资料和设备参数信息,以及预设验证策略,向客户端返回验证码指令;客户端根据所述验证码指令,提示用户输入验证码信息;客户端利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器;服务器验证用户的行为特征,并将验证结果返回给客户端。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面向用户提供了一种方便及具有个性化特点的验证码输入方式。
需要说明的是,本实施例中服务器的功能可以根据需要由多个相关服务器分别实现。比如可以包括:验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,如图5所示。
上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器的功能如下:
首先,在移动终端设备上安装有客户端应用软件,客户端负责接收用户或者码工的访问请求,并向验证码服务拉取和校验验证码。
验证码服务器负责处理来自客户端应用软件的拉取验证码和校验验证码请求。
其中,验证码服务器处理拉取请求包括:接收客户端应用软件的拉取验证码请求和设备参数,上报设备参数到策略服务器,获得验证码指令,返回验证码指令给客户端应用软件。
验证码服务器处理校验请求包括:校验用户输入的验证码是否正确,并向客户端应用软件返回校验结果。
策略服务器上配置有一些规则,根据验证码服务器上报的客户端应用软件的设备参数信息以及一些安全策略,返回验证码指令给验证码服务器。
用户手势习惯服务器上存储了用户的手势习惯,可鉴定当次的手势验证码是否符合该用户的平时习惯。
防恶意攻击服务器负责鉴定当次的手势验证码是否为机器行为,防止自动机恶意破解验证码。
基于上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,实现基于用户行为特征的验证码设计原理如下:
如图5所示,首先,客户端上报用户的帐号资料及设备的参数信息(比如是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等)到验证码服务器。
然后,验证码服务器上报用户资料及设备的参数信息到策略服务器。
之后,策略服务器根据上报的信息计算及判断,返回策略结果到验证码服务器。比如该策略结果为“用户晃动移动终端设备三次”。
验证码服务器将策略结果转义为验证码。比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”。验证码服务器将验证码反馈给客户端应用软件,由客户端将验证码显示或播放出来。
用户根据客户端的验证码的提示,晃动移动终端设备三次。客户端获取传感器的信息,将用户的行为上传到验证码服务器。
验证码服务器将用户的行为记录转发至用户手势习惯服务器、防恶意攻击服务器。
用户手势习惯服务器判定该次用户的行为记录是否符合其平时的行为习惯,并向验证码服务器返回结果;防恶意攻击服务器判定该次用户的行为记录是否符合机器的手势特征,并向验证码服务器返回结果。
最后,验证码服务器综合判断用户手势习惯服务器及防恶意攻击服务器的结果,决定用户的验证是否可以通过。
如图7所示,本发明第二实施例提出一种验证信息处理方法,包括:
步骤S301,服务器在用户请求服务时,接收客户端发送的验证码请求;
本实施例客户端可以为PC客户端,也可以为手机、平板电脑等具有行为特征获取功能的移动终端设备,该移动终端设备一般带有物理键盘或虚拟键盘等输入装置,以及显示屏等输出装置,还配备有检测方位、姿势等信息的额外传感器,比如加速度传感器、距离传感器以及摄像头等。本实施例尤其指具有加速度传感器和距离传感器的移动终端设备。
其中,加速度传感器是一种能够测量加速力的电子设备,常用于各种设备或终端中实现姿态检测、运动检测等。
距离传感器是通过发射短的光脉冲,通过测量此光脉冲从发射到被物体反射回来的时间,来计算与物体之间的距离。
由于现有的文字式验证码和图片式验证码易遭到一些互联网恶意用户通过自动机或招募大量码工来对其破解,对互联网服务的安全性造成极大挑战。而且对于移动终端设备,用户在使用移动终端设备上网或者使用其他互联网服务需要输入验证码时,由于移动终端设备的键盘较小或触摸屏输入区域较小,输入字符时容易出现按键错误,而且输入特殊字符还需要进行输入法切换等操作,给用户操作带来不便。本实施例方案为一种基于用户行为动作的验证码设计方案,这种验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面方便用户进行验证码输入操作。
相比传统的验证码设计方案要求用户使用键盘或触摸屏输入正确的数字或者字母,从而通过验证,本实施例方案将用户的某种动作作为特定的“数字”或“字母”,要求用户实现正确的行为动作来通过验证,而用户的行为可以通过移动终端设备上的加速度传感器和距离传感器来获得。
其中,通过加速度传感器可以检测用户手中的移动终端设备的上下颠倒状态,还可以计算出移动终端设备相对于水平面的倾斜角度,由此可以得知用户是否将移动终端设备直立、是否将移动终端设备左右倾斜及是否将移动终端设备前后倾斜等。
因此,通过分析动态加速度,可以分析出移动终端设备移动的方式,检测用户是否在晃动移动终端设备。如图3所示,X轴代表移动终端设备的左右移动,Y轴代表移动终端设备的上下移动,Z轴代表移动终端设备的前后移动,加速度传感器可以分别测量移动终端设备X、Y、Z三个轴上的加速度值,从而知道用户是否将移动终端设备在这三个方向上晃动。
当有物体(比如手)接近移动终端设备时,距离传感器可以测量获得物体与移动终端设备之间的距离。通过对距离的判断,可以知道移动终端设备是否有物体遮挡、物体是在靠近还是在远离、移动终端设备与物体的具体距离。以智能手机接打电话为例,人脸靠近屏幕,距离传感器检测到人脸接近,屏幕灯会熄灭,并自动锁屏;当人脸离开,屏幕灯会自动打开,并且自动解锁。
本实施例正是基于上述加速度传感器和距离传感器的特点,考虑将多样化的用户手势或动作作为验证码的输入进行验证。比如用户晃动一次设备、晃动两次设备、将设备顺时针旋转、用手挡住屏幕等等手势,都可以作为新型验证码的一种输入形式。
具体地,本实施例在移动终端设备上安装有客户端应用软件。以互联网中常见的帐号登录为例,用户在移动终端设备输入帐号后,系统一般需要用户输入验证码进行验证,以确保互联网服务的安全性。
首先,客户端接收用户的访问请求,该访问请求可能为正常用户的访问请求,也可能为恶意用户的访问请求。
客户端接收到用户的访问请求后,根据所述访问请求向服务器发送验证码请求。该验证码请求包括拉取验证码和校验验证码请求。在该验证码请求中携带有客户端用户的账号资料和设备参数信息,其中,设备参数信息比如可以是:移动终端设备是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等。
步骤S302,从所述验证码请求获取所述客户端的账号资料和设备参数信息,根据所述客户端的账号资料和设备参数信息,以及预设验证策略,向所述客户端返回验证码指令;
服务器接收到客户端上报的验证码请求后,对所述验证码请求进行解析,从所述验证码请求获取所述客户端的账号资料和设备参数信息。
在服务器侧,针对不同的移动终端设备,预先根据用户习惯或用户自定义规则等,配置有相应的验证策略。比如,对于某移动终端设备,配置用户的验证码规则为“晃动设备三次”。
服务器根据解析获取的客户端用户的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;之后,将所述验证策略结果转义为验证码,比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”等。
服务器将验证码生成验证码指令返回给客户端。
步骤S303,接收所述客户端根据所述验证码指令,提示用户输入验证码信息后获取并上传的用户的行为特征;
客户端接收到服务器发来的验证码指令后,将验证码结果显示或播放出现,提示用户输入验证码信息。其验证码操作界面如图4a所示。
用户根据客户端提示输入验证码信息。如前所述,本实施例方案为一种基于用户行为动作的验证码设计方案,因此,用户输入的验证码信息为用户触发的行为特征,比如晃动手机三下或设定的手势动作。
客户端通过加速度传感器或距离传感器获取用户的行为特征,并将用户的行为特征上传至所述服务器。
步骤S304,验证所述用户的行为特征,并将验证结果返回给所述客户端。
服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则,则验证通过,否则,验证未通过。
最后,服务器将验证结果返回给所述客户端,由客户端将验证结果提示给用户,其验证结果界面如图4b所示。
进一步地,作为另一种实施方式,服务器在验证用户的行为特征是否通过时,还可以采用如下方案:
首先,服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则时,服务器还要判断所述用户的行为特征是否符合机器的行为特征,若不是,则验证通过,否则,验证未通过;最后,服务器将综合上述两种情形得到的验证结果返回给客户端。
当然,上述服务器判断用户的行为特征是否符合用户预设行为规则,以及判断用户的行为特征是否符合机器的行为特征的两个步骤可以不分先后执行,即可以同时进行。
本实施例通过上述方案,移动终端设备客户端接收到用户的访问请求后,向服务器发送验证码请求;服务器从所述验证码请求获取客户端的账号资料和设备参数信息,根据客户端的账号资料和设备参数信息,以及预设验证策略,向客户端返回验证码指令;客户端根据所述验证码指令,提示用户输入验证码信息;客户端利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器;服务器验证用户的行为特征,并将验证结果返回给客户端。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面向用户提供了一种方便及具有个性化特点的验证码输入方式。
需要说明的是,本实施例中服务器的功能可以根据需要由多个相关服务器分别实现。比如可以包括:验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,如图5所示。
上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器的功能如下:
首先,在移动终端设备上安装有客户端应用软件,客户端负责接收用户或者码工的访问请求,并向验证码服务拉取和校验验证码。
验证码服务器负责处理来自客户端应用软件的拉取验证码和校验验证码请求。
其中,验证码服务器处理拉取请求包括:接收客户端应用软件的拉取验证码请求和设备参数,上报设备参数到策略服务器,获得验证码指令,返回验证码指令给客户端应用软件。
验证码服务器处理校验请求包括:校验用户输入的验证码是否正确,并向客户端应用软件返回校验结果。
策略服务器上配置有一些规则,根据验证码服务器上报的客户端应用软件的设备参数信息以及一些安全策略,返回验证码指令给验证码服务器。
用户手势习惯服务器上存储了用户的手势习惯,可鉴定当次的手势验证码是否符合该用户的平时习惯。
防恶意攻击服务器负责鉴定当次的手势验证码是否为机器行为,防止自动机恶意破解验证码。
基于上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,实现基于用户行为特征的验证码设计原理如下:
如图5所示,首先,客户端上报用户的帐号资料及设备的参数信息(比如是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等)到验证码服务器。
然后,验证码服务器上报用户资料及设备的参数信息到策略服务器。
之后,策略服务器根据上报的信息计算及判断,返回策略结果到验证码服务器。比如该策略结果为“用户晃动移动终端设备三次”。
验证码服务器将策略结果转义为验证码。比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”。验证码服务器将验证码反馈给客户端应用软件,由客户端将验证码显示或播放出来。
用户根据客户端的验证码的提示,晃动移动终端设备三次。客户端获取传感器的信息,将用户的行为上传到验证码服务器。
验证码服务器将用户的行为记录转发至用户手势习惯服务器、防恶意攻击服务器。
用户手势习惯服务器判定该次用户的行为记录是否符合其平时的行为习惯,并向验证码服务器返回结果;防恶意攻击服务器判定该次用户的行为记录是否符合机器的手势特征,并向验证码服务器返回结果。
最后,验证码服务器综合判断用户手势习惯服务器及防恶意攻击服务器的结果,决定用户的验证是否可以通过。
如图8所示,本发明较佳实施例提出一种验证信息处理服务器,包括:请求接收模块401、验证码反馈模块402、行为特征获取模块403以及验证模块404,其中:
请求接收模块401,用于在用户请求服务时,接收客户端发送的验证码请求;
验证码反馈模块402,用于从所述验证码请求获取所述客户端的账号资料和设备参数信息,根据所述客户端的账号资料和设备参数信息,以及预设验证策略,向所述客户端返回验证码指令;
行为特征获取模块403,用于接收所述客户端根据所述验证码指令,提示用户输入验证码信息后获取并上传的用户的行为特征;
验证模块404,用于验证所述用户的行为特征,并将验证结果返回给所述客户端。
具体地,如图9所示,所述验证码反馈模块402包括:解析单元4021、计算判断单元4022、转义单元4023,其中:
解析单元4021,用于解析所述验证码请求,从所述验证码请求获取所述客户端的账号资料和设备参数信息;
计算判断单元4022,用于根据所述客户端的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;
转义单元4023,用于将所述验证策略结果转义为验证码,并生成验证码指令返回给客户端。
更为具体地,本实施例客户端可以为PC客户端,也可以为手机、平板电脑等具有行为特征获取功能的移动终端设备,该移动终端设备一般带有物理键盘或虚拟键盘等输入装置,以及显示屏等输出装置,还配备有检测方位、姿势等信息的额外传感器,比如加速度传感器、距离传感器以及摄像头等。本实施例尤其指具有加速度传感器和距离传感器的移动终端设备。
其中,加速度传感器是一种能够测量加速力的电子设备,常用于各种设备或终端中实现姿态检测、运动检测等。
距离传感器是通过发射短的光脉冲,通过测量此光脉冲从发射到被物体反射回来的时间,来计算与物体之间的距离。
由于现有的文字式验证码和图片式验证码易遭到一些互联网恶意用户通过自动机或招募大量码工来对其破解,对互联网服务的安全性造成极大挑战。而且对于移动终端设备,用户在使用移动终端设备上网或者使用其他互联网服务需要输入验证码时,由于移动终端设备的键盘较小或触摸屏输入区域较小,输入字符时容易出现按键错误,而且输入特殊字符还需要进行输入法切换等操作,给用户操作带来不便。本实施例方案为一种基于用户行为动作的验证码设计方案,这种验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面方便用户进行验证码输入操作。
相比传统的验证码设计方案要求用户使用键盘或触摸屏输入正确的数字或者字母,从而通过验证,本实施例方案将用户的某种动作作为特定的“数字”或“字母”,要求用户实现正确的行为动作来通过验证,而用户的行为可以通过移动终端设备上的加速度传感器和距离传感器来获得。
其中,通过加速度传感器可以检测用户手中的移动终端设备的上下颠倒状态,还可以计算出移动终端设备相对于水平面的倾斜角度,由此可以得知用户是否将移动终端设备直立、是否将移动终端设备左右倾斜及是否将移动终端设备前后倾斜等。
因此,通过分析动态加速度,可以分析出移动终端设备移动的方式,检测用户是否在晃动移动终端设备。如图3所示,X轴代表移动终端设备的左右移动,Y轴代表移动终端设备的上下移动,Z轴代表移动终端设备的前后移动,加速度传感器可以分别测量移动终端设备X、Y、Z三个轴上的加速度值,从而知道用户是否将移动终端设备在这三个方向上晃动。
当有物体(比如手)接近移动终端设备时,距离传感器可以测量获得物体与移动终端设备之间的距离。通过对距离的判断,可以知道移动终端设备是否有物体遮挡、物体是在靠近还是在远离、移动终端设备与物体的具体距离。以智能手机接打电话为例,人脸靠近屏幕,距离传感器检测到人脸接近,屏幕灯会熄灭,并自动锁屏;当人脸离开,屏幕灯会自动打开,并且自动解锁。
本实施例正是基于上述加速度传感器和距离传感器的特点,考虑将多样化的用户手势或动作作为验证码的输入进行验证。比如用户晃动一次设备、晃动两次设备、将设备顺时针旋转、用手挡住屏幕等等手势,都可以作为新型验证码的一种输入形式。
具体地,本实施例在移动终端设备上安装有客户端应用软件。以互联网中常见的帐号登录为例,用户在移动终端设备输入帐号后,系统一般需要用户输入验证码进行验证,以确保互联网服务的安全性。
首先,客户端接收用户的访问请求,该访问请求可能为正常用户的访问请求,也可能为恶意用户的访问请求。
客户端接收到用户的访问请求后,根据所述访问请求向服务器发送验证码请求。该验证码请求包括拉取验证码和校验验证码请求。在该验证码请求中携带有客户端用户的账号资料和设备参数信息,其中,设备参数信息比如可以是:移动终端设备是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等。
服务器接收到客户端上报的验证码请求后,对所述验证码请求进行解析,从所述验证码请求获取所述客户端的账号资料和设备参数信息。
在服务器侧,针对不同的移动终端设备,预先根据用户习惯或用户自定义规则等,配置有相应的验证策略。比如,对于某移动终端设备,配置用户的验证码规则为“晃动设备三次”。
服务器根据解析获取的客户端用户的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;之后,将所述验证策略结果转义为验证码,比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”等。
服务器将验证码生成验证码指令返回给客户端。
客户端接收到服务器发来的验证码指令后,将验证码结果显示或播放出现,提示用户输入验证码信息。其验证码操作界面如图4a所示。
用户根据客户端提示输入验证码信息。如前所述,本实施例方案为一种基于用户行为动作的验证码设计方案,因此,用户输入的验证码信息为用户触发的行为特征,比如晃动手机三下或设定的手势动作。
客户端通过加速度传感器或距离传感器获取用户的行为特征,并将用户的行为特征上传至所述服务器。
服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则,则验证通过,否则,验证未通过。
最后,服务器将验证结果返回给所述客户端,由客户端将验证结果提示给用户,其验证结果界面如图4b所示。
进一步地,作为另一种实施方式,服务器在验证用户的行为特征是否通过时,还可以采用如下方案:
首先,服务器获取到用户的行为特征后,根据用户习惯或用户自定义规则,对用户的行为特征进行验证,判断所述用户的行为特征是否符合用户预设行为规则,比如判断当前获取的用户行为特征是否符合用户平时的行为习惯,或者判断当前获取的用户行为特征是否符合用户自定义的规则。
若服务器判断用户的行为特征符合用户预设行为规则时,服务器还要判断所述用户的行为特征是否符合机器的行为特征,若不是,则验证通过,否则,验证未通过;最后,服务器将综合上述两种情形得到的验证结果返回给客户端。
当然,上述服务器判断用户的行为特征是否符合用户预设行为规则,以及判断用户的行为特征是否符合机器的行为特征的两个步骤可以不分先后执行,即可以同时进行。
本实施例通过上述方案,移动终端设备客户端接收到用户的访问请求后,向服务器发送验证码请求;服务器从所述验证码请求获取客户端的账号资料和设备参数信息,根据客户端的账号资料和设备参数信息,以及预设验证策略,向客户端返回验证码指令;客户端根据所述验证码指令,提示用户输入验证码信息;客户端利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器;服务器验证用户的行为特征,并将验证结果返回给客户端。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面向用户提供了一种方便及具有个性化特点的验证码输入方式。
需要说明的是,本实施例中服务器的功能可以根据需要由多个相关服务器分别实现。比如可以包括:验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,如图5所示。
上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器的功能如下:
首先,在移动终端设备上安装有客户端应用软件,客户端负责接收用户或者码工的访问请求,并向验证码服务拉取和校验验证码。
验证码服务器负责处理来自客户端应用软件的拉取验证码和校验验证码请求。
其中,验证码服务器处理拉取请求包括:接收客户端应用软件的拉取验证码请求和设备参数,上报设备参数到策略服务器,获得验证码指令,返回验证码指令给客户端应用软件。
验证码服务器处理校验请求包括:校验用户输入的验证码是否正确,并向客户端应用软件返回校验结果。
策略服务器上配置有一些规则,根据验证码服务器上报的客户端应用软件的设备参数信息以及一些安全策略,返回验证码指令给验证码服务器。
用户手势习惯服务器上存储了用户的手势习惯,可鉴定当次的手势验证码是否符合该用户的平时习惯。
防恶意攻击服务器负责鉴定当次的手势验证码是否为机器行为,防止自动机恶意破解验证码。
基于上述验证码服务器、策略服务器、用户手势习惯服务器和防恶意攻击服务器,实现基于用户行为特征的验证码设计原理如下:
如图5所示,首先,客户端上报用户的帐号资料及设备的参数信息(比如是否有键盘或触控屏幕、是否有加速度传感器、是否有距离传感器等)到验证码服务器。
然后,验证码服务器上报用户资料及设备的参数信息到策略服务器。
之后,策略服务器根据上报的信息计算及判断,返回策略结果到验证码服务器。比如该策略结果为“用户晃动移动终端设备三次”。
验证码服务器将策略结果转义为验证码。比如验证码可以是一幅图片,图片中的文字为“请您晃动手机三下”;或者是一段语音,语音内容为“请您晃动手机三下”。验证码服务器将验证码反馈给客户端应用软件,由客户端将验证码显示或播放出来。
用户根据客户端的验证码的提示,晃动移动终端设备三次。客户端获取传感器的信息,将用户的行为上传到验证码服务器。
验证码服务器将用户的行为记录转发至用户手势习惯服务器、防恶意攻击服务器。
用户手势习惯服务器判定该次用户的行为记录是否符合其平时的行为习惯,并向验证码服务器返回结果;防恶意攻击服务器判定该次用户的行为记录是否符合机器的手势特征,并向验证码服务器返回结果。
最后,验证码服务器综合判断用户手势习惯服务器及防恶意攻击服务器的结果,决定用户的验证是否可以通过。
如图10所示,图10是本发明实施例提出的验证信息处理服务器的另一种结构示意图。
如图10所示,该服务器可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如个磁盘存储器。存储器1005可选的还可以是个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及验证信息处理应用程序。
在图10所示的服务器中,网络接口1004主要用于连接客户端,与客户端进行数据通信;用户接口1003主要用于连接后台管理平台,与后台管理平台进行数据通信;而处理器1001可以用于调用存储器1005中存储的验证信息处理应用程序,并执行以下操作:
通过网络接口1004与客户端进行交互,在用户请求服务时,接收客户端发送的验证码请求;从所述验证码请求获取所述客户端的账号资料和设备参数信息,根据所述客户端的账号资料和设备参数信息,以及预设验证策略,向所述客户端返回验证码指令;接收所述客户端根据所述验证码指令,提示用户输入验证码信息后获取并上传的用户的行为特征;验证所述用户的行为特征,并将验证结果返回给所述客户端。
在一个实施例中,处理器1001调用存储器1005中存储的验证信息处理应用程序可以执行以下操作:
解析所述验证码请求,从所述验证码请求获取所述客户端的账号资料和设备参数信息;根据所述客户端的账号资料和设备参数信息以及预设验证策略,进行计算和判断,获取验证策略结果;将所述验证策略结果转义为验证码,并生成验证码指令返回给客户端。
在一个实施例中,处理器1001调用存储器1005中存储的验证信息处理应用程序可以执行以下操作:
判断所述用户的行为特征是否符合用户预设行为规则,若是,则验证通过,否则,验证未通过;并将验证结果返回给所述客户端。
在一个实施例中,处理器1001调用存储器1005中存储的验证信息处理应用程序可以执行以下操作:
当所述服务器判断所述用户的行为特征符合用户预设行为规则时,所述服务器判断所述用户的行为特征是否符合机器的行为特征,若不是,则验证通过,否则,验证未通过;并将验证结果返回给所述客户端。
本实施例通过上述方案,移动终端设备客户端接收到用户的访问请求后,向服务器发送验证码请求;服务器从所述验证码请求获取客户端的账号资料和设备参数信息,根据客户端的账号资料和设备参数信息,以及预设验证策略,向客户端返回验证码指令;客户端根据所述验证码指令,提示用户输入验证码信息;客户端利用移动终端设备上的加速度传感器及距离传感器的功能,获取用户根据提示信息触发的行为特征,上传至服务器;服务器验证用户的行为特征,并将验证结果返回给客户端。这种基于用户行为动作的验证码设计方案,一方面可以防止验证码被自动机及码工大量破解的问题,另一方面向用户提供了一种方便及具有个性化特点的验证码输入方式。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。