CN108229130B - 一种验证方法及装置 - Google Patents
一种验证方法及装置 Download PDFInfo
- Publication number
- CN108229130B CN108229130B CN201810091232.0A CN201810091232A CN108229130B CN 108229130 B CN108229130 B CN 108229130B CN 201810091232 A CN201810091232 A CN 201810091232A CN 108229130 B CN108229130 B CN 108229130B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- verification
- machine
- behavior
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Collating Specific Patterns (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种验证方法及装置,该方法包括:获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
Description
技术领域
本申请涉及网页开发技术领域,尤其涉及一种验证方法及装置。
背景技术
目前,在网络浏览器界面中为了增加网络信息的安全性,例如:防止恶意破解密码、刷票、论坛灌水、或对特定注册用户使用特定程序暴力破解方式进行不断的登陆尝试的行为,一般会使用验证信息进行验证。在用户输入用户名及静态密码后,网络侧会发送一个随机的验证信息至客户端,用户通过肉眼识别此验证信息的内容,并输入到客户端的输入框中,提交到网站进行验证,在验证成功后用户便可以通过客户端进行正常的后续操作。
目前,浏览器对于用户的访问请求所采用的验证信息包括以下几种:
1、数字和字母形式的验证信息:此验证信息可能全部是字母,也可能全部是数字,也可能是字母和数字的结合,例如随机生成的4位字符串,这种验证信息很容易被验证信息的识别程序破解,不能防止恶意提交行为。
2、汉字形式的验证信息:此验证信息是随机生成的至少一个汉字,这种验证信息也可以被验证信息的识别程序破解,并且用户在输入汉字时需要切换输入法,比较麻烦,不利于用户体验。
3、图片形式的验证信息:此验证信息是将随机的数字和字母生成BMP格式或JPG格式的图片,其中,数字和字母在图片中的颜色和位置可变,这种验证信息也可以被验证信息的识别程序破解。或者,将生成的验证信息图片中的数字和字母扭曲,这种验证信息不利于用户识别。
上述现有方案生成的验证信息都可能被识别程序破解,不能正确过滤机器,达到对页面进行安全认证的目的,尤其是不能避免对页面恶意提交的行为,造成了网络安全隐患。
发明内容
本申请实施例提供了一种验证方法及装置,用以增强安全认证的可靠性。
本申请实施例提供一种验证方法,包括:
获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;
将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
一种可能的实现方式,所述根据所述用户验证数据,通过机器模拟生成机器验证数据,包括:
将所述用户验证数据根据预设规则转换为第一图片;
通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;
将所述第二图片根据所述预设规则转换为机器验证数据。
一种可能的实现方式,所述将所述用户验证数据根据预设规则转换为第一图片,包括:
若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;
若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
一种可能的实现方式,所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
一种可能的实现方式,所述将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型,包括:
根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;
从所述正样本和所述负样本中,确定训练样本和测试样本;
通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;
根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;
若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
一种可能的实现方式,最后一次训练为第P次;
根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量,包括:
针对第2至第P-1次中的每一次,执行:
从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;
根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;
所述根据选取的特征点更新所述N个特征集,包括:
将选取的特征点随机交叉,生成N个特征集。
本申请实施例提供一种验证方法,包括:
获取验证请求中的用户验证数据;将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为,所述用户验证行为模型为根据上述任一项所述的方法得到的。
本申请实施例提供一种验证装置,包括:
获取单元,用于获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
处理单元,用于根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
一种可能的实现方式,所述处理单元具体用于:
将所述用户验证数据根据预设规则转换为第一图片;通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;将所述第二图片根据所述预设规则转换为机器验证数据。
一种可能的实现方式,所述处理单元具体用于:
若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
一种可能的实现方式,所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
一种可能的实现方式,所述处理单元具体用于:
根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;从所述正样本和所述负样本中,确定训练样本和测试样本;通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
一种可能的实现方式,所述处理单元具体用于:
最后一次训练为第P次;针对第2至第P-1次中的每一次,执行:从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;将选取的特征点随机交叉,生成N个特征集。
本申请实施例提供一种验证装置,包括:
获取单元,用于获取验证请求中的用户验证数据;
处理单元,用于将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为,所述用户验证行为模型为根据上述任一项所述的装置得到的。
本申请实施例的有益效果包括:
本申请实施例提供的一种验证方法及装置,获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。通过采用滑动验证的表现形式,提高了用户体验。通过采集用户的多种行为数据,利用机器学习技术,对用户行为数据进行多维度建模,通过随机集成判断,增加机器破解的难度。将用户验证数据转换为第一图片的图像数据,利用深度学习技术,模拟机器破解过程,增加了判断机制的健壮性。避免了使用识别程序破解验证图片进行验证的可能性,能够防止网站被恶意程序攻击,增强了安全认证的可靠性。
附图说明
图1为本申请实施例提供的一种验证方法的流程示意图;
图2为本申请实施例提供的一种验证方法的流程示意图;
图3为本申请实施例提供的一种验证装置的结构示意图;
图4为本申请实施例提供的一种验证装置的结构示意图。
具体实施方式
下面结合附图,对本申请实施例提供的基于验证图片的验证方法、装置及服务器的具体实施方式进行详细地说明。
目前常用的人机识别方法为全自动区分计算机和人类的图灵测试(CompletelyAutomated Public Turing Test to Tell Computers and Humans Apart,CAPTCHA),其表现形式为字符验证码,短信验证码,语音验证码等。
字符验证码通过要求用户输入图片中的文字来完成验证,表现形式有:多个英文字符,在背景附加干扰线或噪点,字符通过粘连扭曲加工,增加破解难度;中文表达的简单计算式,如“一加二=?”;多个中文字符,翻转其中某几个,要求用户选中翻转的字符。
字符验证码是比较原始的一种人机识别方法,随着OCR技术和图像识别技术的发展,尤其是深度学习的发展,愈发容易被破解。部分产品为提高破解难度,对字符添加更多的干扰噪点,并增加字符的粘连和扭曲程度,对机器的识别难度没有提高;而正常人类也更难识别,只是提高了人类的认知门槛,降低了用户体验。
短信验证码通过发送短信验证码至用户,并要求用户输入,通常为4至6位的英文字符或数字。部分短信验证码要求用户发送短信至应用方,完成验证。
短信验证码通常需要用户等待较长时间,用户体验差,在部分场景难以实际应用。
滑动验证码通过在一张较大的图块中扣取一小块,要求用户拖动小图块至指定位置,完成验证。
滑动验证码在一定程度上提高了用户体验,提高了机器破解难度。但现有的滑动验证方法,通常为通过设定用户滑动的规则,以过滤机器,如滑动时间,速度等,由于规则是有限且可枚举的,验证手段单一,易于利用工具模拟破解,一旦被破解,难以修复。
为提高用户网络信息的安全性,提高机器破解的门槛,并降低用户的使用难度,提高用户体验,本申请实施例提出一种验证方法,如图1所示,包括以下步骤:
步骤101:获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
步骤102:根据所述用户验证数据,通过机器模拟生成机器验证数据;
其中,所述机器验证数据用于表征经机器行为产生的验证数据;
步骤103:将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;
其中,所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
在步骤101中,试试用户验证数据可以为用户登录用户设备时的验证数据,所述用户设备可以为无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或其它处理设备。无线终端可以经RAN(Radio Access Network,无线接入网)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
根据用户设备中验证行为的实现方式,可以将所述用户验证行为数据分为需要鼠标点击的用户设备,例如PC;需要键盘控制的用户设备,例如,PC,手机设备,智能电视等;需要触屏控制的用户设备等,包括触控屏幕的终端设备,例如,手机、车载终端等。
所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
以下举例说明采集的所述用户验证行为数据:
在包括鼠标点击的用户设备中,可以采集鼠标点击数据,鼠标移动数据,以及鼠标的滑动轨迹数据。具体的,可以包括:鼠标点击数据,包括坐标,时间戳,点击键,格式为(x,y,t,k)鼠标移动数据,包括坐标,时间戳,格式为(x,y,t);
在包括键盘输入的用户设备中,可以采集光标变化数据,包括坐标,时间戳,触发类型(点击鼠标,敲击键盘等),格式为(x,y,t,tp)。
在包括触控屏幕的终端设备中,可以采集屏幕按压力度传感器数据,滑动轨迹数据等表示用户终端状态的数据,用于识别所述终端设备是否为用户持有状态,所述屏幕按压力度传感器数据包括:按压力度和时间戳,格式为(x,y,p,t)。所述滑动轨迹数据,可以包括坐标值,按压力度,时间戳,格式为(x,y,p,t)
在包括可移动的终端设备中,可以采集陀螺仪传感器数据,滑动轨迹数据等表示用户终端状态的数据,用于识别所述终端设备是否为用户持有状态,包括:3个方向的角速度和时间戳,格式为(x,y,z,t)。
滑动轨迹数据可以在任意用户设备中采集,包括:坐标值和时间戳,格式为(x,y,t)。具体格式可以根据用户设备的可采集的数据确定,在此不做限定。
针对用户设备的网页或应用程序的响应时间,以排除由于网络的影响导致对用户验证行为数据的影响;可以采集验证页面的请求数据,例如,可以包括发起时间戳和响应时间戳,格式为(st,rt);或者,由于屏幕分辨率影响用户验证行为,以提高用户验证行为的识别的准确率。例如,还可以采集所述用户设备的屏幕信息数据,其中,所述屏幕信息数据,可以包括屏幕大小,分辨率,可视区大小,边距,页面边框大小,格式(aw,ah,sw,sh,iw,ih,t,l,ow,oh)。
在所述用户验证行为数据的采集过程中,真实人类的样本是可采集和确定的,但机器的样本复杂多变且难以采集。
现有技术中仅仅通过可以枚举的规则获得的机器验证行为,机器为绕过验证,通常的手段多为猜想验证逻辑,用于模拟人类真实行为。随着人工智能的发展,通过对真实人类样本进行多项式拟合,在拟合曲线上采点,设定简单规则,过滤掉明显不合逻辑的序列,生成可能存在的机器攻击样本,是很难识别机器验证行为的。
本申请实施例中,采用机器模拟的方式,获得机器验证行为数据,可以更加精确的区分真实人类的验证行为和机器验证行为。本申请实施例可以更加全面的覆盖机器模拟用户验证行为的数据,进而可以在不增加用户操作难度的前提下,有效的识别机器验证行为,提高用户网络的安全性,有效的阻止网络攻击。
在步骤102中,所述根据所述用户验证数据,通过机器模拟生成机器验证数据,包括:
步骤一、将所述用户验证数据根据预设规则转换为第一图片;
步骤二、通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;
步骤三、将所述第二图片根据所述预设规则转换为机器验证数据。
深度卷积生成对抗网络(Deep Convolutional Generative AdversarialNetworks,DCGAN)由两部分模型组成,生成模型生成与样本集相似的数据,判别模型负责检测数生成的样本。生成模型的基本思想是输入一个训练样本集合,然后形成这些样本的概率分布的表征。常用的生成模型方法是直接推断其概率密度函数。Ian Goodfellow及其蒙特利尔大学的同事引入了生成对抗网络(generative adersarail net,GAN)。这是一种学习数据的基本分布的全新方法,让生成出的人工对象可以和真实对象之间达到很高的相似度。GAN思想主要为通过生成器和鉴别器两个网络彼此博弈。生成器的目标是生成一个对象(比如人的照片),并使其看起来和真的一样。而鉴别器的目标就是找到生成出的结果和真实图像之间的差异。深度卷积生成对抗网络解决了非监督学习中的著名问题:给定一批样本,训练一个系统,能够生成类似的新样本。
在步骤一中,所述用户验证数据根据预设规则转换为第一图片,包括:
步骤一、若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;
步骤二、若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
其中,针对所述3维数据,可以转换为MxM的3维颜色数据的第一图片。所述M为所述用户验证数据的数量。
在具体实施过程中,实施用户验证数据可以根据预设归一化规则转换为[0,255]的3维颜色数据。
例如,通过对每个3维用户验证数据,每维数据对255除余,获得每维数据的余数和商,进而确定每个3维用户验证数据转换为3维颜色数据对应的值。并确定在所述第一图片中每个3维颜色数据在所述第一图片的位置,进而确定所述通过对每个3维用户验证数据在所述第一图片的位置。例如,数据(x,y,t),可以根据以下方式,确定每个数据点在所述第一图片上的3维颜色数据在所述第一图片上的位置:
R[i]=x%255 R[-i]=x/255
G[i]=y%255 G[-i]=y/255
B[i]=t%255 B[-i]=t/255
其中,i为从图像左上角开始的像素,-i为从图像右下角开始的像素。RGB为所述第一图片对应的颜色:红(R)、绿(G)、蓝(B)三个颜色。
针对所述4维数据,可以转换为MxM的4维颜色数据的第一图片。所述M为所述用户验证数据的数量。例如,数据(x,y,z,t),转换为MxM的4维第一图片:
R[i]=x%255 R[-i]=x/255
G[i]=y%255 G[-i]=y/255
B[i]=z%255 B[-i]=z/255
A[i]=t%255 A[-i]=t/255
其中,i为从所述第一图片左上角开始的像素,-i为从所述第一图片右下角开始的像素。RGB为所述第一图片对应的颜色:红(R)、绿(G)、蓝(B)三个颜色。A为所述第一图片的透明度。其中,对超过[0,255]的数据,可以做如下处理:若x/255>255或x/255<-255,则x=255。若x,y,z<0,则R[-i]=255+x/255
在具体实施过程中,可以对所述用户验证数据进行去均值化处理,例如,
鼠标移动数据,计算差值{[x1-x0,y1-y0,t1-t0],……};
鼠标点击数据,计算差值{[x1-x0,y1-y0,t1-t0,k],……};
光标变化数据,计算差值{[x1-x0,y1-y0,t1-t0,tp],……};
陀螺仪传感器数据,可以先将陀螺仪角速度放大100倍,
{[x*100,y*100,z*100,t],……},计算差值{[x1-x0,y1-y0,z1-z0,t1-t0],……};
按压力度传感器数据,计算差值{[x1-x0,y1-y0,p,t1-t0],……}。
在步骤二中,通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;
在具体实施过程中,可以将所述第一图片,按数据类型分别输入至DCGAN进行训练,所述DCGAN的生成器生成第二图片;
在步骤三中,将所述第二图片根据所述预设规则转换为机器验证数据。
其中,可以将符合以下规则的生成器生成的中间数据作为所述机器用户验证行为数据:
t>0且递增;
0<x<M1;0<y<M2;
N1<p<M3,N2<tp<M4,N3<k<M5;
其中,M1,M2,N1,M3,N2,M4,N3,M5为预设值,在此不做限定。
在步骤103中,针对所述用户验证行为数据和生成的机器验证行为数据,提取所述用户验证行为数据和所述机器验证行为数据的特征,利用机器学习方法训练模型对新样本进行人机判别。
在具体实施过程中,可以根据以下方式,确定所述为根据用户行为数据识别正常人类和机器,本专利采用机器学习的方法建模。首先对行为数据进行特征提取,通过多个维度,提取出以下行为数据特征:
1)针对鼠标移动数据和鼠标点击数据:
2)针对键盘数据:
3)针对陀螺仪传感器数据:
4)针对滑动轨迹数据
将滑动轨迹数据分别按照滑动总距离D和滑动总时间T,平分为n段,对每个分段和整体计算以下特征:
5)针对页面响应数据:
本申请实施例中,所述机器学习模型可以采用随机集成学习(ensemblelearning)。所述随机集成学习模型可以通过训练多个弱分类器,在对新样本进行判断时,根据每个分类器的加权值,综合各分类器的判断,确定最终的分类结果。在具体实施过程中,所述每个分类器可以为根据所述特征确定的特征集进行训练确定的。所述将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型,包括:
步骤一、根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;
其中,可以随机选取特征空间中的特征,通过有放回的采样,生成N个特征集;例如,N的范围可以为[5,10]。
步骤二、从所述正样本和所述负样本中,确定训练样本和测试样本;
步骤三、通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;
步骤四、根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;
例如,选取的特征点的数量占所述特征集的比例为所述准确率的值。本申请实施例,通过遗传算法的特性,对所述模型进行优化训练。通过该筛选方法,可以快速的将准确率高的特征集加入下一次训练过程中,进而更快的获得更高准确率的模型。
步骤五、若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
针对最后一次训练为第P次的训练过程,根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量,包括:具体包括:
针对第2至第P-1次中的每一次,执行:
步骤一、从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;
步骤二、根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;
步骤三、所述根据选取的特征点更新所述N个特征集,包括:
将选取的特征点随机交叉,生成N个特征集。
需要说明的是,所述准确率可以根据精确率和召回率确定,在此不做限定。
本申请实施例还提供一种验证方法,如图2所示,包括以下步骤:
步骤201:获取验证请求中的用户验证数据;
步骤202:将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为。
在步骤201中,所述验证请求可以为所述用户在用户设备上进行验证时发送的验证请求,具体验证请求的实现方式在此不做限定。
在步骤202中,所述用户验证行为模型为根据本申请实施例中所述的任一种方法得到的。
为提高机器破解的难度,提高机器识别的准确率,在步骤202中,可以包括以下步骤:
步骤一、随机选取所述用户验证行为模型中的至少1个特征集对应的模型,作为验证所述验证请求的用户验证行为模型;
步骤二、将所述用户验证行为数据输入至所述验证请求的用户验证行为模型中,确定所述用户验证行为数据属于人类的可能性;
步骤三、若确定所述可能性大于阈值,则确定所述用户验证行为通过。
本申请实施例还提供了一种验证服务器,本申请实施例提供的上述基于验证图片的验证装置。
如图3所示,本申请实施例提供一种验证装置,包括:
获取单元301,用于获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
处理单元302,用于根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
一种可能的实现方式,处理单元302具体用于:
将所述用户验证数据根据预设规则转换为第一图片;通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;将所述第二图片根据所述预设规则转换为机器验证数据。
一种可能的实现方式,处理单元302具体用于:
若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
一种可能的实现方式,所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
一种可能的实现方式,处理单元302具体用于:
根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;从所述正样本和所述负样本中,确定训练样本和测试样本;通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
一种可能的实现方式,处理单元302具体用于:
最后一次训练为第P次;针对第2至第P-1次中的每一次,执行:从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;将选取的特征点随机交叉,生成N个特征集。
如图4所示,本申请实施例提供一种验证装置,包括:
获取单元401,用于获取验证请求中的用户验证数据;
处理单元402,用于将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为,所述用户验证行为模型为根据上述任一项所述的装置得到的。
本申请实施例提供的一种验证方法及装置,获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。通过采用滑动验证的表现形式,提高了用户体验。通过采集用户的多种行为数据,利用机器学习技术,对用户行为数据进行多维度建模,通过随机集成判断,增加机器破解的难度。将用户验证数据转换为图像数据,利用深度学习技术,模拟机器破解过程,增加了判断机制的健壮性。避免了使用识别程序破解验证图片进行验证的可能性,能够防止网站被恶意程序攻击,增强了安全认证的可靠性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种验证方法,其特征在于,包括:
获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;具体包括:将所述用户验证数据根据预设规则转换为第一图片;通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;将所述第二图片根据所述预设规则转换为机器验证数据;
将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
2.如权利要求1所述的方法,其特征在于,所述将所述用户验证数据根据预设规则转换为第一图片,包括:
若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;
若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
3.如权利要求2所述的方法,其特征在于,所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
4.如权利要求1所述的方法,其特征在于,所述将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型,包括:
根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;
从所述正样本和所述负样本中,确定训练样本和测试样本;
通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;
根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;
若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
5.如权利要求3所述的方法,其特征在于,最后一次训练为第P次;
根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量,包括:
针对第2至第P-1次中的每一次,执行:
从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;
根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;
所述根据选取的特征点更新所述N个特征集,包括:
将选取的特征点随机交叉,生成N个特征集。
6.一种验证方法,其特征在于,包括:
获取验证请求中的用户验证数据;将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为,所述用户验证行为模型为根据权利要求1至5任一项所述的方法得到的。
7.一种验证装置,其特征在于,包括:
获取单元,用于获取用户验证数据,所述用户验证数据为经用户行为产生的验证数据;
处理单元,用于根据所述用户验证数据,通过机器模拟生成机器验证数据;所述机器验证数据用于表征经机器行为产生的验证数据;所述处理单元具体用于:将所述用户验证数据根据预设规则转换为第一图片;通过深度卷积生产对抗网络,对所述第一图片进行特征提取,并根据提取的特征生成第二图片;将所述第二图片根据所述预设规则转换为机器验证数据;将所述用户验证数据作为正样本,所述机器验证数据作为负样本,经机器学习生成用户验证行为模型;所述用户验证行为模型用于判断验证请求为用户行为还是机器行为。
8.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:
若确定所述用户验证数据为3维数据,则将所述3维数据转换为所述第一图片的3维颜色数据;若确定所述用户验证数据为4维数据,则将所述4维数据转换所述第一图片的3维颜色数据和透明度数据。
9.如权利要求8所述的装置,其特征在于,所述用户验证数据包括以下至少之一:用户鼠标移动数据,用户滑动轨迹数据,用户鼠标点击数据,用户光标变化数据,用户设备的传感器数据;所述用户验证数据包括位置数据和时间数据;
所述用户鼠标点击数据还包括点击键数据,所述用户光标变化数据还包括光标变化触发类型数据;所述用户设备的传感器数据还包括压力传感数据或陀螺仪传感数据。
10.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:
根据所述用户验证数据,确定M个特征点;将所述M个特征点划分为N个特征集;从所述正样本和所述负样本中,确定训练样本和测试样本;通过集成机器学习模型和所述训练样本,训练所述N个特征集对应的N个模型;根据所述测试样本,确定所述N个模型的准确率;根据各模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;根据选取的特征点更新所述N个特征集,并返回至训练所述N个特征集对应的N个模型的步骤;其中,选取的特征点的数量与准确率呈正向关系;若确定相邻两次训练的N个模型的准确率小于预设阈值,则将最后一次训练的N个模型作为所述用户验证行为模型;所述N为大于1的正整数。
11.如权利要求9所述的装置,其特征在于,所述处理单元具体用于:
最后一次训练为第P次;针对第2至第P-1次中的每一次,执行:从当前N个模型和前一次N个模型中,选取准确率最高的N个模型;根据所述准确率最高的N个模型的准确率,确定从各模型对应的特征集中选取的特征点的数量;将选取的特征点随机交叉,生成N个特征集。
12.一种验证装置,其特征在于,包括:
获取单元,用于获取验证请求中的用户验证数据;
处理单元,用于将所述用户验证数据输入用户验证行为模型,确定所述验证请求为用户行为还是机器行为,所述用户验证行为模型为根据权利要求7至11任一项所述的装置得到的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091232.0A CN108229130B (zh) | 2018-01-30 | 2018-01-30 | 一种验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091232.0A CN108229130B (zh) | 2018-01-30 | 2018-01-30 | 一种验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108229130A CN108229130A (zh) | 2018-06-29 |
CN108229130B true CN108229130B (zh) | 2021-04-16 |
Family
ID=62669872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810091232.0A Active CN108229130B (zh) | 2018-01-30 | 2018-01-30 | 一种验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108229130B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717154A (zh) * | 2018-07-11 | 2020-01-21 | 中国银联股份有限公司 | 运动轨迹的特征处理方法、设备以及计算机存储介质 |
CN109271762B (zh) * | 2018-08-03 | 2023-04-07 | 平安科技(深圳)有限公司 | 基于滑块验证码的用户认证方法及装置 |
CN109241709B (zh) * | 2018-08-03 | 2023-04-07 | 平安科技(深圳)有限公司 | 基于滑块验证码验证的用户行为识别方法及装置 |
CN109413023B (zh) * | 2018-08-24 | 2021-02-02 | 创新先进技术有限公司 | 机器识别模型的训练及机器识别方法、装置、电子设备 |
CN109146868A (zh) * | 2018-08-27 | 2019-01-04 | 北京青燕祥云科技有限公司 | 3d肺结节生成方法、装置及电子设备 |
CN109547320B (zh) * | 2018-09-29 | 2022-08-30 | 创新先进技术有限公司 | 社交方法、装置及设备 |
CN109561069A (zh) * | 2018-10-25 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种识别模型的生成方法及装置、一种识别方法及装置 |
CN109446808A (zh) * | 2018-10-30 | 2019-03-08 | 中国人民解放军国防科技大学 | 基于DCGAN的Android对抗样本生成方法及系统 |
CN109600361B (zh) * | 2018-11-26 | 2021-05-04 | 武汉极意网络科技有限公司 | 基于哈希算法的验证码防攻击方法、装置、电子设备及非暂态计算机可读存储介质 |
CN110009171B (zh) * | 2018-11-27 | 2023-07-25 | 创新先进技术有限公司 | 用户行为模拟方法、装置、设备及计算机可读存储介质 |
CN109918891B (zh) * | 2019-01-24 | 2023-11-21 | 平安科技(深圳)有限公司 | 用户验证方法、装置、计算机设备及存储介质 |
CN110046647A (zh) * | 2019-03-08 | 2019-07-23 | 同盾控股有限公司 | 一种验证码机器行为识别方法及装置 |
CN111723348B (zh) * | 2019-03-18 | 2023-07-07 | 腾讯科技(深圳)有限公司 | 人机识别方法、装置、设备及存储介质 |
CN110147659A (zh) * | 2019-05-15 | 2019-08-20 | 四川长虹电器股份有限公司 | 基于机器学习的无感验证方法 |
CN110335401A (zh) * | 2019-06-05 | 2019-10-15 | 上海车轮互联网服务有限公司 | 基于投票行为监控的防刷票方法及装置 |
CN110427737A (zh) * | 2019-06-20 | 2019-11-08 | 平安科技(深圳)有限公司 | 操作行为的人机识别方法、装置及计算机设备 |
CN110675308B (zh) * | 2019-08-21 | 2024-04-26 | 平安科技(深圳)有限公司 | 字符验证方法、装置、计算机设备及存储介质 |
CN110807207B (zh) * | 2019-10-30 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111177668A (zh) * | 2019-11-21 | 2020-05-19 | 武汉极意网络科技有限公司 | 一种基于移动设备传感器的人机交互验证方法 |
CN116186674A (zh) * | 2023-02-21 | 2023-05-30 | 宿迁乐享知途网络科技有限公司 | 一种高对抗性人机交互验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016406A (zh) * | 2017-02-24 | 2017-08-04 | 中国科学院合肥物质科学研究院 | 基于生成式对抗网络的病虫害图像生成方法 |
CN107463878A (zh) * | 2017-07-05 | 2017-12-12 | 成都数联铭品科技有限公司 | 基于深度学习的人体行为识别系统 |
CN107563385A (zh) * | 2017-09-02 | 2018-01-09 | 西安电子科技大学 | 基于深度卷积生成式对抗网络的车牌字符识别方法 |
-
2018
- 2018-01-30 CN CN201810091232.0A patent/CN108229130B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016406A (zh) * | 2017-02-24 | 2017-08-04 | 中国科学院合肥物质科学研究院 | 基于生成式对抗网络的病虫害图像生成方法 |
CN107463878A (zh) * | 2017-07-05 | 2017-12-12 | 成都数联铭品科技有限公司 | 基于深度学习的人体行为识别系统 |
CN107563385A (zh) * | 2017-09-02 | 2018-01-09 | 西安电子科技大学 | 基于深度卷积生成式对抗网络的车牌字符识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108229130A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229130B (zh) | 一种验证方法及装置 | |
CN104408341B (zh) | 基于陀螺仪行为特征的智能手机用户身份认证方法 | |
JP7050725B2 (ja) | ユーザ認証方法及び手書きサインインサーバ | |
Zi et al. | An end-to-end attack on text captchas | |
CN105068743B (zh) | 基于多指触控行为特征的移动终端用户身份认证方法 | |
JP4936513B2 (ja) | 画像処理装置、画像処理方法、サイン登録プログラム及び記憶媒体 | |
EP2874099A1 (en) | Dynamic handwriting verification and handwriting-based user authentication | |
EP3455766A1 (en) | Authenticating a user | |
CN106778151B (zh) | 基于笔迹的用户身份识别方法和装置 | |
CN110287311B (zh) | 文本分类方法及装置、存储介质、计算机设备 | |
CN102223233A (zh) | 一种生物密码认证系统,以及一种生物密码认证方法 | |
CN110830489B (zh) | 基于内容抽象表示的对抗式欺诈网站检测方法及系统 | |
CN110807183A (zh) | 一种多维度特征体系的滑动验证码人机行为识别方法 | |
CN110990811A (zh) | 一种身份认证方法及装置 | |
CN111625792A (zh) | 一种基于异常行为检测的身份识别方法 | |
CN109902459B (zh) | Web页面的人机识别验证方法、系统、设备和存储介质 | |
Alpar | Online signature verification by continuous wavelet transformation of speed signals | |
CN111553241A (zh) | 掌纹的误匹配点剔除方法、装置、设备及存储介质 | |
DeRidder et al. | Continuous User Authentication Using Machine Learning and Multi-Finger Mobile Touch Dynamics with a Novel Dataset | |
US10372890B2 (en) | Apparatus and method for verifying an identity of a user | |
CN107426397A (zh) | 基于用户行为特征的模型训练方法及身份验证方法 | |
CN109492357B (zh) | 身份认证方法、设备及计算机存储介质 | |
CN111125672A (zh) | 一种图像验证码的生成方法及装置 | |
CN113190310B (zh) | 基于随机位置对象语义识别的验证码设计方法 | |
CN108647497A (zh) | 一种基于特征提取的api密钥自动识别系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |