背景技术
随着互联网的发展,互联网的安全性成为人们不容忽视的问题。为了防止类似灌水机之类的软件对网站进行恶意注册、登录等操作,验证系统已被广泛用于各类网站中,用于区别“人类用户”还是“计算机程序”,从而防止“计算机程序”伪装成“人类用户”进行一些对网络安全造成影响的行为。
目前常用的网络验证系统为“验证码”即CAPTCHA[2],它是“Completely Automated Public Turing test to tell Computersand Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。
验证码从某种意义上也就是一个问题。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类用户,图1为常见的验证码。
目前的验证码绝大部分所做的工作就是让人类去识别一些计算机无法识别的“码”,而这些“码”可能是英文字母、数字、字符甚至汉字或是其他类型的码。为了避免让计算机软件识别这些“码”,通常会将这些码设计成为区别于常态的样式,但是,这种“非常态”的码往往也会让人类用户难于明确地识别,甚至无法识别。如图1-1中,由于每个字母之间距离太小,导致无法明确区别第四个字母是“D”还是“C”和“l”的结合;图1-3中,由于字母产生一定的扭曲,导致无法明确去区别第5个字母是“U”还是“O”;再如图1-7中,由于图片中数字的线条浅淡,难于明确第三个数字是“7”还是“1”。
所以,目前的验证码在提高安全性的同时也无形地延长了人类用户通过验证的时间,从而降低了人类用户的体验感,并增加在验证时产生的心理焦虑感。
此外,随着计算机图像学、模式识别等学科的飞速发展,可以利用去除噪声以及分割图像等方法进行对“码”的识别从而破解“验证码”。所以,使用传统验证码的安全性也随之降低。
在计算机安全技术领域,沙盒(sandbox)指一种虚拟技术,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。当某个程序试图发挥作用时,安全软件可以先让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。
发明内容
本发明的目的就在于克服上述现有技术的不足,而提供一种基于行为方式的网络验证方法系统,通过判断专属于人类用户的行为来实现对合法用户的验证,能够准确识别人类用户,且能提高通过验证的速度。
实现本发明目的采用的技术方案是:一种基于行为方式的网络验证方法,包括以下步骤:
触发一个行为验证请求;
根据所述行为验证请求创建一个行为沙盒,所述行为沙盒向用户提示需完成的行为要求,用户按照所述行为要求做出相应行为动作;
采集用户的行为信息;
根据所述用户的行为信息判断用户做出的行为动作是否与所述行为沙盒所要求的行为对应;
反馈允许或者拒绝通过验证。
此外,本发明还提供一种基于行为方式的网络验证系统,包括:
触发装置,用于触发一个行为验证请求;
创建装置,用于根据所述行为验证请求创建一个行为沙盒,所述行为沙盒向用户提示需完成的行为要求;
采集装置,用于采集用户的行为信息;
判别装置,根据所述用户的行为信息判断用户做出的行为动作是否与所述行为沙盒所要求的行为对应;
反馈装置,用于反馈允许或者拒绝通过验证。
在上述方法和系统中,行为沙盒要求用户完成人类思维可以识别,且可以做到的行为。
进一步地,所述行为包括拖动和/或点击和/或绘图和/或排序和/或语音。
现有技术中,使用验证码这种验证方式来判断“人类用户”和“计算机用户”,是基于人眼和计算机软件对图像显示的视觉感官。
而本发明则提出行为验证的方式,其依赖于人是智能动物,具有思维能力,如行为沙盒显示一个“拖动”的行为要求,人看到该行为要求后就可以做出与之对应的动作。而计算机只是一种机器,显然不具有人类的思维识别能力,计算机软件无法识别行为沙盒中显示的“拖动”要求,更无法继续后续步骤去完成相应的行为动作。
因此,本发明通过行为判断以实现网络安全验证,具有唯一性,即只有人类用户可以完成。有效地避免了现有技术中,使用图像识别、视觉分析等手段破解传统验证码的问题。此外,本发明通过行为方式实现安全验证使用户能够具有很好的体验度。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
如图2所示,基于行为方式的网络验证系统,包括:设于用户端100的触发装置101、采集装置102和反馈装置103,以及设于服务器端200的创建装置201和判别装置202。
触发装置101的信号输入端与创建装置201的信号接收端连接,创建装置201信号输出端与采集装置102的信号输入端连接,采集装置102的信号输出端与判别装置202的信号输入端连接,判别装置202的信号输出端与反馈装置103的信号输入端连接,判别装置202与创建装置201连接。
如图3所示,上述的基于行为方式的网络验证系统工作过程如下:
步骤S101:触发装置101发出一个行为验证请求。
本实施例中,用户端100为网页、客户端软件等信息显示输入单元,网页、客户端软件中有安全验证提示窗口,用户点击安全验证提示窗口进行加载或者刷新操作时,触发装置101被触发,即产生一个行为验证请求,此时触发装置101将行为验证请求向服务器端200中的创建装置201发送。
该行为验证请求包含需要通过验证系统用户的ip地址、请求时间、请求来源网站等信息,以保证每个行为验证请求的唯一性。
步骤S102:创建装置201接收到触发装置101发出的行为验证请求信息后,立即创建一个行为沙盒,该行为沙盒从服务器端200传输到用户端100。
行为沙盒的界面能够向用户提示一个特定的行为要求,该行为是行为沙盒要求用户完成人类思维可以识别,且可以做到的行为,或是借助各种联网设备人类可以做到的行为,如“拖动”、“点击”、“绘图”甚至“语音”等。此外,行为沙盒的界面还具有一个兼容约束性与引导性的行为框架,它的约束性在于:它要求在用户在行为沙盒内完成特定的一个或几个规定的行为,而不是任意行为;它的引导性在于:行为沙盒具有一定引导功能来引导用户去完成某一特定的行为来通过验证。
步骤S103:用户端100将行为沙盒显示给用户,如通过网页、软件客户端显示。
步骤S104:用户根据行为沙盒所提示的行为要求,在行为沙盒的约束以及引导下,完成行为动作。
步骤S105:采集装置102采集步骤S104中用户的行为信息,并将该行为信息发送至判别装置202。
步骤S106:判别装置202接收到采集的行为信息后,从创建装置201中调取该次验证中行为沙盒所要求的特定行为(如拖动),将采集的用户行为信息与行为沙盒中所要求的特定行为进行比对后判别。
步骤S107:如行为信息与该次验证中行为沙盒所要求的特定行为要求一致,则允许通过验证。
步骤S108:如行为信息与该次验证中行为沙盒所要求的特定行为要求不一致,则拒绝通过验证,或者重新进行验证过程。
本发明通过行为沙盒向用户发出一个或者多个特定行为的要求,如“拖动”、“点击”、“绘图”、“排序”和/或“语音”,由于这些行为不是简单的字符,当行为沙盒显示这四种行为要求时,需要视觉的采集显示信息、大脑的逻辑判断、以及神经控制人体做出符合要求的行为动作。很显然,上述步骤只有具有思维能力的智能动物才能完成,即只有人类用户才能实现,而计算程序无法识别并完成上述的行为。因此,通过上述的行为验证,可以肯定是人类用户。
下面分别以“拖动”、“点击”、“绘图”、“排序”和“语音”五种具体的行为详细说明上述验证过程。在实际的使用中,可以使用一种或者多种行为组合来完成验证。
1、基于拖动行为方式的网络验证
基于拖动行为方式的网络验证系统的系统结构,即“行为沙盒”中的特定行为要求具体化为“拖动”行为要求,此时行为沙盒具体为“拖动行为沙盒”。“拖动行为沙盒”会要求用户完成一个“拖动”的行为,即在“拖动行为沙盒”的显示界面内,会引导用户去拖动滑块,滑块在产生移动后,沙盒内的引导信息会根据滑块移动的位置发生变化,从而引导用户将滑块移动到正确的位置。很显然,计算机软件无法识别“拖动行为沙盒”所提示的“拖动”行为要求,从而更不能完成相应的动作。
如图4所示,“拖动行为沙盒”显示界面内的图像中有一小块图像会跟随滑块进行移动,从而引导用户完成一个拼图的行为,当用户完成拼图行为时,即用户已经将滑块“拖动”到正确的位置。
此时,采集装置102通过记录滑块在图像中移动的轨迹,从而采集到滑块处于“拖动行为沙盒”界面中的坐标信息。采集装置102采集到的行为信息即滑块在图像中的运动位置信息,判别装置202将该滑块的运动位置信息与“拖动行为沙盒”所要求的拖动行为比对判断是否一致,从而确认该次验证是否被允许。如在一次滑块的运动过程中,其最终位置位于“拖动行为沙盒”所要求的位置处,则确认该次行为符合验证要求,通过验证。为了进一步防止计算机软件模拟拖动行为的可能,还可以限定拖动行为,如限定拖动行为的速度不能匀速,由于计算机软件设定的拖动行为,必然都是符合软件设定的速度,由此可以判断该次拖动行为是否符合拖动行为沙盒的要求。
2、基于点击行为方式的网络验证
基于点击行为方式的网络验证系统的系统结构,即“行为沙盒”中的特定行为要求具体化为“点击”行为要求,此时行为沙盒具体为“点击行为沙盒”。“点击行为沙盒”会要求用户完成一个“点击”的行为,在“点击行为沙盒”的显示界面内,用户会看到两幅相似但又不同的画面,系统会引导用户去点击某一个画布,在用户按照引导信息正确完成点击后,用户将通过验证系统。很显然,计算机软件无法识别“点击行为沙盒”所提示的“点击”行为要求,从而更不能完成相应的动作。
如图5所示,“点击行为沙盒” 显示界面内两幅图像中的左图上有一个十字靶心,“点击行为沙盒”将引导用户去点击的另一幅图像(右图)中与左边图像靶心这个点相对应的点(也就是在右图中找出与左图中靶心点的对应点),从而引导用户去完成一个寻找对应点并点击的行为。
此时,采集装置102采集到的行为信息是用户点击的位置信息,判别装置202根据“点击行为沙盒”所要求点击行为的位置与用户实际点击的位置是否一致(或在限差范围之类),当用户点击的位置正好是正确位置时(或在限差的范围之类),用户即可完成验证,否则拒绝通过验证。此时,计算机软件无法识别该次行为要求,更无法去寻找对应的位置。
3、基于绘图行为方式的网络验证
基于点击行为方式的网络验证系统的系统结构,即“行为沙盒”中的特定行为要求具体化为“绘图”行为要求,此时行为沙盒具体为“绘图行为沙盒”。“绘图行为沙盒”会要求用户完成一个“绘图”的行为,即在“绘图行为沙盒”内,提供一个“画布”并尝试着引导用户在上面进行绘图,“绘图行为沙盒”会使用文字信息或图像信息来告知用户具体绘图的内容。很显然,计算机软件无法识别“绘图行为沙盒”所提示的“绘图”行为要求,从而更不能完成相应的动作。
如图6所示,“绘图行为沙盒” 显示界面内利用文字提示用户绘制一个五角星图案,从而引导用户完成一个绘制五角星的行为。
此时,采集装置102采集到的行为信息是用户在“绘图行为沙盒”内的“画布”上的鼠标绘制轨迹,判别装置202根据绘制的图案是否符合标准五角星图案的规范,判断该次验证是否被允许。如同现有技术中识别触摸屏上的文字一样,该绘画行为信息的采集和识别判断均可通过现有技术实现,此处不再赘述。
4、基于排序行为方式的网络验证
基于排序行为方式的网络验证系统的系统结构,即“行为沙盒”中的特定行为要求具体化为“排序”行为要求,此时行为沙盒具体为“排序行为沙盒”。“排序行为沙盒”会要求用户完成一个“排序”的行为,即在“排序行为沙盒”内,放置若干已打乱顺序的数字图标,尝试着引导用户移动这些数字图标,使这些数字图标能按照“排序行为沙盒”所要求的顺序进行排列。很显然,计算机软件无法识别“排序行为沙盒”所提示的“排序”行为要求,从而更不能完成相应的动作。
如图7所示,“排序行为沙盒” 显示界面内从左到右依次有“6”、“0”、“4”、“9”、“2”这样5个数字图标,并且“排序行为沙盒”提示用户将这些数字图标从小到大进行排序,从而引导用户完成一个将这些数字图标移动成“0”、“2”、“4”、“6”、“9”的行为。
此时,采集装置102采集到的行为信息是用户在“排序行为沙盒”内所有数字图标最后放置的位置以及鼠标移动数字图标的轨迹,判别装置202根据所有数字图标最后放置的位置是否正确以及鼠标移动数字图标的轨迹是否符合人类行为标准,判断该次验证是否被允许。其中,鼠标移动数字图标的轨迹是否符合人类行为标准与基于拖动行为方式的网络验证相同,此处不再赘述。
5、基于语音行为方式的网络验证。
基于语音行为方式的网络验证系统的系统结构,即“行为沙盒”中的特定行为要求具体化为“语音”行为要求,此时行为沙盒具体为“语音行为沙盒”。“语音行为沙盒”会要求用户完成一个“语音”的行为,在“语音行为沙盒”内,会引导用户利用语音来通过验证,沙盒内会显示一些引导信息来告知用户具体的语音内容。很显然,计算机软件无法识别“排序行为沙盒”所提示的“排序”行为要求,从而更不能完成相应的动作。
如图8所示,“语音行为沙盒” 显示界面内的图像引导用户说出“行为式验证”这样一个词语,用户根据该引导信息通过话筒说出。
此时,采集装置102采集话筒中的语音信号,采集到的行为信息即为用户的语音信息,判别装置202根据用户的语音信息是否与“语音行为沙盒”所要求行为(即说出“行为式验证”这个词)的正确语音发音匹配,判断该次验证是否被允许。