一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

防篡改交互数据的制作方法

2022-02-22 17:52:01 来源:中国专利 TAG:

防篡改交互数据


背景技术:

1.程序性点击会导致虚假信息的广泛传播,这会严重恶化用户的在线体验,浪费原本可以用来传播准确信息的计算资源。


技术实现要素:

2.本说明书描述了与数据处理和生成不可伪造的证明令牌以验证人类与内容的交互同时保护用户隐私相关的技术。
3.一般而言,本说明书中描述的主题的一个创新方面可以体现在方法中,所述方法包括以下动作:接收在客户端设备上的活动窗口中定义的呈现元素的呈现通知;接收在客户端设备上的活动窗口中定义的呈现元素的声明;检测在客户端设备处与呈现元素的交互;基于所接收的声明,确定交互是否发生在活动窗口内呈现元素的声明位置;以及基于确定交互是否发生在声明位置,处理交互。处理交互包括:响应于确定交互发生在呈现元素的声明位置:捕获客户端设备上的活动窗口的屏幕截图,用呈现元素的声明外观验证屏幕截图中呈现元素的视觉外观,以及为与呈现元素的交互生成交互证明,从而验证该交互。响应于确定交互没有发生在呈现元素的声明位置,避免生成用于与呈现元素的交互的交互证明。
4.该方面的其他实施例包括相对应的系统、装置和计算机程序,其被配置为执行在计算机存储设备上编码的方法的动作。
5.这些和其他实施例可以各自可选地包括以下特征中的一个或多个。在一些实现中,呈现通知包括i)呈现元素在活动窗口中的位置、ii)呈现元素的稳定id和uri、以及iii)呈现呈现元素的站点或域中的一个或多个。
6.在一些实现中,接收呈现元素的声明包括接收呈现元素的经过验证的外观。经过验证的外观可以包括唯一的稳定id和/或稳定url以及经过验证的形状。
7.在一些实现中,利用呈现元素的声明外观来验证屏幕截图中呈现元素的视觉外观包括使用图像匹配算法。
8.在一些实现中,检测交互包括接收指定活动窗口内用户点击的xy坐标的选择信号。
9.在一些实现中,所述方法还包括聚合用于与呈现元素的多个实例的多个交互的交互证明。交互证明可以包括i)声明外观的稳定id和/或uri、ii)交互的时间戳、iii)设备完整性令牌、iv)客户端设备的数字签名、v)交互的xy坐标和vi)客户端设备公钥中的一个或多个。声明外观的稳定id和/或uri可以包括交互的用户意图,其中用户意图可以对应于由呈现元素的外观所传达的动作。
10.在一些实现中,所述方法还包括:响应于包括用户意图的交互证明,基于用户意图修改交互的报告。所述方法还可以包括:响应于确定交互不同于用户意图,确定呈现元素是虚假呈现元素并触发虚假交互响应。所述方法还可以包括响应于触发虚假交互响应,拦截客户端设备到虚假呈现元素的登录页的路径。
11.在一些实现中,响应于确定交互没有发生在呈现元素的声明位置,所述方法包括触发虚假交互响应。
12.可以实现本说明书中描述的主题的特定实施例,以便实现以下一个或多个优点。验证真实用户已在远程客户端设备处与呈现元素(例如,按钮、拇指向上/向下等)交互,可以保障数字组件(例如,新闻文章)的排名机制的真实性,并且防止不良行为者操纵排名的数字组件集。通过使用第三方验证来验证呈现组件在远程客户端设备上的外观,系统可以确保实际用户正在与预期呈现元素(例如按钮)进行交互,而不是隐藏的或被操纵的元素,该隐藏的或被操纵的元素可能正试图发起继发动作或完全劫持交互。该主题可用于使用保护用户隐私的经过验证的证明令牌来快速识别通过在线系统分发的伪呈现元素。使用经过验证的证明令牌,系统可以确保检测到的交互由实际用户在远程客户端设备上执行,并且在检测到的交互的时刻实际向用户提供了内容。这种类型的验证使用由一个或多个设备创建的可验证数字签名,人工操作员无法伪造这些签名来验证与远程客户端设备上的内容的交互。
13.通过确保正在处理的呈现用户界面(ui)元素在处理继发动作(例如,链接到登录页、调整与呈现元素相关联的底层排名机制等)之前是有效的,处理、存储器、以及用于向最终用户提供内容的资源被减少,因为没有使用资源来存储、分发或呈现与虚假呈现元素相关联的虚假信息。此外,使用证明令牌可以帮助以更可靠和更有效的方式将数字组件呈现的呈现元素分类为虚假,减少存储和分发误导性信息所需的资源。例如,证明令牌被配置为确保与呈现元素的交互是由实际暴露于和/或点击实际呈现元素的用户进行的,同时仍然保持用户的隐私。因此,可以确认交互是合法的,而不是由恶意参与者(例如,试图伤害特定内容分发者的实体)进行的。因此,资源不会浪费在处理非法的虚假呈现元素警报上,并且,由于能够使用证明令牌验证每个呈现元素是合法的还是非法的,因此提供关于包含虚假呈现元素的数字组件的信息的结果度量和/或报告变得更准确并且被更有效地创建。此外,本文档中描述的技术使得系统能够在向用户呈现可能是虚假或误导的内容时警告用户,从而向用户提供避免误导或恶意内容的能力。
14.本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。通过说明书、附图和权利要求书,所述主题的其他特征、方面和优点将变得显而易见。
附图说明
15.图1是数字组件系统分发数字组件的环境的框图。
16.图2a和2b是其中呈现元素交互是经过验证的的环境框图。
17.图3是示出用于验证与呈现元素的交互的示例过程的流程图。
18.图4是示例计算机系统的框图。
具体实施方式
19.概述
20.一般来说,本文档涉及计算机实现的方法和系统,使用经过验证的呈现元素外观和交互证明以验证与虚假呈现元素(例如,误导性和/或不可见按钮)的交互,这些元素与数字组件(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一个内容单元)一起呈现。
操作系统或其他受信任的应用程序或web浏览器可以报告用户与客户端设备上的活动窗口中的呈现元素的交互(例如,在应用程序环境或网站中),以及与呈现元素在活动窗口中的外观相关的信息,例如,活动窗口的屏幕截图。呈现元素的外观可以由第三方验证,并包括展示呈现元素的应用程序和/或web浏览器可访问的外观声明。可以使用呈现元素外观的第三方声明和客户端设备的活动窗口的屏幕截图来验证呈现元素,以验证用户的交互是有意的。将交互验证为人工交互(而不是自动交互或bot交互),并将呈现元素验证为非虚假呈现元素,可以限制、修改或阻止虚假呈现元素被用于分发展示虚假信息的数字组件,如本文所述。
21.例如,用于应用程序的操作系统(os)和浏览器可以以隐私保护方式验证用户与呈现元素的交互,使得可以使用实现隐私保护聚合测量的中央聚合服务器来识别虚假呈现元素。聚合的虚假呈现元素报告可以从经过验证的用户与呈现元素的交互中生成,其可用于提醒用户客户端设备上的活动窗口中存在潜在的虚假呈现元素。用于验证用户与呈现元素的交互的系统和方法在下面参考图2a、2b和3进一步详细描述。
22.操作环境示例
23.图1是数字组件系统150在其中分发数字组件的环境100的框图。示例环境100包括数据通信网络105,诸如局域网(lan)、广域网(wan)、因特网、移动网络或其组合。网络105连接客户端设备110、发布者130、网站140、数字组件分发系统150、检测系统170、聚合系统180和报告系统190。示例环境100可以包括不同的客户端设备110、发布者130和网站140。在一些实现中,环境100还可以包括多个数字组件分发系统150。
24.网站140是与域名相关联并由一个或多个服务器托管的一个或多个资源145。一个示例网站是用html格式化的web页面的集合,可以包含文本、图像、多媒体内容和编程元素,诸如脚本。每个网站140由发布者130维护,发布者130是控制、管理和/或拥有网站140的实体。
25.资源145是可以通过网络105提供的任何数据。资源145由与资源145相关联的资源地址(例如,通用资源定位器(url))标识。资源包括html页面、字处理文档和可移植文档格式(pdf)文档、图像、视频和馈源,仅举几个示例。资源可以包括内容,诸如单词、短语、图像和声音,这些内容可以包括嵌入的信息(诸如超链接中的元信息)和/或嵌入的指令(诸如脚本)。
26.客户端设备110是能够通过网络105进行通信的电子设备。示例客户端设备110包括个人计算机、移动通信设备(例如,智能电话)和能够通过网络105发送和接收数据的其他设备。
27.客户端设备110通常包括应用程序112,诸如web浏览器和/或本机应用,以便于通过网络105发送和接收数据。本机应用是为特定平台或特定设备开发的应用。发布者130可以开发并提供(例如,可供下载)本地应用到客户端设备110。在一些实现中,客户端设备110是数字媒体设备,例如,插入电视或其他显示器以将视频流到电视的流设备。数字媒体设备还可以包括流式传输视频和/或呈现资源的web浏览器和/或其他应用程序。
28.例如,响应于客户端设备110的用户在web浏览器的地址栏中输入资源145的资源地址或选择引用资源地址的链接,web浏览器可以从托管发布者130的网站140的web服务器请求资源145。类似地,本机应用可以从发布者130的远程服务器请求应用程序内容。
29.一些资源145、应用程序页面或其他应用程序内容可以包括用于用资源145或应用程序页面呈现数字组件的数字组件槽(slot)。在本文档中,短语“数字组件”指数字组件或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一个内容单元)。数字组件可以作为单个文件或文件集合以电子方式存储在物理存储设备中,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是数字组件的一种类型。例如,数字组件可以是旨在补充由应用程序112呈现的网页或其他资源的内容的内容。更具体地,数字组件可以包括与资源内容相关的数字内容(例如,数字组件可以与网页内容的同一主题相关,或与相关主题相关)。由此,由数字组件分发系统150提供的数字组件可以补充并且通常增强网页或应用程序内容。
30.当应用程序112加载包括一个或多个数字组件槽的资源145(或应用程序内容)时,应用程序112可以从数字组件分发系统150为每个槽请求数字组件,反过来,从数字组件提供者160请求数字组件。数字组件提供者160是提供数字组件以用资源145呈现的实体。
31.在一些情况下,数字组件分发系统150还可以从一个或多个数字组件伙伴157请求数字组件。数字组件伙伴157是响应于数字组件请求而代表数字组件提供者160选择数字组件129(未示出)的实体。
32.数字组件分发系统150可以基于各种标准为每个数字组件槽选择数字组件。例如,数字组件分发系统150可以基于与资源145(或应用程序内容)的关联性、数字组件的性能(例如,用户与数字组件等交互的速率)等,从接收自数字组件提供者160和/或数字组件伙伴157的数字组件选择数字组件。然后,数字组件分发系统150可以将所选择的数字组件提供给客户端设备110,用于用资源145或其他应用程序内容呈现。
33.当应用程序112呈现数字组件时,应用程序112(可以是浏览器)可以存储用于呈现数字组件的印象数据114。用于数字组件的特定呈现的印象数据114可以包括用于数字组件的登录页的url或域(例如,由数字组件链接的页,并且当用户点击数字组件或与数字组件交互时,应用程序/浏览器向用户呈现该页)。在一些实现中,用于数字组件的特定呈现的印象数据114可以包括例如用于点击呼叫广告的电话号码,或者例如用于店内访问广告的商店地址。
34.用于数字组件的特定呈现的印象数据114还可以包括用于数字组件的一个或多个标识符、与印象相关联的事件级数据、指定何时从客户端设备110删除印象数据的到期时间、和/或将数字组件的转换报告发送到的报告url或域。该数据可以由数字组件提供,例如,作为数字组件的元数据或数字组件的锚定标签。如下面更详细地描述的,应用程序112可以存储由检测系统170盲签名的印象数据,而不是存储或者除了存储数字组件的每个印象的原始印象数据之外。
35.应用程序112还可以响应于检测到的转换而存储转换数据116。数字组件的转换是在数字组件呈现给用户和/或被用户交互(例如,点击或单击)之后完成指定的用户操作。用于转换的转换数据116可以包括指示转换类型的数据,因为一些转换可以具有多种类型。转换类型可以指定转换完成后的后续操作。例如,转换可以是将项目添加到在线购物车中。在该示例中,第一类型的转换可以是添加项目而不结账(例如,不完成购买),并且第二类型的转换可以是结账。转换的其他示例包括,给广告商的电话呼叫、应用程序的安装、对广告客户拥有的本地商店的访问等。如下面更详细地描述的,用于转换的转换数据可以是指示转
换类型的一个或多个比特的集合,并且应用程序可以存储由数字组件分发系统150(或另一适当系统)盲签名的转换数据。
36.在一些实现中,数字组件的转换包括用于用户与呈现在数字组件中的呈现元素交互的交互数据。包括用户与呈现元素的交互的交互数据117可以包括指示与呈现元素(例如按钮)的交互类型(例如,点击、滑动、手指向上/手指向下等)的数据。下面参考图2a-b和3更详细地描述与呈现元素的交互。
37.检测系统170可以评估从客户端设备110接收的检测信号,以确定印象、交互和/或转换是有效的还是无效的。检测信号可以取决于应用程序并且可以在不同的实现中变化。应用程序112(或客户端设备110上的操作系统)可以包括api,该api使得数字组件能够调用应用程序112(或客户端设备110上的操作系统)来收集检测信号并将检测信号提供给检测系统170。
38.除了检测信号之外,应用程序112还可以向检测系统170发送用于该印象的盲印象数据。如果检测系统170确定印象是有效的(例如,所识别的内容实际上由客户端设备呈现),检测系统170可以对盲印象数据进行签名,并将签名的盲印象数据提供给应用程序112。下面描述用于生成盲印象数据和对盲印象数据进行签名的示例技术。
39.聚合系统180可以基于从客户端设备110接收的数据来生成聚合的网络测量。在下面的描述中,用于生成和提供测量数据元素的技术被描述为由应用程序112执行,应用程序112可以是web浏览器或本机应用。然而,在一些实现中,客户端设备110的操作系统可以生成和发送测量数据元素。在这样的实现中,客户端设备110上的web浏览器和应用程序可以被配置为向操作系统报告印象和转换。操作系统可以执行用于报告下面描述的由应用程序112执行的印象和转换的每个操作。
40.客户端设备110上的应用程序112可以向聚合系统180提供包括表示网络数据的加密数据的测量数据元素。网络数据可以包括用于每个转换的印象数据和/或转换数据。例如,应用程序112可以生成并向聚合系统180发送在客户端设备110处发生的每个印象、用户交互和/或转换的测量数据元素。聚合的网络测量可以包括,对于一个或多个数字组件中的每一个,印象的总数,在多个客户端设备110之间,用于数字组件和(可选地)利用数字组件展示的呈现元素的用户交互和/或转换。
41.应用程序112可以使用(t,n)阈值方案来生成测量数据元素中的数据。在一些实现中,当应用程序112检测到转换或接收到用于转换的转换数据时,应用程序112基于用于转换的印象数据和转换数据生成组密钥(例如,多项式函数)。然后,应用程序可以生成组成员密钥,该组成员密钥表示组密钥的一部分,并且仅当接收到用于相同印象和转换对的足够数量的组成员密钥时,才可以使用该组成员密钥来重新生成组密钥。在该示例中,用于转换的测量数据元素可以包括由应用程序生成的组成员密钥和与印象和转换对相对应的标签。每个唯一印象和转换对可以具有相对应的唯一标签,使得聚合系统180可以使用其标签聚合用于每个印象和转换对的测量数据元素。
42.在一些实现中,当应用程序112检测到交互和/或转换或接收到用于交互和/或转换的交互和/或转换数据时,应用程序112基于印象数据、交互数据、用于交互和/或转换的交互数据生成组密钥(例如,多项式函数)。然后,应用程序可以生成表示组密钥的一部分的组成员密钥,并且仅当接收到用于相同印象和交互/转换对的足够数量的组成员密钥时,才
可以使用该组成员密钥来重新生成组密钥。在该示例中,用于交互/转换的测量数据元素可以包括由应用程序生成的组成员密钥和对应于印象和交互/转换对的标签。每个唯一印象和交互/转换对可以具有对应的唯一标签,使得聚合系统180可以使用其标签聚合每个印象和交互/转换对的测量数据元素。
43.在(t,n)阈值加密方案中,聚合服务器180将需要接收用于相同印象和交互/转换对的至少t个组成员密钥,以便能够解密印象和转换和/或交互数据。如果接收到少于t个组成员密钥,则聚合服务器180不能解密印象和转换和/或交互数据。一旦从客户端设备110接收到用于相同印象和转换和/或交互对的至少t个测量数据元素,聚合系统180就可以从至少t个组成员密钥确定组密钥,并从组密钥获得印象和转换和/或交互数据。
44.聚合系统180可以基于所接收的测量数据元素的数目来确定印象和转换对的转换量,所述测量数据元素包括印象数据、交互数据和/或用于印象和交互/转换对的转换数据。例如,在使用至少t个组成员密钥获得印象、交互和转换数据之后,聚合系统180可以确定为印象和交互/转换对接收的组成员密钥的数目的计数作为转换量。聚合系统180可以将印象数据、交互数据、转换数据以及交互和/或转换的数量报告给报告系统190,报告系统190可以被实现为与数字组件的报告url相对应的报告域,该报告域反过来,对应于印象和转换数据。
45.虚假呈现元素报告和验证
46.数字组件系统150可以将来自各种数字组件提供者160的数字组件分发到客户端设备110。数字组件可以包括呈现元素(例如按钮),其中用户可以与呈现元素交互。可以使用外观声明和在客户端设备110的活动窗口中捕获的呈现元素的外观的屏幕截图来验证呈现元素。此外,为了保护报告最终用户的隐私以及保护数字组件提供者160的利益,可以验证和聚合与呈现元素的交互。
47.图2a和2b是验证呈现元素交互的环境框图。虚假呈现元素是指呈现的元素,例如按钮或其他可选特征,呈现的数字组件对用户不可见或具有误导性。在某些实现中,虚假呈现元素可能触发用户不期望的交互。在一个示例中,在“关闭窗口”按钮(用户通过选择“关闭窗口”按钮来实现预期效果)上的隐藏按钮(例如,不包括屏幕上呈现的按钮的图形可视化的按钮的代码定义的交互区域)可以启动对另一应用程序或网页的请求,而不是关闭当前窗口或应用程序。在另一示例中,误导性呈现元素可以显示为“竖起拇指”图标,但是用户对误导性呈现元素的选择可以触发“向下投票”功能而不是预期的“向上投票”功能。
48.图2a是其中呈现元素交互是经过验证的的环境200的框图。交互验证系统202被配置为从客户端设备210上的操作系统208接收呈现通知204和交互警报206。交互验证系统202还被配置为接收应用程序218的活动窗口216中呈现元素214的经过验证的外观的声明212。另外,交互验证系统202被配置为从客户端设备210的操作系统208或另一可信应用程序218接收显示在客户端设备210上的活动窗口216的屏幕截图220。
49.在一些实现中,本文描述的由交互验证系统202执行的一个或多个过程可以由客户端设备210上的操作系统208或另一可信应用程序218执行。
50.交互验证系统202可以包括交互确定模块222、视觉分析模块224和证明生成器226。交互确定模块222、视觉分析模块224和证明生成器226中的每一个可以包括计算机存储可读介质,所述计算机存储可读介质被编码为具有参考相应模块来执行本文所述任务的
功能和/或被配置为执行所述任务的一个或多个处理器。交互确定模块222被配置为接收呈现通知204和交互警报206作为输入。呈现通知204可以包括呈现元素214在活动窗口216中的位置、呈现元素214的稳定标识(稳定id)和/或统一资源标识符(uri)以及呈现呈现元素214的站点或域。
51.呈现元素214是在活动窗口216(例如,客户端设备210上的活动窗口)中可见的元素。呈现通知204可以由通知操作系统208呈现元素214在活动窗口216中可见的应用程序生成。在另一实施例中,呈现通知204可以由通知web浏览器呈现元素214在网页的活动窗口中可见的网页/javascript生成,例如,如下面参考图2b所述。
52.呈现元素214可以由操作系统208作为对数字组件205的请求的一部分或附加请求来请求。对数字组件的请求可以包括呈现元素214,例如,具有分享、向上投票和向下投票按钮的新闻帖子。数字组件提供者234可以提供用于生成呈现元素214和包括用于呈现元素214的数字签名的呈现控制的模式。
53.每次活动窗口的外观改变时,例如通过用户滚动、调整大小或以其他方式改变活动窗口的当前视图,可以生成呈现通知204。跟踪活动窗口216内呈现元素214的位置可以包括跟踪用户滚动、缩放功能等,其中用户与滚动功能、缩放功能等的交互将触发更新呈现通知204的信号。在一些实现中,呈现通知可以由脚本(诸如突变观察者(mutation observer))或可以检测到用户界面(例如,网页的dom或本机应用程序用户界面的结构)的改变的另一脚本生成。
54.返回参考图2a,与呈现元素214的交互207可以包括但不限于用户选择,例如,点击、滑动、捏、鼠标悬停、或者指示在由呈现元素214声明为占据的区域内呈现元素的选择的其他运动。交互207可以是用户滚动数字组件205的至少一部分,例如滚动到新闻文章的底部。交互207可以是用户被动地允许数字组件205的回放,例如,音频、视频或多媒体文件的回放。在一个示例中,当用户的手指触碰到客户端设备210的触摸屏和/或从触摸屏提起时,检测到交互207。
55.另外,交互确定模块222接收声明212。接收呈现元素214的声明212可以包括接收呈现元素214的经过验证的外观。呈现元素214的经过验证的外观可以包括唯一稳定id,例如,资源文件的加密散列,或呈现rgb像素值的加密散列,和/或稳定uri,以及呈现元素214的验证形状。在一个示例中,验证形状包括尺寸和形状类型,例如,正方形、矩形、圆形等。在另一个示例中,验证形状包括尺寸范围和形状的一般类别和/或描述性标识符,例如,竖起拇指形状、停车标志形状、复选框形状。在另一示例中,验证形状可以由比特图(2d数组)表示,其中1表示“形状的一部分”,否则为0。这样的比特图可以表示任意复杂的形状。
56.声明212不是特定于用户的,例如,不是特定于特定用户或特定客户端设备210的。呈现元素214的声明外观对于各种客户端设备上的足够大的用户组是一致的。例如,声明外观包括尺寸范围和调色板,以适应不同客户端设备、显示特性和用户偏好之间可能的变化。在另一示例中,声明外观包括呈现元素214可能的多种语言和其他区域变化。
57.包括呈现元素的声明外观的声明212由第三方独立地验证为不具有误导性。在一个示例中,应用程序中的呈现元素可以由应用程序存储或列出该应用程序的其他提供者验证,例如,作为提供该应用程序的审查和批准过程的一部分。在另一个示例中,web资源中的呈现元素可以由web浏览器供应商和/或网站发布者的隐私组来验证。
58.第三方审阅者可以确定呈现的按钮是否满足审阅标准,例如,与呈现的按钮的交互将导致与用户意图匹配的操作,并对可用于验证呈现的元素的呈现元素资源(例如,png或比特图文件)进行数字签名。因此,用户意图可以对应于由呈现元素的外观所传达的动作。在某些实现中,第三方审阅者可以生成web浏览器可以访问的已批准外观的启用列表。
59.交互确定模块222基于所接收的声明212确定交互警报206的交互207是否发生在客户端设备210的活动窗口216内呈现元素214的声明位置。检测交互207是否发生在呈现元素214的声明位置可以包括从操作系统208或其它可信应用程序218接收指定用户点击的xy坐标或其它形式的用户与活动窗口216内呈现元素214的交互的选择信号,在呈现元素的声明位置处检测交互207包括接收活动窗口216中呈现元素占用的声明区域的x
’‑
x”和y
’‑
y”坐标范围,将交互207的x坐标和交互207的y坐标与x
’‑
x”和y
’‑
y”的范围进行比较,并确定交互207的x坐标和交互207的y坐标是否分别在x
’‑
x”和y
’‑
y”的范围内。
60.基于确定交互207发生在活动窗口216内呈现元素214的声明位置,交互确定模块222提供交互的确认作为对视觉分析模块224的输出。在一个示例中,操作系统208将通过检查交互207是否发生在声明为由呈现元素214占用的区域内来确定交互207发生在呈现元素的声明位置处。在另一个示例中,如图2b所描绘的,针对web资源254,浏览器252将检查交互257是否发生在声明为由呈现元素264占用的区域内。
61.视觉分析模块224被配置成从操作系统208接收包括呈现元素214的客户端设备210的活动窗口的屏幕截图220作为输入。此外,视觉分析模块224被配置为从用于呈现元素的声明212的存储库接收呈现元素214的声明作为输入。视觉分析模块224使用来自呈现元素214的声明212的呈现元素214的声明外观来验证屏幕截图220中呈现元素214的视觉外观。
62.在一些实现中,验证呈现元素的视觉外观包括利用一个或多个图像匹配算法将声明外观与屏幕截图220进行比较。例如,图像匹配算法可以提取呈现元素的图像特征(例如,像素数据),识别与呈现元素相对应的存储的图像特征集(例如,如先前由呈现元素的发布者声明的),并且将提取的图像特征与存储的图像特征进行比较,以确定所提取的图像特征与存储的图像特征之间是否存在匹配。当验证呈现元素的视觉外观时,可以考虑由于呈现差异而产生的变化,例如由于缩放、屏幕色调/亮度/对比度调整、用于呈现元素文本的字体等。例如,当将屏幕截图220与用于呈现元素214的声明212进行比较时,图像匹配算法可以允许在呈现中使用算法进行小的变化,以规范化尺寸、对比度、亮度等,例如,使用二维归一化互相关算法或其他适当算法的变体。
63.在一些实现中,声明212可以包括“真”呈现值,这些呈现值不受色调遮罩、方面倾斜或当在特定客户端设备或web资源上呈现元素时可能发生的其他类似呈现变化的影响。在本实施例中,操作系统和/或浏览器可以利用声明212,而不必考虑呈现中的任何小变化。在一个示例中,操作系统可以具有包括独立于设备的比特图的呈现体系结构。
64.在一些实现中,对呈现元素214的视觉外观和呈现元素的声明外观的验证包括满足相似性阈值,例如,呈现元素的呈现外观在与呈现元素的声明外观的可变性范围内。
65.基于对呈现元素214的视觉外观是匹配的和/或在相似性阈值内的验证,视觉分析模块224提供交互验证,作为对证明生成器226的输出。
66.证明生成器226被配置为接收视觉外观的验证和关于与呈现元素214的交互的信
息作为输入,并生成交互证明令牌221作为输出。交互证明令牌221可以包括声明外观的稳定id和/或uri、交互207的时间戳、信任令牌(例如,用于操作系统的设备完整性令牌或用于web浏览器的签名赎回记录(srr))、由客户端设备210生成的用于验证交互证明令牌的完整性(例如,验证生成证明令牌的受信任设备)的数字签名、在活动窗口中发生交互的位置的xy坐标、客户端设备公钥和由操作系统或web浏览器创建的不可伪造的数字签名(例如,用于证明交互证明令牌的真实性)。
67.在一些实现中,包括在证明令牌中的呈现元素的外观的稳定id和/或uri传达了用户与呈现元素交互的真实意图。例如,如果uri指向数字组件(例如,视频内容)的“竖起拇指”图标,则证明令牌证明用户确实单击了“竖起拇指”按钮以向上投票视频内容。基于由证明令牌证明的实际意图,数字内容提供者234可以相应地动作,例如增加“竖起拇指”计数。
68.在一些实现中,用户意图对应于由呈现元素的外观所传达的动作。可以基于证明令牌中包括的用户交互的真实意图来修改用户交互的报告。换句话说,可以基于呈现元素的实际外观(用户认为他们与之进行了交互)修改报告。例如,服务器可以防止响应于传递“向下投票”用户意图的证明令牌中呈现的元素而增加“向上投票”计数。这可以防止虚假或误导性信息的传播,并且可以改善用户未来的体验。
69.在交互确定模块222和/或视觉分析模块确定交互没有发生在呈现元素的声明位置的场景中,系统202避免生成用于与呈现元素214的交互207的交互证明令牌221。
70.所生成的证明令牌221可以被提供给交互验证服务器203并被存储用于进一步用于与数字组件205的呈现元素214的交互的聚合。交互验证服务器203可以包括聚合引擎228和响应生成器230。服务器203可以接收证明令牌221作为输入。聚合引擎228可以聚合用于与呈现元素124的多个实例的多个交互的交互证明,例如,由多个用户在多个客户端设备210上与呈现元素214的多个经过验证的呈现/交互。
71.在一些实现中,系统202可以将用于触摸屏上用户的“手指向下”交互的交互证明令牌221与用于触摸屏上用户的“手指向上”交互的交互证明令牌221配对在一起,例如,顺序交互,并将该对交互证明令牌221提供给数字组件提供者234或另一感兴趣的第三方。这两个交互证明令牌可以部分地基于具有呈现元素的声明外观的稳定id和/或uri、设备公钥和包括在这两个证明令牌中的令牌创建时间戳来配对,以防止用户欺诈或错误信息。
72.响应生成器230可以接收交互证明令牌221和虚假交互响应,并提供虚假呈现元素响应232作为输出。例如,可以将虚假呈现元素响应232提供给客户端设备210和/或数字组件205的数字组件提供者234。
73.在一些实现中,响应于确定交互207没有发生在呈现元素214的声明位置,交互验证系统202可以触发虚假交互响应。可以向服务器203提供虚假交互响应。聚合引擎228可以使用用于数字组件205的证明令牌(例如,印象数据114和点击转换证明116)以及用于呈现元素的交互证明令牌221来验证虚假交互响应。聚合引擎228可以聚合经过验证的虚假交互响应以维护触发虚假交互响应的用户的用户隐私。当与呈现元素交互的用户的阈值部分将呈现元素标记为虚假呈现元素时,可以将呈现元素报告为虚假呈现元素。可以向内容提供者、发布者和最终用户提供虚假呈现元素的报告。因此,可以限制、修改或停止数字组件(包括虚假呈现元素)的分发。数字组件提供者234可以将设备210或应用程序218视为不可信任的,如果它们具有过多量的虚假呈现元素。数字组件提供者可以阻止或以其他方式限制向
这些设备或应用程序提供内容。
74.在一些实现中,由交互确定模块222、视觉分析模块224、证明生成器226以及可选地聚合引擎228和响应生成器230执行的处理可以由更多或更少的模块执行,并且每个模块可以包括一个或多个处理器。
75.在一些实现中,可以例如通过web浏览器来执行参照图2a在操作系统208和应用程序218方面描述的方法和系统。图2b是验证虚假呈现元素交互的另一环境250的框图。如图2b所示,交互验证系统202被配置为从web浏览器252接收呈现通知204和交互警报206。交互验证系统202还被配置为接收在web资源254的活动窗口216中呈现元素214的经过验证的外观的声明212。此外,交互验证系统202被配置为从web浏览器252接收显示web资源254的活动窗口216的屏幕截图220。
76.如图2b所示,与呈现元素264的交互257是用户交互或选择(例如,使用鼠标点击)用于数字组件255(例如,弹出窗口)的“关闭窗口”呈现元素264。图2b中描绘的呈现元素264可以是虚假呈现元素,其中与用户交互(例如,点击)相关联的动作与用户意图不同。例如,与呈现元素264的交互257的用户意图是关闭数字组件255,例如,关闭弹出窗口。然而,与呈现元素264的交互不是关闭数字组件255,而是导致重定向到新的登录页,或者被计为对广告的点击,这是典型的广告欺诈类型。
77.在一些实现中,响应于确定交互257具有虚假呈现元素,可以触发虚假交互响应。响应于虚假交互响应被触发,服务器可以拦截客户端设备的路径,以防止用户由于虚假呈现元素而到达新的登录页。例如,服务器可以通过阻止重定向到新的登录页来拦截路径。这减少了呈现虚假呈现元素重定向到的登录页时资源和处理的使用。
78.图3是示出用于验证与呈现元素的交互的示例过程300的流程图。用于验证与呈现元素的交互的过程300可以由操作系统208或另一可信应用程序218执行,如图2a所示,和/或可以由web浏览器252执行,如图2b所示。
79.接收在客户端设备上的活动窗口中定义的呈现元素的呈现通知(302)。呈现通知204由系统202从应用程序218或web资源254接收。在一些实现中,操作系统208和/或另一可信应用程序或web浏览器252可以分别从应用程序218或web资源254接收呈现通知。呈现通知204包括关于在客户端设备或网站的活动窗口216中可见的呈现元素214、264的信息,例如,在活动窗口中呈现的元素的位置、呈现元素的稳定id和uri、以及调用该元素的站点或域。呈现元素214、264可以是在客户端设备210上呈现数字组件205的元素。
80.接收在客户端设备上的活动窗口中定义的呈现元素的声明(304)。可以从由第三方验证的声明212的存储库接收声明212。操作系统208或web浏览器252响应于接收到呈现元素在客户端设备或网页的活动窗口中可见的呈现通知,可以请求呈现元素的声明。
81.检测与客户端设备处呈现元素的交互(306)。交互可以例如由客户端设备210的操作系统208或web浏览器252来检测。与呈现元素214的交互207可以例如是用户的手指在触摸屏上触碰或从客户端设备210的触摸屏上提起。在另一示例中,与呈现元素264的交互257可以是在web资源254的活动窗口216内的鼠标点击。
82.基于所接收的声明,确定交互是否发生在活动窗口内呈现元素的声明位置(308)。在图2a所示的实施例中,操作系统208将检查交互207(例如,点击)是否发生在声明由呈现元素占用的区域内。检测在呈现元素214的声明位置处发生的交互207可以包括从操作系统
208或其他可信应用程序218接收,一种选择信号,用于指定用户点击的xy坐标或用户与活动窗口216内的呈现元素214进行的其他形式的交互。在一些实现中,在呈现元素的声明位置处检测交互207包括接收活动窗口216中由呈现元素占用的声明区域的x
’‑
x”和y
’‑
y”坐标范围,将交互207的x坐标和交互207的y坐标与x'-x“和y'-y”的范围进行比较,并确定交互207的x坐标和交互207的y坐标是否分别在x
’‑
x”和y
’‑
y”的范围内。在图2b所示的实施例中,web浏览器252将检查交互257是否发生在由呈现元素264声明为占用的区域内。
83.为了确定交互确实发生在活动窗口内呈现元素的声明位置,捕获客户端设备上的活动窗口的屏幕截图(310)。在通知应用程序218或web资源254呈现的元素214、264可能是恶意的之前,操作系统208或web浏览器252可以捕获活动窗口216的屏幕截图220。例如,可以通过生成触发激活(例如,安装在设备上的相机应用程序的)屏幕截图功能来捕获屏幕截图。所生成的信号可以被传递给相机应用程序,从而使相机应用程序捕获客户端设备上活动窗口的屏幕截图。在一些实现中,设备操作系统可以通过复制显示帧缓冲器来直接执行屏幕捕获操作。然后,所捕获的屏幕截图可供安装在客户端设备和/或服务器实现的功能上的一个或多个其他应用程序评估。
84.用呈现元素的声明外观来验证屏幕截图中呈现元素的视觉外观(312)。操作系统208或web浏览器252将屏幕截图220与来自声明212的呈现元素214、264的声明外观进行比较。例如,该比较可以是逐像素比较或另一种比较(例如,基于块或特征的比较)。如果屏幕截图220中呈现元素214、264的外观与呈现元素214、264的声明212的声明外观相匹配,则操作系统208或web浏览器252将生成用于与呈现元素的交互的交互证明221(314)。交互证明令牌221可以包括关于交互207、257的信息,如上文参考图2a更详细地描述的。
85.在一些实现中,分别呈现呈现元素214、264的应用程序218或web资源254可以将“手指向下”的交互证明令牌221与相同呈现元素214、264的“手指向上”交互配对,并将成对的交互证明令牌221提供给数字组件提供者234或其他相关方,用于测量、审计或其他基于报告的动作。
86.对于确定在活动窗口内呈现元素的声明位置处没有发生交互,系统避免生成用于与呈现元素的交互的交互证明(316)。在一些实现中,由操作系统208或web浏览器252生成虚假呈现元素响应,并且可以提供给服务器203,通知服务器203呈现元素214、264或声称用户与呈现元素交互的应用程序218或web资源254可能是恶意的。
87.图4是可以用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在一些实现中,处理器410是单线程处理器。在另一个实现中,处理器410是多线程处理器。处理器410能够处理存储在存储器420或存储设备430上的指令。
88.存储器420在系统400内存储信息。在一个实现中,存储器420是计算机可读介质。在一些实现中,存储器420是易失性存储器单元。在另一个实现中,存储器420是非易失性存储器单元。
89.存储设备430能够为系统400提供大容量存储。在一些实现中,存储设备430是计算机可读介质。在各种不同的实现方式中,存储设备430可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备或一些其他大容量存储设备。
90.输入/输出设备440为系统400提供输入/输出操作。在一些实现中,输入/输出设备440可以包括一个或多个网络接口设备,例如以太网卡、串行通信设备,例如rs-232端口和/或无线接口设备,例如802.11卡。在另一个实现中,输入/输出设备可以包括被配置成接收输入数据并将输出数据发送到外部设备460(例如,键盘、打印机和显示设备)的驱动器设备。然而,也可以使用其它实现,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
91.尽管在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现可以在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构和它们的结构等效物,或它们中的一个或多个的组合。
92.本说明书中描述的主题和操作的实施例可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等效物,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以实现为编码在计算机存储介质(或介质)上以供数据处理装置执行或控制其操作的一个或多个计算机程序,即一个或多个计算机程序指令模块。替代地,或者另外,可以在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上对程序指令进行编码,该传播信号被生成以对信息进行编码以便发送到适当的接收器设备以由数据处理装置执行。
93.计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或其中一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是或包括在一个或多个单独的物理组件或介质(例如,多张cd、磁盘或其他存储设备)中。
94.本说明书中描述的操作可以实现为数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
95.术语“数据处理装置”包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、芯片上系统、或前述的多个或组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
96.计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,并且可以用任何形式部署,包括作为独立程序或作为模块、组件、子程序、对象、或其他适合在计算环境中使用的单元。计算机程序可以但不必与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所述程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署在一台计算机上执行,也可以被部署在位于一个站点或跨多个站点分布并通过通信网络互连的多台计算机上执行。
97.本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器执行,通过对输入数据进行操作并生成输出来执行一个或多个计算机程序以执行动作。所述过程和逻辑流
还可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且所述装置也可以实现为专用逻辑电路。
98.例如,适于执行计算机程序的处理器包括通用和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是根据指令执行操作的处理器和存储指令和数据的一个或多个存储器。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据发送到一个或多个大容量存储设备或两者,所述大容量存储设备用于存储数据,例如,磁盘、磁光盘或光盘。然而,计算机不必要具有这样的设备。此外,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)等等。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如eprom、eeprom和闪存设备等半导体存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
99.为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如crt(阴极射线管)或lcd(液晶显示器)监视器)以及键盘和指针设备(例如鼠标或轨迹球)的计算机上实现,用户可以通过它向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求而将web页面发送到用户的客户端设备上的web浏览器。
100.本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,客户端计算机,具有图形用户界面或网络浏览器,用户可以通过其与本说明书所述主题的实现进行交互),或一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、内部网络(例如,因特网)和对等网络(例如,自组织对等网络)。
101.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自的计算机上运行的计算机程序以及彼此具有客户端-服务器关系而产生的。在一些实施例中,服务器将数据(例如,html页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
102.可以向用户提供允许用户进行选择的控件,以确定本文所述的系统、程序或特征是否以及何时能够收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前位置的信息),并且用户是否从服务器收到个性化内容或通信。此外,在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而移除个人识别信息。例如,可以处理用户的标识,使得不能为用户确定个人可识别信息,或者可以在获得位
置信息的地方(诸如到城市、邮政编码或州级别)概括用户的地理位置,使得不能确定用户的具体位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息、信息保留策略以及向用户提供什么信息。
103.尽管本说明书包含许多具体实施细节,但这些不应被解释为对任何发明或可能要求保护的内容的范围的限制,而是对特定发明的特定实施例的特定特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以某些组合起作用并且甚至最初被要求这样做,但是在某些情况下可以从所要求的组合中切除来自所要求的组合的一个或多个特征,并且所要求的组合可以被定向到子组合或子组合的变体。
104.类似地,虽然在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序执行此类操作,或者要求执行所有图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者打包成多个软件产品。
105.因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在某些情况下,权利要求中所述的动作可以以不同的顺序执行,并且仍然可以获得期望的结果。此外,附图中描述的过程不一定需要所示的特定顺序或顺序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献