一种改进的马赛克图形人机识别算法研究
来源:www.lunwenhot.com 作者:热点论文发表网 点击: 次
0 引言 随着网络技术的不断发展,web 服务变的非常普遍,越来越多的网络活动需要人机交互才能完成,而机器人可以模仿人类进行各种只允许人类进行的网络活动,且其速度比人类快很多,可以不断地访问网站资源,从而消耗资源,产生拒绝服务攻击,这样,就需要一
0 引言
随着网络技术的不断发展,web 服务变的非常普遍,越来越多的网络活动需要人机交互才能完成,而机器人可以模仿人类进行各种只允许人类进行的网络活动,且其速度比人类快很多,可以不断地访问网站资源,从而消耗资源,产生拒绝服务攻击,这样,就需要一种有实现人类用户可以友好的与计算机交互而机器人不能模仿人类进行交互。效地方法来目前,最著名的区分人类和机器人的技术是全自动区分计算机和人类的图灵测试 (CompletelyAutomated Public Turing Test to Tell Computers and Human Apart,CAPTCHA) [1],图灵[2]是第一个研究机器智能的学者,他通过一种测试方法来判断机器是否智能。CAPTCHA 可以简单的分成三类:文字验证码、图像验证码和声音验证码。CAPTCHA 的用途十分广泛[3-5]:可以用于阻止暴力攻击,阻止群发垃圾邮件,阻止网页蜘蛛(web spiders)和蝇蛆(web bots)参与选举投票等等。
1 Basso 和Sicco 的人机识别算法分析
1.1 算法描述
Basso 和Sicco 在2008 年提出了一种人机识别算法,命名为“MosaHIP”(Mosaic-basedHuman Interactive Proof)[6]。 “MosaHIP”的基本思想是将图像进行拼凑或镶嵌,使用许多小的,部分重叠的图像组成大的图像。这些小的图像分为两类:一类是描述真的,有意义概念的图像;另一类是描述没有意义概念的图像。在这两类图像中只有少部分的第一类图像,其余都属于第二类。MosaHIP 分为两种类型,第一种如图2.1 所示:基于“概念”的MosaHIP,第二种如图2.2 所示:“最上层”的MosaHIP。
算法描述如下:首先在图像数据库中随机选择n 个有意义的小的图像,对它们进行缩放比例,旋转和进行一定透明化,然后将图像一个个的放置在大的图像上,下一个与上一个的1/4 重叠,根据一定的规则,计算新的图像的颜色梯度,并根据颜色梯度通过绘制各种图形和线来制作没有意义的小的图像,图像的大小与真的图像大小相似,并将它们依次重叠的放置在另一的大的图像中,直到第二个大图像被完全覆盖,最后将第一个大图像与第二的大图像重合。
1.2 Basso-Sicco 算法的缺陷
Basso 和Sicco 提出的算法虽然可以在一定程度上区分机器人和人类,但还是存在一些缺陷:首先在算法描述中就存在错误,在第四步中,确定图像Ij-1 所在的区域,将Ij-1 分为4个相同面积的区域,随机的选择一个区域,并放置Ij 在这个区域中,与Ij-1 重叠,这就存在1/4 的几率会完全的覆盖图像Ij-1。
另外,该算法在安全方面也存在着一定得缺陷:(1)无论是基于“概念”的还是“最上层”的MosaHIP,都有一张完全没有被覆盖的有意义的图像暴露,通过一些方法,如边界探测分割[7,8],“阀值”分割[9]等,在处理过的图像中都会存在一个有规则图形的阴影,对于基于“概念”的MosaHIP,机器人通过这个阴影,就会找到有意义的图像的大体位置,从而缩小搜索范围而对于“最上层”的MosaHIP,阴影即为有意义的图像的位置,这样机器人就可以识别这张图像进入系统进行各种攻击。(2)每放置一张新的有意义的图像,它就会覆盖上一张图像的1/4 区域,无论有意义的图像的顺序是什么,位置是什么,相对于无意义的图像的放置特点,这张有意义的图像所在的区域的图像位置是有规律可循的,这就使机器人识别图像变得容易。
2 改进的基于马赛克图形的人机识别算法
2.1 改进的人机识别算法
2.2 改进算法的分析
Basso 和Sicco 提出的算法的缺陷在给出的算法中均得到了改进,对于第一个缺陷的改进是在完全没有被覆盖的有意义的图像上,按照有意义的图像放置的规律放置了一张无意义的图像,使它可以部分覆盖这张有意义的图像,这样需要被识别的这张有意义的图像的放置规律和其他的图像都相似或相同,对于攻击者来说,他就无法通过边界探测分割[7,8]或图形匹配[6]等方法来获得这张需要被识别的图像的信息,从而无法识别图像。对于第二个缺陷的改进是在重叠放置有意义的图像时,让每次覆盖的区域不只是1/4 的区域,而是随机的产生一个大于3/5 小于1 的区域,这样不仅可以使人类用户方便清楚的识别这个图像,并且这些有意义的图像还是没有规律的,这样也可以增加机器人识别有意义的图像的困难度。
下面具体分析