论文部分内容阅读
验证码是用来区分计算机和人类的一种图灵机制,可以防止恶意程序攻击登陆口令、接收垃圾邮件以及用暴力的方式不断尝试登陆,现已成为许多网站的通行方式。由于文本验证码已被大部分攻击程序破解,现今图像验证码得到了越来越广泛的应用。人脸识别是模式识别领域较热门的研究领域,它包括人脸检测和识别两个阶段。人脸检测主要是利用人脸的某些已知特征从图像中检测并标记出人脸,而人脸识别是对检测出的人脸利用特征匹配或学习的方法进行身份的鉴别。现有的人脸识别算法众多,但是都存在一定的局限性,容易受到内在变化(例如不同的表情姿态或者部分器官被遮挡)和外在干扰(如图像的背景干扰或者噪线干扰,光照条件等)两个方面的影响从而导致性能的下降。基于人脸识别的图像验证码技术就是利用当前大部分人脸识别算法的局限性,对人脸进行各种程度的扭曲,旋转并加入各种背景干扰,假脸干扰等,在保证人类识别率的前提下,大大增加了计算机程序的破解难度。在本文中,我们主要对基于人脸识别的图像验证码进行了深入的研究和探讨。针对Gaurav和Brian等提出的FaceDCAPTCHA和FR-CAPTCHA进行了深入的分析,利用图像处理和模式识别的相关算法对这两种验证码进行了破解,并破解成功。FaceDCAPTCHA每个验证码图像包含4到6个人脸和非人脸小图片,它需要用户找到其中所有的人脸。FaceDCAPTCHA破解的关键就在于区分人脸和非人脸。我们首先利用边缘检测将验证码图像中的人脸和非人脸小图片提取出来,之后利用四种不同的特征提取方法—颜色特征,结构纹理特征,基于LBP和PCA的特征,Laws Masks特征分别提取了图像的特征,并利用SVM分类器进行了训练和识别。此外,由于卷积神经网络可以在无需手动提取特征的前提下达到比较好的分类效果,我们对边缘检测后得到的人脸和非人脸小图片也直接利用卷积神经网络进行了识别。最后,我们对各种方法的破解结果进行了时间和成功率上的比较。FR-CAPTCHA包含10种不同的设计集合,每个集合都有不同的抵抗自动识别的机制,如人脸旋转,人脸与背景融合,噪线干扰等。FR-CAPTCHA每个验证码图像包含4到6个人脸,它需要用户在整个验证码图片中找到同一个人的脸。其破解有两个难点:人脸检测提取人脸区域和人脸匹配在所有人脸中找到同一个人的脸。我们首先利用基于Haar特征的adaboost分类器将所有人脸从复杂的背景中提取出来,之后利用三种不同的匹配算法—直方图对比,几何特征匹配和弹性图匹配对检测出的人脸两两进行了比较,特征间距离最小的两个人脸图像即认为来自同一个人。最后,我们对三种不同的匹配算法的破解结果进行了比较。本文的研究对当前基于人脸识别的图像验证码设计的安全性提出了质疑,除此之外,通过分析相关攻击算法的优缺点,也为设计出下一代安全性更高的图像验证码提供了参考。