在确定准确的位置事件测量时防止数据操纵和保护用户隐私的制作方法

文档序号:30709216发布日期:2022-07-10 03:11阅读:125来源:国知局
在确定准确的位置事件测量时防止数据操纵和保护用户隐私的制作方法
在确定准确的位置事件测量时防止数据操纵和保护用户隐私


背景技术:

1.客户端设备通过诸如互联网的公共网络传输数据。这些通信能够被预期接收方以外的实体拦截和/或更改。另外,实体能够伪造网络身份,并且发送看似来自这些伪造的网络身份的数据。


技术实现要素:

2.本说明书描述了以防止欺诈和保护用户隐私的方式生成位置事件测量的相关技术。
3.一般而言,本说明书中所描述的主题的一个创新方面能够被体现为方法,该方法包括:由客户端设备呈现数字组件,该数字组件包括地理围栏数据,该地理围栏数据定义与数字组件对应的一个或多个物理位置。响应于呈现数字组件,客户端设备的可信程序将指定地理围栏数据的呈现事件数据元素存储在呈现事件数据结构中。基于指示客户端设备的当前位置的位置信息和地理围栏数据,可信程序检测客户端设备在一个或多个物理位置中的一个物理位置内。响应于检测到客户端设备在一个或多个物理位置中的一个物理位置内,将事件报告传输到数字组件的报告系统。事件报告指示数字组件的位置事件已经发生。这个方面的其他实施方式包括对应的装置、系统和计算机程序,被配置为执行方法的方面并且编码在计算机存储设备上。
4.这些和其他实施方式能够各自可选地包括以下一个或多个特征。在一些方面中,事件报告包括证明令牌。该证明令牌可以包括数据集,该数据集包括客户端设备的设备公钥、指示创建证明令牌的时间的证明令牌创建时间、指示客户端设备的可信性级别的设备完整性令牌以及包括一个物理位置的位置标识符的有效负载数据。证明令牌还能够包括使用与设备公钥对应的设备私钥生成的数据集的数字签名。
5.在一些方面中,证明令牌的有效负载数据包括以下的至少一项:(i)对一个物理位置的访问的访问持续时间、(ii)访问的开始时间或(iii)访问的结束时间。一些方面能够包括:将访问的访问持续时间分配给多个访问持续时间分位数的给定访问持续时间分位数并且将访问持续时间分位数包括在有效负载数据中,将访问的开始时间分配给多个开始时间分位数的给定开始时间分位数并且将给定开始时间分位数包括在有效负载数据中和/或将访问的结束时间分配给多个结束时间分位数的给定结束时间分位数并且将给定结束时间分位数包括在有效负载数据中。一些方面能够包括响应于呈现数字组件将包括呈现证明令牌的呈现报告传输到报告系统。呈现证明令牌能够包括数据集和数据集的数据签名。
6.在一些方面中,将事件报告提供给报告系统包括使用阈值加密方案生成秘密的共享,该秘密指定事件数据,该事件数据至少包括一个物理位置的位置标识符,并且将秘密的共享包括在事件报告中。当从呈现数字组件的客户端设备接收到包括秘密的相应共享的至少阈值数量的事件报告时,报告系统能够解密该秘密。
7.一些方面包括响应于数字组件的呈现,将呈现报告传输到第一聚合服务器,该呈现报告包括数字组件的呈现的加密的呈现数据和第一盲签名密钥,该第一盲签名密钥包
括:(i)第一加密的数据元素,该第一加密的数据元素包括报告系统的至少资源定位符、客户端设备或客户端设备的用户的标识符和一个物理位置的位置标识符的加密的组合;以及(ii)基于第一加密的数据元素生成的第一盲签名。传输事件报告能够包括将事件报告传输到第二聚合服务器。事件报告能够包括数字组件的加密的事件数据和第二盲签名密钥,该第二盲签名密钥包括:(i)第二加密的数据元素,该第二加密的数据元素包括报告系统的至少资源定位符、客户端设备或客户端设备的用户的标识符和位置标识符的加密的组合;以及(ii)基于第二加密的数据元素生成的第二盲签名。第一聚合服务器和第二聚合服务器能够使用第一盲签名密钥和第二盲签名密钥执行多方计算,以连接并解密加密的呈现数据和加密的事件数据。第一聚合服务器和第二聚合服务器能够将阈值技术应用于多方计算过程,以仅解密每个盲签名密钥的加密的呈现数据和加密的事件数据,其中,盲签名密钥是从至少阈值数量的不同客户端设备接收的。
8.一些方面包括在将事件报告传输到报告系统前,提示客户端设备的用户传输事件报告的许可。响应于用户提供传输事件报告的许可,事件报告能够被传输到报告系统。在一些方面中,可信程序是客户端设备的操作系统。
9.本说明书中所描述的主题能够被实现在特定实施例中,从而实现以下一个或多个优点。通过让客户端设备报告位置事件,增加了报告和聚合位置事件测量的准确性,例如,用户访问与数字组件对应的实体的物理位置的次数。没有本文档中所描述的技术,这些测量可能不以准确和可信的方式被确定。
10.所描述的技术还确保以防止数据操纵和防止数据从受损或欺诈的客户端设备聚合的方式报告位置事件。例如,位置事件数据能够使用证明令牌被报告,这些证明令牌使用客户端设备的私钥进行数字签名,使得对证明令牌的数据的操纵能够被检测。证明令牌还能够包括设备完整性令牌,该设备完整性令牌指示客户端设备是否是可信的,并且包括可信设备评估器的数字签名,该数字签名认证客户端设备为可信的,以确保所报告的数据是从可信设备接收的。安全的多方计算、差分隐私技术(或类似的技术)和/或阈值加密技术还能够被用于在报告和聚合位置事件数据时保护用户隐私和防止欺诈。本文档中所描述的技术提供高效和可靠的方式来确定在将数字组件呈现给用户后实际上有多少用户访问与数字组件对应的实体的物理位置,同时防止篡改位置事件计数和保护用户隐私。使用这种技术使接收方能够信任请求和其他通信,而无需执行另外的安全措施,这从而减少了执行这种过程通常需要消耗的计算需求(例如,cpu周期)和网络带宽。
11.下面关于图描述了上述主题的各种特征和优点。另外的特征和优点从本文中所描述的主题和权利要求书中是明显的。
附图说明
12.图1是确定位置事件测量的环境的框图。
13.图2是图示收集位置事件数据的示例过程的泳道图。
14.图3是图示确定位置事件测量的示例过程的流程图。
15.图4是图示确定位置事件测量的示例过程的流程图。
16.图5是图示确定位置事件测量的示例过程的流程图。
17.图6是能够被用于执行上述操作的示例计算机系统的框图。
18.在不同的图中,相同的附图标记和标记指示相同的元件。
具体实施方式
19.一般而言,本文档描述了在报告和聚合位置事件数据时,例如,位置事件测量,提高数据完整性、防止数据操纵,例如,欺诈,和保护用户隐私的系统和技术。不同的技术能够基于所需的用户隐私保护级别、适用的隐私规则和/或用户期望来使用。例如,相对于聚合报告,不同的技术能够被用于事件级位置数据报告。如下面更详细地描述的,可以向用户提供控件,从而允许用户做出关于本文中所描述的系统、程序或特征是否以及何时能够收集用户信息(例如,用户的当前位置)的选择,并且在获得位置信息(诸如城市、邮政编码或州级别)的情况下,可以将用户的地理位置一般化,使得无法确定用户的特定位置。
20.在一些实施方式中,客户端设备的可信代码生成证明位置事件数据的有效性的证明令牌,并且防止在生成令牌后对数据进行操纵。例如,可信代码能够是操作系统代码或应用的二进制代码。在其他数据中,证明令牌能够包括指示客户端设备的可信性级别的数据等,该客户端设备发送令牌以及数据的数字签名,使得数据的有效性能够由接收令牌的实体验证,例如,即使令牌通过多个中间实体。
21.阈值加密方案能够被用于收集和确定聚合位置事件测量数据。每个客户端设备能够使用阈值加密方案来生成秘密的共享,例如,针对与数字组件相关联的基于位置的转换的事件数据,并且将秘密的共享发送到报告系统。使用阈值加密方案,当从客户端设备接收到秘密的阈值数量的共享时,报告系统仅能够解密事件数据。这防止实体能够跟踪单个用户。
22.安全的多方计算和差分隐私(或类似的)技术能够被用于收集和聚合位置事件测量数据。每个客户端设备都能够将加密的呈现数据发送到第一聚合服务器,并且将加密的位置事件数据发送到第二聚合服务器。加密的数据能够利用连接密钥被发送,该连接密钥使得聚合服务器能够将呈现数据与位置事件数据连接,并且使用安全的多方计算来解密加密的数据。阈值加密技术能够被用于确保当从至少阈值数量的客户端设备接收到相同事件(例如,相同数字组件和相同位置)的事件数据时仅解密数据。附加隐私技术能够被用于将随机噪声插入测量数据,类似于差分隐私技术。
23.图1是确定位置事件测量的环境100的框图。示例环境100包括数据通信网络105,诸如局域网(lan)、广域网(wan)、互联网、移动网络或其组合。网络105连接客户端设备110、发行方130、网站140、数字组件分配系统150、欺诈检测系统170、聚合服务器180-a和180-b、报告系统190和地理围栏系统195。示例环境100可以包括许多不同的客户端设备110、发行方130、网站140、数字组件分配系统150和报告系统190。
24.网站140是与域名相关联并且由一个或多个服务器托管的一个或多个资源145。示例网站是html格式的网页的集合,该页面能够包含文本、图像、多媒体内容和编程元素,诸如脚本。每个网站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.web浏览器能够从托管发行者130的网站140的web服务器请求资源145,例如,响应于客户端设备110的用户在web浏览器的地址栏中输入资源145的资源地址或选择引用资源地址的链接。类似地,本机应用能够从发行者130的远程服务器请求应用内容。
29.一些资源145、应用页面或其他应用内容能够包括数字组件槽,其用于呈现带有资源145或应用页面的数字组件。如本文中所使用的,短语“数字组件”指的是数字内容或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字组件能够作为单个文件电子被存储在物理存储设备中或在文件集合中,并且数字组件能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式并且包括广告信息,使得广告为数字组件的类型。例如,数字组件可以是旨在补充应用112所呈现的网页或其他资源的内容的内容。更具体地,数字组件可以包括与资源内容相关的数字内容(例如,数字组件可以涉及与网页内容相同的主题或涉及相关主题)。因此,由数字组件分配系统150提供数字组件能够补充并且总体上增强网页或应用内容。
30.当应用112加载包括一个或多个数字组件槽的资源145(或应用内容)时,应用112能够从数字组件分配系统150请求每个槽的数字组件。数字组件分配系统150还能够从数字组件提供方160请求数字组件。数字组件提供方160是提供数字组件以用于呈现资源145和/或应用内容的实体。
31.一些数字组件对应于实体的一个或多个位置,例如,数字组件的主题。数字组件还能够被称为位置数字组件。例如,具有一个或多个物理位置,例如,商店,的组织能够创建包括与组织相关的内容的数字组件。在一些情况下,内容与物理位置相关,例如,以位置的地址或方向的形式。例如,饭店所有者能够创建包括饭店地址的数字组件。
32.在其他示例中,数字组件能够对应于实体的一个或多个物理位置,而不包括基于位置的内容。例如,国家组织所创建的数字组件可以包括关于组织的可视化内容,而没有任何特定的基于位置的内容。
33.实体能够通过为一个或多个位置中的每个位置指定地理围栏数据并且将地理围
栏数据链接到数字组件来将数字组件链接到一个或多个位置。地理围栏数据能够指示位置周围的边界。例如,地理围栏数据能够包括定义边界的坐标集(例如,全球定位系统(gps)坐标或经纬度坐标)。
34.为每个位置定义的边界能够是任何形状,例如,由中心点的坐标和半径表示的圆形区域或由多边形的一系列角的坐标表示的多边形、或s2单元格的集合。
35.地理围栏不需要是连续的。例如,组织在本地社区可能有五个物理位置,在这种情况下,地理围栏可以包括五个圆形区域,这些圆形区域由五个中心点的纬度/精度和五个对应的半径表示。
36.如下所述,地理围栏数据被用于确定与数字组件对应的位置事件何时发生。位置事件的示例是,在数字组件被呈现给用户后,用户输入与数字组件对应的物理位置(例如,在相应的地理围栏数据所定义的边界内)。
37.数字组件能够包括数据,例如,以元数据的形式,该数据指定参数,包括与数字组件对应的每个物理位置的对应的地理围栏数据(例如,如创建数字组件的实体所指定的)、与数字组件的呈现相关联的事件级印象数据、呈现期限(如下所述)和资源定位符,例如,报告系统190的通用资源定位符(url),数字组件的报告要被发送到该报告系统190。资源定位符能够包括etld+1(有效的顶级域加上一个比公共后缀多的标签,例如示例.com,其中,.com是顶级域)端点,数字组件的报告要被发送到该端点。在一些实施方式中,数据还能够包括与数字组件对应的物理位置的操作时间,例如,商店营业的时间。
38.客户端设备110还包括可信程序114,该可信程序114传输指定与数字组件的呈现相关的信息的事件报告以及在数字组件的呈现之后发生的事件。可信程序114能够包括来自难以伪造的可靠源的可信代码。例如,可信程序114能够是操作系统、操作系统的部分、web浏览器等。通常,可信程序114难以渗透,并且作案者篡改可信程序114所需的时间和精力的数量高得令人望而却步。另外,因为可信程序114由可靠源提供和维护,所以出现的任何漏洞都能够由该源解决。
39.可信程序114能够是客户端设备110的本地程序。例如,可信程序114能够是客户端设备110的操作系统的设备驱动器。在一些实施方式中,可信程序114完全在客户端设备110本地操作,减少了传输用户信息的需要。在一些实施方式中,可信程序114能够在客户端设备110本地操作并且通过诸如网络105的网络操作。例如,可信程序114能够是web浏览器,该web浏览器被安装在客户端设备110上并且通过网络105传输和接收信息。
40.当由客户端设备110呈现位置数字组件时,可信程序114能够将与呈现相关的数据存储在呈现事件数据结构116中,该呈现事件数据结构116能够是数据库、表格或其他适当的数据结构。呈现事件数据结构116能够是由可信程序114维护的安全数据存储装置的部分。可信程序114能够将每个位置数字组件的呈现事件数据元素存储在呈现事件数据结构116中。例如,位置数字组件的呈现事件数据元素能够包括位置数字组件的参数和/或其他数据以及呈现发生的时间。例如,位置数字组件的呈现事件数据元素能够包括数字组件的地理围栏数据。
41.可信程序114能够基于数字组件所指定的呈现期限删除位置数字组件的呈现的呈现事件数据。例如,呈现期限能够是数字组件的呈现事件数据能够被存储在客户端设备110处的时间量。当该时间量到期时,可信程序114能够从呈现事件数据结构116中删除位置数
字组件的呈现事件数据。如下面更详细地描述的,可信程序114能够使用数字组件所指定的资源定位符将呈现事件数据传输到数字组件的报告系统190。
42.可信程序114和/或应用112能够监控客户端设备110,以输入由呈现事件数据结构116中所存储的地理围栏数据定义的位置。例如,实体的应用112(例如,实体的本机应用)能够与客户端设备110的地图应用或其他位置应用进行交互,以确定客户端设备110的当前位置,例如,如果用户已经选择了能够访问客户端设备110的位置数据的应用。应用112(或可信程序114)还能够定期地将当前位置与呈现事件数据结构116中所存储的地理围栏数据进行比较。如果当前位置在呈现事件数据结构所定义的地理围栏内,则应用(或可信程序114)能够确定位置事件已经发生。即,用户已经输入了客户端设备110(或用户的另一设备,如下所述)所呈现的数字组件的地理围栏。
43.在一些实施方式中,当设备中的gps单元被激活以接收卫星导航信号和计算当前设备位置时,设备操作系统或应用112或可信程序114能够将计算的位置与呈现事件数据结构116中所存储的地理围栏数据进行比较。在一些实施方式中,当无线电组件或无线电组件的设备驱动器检测到无线信号强度变化或连接到不同的载波基站时,无线电组件的设备驱动器或操作系统基于来自基站的无线载波信号重新计算设备位置。设备操作系统或应用112或可信程序114能够将计算的位置与呈现事件数据结构116中所存储的地理围栏数据进行比较。在一些实施方式中,当设备的wi-fi或蓝牙组件检测到来自处于已知位置的另一wi-fi或蓝牙组件的wi-fi或蓝牙信号存在时,设备操作系统或应用112或可信程序114能够将已知位置与呈现事件数据结构116中所存储的地理围栏数据进行比较。因此,获得精确的位置信息的各种方式都能够被用于确定客户端设备110的位置并且触发位置与地理围栏数据之间的比较。
44.在一些实施方式中,可信程序114能够验证数字组件符合位置事件报告的资格。例如,可信程序114能够将请求发送到地理围栏系统195,以验证数字组件是否符合位置事件报告的资格。地理围栏系统195能够是可信实体所操作的一个或多个计算机的形式,该可信实体评估数字组件的数据,以确定数字组件是否符合位置事件报告的资格。例如,这种请求能够包括数字组件的地理围栏数据和/或与地理围栏对应的位置的名称或标识符。
45.地理围栏系统195能够基于地理围栏的大小、在给定时间时间段中访问位置的人数(例如,每天、每周、每月等的人数)和/或位置是否被分类为敏感的(例如,特定类型的医疗诊所)来确定数字组件是否符合位置事件报告的资格。例如,如果与数字组件对应的位置的大小(例如,如地理围栏数据所定义的)低于阈值(例如,用于防止跟踪特定用户位置),则数字组件可能不符合位置事件报告的资格。在另一示例中,如果在给定时间段期间访问位置的人数小于阈值(例如,也用于防止跟踪特定用户位置),则数字组件可能不符合位置事件报告的资格。这些阈值能够基于位置事件报告的用户隐私级别进行设置。在另一示例中,位置与敏感位置匹配的数字组件可能不符合位置事件报告的资格,例如,以保护这些位置的用户隐私。在一些实施方式中,只有在三个测试都通过的情况下,地理围栏系统195才会认为数字组件符合位置事件报告的资格。
46.地理围栏系统195还能够进行附加验证。例如,只有在与数字组件对应的实体在数字组件所指定的地理围栏区域中具有物理位置的情况下,地理围栏系统195才可以认为数字组件符合位置事件报告的资格。地理围栏系统195能够向可信程序114提供响应,指示数
字组件是否符合位置事件报告的资格。如果数字组件不符合资格,则可信程序114能够从呈现事件数据结构116中删除数字组件的呈现事件数据,并且不报告该数字组件的位置事件。
47.可信程序114能够以不同的方式报告位置事件。在一些实施方式中,可信程序114将事件报告提供给报告系统190。报告系统190能够是提供数字组件的数字组件提供方160的系统或向数字组件提供方160报告位置事件测量的单独报告实体的系统。
48.在一些实施方式中,事件报告是证明令牌的形式。可信程序114能够响应于检测到位置事件生成证明令牌。证明令牌能够包括数据集和基于该数据集生成的数字签名。数据集能够包括客户端设备110的设备公钥、指示由可信程序114创建证明令牌的时间的证明令牌创建时间、由欺诈检测系统170发布的设备完整性令牌以及有效负载数据。
49.可信程序114能够使用设备私钥为数据集生成数字签名,例如,该设备私钥对应于数据集中所包括的设备公钥,例如,在数学上与该设备公钥链接。例如,设备公钥和设备私钥能够是非对称加密密钥对。客户端设备110能够对其私钥进行保密,使得从客户端设备110接收证明令牌的实体,例如,报告系统190,能够信任证明令牌的有效性。
50.设备完整性令牌指示客户端设备110的可信性级别,例如,在位置事件发生时或附近。在一些实施方式中,可信程序114能够收集设备级欺诈信号,并且将该信号提供给欺诈检测系统170。欺诈检测系统170能够是可信实体的可信系统,该可信实体评估欺诈信号并且基于评估作出裁决。欺诈检测系统170能够向可信程序114发出包括该裁决的设备完整性令牌。设备完整性令牌能够包括裁决的数字签名和使用欺诈检测系统170的设备完整性令牌的任何其他数据。以这种方式,接收包括设备完整性令牌的证明令牌的实体能够通过使用欺诈检测系统170的公钥验证数字签名来验证设备完整性令牌的数据尚未被修改。设备完整性令牌的数据还能够包括令牌创建时间,该令牌创建时间指示创建设备完整性令牌的时间。这使得接收令牌的实体能够验证设备完整性令牌对应于客户端设备110的当前状态,而不是陈旧状态。
51.在一些实施方式中,欺诈检测系统170与设备操作系统/可信程序114协作或根据设备操作系统/可信程序114的请求,定期地评估客户端设备110的可信性,发出缓存在客户端设备110的安全位置中的设备完整性令牌。缓存的设备完整性令牌指示最近评估中的设备可信性级别。
52.有效负载数据能够包括与数字组件的呈现相关联的事件级印象数据、用户访问的位置(例如,位置的唯一标识符,该唯一标识符能够被映射到呈现事件数据结构中位置的地理围栏数据)、位置事件的开始时间(例如,检测到客户端设备110在位置的地理围栏内的时间)、位置事件的结束时间(例如,在输入地理围栏后不再被检测到客户端设备110在地理围栏内的时间)和/或位置时间的总持续时间(例如,结束时间与开始时间之间的差)。
53.在一些实施方式中,为了保护用户隐私,可信程序114能够将开始时间、结束时间和/或持续时间分配给分位数,而不是实际值。开始时间和/或结束时间的分位数能够是分钟和/或秒的范围。例如,开始时间和/或结束时间能够分别被分配给对应的两分钟(或其他适当的周期)分位数。在该示例中,如果用户在10:01am输入地理围栏所定义的位置,则开始时间可以被分配给10:01am至10:02am的分位数。时间周期分位数能够被调整,以适当地保护用户隐私,并且仍然为数字组件提供方160提供有用的访问持续时间数据。
54.在获得证明令牌的数据后,可信程序114能够创建证明令牌,并且使用设备私钥生
成数据的数字签名。然后,可信程序114能够使用数字组件所指定的资源定位符将证明令牌发送到报告系统190。如下所述,报告系统190能够验证证明令牌的有效性,并且在有效性被验证时,更新数字组件的位置事件测量。位置事件测量能够是在与位置对应的数字组件由用户的客户端设备呈现或与用户进行交互后用户已经访问位置的次数。
55.在一些实施方式中,可信程序114使用阈值加密方案,例如,不发送证明令牌或除了发送证明令牌,向报告系统190报告位置事件。每个客户端设备110的可信程序114都能够使用相同的阈值加密方案来报告位置事件。当可信程序114确定数字组件发生了位置事件时,可信程序114能够使用阈值加密方案来生成秘密的共享。秘密能够是位置事件数据,例如,物理位置的位置标识符和/或与物理位置对应的数字组件的标识符。秘密还能够包括其他数据,诸如位置事件的持续时间、位置事件的开始时间和/或位置事件的结束时间。在这些示例中,只有当阈值数量的用户具有相同的开始时间(或在分位数的情况下类似)、相同(或类似)的结束时间和/或相同(或类似)的持续时间时,秘密才能够被解密。阈值加密方案能够是(t,n)阈值加密方案,其中,必须接收到来自n方的秘密的至少阈值t份共享,以能够解密秘密。
56.可信程序114能够将秘密的共享发送到报告系统190。例如,可信程序114能够将密钥值对发送到报告系统190。密钥能够是对应于数字组件的标记和作为秘密的共享的值。以这种方式,报告系统190能够将具有相同标记的共享分组在一起。一旦从客户端设备110接收到来自秘密的至少阈值数量的共享,报告系统190便解密该秘密,例如,由用户访问的物理位置的位置标识符。然后,报告系统190能够确定或更新数字组件的位置事件测量,例如,基于从客户端设备接收到的不同共享的数量。即,每个共享都能够表示在客户端设备110处呈现数字组件后对位置的访问。报告系统190能够通过确定共享数量的总和确定访问数量。
57.如果秘密与包括例如访问持续时间、开始时间和/或结束时间的元数据相关联(例如,链接),则报告系统190能够聚合跨相同位置和/或相同数字组件的多个解密的秘密的持续时间。例如,开始时间为10:00am的特定位置的秘密与开始时间为12:00pm的相同特定位置的秘密不同,假设分位数不是两个小时。然而,位置标识符是相同的。在该示例中,报告系统190能够确定每个位置事件的持续时间(例如,基于结束时间与开始时间之间的差或所报告的持续时间),并且聚合位置的持续时间,例如,通过确定持续时间的平均值。
58.不同类型的(t,n)阈值加密方案能够被用于加密事件数据。例如,能够使用(t,n)阈值加密方案,这些方案使用多项式或平面来分配秘密的共享(例如,印象和转换数据)并且在接收到至少t个共享时恢复秘密。在特定示例中,阈值加密方案能够是基于平面的加密方案,其中,组密钥包括平面,并且测量数据位于每个平面相交的点,例如blakley方案。在其他示例中,阈值加密方案能够使用中国剩余定理、先应秘密共享、可验证秘密共享(vss)或其他适当的阈值加密方案。
59.在一些实施方式中,可信程序114向聚合服务器180-a和180-b报告呈现事件和位置事件。例如,可信程序114能够将加密的呈现数据与连接密钥一起传输到聚合服务器180-a,该连接密钥能够是下面描述的盲签名连接密钥。类似地,可信程序114能够将加密的事件数据与连接密钥一起传输到聚合服务器180-b,该连接密钥也能够是盲签名连接密钥。聚合服务器180-a和180-b能够使用安全的多方计算来连接对应于事件数据的呈现数据,并且解密加密的呈现数据和事件数据。聚合服务器180-a和180-b还能够使用阈值技术,以仅解密
从至少阈值数量的客户端设备接收到的连接的呈现数据和事件数据,以更好地保护用户隐私。聚合服务器180-a和180-b能够将解密的数据提供给报告系统190,并且报告系统190能够基于解密的数据生成或更新位置事件测量。聚合服务器180-a和180-b能够由相同或不同的可信实体维护和操作。在一些实施方式中,可信程序114将呈现事件和位置事件报告给聚合服务,该聚合服务依赖于备选的安全多方计算(mpc)设计。这种聚合服务能够依赖于安全的mpc和可选地差分隐私技术来聚合测量数据,同时保护用户隐私。聚合服务能够由一个或多个可信实体操作。
60.在任何一种实施方式中,每个数字组件的报告系统190都能够确定数字组件的位置事件测量,并且将测量提供给提供数字组件的数字组件提供方160。例如,这些测量能够包括在客户端设备110处呈现数字组件的次数、数字组件与客户端设备110进行交互的次数、在客户端设备110处呈现数字组件后客户端设备110的用户访问与数字组件对应的位置的次数、特定时间范围内位置事件开始的次数、特定时间范围内位置事件结束的次数和/或位置事件的平均持续时间。每个数字组件提供方160都能够选择报告系统190,该报告系统190可以是由数字组件提供方160或不同实体维护的系统。
61.一些实施方式还能够包括差分隐私(或类似的)技术。例如,有一些小的百分比概率,客户端设备110不报告实际发生的位置事件。在另一示例中,有一些小的百分比概率,客户端设备110不报告从未发生的位置事件。在另一示例中,随机噪声被添加到位置事件开始时间、结束时间或持续时间。这些附加隐私技术能够为用户提供附加隐私。在一些实施方式中,聚合服务器180-a和180-b能够在将报告发送到报告系统190之前将差分隐私噪声添加到报告。
62.图2是图示收集位置事件数据的示例过程的泳道图。过程200能够由客户端设备110、数字组件分配系统150、欺诈检测系统170、报告系统190和地理围栏系统195执行。
63.客户端设备110获取数字组件(202)。例如,客户端设备110能够呈现包括数字组件槽的资源或应用内容。作为响应,客户端设备110能够从数字组件分配系统150请求数字组件。
64.数字组件分配系统150返回位置数字组件(204)。如上所述,位置数字组件能够包括数据,该数据指定参数,该参数包括与数字组件对应的一个或多个位置的地理围栏数据、与数字组件的呈现相关联的事件级印象数据、呈现期限以及报告系统190的资源定位符(例如,etld+1),数字组件的报告要被发送到该报告系统190。一旦被接收,客户端设备110能够呈现数字组件。
65.客户端设备110的可信程序114存储数字组件的呈现事件数据元素(206)。呈现事件数据元素能够包括数字组件的参数以及客户端设备110呈现数字组件的时间。如上所述,可信程序114能够基于数字组件所指定的呈现期限暂时将呈现事件数据元素存储在呈现事件数据结构中。
66.可信程序114将呈现报告传输到报告系统190(208)。可信程序114能够使用数字组件所指定的资源位置将呈现报告发送到报告系统190。例如,呈现报告能够包括事件级印象数据、数字组件的标识符和/或数字组件所指定的地理围栏数据和/或呈现发生的时间戳、呈现发生的设备的标识符、呈现发生的网页的应用或url的标识符、由设备操作系统或可信应用采用来证明呈现对用户确实可见的屏幕截图(或屏幕截图的图像散列)和/或上述元数
据是可信的数字签名证明(例如,数字签名证明令牌)。
67.在一些实施方式中,例如,在使用证明令牌报告事件数据的实施方式中,呈现报告能够包括呈现证明令牌或能够是呈现证明令牌的形式。这种呈现证明令牌能够包括数据集以及使用该数据集和客户端设备110的客户端私钥生成的数字签名。数据集能够包括客户端设备110的设备公钥、指示由可信程序114创建呈现证明令牌的时间的呈现证明令牌创建时间、欺诈检测系统170所发布的设备完整性令牌以及有效负载数据。有效负载数据能够包括事件级印象数据和/或数字组件的标识符和/或数字组件所指定的地理围栏数据。
68.在使用阈值加密方案的实施方式中,呈现数据报告被包括作为事件数据的部分。在使用安全的多方计算的实施方式中,呈现报告能够包括加密的呈现数据和连接密钥,如下面更详细地描述的。在使用安全的多方计算的实施方式中,呈现报告能够被被分为多个秘密共享,并且安全的多方计算中的每一方都设置一个共享。
69.检测与数字组件的用户交互(210)。用户交互能够是对数字组件的选择,例如,点击。客户端设备110能够监控与数字组件的交互,同时呈现数字组件。
70.在一些实施方式中,可信程序114将点击报告传输到报告系统190(212)。点击报告能够指示检测到与数字组件的用户交互。在一些实施方式中,点击报告能够包括证明令牌或是证明令牌的形式。这种证明令牌能够包括数据集以及使用数据集和客户端设备110的私钥生成的数字签名。数据集能够包括客户端设备110的设备公钥、指示由可信程序114创建证明令牌的时间的证明令牌创建时间、欺诈检测系统170所发布的设备完整性令牌以及有效负载数据。有效负载数据能够包括事件级印象数据、指定检测到与数字组件的用户交互的数据和/或数字组件的地理围栏数据。在一些实施方式中,可信程序114为呈现发送一个报告,该报告指定是否检测到与数字组件的用户交互,例如,不是为呈现发送一个报告,而是为用户交互发送一个报告。
71.客户端设备110验证数字组件符合地理围栏和位置事件报告的资格(214)。例如,可信程序114能够将请求发送到地理围栏系统195,以验证数字组件是否符合位置事件报告的资格。如上所述,基于地理围栏的大小、给定时间周期内访问位置的人数(例如,每天、每周、每月等的人数)和/或位置是否被分类为敏感的和/或数字组件提供方160和/或报告系统190是否与在地理围栏区域中有商店的实体隶属或由该实体授权,地理围栏系统195能够确定数字组件是否符合位置事件报告的资格。
72.地理围栏系统195将合格性响应提供给可信程序(216)。响应能够指示数字组件是否符合地理围栏和位置事件报告的资格。
73.如果数字组件是符合资格的,则客户端设备110能够监控与数字组件相关的地理围栏(218)。例如,应用112或可信程序114能够定期地(或连续地)将指示客户端设备110的当前位置的位置信息与数字组件的地理围栏数据所定义的(多个)地理围栏进行比较,以确定客户端设备110是否在地理围栏所定义的位置内。
74.客户端设备110检测客户端设备110在数字组件的地理围栏所定义的区域内(220)。即,可信程序或应用能够基于比较确定客户端设备110的当前位置在地理围栏所定义的位置内。
75.客户端设备110能够查找与地理围栏对应的印象数据(222)。例如,可信程序能够访问呈现事件数据结构116中的数字组件的呈现事件数据元素,并且获得事件级印象数据。
76.在一些实施方式中,客户端设备110能够提示客户端设备110的用户为客户端设备110提供许可,以传输数字组件的事件报告(224)。例如,可信程序114能够向用户提示每个潜在报告或所有后续潜在报告。例如,可信程序114能够呈现提示,其使得用户能够为这个特定报告或所有报告提供许可。用户能够提供选择或拒绝发送报告的许可。类似的提示能够被用于上述呈现和点击报告。
77.如果用户提供许可,则可信程序114能够从欺诈检测系统请求设备完整性令牌(226)。可信程序能够从客户端设备110收集设备级欺诈信号,并且将该信号提供给欺诈检测系统170。如上所述,欺诈检测系统170能够评估欺诈信号,并且基于该评估作出裁决。虽然请求设备完整性令牌的操作被示出为在过程200中的该点发生,但是该操作能够在任何时候发生。例如,可信程序114能够定期地获取和缓存设备完整性令牌,例如,与该过程200异步或与用户交互异步。欺诈检测系统170能够将包括裁决的设备完整性令牌传输到可信程序114(228)。
78.客户端设备110能够生成事件报告并且将事件报告传输到报告系统190(230)。在一些实施方式中,事件报告能够包括证明令牌或是证明令牌的形式。这种证明令牌能够包括数据集以及使用数据集和客户端设备110的客户端私钥生成的数字签名。数据集能够包括客户端设备110的设备公钥、指示可信程序114创建证明令牌的时间的证明令牌创建时间、欺诈检测系统170所发布的设备完整性令牌以及有效负载数据。
79.有效负载数据能够包括与数字组件的呈现相关联的事件级印象数据、用户访问的位置(例如,位置的唯一标识符,该唯一标识符能够被映射到呈现事件数据结构中位置的地理围栏数据)、位置事件的开始时间(例如,检测到客户端设备110在位置的地理围栏内的时间)、位置事件的结束时间(例如,在输入地理围栏后不再检测到客户端设备110在地理围栏内的时间)和/或位置时间的总持续时间(例如,结束时间与开始时间之间的差)。开始时间、结束时间和/或持续时间能够被量化,如上所述。
80.在使用阈值加密的实施方式中,可信程序114能够生成事件报告,该事件报告包括秘密的共享,该秘密指定事件数据,该事件数据包括数字组件所指定的地理围栏数据,如下面更详细地描述的。在使用安全的多方计算的实施方式中,事件报告能够包括加密的事件数据和连接密钥,如下面更详细地描述的。在一些使用安全的多方计算的实施方式中,事件报告能够被分为多个秘密共享,安全的多方计算中的每一方都设置一个共享。
81.报告系统190能够接收来自多个客户端设备的事件报告,并且基于所报告的数据生成位置事件测量。图3至图5图示了确定事件报告的有效性和/或解密事件报告的数据并且确定位置事件测量的示例过程。
82.图3是图示确定位置事件测量的示例过程的流程图。例如,过程300能够由报告系统实现,例如,图1的报告系统190。过程300的操作还能够被实现为指令,这些指令存储在计算机可读介质上,该计算机可读介质可以是非暂时性的,并且由一个或多个数据处理装置执行指令能够使一个或多个数据处理装置执行过程300的操作。为了简单起见,根据图1的报告系统190描述过程300。示例过程300使用证明令牌来报告事件级位置事件测量数据,例如,在客户端设备处呈现数字组件后,用户是否访问与数字组件对应的位置。
83.报告系统190接收事件报告(302)。事件报告能够包括证明令牌或是证明令牌的形式。这种证明令牌能够包括数据集以及使用数据集和发送事件报告的客户端设备110的客
户端私钥生成的数字签名。数据集能够包括客户端设备110的设备公钥、指示由客户端设备110的可信程序114创建证明令牌的时间的证明令牌创建时间、欺诈检测系统170所发布的设备完整性令牌以及有效负载数据。有效负载数据能够包括与数字组件的呈现相关联的事件级印象数据、用户访问的位置(例如,位置的唯一标识符)、位置事件的开始时间、位置事件的结束时间和/或位置事件的总持续时间。开始时间、结束时间和/或持续时间能够被量化,如上所述。
84.报告系统190确定事件报告的完整性是否有效(304)。报告系统190能够基于证明令牌的数据集和证明令牌的数字签名确定事件报告的完整性是否有效。例如,报告系统190能够尝试使用证明令牌中所包括的设备公钥验证数据集的数字签名。如果数据集中的任何数据自生成数字签名已经改变,则验证将失败。如果数据集相同,则验证将成功。
85.如果报告系统190确定事件报告的完整性无效,则报告系统190不更新数字组件的(多个)位置事件测量()。
86.如果报告系统190确定事件报告的完整性有效,则报告系统确定客户端设备110的完整性有效(308)。报告系统190能够使用证明令牌的设备完整性令牌确定客户端设备110的完整性是否是可信的。例如,报告系统190能够评估设备完整性令牌的裁决,以确定欺诈检测系统170是否确定客户端设备110是可信的。
87.报告系统190还能够尝试验证设备完整性令牌的数字签名。例如,报告系统190能够使用欺诈检测系统170的公钥和设备完整性令牌的数据集来尝试验证设备完整性令牌的数字签名。
88.报告系统190还能够评估设备完整性令牌的令牌创建时间。如果令牌创建时间在证明令牌创建时间或发送或接收事件报告的时间的阈值时间量内,则报告系统190能够确定设备完整性令牌不是陈旧的。
89.如果裁决指示客户端设备是可信的,设备完整性令牌的数字签名被成功地验证,并且设备完整性令牌不是陈旧的,则报告系统190能够确定客户端设备110的完整性有效。如果任何测试都失败,则报告系统190能够确定客户端设备110的完整性无效。
90.如果报告系统190确定客户端设备110的完整性无效,则报告系统190不更新数字组件的(多个)位置事件测量(306)。
91.如果报告系统190确定客户端设备110的完整性有效,则报告系统190更新数字组件的位置事件测量(310)。例如,报告系统190能够在用户的设备呈现数字组件后,更新输入与数字组件对应的位置的用户总数的计数。即,如果事件报告对应于一个位置事件,则报告系统190能够将计数增加1。如果数字组件对应于多个位置(并且因此包括多个位置的地理围栏数据),则报告系统190能够更新事件报告所指定的位置的计数。
92.报告系统190还能够基于事件报告的有效负载数据确定其他度量。例如,报告系统190能够使用持续时间来确定对位置的访问的总持续时间或平均持续时间。报告系统190还能够基于每次访问的持续时间,将访问分类为持续时间范围,诸如短访问、中访问和长访问。然后,报告系统190能够确定每个范围内的访问次数。
93.报告系统190还能够确定对与数字组件对应的每个位置的平均访问持续时间、在开始时间范围内访问每个位置的用户数量和/或在结束时间范围内结束其访问的用户数量。虽然根据位置事件描述示例过程300,类似的过程能够被用于确定呈现数字组件或与数
字组件交互的次数的计数。
94.图4是图示确定位置事件测量的示例过程的流程图。例如,过程400能够由报告系统实现,例如,图1的报告系统190。过程400的操作还能够被实现为指令,这些指令存储在计算机可读介质上,该计算机可读介质可以是非暂时性的,并且由一个或多个数据处理装置执行指令能够使一个或多个数据处理装置执行过程300的操作。为了简单起见,根据图1的报告系统190描述过程400。示例过程400对聚合位置事件测量数据,例如,在客户端设备处呈现数字组件后访问与数字组件对应的物理位置的用户数量,使用阈值加密方案。
95.报告系统190接收来自多个客户端设备的事件报告(402)。当每个客户端设备110都确定与数字组件对应的位置事件发生时,客户端设备能够生成事件报告,该事件报告包括与数字组件对应的秘密的共享。每个客户端设备110都能够被配置为实现公共阈值加密方案,以生成其对秘密的共享。阈值加密方案能够是基于平面的加密方案,其中,组密钥包括平面,并且测量数据位于每个平面相交的点,例如blakley方案。在其他示例中,阈值加密方案能够使用中国剩余定理、先应秘密共享、可验证秘密共享(vss)或其他适当的阈值加密方案。
96.秘密能够是数字组件的事件数据。例如,事件数据能够包括访问的位置的位置标识符,因此,秘密能够包括该位置标识符。为了测量对位置访问的平均持续时间,秘密能够是位置标识符和访问持续时间或访问持续时间分位数的组合。类似地,为了测量在特定时间或在特定开始时间分位数内开始的访问次数,事件数据能够是位置标识符和特定开始时间或特定开始时间分位数的组合。为了测量在特定时间或在特定结束时间分位数内结束的访问次数,事件数据能够是位置标识符和特定结束时间或特定结束时间分位数的组合。事件数据还能够是位置标识符、印象或数字组件的标识符、访问持续时间(或其分位数)、开始时间(或其分位数)和/或结束时间(或其分位数)的组合。
97.在一些实施方式中,用作秘密的事件数据是由欺诈检测系统170进行盲签名的盲签名数据。在该示例中,客户端设备的可信程序114能够使用盲化技术来盲化(例如,模糊化)位置事件的事件数据。一般而言,盲化技术能够将盲化因素应用于印象数据,以生成隐藏实际事件数据的盲化事件数据,使得接收盲化事件数据的实体在不了解用于生成盲化印象数据的盲化技术和参数/密钥的情况下无法确定实际事件数据。在一些实施方式中,可信程序114使用可验证的、不经意的伪随机函数(voprf)协议来盲化数字组件的事件数据,该协议是用于盲化数字组件的印象数据的互联网工程任务组(ietf)草案标准协议。还能够使用其他适当的盲签名技术。
98.可信程序114能够将盲化事件数据与设备级欺诈信号一起发送到欺诈检测系统170。当欺诈检测系统170无法从盲化事件数据访问实际事件数据时,盲化数据的这种使用保护用户隐私。欺诈检测系统170能够评估欺诈信号,以确定客户端设备110是否是可信的。如果是,则欺诈检测系统170能够使用盲化技术对盲化事件数据进行数字签名,并且将盲签名返回给可信程序114。可信程序114能够使用盲化技术来验证盲签名。可信程序114还能够使用盲化技术对事件数据进行解盲化。
99.可信程序114能够使用阈值加密方案来生成秘密的共享,例如,事件数据或盲签名的盲化事件数据。可信程序114还能够生成事件数据的标记。标记能够是唯一地标识事件数据并且基于事件数据的至少一部分的数字。例如,每个可信程序114都能够被配置为基于事
件数据生成标记,使得每个可信程序都为相同的事件数据生成相同的标记。
100.然后,可信程序114能够将事件报告提供给报告系统190。事件报告能够包括标记,该标记标识事件数据和秘密的共享。
101.报告系统190确定是否已经接收到具有相同标记的至少阈值数量的不同事件报告(404)。使用阈值加密,秘密无法被解密,除非接收到秘密的至少阈值数量的不同共享。如果接收到的具有相同标记的事件报告的数量小于阈值,则过程400返回步骤402,以等待附加事件报告。
102.如果接收到的具有相同标记的事件报告的数量大于或等于阈值,则报告系统190能够解密秘密(406)。报告系统190能够使用阈值加密方案以及事件报告中所包括的秘密的共享来解密秘密,例如,事件数据或盲签名事件数据。
103.如果事件数据是盲签名事件数据,则报告系统190能够检查盲签名的有效性,以确保客户端设备是可信的。在一些实施方式中,报告系统190能够在请求验证盲签名的情况下将盲签名的盲化事件数据发送到欺诈检测系统170。欺诈检测系统170能够使用盲化技术来验证盲签名,并且利用关于盲签名是否验证成功的报告响应报告系统190。在取决于公开可验证的盲签名方案的其他实施方式中,报告系统190不需要请求欺诈检测系统170验证盲签名。相反,报告系统190能够在从欺诈检测系统170下载验证密钥之后独立地验证盲签名。
104.报告系统190基于事件报告确定数字组件的位置事件测量(408)。例如,报告系统190能够在用户的设备呈现数字组件后,确定输入与数字组件对应的位置的用户总数的计数。这能够对应于接收到的不同事件报告的数量,这些事件报告包括事件数据的标记。
105.报告系统190还能够基于秘密中所包括的数据确定其他度量。例如,报告系统190能够使用持续时间来确定对位置的访问的总持续时间或平均持续时间。报告系统190还可以基于每次访问的持续时间,将访问分类为持续时间范围,诸如短访问、中访问和长访问。然后,报告系统190能够确定每个范围内的访问次数。
106.报告系统190还能够确定对与数字组件对应的每个位置的访问的平均持续时间、在开始时间范围内访问每个位置的用户数量和/或在结束时间范围内结束其访问的用户数量。
107.图5是图示确定位置事件测量的示例过程的流程图。例如,过程500能够由聚合服务器和报告系统(例如,图1的聚合服务器180-a和180-b以及报告系统190)实现。过程500的操作还能够被实现为指令,这些指令存储在计算机可读介质上,该计算机可读介质可以是非暂时性的,并且由一个或多个数据处理装置执行指令能够使一个或多个数据处理装置执行过程500的操作。示例过程500使用安全的多方计算和可选的差分隐私技术来聚合位置事件测量数据,例如,在客户端设备处呈现数字组件后访问与数字组件对应的物理位置的用户的数量。
108.聚合服务器180-a接收来自客户端设备110的呈现报告(502)。客户端设备110能够响应于呈现数字组件生成和提供数字组件的呈现报告。每个呈现报告都能够包括用于呈现数字组件的加密的呈现数据以及呈现连接密钥。例如,呈现数据能够包括由数字组件指定的地理围栏数据和与数字组件的呈现相关联的事件级印象数据。呈现数据能够使用聚合服务器180-a的公钥和聚合服务器180-b的公钥进行加密。呈现数据还能够使用数字组件的报告系统190的公钥进行加密。例如,将呈现报告发送到聚合服务器180-a的客户端设备110的
可信程序114能够使用报告系统190的公钥加密呈现数据,然后使用聚合服务器180-a的公钥加密这种加密的数据,并且然后使用聚合服务器180-b的公钥加密该加密的数据。
109.呈现连接密钥能够是盲签名密钥,该盲签名密钥包括加密的数据元素,该加密的数据元素包括报告系统的至少资源定位符、客户端设备110的标识符或跨设备转换测量的用户的匿名标识符以及与数字组件的地理围栏数据对应的位置的位置标识符的加密的组合。呈现连接密钥还能够包括加密的数据元素的确定的盲签名。例如,欺诈检测系统170能够评估可信程序114所提供的设备级欺诈信号,并且如果客户端设备110是可信的,则对加密的数据元素进行盲签名。呈现连接密钥被用于将呈现报告与对应的事件报告连接。
110.聚合服务器180-b接收来自客户端设备110的事件报告(504)。客户端设备110能够响应于确定在呈现数字组件后用户访问了与数字组件的地理围栏数据对应的位置,生成并且提供数字组件的事件报告。每个呈现报告都能够包括数字组件的加密的事件数据以及呈现连接密钥。例如,事件数据能够包括数字组件标识符、访问持续时间(或其分位数)和/或访问开始和/或结束时间(或其分位数)。
111.事件数据能够使用聚合服务器180-a的公钥和聚合服务器180-b的公钥进行加密。事件数据还能够使用数字组件的报告系统190的公钥进行加密。例如,发送事件报告的客户端设备110的可信程序114能够使用报告系统190的公钥加密呈现数据,然后使用聚合服务器180-b的公钥加密该加密的数据,并且然后使用聚合服务器180-a的公钥加密该加密的数据。
112.事件连接密钥能够是盲签名密钥,该盲签名密钥包括加密的数据元素,该加密的数据元素包括报告系统的至少资源定位符、客户端设备110的标识符或跨设备转换测量的用户的匿名标识符以及由用户访问的位置的位置标识符的加密的组合。事件连接密钥还能够包括加密的数据元素的确定的盲签名。例如,欺诈检测系统170能够评估可信程序114所提供的设备级欺诈信号,并且如果客户端设备110是可信的,则对加密的数据元素进行盲签名。事件连接密钥被用于将呈现报告与相应的事件报告连接。
113.连接密钥的标识符在不同的实施方式中能够不同。例如,标识符能够是客户端设备110的标识符、客户端设备110的设备公钥或客户端设备110特有的其他适当信息、客户端设备110的标识符(如果用户许可)或报告为其生成的应用。
114.聚合服务器180-a和聚合服务器180-b执行安全的多方计算,以安全地连接和解密呈现报告和事件报告(506)。该过程能够包括使用连接密钥将呈现报告与对应的事件报告连接。由于连接密钥基于由用户访问并且对应于数字组件的位置的位置标识符以及客户端设备110的标识符,连接密钥能够被用于将用于在客户端设备110处呈现数字组件的呈现报告与位置事件的事件报告(如果有一个)连接。
115.对于不同客户端设备处的每个相同事件,位置事件的加密的事件数据将是相同的,因为事件数据将是相同的,并且用于加密数据的公钥将是相同的。例如,对两个不同的客户端设备处的与相同的位置数字组件相关联的相同地理围栏区域的访问的事件数据将是相同的。类似地,对相同位置的访问的事件数据和两个不同的客户端设备处的相同的持续时间分位数的事件数据将是相同的。相同的数字组件的加密的呈现数据在多个客户端设备上也将是相同的。
116.因此,加密的呈现数据和具有相同的加密的呈现数据的对应的加密的事件数据的
每个连接对都表示具有相同的事件数据的数字组件的唯一位置事件。在连接加密的呈现数据和对应的事件数据后,聚合服务器180-a和180-b能够对每个对的出现次数进行计数,例如,全部链接到加密的呈现数据和对应的加密的事件数据的相同的连接对的唯一密钥的数量。如果事件数据是用于访问与特定数字组件对应的特定位置,则该计数表示在客户端设备处呈现数字组件后访问特定位置的用户的数量。类似地,如果事件数据是用于访问具有特定访问持续时间分位数的特定位置,则计数表示在特定访问持续时间分位数的持续时间范围内的持续时间内对特定位置的访问次数。聚合服务器180-a和180-b能够为加密的呈现数据和对应的加密的事件数据的每个连接对确定这些位置事件测量。
117.安全的多方计算过程还能够包括使用聚合服务器180-a和180-b的私钥加密和解密报告,以及在两个聚合服务器180-a和180-b之间传递加密/解密的数据。如果报告还使用报告系统190的公钥进行加密,则聚合服务器180-a和180-b无法访问报告的实际数据。
118.在一些实施方式中,安全的多方计算过程能够采用阈值技术。例如,聚合服务器180-a和180-b可以只确定加密的呈现数据和对应的加密的事件数据的连接对的位置事件测量,这些连接对具有至少阈值数量的唯一连接密钥,例如,已经由至少阈值数量的客户端设备110报告。类似地,聚合服务器180-a和180-b可以只解密加密的呈现数据和对应的加密的事件数据的连接对,这些连接对具有至少阈值数量的唯一连接密钥。这保护了用户隐私,因为不解密来自少量可以被链接回到特定客户端设备的客户端设备的数据。
119.聚合服务器180-a和180-b将解密的数据发送到报告系统190(508)。报告系统190还能够基于解密的数据确定(多个)位置事件测量。例如,报告系统190能够基于事件报告和/或在客户端设备110处呈现数字组件的次数,确定在客户端设备处呈现数字组件后在客户端处发生的对位置的访问的总数。
120.报告系统190还能够基于解密的数据,诸如平均访问持续时间、短访问、中访问和长访问的次数、在特定开始时间范围内访问的次数和/或在特定结束时间范围内结束的访问的次数,确定其他度量。为此,报告系统190能够聚合包括位置的位置标识符的解密的数据,并且基于聚合的数据计算度量。
121.上述技术还能够被用于确定由不同的设备而不是呈现数字组件的设备检测到的位置事件的位置事件测量。例如,具有相关联的地理围栏数据的数字组件能够被呈现在用户登录的平板计算机或智能电视上。然后,用户可以访问位置,同时携带智能手机。智能手机基于从其他设备接收到的地理围栏数据检测和报告位置事件。
122.在一些实施方式中,用户的多个设备(例如,用户登录的设备)能够同步数字组件的呈现事件数据。在一个示例中,每个设备的可信程序能够在其相应的呈现事件数据结构116中同步呈现事件数据。在另一示例中,每个设备上的web浏览器能够相互同步呈现事件数据。以这种方式,当用户用设备中的一个访问位置时,该设备能够通过将设备的当前位置与同步的事件数据的同步的地理围栏数据进行比较,确定数字组件中的一个的位置事件是否已经发生。如果检测到,则设备能够报告上述位置事件。
123.在将位置事件数据之外的呈现事件数据报告给不同的服务器的实施方式中,例如,如上面参照图5所描述的,可能不需要同步。例如,用户的每个设备的可信程序都能够传输每个位置数字组件的呈现报告。这些呈现报告能够包括用户的标识符,例如,除了或代替客户端设备的标识符。类似地,用户的每个设备的可信程序都能够传输由设备检测到的每
个位置事件的事件报告。这些事件报告还能够包括用户的标识符。呈现和位置事件的连接密钥能够是基于用户的标识符,使得用于呈现数字组件的呈现事件的连接密钥将与数字组件的位置事件的连接密钥相同。以这种方式,来自一个设备的呈现事件在安全的多方计算过程中将与来自另一设备的对应位置事件连接。
124.进一步针对上面的描述,可以向用户提供控件,允许用户做出关于本文中所描述的系统、程序或特征是否以及何时能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户的当前位置的信息)和是否向用户发送来自服务器的个性化内容或通信的选择。另外,特定数据在被存储或使用之前可以以一种或多种方式被处理,使得个人可识别信息被移除。例如,用户的身份可以被处理,使得无法为用户确定个人可识别信息(例如,电话号码、imei、设备序列号),或在获得位置信息(关于城市、邮政编码或州级别)的情况下可以将用户的地理位置一般化,以便无法确定用户的特定位置。因此,用户可以控制收集关于用户的哪些信息、如何使用该信息、信息保留策略和哪些信息被提供给用户。
125.图6是能够被用于执行上述操作的示例计算机系统600的框图。系统600包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610、620、630和640中的每一个都能够例如使用系统总线650来相互连接。处理器610能够处理在系统600内执行的指令。在一些实施方式中,处理器610是单线程处理器。在另一实施方式中,处理器610是多线程处理器。处理器610能够处理存储器620中或存储设备630上所存储的指令。
126.存储器620将信息存储在系统600内。在一种实施方式中,存储器620是计算机可读介质。在一些实施方式中,存储器620是易失性存储器单元。在另一实施方式中,存储器620是非易失性存储器单元。
127.存储设备630能够为系统600提供大量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,例如,存储设备630能够包括硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备或一些其他大容量存储设备。
128.输入/输出设备640为系统600提供输入/输出操作。在一些实施方式中,输入/输出设备640能够包括以下中的一项或多项:网络接口设备,例如,以太网卡、串行通信设备,例如,rs-232端口和/或无线接口设备,例如,802.11卡。在另一实施方式中,输入/输出设备能够包括驱动器设备,该驱动器设备配置为接收输入数据并且将数据输出到外部设备660,例如,键盘、打印机和显示设备。然而,还能够使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
129.虽然在图6中已经描述了示例处理系统,但是本说明书中所描述的主题和功能操作的实施方式也能够被实现在其他类型的数字电子电路系统中或在计算机软件、固件或硬件(包括本说明书中所公开的结构以及其结构等同物)中或在它们中的一个或多个的组合中。
130.本说明书中所描述的主题和操作的实施例能够被实现在数字电子电路系统中或在计算机软件、固件或硬件(包括本说明书中所公开的结构以及其结构等同物)中或在它们中的一个或多个的组合中。本说明书中所描述的主题的实施例能够被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,这些计算机程序指令编码在(多个)计算
机存储介质上以供由数据处理装置执行或控制数据处理装置的操作。可替代地或另外,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电气、光学或电磁信号,生成该信号是为了对信息进行编码以用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质能够是,或被包括在,计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。此外,当计算机存储介质不是传播信号时,计算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也能够是,或被包括在,一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)中。
131.本说明书中所描述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
132.术语“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如,包括可编程处理器、计算机、片上系统或多个片上系统或上述组件的组合。装置能够包括专用逻辑电路系统,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置还能够包括为讨论中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。
133.计算机程序(也称为程序、软件、软件应用、脚本或代码)能够用任何形式的编程语言来编写,包括编译或解释语言、陈述性或程序语言,并且它能够以任何形式被采用,包括作为独立程序或作为模块、组件、子例程、对象或适合用于计算环境中的其他单元。计算机程序可以,但不必须,与文件系统中的文件对应。程序能够被存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)或专门用于所讨论的程序的单个文件或多个协调的文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一个计算机或位于一个站点或分布在多个站点上并且通过通信网络相互连接的多个计算机上被执行。
134.本说明书中所描述的过程和逻辑流程能够由一个或多个可编程处理器执行,这些可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作和生成输出来执行动作。过程和逻辑流程还能够由专用逻辑电路系统执行,例如,fpga(现场可编程门阵列)或asic(专用集成电路),并且装置也能够被实现为该专用逻辑电路系统。
135.例如,适合执行计算机程序的处理器包括通用微处理器和专用微处理器。一般而言,处理器将接收来自只读存储器或随机访问存储器或两者的指令。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或多个海量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以接收来自该海量存储设备的数据或将数据传输到该海量存储设备或两者。然而,计算机不必须有这样的设备。此外,计算机能够被嵌入另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动),这里仅举几个示例。适合存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,eprom、eeprom和闪存设备、磁盘,例如,内部硬盘或可移除盘、
磁光盘以及cd-rom和dvd-rom盘。处理器和存储器能够由专用逻辑电路系统补充或可以并入该专用逻辑电路系统中。
136.为了提供与用户的交互,本说明书中所描述的主题的实施例能够被实现在计算机上,该计算机具有用于向用户显示信息的显示设备,例如,crt(阴极射线管)或lcd(液晶显示器)监视器以及键盘和指向设备,例如,鼠标或轨迹球,用户能够通过该键盘和该指向设备将输入提供给计算机。其他种类的设备还能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式(包括声音输入、语音输入或触觉输入)接收。另外,通过将文档发送到用户所使用的设备并且从该设备接收文档,例如,通过响应于从web浏览器接收到的请求将网页发送到用户的客户端设备上的web浏览器,计算机能够与用户进行交互。
137.本说明书中所描述的主题的实施例能够被实现在计算系统中,该计算系统包括后端组件,例如,数据服务器,或包括中间件组件,例如,应用服务器,或包括前端组件,例如,具有图形用户界面或web浏览器的客户端计算机,用户能够过该图形用户界面或该web浏览器与本说明书中所描述的主题的实施方式进行交互,或一个或多个这种后端组件、中间件组件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信,例如,通信网络,相互连接。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网际网(例如,互联网)以及点对点网络(例如,ad hoc点对点网络)。
138.计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在对应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,服务器将数据(例如,html页面)发送到客户端设备(例如,出于将数据显示给与客户端设备进行交互的用户和接收来自该用户的用户输入的目的)。客户端设备处所生成的数据(例如,用户交互的结果)能够是在服务器处从客户端设备接收到的。
139.虽然本说明书包含了许多具体实施细节,但是这些细节不应被视为对任何发明或可以要求保护的内容的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。本说明书中在单独的实施例的背景下所描述的某些特征还能够被组合实现在单个实施例中。相反,在单个实施例的场境下所描述的各种特征也能够单独地或按照任何合适的子组合实施被实现在多个实施例中。此外,虽然特征在上面可以被描述为以某些组合起作用并且最初甚至如此要求保护,但是在一些情况下能够从组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变化。
140.类似地,虽然操作在图中按照特定顺序描绘,但是这不应被理解为需要按照所示的特定顺序或按照相继顺序来执行这种操作,或执行所有所图示的操作以实现期望结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离都不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常能够被一起集成在单个软件产品中或封装到多个软件产品中。
141.因此,已经描述了主题的特定实施例。其他实施例在以下权利要求书的范围内。在某些情况下,权利要求书中所叙述的动作能够按照不同的顺序执行,并且仍然实现期望的结果。另外,附图中所描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1