人机交互证明(“HIP”,有时被称为“验证码”)可以自动地生成。验证码规范语言可以被定义,其允许验证码方案根据符号将如何被选取和绘制以及如何使那些符号模糊来定义。该语言可提供指定使符号模糊的各种方式的机制。新的验证码方案可以通过使用结合来自已经成功的现有验证码方案的特征的遗传算法而根据现有规范生成。并且,验证码方案已被攻击者破解的可能性可以通过收集关于破解现有验证码方案所花费的时间的数据并且使用回归来根据验证码特征或其测量的质量估计破解时间来估计。
【技术实现步骤摘要】
【国外来华专利技术】人机交互证明引擎的自动构造
技术介绍
人机交互证明(HIP),有时也被称为“验证码”,是被用来区分用户和机器人的机制。在web上可获得的许多服务(例如电子邮件、博客、社交网络、对专利数据库的访问等)通过验证码设置门槛。在典型的验证码方案中,字母和数字以某种被设计成使这些字母和数字模糊的方式而作为图形被显示在屏幕上。用户必须将这些字母和数字键入框中作为一种该用户是人类的证明的形式。验证码背后的理论是识别已被有意地使其模糊的符号是需要人脑灵活性的难题。因此,验证码有时类似于应用的图灵测试。验证码带来的问题是它们可以以各种方式被破解。一旦特定的验证码方案已经被使用了一定量的时间,在光学字符识别(OCR)系统可被训练以识别它们的意义上,经模糊的 符号变得可识别。OCR因此是破解验证码的一种自动化方式,并且只要有训练OCR的足够数据,它就能够工作。训练数据可由人类验证码求解器(solver)来生成,或者甚至可仅通过猜测解和分析哪些猜测成功以及哪些猜测失败来生成。由于验证码自身可被用作训练数据,只要验证码方案在使用中,它就继续生成可被用来破解该方案的训练数据。因此,验证码方案一般具有有限的保存期限,在该期限后它们有可能被破解。除了 OCR之外,另一种破解验证码方案的方式是使用廉价的人类劳动力来求解验证码。验证码可在世界的任何地方(包括劳动力廉价的地方)被电子地传输,并且若干团队的人可被雇佣来求解验证码。经求解的验证码可实时地得以使用,或者这些解可被存储并被用作OCR系统的训练数据,从而允许人类破解馈入自动化破解的过程。由于验证码被用来概率性地确保服务正被人类而不是机器使用,为了验证码继续为它们的预期目的服务,验证码方案经常不得不被改变。但是改变验证码方案涉及设计和测试新的方案,这可能是劳动密集型的。因此,一般地,新的验证码方案不像它们可能被设计和部署的情况那样频繁地被设计和部署。
技术实现思路
验证码可使用简化描述方案的元素和参数的过程的系统来指定。并且,通过使用遗传算法来改变验证码方案的元素和参数,验证码方案可随时间得以改变和增强。此外,验证码方案的有效性可被监控以确定何时现有方案已被攻击者破解或者可能已被破解。验证码规范语言可被用来指定验证码方案。该语言可包括允许验证码的各种元素得以指定的特征。例如,验证码典型地包括构成对验证码挑战的正确回答的字母和/或数字的一些序列。为了创建作为挑战的一部分展示给用户的图形,符号(例如字母和数字)可以以某种字体来打印。可通过歪曲、倾斜、模糊等来使符号失真。被设计来干扰OCR系统的干扰项(例如各种不同角度的线、形状、各种不同对比度水平的背景等)可与符号一起得以显示。该语言可允许符号和干扰项的参数被指定一例如,歪曲、倾斜、模糊到什么程度;干扰项的类型、大小和形状;等。在一个示例中,参数可被指定为概率分布一例如,参数可被指定为具有某种均值和方差的正态分布随机变量,使得用于验证码的特定实例的实际参数值将通过具有指定分布的随机过程来选取。使用验证码规范语言的一个方面是它使人们相对容易地指定新的验证码方案。然而,使用这样的语言的另一个方面是它使自动化生成新方案的过程成为可能。例如,遗传算法可被用来组合来自已经被发现是有效的验证码方案的元素,以便创建新的方案。并且,验证码方案的有效性可 以被监控,并且统计技术可被用来判断验证码方案的特定特征或特征组合的有效性。特别地,回归分析可被用来根据新方案对现有OCR的抵抗力的测量水平或基于新方案和现有方案的特征之间的差异的水平,来预测破解新的验证码方案将花多长时间。该
技术实现思路
被提供来以简化的形式引入在下文具体实施方式中进一步描述的概念的选择。该
技术实现思路
不旨在标识要求保护的主题的关键特征或本质特征,也不旨在被用来限制要求保护的主题的范围。附图说明图I是可出现在验证码中的一些示例符号的框图。图2是可在验证码规范中指定的各种示例特征的框图。图3是创建新验证码方案的示例过程的流程图。图4是可被用来访问程序质量的不例过程的流程图。图5是可结合在此描述的主题的实现方式使用的示例组件的框图。具体实施例方式人机交互证明(HIP)通常被用来设置访问服务的门槛。HIP被用来概率性地区分人类用户和机器人。例如,诸如电子邮件、博客、社交网络等之类的一些web服务在用户尝试注册该服务时呈现HIP挑战。如果用户没有通过该HIP挑战,则不允许该用户注册账户。作为另一个示例,人们在web上执行的诸如在博客上发帖、下载公共记录等之类的的某些动作通过HIP挑战设置门槛,使得基于用户是否正确地回答该HIP来允许或不允许服务。HIP有时被称为验证码。验证码带来的一个问题是它们可被破解。有效的验证码一般取决于能够显示出人类将觉得相对容易地识别的、但机器将觉得难以识别的符号的某种集合。普通的、朴素的字母形成差的验证码,因为光学字符识别(OCR)技术可以相对轻松地识别普通字母。因此,验证码方案一般着眼于以某种方式使字母和数字模糊一足以扰乱OCR算法,但是不会模糊到使得字符对人类而言是不可读的程度。存在使字符模糊的各种不同的方式。例如,符号可被歪曲、倾斜、模糊或以某种其它方式变换。或者,可向这些符号增加干扰项。干扰项的示例包括以被设计来扰乱验证码分段成它的离散符号的各种角度的直线或曲线;被设计来扰乱区分符号和其背景的对比度检测技术的各种颜色或图案的背景;或其它类型的干扰项。在另一个示例中,验证码方案可涉及使不同的符号以某种程度相互交叉,这(如上述直线或曲线干扰项那样)也被设计来扰乱验证码图像分段成它的构成符号。然而,无论如何精心设计验证码方案,它最终可能被破解。验证码方案的使用提供了连续的训练数据源。呈现的每一个验证码提供了人类验证码求解器可求解以便生成训练数据的示例。并且,每当呈现验证码时,即使机器人简单地对回答做出有根据的猜测,呈现该验证码挑战的系统也要用成功或失败来响应。关于哪些猜测成功和哪些猜测失败的信息本身可被用作一种形式的训练数据。换句话说,在以下意义上验证码方案具有保存期限在验证码方案首先被部署后一定量时间,足够的数据将是可获得的以使得具有机器学习算法的OCR可被训练以便以某种可靠性水平求解验证码(可能伴有对机器学习算法、训练数据和/或该算法产生的结果的一些人为调整)。并且,即使训练在特殊验证码方案上的OCR算法被证明是困难的,世界提供了可被用来求解验证码的廉价劳动力的源。由于验证码可以由图像数据(或者甚至音频数据)构成,数据可在劳动力成本低的世界的任意地方被发送。在世界的这些低成本地区中的一些中存在按数百验证码一美元的比率使用人类劳动力求解验证码的生意。因此,验证码的有效使用可取决于频繁地改变验证码方案以混淆OCR求解器。在此的主题提供了用于指定验证码方案以便允许这些方案容易并快速地改变的技术。并且,在此的主题提供了用于通过组合来自现有验证码方案的有效特征来创建新的验证码方案的技术。此外,在此描述的技术可被用来监控已部署的验证码方案保持有效多长时间,以便预测何时新的验证码方案可能已被破解。 为了有效地创建验证码方案,可使用验证码规范语言。验证码规范语言的一个示例是XAML的变形,其可被称为HXAML。XAML (可扩展应用标记语言)是被用来定义包括图形元素的用户界面(UI)的本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】2010.06.22 US 12/8211241.一种生成人机交互证明的方法,该方法包括 接收人机交互照明方案的第一规范,其中所述第一规范包括字母表,根据该字母表来绘制作为人机交互证明的答案的符号;和将被应用于所述符号的图的一个或多个复杂化的第二规范; 使用所述第一规范创建所述符号的图形表示; 将所述图形表示呈现给服务的用户;以及 基于所述用户是否提供构成所述符号的、所述人机交互证明的答案,来允许或不允许所述服务的使用。2.权利要求I的方法,其中所述一个或多个复杂化包括干扰项,其构成将与所述符号之一一起绘制的视觉元素。3.权利要求I的方法,其中所述一个或多个复杂化包括所述符号之一将在其上被绘制的背景。4.权利要求I的方法,其中所述一个或多个复杂化包括将应用于所述符号之一的倾斜的量。5.权利要求I的方法,其中所述一个或多个复杂化包括将应用于所述符号之一的模糊的量。6.权利要求I的方法,其中所述一个或多个复杂化包括将应用于所述符号之一的歪曲的量。7.权利要求I的方法,其中所述一个或多个复杂化的第一个由参数参数化,其中所述参数指定所述复杂化的所述第一个将被应用的程度,其中所述参数在所述第二规范中被指定为高斯随机变量,其包括所述高斯随机变量的均值和所述高斯随机变量的方差或标准差,并且其中所述图形表示的所述创建的所述创建包括 从由所述高斯随机变量定义的分布中选取所述参数的值。8.权利要求I的方法,其中所述一个或多个复杂化的第一个由参数参数化,其中所述参数指定所述复杂化的所述第一个将被应用的程度,其中所述参数在所述第二规范中被指定为均匀随机变量,其包括所述均匀随机变量的上...
【专利技术属性】
技术研发人员:GJ胡尔滕,PY西玛,D基罗夫斯基,JB林德,CA米克,
申请(专利权)人:微软公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。