基于图灵测试的点击验证码方法与流程

文档序号:18466278发布日期:2019-08-17 02:29阅读:939来源:国知局
基于图灵测试的点击验证码方法与流程

本发明涉及电子信息的验证方法,具体的讲是基于图灵测试的点击验证码方法。



背景技术:

验证码(captcha)是图灵测试的一种,用于识别用户是计算机还是人。验证码主要用于防止网页或系统被恶意密码爆破、灌水、刷票等;验证码能有效防止黑客对系统进行不断登录尝试来窃取用户信息。使用验证码是很多系统的常规方式,例如由系统生成一串随机产生的字符、数字或图片,由用户识别验证码信息,输入验证信息提交网站验证,验证成功后才能使用系统功能。

传统的验证码通常采用图形验证、答题验证、滑块验证、点选验证等方式,传统方式的验证码能够满足验证的基本需求,但随着互联网技术的迅猛发展,人工智能和黑客技术的不断提升,传统的验证码已不能完全满足目前业务需求和图灵测试标准。

1、图形验证码实现方式:如图1所示,首先服务端生成一个图片用于做验证码背景,由填充组件和加杂组件对背景图片进行填充处理,再由验证码生成组件随机生成特定位数的验证数字、字符或文字,通过变形组件对验证码进行扭曲、旋转、变形等处理,再将验证码和背景进行贴合进行展示,通过页面提示进行输入验证操作,完成提示操作则验证成功,否则验证失败重新验证。

该验证方式有如下问题:1、安全性问题:背景图片的填充图层和验证码图层存在较大的对比度、亮度、像素等的差别,容易通过特定程序将背景和验证码进行分离,为破解验证码提供条件。因为随机生成的验证码数字、字符、文字验证码只是做了扭曲、旋转、变形处理,验证码的样式有限,黑客可以通过图片切割技术将验证码分割成独立的数字、字符或文字,通过图片识别技术识别验证码完成破解,或者通过卷积神经网络进行建模学习来将生成的所有验证码样式进行记录和比对完成破解。2、体验问题:该设计一般采用输入验证的方式未能充分考虑到目前广泛使用的移动终端方式和场景,移动终端受限于触感屏幕,人工输入验证码字符增加了验证时间,降低了用户的体验效果。3、无障碍使用问题:该设计采用彩色背景和彩色验证码贴合的方式,该方式需要对验证码和背景色有较高的辨别能力,但该设计未考虑到全世界2亿多的色觉障碍人士的使用,导致色觉障碍者无法正确的识别验证码。

2、答题验证码实现方式:如图2所示,首先服务端生成一个图片用于做验证码背景,由填充组件和加杂组件对背景图片进行填充处理,再由验证码生成组件通过特定算法随机生成特定的题目验证码,通过变形组件对验证码进行扭曲、旋转、变形等处理,再将验证码和背景进行贴合进行展示,用户根据验证码提示信息进行答题输入,如答题正确则验证成功,否则验证失败重新验证。

该验证方式有如下问题:除了与上述图形验证码实现方式相同的弊端以外,还具有人群局限性问题:该设计对验证者在某一领域上存在一定的知识要求,不具有普世性,缩小了使用人群范围。

3、滑块验证码实现方式:滑块验证码由带有缺块的背景图片、填充缺块的图片滑块、一个可拖动滑块按钮组成,通过拖动滑块条滑块拼图跟随滑动,滑动拼图到正确位置并松开手指,会出现验证成功信息,滑动到错误位置会出现验证失败信息。

该验证方式有如下问题:1、安全性问题:背景图片的缺块处存在阴影,该处的像素和整体图片的像素存在很明显的差异,自动化程序可以通过像素差异比对技术,很容易识别出滑块需要拖动到的验证位置,再通过捕捉滑块按钮将滑块移动到验证处完成破解。2、无障碍使用问题:该设计采用彩色背景和彩色验证码贴合的方式,该方式需要对验证码和背景色有较高的辨别能力,但该设计未考虑到全世界2亿多的色觉障碍人士的使用,导致色觉障碍者无法正确的识别验证码。

4、点选验证码实现方式:首先服务端存放一个验证信息库,该信息库包含图片或文字或图形等,验证码生成组件随机从库内调出验证信息,再通过加杂组件对随机调取的验证信息进行扭曲、加干扰线、加杂色等方式进行处理,服务端在随机生成一个验证码提示语,用户根据验证码提示语点击选择正确的验证信息完成验证,否则验证失败重新验证。

该验证方式有如下问题:1、安全性问题:验证信息库存放的验证信息有限,攻击者可以通过cnn卷积神经网络学习到库内所有验证信息,在验证时抓取随机生成的验证码进行识别,再抓取随机生成的验证码提示语进行识别,按照提示语要求对识别到的验证码按顺序点击完成破解。2、无障碍使用问题:该设计采用彩色背景和彩色验证码贴合的方式,该方式需要对验证码和背景色有一定的辨别能力,对于色觉障碍人士的使用,会存在一定局限性。



技术实现要素:

针对现有技术中存在的问题,本发明提供了一种基于图灵测试的点击验证码方法,不但能够提高验证码被破解的难度,而且还能简化用户的操作,同时也能够让色觉障碍人士无障碍使用。

本发明基于图灵测试的点击验证码方法,包括步骤:

a.生成一个背景图层,给背景图层进行随机上色,形成验证码显示区域;

b.随机生成验证码图形,再截取部分所述的背景图层作为所述验证码图形的蒙皮,将蒙皮后的验证码图形作为验证码,将验证码显示在所述的验证码显示区内;

c.生成提示语背景;

d.生成提示语图层和随机的提示语图片,将提示语背景、提示语图层和提示语图片依次贴合,形成提示语,在提示语中至少包含1个具有数字属性的标识;

e.所述的背景图层根据验证码的显示位置进行标记,再根据提示语中所述标识所表示的数字属性,在所述标记的位置添加相应的动作;

f.用户根据提示语中所述标识的数字属性,对所述的验证码点击相应的次数进行验证。

本发明的方法与传统验证码相比,最显著的区别在于验证过程不是对验证码进行直观操作或逻辑判断,也不需要用户具有一定领域的知识储备,而是根据提示语中的数字标识对验证码进行相应次数的点击,而对数字标识的识别和对验证码的点击只能通过人来实现,即使通过黑客等技术将提示语图片和提示语图层分离,也无法获知其中数字标识的内容,以及对验证码进行虚拟点击。而且采用连续点击随机生成的验证码相应次数的方式也解决了在手机终端的体验问题,将系统验证的时间缩短到了5ms内,无论在pc端还是手机端都只需进行连续点击操作,免去用户打字不便等问题。

进一步的,步骤a中对背景图层仅以黑色和白色进行随机上色。通过对背景图层黑白上色解决了色觉障碍人士使用验证码时色彩分辨的问题。

进一步的,步骤d在生成随机的提示语图片时,先判断当前用户的访问数据所对应的安全等级,再根据所判断的安全等级从服务端字典库里随机抽取相应的提示语图片,同时服务端字典库定期进行更新。用户的安全等级越高,从服务端字典库里随机抽取的提示语图片的内容越简单,反之则内容越复杂,由此达到了简化高安全性用户操作,加强低安全性操作验证的目的。

具体的,对当前用户所对应的安全等级的判断包括:对当前用户的ip地址、机器码、登录次数、刷新频率、验证失败次数、验证成功次数和验证频率中的至少一项作为数据源进行收集得到行为数据j,机器学习模型对行为数据j分析后得到当前用户的安全等级,将得到的当前用户的安全等级与定义的标准等级m的比较后得到当前用户的安全规则;然后再根据当前用户的安全规则根据从服务端字典库里随机抽取相应的提示语图片。

进一步的,步骤e之前还包括:将提示语或具有数字属性的标识生成音频;步骤f中用户根据所述音频中的数字信息,对所述的验证码点击相应的次数进行验证。提示语或具有数字属性的标识不但可以通过视觉效果来体现,还可以通过语音提示的方式,这样解决了部分特殊人群的提示语获取的局限性问题,针对提示语信息获取困难的用户可以通过语音提示作出相应的点击操作进行验证。

在此基础上,步骤a包括:

a1.生成长为x宽为y的空白背景z;

a2.任意生成图案a和图案b,图案a和图案b混合后得到图案c,对图案c进行随机上色填充得到图案c1;

a3.将上色后的图案c1填充到所述空白背景z中生成作为验证码显示区域的背景z1。

优选的,步骤b随机生成的验证码图形为三维图形。将随机生成的三维立体图形作为验证码,以及将随机截取的无规则的背景图层作为三维立体图的蒙皮,这种验证码对于自动化识别程序来说是一堆无规则像素,而对于肉眼却可以很清晰的分辨出二维背景和三维验证码,对于机器学习捕捉程序来说,因为验证码本身是不存在图形库的,所以机器学习捕捉程序无法构建出庞大的特征码库进行破解。

优选的,步骤c中,先生成提示语背景图层,再对所述的提示语背景图层进行加干扰线和/或加干扰像素处理后形成所述的提示语背景。

优选的,步骤d中对随机生成的提示语图片先进行变形、扭曲或旋转的至少一种处理后,再将提示语图层和提示语图片进行贴合,形成提示语。

经过加杂处理后的提示语背景和提示语能够进一步提高提示语被暴力破解的难度,使自动化程序更加难以识别。

本发明基于图灵测试的点击验证码方法的有益效果包括:1、采用了机器学习模型来智能判断人与自动化程序,根据心里学斯金纳理论构建出强大的安全规则库,并联动机器学习模型来实时处理人的正常验证行为和自动化程序的爆破行为。2、通过随机生成的三维立体图形作为验证码,以及随机着色的背景图案生成无规则背景图案,这种验证码对于自动化识别程序来说是几乎无法识别和破解的,而肉眼却可以很清晰的分辨出二维背景和三维验证码。3、优化用户体验:通过连续点击随机生成的验证码相应次数的方式解决了在手机终端体验问题,将验证的时间缩短到5ms内,无论在pc端还是手机端都只需进行连续点击操作,免去了用户打字不便等问题。4、解决了无障碍使用问题:采用黑白相间的组合方式对验证码和背景图层解决了色觉障碍人士使用验证码时色彩分辨的问题。5、解决了人群局限性问题:通过提示语的视觉效果展示和语音提示的方式解决部分特殊人群的提示语获取的局限性问题,针对提示语信息获取困难的用户可以通过语音提示作出相应的点击操作进行验证。

以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。

附图说明

图1为现有的图形验证码的一种验证形式。

图2为现有的答题验证码的一种验证形式。

图3为现有的滑块验证码的一种验证形式。

图4为现有的点选验证码的一种验证形式。

图5为本发明基于图灵测试的点击验证码方法的流程图。

具体实施方式

如图5所示本发明基于图灵测试的点击验证码方法,包括步骤:

a.生成一个背景图层,给背景图层仅以黑色和白色进行随机上色,形成验证码显示区域:

a1.生成长为x宽为y的空白背景z;

a2.任意生成图案a和图案b,图案a和图案b混合后得到图案c,对图案c仅以黑色和白色进行随机上色填充得到图案c1;

a3.将黑白上色后的图案c1填充到所述空白背景z中生成作为验证码显示区域的背景z1。

b.随机生成三维图形的验证码图形,所述的三维图形的面积小于验证码显示区域的面积,切能够置于验证码显示区域内。再截取部分所述的背景图层作为所述三维图形验证码图形的蒙皮,将蒙皮后的验证码图形作为验证码,将验证码显示在所述的验证码显示区内;

c.生成提示语背景图层,再对所述的提示语背景图层进行加干扰线和/或加干扰像素处理后形成提示语背景;

d1.生成提示语图层和随机的提示语图片,并将提示语图层和提示语图片进行变形、扭曲或旋转后,将提示语背景、提示语图层和提示语图片依次贴合,形成提示语,在提示语中至少包含1个具有数字属性的标识。例如提示语可以是具有数字的成语,或是具有数字的一句话、若干个词语等。具体步骤为:

在生成随机的提示语图片时,先判断当前用户的访问数据所对应的安全等级,包括对当前用户的ip地址、机器码、登录次数、刷新频率、验证失败次数、验证成功次数和验证频率中的至少一项作为数据源进行收集得到行为数据j,机器学习模型对行为数据j分析后得到当前用户的安全等级,将得到的当前用户的安全等级与定义的标准等级m的比较后得到当前用户的安全规则。根据对应的安全规则对当前用户的安全等级进行权重加/减操作,权重越高验证难度越小,提示语图片的内容越简单;反之,权重越低验证难度越大,提示语图片的内容越复杂。根据权重加/减操作后的结果从服务端字典库里随机抽取相应的提示语图片,同时服务端字典库定期进行更新。

例如,将等级1的验证者判定为优质用户,这类用户的行为数据j都超过机器学习模型器定义的标准等级m,这类用户验证时可触发验证难度低的验证机制。一旦用户的行为数据不满足标准等级m时验证难度则自动提升;等级2的验证者判定为普通用户,该类验证者的行为数据j符合标准等级m,该类验证者会触发待确认机制,需要通过一段时间t的行为数据k来进行学习再次分级;等级3的验证者判定为恶意用户,该类验证者的行为数据j低于标准等级m,该类验证者会触发验证难度提升的验证机制。

d2.系统还将提示语或具有数字属性的标识生成音频。

e.所述的背景图层根据验证码的显示位置进行标记,再根据提示语中所述标识所表示的数字属性,在所述标记的位置添加相应的动作;

f.用户验证时,系统通过获取当前用户的不同等级调用对应的安全规则,并对当前用户的等级进行权重加减操作,权重越高验证难度越小,验证机制越简单,反之权重越低验证难度越大,验证机制越复杂。用户根据提示语或音频中标识的数字属性,对所述的验证码点击相应的次数进行验证。

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