首页> 中国专利> 生成包括可识别图像的挑战应答图像

生成包括可识别图像的挑战应答图像

摘要

提供了用于生成包括可识别图像的挑战应答图像的方法、系统和制品。生成包括随机元素和可识别图像的挑战图像。将所述挑战图像发送到接收者。接收与所述发送的挑战图像相关联的接收者输入。确定所述接收的接收者输入是否与关联于所述挑战图像中的所述可识别图像的描述符相匹配。指出所述接收者正确地识别了所述可识别图像。

著录项

  • 公开/公告号CN101615250A

    专利类型发明专利

  • 公开/公告日2009-12-30

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN200910149331.0

  • 发明设计人 J·W·马特斯;

    申请日2009-06-16

  • 分类号G06K9/00;G06F21/00;

  • 代理机构永新专利商标代理有限公司;

  • 代理人王英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-17 23:18:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-07

    未缴年费专利权终止 IPC(主分类):G06K 9/00 专利号:ZL2009101493310 申请日:20090616 授权公告日:20121128

    专利权的终止

  • 2012-11-28

    授权

    授权

  • 2010-02-24

    实质审查的生效

    实质审查的生效

  • 2009-12-30

    公开

    公开

说明书

技术领域

本发明涉及用于生成包括可识别图像的挑战应答图像的方法、系统和 制品。

背景技术

“CAPTCHA”(全自动公共图灵测试)是一种用于确定CAPTCHA测 试的应答者是否为人类的挑战应答测试,即,与机器(例如自动过程或机 器人(bot))相对的接收者的人性测试。可以在确定是否同意访问由 CAPTCHA所保护的、以将访问限制于人类用户的资源的环境中进行这个 确定。尽管可以相对于远程的人来执行CAPTCHA挑战,但该过程典型地 涉及远程机器,其自动地询问计算机用户或测试接收者,以完成简单的测 试,例如识别在接收者的计算机屏幕上呈现的字母数字串。典型地,该字 符串被严重扭曲,以使得机器识别非常困难,但由人类进行识别则相对容 易。

这个假定是:由于计算机过程难以确定包括在图像中的字符串,所以 计算机过程不太可能解答CAPTCHA,所以输入正确答案的接收者被认为 是人类。可以部署CAPTCHA来保护易受垃圾邮件攻击的系统(例如商业 的网络邮件服务),以及阻止自动地对博客、论坛和维基记录进行张贴,不 论是出于商业宣传原因还是政治宣传、侵扰和/或破坏的原因,以确保访问 信息或计算机程序的用户是人类等。CAPTCHA还可以用于确保对互联网 投票的应答是来自于人类,以防止使用称为机器人的自动过程来操纵结果。

近来,CAPTCHA已被破解,这使得自动过程能够响应于CAPTCHA 图像来提供正确的答案,以将它们自己表现为人类接收者,并且在一些情 况下获得对由CAPTCHA挑战应答测试所保护的资源的访问权限。例如, 许多网站重复使用一组CAPTCHA图像。试图使用自动过程来避开 CAPTCHA的黑客可以维护CAPTCHA图像的库,使得当检测到CAPTCHA 图像时,自动过程或机器人在库中查找CAPTCHA图像,以确定返回给 CAPTCHA挑战的应答。

附图说明

图1说明了计算环境的实施例。

图2说明了发送图像记录项的实施例。

图3、5和6说明了用于生成包括可识别图像的挑战图像的操作的实施 例。

图4说明了用于处理对挑战图像的应答的操作的实施例。

具体实施方式

图1说明了计算环境的实施例。计算机2包括一个或多个处理器4和 存储器6,在存储器6中加载有由处理器4执行的程序。处理器4执行请求 服务器10程序来处理对计算机资源12的请求。请求服务器10可以包括网 络(web)服务器或超文本传输协议(HTTP)服务器,以处理通过网络16 来自于客户端计算机(例如接收者计算机14)的请求。计算机资源12可以 包括用户想要访问的、在计算机2内的计算机可读存储介质中的或者在计 算机2外的存储设备中的信息。可选地,计算机资源12可以包括用户可用 的计算机资源,例如用于执行用户所请求的操作(例如电子邮件等)的计 算和处理资源、计算机程序、在线投票或调查、可以发表评论的博客、用 于存储用户数据的存储资源、诸如打印机之类的输出设备或任何其它计算 机可操作设备、程序或服务。请求服务器10可以响应于通过网络16来自 接收者计算机14的请求,返回页面18。网络可以包括局域网(LAN)、互 联网、企业内部互联网等。

挑战应答生成器20生成包括多个可用的人类可识别图像22中的至少 一个的表示的挑战图像24,其可以在页面18(例如超文本标记语言 (HTML)、可扩展标记语言(XML)页面)中被返回给接收者计算机14。 如果接收者计算机14返回了正确地标识人类可识别图像24的输入,那么 请求服务器10可以同意接收者计算机14访问计算机资源12。挑战应答生 成器20可以随机地选择多个人类可识别图像22中的一个,以包括在挑战 图像24中。在优选的实施例中,人类可识别图像22可以被人类接收者理 解,但被设计为对计算机来说难以识别,以确保人类很可能回答挑战应答 的挑战测试。例如,可识别图像22可以包括字母数字串、单词、容易辨认 的对象的图像,例如,动物、设备、场所等。以此方式,挑战图像24用作 CAPTCHA。

挑战图像24可以包括单独的图像或一起观察的多个图像,从而可识别 图像22对于人类视觉感知来说是可辨认的,但却不能被计算机确定。

挑战应答生成器20可以在发送图像记录26中记录已发送的挑战图像 24。挑战应答生成器20还维护每一个可识别图像22的描述符。挑战应答 生成器20可以被实现为可以由如图1所示的处理器4执行的、在存储器22 中的软件,或实现为单独的硬件设备。

接收者计算机14包括浏览器26,例如互联网Web浏览器,以向请求 服务器10提交对页面18的请求,并在附带的监视器30上显示和呈现由请 求服务器10返回的页面18,该页面18可以包括挑战图像24。接收者计算 机14可以使用输入设备28来与浏览器14交互以提交对页面18的请求, 并在显示监视器30中呈现所返回的页面18,其中的一些可以包括挑战图像 24。输入设备28可以包括由挑战应答测试的接收者控制的鼠标、键盘、触 控笔、话筒、触摸屏等,以向计算机程序提供用户输入。处理器4可以包 括一个或多个中央处理单元(CPU)并且存储器6可以包括一个或多个非 易失性或易失性存储设备。接收者计算机14可以包括桌面电脑、膝上型电 脑、电话设备、个人数字助理(PDA)或本领域已知的其它合适的计算设 备。

接收者计算机14可以有选择性地包括图像生成器32,用于生成接收者 图像34,以发送到服务器2中的挑战应答生成器20,以用于形成挑战图像 24。图像生成器32可以被实现为由在接收者计算机中的处理器执行的软件 程序,或者包括耦合到接收者计算机14的安全硬件设备。

图2说明了在针对发送到接收者计算机14的所生成的挑战图像24的 发送图像记录22中的发送图像记录项50的实施例,包括标识发送到接收 者计算机14的一个或多个挑战图像的挑战图像标识符(ID)52、包括在挑 战图像52中的一个人类可识别图像的可识别图像标识符(ID)54、以及接 收者计算机14的接收者标识符(ID)56,该计算机14发起对计算机资源 12的请求,其中,为该计算机资源12生成挑战图像24。

图3说明了在服务器2的程序部件(例如请求服务器10和挑战应答生 成器20)中实现的挑战应答过程的实施例,用于确定挑战图像24的接收者 是否包括与计算机过程相对的人类。控制在框100开始,在框100,请求服 务器10从接收者计算机14或接收者接收到对页面18的请求,可以从浏览 器26生成和发送该请求。所请求的页面18可以包括对计算机资源12的访 问机制。该访问机制可以包括计算机资源12的描述符和超文本链接或登录 区域,以允许接收者进行选择以访问计算机资源12。在一个实施例中,服 务器2可以自动地在返回到接收者计算机14的页面18中包括挑战图像, 以使得在接收者计算机14处的接收者能够选择性地确定是否响应挑战图像 24以访问资源12。或者,可以在接收者选择访问计算机资源12后再返回 挑战图像24。

当接收到(在框100)请求时,请求服务器10调用挑战应答生成器20, 或一些其它功能,以生成挑战图像24。当被调用时,挑战应答生成器20选 择(在框102)多个存储的可识别图像22中的一个并将所选择的可识别图 像22包含(在框104)到包括随机元素的挑战图像24中。所述元素可以包 括点、图像片段、图形符号、一个或多个几何形状或任何其它可显示的项 目。挑战应答生成器20可以响应于来自接收者计算机14或接收者的对页 面18的每一个请求来生成具有随机元素的新的挑战图像24,或者为不同的 挑战请求使用相同的挑战图像和相同或不同的可识别图像22。可选地,可 以选择多个可识别图像22来包括在挑战图像24中。可以由随机过程来生 成在挑战图像24中的随机元素,以确保生成的挑战图像24的每一个实例 包括不同数目的元素或不同的元素排列。为了在挑战图像24中包括或并入 所选择的可识别图像22,挑战应答生成器20可以将随机图像中的元素(例 如,点)关联到所选择的可识别图像22的轮廓,使得可以通过挑战图像24 的人类感觉在视觉上发现可识别图像。在某些实施例中,挑战图像24可以 包括立体图,例如,三维立体图、自动立体图、单图像随机点立体图(SIRDS)、 随机点立体图(RDS)等。可以生成挑战图像24以使得挑战图像24中的 可识别图像22可以对于人类视觉感知过程是可辨认的,例如立体视觉,但 是对于自动计算过程来说却很难发现。

挑战应答生成器20或请求服务器10可以在所请求的页面18中包括(在 框106)挑战图像24,该挑战图像24包括可识别图像22的表示。可以向 发送图像记录26添加(在框108)发送图像记录项50,其包括所生成的挑 战图像24的唯一标识符52、包括在生成的挑战图像24中的可识别图像22 的标识符以及发送请求的接收者的标识符54。请求服务器10向接收者计算 机14发送(在框110)包括挑战图像24的页面18,以在接收者计算机的 监视器30中显示。

另外,挑战图像24可以包括挑战视频或者在视频中呈现立体图像的动 态移动的可感知对象,其中可识别图像对于人类视觉感觉是可辨认的,但 是对于计算机过程来说却很难辨认。挑战图像24还可以包括随机点图像, 其包括嵌入的一个或多个可识别图像的块。

接收者计算机14的用户在接收到挑战图像24时,可以感知到可识别 图像22,并且随后返回包括图像的描述的应答,以获得对计算机资源12的 访问权。在另外的实施例中,接收者可以请求访问不同类型的资源,例如 有形货物、商品、项目等。

图4说明了由请求服务器10或其它程序模块执行的操作的实施例,用 于处理对于挑战图像24的(挑战图像的)接收者的应答。在接收到(在框 150)来自于与所发送的挑战图像24相关联的接收者计算机14的接收者输 入时,例如嵌入在挑战图像24中的可识别图像22的描述,请求服务器10 确定(在框152)所接收的接收者输入是否匹配于与嵌入在所发送的挑战图 像24中的可识别图像22相关联的描述符。例如,可以与挑战图像24的标 识符一起来发送接收者输入应答。在这种情况下,请求服务器10可以查找 发送图像记录项50,针对其的接收者输入描述被接收,以确定接收者提供 的描述是否与为在发送图像记录项50中标识的可识别图像54所维护的描 述相匹配。

如果(在框152)接收者输入与为所发送的可识别图像22维护的描述 符相匹配,那么请求服务器10指示(在框154)接收者正确地识别了所述 可识别图像。请求服务器10可以进一步授权接收者计算机14来访问被保 护的资源。如果(在框152)用户输入的描述与为可识别图像22维护的描 述不匹配,那么控制进入到框102-110,以调用挑战应答生成器20来选择 (在框156)另一个可识别图像,并生成包括另外选择的可识别图像22的 新的挑战图像24,以在新的页面18中将新的挑战图像24发送到接收者计 算机,以重试挑战应答。服务器2可以在由于超时而拒绝接收者计算机14 的访问之前或在进一步验证之后,仅生成有限次数的挑战图像24。

图5说明了由挑战应答生成器20执行的操作的实施例,用于生成包括 一对随机立体图像的挑战图像24,以使得仅当一起观察这两个立体图像时, 或者仅当将这两个立体图像并排或者相互重叠观察时,才能够通过人类视 觉发现嵌入在所述一个或两个随机立体图像中的可识别图像22。在某些实 施例中,当分开观察时,单独的每一个图像并不包含信息,当并排观察(如 在立体图中)或交叉观察(如在SIRDS图像中)或以任何其它方式(其使 得人类视觉能够同时一起查看两个图像以便从视觉上发现未包含在任何单 独图像中的共享图像)结合观察时,将允许接收者确定可由人类视觉辨认 的可识别图像。在初始化(在框200)用于生成一对(或其它数量的)随机 立体图像(或其它数目)的操作时,挑战应答生成器20生成(在框202) 包括随机元素的第一图像,例如随机点图像,并生成(在框204)包括该第 一图像的副本的第二图像。挑战应答生成器20生成(在框206)与要包括 的可识别图像对应的第一和第二随机点图像中的一个或两者中的元素(例 如,点)的位置上的相关联的变化。在一个实施例中,可以用一种方式将 可识别图像22仅包含到随机点图像中的一个中,该方式使得仅当并排观察 第一和第二随机图像时,人类视觉才能够辨认出可识别图像。或者,可以 以一种方式将可识别图像22包括在两个随机图像中,该方式使得仅当将第 一和第二随机图像相互叠加时,人类视觉才能够辨认出可识别图像22。请 求服务器10可以向接收者计算机14发送包括第一和第二图像的页面18, 以在浏览器26中呈现,从而使得接收者计算机14的人类用户能够辨认出 可识别图像并向服务器2返回该图像的应答来进行验证。

在一个实施例中,可以把按照图5的操作生成的第一和第二立体图像 一起发送到接收者计算机14的浏览器26。在一个可选的实施例中,服务器 2可以把第一图像发送到接收者计算机14,并且仅在发送第一图像后、在 从接收者计算机接收到请求之后,才发送第二图像。分别发送第一和第二 图像可以通过防止两个图像在同一个传输中都被拦截来提高安全性。

在一个实施例中,挑战图像24包括两个同样大小的随机元素(例如, 点)立体图,在某些实施例中,其中的每一个由按以下方式布置的随机点 组成,所述方式使得这些点的空间分布是严格随机的,并且当分开观察这 些图像时不包含任何信息。在可选的实施例中,挑战图像24包括单个图像, 该单个图像包含计算机难以读出的大量信息。

当为挑战图像24使用一对图像时,图像组中的单个图像,不论是否在 自动立体图、RDS、SIRD等中,在缺少另一个图像时均不包含指示可识别 图像的任何信息。需要同时观察所有图像来确定通过挑战应答测试所需要 的可识别图像。这样提高了可以在分离的传输中分别发送图像的实施例中 的安全性。在另外的实施例中,一对挑战图像中的一个图像可以是唯一的 并保存在硬件设备内。

图6说明了在请求服务器10和挑战应答生成器20中实现的操作的实 施例,用于基于从接收者计算机14的图像生成器32接收的随机点图像来 生成挑战图像24。当从接收者计算机14接收到(在框250)对计算机资源 12的请求时,例如用于产品的计算机补丁,请求服务器10向接收者计算机 14发送(在框252)对随机元素图像的请求。当从接收者计算机接收到(在 框254)由接收者计算机14的图像生成器32生成的接收者图像34时,挑 战应答生成器20将接收到的接收者图像34复制到(在框256)挑战图像 24,并将所选择的可识别图像22并入到挑战图像24。在一个实施例中,可 识别图像22包括在挑战图像24中,所以如果接收者计算机14的浏览器26 将接收者图像34与挑战图像24一起显示,那么计算机14的人类用户可以 从视觉上感知到挑战图像24中的可识别图像22。在一个实施例中,当彼此 相邻地显示挑战图像24和接收者图像34时,可以感知到可识别图像22; 在另一个实施例中,当将挑战图像24和接收者图像34相互叠加时,可以 感知到可识别图像22。挑战应答生成器20向接收者计算机14发送(在框 258)挑战图像24,以与来自接收者计算机14的接收者图像34一起显示。

所描述的实施例提供了使用挑战图像的挑战应答,该挑战图像包括人 类视觉容易辨认的、但对于计算机来说很难辨认的可识别图像。挑战图像 可以包括随机元素,以使得挑战图像在整体上相对于以前生成的挑战图像 是唯一的,以测试挑战图像测试的接收者是人还是机器。生成的挑战图像 的随机性特质提高了应对尝试破解挑战图像的自动过程的安全性。

另外的实施例细节

所描述的操作可以被实现为方法、装置或使用标准编程和/或工程技术 来生产软件、固件、硬件或它们的任意组合的制品。所描述的操作可以被 实现为保存在“计算机可读存储介质”中的代码,其中,处理器可以从该 计算机可读存储介质中读取和执行该代码。计算机可读存储介质可以包括 诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、 DVD、光盘等)、易失性和非易失性存储设备(例如,EEPROM、ROM、 PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑器件等) 等的存储介质。实现所描述的操作的代码还可以被实现为在硬件设备(例 如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中 实现的硬件逻辑。另外,实现所描述的操作的代码可以被实现为“传输信 号”,其中,可以通过空间或通过传输媒介来传播传输信号,所述传输媒介 例如是光纤、铜线等。代码或逻辑被编码在其中的传输信号还可以包括无 线信号、卫星传输、无线电波、红外信号、蓝牙等。“制品”可以包括用于 发送和接收所述代码或逻辑被编码在其中的传输信号的发送站和/或接收 站,其中,编码在传输信号中的代码或逻辑可以被解码并存储在接收和发 送站或设备处的硬件或计算机可读存储介质中。“制品”包括其中可以实现 代码和逻辑的计算机可读存储介质、硬件设备和/或传输发射机或接收机。 本领域的技术人员将意识到,在不脱离本发明的范围的情况下,可以对这 个结构进行许多改变,并且制品可以包括本领域已知的适当的信息承载介 质。

在可选的实施例中,挑战图像的接收者可以包括接收挑战图像或要被 一起观察的一对挑战图像的打印输出的人,并且可以向服务器2输入识别 所述挑战图像的接收者输入。在另外的实施例中,可以由人类操作者来执 行针对挑战应答生成器20所描述的、用于生成挑战图像24和询问接收者 的操作,该人类操作者准备挑战图像24并检查接收者应答以确定接收者是 否正确地识别了可识别图像。

在所描述的实施例中,通过人类视觉来发现嵌入在挑战图像中的可识 别图像。在可选的实施例中,挑战图像可以包括通过人类听觉发现的、但 对于计算机自动过程来说却难以发现的音频文件。以此方式,可以将所描 述的挑战实施例扩展到另外的感官,例如听觉。

如果没有另外清楚地指明,术语“包括”、“包含”、“具有”和它们的 各种变形意味着“包括但不限于”。

如果没有另外清楚地指明,所列举的项目列表并不意味着这些项目中 的任何项目或所有项目是互斥的。

如果没有另外清楚地指明,术语“一”、“一个”和“所述”意味着“一 个或多个”。

如果没有另外清楚地指明,相互通信的设备不必连续地相互通信。另 外,相互通信的设备可以直接通信或通过一个或多个中间媒介间接地通信。

具有相互通信的多个部件的实施例的描述并不意味着需要所有这些部 件。相反,描述了多种可选择的部件来说明本发明的许多种可能的实施例。

另外,尽管可以按照连续的顺序来描述过程步骤、方法步骤、算法等, 但是可以将这些过程、方法和算法配置为按照替代的顺序来工作。换句话 说,可能描述的步骤的任何序列或顺序并非必然地表明要求以该顺序来执 行这些步骤。可以按照任何实际的顺序来执行本文所描述的过程的步骤。 另外,可以同时执行一些步骤。

当本文描述了单独的设备或制品时,显然,可以使用不止一个设备/制 品(不论它们是否协作)来代替单独的设备/制品。类似地,当本文描述了 不止一个设备或制品时(不论它们是否协作),显然,可以使用单独的设备 /制品来代替不止一个的设备或制品,或者可以使用不同数量的设备/制品, 而不是所示数量的设备或程序。设备的功能和/或特征可以由一个或多个未 被明确地描述为具有这种功能/特征的其它设备来替代地实现。因此,本发 明的其它实施例不必包括设备自身。

图3、4、5和6中的示例性操作示出了以某个顺序发生的某些事件。 在可选的实施例中,可以以不同的顺序来执行某些操作,或者可以修改、 删除某些操作。另外,可以向上述的逻辑添加步骤并且仍然符合所描述的 实施例。此外,本文描述的操作可以连续地发生,或者可以并行地处理某 些操作。此外,可以由单独的处理单元或由分布式处理单元来执行操作。

已经为了说明和描述的目的而给出了本发明的各个实施例的以上描 述。其并非旨在穷举本发明的实施例或将本发明限制到公开的精确形式。 根据上面的教导,许多改变或变形是可能的。本文的描述旨在不由具体的 描述来限制本发明的范围,而是由所附的权利要求来进行限制。上面的说 明、例子和数据提供了关于本发明的成分的制造和使用的完整描述。因为 能够在不脱离本发明的精神和范围的情况下获得本发明的许多实施例,所 以本发明由所附的权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号