CN109086594A - 一种实现滑动型验证码验证的方法、装置及系统 - Google Patents
一种实现滑动型验证码验证的方法、装置及系统 Download PDFInfo
- Publication number
- CN109086594A CN109086594A CN201811108185.2A CN201811108185A CN109086594A CN 109086594 A CN109086594 A CN 109086594A CN 201811108185 A CN201811108185 A CN 201811108185A CN 109086594 A CN109086594 A CN 109086594A
- Authority
- CN
- China
- Prior art keywords
- identifying code
- sliding
- verification information
- action type
- verifying
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种实现滑动型验证码验证的方法、装置及系统,该方法包括:接收客户端发送的携带有验证码验证信息的服务请求,验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;将验证码验证信息输入预先建立的操作类型分类模型,获得验证码验证信息对应的操作类型分类结果;当操作类型分类结果为人为操作,响应服务请求,并向客户端反馈所述服务请求的响应结果;当操作类型分类结果为非人为操作,中止服务请求,并向客户端发送验证失败的提示信息。该种方法可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种实现滑动型验证码验证的方法、装置及系统。
背景技术
近些年来,针对互联网应用系统的自动化注册僵尸账户、刷票、论坛灌水、暴力破解等恶意攻击行为日益频繁,互联网应用系统服务器的安全性受到严重挑战。验证码CAPTCHA(Completely Automated Public Turing Test to Tell Computers and HumansApart,全自动区分计算机和人类的图灵测试)技术,用于区分进行操作的用户是人类还是计算机,是防止对服务器进行自动化恶意攻击的有效方法。其中,滑动型验证码,以其操作简单、用户体验好、安全性较强等特点,得到广泛采用。但同时,针对滑动型验证码的自动化破解方法也已出现,目前,攻击者采用各种数据分析方法,对人为操作习惯和拖动轨迹进行数据分析与建模,近似地模拟人手拖动轨迹,对滑动验证码进行破解,具有较大的成功率。因此,在现有技术中滑动型验证码的安全性、有效性受到严峻挑战。
发明内容
有鉴于此,本申请实施例提供一种实现滑动验证码验证的方法、装置及系统,以解决现有技术中滑动型验证码存在安全隐患的技术问题。
为解决上述问题,本申请实施例提供的技术方案如下:
一种实现滑动型验证码验证的方法,所述方法包括:
接收客户端发送的携带有验证码验证信息的服务请求,所述验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;
将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
当所述操作类型分类结果为人为操作,响应所述服务请求,并向所述客户端反馈所述服务请求的响应结果;
当所述操作类型分类结果为非人为操作,中止所述服务请求,并向所述客户端发送验证失败的提示信息。
在一种可能的实现方式中,在将所述验证码验证信息输入预先建立的操作类型分类模型之前,所述方法还包括:
对所述验证码验证信息进行预处理;
所述对所述验证码验证信息进行预处理,包括:
获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为所述验证码验证信息。
在一种可能的实现方式中,建立所述操作类型分类模型的过程包括:
获取训练数据,每条所述训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,所述分类标签包括人为操作或者非人为操作;
根据所述训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
一种实现滑动型验证码验证的方法,所述方法包括:
监听在验证码滑动验证过程中各个单位时间的移动距离;
向服务器发送携带有验证码验证信息的服务请求,所述验证码验证信息包括所述在验证码滑动验证过程中各个单位时间的移动距离,以使所述服务器将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
当所述操作类型分类结果为人为操作,接收所述服务器反馈的所述服务请求的响应结果;
当所述操作类型分类结果为非人为操作,接收所述服务器发送的验证失败的提示信息。
在一种可能的实现方式中,所述方法还包括:
显示验证码滑动验证界面;
所述监听在验证码滑动验证过程中各个单位时间的移动距离,包括:
响应于对在所述验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
一种实现滑动型验证码验证的装置,所述装置包括:
数据采集单元,用于接收客户端发送的携带有验证码验证信息的服务请求,所述验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;
分类单元,用于将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
决策单元,用于当所述操作类型分类结果为人为操作,响应所述服务请求,并向所述客户端反馈所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,中止所述服务请求,并向所述客户端发送验证失败的提示信息。
在一种可能的实现方式中,所述装置还包括:
预处理单元,用于在将所述验证码验证信息输入预先建立的操作类型分类模型之前,对所述验证码验证信息进行预处理;
所述预处理单元具体用于:
获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为所述验证码验证信息。
在一种可能的实现方式中,建立所述操作类型分类模型的过程包括:
获取训练数据,每条所述训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,所述分类标签包括人为操作或者非人为操作;
根据所述训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
一种实现滑动型验证码验证的装置,所述装置包括:
监听单元,用于监听在验证码滑动验证过程中各个单位时间的移动距离;
发送单元,用于向服务器发送携带有验证码验证信息的服务请求,所述验证码验证信息包括所述在验证码滑动验证过程中各个单位时间的移动距离,以使所述服务器将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
接收单元,用于当所述操作类型分类结果为人为操作,接收所述服务器反馈的所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,接收所述服务器发送的验证失败的提示信息。
在一种可能的实现方式中,所述装置还包括:
显示单元,用于显示验证码滑动验证界面;
所述监听单元具体用于:
响应于对在所述验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
一种实现滑动型验证码验证的系统,所述系统包括:
服务器以及客户端;
所述服务器为上述第一种实现滑动型验证码验证的装置;
所述客户端为上述第二种实现滑动型验证码验证的装置。
由此可见,本申请实施例具有如下有益效果:
本申请实施例服务器获取携带有验证码验证信息的服务请求,验证码验证信息包括有在验证码滑动验证过程中按照时序排列的各个单位时间的移动距离;将验证码验证信息输入预先建立的操作类型分类模型,可以获取验证码验证信息对应的操作类型分类结果,该操作类型分类结果包括人为操作或者非人为操作,即通过操作类型分类模型可以判断出验证码滑动验证过程是由人为操作的,还是由攻击者通过机器模拟操作的;当操作类型分类结果包括人为操作时,正常响应服务请求,当操作类型分类结果包括非人为操作时,中止服务请求,判断验证码验证失败。从而本申请实施例可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
附图说明
图1为本申请实施例提供的一种示例性应用场景的框架示意图;
图2为本申请实施例提供的一种实现滑动验证码验证方法的流程图;
图3为本申请实施例提供的另外一种实现滑动验证码验证方法的流程图;
图4为本申请实施例提供的一种实现滑动验证码验证装置的组成示意图;
图5为本申请实施例提供的另外一种实现滑动验证码验证装置的组成示意图
图6为本申请实施例提供的一种实现滑动验证码验证系统的组成示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
近些年来,针对互联网应用系统的自动化注册僵尸账户、刷票、论坛灌水、暴力破解等恶意攻击行为日益频繁,互联网应用系统服务器的安全性受到严重挑战。验证码CAPTCHA技术,用于区分进行操作的用户是人类还是计算机,是防止对服务器进行自动化恶意攻击的有效方法。其中,滑动型验证码,以其操作简单、用户体验好、安全性较强等特点,得到广泛采用。但同时,针对滑动型验证码的自动化破解方法也已出现,目前,攻击者采用各种数据分析方法,对人为操作习惯和拖动轨迹进行数据分析与建模,近似地模拟人手拖动轨迹,对滑动验证码进行破解,具有较大的成功率。因此,在现有技术中滑动型验证码的安全性、有效性受到严峻挑战。
基于此,本申请实施例提供了一种实现滑动验证码验证的方法、装置及系统,本申请实施例中服务器获取携带有验证码验证信息的服务请求,验证码验证信息包括有在验证码滑动验证过程中按照时序排列的各个单位时间的移动距离;将验证码验证信息输入预先建立的操作类型分类模型,可以获取验证码验证信息对应的操作类型分类结果,该操作类型分类结果包括人为操作或者非人为操作,即通过操作类型分类模型可以判断出验证码滑动验证过程是由人为操作的,还是由攻击者通过机器模拟操作的;当操作类型分类结果包括人为操作时,正常响应服务请求,当操作类型分类结果包括非人为操作时,中止服务请求,判断验证码验证失败。从而本申请实施例可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
参见图1,该图为本申请实施例提供的一种示例性应用场景的框架示意图。其中,本申请实施例提供的实现滑动验证码验证方法可以分别应用于客户端10和服务器20中。
实际应用中,当用户在客户端10需要进行登录、下载等操作时需要向服务器20发送相关的服务请求,而在客户端10向服务器20发送该服务请求时可能会出现通过验证码验证用户身份的情形。例如:用户在客户端10进行登录时,可能会出现需要用户进行滑动验证码验证的情形。此时,用户可以通过鼠标等方式将界面中的滑块拖动到指定位置以完成验证。
用户在客户端10进行验证码验证的过程中客户端10会同时生成与此时验证码滑动验证操作相关的验证码验证信息;然后,客户端10将携带有验证码验证信息的服务请求发送至服务器20;服务器20接收到该请求后对该验证码验证消息进行分析,进而判断出验证码滑动验证过程是由人为操作的,还是由攻击者通过机器模拟操作的;如果服务器20通过分析确定此次滑动验证码验证过程是由人为操作的,则响应服务请求,并向客户端10反馈服务请求的响应结果;如果服务器20认为此次滑动验证码验证过程是由非人为操作的,则中止服务请求,并向客户端10发送验证失败的提示信息。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,本申请实施例中的客户端10可以搭载于终端中,终端可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)实现与服务器20交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。还需要注意的是,本申请实施例中服务器20可以是现有的、正在研发的或将来研发的、能够向用户提供信息推荐的应用服务的设备的一个示例。本申请的实施方式在此方面不受任何限制。
为便于理解本申请实施例的技术方案,下面将结合附图对本申请实施例提供的显示方法进行详细说明。
参见图2,该图为本申请实施例提供的一种实现滑动验证码验证方法的流程图,本实施例可以应用于服务器,如图2所示,该方法可以包括如下步骤:
S201:接收客户端发送的携带有验证码验证信息的服务请求,验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离。
其中,验证码验证信息可以是当用户在客户端进行验证码滑动验证过程中同时生成的验证信息。
在实际应用中,验证码滑动验证的过程可以是用户通过鼠标移动、触屏拖动等方式将滑块从初始位置拖动到指定位置的过程。可以预先任意设定一段时间(如10ms)作为单位时间,当用户在客户端的验证码滑动验证界面中进行滑动滑块的操作时,从滑块移动开始,记录在整个验证码滑动验证过程中的滑块在各个单位时间内的移动距离;可以将记录的每个单位时间内的移动距离生成该验证码的验证码验证信息。例如,验证码验证信息可以包括第1个单位时间的移动距离、验证码验证信息可以包括第2个单位时间的移动距离直到第n个单位时间的移动距离,n可以由验证码滑动验证过程的总时长确定。
在完成验证码滑动验证过程后,客户端会向服务器发送相应的服务请求,其中,可以将该验证码验证信息添加到该服务请求中。则服务器可以接收到该携带有验证码验证信息的服务请求。
S202:将验证码验证信息输入预先建立的操作类型分类模型,获得验证码验证信息对应的操作类型分类结果。
操作类型分类模型可以是预先建立的用于将操作类型进行分类的模型,例如,该操作类型分类模型可以是由神经网络算法构建的模型。验证码验证信息标识了在滑动验证码过程中的特征,将验证码验证信息输入操作类型分类模型,可以获得验证码验证信息对应的操作类型分类结果,操作类型分类结果可以包括人为操作或者非人为操作。则由验证码验证信息可以确定滑动验证码过程是由人为操作或者为非人为操作。在本实施例的一种实现方式中,在将验证码验证信息输入预先建立的操作类型分类模型之前,方法还包括:对验证码验证信息进行预处理;对验证码验证信息进行预处理,包括:获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为验证码验证信息。
在将验证码验证信息输入预先建立的操作类型分类模型之前,可以对该验证码验证信息进行预处理。
其中,对验证码验证信息进行预处理,包括:获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为验证码验证信息。
在实际应用中,常常会出现用户在客户端进行验证码滑动验证所用的时间不同,以及滑块被拖动的轨迹不同等情形,而这些因素都可以导致生成的验证码验证信息中的单位时间的移动距离的数量不一致。为了方便对验证码验证信息进行后续的分析处理,服务器可以在接收到验证码验证信息后首先对其进行预处理。
例如:用户A在进行验证码滑动验证时,在较长的时间内完成了验证码滑动验证操作,可以将用户A进行验证码滑动验证时生成的验证码验证信息记为A,其中,验证码验证信息A中单位时间的移动距离的数量可以是130个;用户B在进行验证码滑动验证时,在较短的时间内即完成了验证码滑动验证操作,将用户B进行验证码滑动验证时生成的验证码验证信息记为B,其中,验证码验证信息B中单位时间的移动距离的数量可以是125个。因此可知,由于2个验证码验证信息的单位时间的移动距离的数量不相同,为了方便对验证码验证信息进行后续的分析处理,服务器可以对验证码验证信息进行预处理。
其中,服务器对验证码验证信息进行预处理的步骤可以是:服务器预先设定一个数量,并将接收到的验证码验证信息处理成为具有服务器预先设定的该数量个单位时间的移动距离的验证信息,则将该具有服务器预先设定的该数量个单位时间的移动距离的验证信息作为预处理后的验证码验证信息。其中,服务器预先设定的数量可以根据操作类型分类模型的规则进行设定。其中,当服务器接收到的验证码验证信息中的单位时间的移动距离的数量不小于服务器预设数量时,服务器可以截取以该接收到的验证码验证信息中的后预设数量个单位时间的移动距离的验证信息,将该具有服务器预先设定的该数量个单位时间的移动距离的验证信息作为预处理后的验证码验证信息;当接收到的验证码验证信息中的单位时间的移动距离的数量小于服务器预设数量时,服务器可以在该接收到的验证码验证信息的前端进行补零,且当对验证码验证信息进行补零后的单位时间的移动距离的数量等于服务器预设的数量后,将补零后的验证信息作为预处理后的验证码验证信息。
下面仍以验证码验证信息A和验证码验证信息B为例,则服务器对验证码验证信息A和验证码验证信息B进行预处理的步骤可以是:服务器预先设定一个数量,比如128个,并将接收到的验证码验证信息A和验证码验证信息B都处理成为具有服务器预先设定的该数量(128)个单位时间的移动距离后作为预处理后的验证码验证信息。即将验证码验证信息A和验证码验证信息B都处理成为具有128个单位时间的移动距离的验证码验证信息。其中,验证码验证信息A中的单位时间的移动距离的数量为130,即不小于服务器预设数量(128),则服务器可以截取验证码验证信息A中的后128个单位时间的移动距离的验证码验证信息,以该截取验证码验证信息A中的后128个单位时间的移动距离的验证信息作为预处理后的验证码验证信息;其中,验证码验证信息B中的单位时间的移动距离的数量为125个,即小于服务器预设数量(128),则服务器可以在验证码验证信息B的前端进行补零,且当对验证码验证信息B进行补零后的单位时间的移动距离的数量等于服务器预设数量(128)后,将补零后的验证信息作为预处理后的验证码验证信息。
然后,服务器将预处理后的验证码验证信息输入预先建立的操作类型分类模型,获得验证码验证信息对应的操作类型分类结果。
在本实施例的一种实现方式中,建立操作类型分类模型的过程可以包括:获取训练数据,每条训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,分类标签包括人为操作或者非人为操作;根据训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
首先获取大量训练数据,每条训练数据包括多个单位时间的移动距离以及该条训练数据对应的已知分类标签,分类标签包括人为操作或者非人为操作。根据已知分类标签的训练数据则可以训练生成用于操作类型分类的模型。本申请实施例对初始神经网络模型的结构、采用的具体算法并不进行限定。
下面以将时间长短记忆神经网络(Long-Short Term Memory,简称LSTM)模型训练成操作类型分类模型为例进行说明。
其中,LSTM模型是一种深度学习算法模型。
将LSTM模型构建成操作类型分类模型的过程可以包括:
首先,采集一定数量的人为操作或者非人为操作的验证码验证信息,并对该验证码验证信息进行标记。
其中,采集的该验证码验证信息中单位时间的移动距离的数量应该是预设数量;例如:采集的该验证码验证信息中都包括128个单位时间的移动距离。对验证码验证信息进行标记的原则可以是根据该验证码验证信息是否为人为操作所生成。如果该验证码验证信息是人为操作所生成则可以在该验证码验证信息中加入人为操作标签;如果该验证码验证信息不是人为操作所生成则可以在该验证码验证信息中加入非人为操作标签。
然后,将采集到的带有标记的全部验证码验证信息输入初始化的LSTM模型中进行训练,进而得到可用于将操作类型分类的操作类型分类模型。
在本实施例中,将预处理后的验证码验证信息输入预先建立的操作类型分类模型,操作类型分类模型对该预处理后的验证码验证信息进行分析处理后可以获得该验证码验证信息对应的操作类型分类结果。
S203:当操作类型分类结果为人为操作,响应服务请求,并向客户端反馈服务请求的响应结果。
当操作类型分类模型输出的操作类型分类结果为人为操作时,则可以说明该验证码滑动验证操作为人为操作,也可以说明该次服务请求存在较低的风险,则服务器可以响应由客户端发送来的服务请求,并向客户端反馈该服务请求的响应结果。
S204:当操作类型分类结果为非人为操作,中止服务请求,并向客户端发送验证失败的提示信息。
当操作类型分类模型输出的操作类型分类结果为非人为操作时,则可以说明该验证码滑动验证操作为非人为操作,也可以说明该次服务请求存在较高的风险,则服务器可以中止由客户端发送来的服务请求,并向客户端发送验证失败的提示信息。
这样,本申请实施例服务器获取携带有验证码验证信息的服务请求,验证码验证信息包括有在验证码滑动验证过程中按照时序排列的各个单位时间的移动距离;将验证码验证信息输入预先建立的操作类型分类模型,可以获取验证码验证信息对应的操作类型分类结果,该操作类型分类结果包括人为操作或者非人为操作,即通过操作类型分类模型可以判断出验证码滑动验证过程是由人为操作的,还是由攻击者通过机器模拟操作的;当操作类型分类结果包括人为操作时,正常响应服务请求,当操作类型分类结果包括非人为操作时,中止服务请求,判断验证码验证失败。从而本申请实施例可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
参见图3,该图为本申请实施例提供的另外一种实现滑动验证码验证方法的流程图,本实施例可以应用于客户端,该方法可以包括如下步骤:
S301:监听在验证码滑动验证过程中各个单位时间的移动距离。
实际中,当用户在客户端需要进行登录、下载等操作时可以向服务器发送相关的服务请求,而在客户端向服务器发送该请求之前可能需要用户进行滑动验证码验证的情形。
在本实施例的一种实现方式中,方法还包括:显示验证码滑动验证界面。监听在验证码滑动验证过程中各个单位时间的移动距离,包括:
响应于对在验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
其中,用户可以在服务器下载验证码滑动验证界面和验证码滑动验证监听的程序,并将该验证码滑动验证界面和验证码滑动验证监听程序安装在终端。当用户需要进行滑动验证码验证时,该验证码滑动验证界面可以显示在客户端上,用户可以在该验证码滑动验证界面中完成滑动验证码验证的操作。该验证码滑动验证界面可以包括滑动和滑动轴。
当用户在客户端进行滑动验证码验证时,可以监听在验证码滑动验证过程中在各个单位时间的移动距离,包括:响应于对在验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
可以预先任意设定一段时间(如10ms)作为单位时间,当用户在客户端的验证码滑动验证界面中进行滑动滑块的操作时,从滑块移动开始,验证码滑动验证监听程序可以监听以及记录在整个验证码滑动验证过程中的滑块在各个单位时间内的移动距离;并将记录的数据生成该验证码的验证码验证信息。
S302:向服务器发送携带有验证码验证信息的服务请求,验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离,以使服务器将验证码验证信息输入预先建立的操作类型分类模型,获得验证码验证信息对应的操作类型分类结果。
客户端将此次验证码滑动验证过程中生成的验证码验证信息添加到其相应的服务请求中,并将该服务请求发送至服务器,服务器将该服务请求中的验证码验证信息输入到在服务器中预先建立的操作类型分类模型,操作类型分类模型对该验证码验证信息进行分析处理进而获得该验证码验证信息对应的操作类型分类结果。
其中,验证码验证信息可以包括验证码滑动验证监听程序记录的在整个验证码滑动验证过程中的滑块在各个单位时间内的移动距离。
S303:当操作类型分类结果为人为操作,接收服务器反馈的服务请求的响应结果。
当操作类型分类模型输出的操作类型分类结果为人为操作时,则可以说明该验证码滑动验证操作为人为操作,也可以说明该次服务请求存在较低的风险,则服务器可以响应由客户端发送来的服务请求,并向客户端反馈该服务请求的响应结果,客户端接收服务器反馈的服务请求的响应结果。
S304:当操作类型分类结果为非人为操作,接收服务器发送的验证失败的提示信息。
当操作类型分类模型输出的操作类型分类结果为非人为操作时,则可以说明该验证码滑动验证操作为非人为操作,也可以说明该次服务请求存在较高的风险,则服务器可以中止由客户端发送来的服务请求,并向客户端发送验证失败的提示信息,客户端接收到服务器发送的验证失败的提示信息。
这样,本申请实施例可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
参见图4,该图为本申请实施例提供的一种实现滑动验证码验证装置的组成示意图,该装置包括:
数据采集单元401,用于接收客户端发送的携带有验证码验证信息的服务请求,所述验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;
分类单元402,用于将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
决策单元403,用于当所述操作类型分类结果为人为操作,响应所述服务请求,并向所述客户端反馈所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,中止所述服务请求,并向所述客户端发送验证失败的提示信息。
在本实施例的一种实现方式中,所述装置还包括:
预处理单元,用于在将所述验证码验证信息输入预先建立的操作类型分类模型之前,对所述验证码验证信息进行预处理;
所述预处理单元具体用于:
获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为所述验证码验证信息。
在本实施例的一种实现方式中,建立所述操作类型分类模型的过程包括:
获取训练数据,每条所述训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,所述分类标签包括人为操作或者非人为操作;
根据所述训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
参见图5,该图为本申请实施例提供的另外一种实现滑动验证码验证装置的组成示意图,该装置包括:
监听单元501,用于监听在验证码滑动验证过程中各个单位时间的移动距离;
发送单元502,用于向服务器发送携带有验证码验证信息的服务请求,所述验证码验证信息包括所述在验证码滑动验证过程中各个单位时间的移动距离,以使所述服务器将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
接收单元503,用于当所述操作类型分类结果为人为操作,接收所述服务器反馈的所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,接收所述服务器发送的验证失败的提示信息。
在本实施例的一种实现方式中,所述装置还包括:
显示单元,用于显示验证码滑动验证界面;
所述监听单元具体用于:
响应于对在所述验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
参见图6,该图为本申请实施例提供的一种实现滑动验证码验证系统的组成示意图,该系统包括:
服务器601以及客户端602;
所述服务器为上述的第一种实现滑动型验证码验证的装置;
所述客户端为上述的第二种实现滑动型验证码验证的装置。
这样,本申请实施例服务器获取携带有验证码验证信息的服务请求,验证码验证信息包括有在验证码滑动验证过程中按照时序排列的各个单位时间的移动距离;将验证码验证信息输入预先建立的操作类型分类模型,可以获取验证码验证信息对应的操作类型分类结果,该操作类型分类结果包括人为操作或者非人为操作,即通过操作类型分类模型可以判断出验证码滑动验证过程是由人为操作的,还是由攻击者通过机器模拟操作的;当操作类型分类结果包括人为操作时,正常响应服务请求,当操作类型分类结果包括非人为操作时,中止服务请求,判断验证码验证失败。从而本申请实施例可以有效识别非人为滑动验证码的操作,提高滑动型验证码的安全性。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种实现滑动型验证码验证的方法,其特征在于,所述方法包括:
接收客户端发送的携带有验证码验证信息的服务请求,所述验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;
将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
当所述操作类型分类结果为人为操作,响应所述服务请求,并向所述客户端反馈所述服务请求的响应结果;
当所述操作类型分类结果为非人为操作,中止所述服务请求,并向所述客户端发送验证失败的提示信息。
2.根据权利要求1所述的方法,其特征在于,在将所述验证码验证信息输入预先建立的操作类型分类模型之前,所述方法还包括:
对所述验证码验证信息进行预处理;
所述对所述验证码验证信息进行预处理,包括:
获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为所述验证码验证信息。
3.根据权利要求1所述的方法,其特征在于,建立所述操作类型分类模型的过程包括:
获取训练数据,每条所述训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,所述分类标签包括人为操作或者非人为操作;
根据所述训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
4.一种实现滑动型验证码验证的方法,其特征在于,所述方法包括:
监听在验证码滑动验证过程中各个单位时间的移动距离;
向服务器发送携带有验证码验证信息的服务请求,所述验证码验证信息包括所述在验证码滑动验证过程中各个单位时间的移动距离,以使所述服务器将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
当所述操作类型分类结果为人为操作,接收所述服务器反馈的所述服务请求的响应结果;
当所述操作类型分类结果为非人为操作,接收所述服务器发送的验证失败的提示信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
显示验证码滑动验证界面;
所述监听在验证码滑动验证过程中各个单位时间的移动距离,包括:
响应于对在所述验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
6.一种实现滑动型验证码验证的装置,其特征在于,所述装置包括:
数据采集单元,用于接收客户端发送的携带有验证码验证信息的服务请求,所述验证码验证信息包括在验证码滑动验证过程中各个单位时间的移动距离;
分类单元,用于将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
决策单元,用于当所述操作类型分类结果为人为操作,响应所述服务请求,并向所述客户端反馈所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,中止所述服务请求,并向所述客户端发送验证失败的提示信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
预处理单元,用于在将所述验证码验证信息输入预先建立的操作类型分类模型之前,对所述验证码验证信息进行预处理;
所述预处理单元具体用于:
获取在验证码滑动验证过程中预设数量个单位时间的移动距离作为所述验证码验证信息。
8.根据权利要求6所述的装置,其特征在于,建立所述操作类型分类模型的过程包括:
获取训练数据,每条所述训练数据包括预设数量个单位时间的移动距离以及对应的分类标签,所述分类标签包括人为操作或者非人为操作;
根据所述训练数据对初始神经网络模型进行训练,建立操作类型分类模型。
9.一种实现滑动型验证码验证的装置,其特征在于,所述装置包括:
监听单元,用于监听在验证码滑动验证过程中各个单位时间的移动距离;
发送单元,用于向服务器发送携带有验证码验证信息的服务请求,所述验证码验证信息包括所述在验证码滑动验证过程中各个单位时间的移动距离,以使所述服务器将所述验证码验证信息输入预先建立的操作类型分类模型,获得所述验证码验证信息对应的操作类型分类结果;
接收单元,用于当所述操作类型分类结果为人为操作,接收所述服务器反馈的所述服务请求的响应结果;当所述操作类型分类结果为非人为操作,接收所述服务器发送的验证失败的提示信息。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
显示单元,用于显示验证码滑动验证界面;
所述监听单元具体用于:
响应于对在所述验证码滑动验证界面中滑动滑块的操作,监听在验证码滑动验证过程中各个单位时间的移动距离。
11.一种实现滑动型验证码验证的系统,其特征在于,所述系统包括:
服务器以及客户端;
所述服务器为权利要求6-8任一项所述的实现滑动型验证码验证的装置;
所述客户端为权利要求9或10所述的实现滑动型验证码验证的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108185.2A CN109086594A (zh) | 2018-09-21 | 2018-09-21 | 一种实现滑动型验证码验证的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108185.2A CN109086594A (zh) | 2018-09-21 | 2018-09-21 | 一种实现滑动型验证码验证的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109086594A true CN109086594A (zh) | 2018-12-25 |
Family
ID=64842323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811108185.2A Pending CN109086594A (zh) | 2018-09-21 | 2018-09-21 | 一种实现滑动型验证码验证的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086594A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902471A (zh) * | 2019-01-08 | 2019-06-18 | 平安科技(深圳)有限公司 | 滑块验证的检测方法、装置、计算机设备及存储介质 |
CN110188761A (zh) * | 2019-04-22 | 2019-08-30 | 平安科技(深圳)有限公司 | 验证码的识别方法、装置、计算机设备和存储介质 |
CN111310155A (zh) * | 2019-11-28 | 2020-06-19 | 苏宁金融科技(南京)有限公司 | 一种用于滑块验证码自动识别的系统架构及实现方法 |
CN113438202A (zh) * | 2021-05-18 | 2021-09-24 | 北京达佳互联信息技术有限公司 | 验证码请求的处理方法、装置、电子设备及存储介质 |
CN115630365A (zh) * | 2022-10-27 | 2023-01-20 | 云景技术有限公司 | 一种基于深度学习的验证码恶意输入检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104658488A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 下采样方法及装置 |
CN105574398A (zh) * | 2015-12-10 | 2016-05-11 | 魅族科技(中国)有限公司 | 一种验证码验证方法及装置 |
US20160321446A1 (en) * | 2013-03-15 | 2016-11-03 | Jpmorgan Chase Bank, N.A. | Confidence-Based Authentication |
CN106446148A (zh) * | 2016-09-21 | 2017-02-22 | 中国运载火箭技术研究院 | 一种基于聚类的文本查重方法 |
CN107038383A (zh) * | 2016-02-03 | 2017-08-11 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
CN108416198A (zh) * | 2018-02-06 | 2018-08-17 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
-
2018
- 2018-09-21 CN CN201811108185.2A patent/CN109086594A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321446A1 (en) * | 2013-03-15 | 2016-11-03 | Jpmorgan Chase Bank, N.A. | Confidence-Based Authentication |
CN104658488A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 下采样方法及装置 |
CN105574398A (zh) * | 2015-12-10 | 2016-05-11 | 魅族科技(中国)有限公司 | 一种验证码验证方法及装置 |
CN107038383A (zh) * | 2016-02-03 | 2017-08-11 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN106446148A (zh) * | 2016-09-21 | 2017-02-22 | 中国运载火箭技术研究院 | 一种基于聚类的文本查重方法 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
CN108416198A (zh) * | 2018-02-06 | 2018-08-17 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902471A (zh) * | 2019-01-08 | 2019-06-18 | 平安科技(深圳)有限公司 | 滑块验证的检测方法、装置、计算机设备及存储介质 |
CN110188761A (zh) * | 2019-04-22 | 2019-08-30 | 平安科技(深圳)有限公司 | 验证码的识别方法、装置、计算机设备和存储介质 |
CN111310155A (zh) * | 2019-11-28 | 2020-06-19 | 苏宁金融科技(南京)有限公司 | 一种用于滑块验证码自动识别的系统架构及实现方法 |
CN113438202A (zh) * | 2021-05-18 | 2021-09-24 | 北京达佳互联信息技术有限公司 | 验证码请求的处理方法、装置、电子设备及存储介质 |
CN115630365A (zh) * | 2022-10-27 | 2023-01-20 | 云景技术有限公司 | 一种基于深度学习的验证码恶意输入检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086594A (zh) | 一种实现滑动型验证码验证的方法、装置及系统 | |
EP3497609B1 (en) | Detecting scripted or otherwise anomalous interactions with social media platform | |
CN108200030A (zh) | 恶意流量的检测方法、系统、装置及计算机可读存储介质 | |
CN109922032B (zh) | 用于确定登录账户的风险的方法、装置、设备及存储介质 | |
US8484741B1 (en) | Software service to facilitate organizational testing of employees to determine their potential susceptibility to phishing scams | |
CN109241711A (zh) | 基于预测模型的用户行为识别方法及装置 | |
CN104135365B (zh) | 对访问请求进行验证的方法、服务器及客户端 | |
CN109241709A (zh) | 基于滑块验证码验证的用户行为识别方法及装置 | |
CN107153786A (zh) | 一种人机识别方法、系统及终端设备、可读存储介质 | |
CN105049421A (zh) | 基于用户使用行为特征的认证方法、服务器、终端及系统 | |
CN111295673B (zh) | 神经反应检测器 | |
Maruyama et al. | Tap'n ghost: A compilation of novel attack techniques against smartphone touchscreens | |
Sahlabadi et al. | Detecting abnormal behavior in social network websites by using a process mining technique | |
CN109600336A (zh) | 存储设备、验证码应用方法和装置 | |
CN110442712A (zh) | 风险的确定方法、装置、服务器和文本审理系统 | |
CN104184705A (zh) | 验证方法、装置、服务器、用户数据中心和系统 | |
CN109145544A (zh) | 一种人机行为检测系统及方法 | |
CN109271762B (zh) | 基于滑块验证码的用户认证方法及装置 | |
CN108011868A (zh) | 一种滑动验证方法及移动终端 | |
US11652841B2 (en) | System and method for detecting bots based on iterative clustering and feedback-driven adaptive learning techniques | |
CN105827406A (zh) | 一种身份验证方法、装置和系统 | |
Murad et al. | Software testing techniques in iot | |
CN109242292A (zh) | 一种资产评估方法、区块链节点设备及系统 | |
CN106130739A (zh) | 应用程序登录处理方法及装置 | |
CN104935548A (zh) | 基于智能纹身设备的身份验证方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181225 |
|
RJ01 | Rejection of invention patent application after publication |