手势验证的验证方法及系统与流程

文档序号:11654748阅读:3678来源:国知局
手势验证的验证方法及系统与流程
本发明涉及计算机
技术领域
,具体涉及一种手势验证的验证方法及系统。
背景技术
:随着科学技术的不断发展,登录认证系统越来越应用于人们的日常生活中,比如登录12306网站、论坛账户登录等,登录用户只有在正确使用登录认证数据完成登录后,才有资格以一定的权限享受应用系统所提供的服务。为了防止网络攻击,防止自动机器程序的自动登录认证系统,系统在登录界面提供了验证码进行防御,传统的验证码方式为字符验证,通过后台生成随机字符加以污染背景和字符变形后生成图片,然后用户识别并填写正确则通过验证;这种验证方式会造成用户对,污染背景和字符变形的图片,不易被识别,并且计算机反而可以通过降噪然后ocr识别文字;造成使用者完成的验证时间长、用户体验度不高、安全性差。随着人们对验证码的验证服务的要求提高,传统的字符验证已不能满足人们的需要,于是出现了需要逻辑运算和回答问题的验证码,如果是数学随机问题,则可通过ocr识别数学符号和数字的方式来得出答案;如果是中文问题或者升级版的选择图形来回答问题(比如:12306验证码),则可以通过机器反复测试撞库的方式来收集所有问题和答案来破解,验证通过后只需要记录文字答案或正确图片的数据流的特征值即可用于下次答题,难以抵挡穷举攻击;仍然存在用户体验不高、安全性差的问题;即使现在也出现了一种行为验证方式,让用户完成指定动作,比如拖动滑块拼图,然后采集鼠标动作传回服务器进行特征判断,虽然会提高相应的用户体验,但这种验证方式,所有的客户端行为都可以模拟回放,拼图很容易通过像素点颜色值进行匹配坐标,安全性并没有显著提升。技术实现要素:为了解决上述问题,本发明提供一种手势验证的验证方法及系统,解决传统验证码验证方法容易被机器程序识别,造成用户体验度不高、安全性差的缺陷。本发明采取的一种技术方案为:一种手势验证的验证方法,包括以下步骤:s1.生成手势验证码,通过在指定区域内随机生成多个不重合的采集点,然后生成一连接所有采集点的连线图;并将所述连线图与预设的背景图融合,生成所述手势验证码;s2.客户终端显示生成的手势验证码;s3.采集客户终端输入的鼠标轨迹;s4.将s3中采集的鼠标轨迹与s1中生成的手势验证码进行对比分析验证;s5.将验证结果通过客户终端进行显示,验证通过后则在客户终端上显示相应访问页面,验证失败后则返回步骤s1。所述背景图中存在颜色与所述连线图的颜色一致的色块,通过采取这样的方法,利用了机器程序不能进行抽象思维的特点,使传统的二值化识别算法失效。所述鼠标轨迹包括轨迹绘制的时间、拐点的坐标、鼠标轨迹绘制的加速度和鼠标轨迹绘制的角度。所述分析验证具体为:首先对鼠标轨迹进行行为分析,然后对客户终端执行可疑特征ip进行对比,最后通过鼠标轨迹差异率对比得到鼠标轨迹与手势验证码的差异率,并通过差异分数对比得出相应的分值;所述行为分析具体为:分析鼠标轨迹绘制的速度是否在设定的速度误差范围内,若超出速度误差范围,则验证失败;分析鼠标轨迹绘制的加速度是否在设定的加速度误差范围内,若超出加速度误差范围,则验证失败;分析鼠标轨迹绘制的角度变化率是否在设定的角度误差范围内,若超出角度误差范围,则验证失败;每次验证失败则在浏览器cookie记录错误权重值,如果浏览器cookie记录的权重值超过cookie记录权重预设值,则验证失败;所述可疑特征ip对比具体为:将客户终端的ip与预设的ip记录表对比,如果ip记录表中该客户终端的ip对应的权重值超过ip权重预设值,则验证失败;所述鼠标轨迹差异率对比具体为:首先滤除鼠标轨迹中的抖动干扰进行降噪处理,通过计算鼠标轨迹中每个点的斜率,定义斜率变化率最大的点为拐点,得到鼠标轨迹与手势验证码的差异率。所述差异分数对比,首先根据生成的手势验证码等比例缩放绘制的鼠标轨迹,根据每条线段对应生成的手势验证码的线段进行缩放,然后按以下步骤重复执行,直至得到最大分值,所述步骤包括:s1.对比鼠标轨迹中两线段构成的角度与手势验证码对应的两线段构成的角度的差异,根据差异程度得到角度差异分值;s2.对比鼠标轨迹中线段的距离与手势验证码对应的线段距离的差异,根据差异程度得到距离差异分值;s3.对比鼠标轨迹中每条线段的斜率与原图对应线段的斜率,根据差异程度得到斜率差异分值;s4.将角度差异分值、距离差异分值和斜率差异分值进行相加,如果得分低于预设的差异分值时,验证失败。优选的,还包括密钥验证,所述密钥验证用于对验证数据进行加密解密处理,通过这种方式可以过滤掉一些无效的验证,同时也可以防止机器程序伪造验证结果,进一步提高验证的安全性。本发明采取的另一种技术方案为:基于上述验证方法的一种手势验证的验证系统,包括验证码单元、客户终端、轨迹接收单元、验证单元和网站服务器;其中:验证码单元,用于生成手势验证码,通过在指定区域内随机生成多个不重合的采集点,然后生成一连接所有采集点的连线图;并将所述连线图与预设的背景图融合,生成所述手势验证码;其中,所述背景图中存在颜色与所述连线图的颜色一致的色块;客户终端用于显示生成的手势验证码;轨迹接收单元用于采集客户终端输入的鼠标轨迹;验证单元用于将采集的鼠标轨迹与生成的手势验证码,进行对比分析验证;网站服务器用于将验证结果通过客户终端进行显示,通过验证则在客户终端显示相应访问页面,验证失败则重新生成手势验证码到客户终端上显示。所述分析验证具体为:首先对鼠标轨迹进行行为分析,然后对客户终端执行可疑特征ip进行对比,最后通过鼠标轨迹差异率对比得到鼠标轨迹与手势验证码的差异率,并通过差异分数对比得出相应的分值。本发明的显著效果是:通过生成的手势验证码,使用户更加容易识别,完成验证的方式更加简单,只需通过鼠标进行滑动,即可完成验证,提升了用户的体验度;并且生成的手势验证图,连线图随机、背景图随机,且背景图中存在颜色与连线图的颜色一致的色块,导致传统的二值化图形识别程序失效,非文字,ocr识别方式也失效,极大地提高了验证的安全性。附图说明图1为本发明的验证流程示意图;图2为本发明的手势验证码生成的示例图;图3为传统验证码与手势验证码的二值化对比图;图4为本发明的登录验证示意图;图5为本发明的加密流程示意图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。vaptcha(variationanalysisbasedpublicturingtesttotellcomputersandhumansapart)是以差异分析为基础的图灵测试来区分人类和计算机,又名手势验证;参照图1所示,本发明提出的一种手势验证的验证方法,本实施例的方法可以由手势验证的验证系统来执行,该系统可通过硬件和/或软件的方式实现,一般可集成于服务器内,与需要完成手势验证的客户终端配合使用,包括以下步骤:s1.生成手势验证码,通过在指定区域内随机生成多个不重合的采集点,然后生成一连接所有采集点的连线图;并将所述连线图与预设的背景图融合,生成所述手势验证码;s2.客户终端显示生成的手势验证码;s3.采集客户终端输入的鼠标轨迹;s4.将s3中采集的鼠标轨迹与s1中生成的手势验证码进行对比分析验证;s5.将验证结果通过客户终端进行显示,验证通过后则在客户终端上显示相应访问页面,验证失败后则返回步骤s1;进一步地,所述背景图中存在颜色与所述连线图的颜色一致的色块;其中所述鼠标轨迹包括轨迹绘制的时间、拐点的坐标、鼠标轨迹绘制的加速度和鼠标轨迹绘制的角度,同时为了有效降低采集样本,但又不至于轨迹失真,鼠标在x或y轴移动距离超过5个像素即记录当前点,并将这些鼠标轨迹进行分析,分析鼠标轨迹绘制的速度是否在设定的速度误差范围内,若超出速度误差范围,则验证失败;分析鼠标轨迹绘制的加速度是否在设定的加速度误差范围内,若超出加速度误差范围,则验证失败;分析鼠标轨迹绘制的角度变化率是否在设定的角度误差范围内,若超出角度误差范围,则验证失败;通过这些分析,过滤掉一些无效的请求,减少了服务器的工作负荷。进一步地,参照图1,分析验证具体为:首先对鼠标轨迹进行行为分析,然后对客户终端执行可疑特征ip进行对比,最后通过鼠标轨迹差异率对比得到鼠标轨迹与手势验证码的差异率,并通过差异分数对比得出相应的分值;进一步地,所述差异分数对比,首先根据生成的手势验证码等比例缩放绘制的鼠标轨迹,根据每条线段对应生成的手势验证码的线段进行缩放,然后按以下步骤重复执行,直至得到最大分值,所述步骤包括:s1.对比鼠标轨迹中两线段构成的角度与手势验证码对应的两线段构成的角度的差异,根据差异程度得到角度差异分值,比如偏离1度扣一分,扣到0为止,权重值45分;s2.对比鼠标轨迹中线段的距离与手势验证码对应的线段距离的差异,根据差异程度得到距离差异分值,比如超过正负5%,每1%扣一分,扣到0为止,权重值45分;s3.对比鼠标轨迹中每条线段的斜率与原图对应线段的斜率,根据差异程度得到斜率差异分值,比如超过5度,每5度扣一分,扣到-50为止,权重值10分;s4.将角度差异分值、距离差异分值和斜率差异分值进行相加,如果得分低于预设的差异分值时,验证失败。参照图2所示,为采用本发明方法生成的一种手势验证码,通过4个点生成一连线图,并且背景图的部分颜色与连线图的颜色一致,最终生成手势验证码。参照图3所示,可以发现传统的验证码背景干扰很容易通过二值化来消除干扰,而本发明vaptcha的图形取色直接用了背景色之一,人类利用抽象思维仍然能识别完整图形,而传统的二值化识别方法则无法识别。如图4所示,用户在客户终端进行手势验证登录时,会出现,用户名、登录密码以及生成的手势验证码,用户输入正确的用户名、登录密码后,滑动鼠标,按客户终端显示的手势验证码,进行规制绘制,点击登录,服务器后台对绘制的轨迹进行分析验证,验证通过后,即可登录成功,提升用户的体验度。进一步地,如表1所示,在进行行为分析时,还会对浏览器的cookie权重值进行判定,并在本地做cookie标记,每次验证失败则在浏览器cookie记录错误权重,如果权重过高,有理由判定当前主机为发起攻击的主机,前端验证仍然不通过,规则为:每次验证失败则累加(1/两次事件间隔)到cookie可疑权重值suspiciousvalue间隔越短权值越高,下次判定只需要看权重值就可以判断请求密度,suspiciousvalue设定为10分钟失效。表1浏览器cookie记录表验证失败计数距离上次失败时间间隔(sec)累加值第一次00第二次11第三次41+1/4第四次31+1/4+1/3进一步地,如表2所示,在进行分析验证时,服务器后台会创建一个可疑特征ip库,所有可疑行为的ip都会记录到redis缓存里面,设定失效时间为1小时,每次提交相同ip则重置失效时间,并将客户终端的ip与预设的ip记录表对比,如果ip记录表中该客户终端的ip对应的权重值超过ip权重预设值,则验证失败。表2可疑ip记录表网站id可疑ip累加值上次更新时间1111.111.111.13.42017/1/1111:00:002111.111.111.212017/1/1111:00:003111.111.111.132017/1/1111:00:004111.111.111.252017/1/1111:00:00在本实施例中,客户终端为可以支持pc设备及所有触屏式移动和嵌入式设备,具有良好的兼容性,服务器包括网站服务器和vaptcha服务器,所述vaptcha服务器用于生成手势验证码,并对采集的鼠标轨迹与生成的手势验证码,进行分析验证;所述网站服务器用于接收vaptcha服务器传送的鼠标轨迹差异率信息,并与其设定的最低差异率进行比较,判断是否通过验证,并将验证结果通过客户终端进行显示。进一步地,如图5所示,在本实施例中,还包括密钥验证,所述密钥验证用于对验证数据进行加密解密处理,具体应用于,网站页面向网站服务器,发出人机请求验证后,网站服务器生成一流水号连同公钥传送到vaptcha服务器,vaptcha服务器,检查公钥存在,如果存在则返回流水号给网站服务器,网站服务器返回流水号和公钥给网站页面(也就是客户终端),然后网站页面带上流水号向vaptcha服务器,发出请求图像验证码(即手势验证码),vaptcha服务器检查到流水号存在则,则将其生成的图形验证码,通过网站页面显示,网站页面将用户提交的鼠标轨迹传送到vaptcha服务器进行验证,并将初次的验证结果传送到网站页面;为了进一步提高安全性能,如果初次验证通过,则向网站服务器提交表单、流水号和公钥,进行二次验证,其中表单内容包括用户名,登录密码等信息,同时网站服务器用流水号和私钥根据指定加密规则生成key2,vaptcha服务器用流水号和私钥根据指定加密规则生成key1,如果key1等于key2,则二次验证通过。基于上述验证方法的一种手势验证的验证系统,包括验证码单元、客户终端、轨迹接收单元、验证单元和网站服务器;其中:验证码单元,用于生成手势验证码,通过在指定区域内随机生成多个不重合的采集点,然后生成一连接所有采集点的连线图;并将所述连线图与预设的背景图融合,生成所述手势验证码;其中,所述背景图中存在颜色与所述连线图的颜色一致的色块;客户终端用于显示生成的手势验证码;轨迹接收单元用于采集客户终端输入的鼠标轨迹;验证单元用于将采集的鼠标轨迹与生成的手势验证码,进行对比分析验证;网站服务器用于将验证结果通过客户终端进行显示,通过验证则在客户终端显示相应访问页面,验证失败则重新生成手势验证码到客户终端上显示;所述分析验证具体为:首先对鼠标轨迹进行行为分析,然后对客户终端执行可疑特征ip进行对比,最后通过鼠标轨迹差异率对比得到鼠标轨迹与手势验证码的差异率,并通过差异分数对比得出相应的分值。在本实施例中,用户按住鼠标根据生成的手势验证码进行屏幕绘制,通过对实时屏幕轨迹进行采样,获取鼠标的轨迹、速度、坐标以及其他行为特征加密后发送回服务器进行验证,采用这种手势验证的验证方式,一方面便于用户识别,完成验证的方式更加简单,不需进行键盘输入,用户只需通过鼠标滑动,即可完成验证,平均通过时间不超过1秒,提高了用户的使用体验;另一方面,由于采用了背景和图形随机的方式,加入一定比例的与图形路径的同色区域,甚至部分遮挡路径,传统的图形识别算法无法通过二值化算法来识别手势验证码,但用户确可以使用计算机没有的抽象思维能力,识别出手势验证码,使验证的安全性得到了显著地提高;并且支持pc设备及所有触屏式移动和嵌入式设备,尤其适合类似12306.cn这样对验证安全要求高、客户终端多样化的大型网站。最后需要说明的是,上述描述为本发明的优选实施例,并不用于限制本发明,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1