一种智能图像验证方法及系统的制作方法

文档序号:7889789阅读:149来源:国知局
专利名称:一种智能图像验证方法及系统的制作方法
技术领域
本发明属于网络应用技术领域,特别是涉及一种图像验证码生成方法及系统,能够自动识别客户端用户是人类还是机器,提高了网络安全性。
背景技术
全球化信息时代的到来,网络电子娱乐文化的兴起,政务信息的信息化,财经金融的电子化,互联网信息技术越来越广泛地深入到社会各个领域,互联网成为了传统社会活动的新平台,国家与人民对互联网的依赖也越来越强烈,互联网信息技术已经成为社会生活中不可割断的一个重要部分。随之而来,安全问题也已成为网络发展备受关注的话题。一些别有用心的人会利用机器人程序,大量地不当使用网络免费资源,例如群发垃圾邮件等,使得服务器的效能大为降低。也有人利用程序不断发出服务请求回应,进行DOS (Denialof Service)攻击,以达到使服务瘫痪的目的。甚至还有人尝试利用暴力破解等手段进行虚拟财产盗窃等。为避免上述恶意行为,设计一套能够让计算机自动分辨信息是来自人类或是非正当使用的机器人程序的工具,就显得非常重要。CAPTCHA 的全称是 Completely Automated Public Turing test to tellComputers and Humans Apart,即“全自动区分计算机和人类的图灵测试”,其为卡耐基梅隆大学申请的商标。CAPTCHA俗称验证码,是一种区分用户是计算机和人的公共全自动程序。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是只有人类才能解答。由于计算机通常无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。为了避免被程序自动识别,通常在CAPTCHA中将文字进行扭曲,同时加入一些噪声,但是CAPTCHA验证码具有可用性差、误识率闻、易受:攻击等缺点。图片验证码已成为网络服务中身份认定的一种广泛使用的工具。随着人工智能和图像理解技术的发展,通过0CR(Optical Character Recognition,光学字符识别)技术,机器对图像中字符的识别能力越来越强。图片验证码需要在保证人类视觉可辨认的前提下,不断提高抗机器程序破解的能力。实践证明,对于从图像中分割出来的单字符,现有技术下机器识别率几乎接近完美。增加了从图片中分割字符的难度,成为防破解和提高安全性的重要手段。现有的图片验证码系统中,一般预先生成包含大量验证码图片的图片验证码库,用户每次提交验证请求,验证码系统从图片验证码库中随机选取一张验证码图片下发给用户。然而,现有技术的验证码系统中只采用单一种类的验证码,而单一种类的验证码具有有限的随机性,随着上线时间的增加,很容易遭到破解,这就给网络安全带来了隐患。综上所述,现有的图片验证码系统专注于如何提高算法和系统的安全性,通常采用复杂的纹理背景、背景噪声、前景噪声、字符遮挡、前景文字复杂形变等方法,这些方法在一定程度上提高了图片验证码系统的安全性,但同时具有使得人类用户可分辨性急剧下降,误识率急剧增加,最终导致系统的可用性很差等缺点。可以认为目前的图片验证码系统在可用性和安全性方面是一对不可调和的矛盾。

发明内容
本发明的目的即在于克服现有技术的不足,提供一种智能图像验证方法及系统,解决了现有图片验证码系统可用性和安全性之间的矛盾,与CAPTCHA验证码相比,解决了CAPTCHA可用性差、误识率高、易受攻击等缺点,提高了网络安全性。
本发明的目的是通过以下技术方案来实现一种智能图像验证方法,其特征在于它包括以下步骤
(I)服务器接收客户端用户发送的访问请求,初始化客户端用户标志为机器;
(2 )服务器生成图片验证码askCode,并发送给客户端用户,对客户端进行验证;
(3)服务器接收客户端用户输入的应答验证码ansCode;
(4)判断askCode与ansCode是否相等,如果两者不相等,则转到步骤(11);
(5)初始化系统误分辨率,初始化客户端用户标志为人,初始化系统计时器;
(6)如果客户端用户标志不为人或者系统误分辨率不满足系统最大安全概率参数,则转到步骤(11);
(7)服务器以图片验证码askCode和当前时间戳为种子,向客户端用户提供随机提示码和N幅图像,该提示码与M幅图像相匹配;
(8)客户端用户根据提示码选择与之匹配的图像序列;
(9)服务器接收客户端用户选择的图像序列,将该序列与基准图像序列进行比较,如果比较结果不一致或者计时器超时,则认为该客户端用户是机器而不是人类,进而转到步骤
(11),否则转到步骤(10);
(10)更新系统误分辨率和计时器,重复步骤(6)至(9),直至客户端用户被确认为机器或者系统误分辨率满足系统最大安全概率参数要求;
(II)服务器向客户端发送验证结果。所述的M为随机数,提示码与M幅图像之间的匹配关系取自验证数据库,该数据库由服务器利用机器学习方法自动生成,其生成方法包括如下步骤
(1)随机生成关键词,产生J幅与该关键词相关的图像,对该关键词和图像文件名进行编号并建立索引后存入数据库;
(2)利用(I)中产生的关键词组成K句不重复语句,在数据库中记录这些语句与图像文件名的关系;
(3)重复步骤(I)和(2),直至数据库中包含L个不重复的关键词,其中L的大小规模可以由系统参数设定;
(4)设定每隔T时间,数据库按照特定模式自动更新匹配关系,相关参数可以由系统安全等级参数设定。所述的提示码与N幅图像生成方法包含如下步骤
(1)生成随机整数RN1,以RNl为索引找到关键词KWordRNl,再随机生成整数RN2,以RN2为索引找到与关键词KWordRNl相对应的提示码ClueCode ;
(2)以提示码ClueCode为索引找到对应的图像文件集合ImageFile;
(3)生成随机整数M,从图像文件集合ImageFile中随机选取M个不重复的文件FileM,然后从数据库中随机选取N-M个与文件FileM中文件不重复的文件,这N个文件即为生成的N幅图像。所述的图像验证数据库允许用户手工增加和更新,用户可以通过界面录入关键词并上传图像。所述的系统误分辨率是指客户端随机选择图像而通过系统验证的概率;
所述的系统最大安全概率参数是服务器根据应用系统类型设定的一个安全参数,该参数是衡量系统识别客户端到底为机器还是人的精确性的指标,通过系统误分辨率与系统最大安全概率参数的关系判定,自动计算服务器向客户端发送图像进行验证的轮数。一种智能图像验证系统,它包括接收客户端用户的访问请求,图片验证码输入以及图像选择序列的数据接收模块;
生成并验证图片验证码的图片码生成验证模块;
对客户端访问进行计数和时效限制的计时器模块;
随机生成提示码和对应的N幅图像的图像数据生成模块;
处理关键词、提示码以及图像文件名的存储和索引访问的数据库模块;
将接收到的客户端用户图像选择序列与图像数据生成模块生成的图像序列进行比较的图像验证模块;
向客户端用户传输图片验证码、图像验证过程中生成的提示码和N幅图像,以及验证结果的数据发送模块。所述的客户端包括iPhone、iPad类的移动设备,所述的客户端还包括PC机、工作站,所述的客户端用户所选择的图像序列通过网络传送到服务器。本发明的有益效果是本发明提供一种智能图像验证方法及系统,服务器接收到客户端用户发送的访问请求后,首先生成一幅图片验证码对客户进行验证,如果客户端通过验证,则使用该验证码和当前时间戳产生随机数种子,向客户端用户提供提示码和N幅不完全重复的图像,其中M幅图像与该提示码相匹配,客户端用户根据提示码选择与之匹配的图像序列;服务器接收客户端用户输入的图像选择序列,将该序列与服务器后台认证基准图像序列进行比较,如果比较结果不一致,则认为该客户端用户是机器而不是人类。除此之外,本发明还可根据系统安全参数,自动计算服务器向客户端发送图像进行验证的次数,每次验证都可以由计时器进行时效控制。由此可见,本发明解决了现有图片验证码系统可用性和安全性之间的矛盾,与CAPTCHA验证码相比,解决了 CAPTCHA可用性差、误识率高、易受攻击等缺点,能自动识别客户端用户是人类还是机器,提高了网络安全性。


图I为本发明的流程 图2为本发明提示码与验证图像生成流程 图3为本发明的结构示意图及模块处理流程示意图。
具体实施例方式下面结合附图对本发明做进一步的描述,但本发明的保护范围不局限于以下所述。如图I所示,一种智能图像验证方法,它包括以下步骤(1)服务器接收客户端用户发送的访问请求,初始化客户端用户标志为机器;
(2)服务器生成一个包含6位数字的图片验证码askCode,并发送给客户端用户,对客户端进行验证;
(3)服务器接收客户端用户输入的应答验证码ansCode;
(4)判断askCode与ansCode是否相等,如果两者不相等,则转到步骤(11);
(5)初始化系统误分辨率2为1,初始化客户端用户标志为人,初始化系统计时器为0,其中,;!是指客户端随机选择图像而通过系统验证的概率;
(6)如果客户端用户标志不为人或者系统误分辨率I不大于系统最大安全概率参数/S,则转到步骤(11),其中,#是服务器根据应用系统类型设定的一个安全参数,该参数是衡量系统识别客户端到底为机器还是人的精确性的指标,通常用单位时间内识别错误次数/所识别的总次数*100%来定义;如果\小于々,则转到步骤(11),否则转到步骤
(7)。通过入与#的关系判定,本发明可以自动完成对多轮图像验证的调用。;|的计算公
式如下
权利要求
1.ー种智能图像验证方法,其特征在于它包括以下步骤 (1)服务器接收客户端用户发送的访问请求,初始化客户端用户标志为机器; (2 )服务器生成图片验证码askCode,并发送给客户端用户,对客户端进行验证; (3)服务器接收客户端用户输入的应答验证码ansCode; (4)判断askCode与ansCode是否相等,如果两者不相等,则转到步骤(11); (5)初始化系统误分辨率,初始化客户端用户标志为人,初始化系统计时器; (6)如果客户端用户标志不为人或者系统误分辨率不满足系统最大安全概率參数,则转到步骤(11); (7)服务器以图片验证码askCode和当前时间戳为种子,向客户端用户提供随机提示码和N幅图像,该提示码与N幅图像中的M幅图像相匹配; (8)客户端用户根据提示码选择与之匹配的图像序列; (9)服务器接收客户端用户选择的图像序列,将该序列与基准图像序列进行比较,如果比较结果不一致或者计时器超时,则认为该客户端用户是机器而不是人类,进而转到步骤(11),否则转到步骤(10); (10)更新系统误分辨率和计时器,重复步骤(6)至(9),直至客户端用户被确认为机器或者系统误分辨率满足系统最大安全概率參数要求; (11)服务器向客户端发送验证结果。
2.根据权利要求I所述的ー种智能图像验证方法,其特征在于所述的M为随机数,提示码与M幅图像之间的匹配关系取自验证数据库,该数据库由服务器利用机器学习方法自动生成,其生成方法包括如下步骤 (O随机生成关键词,产生J幅与该关键词相关的图像,对该关键词和图像文件名进行编号并建立索引后存入数据库; (2)利用(I)中产生的关键词组成K句不重复语句,在数据库中记录这些语句与图像文件名的关系; (3)重复步骤(I)和(2),直至数据库中包含L个不重复的关键词,其中L的大小规模可以由系统參数设定; (4)设定每隔T时间,数据库按照特定模式自动更新匹配关系,相关參数可以由系统安全等级參数设定。
3.根据权利要求I所述的ー种智能图像验证方法,其特征在于所述的提示码与N幅图像生成方法包含如下步骤 Cl)生成随机整数RNl,以RNl为索引找到关键词KWordRNl,再随机生成整数RN2,以RN2为索引找到与关键词KWordRNl相对应的提示码ClueCode ; (2)以提示码ClueCode为索引找到对应的图像文件集合ImageFile; (3)生成随机整数M,从图像文件集合ImageFile中随机选取M个不重复的文件FileM,然后从数据库中随机选取N-M个与文件FileM中文件不重复的文件,这N个文件即为生成的N幅图像。
4.根据权利要求2、3所述的ー种智能图像验证方法,其特征在于所述的图像验证数据库允许用户手工増加和更新,用户可以通过界面录入关键词并上传图像。
5.根据权利要求I所述的ー种智能图像验证方法,其特征在于所述的系统误分辨率是指客户端随机选择图像而通过系统验证的概率;所述的系统最大安全概率參数是服务器根据应用系统类型设定的ー个安全參数,该參数是衡量系统识别客户端到底为机器还是人的精确性的指标,通过系统误分辨率与系统最大安全概率參数的关系判定,自动计算服务器向客户端发送图像进行验证的轮数。
6.ー种智能图像验证系统,其特征在干它包括接收客户端用户的访问请求,图片验证码输入以及图像选择序列的数据接收模块; 生成并验证图片验证码的图片码生成验证模块; 对客户端访问进行计数和时效限制的计时器模块; 随机生成提示码和对应的N幅图像的图像数据生成模块; 处理关键词、提示码以及图像文件名的存储和索引访问的数据库模块; 将接收到的客户端用户图像选择序列与图像数据生成模块生成的图像序列进行比较的图像验证模块; 向客户端用户传输图片验证码、图像验证过程中生成的提示码和N幅图像,以及验证结果的数据发送模块。
7.根据权利要求1、6所述的ー种智能图像验证方法及系统,其特征在于所述的客户端包括iPhone、iPad类的移动设备,所述的客户端还包括PC机、工作站,所述的客户端用户所选择的图像序列通过网络传送到服务器。
全文摘要
本发明公开了一种智能图像验证方法及系统,其系统包括接收客户端用户访问请求,图片验证码输入以及图像选择序列的数据接收模块;生成并验证图片验证码的图片码生成验证模块;对客户端访问进行计数和时效限制的计时器模块;随机生成提示码和对应的N幅图像的图像数据生成模块;处理关键词、提示码以及图像文件名的存储和索引访问的数据库模块;将接收到的客户端用户图像选择序列与图像数据生成模块生成的图像序列进行比较的图像验证模块;向客户端用户传输图片验证码、图像验证过程中生成的提示码和N幅图像,以及验证结果的数据发送模块。本发明解决了现有系统中可用性和安全性之间的矛盾,自动识别客户端用户是否为机器,提高网络安全性。
文档编号H04L29/06GK102624705SQ20121003942
公开日2012年8月1日 申请日期2012年2月21日 优先权日2012年2月21日
发明者孙先, 李平, 胡栋, 陈利学, 陈雁 申请人:西南石油大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1