CN105306208B - 身份验证方法及装置 - Google Patents
身份验证方法及装置 Download PDFInfo
- Publication number
- CN105306208B CN105306208B CN201410348112.6A CN201410348112A CN105306208B CN 105306208 B CN105306208 B CN 105306208B CN 201410348112 A CN201410348112 A CN 201410348112A CN 105306208 B CN105306208 B CN 105306208B
- Authority
- CN
- China
- Prior art keywords
- picture
- sub
- verification code
- pictures
- background picture
- 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.)
- Active
Links
Images
Abstract
本发明提出一种成本较低且抗破解能力强、安全性高的身份验证方法及装置。该方法包括:服务器接收用户终端发送的验证码拉取请求;根据验证码拉取请求,随机选取一个验证码背景图片,获取与验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则;根据第一拼接规则中与每个子图片对应的位置以及旋转角度,将多个子图片拼接在多个空缺区域中;将拼接有多个子图片的验证码背景图片下发给用户终端,以使用户终端将拼接有多个子图片的验证码背景图片展示给用户;以及接收用户终端返回的、根据用户的指令进行重新拼接的验证码背景图片与多个子图片的拼接结果,根据拼接结果进行验证。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种身份验证方法及装置。
背景技术
随着计算机和计算机网络的日益普及,互联网已经深入到人们工作、学习和生活的各个领域。网络的发展在为人们提供便利的同时也带来各种挑战。一些人会利用机器人程序大量地不当使用网络资源,例如群发垃圾邮件等,使服务器效能大为降低。也有人利用程序不断发出服务请求回应,进行“饱和攻击”以达到使服务器瘫痪的目的。甚至还有人尝试利用暴利破解等手段进行恶意破解密码等行为。为避免上述恶意行为,设计一套能够让计算机自动分辨信息是来自合理用户或是非正当使用的机器人程序的工具,就显得非常重要。
使用图像验证码是现在比较通行的方式,图像验证码的主要目的是分辨网络服务用户是程序还是人类。图像验证码是含有字符串的图片,在验证时要求用户输入字符串的内容。字符串通常由大小写字母和数字组成,部分验证码包含汉字或数学公式,字符串的长度可以是随机或固定的。为了避免被机器自动识别,通常会对图片的背景进行改进,例如增加各种纹理图案等,从而对机器自动识别进行干扰。
然而,如图1所示,现有的基于验证码图片的身份验证方法,需要用户在验证码输入框1中手动输入验证码图片2中所显示的字符,由于手动输入需要借助键盘来完成,因此决定了验证码图片中的字符必须简单易懂。目前验证码图片中的内容一般都采用字母或数字,可选择范围小,只要收集足够的样本,进行机器学习和训练,很快就可以开发出可以破解验证码的自动机程序。即使是增加了背景的验证码图片,如果背景库不够庞大,依然会被自动机破解。因此,验证码图片的整体抗破解能力比较差,安全性比较低。
为了提高验证码的抗破解能力,研发人员开发了点选验证码,点选验证码在使用时通常会向用户展示包含多个包含自然物体的图片以及与这些图片内容相关的提示信息,由用户根据提示信息对这些图片进行选择,根据用户的选择来对用户的身份进行验证,由于机器在对提示信息的理解以及对对象的分类这两方面都存在很大的困难,因此可以大大增加机器破解验证码的难度。
但是,点选验证码在使用时,图片资源要求很高,而且需要人工筛选分类入库,成本较高。
发明内容
本发明实施例的目的在于,提供一种成本较低且抗破解能力强、安全性高的身份验证方法及装置。
为了解决上述问题,本发明实施例提供一种身份验证方法,所述方法包括:服务器接收用户终端发送的验证码拉取请求;根据所述验证码拉取请求,随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度;根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中;将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户;以及接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
本发明实施例还提供一种身份验证方法,所述方法可以包括:用户终端向服务器发送验证码拉取请求;接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中;根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
相应的,本发明实施例还提供一种身份验证装置,所述装置可以运行于服务器,所述装置可以包括:请求接收模块,用于接收用户终端发送的验证码拉取请求;图片拉取模块,用于随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度;验证码生成模块,用于根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中;图片下发模块,用于将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户;以及身份验证模块,用于接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
本发明实施例还提供一种身份验证装置,所述装置可以运行于用户终端,所述装置可以包括:请求发送模块,用于向服务器发送验证码拉取请求;展示模块,用于接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中;拼接模块,用于根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及结果发送模块,用于根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
相对于现有技术,本发明实施例中,服务器在下发验证码背景图片以及对应的子图片之前,首先根据第一拼接规则将子图片拼接在验证码背景图片中,使得验证码背景图片中的空缺区域被子图片所填充,一方面可以有效的避免人工或机器利用空缺区域的边缘相似度检测以及颜色、纹理等进行破解,另一方面,用户仍然能够根据理解很容易分辨出需要调整位置和角度的子图片,不影响用户体验。此外,由于第一拼接规则中每个子图片所配置的空缺区域以及旋转角度都是随机配置的,因此,也大大增加了人工或机器收集图片作为破解题库的难度。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有的采用验证码图片进行身份验证时的交互界面示意图。
图2是本发明实施例的一种应用环境图。
图3是一种可应用于本发明实施例的用户终端的结构框图。
图4是一种可应用于本发明实施例的服务器的结构框图。
图5是本发明实施例的另一种应用环境图。
图6是本发明第一实施例提供的一种身份验证方法的流程图。
图7是本发明第一实施例中部分流程的具体流程图。
图8是一种具体实施方式中的验证码背景图片以及对应子图片的实例示意图。
图9是本发明第一实施例中部分流程的具体流程图。
图10是图8中的验证码背景图片与子图片按照第一拼接规则拼接后的示意图。
图11是另一种具体实施方式中的验证码背景图片以及对应子图片的实例示意图。
图12是图11中的验证码背景图片与子图片按照第一拼接规则拼接后的示意图。
图13是本发明第二实施例提供的一种身份验证方法的流程图。
图14是一种具体实施方式中的用户终端交互界面的示意图。
图15是本发明第三实施例提供的一种身份验证方法的流程图。
图16是本发明第四实施例提供的一种身份验证装置的结构示意图。
图17是本发明第四实施例提供的一种身份验证装置中图片拉取模块的结构示意图。
图18是本发明第五实施例提供的一种身份验证装置的结构示意图。
图19是本发明第六实施例提供的一种身份验证系统的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的身份验证方法及身份验证装置的具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
请参阅图2,所示为本发明实施例提供的身份验证方法的一种应用环境图。如图2所示,用户终端100以及服务器200位于无线或有线网络300中,通过该无线或有线网络300,用户终端100以及服务器200相互通信。
用户终端100具体可以包括智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、车载终端、可穿戴设备等等。用户终端100中可以安装浏览器或各种应用(包括系统应用以及第三方应用)的客户端。
图3示出了一种可应用于本发明实施例中的用户终端的结构框图。如图3所示,用户终端100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、定位模块112、图像采集模块114、音频模块116、触控屏幕118以及按键模块120。这些组件通过一条或多条通讯总线/信号线122相互通讯。
可以理解,图3所示的结构仅为示意,用户终端100还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
存储器102可用于存储软件程序以及模块,如本发明实施例中的身份验证方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的身份验证方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至用户终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至CPU以及存储器102。处理器106运行存储器102内的各种软件、指令以执行用户终端100的各种功能以及进行数据处理。
在一些实施例中,外设接口108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code divisionmultiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
定位模块112用于获取用户终端100的当前位置。定位模块112的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。
图像采集模块114用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器102内,并可通过射频模块110发送。
音频模块116向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口108处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口108中以进行进一步的处理。音频数据可以从存储器102处或者通过射频模块110获取。此外,音频数据也可以存储至存储器102中或者通过射频模块110进行发送。在一些实例中,音频模块116还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕118在用户终端100与用户之间同时提供一个输出及输入界面。具体地,触控屏幕118向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕118还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕118显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
按键模块120同样提供用户向用户终端100进行输入的接口,用户可以通过按下不同的按键以使用户终端100执行不同的功能。
图4示出了一种服务器的结构框图。如图4所示,服务器200包括:存储器201、处理器202以及网络模块203。
可以理解,图4所示的结构仅为示意,服务器200还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。
存储器201可用于存储软件程序以及模块,如本发明实施例中的身份验证方法及装置对应的程序指令/模块,处理器202通过运行存储在存储器201内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的身份验证方法。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器201可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至服务器200。进一步地,上述软件程序以及模块还可包括:服务模块221以及操作系统222。其中操作系统222,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块221运行在操作系统222的基础上,并通过操作系统222的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块221用于向客户端提供网络服务。
网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块203可包括处理器、随机存储器、转换器、晶体振荡器等元件。
另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器,图5所示为本发明实施例的另一种应用环境示意图,如图5所示,用户终端100中的客户端(例如浏览器客户端、即时通信应用客户端、支付应用客户端等)可以通过url访问web服务器301并向web服务器301发送验证码拉取请求,web服务器301将验证码拉取请求发送给验证码服务器302,验证码服务器302由素材存储服务器303、规则总控服务器304中分别拉取验证码背景图片、与验证码背景图片对应的子图片、第一拼接规则以及第二拼接规则,并根据第一拼接规则将子图片拼接在验证码背景图片的空缺区域中,将拼接有子图片的验证码背景图片返回web服务器301,由web服务器301下发给用户终端100验证码服务器。验证码服务器302还可以对用户终端100返回的拼接结果进行校验,从而判断用户是否通过验证。素材存储服务器303可以存储海量图片用作验证码背景图片的图片资源,素材存储服务器303还可以存储与验证码背景图片对应的子图片以及对应关系等。规则总控服务器304可以自动配置拼接规则(例如每个子图片的位置、旋转角度等)。用户终端100、web服务器301、验证码服务器302、验证码服务器302以及素材存储服务器303位于无线或有线网络中,通过该无线或有线网络,用户终端100以及各服务器相互通信。
需要说明的是,本发明实施例中服务器的数量以及功能的设置可以根据具体的实施场景以及实施条件进行变化,这样的变化并不影响本发明的保护范围。
下面将结合附图,对本发明实施例提供的身份验证方法、装置、系统进行详细的介绍。
第一实施例
请参阅图6,所示为本发明第一实施例提供的一种身份验证方法的流程图。结合图2,本实施例描述的是服务器的处理流程,本实施例提供的身份验证方法包括以下步骤:
步骤S11,服务器接收用户终端发送的验证码拉取请求。
当用户终端100中的浏览器或各种应用的客户端监测到用户进行发起交易等需要验证身份的敏感操作、或者在某时间段内登陆某应用次数过多、或者异地登陆某应用、或者登陆某应用密码输入错误次数过多等情况发生时,可以判定身份验证请求被触发,用户终端100可以向服务器200发送验证码拉取请求。
例如,用户终端100可以向预先配置的服务器200,例如可以为一个网页地址,发送验证码拉取请求,以获取验证码。具体的,验证码拉取请求中可以携带有页面标识(checkcode),页面标识用于标识一个唯一的页面,例如可以是一个数字,每次刷新页面时页面标识都会变化,与验证码拉取请求具有对应关系。
步骤S12,根据所述验证码拉取请求,随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度。
服务器200在接收到用户终端100发送的验证码拉取请求后,可以从验证码数据库中随机选取一个验证码背景图片以及与所选取的验证码背景图片对应的子图片。
验证码数据库中存放有验证码背景图片以及子图片。每个验证码背景图片都有与其对应的多个子图片(大于或等于两个),每个验证码背景图片中都具有与多个子图片对应的多个空缺区域,当多个子图片按照预定位置以及预定旋转角度拼接在验证码背景图片的多个空缺区域时,可以构成一个完整的图片。
请参照图7,验证码背景图片以及子图片的生成过程可以包括以下步骤:
步骤S101,选取图片数据库中的图片。
图片数据库可以事先建立好,存储在服务器200中。本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以直接使用风景、动物、建筑等内容的图片。图片数据库中的图片可以由服务器200直接由互联网上抓取,互联网上资源非常丰富,因此,图片数据库的图片数量很容易达到一定的规模,从而可以增加人工收集图片作为破解题库的难度,防止人工破解。
另外,图片数据库中的图片也可以是由广告图片发布服务器上获取的广告图片,由此,当用户按照预定位置以及预定旋转角度将子图片拼接在验证码背景图片的空缺区域时,可以看到一个完整的广告图片,从而可以利用验证码来进行产品推广等服务。
步骤S102,由所述图片切割所述多个子图片,所述图片被切割多个子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的多个区域形成所述多个空缺区域。
如图8所示,所述多张子图片优选的具有相同大小和形状,这样可以方便配置相应的拼接规则,也可以防止机器依据子图片的大小和形状进行破解。
切割图片可以从图片的任意位置开始,切割的形状可以包括圆形、方形、多边形等具有多个对称轴的形状,这样不容易被机器或人工恶意破解。
步骤S103,保存所述验证码背景图片、与所述验证码背景图片对应的所述多个子图片以及与每个所述子图片对应的预定位置。
其中,与所述子图片对应的预定位置为与所述子图片对应的空缺区域在所述验证码背景图片中的位置,或者与所述子图片对应的空缺区域在所述验证码背景图片中的位置之间的误差在预定范围内。这里所说的与所述子图片对应的空缺区域,指的是因切割该子图片所形成的空缺区域。例如,由图片P中切割出子图片P1,被切割的区域就形成与子图片P1对应的空缺区域。与所述子图片对应的预定位置,也就是该子图片在所述验证码背景图片中的预定位置。
具体的,在一种具体实施方式中,所述子图片在所述验证码背景图片中的预定位置可以与该子图片对应的空缺区域在所述验证码背景图片中的位置相一致。
在另一种具体实施方式中,所述子图片在所述验证码背景图片中的预定位置可以是与该子图片对应的空缺区域在所述验证码背景图片中的位置之间的误差在预定范围内的位置。也就是说,与所述子图片对应的预定位置与所述子图片对应的空缺区域所在的位置之间允许一定的误差,其误差范围例如可以、但不限于为5%。以子图片对应的预定位置代替子图片的编号,可以提高破解的门槛,因为在一个验证码中,子图片的数量是有限的,也就是编号是有限的,但是,子图片在验证码背景图片中的位置的可能性是很多的,以一张分辨率为400*500的图片为例,如果允许的误差为5%,就有19W种可能,因此可以大幅度提高抗破解能力。
请参照图9,所述随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则的步骤,可以包括以下步骤:
步骤S121,随机选取一个验证码背景图片。
步骤S122,获取与所选取的验证码背景图片对应的多个子图片。
步骤S123,根据所述子图片的形状,随机生成多个旋转角度,将所述验证码背景图片中的多个空缺区域以及随机生成的多个旋转角度随机配置给所述多个子图片,每个所述子图片均配置有一个所述空缺区域以及一个随机生成的旋转角度。
不同形状的子图片,其旋转角度的可选范围也是不同的,假设子图片时圆形的,则随机生成的旋转角度可以是任意角度,因为无论是多少角度,圆形的子图片都可以被拼接在圆形的空缺区域中。如果子图片是正方形的,则随机生成的旋转角度可以是0度、90度、180度、270度的倍数,这样可以保证方形的子图片可以被拼接在方形的空缺区域中,等等,以此类推,所生成多个旋转角度只要能够保证子图片可以被拼接在空缺区域而不留空白即可。
步骤S124,保存所述多个子图片与所述多个空缺区域以及随机生成的多个旋转角度之间的配置关系,作为所述第一拼接规则。
步骤S125,根据所述第一拼接规则中每个所述子图片所配置的旋转角度,计算与每个所述子图片对应的所述预定旋转角度。
步骤S126,保存每个所述子图片与所述预定旋转角度以及预定位置之间的对应关系,作为所述第二拼接规则。
将子图片进行随机角度的旋转可以进一步增加破解难度。以现有的计算机发展水平,直接辨认出图片的目标位置和角度是比较困难的,破解难度与可选空缺区域的个数a和子图片的旋转角度b相关,破解难度=1/(a!*ba)。由于切割图片的位置和角度都是随机的,想通过人工收集验证码背景图片以及子图片的位置和角度作为破解题库是非常困难的,因此具有很强的抗破解能力。
根据子图片所旋转的角度可以计算出与子图片对应的预定旋转角度。假设子图片为圆形图片,被旋转了50度,只有当其被反方向旋转50度或者再旋转310度才可以将子图片正确的拼接在验证码背景图片中。也就是说,假设某子图片在生成时被旋转了x度,其预定旋转角度可以为(-x±n*360)度或者(360-x±n*360)度,其中,n为自然数。
步骤S13,根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中。
请参照图10,由于所述空缺区域的数量等于所述子图片的数量,而且所述多张子图片具有相同大小和形状,因此,当所述多个子图片被拼接在多个空缺区域中时,多个子图片可以填充验证码背景图片中多个空缺区域的空白。相较于服务器直接向用户终端下发包含空缺区域的验证码背景图片以及子图片的方法,可以有效的避免人工或机器通过边缘相似度技术(一种通过比较两个图片边缘上各个边缘点的相似情况,将边缘相同或相似的图片自动进行匹配的计算机程序)识别匹配正确的选项,因此安全性更高。
另外,由于第一拼接规则中每个子图片所配置的空缺区域以及旋转角度都是随机配置的,也就是说与所述验证码背景图片对应的多个子图片是打乱顺序并且经过旋转后拼接在验证码背景图片的空缺区域中的,因此,一方面大大增加了人工或机器收集图片作为破解题库的难度,另一方面用户仍然能够根据理解很容易分辨出需要调整位置和角度的子图片,不影响用户体验。而且同样的验证码背景图片以及子图片只要对应的第一拼接规则不同就可以形成不同的验证码,也可以减少获取大量图片资源所带来的负担。
进一步的,在本实施例的另一种具体实施方式中,在步骤S122获取到与所选取的验证码背景图片对应的多个子图片后,还可以对多个子图片的边缘进行改色、图像模糊等处理,使得多个边缘子图片的边缘与原本的边缘在内容(包括颜色、纹理等)上具有较大的差别,可以更进一步的破坏子图片与验证码背景图片在内容(包括颜色、纹理等)上的连续性。具体的,可以对子图片的完整边缘进行改色、图像模糊等处理,也可以对子图片的部分边缘进行处理。例如,当子图片为方形时,可以对子图片的四个边缘均进行处理,也可以只对其中某个或某几个边缘进行处理,如图11所示。需要说明的是,附图中为了对实施例进行比较清晰的展示,对处理后的子图片的边缘进行了适当的放宽处理。实际处理的边缘的宽度以人眼视觉不易发现为宜,例如可以为2-10个像素的宽度,这样用户在拼接过程比较不会被处理后的边缘影响。
请参照图12,图12为图11中的图片经过步骤S13拼接后的拼接有多个子图片的验证码背景图片。对子图片的边缘进行处理,可以进一步破坏子图片与验证码背景图片在内容(包括颜色、纹理等)上的连续性。一方面,边缘经过处理后的子图片可以更进一步的干扰机器,使机器无法通过边缘相似度技术识别匹配正确的选项,可以有效的避免机器破解,安全性更高。另一方面来说,由于经处理的子图片的边缘的实际宽度可以很小,因此对正常用户判断识别的影响很小,难以察觉,对用户体验的影响很小。
步骤S14,将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户。
进一步的,所述服务器200还可以将验证提示信息下发给所述用户终端100,用以提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。当然,该提示信息也可以由用户终端100生成并展示,本发明的具体实施方式并不以此为限。
步骤S15,接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
所述拼接结果中可以包括每个子图片实际被拼接在所述验证码背景图片中的位置以及在拼接时每个子图片被旋转的角度,服务器200通过比对保存在服务器200中的第二拼接规则中的与每个子图片对应的预定旋转角度以及与每个子图片对应的预定位置,确认每个子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果用户终端100返回的每个子图片实际被拼接在验证码背景图片中的位置和与其对应的预定位置相同,并且每个子图片在拼接时被旋转的角度和与其对应的预定旋转角度相同,则可以判定该多个子图片均被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,验证通过,否则,验证不通过。
进一步的,服务器200还可以将验证结果返回用户终端100展示给用户。
本发明实施例中,服务器在下发验证码背景图片以及对应的子图片之前,首先根据第一拼接规则将子图片拼接在验证码背景图片中,使得验证码背景图片中的空缺区域被子图片所填充,一方面可以有效的避免人工或机器利用空缺区域的边缘相似度检测以及颜色、纹理等进行破解,另一方面,用户仍然能够根据理解很容易分辨出需要调整位置和角度的子图片,不影响用户体验。此外,由于第一拼接规则中每个子图片所配置的空缺区域以及旋转角度都是随机配置的,因此,也大大增加了人工或机器收集图片作为破解题库的难度。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。
第二实施例
请参阅图13,所示为本发明第二实施例提供的一种身份验证方法的流程图。结合图2,本实施例描述的是用户终端的处理流程,本实施例中身份验证方法的可以包括以下步骤:
步骤S21,用户终端向服务器发送验证码拉取请求。
步骤S22,接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中。
用户终端所展示的拼接有多个子图片的验证码背景图片可以如图14所示,其中,拼接有多个子图片的验证码背景图片可以显示在用户交互界面中。用户交互界面中还可以包括其他控制按钮,例如确认按钮、查看原图按钮等。当用户触发查看原图按钮时,用户终端可以将与验证码背景图片对应的原图片展示给用户。如果在服务器将拼接有所述多个子图片的验证码背景图片下发给所述用户终端时,已经将与验证码背景图片对应的原图片下发给用户终端,那么在用户终端监测到查看原图按钮被触发时,用户终端可以直接将原图片展示给用户;如果在服务器将拼接有所述多个子图片的验证码背景图片下发给所述用户终端时,没有将与验证码背景图片对应的原图片下发给用户终端,那么在用户终端监测到查看原图按钮被触发时,再想服务器索取对应的原图片,并将原图片展示给用户。其中,所述与验证码背景图片对应的原图片为所述服务器切割多个子图片后形成所述验证码背景图片时所使用的图片。
请再参考图14,所述用户终端还可以接收并展示所述服务器下发的验证提示信息,用以提示用户将多个子图片通过移动和旋转重新拼接在所述验证码背景图片的对应区域以恢复图片的原样。例如,可以提示用户点击图中的图片,两两互换不匹配的图片以恢复图片的原样,位置调整好后可以旋转图片的角度等。当然,验证提示信息也可以由用户终端直接生成。
步骤S23,根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。
所述用户的指令可以包括所述用户通过鼠标输入、手势输入、语音输入、或字符串输入等方式输入给所述用户终端的指令。
以手势输入为例,用户终端可以响应于所述用户对所述子图片的拖动操作、或者响应于所述用户对所述子图片的拖动以及旋转操作,将所述子图片拼接在所述验证码背景图片中。用户终端在响应用户对子图片的拖动及旋转操作的过程中可以得到子图片旋转的角度、以及所述子图片移动的路径或移动的目标位置。
以语音输入为例,用户可以语音输入图片旋转的角度以及所述子图片移动的路径或移动的目标位置,例如顺时针旋转九十度,移动至第一个空缺区域等,用户终端接收到上述语音信号后将其转变为数字信号,并根据数字信息对子图片进行响应的操作。
用户还可以直接输入“顺时针旋转九十度,移动至第一个空缺区域”等指令。
步骤S24,根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
用户终端100根据所述拼接图片获得所述子图片实际被拼接在所述验证码背景图片中的位置以及在拼接时所述子图片被旋转的角度。例如,用户终端100可以根据其所显示的验证码背景图片与触控屏幕118的相对位置关系获得拼接在验证码背景图片中的子图片与触控屏幕118的相对位置,从而获得拼接在验证码背景图片中的子图片在所述验证码背景图片中的位置。用户终端100可以根据被拼接在所述验证码背景图片中的子图片与触控屏幕118所显示的子图片的相对角度关系,获得在拼接时所述子图片被旋转的角度。
用户终端100也可以根据用户的指令获得所述子图片实际被拼接在所述验证码背景图片中的位置以及在拼接时所述子图片被旋转的角度。例如,根据用户的指令中的子图片旋转的角度获得子图片被旋转的角度,根据所述子图片移动的路径或移动的目标位置获得子图片实际被拼接在所述验证码背景图片中的位置。
第三实施例
请参阅图15,图15所示为本发明第三实施例提供的一种身份验证方法的流程图。结合图2,该实施例描述的是用户终端与服务器之间的一种交互处理流程。本实施例中的身份验证方法可以包括:
步骤S301,用户终端向服务器发送验证码拉取请求。
步骤S302,随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度。
步骤S303,服务器根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中。
步骤S304,将拼接有所述多个子图片的验证码背景图片下发给所述用户终端。
步骤S305,用户终端接收并展示所述服务器下发的拼接有所述多个子图片的验证码背景图片,并提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。
步骤S306,用户终端根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。
步骤S307,用户终端根据所述拼接图片获取拼接结果。
步骤S308,用户终端将所述拼接结果发送给所述服务器。
步骤S309,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
步骤S310,服务器将验证结果返回用户终端展示给用户。
需要说明的是,本实施例中与前述实施例中具有相同步骤的部分可根据上述实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。
本发明实施例中,服务器在下发验证码背景图片以及对应的子图片之前,首先根据第一拼接规则将子图片拼接在验证码背景图片中,使得验证码背景图片中的空缺区域被子图片所填充,一方面可以有效的避免人工或机器利用空缺区域的边缘相似度检测以及颜色、纹理等进行破解,另一方面,用户仍然能够根据理解很容易分辨出需要调整位置和角度的子图片,不影响用户体验。此外,由于第一拼接规则中每个子图片所配置的空缺区域以及旋转角度都是随机配置的,因此,也大大增加了人工或机器收集图片作为破解题库的难度。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。
第四实施例
图16为本发明第四实施例提供的一种身份验证装置的结构示意图。请参照图16,本实施例提出的装置可运行于服务器,用于上述实施例提出的身份验证方法,本实施例中的装置40可以包括:
请求接收模块41,用于接收用户终端发送的验证码拉取请求;
图片拉取模块42,用于随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度;
验证码生成模块43,用于根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中;
图片下发模块44,用于将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户;以及
身份验证模块45,用于接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
所述装置还可以包括图片切割模块46,用于选取背景图片库中的图片,由所述图片切割所述多个子图片,所述图片被切割多个子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的多个区域形成所述多个空缺区域;保存所述验证码背景图片、与所述验证码背景图片对应的所述多个子图片以及与每个所述子图片对应的预定位置,其中,与每个所述子图片对应的预定位置为与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置,或者与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置之间的误差在预定范围内。
进一步的,请参照图17,所述图片拉取模块42可以包括:
背景图片选取单元421,用于随机选取一个验证码背景图片;
子图片获取单元422,用于获取与所选取的验证码背景图片对应的多个子图片;
第一拼接规则生成单元423,用于根据所述子图片的形状,随机生成多个旋转角度,将所述验证码背景图片中的多个空缺区域以及随机生成的多个旋转角度随机配置给所述多个子图片,每个所述子图片均配置有一个所述空缺区域以及一个随机生成的旋转角度;
第一拼接规则保存单元424,用于保存所述多个子图片与所述多个空缺区域以及随机生成的多个旋转角度之间的配置关系,作为所述第一拼接规则;
第二拼接规则生成单元425,用于根据所述第一拼接规则中每个所述子图片所配置的旋转角度,计算与每个所述子图片对应的所述预定旋转角度;以及
第二拼接规则保存单元426,用于保存每个所述子图片与所述预定旋转角度以及预定位置之间的对应关系,作为所述第二拼接规则。
进一步的,子图片获取单元422还用于对多个子图片的边缘进行改色、图像模糊等处理,使得多个边缘子图片的边缘与原本的边缘在内容(包括颜色、纹理等)上具有较大的差别,可以更进一步的破坏子图片与验证码背景图片在内容(包括颜色、纹理等)上的连续性。
优选的,所述空缺区域的数量等于所述子图片的数量,所述多张子图片具有相同大小和形状。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器200的存储器201内。以上各模块同样可以由硬件例如集成电路芯片实现。
需要说明的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。
需要说明的是,上述实施例中的模块可以运行于一个总的服务器也可以运行于多个服务器,如图5所示,服务器的数量以及功能的设置可以根据具体的实施场景以及实施条件进行变化,这样的变化并不影响本发明的保护范围。
本发明实施例中,服务器在下发验证码背景图片以及对应的子图片之前,首先根据第一拼接规则将子图片拼接在验证码背景图片中,使得验证码背景图片中的空缺区域被子图片所填充,一方面可以有效的避免人工或机器利用空缺区域的边缘相似度检测以及颜色、纹理等进行破解,另一方面,用户仍然能够根据理解很容易分辨出需要调整位置和角度的子图片,不影响用户体验。此外,由于第一拼接规则中每个子图片所配置的空缺区域以及旋转角度都是随机配置的,因此,也大大增加了人工或机器收集图片作为破解题库的难度。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。
第五实施例
图18为本发明第五实施例提供的一种身份验证装置的结构示意图。请参照图18,本实施例提出的装置可运行于用户终端,可以用于实现上述实施例提出的身份验证方法,包括:所述装置50可以包括:
请求发送模块51,用于向服务器发送验证码拉取请求;
展示模块52,用于接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中;
拼接模块53,用于根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及
结果发送模块54,用于根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。其中,所述用户的指令可以包括所述用户通过鼠标输入、手势输入、语音输入、或字符串输入方式输入给所述用户终端的指令。
进一步的,所述拼接模块53可以用于:响应于所述用户对所述子图片的拖动操作将所述子图片拼接在所述验证码背景图片中;或者响应于所述用户对所述子图片的拖动以及旋转操作,将所述子图片拼接在所述验证码背景图片中。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于用户终端100的存储器102内。以上各模块同样可以由硬件例如集成电路芯片实现。
需要说明的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。
第六实施例
图19为本发明实施例中的身份验证系统的结构框图。请参照图19,本实施例提出的身份验证系统60可以用于实现上述实施例提出的身份验证方法,本实施例中的身份验证系统60可以包括:用户终端61以及服务器62。
其中,所述用户终端61可以为运行有第五实施例所示装置的用户终端,所述服务器62可以为运行有第四实施例所示装置的服务器,其具体功能及实现可参见上述实施例,这里不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (17)
1.一种身份验证方法,其特征在于,所述方法包括:
服务器接收用户终端发送的验证码拉取请求;
根据所述验证码拉取请求,随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述多个空缺区域的大小形状相同,且所述形状包括但不限于是圆形、方形和多边形;所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度;
根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中;
将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户;以及
接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
2.如权利要求1所述的方法,其特征在于,所述服务器接收用户终端发送的验证码拉取请求的步骤前,还包括:
选取背景图片库中的图片,由所述图片切割所述多个子图片,所述图片被切割多个子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的多个区域形成所述多个空缺区域;
保存所述验证码背景图片、与所述验证码背景图片对应的所述多个子图片以及与每个所述子图片对应的预定位置,其中,与每个所述子图片对应的预定位置为与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置,或者与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置之间的误差在预定范围内。
3.如权利要求2所述的方法,其特征在于,所述随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则的步骤,包括:
随机选取一个验证码背景图片;
获取与所选取的验证码背景图片对应的多个子图片;
根据所述子图片的形状,随机生成多个旋转角度,将所述验证码背景图片中的多个空缺区域以及随机生成的多个旋转角度随机配置给所述多个子图片,每个所述子图片均配置有一个所述空缺区域以及一个随机生成的旋转角度;
保存所述多个子图片与所述多个空缺区域以及随机生成的多个旋转角度之间的配置关系,作为所述第一拼接规则;
根据所述第一拼接规则中每个所述子图片所配置的旋转角度,计算与每个所述子图片对应的所述预定旋转角度;以及
保存每个所述子图片与所述预定旋转角度以及预定位置之间的对应关系,作为所述第二拼接规则。
4.如权利要求1所述的方法,其特征在于,所述空缺区域的数量等于所述子图片的数量,所述多张子图片具有相同大小和形状。
5.如权利要求1所述的方法,其特征在于,所述获取与所述验证码背景图片对应的多个子图片后,还包括:
对获取的与所述验证码背景图片对应的多个子图片的边缘进行变色处理或图像模糊处理。
6.一种身份验证方法,其特征在于,所述方法包括:
用户终端向服务器发送验证码拉取请求;
接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中;所述多个空缺区域的大小形状相同,且所述形状包括但不限于是圆形、方形和多边形;
根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及
根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收用户所触发的验证码背景图片原图片展示命令;
将与所述验证码背景图片对应的原图片展示给所述用户,所述与验证码背景图片对应的原图片为所述服务器切割多个子图片后形成所述验证码背景图片时所使用的图片。
8.一种身份验证装置,运行于服务器,其特征在于,所述装置包括:
请求接收模块,用于接收用户终端发送的验证码拉取请求;
图片拉取模块,用于随机选取一个验证码背景图片,获取与所述验证码背景图片对应的多个子图片、第一拼接规则以及第二拼接规则,所述验证码背景图片中包括与所述多个子图片分别对应的多个空缺区域,所述多个空缺区域的大小形状相同,且所述形状包括但不限于是圆形、方形和多边形;所述第一拼接规则中包括:所述多个子图片与随机生成的多个旋转角度以及所述多个空缺区域之间的配置关系,所述第二拼接规则中包括:与每个所述子图片对应的预定位置以及预定旋转角度;
验证码生成模块,用于根据所述第一拼接规则中每个所述子图片所配置的空缺区域以及旋转角度,将所述多个子图片拼接在所述多个空缺区域中;
图片下发模块,用于将拼接有所述多个子图片的验证码背景图片下发给所述用户终端,以使所述用户终端将拼接有所述多个子图片的验证码背景图片展示给用户;以及
身份验证模块,用于接收所述用户终端返回的、根据所述用户的指令进行重新拼接的所述验证码背景图片与所述多个子图片的拼接结果,根据所述拼接结果,判断所述多个子图片是否被按照所述第二拼接规则中的所述预定位置以及所述预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
9.如权利要求8所述的装置,其特征在于,所述装置还包括图片切割模块,用于:
选取背景图片库中的图片,由所述图片切割所述多个子图片,所述图片被切割多个子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的多个区域形成所述多个空缺区域;
保存所述验证码背景图片、与所述验证码背景图片对应的所述多个子图片以及与每个所述子图片对应的预定位置,其中,与每个所述子图片对应的预定位置为与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置,或者与每个所述子图片对应的空缺区域在所述验证码背景图片中的位置之间的误差在预定范围内。
10.如权利要求9所述的装置,其特征在于,所述图片拉取模块包括:
背景图片选取单元,用于随机选取一个验证码背景图片;
子图片获取单元,用于获取与所选取的验证码背景图片对应的多个子图片;
第一拼接规则生成单元,用于根据所述子图片的形状,随机生成多个旋转角度,将所述验证码背景图片中的多个空缺区域以及随机生成的多个旋转角度随机配置给所述多个子图片,每个所述子图片均配置有一个所述空缺区域以及一个随机生成的旋转角度;
第一拼接规则保存单元,用于保存所述多个子图片与所述多个空缺区域以及随机生成的多个旋转角度之间的配置关系,作为所述第一拼接规则;
第二拼接规则生成单元,用于根据所述第一拼接规则中每个所述子图片所配置的旋转角度,计算与每个所述子图片对应的所述预定旋转角度;以及
第二拼接规则保存单元,用于保存每个所述子图片与所述预定旋转角度以及预定位置之间的对应关系,作为所述第二拼接规则。
11.如权利要求8所述的装置,其特征在于,所述空缺区域的数量等于所述子图片的数量,所述多张子图片具有相同大小和形状。
12.如权利要求10所述的装置,其特征在于,所述子图片获取单元还用于对获取的与所述验证码背景图片对应的多个子图片的边缘进行变色处理或图像模糊处理。
13.一种身份验证装置,运行于用户终端,其特征在于,所述装置包括:
请求发送模块,用于向服务器发送验证码拉取请求;
展示模块,用于接收并展示所述服务器下发的拼接有多个子图片的验证码背景图片,其中,所述多个子图片被分别拼接在所述验证码背景图片中的多个空缺区域中;所述多个空缺区域的大小形状相同,且所述形状包括但不限于是圆形、方形和多边形;
拼接模块,用于根据所述用户的指令将所述子图片与所述验证码背景图片重新进行拼接并获得所述验证码背景图片与所述子图片的拼接图片,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及
结果发送模块,用于根据所述拼接图片获取拼接结果,并将所述拼接结果发送给所述服务器,以使所述服务器根据所述拼接结果判断所述子图片是否被按照预定位置以及预定旋转角度拼接在所述验证码背景图片的空缺区域,如果是,验证结果为通过,否则,验证结果为不通过。
14.如权利要求13所述的装置,其特征在于,所述展示模块还用于:
接收用户所触发的验证码背景图片原图片展示命令;
将与所述验证码背景图片对应的原图片展示给所述用户,所述与验证码背景图片对应的原图片为所述服务器切割多个子图片后形成所述验证码背景图片时所使用的图片。
15.一种服务器,其特征在于,所述服务器包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至5任一项所述的方法。
16.一种终端,其特征在于,所述终端包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求6至7任一项所述的方法。
17.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至5或6至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348112.6A CN105306208B (zh) | 2014-07-21 | 2014-07-21 | 身份验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348112.6A CN105306208B (zh) | 2014-07-21 | 2014-07-21 | 身份验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306208A CN105306208A (zh) | 2016-02-03 |
CN105306208B true CN105306208B (zh) | 2020-05-08 |
Family
ID=55203007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410348112.6A Active CN105306208B (zh) | 2014-07-21 | 2014-07-21 | 身份验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306208B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451459A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 使用图片验证码进行验证的方法和装置 |
CN107454049A (zh) * | 2016-06-01 | 2017-12-08 | 腾讯科技(深圳)有限公司 | 安全验证方法及相关装置 |
CN107066189A (zh) * | 2017-05-15 | 2017-08-18 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的拼图解锁方法及系统 |
CN107765885B (zh) * | 2017-09-13 | 2021-10-19 | 浙江电力建设监理有限公司 | 用于智能监控管理的输入验证方法及系统 |
CN109782989B (zh) * | 2017-11-14 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 安全验证方法及相关装置 |
CN107968779A (zh) * | 2017-11-17 | 2018-04-27 | 天脉聚源(北京)科技有限公司 | 身份验证方法及装置 |
CN107911366A (zh) * | 2017-11-17 | 2018-04-13 | 天脉聚源(北京)科技有限公司 | 身份验证方法及装置 |
CN108154019A (zh) * | 2017-11-30 | 2018-06-12 | 天脉聚源(北京)科技有限公司 | 一种图像验证的方法及装置 |
CN108828599B (zh) * | 2018-04-06 | 2021-11-16 | 东莞市华睿电子科技有限公司 | 一种基于救援无人机的受灾人员搜寻方法 |
CN109117624A (zh) * | 2018-08-03 | 2019-01-01 | 上海掌门科技有限公司 | 生成验证码图像的方法、电子设备和计算机可读介质 |
CN109522699B (zh) * | 2018-11-14 | 2021-11-09 | 深圳儒博智能科技有限公司 | 安全验证方法、装置、终端、服务端及存储介质 |
CN111723356B (zh) * | 2019-03-18 | 2024-04-05 | 京东科技控股股份有限公司 | 一种验证码的验证方法、装置和存储介质 |
CN110309643B (zh) * | 2019-05-30 | 2021-08-06 | 南京苏宁加电子商务有限公司 | 一种基于旋转匹配的图片验证方法及系统 |
CN110531911B (zh) * | 2019-07-22 | 2022-05-27 | 平安科技(深圳)有限公司 | 截屏信息控制方法、装置、计算机设备及存储介质 |
CN110516430B (zh) * | 2019-08-06 | 2021-07-09 | 咪咕文化科技有限公司 | 身份验证方法、服务端和客户端 |
CN114067040B (zh) * | 2022-01-05 | 2022-05-13 | 北京顶象技术有限公司 | 一种动态生成验证码背景图的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006163A (zh) * | 2009-09-01 | 2011-04-06 | 阿里巴巴集团控股有限公司 | 用户验证方法、装置及服务器 |
CN103312512A (zh) * | 2013-06-07 | 2013-09-18 | 深圳第七大道网络技术有限公司 | 一种图片验证码的生成方法及装置、身份验证方法及装置 |
CN103312695A (zh) * | 2013-05-17 | 2013-09-18 | 杭州时趣信息技术有限公司 | 一种图片验证码的实现方法 |
-
2014
- 2014-07-21 CN CN201410348112.6A patent/CN105306208B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006163A (zh) * | 2009-09-01 | 2011-04-06 | 阿里巴巴集团控股有限公司 | 用户验证方法、装置及服务器 |
CN103312695A (zh) * | 2013-05-17 | 2013-09-18 | 杭州时趣信息技术有限公司 | 一种图片验证码的实现方法 |
CN103312512A (zh) * | 2013-06-07 | 2013-09-18 | 深圳第七大道网络技术有限公司 | 一种图片验证码的生成方法及装置、身份验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105306208A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306208B (zh) | 身份验证方法及装置 | |
CN105323066B (zh) | 身份验证方法及装置 | |
US10873576B2 (en) | Authenticating a user device via a monitoring device | |
US10305889B2 (en) | Identity authentication method and device and storage medium | |
CN105323065B (zh) | 一种安全验证方法及装置 | |
CN104702406B (zh) | 身份验证方法及装置 | |
US10187419B2 (en) | Method and system for processing notification messages of a website | |
US9996832B2 (en) | Method, system and apparatus for application loading | |
US9537809B2 (en) | Method and system for graphic code processing | |
US10476870B2 (en) | Local claim-based security service with cross-browser compatibility | |
EP3176719B1 (en) | Methods and devices for acquiring certification document | |
CN105323218A (zh) | 身份验证方法及装置 | |
CN110574350B (zh) | 执行优先生成第二因素认证的方法和系统 | |
US20150143481A1 (en) | Application security verification method, application server, application client and system | |
US20170039361A1 (en) | Method And Device For Fuzzily Inputting Password | |
WO2015032281A1 (en) | Method and system for generating and processing challenge-response tests | |
US9805181B1 (en) | Messaging channel for web pages and web applications | |
CN104811304B (zh) | 身份验证方法及装置 | |
CN111555884A (zh) | 用于位置感知双因素认证的系统和方法 | |
CN105100005B (zh) | 身份验证方法及装置 | |
WO2015043451A1 (zh) | 一种cgs模式下图形化页面呈现的方法及装置 | |
CN111079119B (zh) | 验证方法、装置、设备及存储介质 | |
CN106713248B (zh) | 一种线上申请虚拟卡的方法、用户终端、线上申请虚拟卡的系统 | |
US10380614B1 (en) | User reset voting to identify unwanted settings values in client software | |
CN106209742B (zh) | 安全验证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |