CN115087978B - 用于欺诈检测的跨域频率滤波器 - Google Patents
用于欺诈检测的跨域频率滤波器 Download PDFInfo
- Publication number
- CN115087978B CN115087978B CN202180004120.7A CN202180004120A CN115087978B CN 115087978 B CN115087978 B CN 115087978B CN 202180004120 A CN202180004120 A CN 202180004120A CN 115087978 B CN115087978 B CN 115087978B
- Authority
- CN
- China
- Prior art keywords
- filter
- frequency
- data structure
- frequency filters
- frequency filter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 19
- 230000003993 interaction Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 235000014510 cooky Nutrition 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241000544061 Cuculus canorus Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0248—Avoiding fraud
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及使用概率数据结构来使系统能够在保护用户隐私的同时检测欺诈。在一个方面,一种方法包括获得频率滤波器集合。每个频率滤波器定义在指定持续时间内并且与相应内容提供者相对应的指定事件类型的最大事件计数。频率滤波器子集被标识为触发频率滤波器,其中,对于触发频率滤波器,与频率滤波器相对应的指定事件类型的实际事件计数在与频率滤波器的指定持续时间相对应的时间段期间超过由频率滤波器定义的最大事件计数。生成表示频率滤波器子集中的频率滤波器的至少一部分的概率数据结构。对内容的请求被发送到多个内容提供者。对内容的请求包括概率数据结构。
Description
技术领域
本说明书涉及在出于欺诈检测和缓解的目的而收集并分析用户数据时的数据处理和用户隐私保护。
背景技术
概率数据结构是使用散列函数来表示元素集合的数据结构。一个示例概率数据结构是Bloom滤波器,其是M位的比特数组。
发明内容
总体上,本说明书中描述的主题的一个创新方面能够体现在包括获得频率滤波器集合的方法中。每个频率滤波器定义在指定持续时间内并且与相应内容提供者相对应的指定事件类型的最大事件计数。频率滤波器子集被标识为触发频率滤波器,其中,对于触发频率滤波器,与频率滤波器相对应的指定事件类型的实际事件计数在与频率滤波器的指定持续时间相对应的时间段期间超过由频率滤波器定义的最大事件计数。生成表示频率滤波器子集中的频率滤波器的至少一部分的概率数据结构。对内容的请求被发送到多个内容提供者。对内容的请求包括概率数据结构。所述方面的其他实施方式包括对应的装置、系统和在计算机存储设备上编码的被配置为执行所述方法的方面的计算机程序。
这些和其他实施方式均能够可选地包括以下特征中的一个或多个。在一些方面中,概率数据结构是包括比特数组的Bloom滤波器。生成概率数据结构能够包括对于触发频率滤波器子集中的每个频率滤波器,对于一个或多个散列函数中的每一个,通过将散列函数应用于频率滤波器的滤波器标识符并将比特数组中的每个比特位置设置为值1来获得触发频率滤波器的比特位置。
在一些方面中,获得频率滤波器集合包括:对于每个频率滤波器,接收通过对定义频率滤波器的滤波器标识符、指定事件类型的最大事件计数以及频率滤波器的指定持续时间的令牌进行加密而生成的加密令牌。滤波器标识符能够包括字节数组,字节数组标识以下项中的至少一个:(i)与指定事件类型相对应的数字分量、(ii)与指定事件类型相对应的内容平台、或(iii)指定事件类型。
一些方面包括更新频率滤波器集合中的给定频率滤波器的实际事件计数。所述更新能够包括:响应于给定频率滤波器的指定事件类型的发生,获得给定频率滤波器的滤波器标识符;发起对web浏览器应用编程接口(API)的API调用,用于更新给定频率滤波器的实际事件计数,其中,API调用包括给定频率滤波器的加密令牌;由web浏览器解密加密令牌;以及由web浏览器更新给定频率滤波器的实际事件计数。
一些方面包括:对于给定频率滤波器,检测由给定频率滤波器定义的指定事件类型的事件的发生并且更新给定频率滤波器的实际事件计数。
在一些方面中,生成概率数据结构包括:随机地或伪随机地选择触发频率滤波器子集中的一个或多个频率滤波器;在生成概率数据结构之前,从与触发频率滤波器子集相对应的滤波器标识符子集中移除所述一个或多个频率滤波器中的每一个的滤波器标识符;以及使用滤波器标识符子集生成概率数据结构。
在一些方面中,生成概率数据结构包括:随机地或伪随机地选择不在触发频率滤波器子集中的一个或多个频率滤波器;在生成概率数据结构之前,将所述一个或多个频率滤波器中的每一个的滤波器标识符添加到与触发频率滤波器子集相对应的滤波器标识符子集;以及使用滤波器标识符子集生成概率数据结构。
在一些方面中,生成概率数据结构包括:随机地或伪随机地选择触发频率滤波器子集中的一个或多个第一频率滤波器;随机地或伪随机地选择不在触发频率滤波器子集中的一个或多个第二频率滤波器;在生成概率数据结构之前从与触发频率滤波器子集相对应的滤波器标识符子集中移除一个或多个第一频率滤波器中的每一个的滤波器标识符;以及在生成概率数据结构之前,将一个或多个第二频率滤波器中的每一个的滤波器标识符添加到触发频率滤波器子集;以及使用滤波器标识符子集生成概率数据结构。
一些方面包括通过对概率数据结构和第二概率数据结构执行集合相交来确定概率数据结构与第二概率数据结构之间的相似性。
一些方面包括由多个内容提供者中的内容提供者接收对包括概率数据结构的内容的请求,并且由内容提供者基于概率数据结构确定对请求的响应。如果确定触发频率滤波器中的一个或多个与内容提供者的频率滤波器相对应,则不提供所请求的内容。
通常,第三方cookies能够用于监测跨多个域的对内容——例如数字分量——的请求、显现和/或用户交互的频率。这些频率能够用于检测在线欺诈,诸如当浏览器中的恶意软件在短时间段内跨多个域生成过量的欺诈请求、显现和/或用户交互时发生的欺诈。第三方cookie能够由除了用户当前正在查看的网站之外的网站设置,并且能够用于跨多个域收集用户数据。然而,由于一些浏览器可能不支持第三方cookie,因此用于监测出于欺诈检测目的请求、显现和/或用户交互的频率的这种技术对于这种浏览器是不可能的。由用户当前正在查看的网站设置的第一方cookie的使用可能无法检测到恶意软件跨多个域在短时间段内生成过量的请求、显现和/或用户交互的情况。例如,第一方cookies的使用可以仅检测一个域处的量,其会是少量的事件,而跨许多域的量在该时间段内很大。
本说明书中描述的主题能够在特定实施例中实现,以便实现以下优点中的一个或多个。使用如本文档中所描述的概率数据结构使得系统能够检测跨多个域生成的欺诈在线活动,同时保留用户隐私并维护关于用户数据的用户数据安全性。概率数据结构的使用使得浏览器或其他应用能够报告已经超过对应计数(例如,请求、显现和/或用户交互计数)的频率滤波器,而不以明文提供这样的数据,否则明文将暴露用户的浏览器或应用正在向其发送请求的域/实体。概率数据结构能够使得内容提供者能够查询他们的频率滤波器是否已经被触发(例如,已经超过其最大事件计数),而不能够确定是否已经触发任何其他内容平台的频率滤波器。这还使得能够在用户的客户端设备处执行计数的同时进行欺诈检测,而不是在其他地方聚合这样的跨域信息,因此防止实体跨多个域跟踪用户的活动。通过对客户端设备处的事件进行计数并使用提供给客户端设备的频率滤波器,能够跨多个发布者域检测过量的事件,而无需在客户端设备外部提供跨域信息(例如,标识用户访问的多个域上的网站的信息)。由于概率数据结构是紧凑的,因此使用紧凑数据结构来报告触发频率滤波器在发送报告时减少了带宽消耗、数据存储要求和电池功耗(例如,移动设备的电池功耗)。
差分隐私技术能够用于进一步增强用户隐私。由于客户端设备能够在已经触发相同频率滤波器的时间段期间发送许多请求,因此静态概率数据结构能够以其他方式用作指纹,所述指纹将使得包括概率数据结构的请求的接收者能够跨多个请求跟踪用户。在客户端设备处而不是在内容提供者服务器处对事件进行计数并使用计数来触发频率滤波器、使用概率数据结构来表示触发频率滤波器,以及在生成概率数据结构之前将差分隐私技术应用于触发频率滤波器集合的组合技术提供了在使内容提供者或其他系统能够例如跨多个域检测欺骗性生成的事件的同时保护用户隐私的协同效应。
下面参照附图描述前述主题的各种特征和优点。通过本文所述的主题和权利要求,另外的特征和优点是显而易见的。
附图说明
图1是其中使用频率滤波器来检测欺诈的环境的框图。
图2是用于基于频率滤波器生成概率数据结构并使用概率数据结构来检测欺诈的示例过程的泳道图。
图3是用于基于频率滤波器生成概率数据结构并将概率数据结构发送到内容提供者的示例过程的泳道图。
图4是示例计算机系统的框图。
在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
通常,本文档涉及使用概率数据结构来使系统能够在保护用户隐私的同时检测欺诈。在客户端设备上运行的应用,例如浏览器,能够维护与各种内容提供者的频率滤波器相对应的事件计数。频率滤波器能够与指定事件类型以及数字分量或分发数字分量的内容提供者中的一个或多个相对应。频率滤波器能够定义指定事件类型的最大事件计数,当最大事件计数在指定持续时间内被超过时,能够指示欺诈活动。例如,内容提供者能够配置频率滤波器以定义在一小时的过程中从应用向内容提供者发送的多于10个对数字分量的请求是潜在欺诈的指示符。
概率数据结构能够用于向多个内容提供者报告触发频率滤波器,而不需要内容提供者能够了解其他内容提供者的频率滤波器,并且不需要提供关于用户的在线活动的信息,例如,不需要提供关于用户的跨域活动的信息。当超过频率滤波器的最大事件计数,从而触发频率滤波器时,应用能够向频率滤波器的概率数据结构添加条目。条目能够是比特数组的比特,例如,通过在与Bloom滤波器的滤波器标识符的散列相对应的比特位置中将Bloom滤波器的比特设置为值1。也能够使用其他概率数据结构,例如Cuckoo滤波器。
运行在用户设备上的应用能够例如,响应于频率滤波器被触发,连同由用户设备发送的对内容的请求,或者连同另一通信,将概率数据结构发送到多个内容提供者。每个内容提供者能够通过计算其频率滤波器中的每一个的滤波器标识符的散列并确定所得到的比特位置是否具有值1来查询概率数据结构。以这种方式,每个内容提供者能够从概率数据结构获得的唯一信息是其频率滤波器中的一个或多个是否已经被触发。如果频率滤波器已经被触发,则内容提供者能够断定客户端设备或应用已经受损或以其他方式生成欺诈事件。
图1是其中使用频率滤波器来检测欺诈的环境100的框图。示例环境100包括数据通信网络105,诸如局域网(LAN)、广域网(WAN)、互联网、移动网络或其组合。网络105连接客户端设备110、内容平台150、发布者130和网站140。环境100能够包括许多客户端设备110、内容平台150、网站140和发布者130。
网站140是与域名相关联并由一个或多个服务器托管的一个或多个资源145。示例网站是以HTML格式化的网页的集合,其能够包含文本、图像、多媒体内容和编程元素,诸如脚本。每个网站140由发布者130维护,发布者130是控制、管理和/或拥有网站140的实体。
资源145是能够通过网络105提供的任何数据。资源145由与资源145相关联的资源地址来标识,例如统一资源定位符(URL)。仅举几例,资源包括HTML页面、文字处理文档和可移植文档格式(PDF)文档、图像、视频和馈送源。资源能够包括诸如单词、短语、图像和声音的可以包括嵌入式信息(诸如超链接中的元信息)和/或嵌入式指令(诸如脚本)的内容。
客户端设备110是能够通过网络105进行通信的电子设备。示例客户端设备110包括个人计算机、例如智能电话的移动通信设备以及能够通过网络105发送和接收数据的其他设备。客户端设备还能够包括通过麦克风接受音频输入并通过扬声器输出音频输出的数字助理设备。当数字助理检测到激活麦克风以接受音频输入的“热词(hotword)”或“热短语(hotphrase)”时,能够将数字助理置于收听模式(例如,准备好接受音频输入)。数字助理设备还能够包括相机和/或显示器以捕获图像并在视觉上呈现信息。数字助理能够以不同形式的硬件设备来实现,包括可穿戴设备(例如,手表或眼镜)、智能电话、扬声器设备、平板设备或另一硬件设备。客户端设备还能够包括数字媒体设备,例如,插入电视或其他显示器以将视频流式传输到电视、游戏系统或虚拟现实系统的流式传输设备。
客户端设备110通常包括应用112,诸如web浏览器和/或本机应用,以便于通过网络105发送和接收数据。本机应用是为特定平台或特定设备(例如,具有特定操作系统的移动设备)开发的应用。
一些资源、应用页面或其他电子内容能够包括用于呈现具有资源145或应用页面的数字分量的数字分量槽。在一些实施方式中,电子资源120能够包括每个数字分量槽的标签122。标签122能够包括从内容平台150发起对数字分量的请求并使得应用112呈现在数字分量槽中的数字分量的代码,例如脚本。如下所述,标签122还能够包括令牌124或代码,当由客户端设备110执行时,令牌124或代码使得客户端设备110从令牌所有者,例如内容平台150或数字分量提供者160,获得令牌124。
如贯穿本文所使用的,短语“数字分量”是指数字内容或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字分量能够作为单个文件或文件集合被电子地存储在物理存储器设备中,并且数字分量能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是一种类型的数字分量。例如,数字分量可以是旨在补充由应用112呈现的网页或其他资源的内容的内容。更具体地,数字分量可以包括与资源内容相关的数字内容(例如,数字分量可以涉及与网页内容相同的主题,或者涉及相关主题)。因此,数字分量的提供能够补充并且通常增强网页或应用内容。
当应用112加载包括一个或多个数字分量槽的资源(或应用内容)时,应用112能够对每个槽请求数字分量。在一些实施方式中,数字分量槽能够包括使得应用112向数字分量分发系统请求数字分量的代码(例如,脚本),数字分量分发系统选择数字分量并将数字分量提供给应用112以显示给客户端设备110的用户。应用112能够向一个或多个内容平台150请求数字分量。
内容平台150能够选择并分发用于与网页、本机应用内容和/或其他电子资源或内容一起显示的数字分量。内容平台能够包括供应侧平台(SSP)和/或需求侧平台(DSP)。一些发布者130使用SSP来管理获得其资源和/或应用的数字分量槽的数字分量的过程。SSP是以硬件和/或软件实现的技术平台,其使获得资源和/或应用的数字分量的过程自动化。每个发布者130能够具有对应的SSP或多个SSP。一些发布者130可以使用相同的SSP。
数字分量提供者160能够创建(或以其他方式发布)在发布者的资源和应用的数字分量槽中显示的数字分量。数字分量提供者160可以使用DSP来管理其数字分量的供应以用于在数字分量槽中显示。DSP是以硬件和/或软件实现的技术平台,其使分发数字分量以利用资源和/或应用显示的过程自动化。DSP能够代表数字分量提供者160与多个供应侧平台SSP交互,以提供利用多个不同发布者130的资源和/或应用显示的数字分量。通常,DSP能够接收对数字分量的请求(例如,来自SSP),基于该请求生成(或选择)由一个或多个数字分量提供者160创建的一个或多个数字分量的选择值,并将与数字分量(例如,数字分量本身)相关的数据和选择参数提供给SSP。选择值能够指示数字分量提供者160愿意提供用于显示或与数字分量的用户交互的量。然后,SSP能够选择用于在客户端设备110处显示的数字分量,并且向客户端设备110提供使得客户端设备110显示数字分量的数据。内容平台150、数字分量提供者160和发布者130在本文档中也能够被称为内容提供者。
应用112能够从内容提供者接收频率滤波器,并使用频率滤波器来确定在与频率滤波器相对应的持续时间期间何时已经超过由频率滤波器定义的最大事件计数。如下面更详细描述的,内容提供者能够以令牌124的形式,例如连同电子资源120的标签122一起,提供频率滤波器。令牌124能够被加密,使得仅客户端设备110或应用112能够解密然后访问令牌124的信息。
对于每个接收到的频率滤波器,应用112能够初始化并维护与频率滤波器的指定事件类型相对应的事件计数。当在由频率滤波器定义的时间帧,例如最近一小时,内超过频率滤波器的最大事件计数从而触发频率滤波器时,应用112能够将频率滤波器添加到触发频率滤波器集合。为了将此类触发频率滤波器报告给内容提供者,使得内容提供者能够确定正由应用112生成的事件是欺诈的还是潜在欺诈的,应用112能够生成概率数据结构129并将概率数据结构129发送到内容提供者。概率数据结构的示例包括Bloom滤波器和Cuckoo滤波器。
在一些实施方式中,应用112将概率数据结构129包括在由客户端设备110发送到内容提供者的对内容的请求127中。以这种方式,内容提供者能够使用概率数据结构来评估事件是否是欺诈的,并且基于评估来响应(或不响应)请求。
图2是用于基于频率滤波器生成概率数据结构并使用概率数据结构来检测欺诈的示例过程200的泳道图。过程200的操作能够,例如由客户端设备110和内容提供者201来实现,例如,每个内容提供者201的一个或多个服务器。过程200的操作还能够被实现为存储在可以是非暂时性的一个或多个计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令能够使得一个或多个数据处理装置执行过程200的操作。在图2中,内容提供者201能够包括例如内容平台150、数字分量提供者160和/或发布者130。
内容提供者生成频率滤波器(202)。频率滤波器能够包括至少指定事件类型和指定事件类型的最大事件计数作为参数。每个频率滤波器能够属于为其向客户端设备110提供频率滤波器的所有者内容提供者201。频率滤波器还能够定义指定事件类型的主题。对于一些事件,主题能够是特定的数字分量,而对于其他事件,主题能够是内容提供者。
例如,指定事件类型能够是由内容提供者201提供的任何数字分量的显现(例如,显示),或者是与由内容提供者201提供的任何数字分量的用户交互,例如点击或选择。在此示例中,频率滤波器的主题是数字分量,并且指定事件类型是显现或用户交互。
在另一示例中,指定事件类型能够是从客户端设备110发送到所有者内容提供者201的对数字分量的请求。在此示例中,指定事件类型是数字分量请求,并且频率滤波器的主题是所有者内容提供者。
在另一示例中,指定事件类型能够是对发送到发布者域的电子资源的请求。在此示例中,指定事件类型是资源请求,并且频率滤波器的主题是与域相对应的特定发布者。在另一示例中,指定事件类型能够是任何电子资源的显示(例如,网页的页面视图)。在此示例中,指定事件类型是资源显示,并且主题是特定发布者。
频率滤波器还能够包括频率滤波器的指定持续时间作为参数。持续时间能够定义客户端设备110的应用112在确定实际事件计数是否超过频率滤波器的最大事件计数时要考虑的回溯时间窗口。例如,如果指定持续时间是24小时,则当标识要在概率数据结构中表示的频率滤波器时,应用112将确定从当前时间回顾的过去24小时内指定事件类型的实际发生数量,并将该发生数量与频率滤波器的最大事件计数进行比较。
每个频率滤波器能够具有唯一地标识频率滤波器的滤波器标识符。所有者内容提供者201能够指定滤波器标识符。在一些实施方式中,所有者内容提供者201能够将附加信息编码到滤波器标识符中以供客户端设备110的应用112使用。例如,滤波器标识符能够对指定事件类型和指定事件类型的主题进行编码。
在一些实施方式中,滤波器标识符是字节数组的形式,例如,其被固定到特定的数据大小,例如,16字节、32字节、64字节或另一适当的数据大小。字节数组能够编码附加信息,例如,指定事件类型和/或由滤波器标识符标识的频率滤波器的主题。
内容提供者201能够定义其频率滤波器的参数,并且为每个频率滤波器生成包括参数的数据结构。数据结构能够是令牌的形式,例如加密令牌。例如,内容提供者201能够生成令牌,使用令牌正被发送到的客户端设备110的应用112的公钥来加密令牌,并将加密令牌发送到客户端设备110。以这种方式,只有应用112能够使用对应的私钥来解密令牌。
频率滤波器的令牌能够包括频率滤波器的参数,例如指定事件类型、主题和指定持续时间。例如,令牌能够包括频率滤波器的滤波器标识符、指定事件类型(其能够被编码在滤波器标识符)、频率滤波器的主题(其能够被编码在滤波器标识符中)以及频率滤波器的指定持续时间。
如下面更详细描述的,令牌还能够可选地包括能够用于检测和/或防止攻击和/或其他欺诈活动的附加数据。例如,令牌能够包括所有者内容提供者201的资源定位符、令牌创建时间、频率滤波器所针对的应用112的公钥的散列和/或令牌的其余内容的数字签名(例如,除了签名本身之外的内容)。资源定位符能够是所有者内容提供者的域的eTLD+1。eTLD+1是有效顶级域(eTLD)加上比公共后缀多一级。示例eTLD+1是“example.com”,其中“.com”是顶级域。
令牌创建时间能够指示创建令牌的时间。该时间能够是高分辨率时间,例如毫秒。这使得应用112能够验证令牌的新鲜度,例如,令牌是否在从接收到令牌的时间起的阈值持续时间内创建,并且检测可能的重放攻击。
应用112的公钥能够被应用112用来验证它是令牌所针对的应用112。如果内容提供者利用应用112的公钥加密令牌,则应用112能够使用其自己的私钥来解密令牌。
数字签名能够由所有者内容提供者201使用所有者内容提供者201的私钥来生成。例如,所有者内容提供者201能够使用私钥对令牌的其余内容进行签名。应用112能够例如从所有者内容提供者201下载对应的公钥,并使用公钥来验证在创建令牌之后没有修改令牌的内容。例如,应用112能够尝试使用内容提供者201的公钥和令牌的其余内容来验证数字签名。如果该验证失败,则应用112能够确定内容已经被修改。
内容提供者201能够生成用于各种目的的多个频率滤波器。例如,内容提供者201能够生成用于由内容提供者201提供的任何数字分量的显现的第一频率滤波器和用于与由内容提供者201提供的任何数字分量的用户交互的第二频率滤波器。内容提供者201还能够为从特定客户端设备110到内容提供者的请求生成第三频率滤波器。
在另一示例中,内容提供者201能够为相同的指定事件类型和相同的主题生成多个频率滤波器,但是具有不同的最大事件计数。例如,内容提供者201能够将不同的事件计数视为具有不同的欺诈可能性,并为每个级别的欺诈生成频率滤波器。这使得内容提供者201能够确定在客户端设备110处发生欺诈的可能性。例如,内容提供者201能够为由内容提供者201提供的任何数字分量的显现生成第一频率滤波器,其中,在一小时的指定持续时间内最大事件计数为5次显现,以指示欺诈的中等可能性。内容提供者201还能够为由内容提供者201提供的任何数字分量的显现生成第二频率滤波器,其中,在一小时的指定持续时间内最大事件计数为10次显现,以指示欺诈的高可能性。这些量仅是示例,并且可以使用其他量来检测欺诈。
内容提供者201向客户端设备110提供他们的频率滤波器(204)。例如,每个内容提供者201能够通过网络,例如图1的网络105,将其加密令牌发送到客户端设备110。如上面参考图1所述,内容提供者201能够提供具有电子资源120的标签122的加密令牌。在其他示例中,内容提供者201能够将加密的令牌直接发送到客户端设备110,例如,在与携带标签122的通信分开的通信中。
应用112初始化每个接收频率滤波器的实际事件计数(206)。在接收到加密令牌时,应用112能够解密加密令牌以恢复令牌的明文内容,例如频率滤波器的参数。明文是未经计算标记、特殊格式化或以代码或数据(包括二进制文件)写入的文本,其形式能够在不需要密钥或其他解密设备或其他解密过程的情况下查看或使用。应用112能够使用与用于加密令牌的公钥相对应的私钥来解密加密令牌。应用112能够初始化和维护每个滤波器标识符,即每个接收的频率滤波器的专用队列。滤波器标识符的队列能够是当已经检测到频率滤波器的指定事件类型的发生时的时间戳的队列。例如,当检测到指定事件类型的事件的发生时,应用112能够将指示指定事件类型的事件发生的时间的时间戳添加到队列。队列使得应用112能够在由频率滤波器的指定持续时间定义的回溯窗口期间对指定事件类型的实际发生数量进行计数。
检测频率滤波器的指定事件类型的事件的发生(208)。在一些实施方式中,所有者内容提供者201能够基于从应用112接收的数据来检测指定事件类型的事件的发生。例如,如果指定事件类型是对数字分量的请求,则所有者内容提供者能够基于从应用112接收到对数字分量的请求来确定事件发生。在另一示例中,如果指定事件类型是数字分量的显现或与数字分量的用户交互,则所有者内容提供者能够基于从应用112接收的指示显现或用户交互发生的报告来检测指定事件类型的发生。在任一种情况下,所有者内容提供者201能够从自应用112接收的数据获得标识数据的主题(例如,数字分量或数字分量请求)和事件类型的数据,并将这些映射到对应的频率滤波器和对应的滤波器标识符,或者使用主题和事件类型重新创建频率标识符(例如,通过创建包括主题和指定事件类型的字节数组)。
所有者内容提供者201能够将与检测到的事件相对应的滤波器标识符提供给应用112(210)。在一些实施方式中,内容提供者201在将滤波器标识符发送到应用112之前模糊滤波器标识符以保护机密信息的安全性。为了模糊滤波器标识符,内容提供者201能够将附加的加密变换应用于滤波器标识符。例如,内容提供者201能够维护秘密密钥并将基于散列的消息认证码(HMAC)散列函数应用于滤波器标识符以变换滤波器标识符。这能够被表示为transformed_filter_id=HAMC(filter_id,secret_key),其中“transformed_filter_id”是经变换的滤波器标识符,“filter_id”是变换之前的滤波器标识符,“secret_key”是内容提供者的秘密密钥,并且HAMC是散列函数。
在另一示例中,内容提供者201能够使用确定性对称密钥加密和内容提供者201的秘密密钥来变换滤波器标识符。这能够被表示为transformed_filter_id=Encryptdeterministic(filter_id,secret_key),其中,“transformed_filter_id”是经变换的滤波器标识符,“filter_id”是变换之前的滤波器标识符,“secret_key”是内容提供者的秘密密钥,并且Encryptdeterministic是确定性对称密钥加密算法。
在另一示例中,内容提供者201能够生成特定于在特定客户端设备110上运行的应用112的实例的应用特定的滤波器标识符。在此示例中,内容提供者201能够使用应用的公钥来变换滤波器标识符。例如,内容提供者201可以在上述HMAC技术中使用应用的公钥代替内容提供者的秘密密钥,其能够被表示为transformed_filter_id=HMAC(filter_id,application_public_key)。在此示例中,“application_public_key”是应用的公钥。
在另一示例中,内容提供者201能够组合上述方法以进一步模糊滤波器标识符。例如,内容提供者201能够通过将HMAC函数应用于由确定性对称密钥加密算法生成的经变换的标识符来变换滤波器标识符,其能够表示为transformed_filter_id=HMAC(Encryptdeterministic(filter_id,secret_key),application_public_key)。在此示例中,HMAC函数使用应用的公钥。在另一示例中,内容提供者201能够通过将使用应用的公钥的第二HMAC函数应用于通过使用内容提供者的秘密密钥将HMAC函数应用于滤波器标识符而生成的经变换的滤波器标识符来变换滤波器标识符,其能够表示为“transformed_filter_id=HMAC(HMAC(filter_id,secret_key),application_public_key”)。
在一些实施方式中,在客户端设备110处检测事件,例如,由应用112或客户端设备110检测。例如,浏览器能够基于请求正被发送到的URL或域与频率滤波器的域匹配来确定对电子资源的请求与频率滤波器匹配。在另一示例中,应用112能够基于应用接收的数字分量的元数据中包括的数字分量标识符或者由频率滤波器定义的其他匹配标准与频率滤波器的数字分量标识符匹配,来确定数字分量的显现或与数字分量的用户交互与频率滤波器匹配。应用112还能够确定发生的事件,例如显现,与由频率滤波器定义的指定事件类型,例如显现,匹配。
应用112更新频率滤波器的事件计数和/或队列(212)。如果内容提供者201检测到事件,则应用112能够在接收到频率滤波器的滤波器标识符时更新事件计数和/或队列。例如,应用112能够将时间戳添加到由滤波器标识符标识的频率滤波器的队列。时间戳能够指示从内容提供者201接收到滤波器标识符的时间,以指示已经检测到事件。在另一示例中,时间戳能够指示检测到事件的时间,其能够连同滤波器标识符一起被包括在由内容提供者201发送的消息中,以报告事件的发生。
应用112还能够通过对队列中和在回溯时间窗口内的时间戳的数量进行计数来更新事件计数。回溯时间窗口基于频率滤波器的指定持续时间。回溯窗口的开始时间是从当前时间减去指定持续时间得到的时间。回溯窗口的结束时间是当前时间。例如,如果指定持续时间是一小时并且当前时间是上午11:00,则回溯窗口将是上午10:00到上午11:00。应用112能够标识队列中滤波器标识符的时间戳并确定这些时间戳的数量。例如,如果队列包括9:32AM的时间戳、10:16AM的时间戳和10:58AM的时间戳(指示指定事件类型发生三次),则实际事件计数将是2,因为三个时间戳中只有两个在回溯窗口内。
重要地,包括在与数字分量、内容平台或数字分量提供者相对应的频率滤波器的队列中的时间戳不限于任何特定的发布者域。能够独立于为其生成数字分量请求或利用其显示数字分量的发布者域,指定事件类型的任何发生能够被检测到并被包括在队列中。也就是说,内容提供者的频率滤波器的队列能够包括利用第一网站的数字分量的显现的时间戳和利用第二不同网站的数字分量的显现的时间戳。然而,队列能够仅存储事件的时间戳,而不存储任何发布者域信息。以这种方式,队列能够被用于确定跨多个发布者域的实际事件计数,而不向内容平台提供对应用112的用户的跨域在线活动的访问。因此,所述方法提供了改进的用户数据安全性,这是因为事件计数的更新由应用112本身集中执行,并且不需要任何域知晓其他域的事件发生。因此,为了获得跨多个内容提供者的正确事件计数,此类数据不需要与其他域共享或发送到其他域。
在一些实施方式中,应用112的应用编程接口(API)被用于更新滤波器标识符的队列和/或实际事件计数。例如,标签122能够发起对web浏览器API的API调用以更新实际事件计数。能够被称为IncrementFrequencyCount的API调用能够包括加密令牌,例如IncrementFrequencyCount(加密令牌)。如上所述,浏览器能够解密加密令牌并更新队列/实际事件计数。
应用112能够接收频率滤波器、初始化队列,并基于从内容提供者201接收的数据随时间更新队列。每当应用112要报告频率滤波器已经被触发时,应用112能够标识任何触发频率滤波器(214)。例如,应用112能够响应于确定内容请求,例如数字分量请求,即将被发送到内容提供者201而确定当前是否任何频率滤波器被触发。触发频率滤波器是在当前回溯窗口期间频率滤波器的实际事件计数超过频率滤波器的最大事件计数的频率滤波器。
应用112能够如参考步骤212所述通过确定实际事件计数来标识任何触发频率滤波器,并将实际事件计数与由频率滤波器定义的最大事件计数进行比较。如果应用112确定实际事件计数超过最大事件计数,则应用112能够确定频率滤波器被触发。应用112能够使用应用112正在为其维护队列的每个频率滤波器的比较来标识零个或多个触发频率滤波器的集合。应用112能够生成与触发频率滤波器相对应的零个或多个滤波器标识符的集合。也就是说,滤波器标识符集合包括每个触发频率滤波器的滤波器标识符,如果有的话。滤波器标识符集合能够是应用112正在为其维护队列或以其他方式监测的所有频率滤波器的滤波器标识符子集,例如,真子集。真子集是集合的子集,但不包括集合的所有成员。
在生成表示触发频率滤波器的滤波器标识符的概率数据结构之前,应用112能够将差分隐私技术应用于触发频率滤波器集合(216)。这是可选的,但是能够通过防止静态概率数据结构被用作用户的指纹来增强对用户隐私的保护。例如,如果应用112在生成每个概率数据结构之前或周期性地应用差分隐私技术,则概率数据结构将不同,因此不能用作指纹。
差分隐私技术能够包括从滤波器标识符集合中移除一个或多个滤波器标识符和/或将一个或多个滤波器标识符添加到滤波器标识符集合。应用112能够选择一个或多个滤波器标识符以随机地或伪随机地添加到滤波器标识符集合。类似地,应用112能够随机地或伪随机地选择一个或多个滤波器标识符以从滤波器标识符集合中移除。通过随机地或伪随机地添加滤波器标识符,即使在触发频率滤波器的列表中没有改变,概率数据结构也能够根据请求改变,从而防止对未受损的客户端设备110进行指纹识别和跟踪。
令D表示触发频率滤波器的滤波器标识符集。应用112能够随机地选择D-,其中,也就是说,D-表示滤波器标识符集合中的滤波器标识符的真子集。应用112还能够随机地或伪随机地选择D+,其中,D+∩D={}。也就是说,D+表示不在D中的一个或多个滤波器标识符,例如,使得D和D+之间的交集是空集。在此示例中,应用112能够生成滤波器标识符Di的集合,用于基于Di∈D∪D+-D-来生成概率数据结构。
应用112使用滤波器标识符集合来生成概率数据结构(218)。在一些实施方式中,概率数据结构是Bloom滤波器。Bloom滤波器是m位的比特数组。最初,每个比特被设置为零值。为了填充Bloom滤波器,应用112能够将k个散列函数应用于滤波器标识符集合中的每个滤波器标识符。每个散列函数的结果是Bloom滤波器的比特数组中的比特位置。对于每个滤波器标识符,应用112能够使用k个散列函数来标识数组中的k个比特位置,并将k个比特位置中的每一个设置为值1。使用Bloom滤波器使得应用112能够以防止每个内容提供者201访问关于任何其他内容提供者201的频率滤波器的信息的方式在单个数据结构中表示用于多个内容提供者201的触发频率滤波器。因此,通过仅允许内容提供者访问与他们自己的频率滤波器相关的信息来改进用户数据安全性。
应用112将概率数据结构发送到多个内容提供者201(220)。例如,应用能够将概率数据结构连同对内容的请求,例如对数字分量的请求,一起发送到内容提供者。
每个内容提供者201向概率数据结构查询内容提供者201的频率滤波器(222)。为了查询Bloom滤波器,内容提供者201能够将k个散列函数应用于其每个滤波器标识符,并检查由每个散列函数生成的比特位置。如果应用于滤波器标识符的所有散列函数的所有比特位置具有值1,则内容提供者210能够确定频率滤波器可能已经被触发。然而,由于Bloom滤波器具有假阳性率并且可能已经应用了差分隐私,因此可能无法保证频率滤波器被触发。如果跨所有k个散列函数的频率滤波器的任何比特位置具有零值,则频率滤波器不太可能被触发。
每个内容提供者201能够基于其频率滤波器中的一个是否已经被触发来确定对内容请求的响应。例如,如果已经触发了一个或多个频率滤波器,则内容提供者201能够认为该请求潜在地是欺诈的。在这种情况下,内容提供者201能够确定不响应内容请求,或者能够以与没有触发频率滤波器的情况不同的方式进行响应。例如,如果对请求的响应将包括例如向SSP提供数字分量的选择值,则内容提供者201能够基于被触发频率滤波器提供比内容提供者通常提供的选择值更低的选择值。在另一示例中,内容提供者能够基于在客户端设备110处已经触发的其频率滤波器的数量来确定响应。例如,内容提供者201能够根据触发频率滤波器的数量来减小选择值。
在一些实施方式中,内容提供者201能够选择存储概率数据结构,然后离线评估概率数据结构。这能够使得内容提供者201能够评估在特定客户端设备110上运行的应用112的特定实例的触发频率滤波器的历史和/或跨多个客户端设备110的频率滤波器的历史,以更好地检测欺诈和/或调整频率滤波器的最大事件计数。
内容提供者201响应请求(224)。例如,内容提供者201能够基于内容提供者201的任何频率滤波器是否已经被触发来提供用于获得内容的内容或数据。
如上所述,用于频率滤波器的数据结构,例如加密令牌,能够包括附加数据以防止攻击。例如,恶意方会试图伪造加密令牌并调用应用的API以在恶意方的代码,例如脚本,可能运行的应用上将频率滤波器的事件计数递增任意次数。这样做能够严重破坏内容提供者的正常操作。然后,恶意方会要求赎金。
防止此类攻击的一种选择是所有者内容提供者用附加数据对令牌进行数字签名,附加数据例如所有者域(例如,eTLD+1)、令牌创建时间、频率滤波器针对的应用112的公共密钥的散列(或公共密钥本身),以及令牌内容的数字签名。应用112能够通过从内容提供者的域内的公知位置下载对应的公钥来验证数字签名。应用112能够使用令牌创建时间来检测陈旧或重复的请求,以及可能的重放攻击。应用112还能够通过验证公钥的散列来检测错误定向的请求。如果散列与应用的公钥的散列不匹配,则该请求可以针对在不同设备上运行的应用的不同实例。
另一种方法是应用112仅调用API来增加来自具有内容提供者起源的iframe的频率滤波器的事件计数。{caller_origin,filter_id}对或HMACSHA256(caller_origin,filter_id)使得应用112能够唯一地标识每个跨域频率滤波器。在这些示例中,“caller_origin”是iframe的起源,并且HMACSHA256是HMAC散列函数。
图3是用于基于频率滤波器生成概率数据结构并将概率数据结构发送到内容提供者的示例过程300的流程图。过程300的操作能够例如由客户端设备来实现,例如图1的客户端设备110。过程300的操作还能够被实现为存储在可以是非暂时性的一个或多个计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令能够使得一个或多个数据处理装置执行过程300的操作。为了描述的简洁和容易,过程300被描述为由客户端设备110执行。
客户端设备110获得频率滤波器集合(302)。每个频率滤波器能够定义指定事件类型、指定事件类型的最大事件计数以及频率滤波器的回溯窗口的指定持续时间。每个频率滤波器还能够包括滤波器标识符,其在一些实施方式中能够对指定事件类型和指定事件类型的主题进行编码。如上所述,内容提供者能够以加密令牌的形式向客户端设备110发送频率滤波器。加密令牌还能够包括能够用于检测攻击的附加信息。例如,加密令牌能够包括令牌创建时间、在客户端设备上运行的应用112的公钥的散列、内容提供者的eTLD+1以及令牌的其余内容的数字签名。
客户端设备110标识频率滤波器子集,对于该子集,与频率滤波器相对应的指定事件类型的实际事件计数超过由频率滤波器定义的最大事件计数(304)。实际事件计数超过由频率滤波器定义的最大事件计数的那些频率滤波器能够被称为触发频率滤波器。如上所述,客户端设备110的应用112能够将与频率滤波器的指定持续时间相对应的回溯窗口内的实际事件计数与频率滤波器的最大事件计数进行比较,以确定频率滤波器是否被触发。
客户端设备110生成表示频率滤波器子集中的频率滤波器的至少一部分的概率数据结构(306)。概率数据结构能够是Bloom滤波器。在一些实施方式中,如上面参考图2的过程200的步骤216所描述的,应用112能够将差分隐私应用于频率滤波器子集。
客户端设备110向多个内容提供者发送对内容的请求(308)。对内容的请求能够包括概率数据结构。例如,对内容的请求能够是对用于在正由应用112显示的电子资源的数字分量槽中显示的数字分量的请求。每个内容提供者能够查询概率数据结构以确定其任何频率滤波器中是否已经在客户端设备110处被触发,并且基于其任何频率滤波器是否已经在客户端设备110处被触发来确定对请求的适当响应。例如,如果没有内容提供者的频率滤波器被触发,则内容提供者可以响应于该请求提供内容。相反,如果内容提供者的频率滤波器中的一个或多个已经被触发,则内容提供者可以拒绝、忽略或发送与所请求的内容不同的内容。因此,此类方法使用触发频率滤波器作为欺诈或其他负面活动的指示符,从而为内容提供者提供识别潜在欺诈活动并对其做出反应的手段(例如,通过不发送所请求的内容),同时保持高水平的用户数据安全性。
使用Bloom滤波器或其他概率数据结构以及差分隐私的技术也能够用于其他目的。例如,Bloom滤波器和差分隐私能够被用于共同点击(co-click)聚类。当应用112访问域D做出对数字分量的请求、显现的通知和/或用户交互的通知时,应用能够将标识域D的数据插入到集合S中。该集合S能够在一些时间间隔T内被更新。然后,应用112能够基于集合S生成Bloom滤波器,例如,具有如上参考图2所述的差分隐私。
假设存在最少数量的访问域和生成的数字分量请求,则应用112能够将Bloom滤波器附到下一数字分量请求中。Bloom滤波器确保内容提供者不能对与应用112,例如,与浏览器的个体用户会话执行跨域跟踪。
然后,内容提供者能够基于接收到的Bloom滤波器在域上生成图或群集。该信息能够用于确定,例如两个数字分量请求或域是否被类似的用户集合访问。例如,内容提供者能够执行对Bloom滤波器的集合交集(例如,经由逐位与运算)或一对Bloom滤波器上的一些其他相似性度量(例如,Jaccard)。这能够使内容提供者能够确定两个Bloom滤波器之间的相似性,并因此确定两个数字分量请求之间的相似性。
图4是能够用于执行上述操作的示例性计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个能够例如使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在一些实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储设备430上的指令。
存储器420存储系统400内的信息。在一个实施方式中,存储器420是计算机可读介质。在一些实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
存储设备430能够为系统400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430能够包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或一些其他大容量存储设备。
输入/输出设备440为系统500提供输入/输出操作。在一些实施方式中,输入/输出设备440能够包括例如以太网卡的网络接口设备、例如RS-232端口的串行通信设备和/或例如802.11卡的无线接口设备中的一个或多个。在另一实施方式中,输入/输出设备能够包括驱动器设备,其被配置为接收输入数据并将输出数据发送到外部设备460,例如键盘、打印机和显示设备。然而,其他实施方式也能够被使用,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管已经在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现能够在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。
本说明书中描述的主题和操作的实施例能够在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其编码在计算机存储介质(或媒介)上,用于由数据处理装置执行或控制数据处理装置的操作。可替代地或附加地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质能够是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合,或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质能够是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也能够是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备),或者被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本说明书中描述的操作能够实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统,或前述的多个或组合。所述装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置还能够包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如网页服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)能够以任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不必与文件系统中的文件相对应。程序能够被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一个计算机上或在位于一个站点处或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也能够由专用逻辑电路来执行,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路),并且装置也能够被实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从其接收数据或将数据传输到其或两者。然而,计算机不需要具有这样的设备。此外,计算机能够嵌入在另一设备中,例如,仅举几例,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户能够通过其向计算机提供输入的键盘和指示设备,例如鼠标或轨迹球。其他类型的设备也能够被使用以提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的web浏览器发送网页。
本说明书中描述的主题的实施例能够在计算系统中实现,所述计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户能够通过该图形用户界面或web浏览器与本说明书中描述的主题的实现进行交互,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)能够在服务器处从客户端设备被接收。
虽然本说明书包含许多具体的实施细节,但是这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作为对特定发明的特定实施例特有的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也能够单独地在多个实施例中实现或以任何合适的子组合实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下能够从组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在权利要求书的范围内。在一些情况下,权利要求中记载的动作能够以不同的顺序执行,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或按顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可以是有利的。
Claims (13)
1.一种计算机实现的方法,包括:
获得频率滤波器集合,其中,每个频率滤波器定义指定持续时间内并且与相应内容提供者相对应的指定事件类型的最大事件计数;
将频率滤波器子集中的每个频率滤波器标识为触发频率滤波器,其中,对于触发频率滤波器,与频率滤波器相对应的指定事件类型的实际事件计数在与频率滤波器的指定持续时间相对应的时间段期间超过由频率滤波器定义的最大事件计数;
生成概率数据结构,概率数据结构表示所述频率滤波器子集中的频率滤波器的至少一部分;以及
向多个内容提供者发送对内容的请求,其中,对内容的请求包括所述概率数据结构。
2.根据权利要求1所述的计算机实现的方法,其中:
概率数据结构包括Bloom滤波器,Bloom滤波器包括比特数组;以及
生成概率数据结构包括:
对于被标识为触发频率滤波器的频率滤波器中的每个频率滤波器:
对于一个或多个散列函数中的每一个,通过将散列函数应用于频率滤波器的滤波器标识符来获得触发频率滤波器的比特位置;以及
将比特数组中的每个比特位置设置为值1。
3.根据权利要求1或2所述的计算机实现的方法,其中,获得频率滤波器集合包括:对于每个频率滤波器,接收通过对定义频率滤波器的滤波器标识符、指定事件类型的最大事件计数以及频率滤波器的指定持续时间的令牌进行加密而生成的加密令牌。
4.根据权利要求3所述的计算机实现的方法,其中,滤波器标识符包括字节数组,其中,字节数组标识以下项中的至少一个:(i)与指定事件类型相对应的数字分量,(ii)与指定事件类型相对应的内容平台,或(iii)指定事件类型。
5.根据权利要求3所述的计算机实现的方法,进一步包括更新频率滤波器集合中的给定频率滤波器的实际事件计数,所述更新包括:
响应于给定频率滤波器的指定事件类型的发生,获得给定频率滤波器的滤波器标识符;
发起对web浏览器API的应用编程接口(API)调用,用于更新给定频率滤波器的实际事件计数,其中,API调用包括给定频率滤波器的加密令牌;
由web浏览器解密加密令牌;以及
由web浏览器更新给定频率滤波器的实际事件计数。
6.根据权利要求1所述的计算机实现的方法,进一步包括:
对于给定频率滤波器,检测由给定频率滤波器定义的指定事件类型的事件的发生;以及
更新给定频率滤波器的实际事件计数。
7.根据前权利要求1所述的计算机实现的方法,其中,生成概率数据结构包括:
随机地或伪随机地选择被标识为触发频率滤波器的频率滤波器中的一个或多个频率滤波器;
在生成概率数据结构之前,从与被标识为触发频率滤波器的频率滤波器相对应的滤波器标识符集合中移除所述一个或多个频率滤波器中的每一个的滤波器标识符;以及
使用所述滤波器标识符集合来生成概率数据结构。
8.根据权利要求1所述的计算机实现的方法,其中,生成概率数据结构包括:
随机地或伪随机地选择不在被标识为触发频率滤波器的频率滤波器中的一个或多个频率滤波器;
在生成概率数据结构之前,将所述一个或多个频率滤波器中的每一个的滤波器标识符添加到与被标识为触发频率滤波器的频率滤波器相对应的滤波器标识符集合;以及
使用所述滤波器标识符集合来生成概率数据结构。
9.根据权利要求1所述的计算机实现的方法,其中,生成概率数据结构包括:
随机地或伪随机地选择被标识为触发频率滤波器的频率滤波器中的一个或多个第一频率滤波器;
随机地或伪随机地选择不在被标识为触发频率滤波器的频率滤波器中的一个或多个第二频率滤波器;
在生成概率数据结构之前:
从与被标识为触发频率滤波器的频率滤波器相对应的滤波器标识符集合中移除所述一个或多个第一频率滤波器中的每一个的滤波器标识符;以及
将所述一个或多个第二频率滤波器中的每一个的滤波器标识符添加到所述与被标识为触发频率滤波器的频率滤波器相对应的滤波器标识符集合;以及
使用所述滤波器标识符集合来生成概率数据结构。
10.根据权利要求1所述的计算机实现的方法,进一步包括通过对概率数据结构和第二概率数据结构执行集合相交来确定概率数据结构与第二概率数据结构之间的相似性。
11.根据权利要求1所述的计算机实现的方法,进一步包括:
由多个内容提供者中的内容提供者接收对包括概率数据结构的内容的请求;
由内容提供者基于概率数据结构确定对请求的响应,
其中,如果确定触发频率滤波器中的一个或多个与内容提供者的频率滤波器相对应,则不提供所请求的内容。
12.一种系统,包括:
一个或多个处理器;以及
一个或多个存储设备,存储指令,当指令由一个或多个处理器执行时使得一个或多个处理器执行如权利要求1至10中任一项权利要求所述的方法。
13.一种计算机可读介质,携带指令,当指令由一个或多个处理器执行时使得一个或多个处理器执行如权利要求1至10中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311120560.6A CN117313139A (zh) | 2021-01-15 | 2021-01-15 | 一种计算机实现的方法及其系统、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/013583 WO2022154801A1 (en) | 2021-01-15 | 2021-01-15 | Cross-domain frequency filters for fraud detection |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311120560.6A Division CN117313139A (zh) | 2021-01-15 | 2021-01-15 | 一种计算机实现的方法及其系统、介质和产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115087978A CN115087978A (zh) | 2022-09-20 |
CN115087978B true CN115087978B (zh) | 2023-08-01 |
Family
ID=74572870
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004120.7A Active CN115087978B (zh) | 2021-01-15 | 2021-01-15 | 用于欺诈检测的跨域频率滤波器 |
CN202311120560.6A Pending CN117313139A (zh) | 2021-01-15 | 2021-01-15 | 一种计算机实现的方法及其系统、介质和产品 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311120560.6A Pending CN117313139A (zh) | 2021-01-15 | 2021-01-15 | 一种计算机实现的方法及其系统、介质和产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220414258A1 (zh) |
EP (2) | EP4198787B1 (zh) |
JP (2) | JP7279209B2 (zh) |
CN (2) | CN115087978B (zh) |
WO (1) | WO2022154801A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448247A (zh) * | 2007-11-26 | 2009-06-03 | 奥多比公司 | 在远程设备上更新数据 |
CN105850100A (zh) * | 2013-12-24 | 2016-08-10 | 谷歌公司 | 用于受众测量的系统和方法 |
CN112189199A (zh) * | 2019-05-01 | 2021-01-05 | 谷歌有限责任公司 | 隐私保护数据收集和分析 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170316455A1 (en) * | 2012-08-01 | 2017-11-02 | Oracle America, Inc. | System and Method for Counting Advertisement Impressions |
US9305056B1 (en) * | 2013-05-24 | 2016-04-05 | Amazon Technologies, Inc. | Results cache invalidation |
US20140358671A1 (en) * | 2013-05-29 | 2014-12-04 | Linkedln Corporation | System and method for detecting fraudulent advertisement activity |
US10600076B2 (en) * | 2014-08-14 | 2020-03-24 | Google Llc | Systems and methods for obfuscated audience measurement |
US10108817B2 (en) * | 2014-09-26 | 2018-10-23 | Microsoft Technology Licensing, Llc | Privacy-preserving cookies for personalization without user tracking |
US10223393B1 (en) * | 2015-06-25 | 2019-03-05 | Amazon Technologies, Inc. | Efficient processing of source code objects using probabilistic data structures |
US10853359B1 (en) * | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Data log stream processing using probabilistic data structures |
US10679137B2 (en) * | 2016-01-04 | 2020-06-09 | Adobe Inc. | Systems and methods for determining real-time visitor segments |
US10642994B1 (en) * | 2017-05-24 | 2020-05-05 | Amazon Technologies, Inc. | Probabilistic data structures for concordance management |
US10824623B2 (en) * | 2018-02-28 | 2020-11-03 | Vmware, Inc. | Efficient time-range queries on databases in distributed computing systems |
US11775479B2 (en) * | 2018-05-24 | 2023-10-03 | Luther Systems Us Incorporated | System and method for efficient and secure private similarity detection for large private document repositories |
EP3802229A4 (en) * | 2018-05-25 | 2022-03-02 | Securethings U.S., Inc. | CYBERSECURITY ON A CONTROLLER ZONE NETWORK IN A VEHICLE |
-
2021
- 2021-01-15 US US17/617,370 patent/US20220414258A1/en active Pending
- 2021-01-15 CN CN202180004120.7A patent/CN115087978B/zh active Active
- 2021-01-15 CN CN202311120560.6A patent/CN117313139A/zh active Pending
- 2021-01-15 JP JP2021576489A patent/JP7279209B2/ja active Active
- 2021-01-15 WO PCT/US2021/013583 patent/WO2022154801A1/en unknown
- 2021-01-15 EP EP23155610.1A patent/EP4198787B1/en active Active
- 2021-01-15 EP EP21704364.5A patent/EP4049165B1/en active Active
-
2023
- 2023-05-09 JP JP2023077364A patent/JP2023100895A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448247A (zh) * | 2007-11-26 | 2009-06-03 | 奥多比公司 | 在远程设备上更新数据 |
CN105850100A (zh) * | 2013-12-24 | 2016-08-10 | 谷歌公司 | 用于受众测量的系统和方法 |
CN112189199A (zh) * | 2019-05-01 | 2021-01-05 | 谷歌有限责任公司 | 隐私保护数据收集和分析 |
Also Published As
Publication number | Publication date |
---|---|
EP4049165A1 (en) | 2022-08-31 |
JP2023513649A (ja) | 2023-04-03 |
EP4049165B1 (en) | 2023-03-08 |
CN115087978A (zh) | 2022-09-20 |
EP4198787A1 (en) | 2023-06-21 |
US20220414258A1 (en) | 2022-12-29 |
WO2022154801A1 (en) | 2022-07-21 |
EP4198787B1 (en) | 2024-03-13 |
CN117313139A (zh) | 2023-12-29 |
JP7279209B2 (ja) | 2023-05-22 |
JP2023100895A (ja) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790111B2 (en) | Verifiable consent for privacy protection | |
US11949688B2 (en) | Securing browser cookies | |
US20240146739A1 (en) | Preventing data manipulation and protecting user privacy in determining accurate location event measurements | |
KR102608325B1 (ko) | 클라이언트 장치에서 통신의 무결성 보호 | |
US20240095364A1 (en) | Privacy-preserving and secure application install attribution | |
CN115087978B (zh) | 用于欺诈检测的跨域频率滤波器 | |
EP3895368A1 (en) | Preventing fraud in aggregated network measurements | |
CN113994360A (zh) | 使用众包打击虚假信息 | |
CN113015974B (zh) | 针对隐私保护的可验证同意 | |
EP4042665B1 (en) | Preventing data manipulation in telecommunication network measurements | |
JP7492036B2 (ja) | 情報アクセスを制限するセキュアなネットワーク通信 | |
US20230299960A1 (en) | Localized cryptographic techniques for privacy protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |