一种基于轨迹的滑动验证码人机识别方法与流程

文档序号:14950957发布日期:2018-07-17 22:32阅读:4949来源:国知局

本发明涉及生物认证技术领域,尤其涉及一种基于轨迹的滑动验证码人机识别方法。



背景技术:

滑动验证码作为一种生物认证技术,能够满足当前网络环境对身份认证安全性需求,已经广泛应用于多种人机验证产品中,此验证方法不仅便于用户的理解记忆,同时极大增加了暴力破解难度。与此同时,也受到了攻击者们的重点关注,攻击者们开发出能够模仿人类行为的黑产工具开始对滑动验证码验证过程中的鼠标轨迹进行挑战。

攻击者通过黑产工具产生类人轨迹批量操作以绕过检测,并在对抗过程中不断升级其伪造数据以持续绕过同样升级的检测技术。现有检测技术主要针对机器进行识别,针对不断更新的机器行为进行对抗的方式具有滞后性,检测更新往往在黑产工具造成一定损失之后。因此,在双方都不断升级的技术对抗中,如何在与攻击者的黑产工具的对抗中占据优势,就显得尤为重要。



技术实现要素:

本发明的目的在于:提供一种基于轨迹的滑动验证码人机识别方法,旨在构建多维有效特征体系对滑动验证码的触发者进行识别,确保验证行为所保护的网络环境的安全。

本发明采用的技术方案如下:

一种基于轨迹的滑动验证码人机识别方法,包括以下步骤:

s1:采集用户轨迹数据;

s2:根据轨迹数据构建多维特征体系;

s3:根据设计好的人机识别模型对多维特征体系进行轨迹区分。

进一步的,所述多维特征体系包括x特征、y特征、t特征。

进一步的,所述x特征提取具体步骤如下:

s201:提取x特征类,对轨迹横向坐标x进行归一化处理;

s202:将轨迹横向坐标分为前半段和后半段;

s203:分别提取轨迹前半段xfront、后半段xrear、前半段领位差xfrontdiff、后半段领位差xreardiff、停止段finalstop多个x特征群;

s204:提取每个x特征群中的特征,包括最大值、峰值、中值、方差、最小值、极差。

进一步的,所述y特征提取具体步骤如下:

s211:提取y特征类,对轨迹纵向坐标y进行归一化处理;

s212:分别提取轨迹全段y、折半yhalf、全段邻位差ydiff、全段邻位差的邻位差ydiffdiff多个y特征群;

s213:提取每个y特征群中的特征,包括方差、平均值、极差、和值。

进一步的,所述t特征提取具体步骤如下:

s221:提取t特征类,对时间特征t进行归一化处理;

s222:提取t-x特征群,利用归一化后的横向坐标x减去归一化后的时间特征t;

s223:提取t-x特征群中的特征,包括最大值、峰值、中值、方差、最小值、极差。

进一步的,所述步骤s3人机识别模型设计具体步骤如下:

s301:将多维特征体系中的特征输入到多个训练模型中进行算法训练;

s302:将特征算法训练输出进行线性加权。

进一步的,所述训练模型包括:catboost模型、xgboost模型、randomforest模型、logisticregression模型。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1、本发明中,通过结合人类轨迹的两种现象进行多维特征体系的设计,用特征描述用户的滑动验证习惯,进而将用户操作与机器模仿进行区别开来,在与攻击者的黑产工具的对抗中能占据优势,起到较好的对抗保护作用。

2、本发明中,通过采用横向特征x为主,描述“人”在进行滑动验证码时的行为习惯,并用纵向特征y描述“机器”的特点,用时间特征t作为补充描述“人”与“机器”的区别,能够更加准确的将用户操作与机器模仿进行区别开来,提高轨迹区分的正确率。

3、本发明中,实际验证效果在200万条轨迹记录的测试集上,准确率、召回率的调和f值达到88.56,远高于以描述“机器”为主的方案的效果87.89。

附图说明

图1为本发明多维特征体系特征关系图;

图2为本发明多维特征体系概念图;

图3为本发明人机识别模型关系图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例1

一种基于轨迹的滑动验证码人机识别方法,包括以下步骤:

s1:采集用户轨迹数据;

采集用户轨迹数据(x,y,t),包括轨迹触发过程中,不同时间点t的横向坐标x,纵向坐标y,具体来说,就是获得用户在进行滑动验证码码触发过程的轨迹记录,为滑动验证码码多维特征体系的构建提供数据支持。

s2:根据轨迹数据构建多维特征体系;

基于两种模式的发现,其一,人类轨迹的末端折回现象;其二,人类轨迹的远急近缓现象;进行多维特征提取,进而构建多维特征体系,便于后期人机识别模型的算法训练,用特征描述“人”,而非用特征描述‘机器’,寻二者之异。

s3:根据设计好的人机识别模型对多维特征体系进行轨迹区分;

将多维特征体系特征输入设计好的人机识别模型进行人机识别模型优化,将多维特征体特征输入人机识别模型进行特征学习,得到不同的概率值,通过线性加权的方式让人机识别模型输出的概率更能接近轨迹的真实类型。

本发明中,通过对人类轨迹进行分析,基于两种模式的发现,模式一:人类轨迹的折回现象,模式二:人类轨迹的远急近缓现象,进行多维度特征体系的构建,进而对人机识别模型进行设计,如图1所示,通过将用户轨迹对应的训练集进行多维特征体系构建,进而对人机识别模型进行训练,并将预测轨迹对应预测集进行相同的多维特征体系构建并输入训练好的人机识别模型中进行模型优化和轨迹类别区分训练,并将训练输出进行线性加权,得到区分轨迹类别的概率值。

实施例2

在实施例1的基础上,所述多维特征体系包括x特征、y特征、t特征。

本发明采用横向特征x为主,描述“人”在进行滑动验证时的行为习惯,并用纵向特征y描述“机器”的特点,用时间特征t作为补充描述“人”与“机器”的区别,如图2所示。

进一步的,所述x特征提取具体步骤如下:

s201:提取x特征类,对轨迹横向坐标x进行归一化处理;

s202:结合人类轨迹模式二的“远急近缓”现象,将将轨迹分为前半段和后半段;

具体来说,“远急近缓”表明在滑动验证码的过程中,在离目标点较远时速度较快,在离目标点较近时速度较慢。因此,横向x特征群构造上将轨迹分为前、后半段分别提取。

s203:分别提取轨迹前半段xfront、后半段xrear、前半段领位差xfrontdiff、后半段领位差xreardiff、停止段finalstop多个x特征群;

结合人类轨迹模式一的“末端折回”现象,构造提取停止段finalstop特征群。

具体来说,从轨迹数据(x,y,t)中提取出整个轨迹的横向坐标数据组成横向序列{x1,x2,...,xt,...,xn},取轨迹序列中的前半段{x1,x2,...,xn/2}组成x_front,取轨迹序列中的后半段{xn/2,xn/2+1,...,xn}组成x_rear,取轨迹序列中的前半段的邻位差{x2-x1,x3-x2,...}组成x_front_diff,取轨迹序列中的后半段的邻位差{...,xn-1-xn-2,xn-xn-1}组成x_rear_diff,结合人类轨迹模式一,取轨迹序列中的最后五分之一组成停止段final_stop。

s204:提取每个x特征群中的特征,包括最大值、峰值、中值、方差、最小值、极差。

本发明中,从多维度设计特征体系的横向特征,能够更好的为模型提供输入。

进一步的,所述y特征获取具体步骤如下:

s211:提取y特征类,对轨迹纵向坐标y进行归一化处理;

具体来说,从轨迹数据(x,y,t)中提取出整个轨迹的纵向坐标数据组成横向序列{y1,y2,...,yt,...,yn},对序列进行归一化处理。

s212:分别提取轨迹全段y、折半yhalf、全段邻位差ydiff、全段邻位差的邻位差ydiffdiff多个y特征群;

具体来说,对归一化后的纵向序列{y1,y2,...,yt,...,yn},取轨迹序列中的全段{y1,y2,...,yt,...,yn}组成y,取轨迹序列中的全段{y1,y2,...,yt,...,yn}分别减去0.5后组成y_half,取轨迹序列中的全段的邻位差{y2-y1,y3-y2,...}组成y_diff,取轨迹序列中的全段的邻位差的邻位差{(y3-y2)-(y2-y1),...}组成y_diffdiff。

s213:提取每个y特征群中的特征,包括方差、平均值、极差、和值。

当横向特征x为在某条轨迹的描述性较弱时,对“机器”具有较好描述性的纵向特征y可以在模型判别中起到辅助作用。

进一步的,所述t特征获取具体步骤如下:

s221:提取t特征类,对时间特征t进行归一化处理;

具体来说,独立的时间序列只是采样标志,不具有良好的可解释性,但当与横向x序列结合后则具有较好的表述意义。

利用归一化的x减t在另一层面上表示轨迹产生过程中的速度情况,提供给模型更好的特征输入。

s222:提取t-x特征群,利用归一化后的横向坐标x减去归一化后的时间特征t;

具体来说,从轨迹数据(x,y,t)中提取出整个轨迹的横向坐标数据组成横向序列{x1,x2,...,xt,...,xn}和时间序列{t1,t2,...,tn},分别进行归一化,然后将横向序列{x1,x2,...,xt,...,xn}减去时间序列{t1,t2,...,tn}。

s223:提取t-x特征群中的特征,包括最大值、峰值、中值、方差、最小值、极差。

综上,本实施例中提供的特征群、特征列表如表1所示:

实施例3

在实施例1的基础上,所述步骤s3人机识别模型设计具体步骤如下:

s301:分别将多维特征体系中的特征输入到多个训练模型中进行算法训练;

s302:将特征算法训练输出进行线性加权;

进一步的,所述训练模型包括:catboost模型、xgboost模型、randomforest模型、logisticregression模型。

如图3所示,具体来说,将catboost模型、xgboost模型、randomforest模型、logisticregression模型的训练输出的概率值进行线性加权,得到由四个基础模型线性加权后的人机识别模型。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有1条留言
  • 访客 来自[中国] 2020年06月16日 12:55
    18600003937
    0
1