首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

动态更新CAPTCHA质询 

申请/专利权人:谷歌有限责任公司

申请日:2016-11-30

公开(公告)日:2018-08-03

公开(公告)号:CN108369615A

主分类号:G06F21/31(2006.01)I

分类号:G06F21/31(2006.01)I

优先权:["2015.12.08 US 14/962,017"]

专利状态码:有效-授权

法律状态:2022.02.01#授权;2018.08.28#实质审查的生效;2018.08.03#公开

摘要:提供一种动态更新CAPTCHA质询的系统和方法。例如,能够从用户设备接收对于访问在线资源的请求。能够然后向用户设备提供验证质询。能够接收对于验证质询的一个或多个用户响应。每个用户响应能够对应于用户与来自多个对象的对象的交互。能够至少部分地基于一个或多个用户响应确定与用户相关联的一个或多个风险评估分数。能够然后至少部分地基于一个或多个风险评估分数和一个或多个用户响应来更新验证质询。

主权项:1.一种动态更新验证质询的计算机实施的方法,方法包括:由一个或多个计算设备从用户设备接收对于访问在线资源的请求;响应于接收对于访问在线资源的请求,由一个或多个计算设备向用户设备提供验证质询,验证质询包括多个对象和提示用户设备的用户与多个对象中的至少一个对象交互的一个或多个指令;由一个或多个计算设备接收对于验证质询的一个或多个用户响应,每个用户响应对应于用户与来自多个对象的对象的交互;以及由一个或多个计算设备至少部分地基于一个或多个用户响应来确定与用户设备的用户相关联的一个或多个风险评估分数;响应于一个或多个用户响应中的每一个,由一个或多个计算设备至少部分地基于一个或多个风险评估分数和一个或多个用户响应更新验证质询。

全文数据:动态更新CAPTCHA质询技术领域[0001]本公开一般涉及CAPTCHA质询challenge,并且更具体地涉及至少部分地基于对于CAPTCHA质询的一个或多个用户响应更新CAPTCHA质询。背景技术[0002]信任是基于网站交互的资产。例如,用户必须信任实体提供足够机制来确认和保护她的身份或其它机密信息,以便用户与这样的实体交互时感觉舒适。此外,提供网站资源的实体必须能够阻止为了恶意目的意图取得对于网站资源的访问的自动攻击。因此,能够在源自人类的资源请求与由自动机器生成的请求之间辨别的复杂认证机制是确保网站资源免受自动攻击以及开发资源提供者与用户之间必要信任关系中的重要工具。[0003]CAPTCHA系统(completelyautomatedpublicTuringtesttotellcomputersandhumansapart,“完全自动区分计算机和人类的公开图灵测试”)能够提供这样的认证机制。CAPTCHA系统的一个目标是开拓其中已知人类比自动机器更好地执行任务的情形。因此,作为验证过程的部分,CAPTCHA系统能够提供由人类可解决但由机器一般不可解决的质询。[0004]在一些实例中,诸如CAPTCHA农民(farmer的非法人类用户可能尝试解决多个CAPTCHA质询并向一个或多个“机器人bot”提供CAPTCHA质询的解决方案,使得机器人可以取得对于多个网站资源的访问。在这样的实例中,难以将非法人类用户诸如CAPTCHA农民)与合法人类用户相区别。发明内容[0005]本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中了解,或者可以通过实施例的实践了解。[0006]本公开的一个示例方面指向动态更新验证质询的计算机实施的方法。方法包括由一个或多个计算设备从用户设备接收对于访问在线资源的请求。方法还包括,响应于接收对于访问在线资源的请求,由一个或多个计算设备向用户设备提供验证质询。验证质询包括多个对象和提示用户设备的用户与多个对象中的至少一个对象交互的一个或多个指令。方法还包括,由一个或多个计算设备接收对于验证质询的一个或多个用户响应。每个用户响应对应于用户与来自多个对象的对象的交互。方法还包括,由一个或多个计算设备至少部分地基于一个或多个用户响应确定与用户设备的用户相关联的一个或多个风险评估分数。方法还包括,响应于一个或多个用户响应中的每一个,由一个或多个计算设备至少部分地基于一个或多个风险评估分数和一个或多个用户响应来更新验证质询。[0007]方法还可以包括,由一个或多个计算设备至少部分地基于一个或多个用户响应和一个或多个风险评估分数确定是否授予用户对于在线资源的访问。一个或多个风险评估分数中的每一个可以提供用户是非法人类CAPTCHA用户的可能性的度量。一个或多个指令可以提示用户从多个对象选择符合标准的每个对象。多个对象可以包括第一子集和对象的第二子集,第一子集包括符合标准的一个或多个对象,对象的第二子集包括不符合标准的一个或多个对象。一"^或多个计算设备更新验证质询可以包括:一个或多个计算设备用替换对象替换由用户选择的对象。一个或多个计算设备用替换对象替换由用户选择的对象可以包括:当风险评估分数小于阈值时,一个或多个计算设备用不符合标准的替换对象替换由用户选择的对象;并且当风险评估分数大于阈值时,一个或多个计算设备用符合标准的第二对象替换由用户选择的对象。多个对象可以包括多个图像。每个风险评估分数可以至少部分地基于用户设备类型、一个或多个用户设备能力、与用户设备相关联的互联网协议地址、用户网站历史、或用户是否参与各种其它网站服务而确定。每个风险评估分数可以至少部分地基于用户响应对于验证质询是正确的百分比确定。可以至少部分地基于用于接收对应的用户响应花费的时间长度来确定每个风险评估分数。一个或多个计算设备确定一个或多个风险评估分数可以包括一个或多个计算设备确定第一风险评估分数;以及一个或多个计算设备更新第一风险评估分数以确定更新的风险评估分数。由一个或多个计算设备更新第一风险评估分数以确定更新的风险评估分数可以包括由一个或多个计算设备至少部分地基于更新的风险评估分数更新验证质询。一个或多个风险评估分数中的每一个可以对应于用户响应。[0008]一个示例方面指向:计算机系统,其包括一个或多个处理器;和一个或多个存储设备,其存储计算机可读指令,该计算机可读指令当由一个或多个处理器运行时导致一个或多个处理器实行根据以上提供方法的方面的方法。[0009]一个示例方面指向一个或多个有形非暂时性计算机可读介质,其存储计算机可读指令,计算机可读指令当由一个或多个处理器运行时导致一个或多个处理器实行根据以上提供方法的方面的方法。[0010]本公开的其它示例方面指向用于向用户提供CAPTCHA质询的系统、装置、有形非暂时性计算机可读介质、用户界面、存储设备、和电子设备。[0011]以上方面试图解决与控制对于资源的访问相关联的问题,并且能够防止非法用户和自动系统访问资源。[0012]参考以下描述和所附权利要求,各种实施例的这些和其它特征、方面、和优点将变得更好理解。并入本说明书并构成本说明书的部分的附图示出了本公开的实施例并且与说明书一起用于解释相关原理。附图说明[0013]在说明书中阐述了指向本领域普通技术人员的实施例的详细讨论,详细讨论做出对附图的参考,其中:_[0014]图1描绘了根据本公开的示例实施例的用于向用户提供CAPTCHA质询的不例系统的概览。_[0015]图2至图5描绘了根据本公开的示例实施例的示例性CAPTCHA质询。[0016]图6描绘了根据本公开的示例实施例的向用户提供验证质询的示例方法的流程图。[0017]图7描绘了根据本公开的示例实施例的更新验证质询的不例方法的流程图。[0018]图8描绘了根据本公开的示例实施例的验证用户的不例方法的流程图。[0019]图9描绘了根据本公开的示例实施例的示例系统。具体实施方式[0020]现在将详细做出对实施例的参考,附图中示出了实施例的一个或多个示例。每个示例以实施例的解释而不是本公开的限制的方式提供。实际上,对于本领域技术人员显而易见的是,能够对实施例做出各种修改和变化而不脱离本公开的范围或精神。例如,作为一个实施例的部分示出或描述的特征能够与另一实施例使用以产生又一实施例。因此,本公开的方面意图覆盖这样的修改和变化。[0021]本公开的示例方面指向动态更新验证质询。例如,能够响应于来自用户设备的验证请求向用户设备提供验证质询。验证质询能够包括多个对象、和一个或多个指令,一个或多个指令提示用户设备的用户以指定方式与多个对象中的至少一个对象交互。能够接收对于验证质询的一个或多个用户响应。每个用户响应能够对应于用户与对象的交互。风险评估分数能够然后至少部分地基于一个或多个用户响应而确定。能够响应于每个用户响应更新验证质询,并且能够至少部分地基于风险评估分数和一个或多个用户响应来更新。[0022]例如,用户能够尝试使用诸如智能手机的用户设备来访问在线服务或资源。响应于该尝试,能够向用户呈现包括多个图像和提示用户选择符合指定标准的每个图像的指令的验证质询参见例如图2。用户可以通过选择图像输入对于验证质询的响应。能够至少部分地基于用户响应来确定与用户相关联的风险评估分数。能够至少部分地基于风险评估分数来用替换图像替换验证质询中选择的图像,并且替换图像能够作为更新的验证质询的部分提供给用户。替换图像可以或不可以符合指定的标准。用户能够然后通过选择第二图像输入对于更新的验证质询的第二用户响应,并且基于第二响应能够至少部分地确定更新的风险评估分数。然后能够至少部分地基于更新的风险评估分数用替换图像来替换第二选择的图像,并且作为对于验证质询的更新的部分提供给用户。此过程能够重复,直到验证质询中不再有符合标准的任何图像呈现给用户。能够然后至少部分地基于用户响应和或与用户相关联的风险评估分数做出是否授予用户对于在线资源的访问的确定。[0023]如本文使用的,用户设备能够是膝上型计算机、台式计算机、智能电话、平板电脑、可佩戴计算设备、或任何其它合适的用户计算设备。如所示,为了访问在线服务,能够首先要求用户解决验证质询。例如,验证质询能够是完全自动区分计算机和人类的公开图灵测试CAPTCHA质询,其由计算机化的CAPTCHA系统提供以验证用户的合法人类状态,从而防止“机器人”破坏在线服务。例如,CAPTCHA系统能够向用户提供CAPTCHA质询,并且如果用户“通过”质询,则用户能够取得对于在线服务的访问。在一些实施方式中,验证质询能够是基于图像的质询,其包括提示用户通过与一个或多个图像的交互解决质询的指令。[0024]在一些实施方式中,多个对象能够包括多个图像。在这样的实施方式中,CAPTCHA质询还能够包括提不用户从多个图像选择符合指定标准的每个图像或以其它方式与多个图像中的符合指定标准的每个图像交互的指令。例如,指令可以提示用户选择描绘特定项目、对象、人类、动物等的每个图像。以这种方式,CAPTCHA质询可以包括多个图像,多个图像包括符合标准的第一图像子集、和不符合标准的第二图像子集。’[0025]在一些实施方式中,CAPTCHA质询能够包括多轮或迭代。以这种方式,每轮能够对应于单个用户响应。在一些实施方式中,每个用户响应例如图像的每个用户选择能够与SEfe计算攻备(例如服务器设备通信。响应于每个用户响应,能够确定或更新风险评估分数。特别地,能够为用户或由用户操作的用户设备确定风险评估分数。例如,风险评估分数能够对应于用户或用户设备与非法人类CAPTCHA用户诸如“CAPTCha农民,,或其它非法人类用户)相关联的可能性的度量。在一些实施方式中,能够至少部分地基于用户设备类型、一个或多个用户设备能力、与用户设备相关联的互联网协议地址、用户网站历史、或者用户是否参与各种其它网站服务而确定风险评估分数。在一些实施方式中,风险评估分数能够至少部分地基于用户对于验证质询的正确响应的百分比和或用于接收用户响应花费的时间长度而确定。[0026]能够至少部分地基于风险评估分数来更新验证质询。在一些实施方式中,对于验证质询的每次更新能够对应于验证质询的额外轮或迭代。例如,能够响应于每个用户响应和或每个确定的或更新的风险评估分数来更新验证质询。[0027]在一些实施方式中,更新验证质询能够包括用替换图像替换由用户选择的图像。替换图像可以符合指定标准或可以不符合指定标准。替换图像能够至少部分地基于多个)风险评估分数而确定或以其它方式选择。例如,当风险评估分数大于阈值分数时,能够选择符合指定标准的替换图像,并且当风险评估分数小于阈值分数时,能够选择不符合标准的替换图像。以这种方式,对于每个用户响应例如选择的图像),能够至少部分地基于用户响应来确定风险评估分数,并且能够由至少部分地基于风险评估分数而确定或选择的替换图像来替换选择的图像。[0028]在一些实施方式中,能够至少部分地基于初始用户响应来确定初始风险评估分数。然后能够至少部分地基于一个或多个后续用户响应来更新风险评估分数。以这种方式,能够至少部分地基于与验证质询的每轮或迭代相关联的初始或更新的风险评估分数而确定与验证质询的该轮相关联的替换图像。[0029]来自用户的(多个)响应能够用于确定是否应该将对在线服务的访问授予用户设备。例如,如果响应圆满地完成或解决验证质询,则然后计算机化的CAPTCHA系统能够验证用户设备。例如,在其中与验证质询相关联的指令提示用户选择符合指定标准的每个图像的实施方式中,当不再有符合标准的任何图像被选择时,用户能够“通过”验证质询。在这样的实施方式中,当符合标准的每个选择的图像都用不符合标准的替换图像替换时,用户能够“通过”验证质询。以这种方式,能够至少部分地基于多个风险评估分数和或替换图像来确定圆满地完成或解决验证质询所需的迭代或轮的数量。[0030]如上所述,CAPTCHA农民可以尝试通过将指示答案的数据转发给与机器人相关联的远程计算设备来向“机器人”提供验证质询的答案。更新验证质询以包括多轮通信能够导致增加疑似CAPTCHA农民在向机器人提供答案的困难。例如,能够动态地调整圆满地解决验证质询所需的用户选择和或轮的数量能够增加对于将答案中继到机器人所需的时间和或通信迭代。以这种方式,圆满地解决验证质询所需的轮的数量能够至少部分地基于用户是CAPTCHA农民的疑似可能性例如至少部分地基于风险评估分数而确定。[0031]作为示例,一旦计算机化的CAPTCHA系统已经充分确信用户设备由合法的人类用户操作例如基于对于验证质询的(多个响应),则计算机化的CAPTCHA系统能够向用户计算设备提供验证令牌或证书。用户计算设备然后能够向与在线服务相关联的资源提供者提供验证令牌。反过来,资源提供者能够与计算机化的CAPTCHA系统确认验证令牌的有效性。在令牌有效性的确认之上,资源提供者能够向用户设备提供资源。[0032]现在参考附图,将更详细地讨论本公开的示例方面。例如,图丨描绘了用于向用户设备提供CAPTCHA质询的不例系统10〇的概览。具体地,系统1〇〇能够包括计算机化的CAPTCHA系统1〇2和资源提供者104XAPTCHA系统1〇2能够使用一个或多个计算设备诸如一个或多个服务器实施。具体地,由CAPTCHA系统102执行的任何计算任务能够由在并行或分布式计算系统中连接的一个或多个计算设备的任何组合执行。[0033]CAPTCHA系统102能够包括CAPTCHA生成器106,其配置为从用户设备接收对于参加验证过程的请求,并且选择并向用户设备提供CAPTCHA质询。例如,对于参加验证过程的请求能够对应于用户访问来自资源提供者104的在线服务或资源的请求。在线资源或服务的非限制示例包括基于云的电子邮件客户端、社交媒体账户或内容、作为服务的软件、在线拍卖界面、金融服务账户、在线游戏、数据库、代码库、任意网站服务、或任何其它合适的资源。在一些实施方式中,CAPTCHA质询能够是具有多个图像和相关联的指令的基于图像的CAPTCHA质询,该指令提示用户设备的用户选择或以其它方式与一个或多个图像交互。具体地,指令能够提示用户选择符合指定标准的每个呈现的图像或与之交互。例如,指令能够提示用户选择描绘特定对象、物品、人类、动物等的每个图像。[0034]如上所述,CAPTCHA生成器106还能够配置为至少部分地基于与用户相关联的一个或多个风险评估分数来更新CAPTCHA质询。例如,CAPTCHA质询可以要求多个用户响应以圆满地解决CAPTCHA质询。能够响应于用户响应中的一个或多个来更新CAPTCHA质询。以这种方式,CAPTCHA系统100还能够包括风险评分器1〇8。风险评分器1〇8能够配置为获得与用户和或用户设备相关联的一个或多个信号并且至少部分地基于获得的信号确定风险评估分数。在一些实施方式中,风险评估分数能够在对于验证质询的每个用户响应之后更新。[0035]CAPTCHA生成器1〇6能够至少部分地基于确定的或更新的(多个风险评估分数来更新CAPTCHA质询。例如,在一些实施方式中,更新CAPTCHA质询能够包括用替换图像替换由用户选择的图像。如上所示,替换图像能够至少部分地基于多个风险评估分数而确定。例如,CAPTCHA生成器106能够访问图像数据库112以选择多个替换图像。[0036]在一些实施方式中,每个用户响应例如,用户对图像的每次选择能够对应于用户设备与CAPTCHA系统1〇2之间的一轮通信。例如,用户设备能够向CApTCHA系统1〇2提供每个用户的响应,并且作为响应,CAPTCHA系统102能够向用户设备提供更新的CAPTCHA质询。在这样的实施方式中,指令中符合指定标准的图像和或替换图像的数量能够确定对于圆满地解决质询和对于校验用户所需的用户选择和或通信的轮的数量。[0037]CAPTCHA系统1〇2还能够包括用户校验器11〇,其配置为确定用户是否已经圆满地解决CAPTCHA质询,并从而确定是否授予用户对于在线服务或资源的访问。例如,在一些实施方式中,一旦已经确定授予用户访问,用户校验器110能够配置为生成验证令牌并向用户设备提供验证令牌,并且接收并校验对于资源提供者104的验证令牌。[0038]此外,虽然图1中描绘了CAPTCHA生成器106、风险评分器108、和用户校验器110作为CAPTCHA系统102的分离模块或组件,但是在一些实施方式中,这样的模块能够组合以形成单个模块或分布以形成若干额外模块。[0039]图2至图5描绘了根据本公开的示例实施例的示例CAPTCHA质询。例如,图2描绘了CAPTCHA质询120。CAPTCHA质询120包括多个图像和提示用户“选择出现的所有沙拉”的指令。如所不,图傢1以wI』4描纭沙拉,而其余图像不描绘沙拉。用户能够提供对于^町⑶八质询的一个或多个响应。例如,在图3中,复选标记126指示用户已经选择图像122。在一些实施方式中,能够向远程计算设备例如服务器提供此用户响应,并且远程计算设备能够至少部分地基于图像122的用户选择而更新CAPTCHA质询120。对于CAPTCHA质询120的更新能够包括用诸如替换图像128的替换图像来替换图像122。如所示,替换图像128也描绘了沙拉。图4进一步描绘指示图像124的用户选择的复选标记130。[0040]以这种方式,用户能够继续做出选择,直到描绘沙拉的每个图像由不描绘沙拉的图像替换为止,使得不存在描绘沙拉的图像呈现给用户。例如,图5描绘了更新的CAPTCHA质询12〇,其中描绘沙拉的每个图像已经由不描绘沙拉的图像替换。一旦不存在留下符合指定标准的图像,用户就能够选择验证框132。响应于验证框132的用户选择,能够确定是否授予用户对于期望的资源或服务的访问。例如,该确定能够至少部分地基于正确的用户响应的数量、描绘沙拉的呈现的图像的数量、和或与用户相关联的一个或多个风险评估分数。[0041]图6描绘了根据本公开的示例实施例的向用户提供验证质询的示例方法200的流程图。方法2〇0能够由一个或多个计算设备实施,诸如图9中描绘的计算设备中的一个或多个。在具体实施方式中,方法200的各种方面能够由图1中的CAPTCHA系统102实施。另夕卜,图6描绘了用于说明和讨论的目的以特定顺序执行的步骤。使用本文提供的公开,本领域的普通技术人员将理解,本文讨论的任何方法的步骤能够以各种方式调整、重新布置、扩展、省略、或修改而不偏离本公开的范围。[0042]在2〇2处,方法200能够包括向用户设备提供验证质询。如指示的,验证质询能够包括一个或多个对象、和提示用户以指定方式与一个或多个对象交互的相关联的指令。在204处,方法2〇〇能够包括从用户设备接收一个或多个用户响应。例如,每个用户响应能够指示用户与验证质询的对象的交互。[0043]在206处,方法200能够包括至少部分地基于多个用户响应确定一个或多个风险评估分数。例如,在一些实施方式中,风险评估分数能够至少部分地基于用户设备类型、一个或多个用户设备能力、与用户设备相关联的互联网协议地址、用户网站历史、和或用户是否参与各种其它网站服务而确定。在一些实施方式中,能够至少部分地基于用户对于验证质询的正确响应的百分比、和或用于接收用户响应花费的时间长度来确定风险评估分数。[0044]在一些实施方式中,能够为每个用户响应确定风险评估分数。例如,如以下关于图7更详细描述的,能够响应于第一用户响应来确定初始风险评估分数,并且能够响应于一个或多个后续用户响应来确定一个或多个更新的风险评估分数。以这种方式,每个风险评估分数能够对应于用户响应。[0045]在一些实施方式中,能够在向用户设备提供验证质询之前确定风险评估分数。以这种方式,能够至少部分地基于风险评估分数来选择和或生成验证质询。例如,在其中验证质询包括多个图像和提示用户选择符合指定标准的每个图像的指令的实施方式中,能够至少部分地基于风险评估分数来确定符合标准的图像的数量。[0046]在208处,方法2〇〇能够包括至少部分地基于多个风险评估分数来更新验证质询。例如,在其中对于每个用户响应确定或更新风险评估分数的实施方式中,能够至少部分地基于每个更新的风险评估分数来更新验证质询。在一些实施方式中,更新验证质询能够包括用替换图像来替换由用户在用户响应中选择的图像。能够至少部分地基于风险评估分数来确定替代图像。例如,能够选择替换图像,使得替换图像符合指定标准或使得替换图像不符合指定标准。[0047]在这样的实施方式中,能够至少部分地基于对应于用户响应的风险评估分数来确定替换图像是否符合指定标准。例如,如果对应的风险评估分数小于阈值,则能够选择替换图像,使得替换图像不符合指定的标准。以这种方式,如果对应的风险评估分数大于阈值,则能够选择替换图像,使得替换图像符合指定的标准。[0048]图7描绘了动态更新呈现给用户的验证质询的示例方法300的流程图。例如,在302处,方法CB00能够包括从用户设备接收对于验证质询的初始用户响应。初始用户响应能够指示由用户选择的第一对象例如图像。[0049]在(304处,方法300能够包括确定与用户和或用户设备相关联的初始风险评估分数。如上所述,初始风险评估分数能够对应于初始用户响应。[0050]在(306处,方法300能够包括用第一替换图像替换第一选择的图像。能够至少部分地基于初始风险评估分数来选择替换图像。具体而言,如上所述,能够至少部分地基于初始风险评估分数来选择替换图像以符合验证质询的指定标准或不符合指定标准。[0051]在(308处,方法(300能够包括接收指示额外选择的图像的额外用户响应。在310处,方法300能够包括至少部分地基于额外用户响应来更新风险评估分数。例如,能够确定更新的风险评估分数以反映额外用户响应。作为示例,更新的风险评估分数可以与初始风险评估分数不同,或者更新的风险评估分数可以与初始风险评估分数相同。[0052]在312处,方法300能够包括至少部分地基于更新的风险评估分数用第二替换图像替换额外选择的图像。具体地,能够至少部分地基于初始风险评估分数来选择替换图像以符合验证质询的指定标准或不符合指定标准。[0053]如上所述,当用户已经圆满地解决了验证质询时,用户能够被验证并被授权对于期望的资源或服务的访问。例如,图8描绘了根据本公开的示例实施例的验证用户的示例方法400的流程图。[0054]在(402处,用户设备能够从资源提供者请求资源或对于在线服务的访问。在404处,资源提供者能够从用户设备接收请求。[0055]在406处,资源提供者能够指示用户设备直接与计算机化的CAPTCHA系统参加验证过程。在408处,用户设备能够从资源提供者接收指令以直接与计算机化的CAPTCHA系统参加验证过程。作为示例,资源提供者能够在406处通过重定向用户设备的浏览器来指示用户设备,使得它直接与计算机化的CAPTCHA系统连接并开始验证过程。[0056]作为另一示例,在406处,资源提供者能够向用户设备提供客户端脚本,该客户端脚本在由用户设备运行时导致用户设备与计算机化的CAPTCHA系统直接参加验证过程。例如,客户端脚本能够包括在内联框架、嵌入式对象、门户组件portlet、或其它嵌入式应用或小部件中。在一些实施方式中,客户端脚本能够包括在从计算机化CAPTCHA系统提供给资源提供者的插件中。此外,在一些实施方式中,在406处,资源提供者能够向用户设备提供公钥,该公钥向计算机化的CAPTCHA系统标识资源提供者。[0057]在410处,用户设备能够直接向计算机化的CAPTCHA系统发送请求以参加验证过程。在41¾处,计算机化的CAPTCHA系统能够接收来自用户设备的请求。[0058]作为示例,在410处发送的请求能够根据与计算机化的CAPTCHA系统相关联的应用编程接口而格式化。例如,请求能够作为运行在406处向用户设备提供的客户端脚本的结果而被发送。此外,在一些实施方式中,在41〇发送的请求能够包括与资源提供者相关联的公钥。[0059]在(414处,计算机化的CAPTCHA系统能够选择CAPTCHA质询并向用户设备提供CAPTCHA质询。在一些实施方式中,CAPTCHA质询能够包括多个可选对象和提示用户以指定方式选择一个或多个对象的一个或多个相关联的指令。在一些实施方式中,能够至少部分地基于与用户和或用户设备相关联的风险评估分数来选择CAPTCHA质询。[0060]在一些实施方式中,在414处,能够基于各种其它合适的因素来选择质询格式、质询类型、或质询的其它属性。例如,在用户设备是移动设备诸如,例如智能手机或平板电脑)的实例中,然后,在(414处,计算机化的CAPTCHA系统能够选择为移动设备设计的CAPTCHA质询。[0061]在416处,用户设备能够从计算机化的CAPTCHA系统接收CAPTCHA质询,并且例如在用户设备的显示器上向用户呈现CAPTCHA质询。在418处,用户设备能够从用户接收对于CAPTCHA质询的响应并将响应发送到计算机化的CAPTCHA系统。在420处,计算机化的CAPTCHA系统能够接收来自用户设备的响应。[0062]在422处,计算机化的CAPTCHA系统能够确定CAPTCHA质询是否已经完成。如上所述,在CAPTCHA质询完成之前,CAPTCHA质询可以要求多个用户响应。例如,在其中CAPTCHA质询提示用户选择符合标准的每个图像的实施方式中,当符合标准的每个图像已经由不符合标准的图像替换时,能够完成CAPTCHA质询。在一些实施方式中,能够响应于指示CAPTCHA质询完成的用户输入而做出CAPTCHA质询是否完成的确定。例如,用户可以选择提示CAPTCHA系统确定CAPTCHA质询完成的验证指示符。[0063]如果在似4处没有完成CAPTCHA质询,则CAPTCHA系统能够更新CAPTCHA质询并向用户设备提供更新。例如,更新CAPTCHA质询可以包括至少部分地基于确定的风险评估分数用替换图像替换由用户选择的图像。在一些实施方式中,能够至少部分地基于用户对于CAPTCHA质询的响应而确定风险评估分数。一旦CAPTCHA质询已经更新,方法400能够返回到416。以这种方式,能够输入一个或多个额外的用户响应并将其提供给CaptcHA系统,直到CAPTCHA质询已经完成。[0064]参考返回(422,如果CAPTCHA质询已经完成,则方法400能够前进到426。在426处,如果满足一个或多个验证条件,则计算机化的CAPTCHA系统能够生成验证令牌并将其提供给用户设备。例如,能够至少部分地基于对于CAPTCHA质询的(多个用户响应和或与用户相关联的多个风险评估分数而确定是否满足条件。在428处,用户设备能够从计算机化的CAPTCHA系统接收验证令牌。[0065]作为示例,如果在424处接收的响应正确地解决或者以其它方式满足CAPTCHA质询,则计算机化的CAPTCHA系统能够在426处生成验证令牌并且将其提供给用户设备。验证令牌能够是认证证书或其它安全或认证设备或机制。例如,在一些实施方式中,验证令牌能够包括用户设备标识符或其它信息的散列,或者能够并入资源提供者的公钥。[0066]将理解,在一些实施方式中,步骤410-426能够被认为是验证过程。此外,在一些实施方式中,能够经由包括在资源提供者的网址中的内联框架、嵌入式对象、门户组件、或其它嵌入式小部件或应用发生步骤410-426。[0067]在428处,用户设备能够向资源提供者提供验证令牌。在430处,资源提供者能够从用户设备接收验证令牌。[0068]在432处,资源提供者能够将验证令牌发送到计算机化的CAPTCHA系统。在一些实施方式中,在432处,资源提供者也能够将其私钥与验证令牌一起发送到计算机化的CAPTCHA系统。[0069]在434处,如果验证令牌有效,则计算机化CAPTCHA系统能够向资源提供者提供验证令牌的校验。如果验证令牌无效或已经被篡改,则计算机化的CAPTCHA系统能够通知资源提供者验证令牌无效。[0070]在436处,资源提供者能够从计算机化的CAPTCHA系统接收验证令牌的校验。响应于在436处接收校验,在438处,资源提供者能够向用户设备提供对于资源的访问。在440处,用户设备能够访问资源。[0071]图9描绘了能够用于实施根据本公开的示例方面的方法和系统的示例计算系统500。例如,系统500能够托管计算机化的CAPTCHA系统。能够使用包括经过网络540与一个或多个客户端设备530通信的服务器510的客户端-服务器架构来实施系统500。能够使用其它合适的架构诸如单个计算设备来实施系统500。[0072]系统500包括服务器510,诸如网站服务器。能够使用任何合适的(多个计算设备来实施服务器510。服务器510能够具有一个或多个处理器512和一个或多个存储设备514。服务器510也能够包括用于经过网络540与一个或多个客户端设备例如用户设备530通信的网络接口。网络接口能够包括用于与一个或多个网络交互的任何合适的组件包括例如发送器、接收器、端口、控制器、天线、或其它合适的组件)。[0073]一个或多个处理器512能够包括任何合适的处理设备,诸如微处理器、微控制器、集成电路、逻辑设备、或其它合适的处理设备。一个或多个存储设备514能够包括一个或多个计算机可读介质,包括但不限于非暂时性计算机可读介质、RAMrandomaccessmemory,随机存取存储器)、R〇Mreadonlymemory,只读存储器)、硬盘驱动器、闪存驱动器、或其它存储设备。一个或多个存储设备514能够存储能由一个或多个处理器512访问的信息,包括能够由一个或多个处理器512运行的计算机可读指令516。指令516能够是当由一个或多个处理器512运行时导致一个或多个处理器512执行操作的指令的任何集合。例如,指令516能够由一个或多个处理器512运行以实施参考图1描述的CAPTCHA生成器106、风险评分器108、和或用户校验器110。[0074]如图9中所示,一个或多个存储设备514也能够存储能够由一个或多个处理器512检索、操纵、创建、或存储的数据518。数据518能够包括例如图像数据、CAPTCHA质询、和其它数据。数据518能够存储在一个或多个数据库中。一个或多个数据库能够由高带宽的LAN或WAN连接到服务器510,或者也能够通过网络540连接到服务器510。一个或多个数据库能够拆分,使得它们位于多个场所中。[0075]服务器510能够经过网络540与一个或多个客户端设备530交换数据。尽管图9中示出了两个客户端设备53〇,任何数量的客户端设备530能够经过网络540连接到服务器510。客户端设备530中的每一个能够是任何合适类型的计算设备,诸如通用计算机、专用计算机、膝上型计算机、台式计算机、移动设备、导航系统、智能电话、平板电脑、可佩戴计算设备、具有一个或多个处理器的显示器、或其它合适的计算设备。[0076]类似于服务器510,客户端设备530能够包括一个或多个处理器532和存储器534。一个或多个处理器532能够包括一个或多个中央处理单元(centraiprocessingunit,CPU、专用于髙效渲染图像或执行其它专业计算的图形处理单元graphicsprocessingunit,GPU、和或其它处理设备。存储器534能够包括一个或多个计算机可读介质并且能够存储由一个或多个处理器532可访问的信息,包括能够由一个或多个处理器532运行的指令536、和数据538。例如,存储器534能够存储指令53G,用于实施根据本公开的示例方面确定的用于显示CAPTCHA质询的用户界面模块。[0077]图9的客户端设备530能够包括用于提供和接收来自用户的信息的各种输入输出设备,诸如触摸屏幕、触摸板、数据进入键、扬声器、和或适合于语音识别的麦克风。例如,客户端设备530能够具有用于呈现显示根据本公开的示例方面的CAPTCHA质询的用户界面的显示器设备535。[0078]客户端设备530也能够包括用于经过网络540与一个或多个远程计算设备例如服务器510通信的网络接口。网络接口能够包括用于与一个或多个网络交互的任何合适的组件,包括例如,发射器、接收器、端口、控制器、天线、或其它合适的组件。[0079]网络540能够是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如互联网)、蜂窝网络、或其某种组合。网络540也能够包括客户端设备530与服务器510之间的直接连接。通常,能够使用任何类型的有线和或无线连接、使用各种通信协议(如TCPIPTransmissionControlProtocolInternetProtocol,传输控制网络通讯协议)、HTTPHyperTextTransferProtocol,超文本传输协议)、SMTPSimpleMessageTransferProtocol,简单邮件传输协议)、FTPFileTransferProtocol,文件传输协议)、编码或格式(例如HTMLHypertextMarkupLanguage,超文本标记语言)、XMLExtensiveMarkupLanguage,可扩展标示语言)、和或保护方案(例如VPNVirtualPrivateNetwork,虚拟专用网络)、安全HTTP、SSLSecureSocketsLayer,安全套接层),经由网络接口而实行服务器510与客户端设备530之间的通信。[0080]本文讨论的技术做出对于服务器、数据库、软件应用、和其它基于计算机的系统的参考、以及采取的行动和传送到这样的系统和从这样的系统传送的信息。本领域的普通技术人员将认识到,基于计算机的系统的固有灵活性允许组件之间以及组件当中的任务和功能性的各种可能的配置、组合、和划分。例如,能够使用单个服务器或组合工作的多个服务器实施本文讨论的服务器过程。数据库和应用可以在单个系统上实施或跨越多个系统分布。分布式组件可以顺序地或并行地操作。[0081]虽然己经关于本发明的特定示例实施例详细描述了本主题,但是应该理解,本领域技术人员在获得对前述的理解时可以容易地产生对于这样的实施例的替代、变化、和等同物。因此,本公开的范围是以示例的方式而非限制的方式,并且主题公开不排除对于本主题的这样的修改、变化、和或添加的包括,这对于本领域普通技术人员将是显而易见的。

权利要求:I•一种动态更新验证质询的计算机实施的方法,方法包括:由一个或多个计算设备从用户设备接收对于访问在线资源的请求;响应于接收对于访问在线资源的请求,由一个或多个计算设备向用户设备提供验证质询,验证质询包括多个对象和提示用户设备的用户与多个对象中的至少一个对象交互的一个或多个指令;由一个或多个计算设备接收对于验证质询的一个或多个用户响应,每个用户响应对应于用户与来自多个对象的对象的交互;以及由一个或多个计算设备至少部分地基于一个或多个用户响应来确定与用户设备的用户相关联的一个或多个风险评估分数;响应于一个或多个用户响应中的每一个,由一个或多个计算设备至少部分地基于一个或多个风险评估分数和一个或多个用户响应更新验证质询。2.根据权利要求1所述的计算机实施的方法,还包括由一个或多个计算设备至少部分地基于一个或多个用户响应和一个或多个风险评估分数来确定是否授予用户对于在线资源的访问。3.根据任一前述权利要求所述的计算机实施的方法,其中一个或多个风险评估分数中的每一个提供用户是非法人类CAPTCHA用户的可能性的度量。4.根据任一前述权利要求所述的计算机实施的方法,其中一个或多个指令提示用户从多个对象选择符合标准的每个对象。5.根据任一前述权利要求所述的计算机实施的方法,其中多个对象包括第一子集和对象的第二子集,第一子集包括符合标准的一个或多个对象,对象的第二子集包括不符合标准的一个或多个对象。6.根据任一前述权利要求所述的计算机实施的方法,其中由一个或多个计算设备更新验证质询包括由一个或多个计算设备用替换对象替换由用户选择的对象。7.根据权利要求6所述的计算机实施的方法,其中由一个或多个计算设备用替换对象替换由用户选择的对象包括:当风险评估分数小于阈值时,由一个或多个计算设备用不符合标准的替换对象替换由用户选择的对象;以及当风险评估分数大于阈值时,由一个或多个计算设备用符合标准的第二对象替换由用户选择的对象。8.根据任一前述权利要求所述的计算机实施的方法,其中多个对象包括多个图像。9.根据任一前述权利要求所述的计算机实施的方法,其中至少部分地基于用户设备类型、一个或多个用户设备能力、与用户设备相关联的互联网协议地址、用户网站历史、或用户是否参与各种其它网站服务来确定每个风险评估分数。10.根据任一前述权利要求所述的计算机实施的方法,其中至少部分地基于用户响应对于验证质询是正确的百分比来确定每个风险评估分数。II•根据任一前述权利要求所述的计算机实施的方法,其中至少部分地基于用于接收对应的用户响应花费的时间长度来确定每个风险评估分数。12.根据任一前述权利要求所述的计算机实施的方法,其中由一个或多个计算设备确定一个或多个风险评估分数包括:田一个或多个计算设备确定第一风险评估分数;以及由一个或多个计算设备更新第一风险评估分数以确定更新的风险评估分数;并且可选地由一个或多个计算设备至少部分地基于更新的风险评估分数来更新验证质询。13.根据任一前述权利要求所述的计算机实施的方法,其中一个或多个风险评估分数中的每一个对应于用户响应。14.一种计算系统,包括:一个或多个处理器;和一个或多个存储设备,所述一个或多个存储设备存储计算机可读指令,所述计算机可读指令在由一个或多个处理器运行时导致一个或多个处理器实行根据前述任一权利要求的方法。I5•—个或多个有形非暂时性计算机可读介质,其存储计算机可读指令,计算机可读指令在由一个或多个处理器运行时导致一个或多个处理器实行根据权利要求1至13中的任一项的方法。

百度查询: 谷歌有限责任公司 动态更新CAPTCHA质询

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。