身份验证方法、装置、服务器、用户终端及存储介质与流程

文档序号:18737283发布日期:2019-09-21 01:20阅读:179来源:国知局
身份验证方法、装置、服务器、用户终端及存储介质与流程

本发明涉及计算机网络技术领域,特别是涉及一种身份验证方法、装置、服务器、用户终端及存储介质。



背景技术:

随着计算机和计算机网络的日益普及,互联网已经深入到人们工作、学习和生活的各个领域。网络的发展在为人们提供便利的同时也带来各种挑战。一些人会利用机器人程序大量地不当使用网络资源,例如群发垃圾邮件等,使服务器效能大为降低。也有人利用程序不断发出服务请求回应,进行“饱和攻击”以达到使服务器瘫痪的目的。甚至还有人尝试利用暴利破解等手段进行恶意破解密码等行为。为避免上述恶意行为,设计一套能够让计算机自动分辨信息是来自合理用户或是非正当使用的机器人程序的工具,就显得非常重要。

使用图像验证码是现在比较通行的方式,图像验证码的主要目的是分辨网络服务用户是程序还是人类。图像验证码是含有字符串的图片,在验证时要求用户输入字符串的内容。字符串通常由大小写字母和数字组成,部分验证码包含汉字或数学公式,字符串的长度可以是随机或固定的。为了避免被机器自动识别,通常会对图片的背景进行改进,例如增加各种纹理图案等,从而对机器自动识别进行干扰。

然而,只要收集足够的样本,使用字符识别技术进行机器学习和训练,就可以开发出机器程序来解码图像验证码。即使是改进的图像验证码,如果它的背景库不够庞大,依然能够被机器识别。传统的图像验证码无法避免这个问题,以字符图像验证码为例,如果是大小写字符和数字,最多只有62个。因此,现有的图像验证码抗破解能力差、安全性不够高。

为了提高验证码的抗破解能力,研发人员开发了点选验证码,点选验证码在使用时通常会向用户展示包含多个包含自然物体的图片以及与这些图片内容相关的提示信息,由用户根据提示信息对这些图片进行选择,根据用户的选择来对用户的身份进行验证,由于机器在对提示信息的理解以及对对象的分类这两方面都存在很大的困难,因此可以大大增加机器破解验证码的难度。

但是,点选验证码在使用时,图片资源要求很高,而且需要人工筛选分类入库,成本较高。



技术实现要素:

本发明实施例的目的在于,提供一种身份验证方法、装置、服务器、用户终端及存储介质,能够降低成本,且提高验证码的抗破解能力及用户验证的安全性。

为了解决上述问题,本发明实施例提供一种身份验证方法,应用于服务器,所述方法包括:

接收用户终端发送的验证码拉取请求;

根据所述验证码拉取请求,获取验证码背景图片以及与所述验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;

将所述验证码背景图片以及子图片下发给所述用户终端,以使所述用户终端将所述验证码背景图片以及子图片展示给用户;以及

接收所述用户终端返回的、根据所述用户的指令进行拼接的拼接图片,所述拼接图片包括所述验证码背景图片与所述子图片,当所述子图片拼接在所述空缺区域时,验证结果为通过。

本发明实施例还提供一种身份验证方法,应用于用户终端,所述方法包括:

向服务器发送验证码拉取请求;

接收并展示所述服务器下发的验证码背景图片以及子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;

根据用户的指令将所述子图片与所述验证码背景图片进行拼接;以及

将包含所述验证码背景图片与子图片的拼接图片发送给所述服务器进行验证,当所述子图片拼接在所述空缺区域时,验证结果为通过。

本发明实施例还提供一种身份验证装置,应用于服务器,所述装置包括:

请求接收模块,用于接收用户终端发送的验证码拉取请求;

图片抽取模块,用于根据所述验证码拉取请求,获取验证码背景图片以及与所述验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;

图片下发模块,用于将所述验证码背景图片以及子图片下发给所述用户终端,以使所述用户终端将所述验证码背景图片以及子图片展示给用户;以及

身份验证模块,用于接收所述用户终端返回的、根据所述用户的指令进行拼接的拼接图片,所述拼接图片包括所述验证码背景图片与所述子图片,当所述子图片拼接在所述空缺区域时,验证结果为通过。

上述方案中,所述装置还包括验证码生成模块,所述验证码生成模块包括:

生成单元,用于选取背景图片库中的图片,由所述图片切割至少一张子图片,将切换后所述图片中剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的区域形成所述空缺区域;

计算单元,用于将所述子图片进行随机角度的旋转,根据所旋转的角度计算与所述子图片对应的预定的旋转角度;

保存单元,用于保存所述验证码背景图片以及旋转后的子图片,生成对应关系表,所述对应关系表包括:所述子图片的编号、所述预定的旋转角度以及空缺区域的序号之间的对应关系,其中,所述空缺区域所在的位置为预定的位置;或者,所述对应关系表包括:所述子图片在所述验证码背景图片中的预定位置、预定的旋转角度以及空缺区域的序号之间的对应关系,所述子图片在所述验证码背景图片中的预定位置与所述空缺区域所在的位置之间的误差在预定范围内;

所述图片下发模块,还用于在将所述验证码背景图片以及子图片下发给所述用户终端时,将所述子图片的编号,或者所述子图片在所述验证码背景图片中的预定位置下发给所述用户终端。

上述方案中,所述生成单元由所述图片切割多张子图片,所述多张子图片具有相同大小和形状。

上述方案中,所述身份验证模块包括:

接收单元,用于接收所述用户终端返回的拼接图片、所述子图片的编号、所述子图片实际被拼接在所述验证码背景图片中的空缺区域的序号,以及在拼接时所述子图片旋转的角度,或者接收所述用户终端返回的拼接图片、所述子图片在所述验证码背景图片中的预定位置、所述子图片实际被拼接在所述验证码背景图片中的位置,以及在拼接时所述子图片旋转的角度;

验证单元,用于根据所述子图片的编号或者所述子图片在所述验证码背景图片中的预定位置,查找所述对应关系表,根据所述对应关系表判断所述子图片是否按照预定的位置以及预定的旋转角度拼接在所述空缺区域,如果是,则验证结果为通过,如果不是,则验证结果为不通过。

上述方案中,所述背景图片库中的图片包括由广告图片发布服务器所发布的广告图片。

上述方案中,所述图片下发模块,还用于向所述用户终端下发验证提示信息,以提示所述用户根据所述用户的指令,将所述子图片通过移动和旋转拼接在所述空缺区域;

其中,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。

本发明实施例还提供一种身份验证装置,应用于用户终端,所述装置包括:

请求发送模块,用于向服务器发送验证码拉取请求;

展示模块,用于接收并展示所述服务器下发的验证码背景图片以及子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;

拼接模块,用于根据用户的指令将所述子图片与所述验证码背景图片进行拼接;以及

验证信息发送模块,用于将包含所述验证码背景图片与子图片的拼接图片发送给所述服务器进行验证,当所述子图片拼接在所述空缺区域时,验证结果为通过。

上述方案中,所述展示模块,还用于接收并展示所述服务器下发的验证提示信息,以提示所述用户将所述子图片通过移动和旋转拼接在所述空缺区域。

上述方案中,所述用户的指令包括所述用户通过手势输入、语音输入、或字符串输入方式输入给所述用户终端的指令;

其中,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。

上述方案中,所述拼接模块,具体用于:响应于所述用户对所述子图片的拖动操作、或者响应于所述用户对所述子图片的拖动以及旋转操作,将所述子图片按照预定的位置以及预定的旋转角度拼接在所述验证码背景图片的空缺区域中。

本发明实施例还提供一种服务器,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述可执行指令时,实现本发明实施例提供的服务器侧的身份验证方法。

本发明实施例还提供一种用户终端,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述可执行指令时,实现本发明实施例提供的用户终端侧的身份验证方法。

本发明实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本发明实施例提供的服务器侧的身份验证方法,或者用户终端侧的身份验证方法。

相对于现有技术,本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识,对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与验证码背景图片之间的关联关系的认识这两方面都存在很大的困难,因此,大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了供用户选择的空缺区域,降低了用户的使用门槛。也就是说,本发明在不影响用户体验的前提下,可以大大提高验证码的抗破解能力,以及有效的提高了用户验证的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的应用环境图。

图2是一种可应用于本发明实施例的用户终端的结构框图。

图3是一种可应用于本发明实施例的服务器的结构框图。

图4是本发明实施例提供的一种身份验证方法的流程图。

图5是本发明实施例中验证码背景图片以及子图片的生成过程的具体流程图。

图6是本发明实施例中验证码背景图片以及对应子图片的示意图。

图7是本发明实施例提供的另一种身份验证方法的流程图。

图8是本发明实施例提供的又一种身份验证方法的流程图。

图9是本发明实施例提供的一种身份验证装置的结构框图。

图10是图9中身份验证模块的结构框图。

图11是图9中验证码生成模块的结构框图。

图12是本发明实施提供的另一种身份验证装置的结构框图。

图13为本发明实施例中的身份验证系统的结构框图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的身份验证方法及身份验证装置的具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。

有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。

请参阅图1,所示为本发明实施例提供的身份验证方法的应用环境图。如图1所示,用户终端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)播放器、膝上型便携计算机、车载终端等等。

图2示出了一种可应用于本发明实施例中的用户终端的结构框图。如图2所示,用户终端100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、定位模块112、图像采集模块114、音频模块116、触控屏幕118以及按键模块120。这些组件通过一条或多条通讯总线/信号线122相互通讯。

可以理解,图2所示的结构仅为示意,用户终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

存储器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 division multiple access,W-CDMA)、码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE 802.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执行不同的功能。

图3为一种可应用于本发明实施例的中的服务器的结构框图。如图3所示,服务器200包括:存储器201、处理器202以及网络模块203。可以理解,图3所示的结构仅为示意,其并不对本发明实施例中的服务器的结构造成限定。例如,本发明实施例中的服务器还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。

存储器201可用于存储软件程序以及模块,如本发明实施例中的身份验证方法及装置对应的程序指令/模块,处理器202通过运行存储在存储器201内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的身份验证方法。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器201可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至服务器200。

网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块203可包括处理器、随机存储器、转换器、晶体振荡器等元件。

上述的软件程序以及模块还包括操作系统,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。

下面将结合附图,对本发明实施例提供的身份验证方法、装置进行详细的介绍。

请参阅图4,所示为本发明实施例提供的一种身份验证方法的流程图。结合图1,本实施例描述的是服务器的处理流程,本实施例提供的身份验证方法包括以下步骤:

步骤S11,服务器接收用户终端发送的验证码拉取请求。

于此步骤中,用户终端可以向预先配置的服务器,例如可以为一个网页地址,发送验证码拉取请求,以获取验证码。具体的,验证码拉取请求中可以携带有页面标识(check code),页面标识用于标识一个唯一的页面,例如可以是一个数字,每次刷新页面时页面标识都会变化,与验证码拉取请求具有对应关系。

步骤S12,根据所述验证码拉取请求,随机抽取一个验证码背景图片以及与所抽取的验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域。

服务器在接收到用户终端发送的验证码拉取请求后,可以从验证码数据库中随机抽取一个验证码背景图片以及与所抽取的验证码背景图片对应的子图片。

验证码数据库中存放有预先生成的验证码背景图片以及子图片。每个验证码背景图片都有与其对应的一个或多个子图片,每个验证码背景图片中都具有与子图片对应的空缺区域,当子图片按照预定的位置以及预定的旋转角度拼接在验证码背景图片的空缺区域时,可以构成一个完整的图片。

请参照图5,验证码背景图片以及子图片的生成过程可以包括以下步骤:

步骤S101,选取背景图片库中的图片,由所述图片切割至少一张子图片,所述图片被切割子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的区域形成所述空缺区域。

背景图片库可以是事先建立好的,设置在服务器中。本发明实施例对验证码背景图片的具体内容不需要具有很强的类别辨识度,直接使用自然界中采集的图片即可,例如风景、动物、建筑等,背景图片库中的图片可以由服务器直接从互联网上获取,资源非常丰富,因此,背景图片库的图片数量很容易达到一定的规模,可以增加人工收集图片作为破解题库的难度。背景图片库中的图片也可以是由广告图片发布服务器上获取的广告图片,由此,当用户按照预定的位置以及预定的旋转角度将子图片拼接在验证码背景图片的空缺区域时,可以看到一个完整的广告图片,从而可以利用验证码来进行产品推广等服务。

由背景图片库中选取出图片后,服务器可以由所述图片切割一张或多张(两张或两张以上)子图片,所述图片被切割子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的区域形成所述空缺区域。

当由所述图片切割出多张子图片时,所述多张子图片优选的具有相同大小和形状。

以图6为例,图6中的风景图片是被选取的图片,服务器由该风景图片上切割出4张大小相同的圆形的子图片,原图片中空白的区域即为空缺区域。

切割图片可以从图片的任意位置开始,切割的形状可以包括圆形、方形、多边形等具有多个对称轴的形状,这样不容被机器或人工恶意破解。

步骤S102,将切割出的子图片进行随机角度的旋转,根据所旋转的角度计算与所述子图片对应的所述预定的旋转角度。

将切割出的子图片进行随机角度的旋转可以进一步增加破解难度。以现有的计算机发展水平,直接辨认出图片的目标位置和角度是比较困难的,破解难度与可选目标空缺区域的个数a和子图片的旋转角度b相关,破解难度=1/(a!*ba)。即时收集了图片,由于切割图片的位置和角度都是随机的,因此如果想通过人工收集验证码背景图片以及子图片的位置和角度作为破解题库,基本上是非常困难的,因此,具有很强的抗破解能力。

根据子图片所旋转的角度可以计算出与子图片对应的预定的旋转角度。假设子图片为圆形图片,被旋转了50度,当其被反方向旋转50度或者再旋转310度才可以将子图片正确的拼接在验证码背景图片中。也就是说,假设某子图片在生成时被旋转了x度,其预定的旋转角度可以为(-x±n*360)度或者(360-x±n*360)度,其中,n为自然数。

步骤S103,保存所述验证码背景图片以及旋转后的子图片,生成对应关系表,所述对应关系表包括:所述子图片的编号、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,目标空缺区域所在的位置为所述预定的位置;或者包括:所述子图片在所述验证码背景图片中的预定位置、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,所述子图片在所述验证码背景图片中的预定位置与所述子图片对应的目标空缺区域所在的位置之间的误差在预定范围内。

在一种实施方式中,对应关系表可以包括:所述子图片的编号、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,目标空缺区域所在的位置为所述预定的位置。假设一个验证码背景图片对应多张子图片,多张子图片各自对应的编号s=(s1,s2,…,sn),多张子图片对应的预定的旋转角度a=(a1,a2,…,am),验证码背景图片中的空缺区域的序号为t1,t2,…tn。正确的验证码答案可以是指定顺序的(s,a)组合,指定顺序指的是子图片正确拼接在序号依次为t1,t2,..tn的空缺区域的顺序。例如,子图片为s1,s2,s3,s4,s1对应的预定旋转角度为a1,s2对应的预定旋转角度为a2,s3对应的预定旋转角度为a3,s4对应的预定旋转角度为a4,验证码背景图片中的空缺区域的序号为t1,t2,t3,t4。假设按照正确的答案,拼接在t1位置的子图片是s2,拼接在t2位置的子图片为s1,拼接在t3位置的子图片为s4,拼接在t4位置的子图片为s3,则正确的验证码答案即为顺序为(s2,a2)、(s1,a1)、(s4,a4)、(s3,a3)的组合。

在另一种实施方式中,包括:所述子图片在所述验证码背景图片中的预定位置、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,所述子图片在所述验证码背景图片中的预定位置与所述子图片对应的目标空缺区域所在的位置之间允许一定的误差,其误差范围例如可以为5%。以子图片在所述验证码背景图片中的预定位置代替子图片的编号,可以提高破解的门槛,因为在一个验证码中,子图片的数量是有限的,也就是编号是有限的,但是,子图片在验证码背景图片中的位置的可能性是很多的,以一张分辨率为400*500的图片为例,如果允许的误差为5%,就有19W种可能,因此可以大幅度提高抗破解能力。

假设一个验证码背景图片对应多张子图片,多张子图片各自在验证码背景图片中的预定位置p=((x1,y1),(x2,y2),…,(xn,yn)),多张子图片对应的预定的旋转角度a=(a1,a2,…,am),验证码背景图片中的空缺区域的序号为t1,t2,…tn。正确的验证码答案可以是(p,s,a)数组。例如,子图片对应的预定位置为p1,p2,p3,p4,p1对应的预定旋转角度为a1,p2对应的预定旋转角度为a2,p3对应的预定旋转角度为a3,p4对应的预定旋转角度为a4,验证码背景图片中的空缺区域的序号为t1,t2,t3,t4。假设按照正确的答案,拼接在t1位置的子图片是s2,拼接在t2位置的子图片为s1,拼接在t3位置的子图片为s4,拼接在t4位置的子图片为s3,则正确的验证码答案即为(p2,t1,a2)、(p1,t2,a1)、(p4,t3,a4)、(p3,t4,a3)的组合。所述服务器将所抽取的验证码背景图片以及子图片下发给所述用户终端的同时还可以将所述子图片的编号或者所述子图片在所述验证码背景图片中的预定位置下发给所述用户终端

步骤S13,将所抽取的验证码背景图片以及子图片下发给所述用户终端,以使所述用户终端将所述验证码背景图片以及子图片展示给用户。

进一步的,所述服务器还下发给所述用户终端验证提示信息,用以提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。当然,该提示信息也可以由用户终端生成并展示,本发明的具体实施方式并不以此为限。

步骤S14,接收所述用户终端返回的、根据所述用户的指令进行拼接的验证码背景图片与子图片的拼接图片,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述验证码背景图片的空缺区域时,验证结果为通过。

具体的,当服务器接收到用户终端返回的验证码背景图片与子图片的拼接图片时,同时还接收用户终端返回的验证码背景图片与子图片的拼接图片、所述子图片的编号、所述子图片实际被拼接在所述验证码背景图片中的空缺区域的序号以及在拼接时所述子图片被旋转的角度,或者所述用户终端返回的验证码背景图片与子图片的拼接图片、所述子图片在所述验证码背景图片中的预定位置、所述子图片实际被拼接在所述验证码背景图片中的位置以及在拼接时所述子图片被旋转的角度。

根据所述子图片的编号或者所述子图片在所述验证码背景图片中的预定位置,查找所述对应关系表,根据所述对应关系表判断所述子图片是否按照预定的位置以及预定的旋转角度拼接在所述空缺区域,如果是,则验证结果为通过,如果不是,则验证结果为不通过。

服务器还可以将验证结果返回用户终端展示给用户。

本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

图7为本发明实施例中的另一种身份验证方法的流程示意图。请结合图1,该实施例描述的是用户终端的处理流程,本实施例中的身份验证方法包括:

步骤S21,用户终端向服务器发送验证码拉取请求。

步骤S22,接收并展示所述服务器下发的验证码背景图片以及子图片,所述验证码背景图片包括与所述子图片对应的空缺区域。

所述用户终端还可以接收并展示所述服务器下发的验证提示信息,用以提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。

步骤S23,根据所述用户的指令将所述子图片与所述验证码背景图片进行拼接,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。

所述用户的指令可以包括所述用户通过手势输入、语音输入、或字符串输入等方式输入给所述用户终端的指令。

以手势输入为例,用户终端可以响应于所述用户对所述子图片的拖动操作、或者响应于所述用户对所述子图片的拖动以及旋转操作,将所述子图片拼接在所述验证码背景图片中。用户终端在响应用户对子图片的拖动及旋转操作的过程中可以得到子图片旋转的角度、以及移动的路径或移动的目标位置。

以语音输入为例,用户可以语音输入图片旋转的角度以及移动的路径或移动的目标位置,例如顺时针旋转九十度,移动至第一个空缺区域等,用户终端接收到上述语音信号后将其转变为数字信号,并根据数字信息对子图片进行响应的操作。

用户还可以直接输入“顺时针旋转九十度,移动至第一个空缺区域”等指令。

步骤S24,将验证码背景图片与子图片的拼接图片发送给所述服务器进行验证,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述空缺区域时,验证结果为通过。

相对于现有技术,本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

请参阅图8,所示为本发明实施例提供的又一种身份验证方法的流程图。结合图1,该实施例描述的是用户终端与服务器之间的交互处理流程。本实施例将具体以点选验证码为例对本发明进行说明。本实施例中的身份验证方法可以包括:

步骤S301,服务器选取背景图片库中的图片,由所述图片切割至少一张子图片,所述图片被切割子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的区域形成所述空缺区域。

步骤S302,服务器将切割出的子图片进行随机角度的旋转,根据所旋转的角度计算与所述子图片对应的所述预定的旋转角度。

步骤S303,服务器保存所述验证码背景图片以及旋转后的子图片,生成对应关系表,所述对应关系表包括:所述子图片的编号、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,目标空缺区域所在的位置为所述预定的位置。

步骤S304,用户终端向服务器发送验证码拉取请求。

步骤S305,服务器根据所述验证码拉取请求,随机抽取一个验证码背景图片以及与所抽取的验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域。

步骤S306,服务器将所抽取的验证码背景图片以及子图片下发给所述用户终端,以使所述用户终端将所述验证码背景图片以及子图片展示给用户。

步骤S307,用户终端接收并展示所述服务器下发的验证码背景图片以及子图片,并提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。

步骤S308,用户终端根据所述用户的指令将所述子图片与所述验证码背景图片进行拼接,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置。

步骤S309,用户终端将验证码背景图片与子图片的拼接图片、所述子图片的编号、所述子图片实际被拼接在所述验证码背景图片中的空缺区域的序号以及在拼接时所述子图片被旋转的角度发送给所述服务器进行验证。

步骤S310,服务器根据所述子图片的编号,查找所述对应关系表,根据所述对应关系表判断所述子图片是否按照预定的位置以及预定的旋转角度拼接在所述空缺区域,如果是,则验证结果为通过,如果不是,则验证结果为不通过。

步骤S311,服务器将验证结果返回用户终端展示给用户。

本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

图9为本发明实施例提供的一种身份验证装置的结构示意图。请参照图9,本实施例提出的装置可运行于服务器,用于上述实施例提出的身份验证方法,本实施例中的装置40可以包括:

请求接收模块41,用于接收用户终端发送的验证码拉取请求;

图片抽取模块42,用于根据所述验证码拉取请求,随机抽取一个验证码背景图片以及与所抽取的验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;

图片下发模块43,用于将所抽取的验证码背景图片以及子图片下发给所述用户终端,以使所述用户终端将所述验证码背景图片以及子图片展示给用户;以及

身份验证模块44,用于接收所述用户终端返回的、根据所述用户的指令进行拼接的验证码背景图片与子图片的拼接图片,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述验证码背景图片的空缺区域时,验证结果为通过。

进一步的,所述图片下发模块43还可以用于下发验证提示信息给所述用户终端,用以提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。

所述图片下发模块43还用于将所抽取的验证码背景图片以及子图片下发给所述用户终端时还将所述子图片的编号或者所述子图片在所述验证码背景图片中的预定位置下发给所述用户终端。

进一步的,请参照图10,所述身份验证模块44可以包括:

接收单元441,用于接收所述用户终端返回的验证码背景图片与子图片的拼接图片、所述子图片的编号、所述子图片实际被拼接在所述验证码背景图片中的空缺区域的序号以及在拼接时所述子图片被旋转的角度,或者所述用户终端返回的验证码背景图片与子图片的拼接图片、所述子图片在所述验证码背景图片中的预定位置、所述子图片实际被拼接在所述验证码背景图片中的位置以及在拼接时所述子图片被旋转的角度;

验证单元442,用于根据所述子图片的编号,查找所述对应关系表,根据所述对应关系表判断所述子图片是否按照预定的位置以及预定的旋转角度拼接在所述空缺区域,如果是,则验证结果为通过,如果不是,则验证结果为不通过。

进一步的,所述装置还可以包括验证码生成模块45,请参照图11,验证码生成模块45可以包括:

生成单元451,用于选取背景图片库中的图片,由所述图片切割至少一张子图片,所述图片被切割子图片后剩余的部分形成所述验证码背景图片,所述验证码背景图片中被切割的区域形成所述空缺区域;

计算单元452,用于将切割出的子图片进行随机角度的旋转,根据所旋转的角度计算与所述子图片对应的所述预定的旋转角度;

保存单元453,用于保存所述验证码背景图片以及旋转后的子图片,生成对应关系表,所述对应关系表包括:所述子图片的编号、预定的旋转角度以及目标空缺区域的序号之间的对应关系,其中,目标空缺区域所在的位置为所述预定的位置;或者包括:所述子图片在所述验证码背景图片中的预定位置、预定的旋转角度以及目标空缺区域的序号之间的对应关系。

所述生成单元451可以由所述图片切割多张子图片,所述多张子图片具有相同大小和形状。

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。

需要说明的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。

需要说明的是,上述实施例中的模块可以运行于一个总的服务器也可以运行于多个服务器,例如,可以由原图存储服务器来存储图库,由验证码生成服务器来生成验证码背景图片以及子图片、由验证服务器来下发验证背景图片以及对应子图片并对用户身份进行验证,等等。服务器的数量以及缓冲区的设置还根据具体的实施场景以及实施条件进行变化,这样的变化并不影响本发明的保护范围。

本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

图12为本发明实施例提供的一种身份验证装置的结构示意图。请参照图12,本实施例提出的装置可运行于用户终端,可以用于实现上述实施例提出的身份验证方法,包括:所述装置50包括:

请求发送模块51,用于向服务器发送验证码拉取请求;

展示模块52,用于接收并展示所述服务器下发的验证码背景图片以及子图片,所述验证码背景图片包括与所述子图片对应的空缺区域;

拼接模块53,用于根据所述用户的指令将所述子图片与所述验证码背景图片进行拼接,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及

验证信息发送模块54,用于将验证码背景图片与子图片的拼接图片发送给所述服务器进行验证,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述空缺区域时,验证结果为通过。

进一步的,所述展示模块52还可以用于接收并展示所述服务器下发的验证提示信息,用以提示用户将子图片通过移动和旋转拼接在所述验证码背景图片的空缺区域。

所述用户的指令可以包括所述用户通过手势输入、语音输入、或字符串输入方式输入给所述用户终端的指令。

在一种具体实施方式中,所述拼接模块53响应于所述用户对所述子图片的拖动操作、或者响应于所述用户对所述子图片的拖动以及旋转操作,将所述子图片拼接在所述验证码背景图片中。

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。

需要说明的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。

本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

图13为本发明实施例中的身份验证系统的结构框图。请参照图13,本实施例提出的身份验证系统60可以用于实现上述实施例提出的身份验证方法,本实施例中的身份验证系统60可以包括:用户终端61以及服务器62。

用户终端61可以用于向服务器62发送验证码拉取请求;接收并展示所述服务器62下发的验证码背景图片以及子图片,所述验证码背景图片包括与所述子图片对应的空缺区域;根据所述用户的指令将所述子图片与所述验证码背景图片进行拼接,所述用户的指令中包括所述子图片旋转的角度、以及移动的路径或移动的目标位置;以及将验证码背景图片与子图片的拼接图片发送给所述服务器进行验证,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述空缺区域时,验证结果为通过。

服务器62可以用于接收用户终端61发送的验证码拉取请求;根据所述验证码拉取请求,随机抽取一个验证码背景图片以及与所抽取的验证码背景图片对应的子图片,所述验证码背景图片中包括与所述子图片对应的空缺区域;将所抽取的验证码背景图片以及子图片下发给所述用户终端61,以使所述用户终端61将所述验证码背景图片以及子图片展示给用户;以及接收所述用户终端返回的、根据所述用户的指令进行拼接的验证码背景图片与子图片的拼接图片,当所述子图片按照预定的位置以及预定的旋转角度拼接在所述验证码背景图片的空缺区域时,验证结果为通过。

本发明实施例中,验证码背景图片的具体内容不需要具有很强的类别辨识度,可以由服务器直接从互联网上获取,资源非常丰富,不需要人工进行分类,可以降低成本,另外也可以增加人工收集图片作为破解题库的难度;充分利用了人类对图片内容理解的先天优势,用户根据对验证码背景图片以及子图片中内容的关联关系的认识对子图片进行正确的摆放,由于机器在对图片内容的理解以及子图片被旋转后与背景图片之间的关联关系的认识这两方面都存在很大的困难,因此大大增加了机器破解验证码的难度,安全性高;相对于点选验证码来说,不需要用户根据问题对图片进行类别辨识,提供了空缺区域供用户选择,降低了用户的使用门槛。也就是说本发明在不影响用户体验的前提下可以大大提高验证码的抗破解力,有效的提高了用户验证的安全性。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1