杜 薇,周武能
(东华大学信息科学与技术学院,上海 201620)
防止不必要的机器访问Web服务,保证网站资源使用的公平性和服务提供方的盈利性,通过自动公共测试来区分计算机和人类,验证码系统被广泛使用[1]。现在验证码的安全性已经成为网络安全应用的焦点。主流文本验证码的特点总结如下:
1)由0~9阿拉伯数字和26个英文字母组成;
2)验证码长度4位到6位,随机生成;
3)随机生成干扰项点和横线;
4)字体使用统一字体,大小和扭曲角度在设置范围内随机生成;
5)随机设置字体颜色和背景颜色。
验证码一般分为传统验证码、点选验证码、滑动验证码和智能验证码。还有一些借助辅助设备验证码,比如语音验证码[2]、短信回执验证码等。传统验证码也称文本验证码,是目前运用最广泛的验证码方式。文本验证码用户接受度高,但是安全系数低[3]。
为增强网站的安全系数,现在的验证码中加了很多噪声等干扰因素。文本验证码抗机器识别的主要方式是加入典型扭曲的应用[4],以及多颜色、多纹理背景、重叠字母[5]、变形字体[6]等应用。文本识别通常涉及2个步骤:字符分割和字符识别[7-14],文本验证码识别是文本识别的一种,通常验证码识别流程分为4个步骤,如图1实线所示。字符分割有很明显的弊端,如在文字重叠度高且文字结构不规范时分割难度较大,导致识别不准确等。

图1 验证码识别过程
随着深度学习的发展,基于卷积神经网络(Convolutional Neural Networks, CNN)的分类器在ICDAR 2013比赛中表现出优越的性能[15],在图像识别中CNN的精度远高于传统分类器。……