CN112236975B - 基于防欺诈设备标识符处理内容项操作的系统和方法 - Google Patents

基于防欺诈设备标识符处理内容项操作的系统和方法 Download PDF

Info

Publication number
CN112236975B
CN112236975B CN202080002343.5A CN202080002343A CN112236975B CN 112236975 B CN112236975 B CN 112236975B CN 202080002343 A CN202080002343 A CN 202080002343A CN 112236975 B CN112236975 B CN 112236975B
Authority
CN
China
Prior art keywords
content item
content
request
device identifier
data processing
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
Application number
CN202080002343.5A
Other languages
English (en)
Other versions
CN112236975A (zh
Inventor
王刚
马赛罗·永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112236975A publication Critical patent/CN112236975A/zh
Application granted granted Critical
Publication of CN112236975B publication Critical patent/CN112236975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

至少一个方面针对通过标识欺诈性内容项操作来改善处理内容项操作的数据处理系统的性能。数据处理系统可以从客户端设备接收包括内容项设备标识符和证明令牌的内容项操作。证明令牌可以包括与计算设备相关联的公开密钥、证明令牌时间戳、消息有效载荷和嵌入的数字签名。数据处理系统可以使用公开密钥作为签名验证密钥来验证公开密钥、证明令牌时间戳和消息有效载荷的组合的数字签名。只有数字签名验证过程成功,系统才可以处理内容项操作。

Description

基于防欺诈设备标识符处理内容项操作的系统和方法
相关申请的交叉引用
本申请要求于2019年8月8日提交的美国专利申请No.16/536,174的优先权,其本身要求于2019年5月13日提交的美国临时专利申请No.62/847,016的优先权,它们中的每一个均通过引用整体并入本文。
背景技术
在诸如互联网的计算机联网环境中,第三方内容提供者提供第三方内容项以在最终用户计算设备上显示。这些第三方内容项,例如,广告,可以显示在与相应发布者相关联的网页上。这些第三方内容项可以包括标识提供该内容项的第三方内容提供者的内容。
发明内容
至少一方面针对处理内容项操作。该方法包括由包括一个或多个处理器的数据处理系统从计算设备接收第一内容项通信,该内容项通信包括第一内容项设备标识符和证明令牌,该证明令牌包括与计算设备相关联的公开密钥、证明令牌时间戳、消息有效载荷和数字签名。该方法还包括由数据处理系统使用公开密钥、时间戳和消息有效载荷来验证数字签名。该方法还包括由数据处理系统基于公开密钥的加密散列来生成第二内容项设备标识符。该方法进一步包括由数据处理系统确定第二内容项设备标识符与第一内容项设备标识符匹配。该方法还包括响应于验证数字签名并响应于确定第二内容项设备标识符与第一内容项设备标识符匹配由数据处理系统基于消息有效载荷处理第一内容项通信。
在一些实施方式中,消息有效载荷包括清除存储在数据处理系统中的数据库中的用户数据的请求。该方法还包括由数据处理系统确定时间戳具有在预定时间值范围内的值。该方法还包括由数据处理系统基于验证数字签名以及确定时间戳具有在预定时间值范围内的值来确定内容项通信有效。该方法进一步包括,响应于确定内容项通信有效,由数据处理系统访问数据库以清除与内容项设备标识符相关联的数据。
在一些实施方式中,消息有效载荷包括内容项请求和与对内容项的请求相关联的参数集。该方法进一步包括由数据处理系统确定时间戳具有在预定时间值范围内的值。该方法进一步包括由数据处理系统确定该参数集中的值与所存储的参数匹配。该方法进一步包括:响应于确定时间戳具有在预定时间值范围内的值并确定参数集中的值与所存储的参数匹配,由数据处理系统选择内容项并将该内容项发送到与接收到的内容项操作相关联的客户端设备。
在一些实施方式中,消息有效载荷包括指示应用已经安装在客户端设备上的应用安装通知。该方法进一步包括由数据处理系统确定时间戳具有在预定时间值范围内的值。该方法还包括由数据处理系统基于确定对时间戳具有在预定时间值范围内的值来更新数据库,以更新与内容项相关联的信用值。
在一些实施方式中,内容项设备标识符唯一地标识从其接收到内容项通信的客户端设备。在一些实施方式中,内容项设备标识符具有16个字节的长度。
这些和其他方面以及实施方式在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
附图并非旨在按比例绘制。在各个附图中,相似的附图标记和名称指示相似的元素。为了清楚起见,并非在每个附图中都标记了每个组件。在附图中:
图1是描绘用于管理防欺诈内容项操作的环境的实施方式的框图。
图2示出根据说明性实施方式的描绘客户端设备125的示例性实施方式的框图。
图3示出根据说明性实施方式的用于生成内容项设备标识符的示例过程的流程图。
图4示出由图2中所示的证明令牌生成器生成的证明令牌的表示。
图5示出根据说明性实施方式的示例性过程的流程图,该示例性过程可以被实现以减轻欺诈性数据清除请求。
图6示出根据说明性实施方式的示例过程的流程图,该示例过程可以被实现以减轻由图1中所示的数据处理系统接收到的欺诈性内容项请求。
图7示出根据说明性实施方式的示例过程的流程图,该示例过程可以被实施以减轻由图1中所示的数据处理系统11接收到的欺诈性应用安装通知。
图8示出可以被采用以实现本文讨论的任何计算机系统的说明性计算机系统的总体架构。
具体实施方式
以下是与管理防欺诈内容项操作的方法、装置和系统有关的各种概念以及其实施方式的更详细的描述。因为所描述的概念不限于任何特定的实施方式,所以可以以多种方式中的任何一种来实现上面介绍的以及下面将更详细讨论的各种概念。
图1是描绘用于管理防欺诈内容项操作的环境100的一种实施方式的框图。环境100包括至少一个数据处理系统110。数据处理系统110可以包括至少一个处理器(或处理电路)和存储器。存储器存储处理器可执行指令,该处理器可执行指令在处理器上执行时,使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可清除ROM(EEPROM)、可清除-可编程ROM(EPROM)、闪存、光学介质或处理器可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统110可以包括一个或多个可以执行各种功能的计算设备或服务器。在一些实施方式中,数据处理系统110可以包括被配置成托管拍卖的广告拍卖系统。在一些实施方式中,数据处理系统110不包括广告拍卖系统,但是被配置成经由网络105与广告拍卖系统通信。
网络105可以包括诸如互联网、局域网、广域网、城域网或其他局域网的计算机网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其他计算机网络及其组合。环境100的数据处理系统110可以经由网络105,例如与至少一个内容提供者计算设备115、至少一个内容发布者计算设备120或至少一个客户端设备125通信。网络105可以是在客户端设备125、数据处理系统110和一个或多个内容源(例如,Web服务器、广告服务器等)之间中继信息的任何形式的计算机网络。例如,网络105可以包括互联网和/或其他类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络105还可以包括被配置成在网络105内接收和/或传送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105可以进一步包括任意数量的硬连线和/或无线连接。例如,客户端设备125可以(例如,经由WiFi、蜂窝、无线电等)与收发器无线地通信,该收发器被硬连线到(例如,经由光缆、CAT5电缆等)网络105中的其他计算设备。
内容提供者计算设备115可以包括由内容提供者实体操作的服务器或其他计算设备,以提供诸如广告的内容项以在客户端设备125处的信息资源上进行显示。内容提供者计算设备115提供的内容可以包含第三方内容项或创意(例如,广告),以在信息资源(诸如包含主要内容(例如,内容发布者计算设备120提供的内容)的网站或网页)上显示。内容项也可以显示在搜索结果网页上。例如,内容提供者计算设备115可以提供广告(“广告”)或其他内容项或作为广告(“广告”)或其他内容项的源,以显示在内容网页(诸如其中公司提供网页的主要内容的公司的网页)的内容插槽中或显示在由搜索引擎提供的搜索结果登录页面上。与内容提供者计算设备115相关联的内容项可以被显示在除了网页之外的信息资源上,诸如作为应用(诸如游戏应用、全球定位系统(GPS)或地图应用或其他类型的应用)的执行的一部分而显示在智能电话或者客户端设备125上的内容。
内容发布者计算设备120可以包括由内容发布实体操作的服务器或其他计算设备,以提供主要内容以经由网络105显示。例如,内容发布者计算设备120可以包括提供主要内容以在网页上显示的网页运营商。主要内容可以包括除了内容发布者计算设备120所提供的内容以外的内容,并且网页可以包括被配置用于显示来自内容提供者计算设备115的第三方内容项(例如,广告)的内容插槽。例如,内容发布者计算设备120可以操作公司的网站,并且可以提供关于该公司的内容以显示在网站的网页上。网页可以包括被配置用于显示诸如内容提供者计算设备115的广告的第三方内容项的内容插槽。在一些实施方式中,内容发布者计算设备120包括操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如服务器)。搜索引擎网页的主要内容(例如,结果或登录网页)可以包括搜索结果以及内容插槽中显示的第三方内容项,诸如来自内容提供者计算设备115的内容项。在一些实施方式中,内容发布者计算设备120可以包括用于为视频内容服务的服务器。
客户端设备125可以包括计算设备,该计算设备被配置成经由网络105进行通信以显示数据,诸如内容发布者计算设备120所提供的内容(例如,主要网页内容或其他信息资源)以及由内容发布者计算设备115所提供的内容(例如,第三方内容项,诸如配置用于在网页的内容插槽中显示的广告)。客户端设备125、内容提供者计算设备115和内容发布者计算设备120可以包括台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频记录器、用于电视的机顶盒、视频游戏机或配置成经由网络105进行通信的任何其他计算设备。客户端设备125可以是通信设备,最终用户可通过该通信设备提交接收内容的请求。该请求可以是对搜索引擎的请求,并且该请求可以包括搜索查询。在一些实施方式中,请求可以包括对访问网页的请求。
内容提供者计算设备115、内容发布者计算设备120和客户端设备125可以包括处理器和存储器,即,处理电路。存储器存储机器指令,该机器指令在处理器上执行时,使处理器执行本文所述的一种或多种操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可清除ROM(EEPROM)、可清除-可编程ROM(EPROM)、闪存、光学介质或处理器可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
内容提供者计算设备115、内容发布者计算设备120和客户端设备125还可以包括一个或多个用户界面设备。通常,用户界面设备指代通过生成感官信息(例如,显示器上的可视化、一个或多个声音等)将数据传达给用户和/或将从用户接收到的感官信息转换成电子信号的任何电子设备(例如,键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实施方式,一个或多个用户界面设备可以在内容提供者计算设备115、内容发布者计算设备120和客户端设备125(例如,内置显示器、麦克风等)的壳体内部或在内容提供者计算设备115、内容发布者计算设备120和客户端设备125(例如,连接到用户计算设备115的监视器、连接到用户计算设备115的扬声器等)的壳体的外部。例如,内容提供者计算设备115、内容发布者计算设备120和客户端设备125可以包括电子显示器,该电子显示器使用从一个或多个内容源和/或从数据处理系统110经由网络105接收到的网页数据可视地显示网页。在一些实施方式中,内容植入式广告活动管理器(content placement campaign manager)或第三方内容提供者,诸如广告商,可以经由内容提供者计算设备115与数据处理系统110进行通信。在一些实施方式中,广告商可以经由显示在内容提供者计算设备115的用户界面设备上的用户接口与数据处理系统110通信。
数据处理系统110可以包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器场中的多个服务器。在一些实施方式中,数据处理系统110可以包括第三方内容植入式系统,例如,广告服务器或广告植入式系统。数据处理系统110可以包括至少一个内容和内容项请求组件130、至少一个内容和内容项选择组件135、至少一个归因组件150和至少一个数据库145。内容和内容项请求组件130、内容和内容项选择组件135和归因组件150中的每一个可以均包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、家用电器或其他逻辑设备,诸如被配置成与数据库145和与其他计算设备(例如,内容提供者网络设备、内容发布者计算设备120或客户端设备125)通信的可编程逻辑阵列。
内容和内容项请求组件130、内容和内容项选择组件135和归因组件150可以包括或执行至少一个计算机程序或至少一个脚本。内容和内容项请求组件130、内容和内容项选择组件135和归因组件150可以是单独的组件、单个组件或数据处理系统110的一部分。内容和内容项请求组件130、内容和内容项选择组件135和归因组件150可以包括软件和硬件的组合,诸如被配置成执行一个或多个脚本的一个或多个处理器。
数据处理系统110还可以包括一个或多个内容存储库或数据库145。数据库145可以是数据处理系统110本地的。在一些实施方式中,数据库145可以是数据处理系统110远程的,但是可以经由网络105与数据处理系统110进行通信。数据库145可以包括网页、网页的一部分、第三方内容项(例如,广告)和内容插槽插入脚本等,以服务于客户端设备125。在一些实施方式中,数据库145还可以包括关于(下面讨论的)内容项设备标识符存储的用户信息,以及存储与客户端设备的内容项设备标识符相关联的内容项请求的请求日志。
内容和内容项请求组件130可以从客户端设备125接收对内容的请求。对内容的请求可以包括对信息资源的请求、对一个或多个第三方内容项的请求、对内容插槽插入脚本的请求或其组合。在一些实施方式中,对内容的请求可以包括对第三方内容的请求。在一些实施方式中,对第三方内容的请求可以包括将在其上显示第三方内容的信息资源的地址或标识符。对第三方内容的请求还可以包括或标识一个或多个参数,数据处理系统110可以使用该参数来确定要响应于对内容的请求而提供的内容。这些参数可以标识在其中插入所请求的内容的内容插槽的尺寸。这些参数可以标识与信息资源相关联的内容的类型、所请求的第三方内容的类型(例如,文本、图像、视频等)、客户端设备信息、所请求的第三方内容项的大小信息或它们的组合。在一些实施方式中,该请求可以标识内容插槽插入脚本。在一些实施方式中,对内容的请求可以包括指示资源信息的内容发布者已订阅或者以其它方式已经选择加入内容插槽插入服务的标识符。
在一些实施方式中,对内容的请求可以包括对信息资源的请求。对信息资源的请求可以包括信息资源的地址或标识符。例如,对信息资源的请求可以包括诸如网页(例如,“http://www.example.com”)的特定资源的统一资源定位符(URL)。对信息资源的请求还可以包括客户端设备信息(诸如,设备类型、设备标识符或其组合)。
在一些实施方式中,对内容的请求可以包括对内容插槽插入脚本的请求。在一些实施方式中,对内容插槽插入脚本的请求可以包括所请求的脚本的指示、资源信息的地址或标识符或其组合。在一些实施方式中,对内容插槽插入脚本的请求可以标识内容插槽插入脚本。在一些实施方式中,对内容插槽插入脚本的请求可以包括指示资源信息的内容发布者已订阅或已经以其它方式选择加入内容插槽插入服务的标识符。在一些实施方式中,内容和内容项请求组件130可以被配置成解析对内容的请求并且确定将对内容的请求转发到内容和内容项选择组件135或脚本提供者组件。例如,如果响应于接收到的对内容的请求而确定将内容插槽插入脚本发送到客户端设备125,则内容和内容项请求组件130可以将对内容的请求转发给脚本提供者组件。否则,内容和内容项请求组件130可以将对内容的请求转发到内容和内容项选择组件135。在一些实施方式中,内容和内容项请求组件130可以确定将对内容的请求转发到内容和内容项选择组件135和脚本提供者组件。内容和内容项请求组件130可以基于对内容的请求(例如,对信息资源的请求、对第三方内容的请求或对内容插槽插入脚本的请求)的类型、内容请求中的指示符(例如,指示内容插槽插入脚本的指示符或指示信息资源适合于进行内容插槽插入的指示符)、对内容的请求中的信息资源标识符或其组合来确定是否要将脚本发送给客户端设备125。在一些实施方式中,内容和内容项请求组件130可以通过将信息资源的标识与信息资源标识符(例如,适合于接收内容插槽插入脚本的资源信息标识符)的列表进行比较来确定是否将脚本发送给客户端设备125。在一些实施方式中,信息资源标识符可以是URL。在一些实施方式中,信息资源标识符可以是信息资源所属的域。在一些实施方式中,信息资源标识符可以是与托管信息资源的服务器相对应的IP地址。在一些实施方式中,内容和内容项请求组件130可以将对内容的请求自动转发到内容和内容项选择组件135,而无需检查是否要将脚本发送给客户端设备125。
内容和内容项选择组件135可以被配置成响应于接收到的对内容的请求来确定要传送到客户端设备125的内容。内容和内容项选择组件135可以基于对内容的请求中包括的信息来确定要发送到客户端设备125的内容。例如,在接收到对信息资源的请求时,内容和内容项选择组件135可以使用信息资源在对内容的请求中的地址或标识符来确定要发送到客户端设备的内容。
在接收到对一个或多个第三方内容项的请求的情况下,内容和内容项选择组件135可以基于在其上第三方内容项要呈现的信息资源的地址或标识符、信息资源的内容类型信息(例如,体育、新闻、音乐、电影、旅行等)、其中第三方内容项要显示的插槽的大小信息、客户端设备信息(例如,设备类型、设备标识符、设备位置等)来选择第三方内容项。在一些实施方式中,对内容项的请求还可以包括内容项设备标识符,该内容项设备标识符是出于内容项交易的目的针对客户端设备125唯一生成的。例如,内容项设备标识符可以包括在Android支持的设备中利用的广告标识符(ADID)、在Apple支持的设备中利用的广告商标识符(IDFA)或广告商可以用来标识用户的任何其他标识符。内容项设备标识符可以不同于与客户端设备125相关联的唯一设备标识符(UDID)。例如,内容项设备标识符允许内容项提供者跟踪与内容项设备标识符有关的活动,类似于跟踪与UDID相关的活动。但是,不同于用户不能关掉其跟踪的UDID,用户可以基于内容项设备标识符容易地关掉对活动的跟踪。此外,不同于对于客户端设备125是唯一的并且其暴露通常不能由用户使用客户端设备125来控制的UDID,内容项设备标识符可以是唯一的并且可以由用户重置。这允许用户通过设置所预期的跟踪偏好基于内容项设备标识符决定退出被定向的内容项传递。内容项设备标识符可以由用户改变,并且可以跨与用户相关联的多个设备通用。内容和内容项选择组件135接收到的对内容项的请求可以包括内容项设备标识符,内容和内容项选择组件135可以基于例如与内容项设备标识符有关的过去活动来利用该内容项设备标识符以选择在客户端设备125处呈现的内容项。
在一些实施方式中,对第三方内容的请求还可以包括用于在信息资源上显示第三方内容项的最小收入金额(revenue amount)(或最小竞争值)。在一些实施方式中,内容和内容项选择组件135可以与广告拍卖系统通信并且提供广告拍卖系统信息,该信息包括在从客户端设备接收到的对第三方内容的请求中。响应于提供对第三方内容的请求中包括的信息,内容和内容项选择组件135还可以从广告拍卖系统接收一个或多个第三方内容项。在一些实施方式中,内容和内容项选择组件135可以访问数据库145并检索内容以发送给客户端设备125。
在一些实施方式中,内容和内容项选择组件135可以被配置成响应于对内容的请求来确定是否要将脚本发送给客户端设备125。内容和内容项选择组件135可以基于内容请求的类型(例如,对信息资源的请求、对第三方内容的请求或对内插槽插入脚本的请求)、对内容的请求中的指示符(例如,指示内容插槽插入脚本的指示符或指示信息资源适合于进行内容插槽插入的指示符)、在对内容的请求中的信息资源标识符或其组合来确定是否要向客户端设备125发送脚本。在一些实施方式中,内容和内容项选择组件135可以通过将信息资源的标识与信息资源标识符(例如,适合于接收内容插槽插入脚本的信息资源标识符)的列表进行比较来确定是否要向客户端设备125发送脚本。在确定脚本将被发送到客户端设备125时,内容和内容项选择组件135可以将对内容的请求或其指示转发给脚本提供者组件。在一些实施方式中,内容和内容项选择组件135仍然可以选择第三方内容项以与诸如内容插槽插入脚本的脚本一起发送到客户端设备125。
归因组件150可以处理对归因的请求,例如,应用安装声明请求和应用安装信用声明请求。在一些实施方式中,内容项可以由在客户端设备125上执行的应用来服务。在客户端设备上渲染内容项的应用可以包括可以监视与内容项的交互的软件开发套件(SDK)。例如,如果用户点击了在客户端设备125上渲染的内容项,则SDK可以将用户在客户端设备125处点击内容项的通知发送到创建内容项的内容项网络。内容项,例如,可以包括消息或向用户提供在客户端设备125上安装应用的链接。当用户在客户端设备125上安装应用时,应用可以包括归因SDK,该归因SDK可以将指示应用已安装在客户端设备125上的通知发送给归因组件150。归因组件150作为内容项广告活动的一部分,可以查询多个内容项网络,以确定是否通过由相应内容项网络创建的内容项来促进被安装在客户端设备125上的应用。适当的内容项网络可以以对信用的请求作为响应。来自归因SDK的应用安装通知和来自内容项网络的信用请求两者都可以包括(以下讨论的)证明令牌,归因组件150可以利用该证明令牌来减轻欺诈性安装通知和欺诈性信用请求。
数据处理系统110可以减轻涉及内容项设备标识符的各种欺诈性交易。例如,欺诈性交易可能广泛涉及内容项定向、归因以及用户数据的透明度和控制。欺诈性内容项定向可以包括具有被劫持的内容项设备标识符的请求,以及具有除了内容项设备标识符以外的欺诈性请求参数的请求。在一些情况下,一些实体可能会生成欺诈性内容项设备标识符,并将请求发送到内容和内容项请求组件130。这会增加数据处理系统110的负载,从而影响性能。在一些实施方式中,一些实体可以修改在发送到内容和内容项请求组件130的请求中的除了内容项设备标识符以外的参数,例如,用于应用内请求的应用名称、用于网络请求的URL等。在这样的场景下,即使请求是欺诈的,数据处理系统110也可以处理请求,从而影响数据处理系统110的性能。
欺诈性归因可以包括欺诈性应用安装信用声明和欺诈性应用安装通知。在一些实施方式中,在将应用安装在客户端设备125上之后,在客户端设备125上首次启动该应用使嵌入在应用中的归因SDK将归因请求发送到归因组件150。响应于接收归因请求,归因组件150可以查询多个内容项网络,诸如内容提供者115,以确定应被归功于应用安装的内容项网络。在一些实施方式中,归因可以基于最终点击模型。一些欺诈性内容项网络可以将欺诈性信用请求发送到归因组件150。在一些这样的实例中,尽管请求是欺诈性的,数据处理系统110也可以处理信用请求,并且归功于(credit)欺诈性内容项网络,从而负面影响数据处理系统110的性能。
在一些其他实施方式中,欺诈性实体可以将欺诈性应用安装通知发送到归因组件150。也就是说,尽管没有在客户端设备125上安装任何应用,该实体也可以发送应用安装的通知。如果有与安装数量相关的经济诱因,则可以驱动欺诈性实体发送大量通知。数据处理系统110可以处理这些通知,例如,尽管该通知可能是欺诈性的,也为每个通知生成对内容项网络的查询,从而对数据处理系统110的性能产生负面影响。
在一些实施方式中,欺诈性实体可以通过发送欺诈性清除请求来妥协存储在数据处理系统110上的用户信息165的完整性。欺诈性实体可以劫持客户端设备125的内容项设备标识符,并且向客户端设备125未知的数据处理系统110发送数据清除请求。这可能导致数据处理系统110非法清除与客户端设备125相关联的用户数据,从而影响存储在数据处理系统110处的数据的完整性。此外,当数据处理系统110正在处理欺诈性请求时,数据处理系统110的性能可能受到负面影响。在一些其他实例中,欺诈性实体可以收集几个客户端设备125的内容项设备标识符(其是公共的),并且向数据处理系统发送欺诈性请求,以提供与内容项设备标识符相关联的数据处理系统110所有的用户信息。同样,该请求可以在未经客户端设备(诸如客户端设备125)授权的情况下进行,并且可能对存储在数据处理系统110上的数据的完整性产生负面影响,并对该数据处理系统110的性能产生负面影响。
在一些实施方式中,欺诈性实体可以使用除了内容项设备标识符之外的欺诈性修改的参数来向数据处理系统110发送请求,其中,该参数可以包括用于应用内请求的应用名称、Web请求的URL等。欺诈性实体这样做的动机可能是出于非法的经济利益,然而,存储在数据处理系统110中的数据的完整性以及数据处理系统110的性能可能受到负面影响。
如本文所讨论的,可以通过使用具有自证能力的内容项设备标识符来减轻上述欺诈性场景对数据完整性和性能的负面影响,其中数据处理系统110可以查明在请求或通知中接收到的内容项设备标识符与声称的客户端设备125合法相关联。此外,完整性特征可以并入请求和通知中,使得数据处理系统110可以检测到对请求或通知的任何欺诈性修改或更改。
图2示出描绘客户端设备125的示例实施方式的框图。客户端设备125可以包括内容项设备标识符生成器202、证明令牌生成器204和存储206。此外,客户端设备125可以运行第三方应用208,其中至少一个可以包括SDK 210,例如归属SDK,其可以将安装通知发送到数据处理系统110。在一些实施方式中,可以通过客户端设备125的操作系统执行内容项设备标识符生成器202,其中示例操作系统可以包括但不限于Android操作系统和iOS操作系统。在一些实施方式中,内容项设备标识符生成器202可以是由操作系统提供的应用编程接口,应用208可以与该应用编程接口对接,以请求生成内容项设备标识符。在一些实施方式中,每当应用208向数据处理系统110发送请求或通知时,应用208可能必须在请求或通知中包括客户端设备125的内容项设备标识符。应用208可以请求内容项设备标识符生成器202生成内容项设备标识符,然后可以将该内容项设备标识符包括在发送到数据处理系统110的请求或通知中。
图3示出用于生成内容项设备标识符的示例过程300的流程图。特别地,过程300可以由图2中所示的内容项设备标识符生成器202执行。过程300包括,接收对内容项设备标识符的请求(302);如果还没有生成,则生成公开密钥-私人密钥对(304);对公开密钥进行加密散列(306);以及根据需要截断加密-散列到预定比特长度(308)。
内容项设备标识符生成器202可以从诸如应用208之一的应用接收生成内容项设备标识符的请求(302)。生成内容项设备标识符的请求可以归因于应用208或SDK 210打算发送给数据处理系统110的通知或请求。在一些情况下,应用208或SDK 210可以调用客户端设备125的操作系统提供的API(例如,Android操作系统中的getId()),用于请求内容项设备标识符。在不合并在本文讨论的欺诈减轻技术的系统中,内容项设备标识符存储在客户端设备125的存储206中。在接收到来自应用208或SDK 210的请求后,操作系统仅访问来自存储206的内容项设备标识符,并将内容项设备标识符提供给应用208或SDK 210。所存储的内容项设备标识符可以随机生成,并且对于用户或客户端设备125可以是唯一的。内容项设备标识符也可以具有固定比特长度,例如16个字节。内容项设备标识符可以具有包括字母数字符号的字符串格式。如在上面所提及的,内容项设备标识符可以由用户重置。因为内容项设备标识符可以是随机生成的值,所以这致使依赖于内容项设备标识符的交易容易受到欺诈性使用。例如,应用208或SDK 210可以包括与存储在存储206中的内容项设备标识符不同的非法内容项设备标识符。相反,内容项设备标识符生成器202依赖于将特定信息包括到内容项设备标识符中,诸如生成作为与客户端设备125的私人密钥相关联的公开密钥的函数的内容项设备标识符。
内容项设备标识符生成器202可以生成公开密钥-私人密钥对(304)。公开密钥-私人密钥对可以包括基于非对称密钥技术(例如,RSA加密算法、椭圆曲线算法或任何其他此类非对称密钥生成技术)生成的公开密钥Keypublic和Keyprivate。公开密钥-私人密钥对的生成的一方面是,内容项设备标识符生成器202不依赖外部证书颁发机构来生成密钥对。证书颁发机构是颁发数字证书的实体,该数字证书通过证书的命名的主题来证明公开密钥的所有权。相反,不需要受信方。由内容项设备标识符生成器202生成的Keypublic和Keyprivate可以具有诸如例如1028或2048个比特(例如,RSA密钥长度)的大小,但是,可以利用任何其他密钥大小。内容项设备标识符生成器202可以将私人密钥安全地存储在客户端设备125上的存储206或某些其他安全存储中。在一些实施例中,对私人密钥的访问可以被限于证明令牌生成器204。以这种方式,在客户端设备125上运行的应用不能欺诈地访问或修改私人密钥。
内容项设备标识符生成器202对公开密钥进行加密散列(306)。在一些示例中,内容项设备标识符生成器202可以利用各种加密散列函数来生成公开密钥的加密散列值。加密散列函数是将数据或任意大小映射到固定大小的比特字符串的一种数学算法。作为非限制性示例,内容项设备标识符生成器202可以利用SHA512/256算法来生成公开密钥的加密散列值。因此,加密散列值可以等于Fcrypto-hash(Keypublic)。
内容项设备标识符生成器202可以截断加密散列值(308)。截断函数Ftruncate可以包括将加密散列值的长度减小到等于不具有防欺诈性能的内容项设备标识符的长度的比特长度的功能。维持内容项设备标识符的长度可以允许维持内容项设备标识符与不处理防欺诈内容项设备标识符的系统的向后兼容性。该长度可以等于例如16个字节长。但是,16字节的长度仅是示例,并且可以利用任何大小的截断函数。在某些实施方式中,Ftruncate函数可以简单地从加密散列值中消除超过目标长度的字节数。例如,使用SHA256生成的加密加密散列值可以为32个字节长。Ftruncate函数可以从加密散列值中消除16个字节,以达到16个字节的目标长度。加密散列值的截断可以用作客户端设备125的内容项设备标识符。因此,内容项设备标识符生成器202可以通过使用以下函数来生成客户端设备125的内容项设备标识符:Ftruncate(Fcrypto-hash(Keypublic))。内容项设备标识符生成器202可以将所生成的内容项设备标识符存储在存储206中,并且可以在将计算成本最小化的同时快速地为将来的请求提供所存储的内容项设备标识符。在一些情况下,每次用户指示客户端设备125改变内容项设备标识符时,内容项设备标识符生成器202就可以执行该处理。
在一些实施例中,内容项设备标识符可以与和由内容项设备标识符生成器202生成的公开密钥-私人密钥对相关联的公开密钥相同。这样的标识符的长度可以是公开密钥的长度的函数。在一些这样的实施例中,公开密钥的长度可以基于所使用的非对称密钥算法和所选择的密钥长度。例如,用于RSA算法的一些实施方式的公开密钥可以为2048个比特或256字节长。在内容项设备标识符的长度不受限制的实施方式中,公开密钥可以直接用作内容项设备标识符。在一些实施例中,可以基于加密函数来生成内容项设备标识符,该加密函数的一个示例包括以上讨论的散列函数。这里也一样,所得的内容项设备标识符的长度也可以是加密函数的输出的长度的函数。在一些实施例中,内容项设备标识符生成器202可以通过在不应用加密函数的情况下截断公开密钥本身以获得预期的长度(例如,16个字节)来生成内容项设备标识符。
客户端设备125除了生成如在上面所讨论的内容项设备标识符之外,还可以生成证明令牌。图4示出由图2中所示的证明令牌生成器204生成的证明令牌400的表示。证明令牌400可以包括多个级联部分。例如,证明令牌400可以包括公开密钥字段402(Keypublic)、证明令牌创建时间戳(“time stamp”)字段404、消息有效载荷字段406和数字签名字段408。公开密钥字段402可以包括由内容项设备标识符生成器202生成并且在上面关于图3所讨论的公开密钥Keypublic。在一些示例中,公开密钥字段402可以具有基于所使用的特定密钥生成算法的公开密钥的大小的比特长度。例如,在使用RSA算法的一些实施方式中,公开密钥字段402可以是1024-2048个比特或更大。在一些其他实施方式中,在使用椭圆曲线算法来生成密钥对的情况下,公开密钥字段402可以是33个字节长。
时间戳字段404可以包括当由证明令牌生成器204生成证明令牌400时的时间的时间戳“T”。在一些实施方式中,证明令牌生成器204可以利用高分辨率时间戳。在一些实施方式中,证明令牌生成器204可以是大约8个字节长,并且可以包括诸如当生成证明令牌时的天、日期或时间(例如,GMT或一些其他标准时间)的信息。消息有效载荷字段406可以包括基于将由应用208或SDK 210发送到数据处理系统110的请求或通知的类型的消息“M”。例如,当应用208或SDK 210向数据处理系统110发送清除请求时消息有效载荷可以包括消息{operation:wipe-out}。下面进一步讨论用于其他请求或通知的其他示例有效载荷。消息有效载荷字段406的大小可以基于消息的类型、消息的参数和所选择的编码方案而变化。
数字签名字段408可以包括数字签名“S”,该数字签名是证明令牌的其他字段的数字签名。具体来说,S=数字签名(Keypublic||T||M)。证明令牌生成器204可以使用由客户端设备125生成的公开密钥Keypublic使用任何数字签名生成算法来生成数字签名S(图3,304)。例如,证明令牌生成器204可以使用诸如基于RSA的签名方案(例如,RSA-PSS)、数字签名算法(DSA)或其椭圆曲线变体ECDSA、爱德华兹曲线数字签名算法、EIGamal签名方案等算法来生成数字签名S。证明令牌生成器204可以生成以任何序列排列的公开密钥、时间戳和消息有效载荷的数字签名。即,公开密钥、时间戳和消息有效载荷的相对位置可以变化。证明令牌生成器204生成数字签名,使得接受者可以验证证明令牌400是由客户端设备125创建的并且在途中没有被变更。此外,一旦接受者成功地验证了数字签名,接受者可以确保证明令牌中包括的公开密钥也是由客户端设备125创建的并且在途中没有被变更。
如在上面所提及的,内容项设备标识符生成器202使用由客户端设备125生成的相同的公开密钥来生成内容项设备标识符。因此,对证明令牌400中包括的数字签名S的验证还验证使用相同的公开密钥生成的内容项设备标识符也由客户端设备125创建,并且在途中没有被变更。接受者还可以通过对包括在已验证的证明令牌400中的公开密钥进行加密散列和截断来验证接收到的内容项设备标识符,并且如果存在匹配项,则可以确保接受者同时从同一客户端设备125接收到两个证明令牌(包括消息M,和时间戳)和内容项设备标识符二者并且在途中没有被变更。在一些实施方式中,证明令牌生成器204可以在证明令牌中包括指示每个字段的开始和结束的附加比特。这可以帮助数据处理系统110标识字段的位置和内容。在一些实施方式中,每个字段的大小可以被预设和固定的。在一些实施例中,证明令牌400还可以包括版本字段,其中每个版本可以指示公开密钥/私人密钥算法和密钥长度、时间戳分辨率、数字签名算法、编码方案、字段大小等等。
在数据处理系统110不实现防欺诈或检测的情况下,客户端设备125可以生成消息字段,而不包括图4中所示的其他字段。然而,在数据处理系统110确实实现防欺诈或检测的情况下,客户端设备125可以生成包括图4所示的字段的消息并且基于上面关于图3讨论的加密散列过程来生成内容项设备标识符。应注意,对于未实施防欺诈或防欺诈检测的系统,此类系统可以将内容项设备标识符视为随机生成的16字节值,系统通常将其用作客户端设备的内容项设备标识符。
以上述方式生成内容项设备标识符和证明令牌可以具有多个有利特征。例如,对于第三方来说,标识替代公开密钥-私人密钥对可能是不可行的,为此,公开密钥的截断的加密散列值将与该实体可能在互联网上欺诈地收集的内容项设备标识符相同。此外,对于第三方实体来说标识与嵌入在互联网上收集的证明令牌400中的公开密钥相对应的私人密钥可能是不可行的。因此,内容项设备标识符和证明令牌的完整性和真实性可以很强。
数据处理系统110可以依靠上面生成的内容项设备标识符和证明令牌400来实现防欺诈系统。图5示出示例过程500的流程图,该示例过程可以被实现以减轻欺诈性数据清除请求。作为示例,过程500可以由图1所示的内容和内容项请求组件130执行。过程500包括从客户端设备125接收清除请求(502)。如在上面所提及的,数据处理系统110可以将用户信息存储在数据库145中。用户可以请求数据处理系统110清除与通过数据处理系统110存储的用户设备相关联的数据。客户端设备125可以包括应用,诸如浏览器或已安装的应用,其可以接收来自用户的输入以向数据处理系统发送清除请求。应用可以请求客户端设备125的操作系统提供与清除请求相对应的内容项设备标识符和证明令牌。内容项设备标识符生成器202可以提供基于公开密钥的加密散列的截断而生成的内容项设备标识符。此外,证明令牌生成器204可以向应用提供证明令牌400。证明令牌生成器204可以填充证明令牌400的消息有效载荷字段406,以指示基于清除请求已经生成证明令牌。例如,证明令牌生成器204可以在消息有效载荷字段406中包括{operation:wipe-out target-domain:some-company.com},其中目标域可以指示请求清除的实体的域名。证明令牌生成器204还可以在预定的额时间量内将所生成的令牌存储在存储206中。应用208或SDK 210可以将请求、内容项设备标识符和证明令牌发送到数据处理系统110。
过程500进一步包括解析证明令牌以确定公开密钥、时间戳、消息和数字签名(504)。例如,内容和内容项请求组件130可以解析证明令牌400以确定证明令牌400的每个字段的值。内容和内容项请求组件130可以寻找指示证明令牌400的每个字段的开始和结束比特,或者如果基于请求的类型已知字段长度,则内容和内容项请求组件130可以提取(fetch)适当长度的比特串以确定每个字段的值。
过程500包括使用来自证明令牌400的公开密钥、时间戳和消息有效载荷来验证包括在证明令牌400中的数字签名(506)。内容和内容项请求组件130可以利用客户端设备125所使用的相同数字签名算法来验证数字签名。内容和内容项请求组件130可以以与客户端设备125所使用的顺序相同的顺序来级联公开密钥、时间戳和消息。字段值的特定排序可以由证明令牌生成器204和数据处理系统110事先预先确定并同意。内容和内容项请求组件130可以使用证明令牌400的公开密钥字段402中包括的公开密钥来验证数字签名。
如果数字签名被验证,则内容和内容项请求组件130可以确定公开密钥、时间戳和消息有效载荷的值未被欺诈性实体篡改。潜在的欺诈性实体可能能够通过互联网收集大量内容项设备标识符。但是,这些实体可能无法访问安全存储在客户端设备125处的私人密钥。因此,这些实体无法创建清除请求和消息,其具有与从合法客户端设备125接收到的证明令牌400中包括的数字签名相同的数字签名。因此,验证数字签名可以帮助查明接收到的消息确实是由拥有内容项设备标识符的设备生成并且在传输期间没有被变更。
过程500包括验证证明令牌中的时间戳(510)。可以在数据处理系统110处将时间戳与当前时间进行比较。如果时间戳值在当前时间值的合理时间范围内,则内容和内容项请求组件130可以确定时间戳被验证。合理的时间范围可以取决于例如在创建证明令牌之后由数据处理系统110接收到该令牌的估计时间。如果当前接收到的请求仅仅是对先前请求的重放,则请求的时间戳将超出合理的时间范围。结果,内容和内容项请求组件130可以确定时间戳未被验证。另外,如果所接收的内容项设备标识符和时间戳的组合与针对较早的内容请求的请求日志170中存储的组合匹配,则内容和内容项请求组件130可以确定该请求仅仅是先前请求的重放。
过程500包括对包括在证明令牌中的公开密钥进行加密散列以生成内容项设备标识符(512)。一旦内容和内容项请求组件130成功验证了数字签名和时间戳两者,内容和内容项请求组件130就可以从证明令牌400的公开密钥字段402中包括的公开密钥生成内容项设备标识符。如在上面所提及的,内容项设备标识符可以通过截断客户端设备125的公开密钥的加密散列来生成。内容和内容项请求组件130可以使用与客户端设备125所使用的相同的截断和加密散列函数,并生成内容项设备标识符。在一些实施方式中,内容和内容项请求组件130还可以验证所生成的内容项设备标识符是否与随请求一起接收的内容项设备标识符匹配。如果所生成的内容项设备标识符与所接收的内容项设备标识符不匹配,则内容和内容项请求组件130可以确定该请求是欺诈性的。如果所生成的内容项设备标识符与在请求中接收到的内容项设备标识符匹配,则内容和内容项请求组件130可以确定该请求是合法请求。
过程500包括访问数据库以清除与所生成的内容项设备标识符相关联的数据(514)。内容和内容项请求组件130可以访问数据库145以处理清除请求。特别地,内容和内容项请求组件130可以去除与存储在数据库145中的所生成的内容项设备标识符相关联的任何用户信息165。数据清除请求可以包括将命令或请求与客户端设备125的内容项设备标识符一起发送到数据库145。数据库145依次发起数据删除或清除过程,以在数据库145中去除与内容项数据标识符相关联的数据。
过程500包括,如果数字签名不匹配和/或时间戳未被验证和/或所计算的内容项设备标识符与清除请求中包括的内容项设备标识符不匹配,则忽略该请求(516)。如果数字签名不匹配(在步骤508中)或者如果时间戳未被验证(在步骤510中)或者如果所计算的内容项设备标识符与清除请求中包括的内容项设备标识符不匹配,则内容和内容项请求组件130可以确定接收到的请求是欺诈性请求。结果,内容和内容项请求组件130可以忽略接收到的请求。以此方式,数据处理系统110不处理欺诈性请求,从而减少对数据处理系统110的性能的影响。特别地,对于每个检测到的欺诈性请求,内容和内容项请求组件130避免将请求发送到数据库145,以删除或清除与内容项设备标识符相关联的数据。在数据处理系统110接收到潜在的成百上千个欺诈性请求的情况下,通过避免处理欺诈性清除请求,数据处理系统110可以利用会以其它方式将用于处理欺诈性请求的处理或存储资源,来改善对合法请求的执行。
图6示出示例过程600的流程图,该示例过程600可以被实施以减轻由图1中所示的数据处理系统110接收到的欺诈性内容项请求。作为示例,过程600可以由数据处理系统110的内容和内容项请求组件130执行。过程600包括接收内容项请求(602)。内容和内容项请求组件130可以从在客户端设备125上运行的应用接收内容项请求。例如,web浏览器可以在客户端设备125上显示内容,并且可以请求数据处理系统110向其提供内容项以与显示的内容一起呈现。在将请求发送到数据处理系统110之前,应用208可以向内容项设备标识符生成器202请求内容项设备标识符,该内容项设备标识符在被接收时,可以被包括在对数据处理系统110的请求中。内容项设备标识符生成器202可以检索存储在客户端设备125的存储206中的内容项设备标识符,并将该内容项设备标识符提供给应用208。在一些情况下,其中内容项设备标识符尚未生成或存储在存储206中,内容项设备标识符生成器202可以生成公开密钥-私人密钥对,并且基于如关于图3在上面所讨论的公开密钥的截断的散列值生成内容项设备标识符。
客户端设备125还可以基于该请求来生成证明令牌。作为示例,证明令牌400可以以类似于以上关于图4和图5讨论的方式生成。然而,证明令牌生成器204可以基于内容项请求来填充消息有效载荷字段406。例如,证明令牌生成器204可以包括指示已经响应于内容项请求而生成证明令牌的某些参数,并且包括做出请求的应用的标识。作为示例,证明令牌400可以生成下述有效载荷消息:{operation:“content item request”,“apk name”:<apkname>,“content item request parameters”:<parameter identities and values>,“IPaddress”:<IP address of client device>},其中“operation”变量指示该操作是内容项请求操作,“apk name”指示已经发出请求的应用208的名称,“content item requestparameters”可以包括与内容项请求有关的参数,并且“IP address”指示客户端设备125的IP地址。在一些情况下,操作系统可以提供可以由应用208调用以创建证明令牌的API。例如,客户端设备125的操作系统可以向API提供以下签名:令牌SignContentItemRequest(content_item_request_parameters)。应用208可以调用上述API,并且作为响应,证明令牌生成器204可以生成具有适当的消息有效载荷的证明令牌。应用208可以将内容项请求、内容项设备标识符和证明令牌传送到数据处理系统110。
过程600包括解析证明令牌以确定公开密钥、时间戳和嵌入消息以及数字签名(604)。过程阶段604-610和616类似于以上关于图5讨论的阶段504-510和516。除了在过程阶段604中,消息有效载荷包括与内容项请求相对应的消息。内容和内容项请求组件130可以验证包括在证明令牌400中的数字签名和时间戳。过程600包括确定包括在消息有效载荷中的参数是否与内容项请求的实际参数匹配(618)。例如,内容和内容项请求组件130可以确定证明令牌400的消息有效载荷字段406中的参数值,例如“app name”和“IP address”是否分别与在数据处理系统110接收到的请求中的应用名称和IP地址匹配。在一些实施例中,消息有效载荷可以包括参数的加密散列而不是参数本身,因为加密散列的大小可能小于实际参数值。在这样的实施例中,过程600可以解密参数值的加密散列以确定消息有效载荷中包括的参数。响应于参数匹配以及签名和时间戳已验证,内容和内容项请求组件130可以通过生成包括在请求中的公开密钥的加密散列和截断来验证在请求中接收到的内容项设备标识符(类似于图5的步骤510)。
如果所生成的内容项设备标识符与在内容项请求中接收到的内容项设备标识符匹配,则内容和内容项请求组件130可以确定该内容项请求不是欺诈性的,并且发起选择内容项并且将所选择的内容项传送到客户端设备125的过程(612)。内容项的选择可以包括内容和内容项请求组件130向内容和内容项选择组件135发送请求,该请求包括在从客户端设备125接收的请求中的信息的至少一部分,诸如内容项设备标识符、投标金额、关键字等等。内容和内容项选择组件135可以执行内容项选择过程,其至少允许基于内容项设备标识符、投标金额和关键字从多个内容项中选择内容项。作为示例,内容和内容项选择组件135还可以访问用户信息165以确定与内容项设备标识符有关存储的任何用户信息,并使用该用户信息来选择内容项。数据处理系统110还可以与所生成的内容项设备标识符相关联地生成内容项的标识并将其存储在请求日志170中。在内容和内容项请求组件130确定数字签名不匹配,或者时间戳未验证或参数不匹配的情况下,内容和内容项请求组件130可以确定接收到的内容项请求是欺诈性的,并且应该被忽略(614)。以这种方式,数据处理系统110可以抑制处理欺诈性内容项请求,从而改善系统的性能。
图7示出示例过程700的流程图,该示例过程700可以被实施为减轻由图1中所示的数据处理系统110接收的欺诈性应用安装通知。作为示例,过程700可以由数据处理系统110的归因组件150执行。过程700包括从客户端设备125接收应用安装通知。特别地,应用208或SDK 210可以将应用安装通知发送到归因组件150。例如,客户端设备125的用户可以响应于在客户端设备125上渲染的内容项将应用下载到客户端设备。下载应用后,用户可以在客户端设备125上安装应用。应用可以包括归属SDK 210,该归属SDK响应于正在安装的应用,可以向数据处理系统110的归因组件150发送安装通知。归属SDK 210可以请求内容项设备标识符生成器202提供内容项设备标识符。内容项设备标识符生成器202可以生成内容项设备标识符,或者将存储的内容项设备标识符提供给归属SDK 210,在该归属SDK 210中使用客户端设备125的公开密钥生成内容项设备标识符。证明令牌生成器204生成具有指示应用安装通知的有效载荷消息的证明令牌。作为示例,证明令牌生成器204可以生成具有包括{operation:“app_install”,“apk name”:<apk name>}的消息有效载荷的证明令牌,其中操作“app install”指示响应于对用于应用安装通知的内容项设备标识符的请求而生成令牌,并且其中“apk name”可以指示已经安装在客户端设备125上的应用的名称。
安装通知可以允许数据处理系统将客户端设备125上的应用的安装归因于导致用户安装应用的内容项。为此,数据处理系统110还可以在数据库145中存储已经从其接收到内容项请求的客户端设备的内容项设备标识符的列表。例如,如果运行在客户端设备125上的浏览器应用向数据处理系统110发送有效且非欺诈性的内容项请求(如以上关于图6所讨论的),则内容和内容项请求组件130可以将内容项发送到浏览器应用以渲染在客户端设备125上。另外,内容和内容项请求组件130可以将带有内容项已被提供给客户端设备125的指示的客户端设备125的内容项设备标识符存储在数据库145中。
过程700包括从客户端设备接收应用安装通知(702)。如在上面所提及的,嵌入在客户端设备125上安装的应用中的归因SDK可以将应用安装通知发送给归因组件150。接收到的应用安装通知可以包括客户端设备125的内容项设备标识符和由证明令牌生成器204生成的证明令牌。如在上面所讨论的,证明令牌可以包括与应用安装通知相对应的消息有效载荷。步骤704-706类似于以上关于图5讨论的步骤504-506。即,归属组件150可以验证数字签名是有效的。
过程700包括基于证明令牌中包括的公开密钥的加密散列来生成内容项设备标识符(708)。生成内容项设备标识符的过程可以类似于以上关于图5所示的步骤510所讨论的过程。该过程进一步包括确定所生成的内容项设备标识符是否与存储在数据库145中的内容项设备标识符匹配(710)。步骤716类似于以上关于图5讨论的步骤516。存储在数据库145中的内容项设备标识符可以指示与应用安装相关联的内容项先前已经被发送到客户端设备125。如果所生成的内容项设备标识符与所存储的内容项设备标识符匹配,则归因组件150可以确定应用安装通知有效,并且更新安装信用(712)。另一方面,如果归因组件150确定数字签名无效,或者确定所生成的内容项设备标识符与所存储的内容项设备标识符不匹配,或者没有与所生成的内容项设备标识符匹配的内容项设备标识符存储在数据库中,则归因组件150可以确定接收到的应用安装通知无效。在一些实施方式中,归属组件150可以另外基于验证安装通知中包括的时间戳并且验证所生成的内容项设备标识符与在安装通知中接收到的内容项设备标识符相匹配来确定接收到的安装通知是有效的。除非所有验证都成功,否则归因组件150可以确定接收到的安装通知无效。以这种方式,数据处理系统110可以避免处理无效或欺诈的应用安装通知,从而改善性能。
归因组件150还可以验证欺诈性应用安装信用声明。在一些实施方式中,当归属组件150从客户端设备125接收到安装通知时,归属组件150可以查询多个内容项网络以确定哪些内容项网络服务于导致应用在客户端设备125上的安装的内容项。内容项网络可以包括应用内服务的内容项中的元数据。例如,元数据可以包括以下信息:(1)内容项是否是应用安装内容项;(2)如果是,则内容项促进哪个应用;以及(3)与内容项相关联的并且可以归因于应用在客户端设备125上的安装的内容项网络的标识。当在客户端设备125上呈现内容项时,和/或当用户点击内容项时,内容项(经由渲染内容项的应用208内部的SDK)可以请求证明令牌生成器204生成带有消息有效载荷字段406的证明令牌,消息有效负载字段406包括(1)事件类型,其指示是否渲染内容项或是否点击内容项(2)包括在内容项中的元数据,以及(3)印象本身的元数据,例如,包括显示内容项的显示屏上的插槽位置。所生成的证明令牌可以由内容项SDK传送到与该内容项相关联的内容项网络,以指示该内容项已被渲染或被点击。作为示例,证明令牌可以作为渲染通知或点击通知的URL参数被发送到内容项网络。
归因组件150响应于接收到应用安装通知,可以将查询发送到多个内容项网络,用于在客户端设备125上安装该应用的声称。作为响应,归因组件150可以接收内容项网络从经历了在上面提及的渲染事件或点击事件的它们相应的内容项接收到的证明令牌。在从一个或多个查询的内容项网络接收到证明令牌之后,归因组件150可以通过验证签名、内容项设备标识符、时间戳并将消息有效载荷中的信息与在应用安装通知的消息有效负载中接收到的信息进行比较来验证证明令牌。归因组件150可以归因于其归因令牌有效的内容项网络。欺诈性内容项网络也可以发送归因令牌。但是,那些归因令牌将无法通过归因组件150实施的验证确定。
在一些实施方式中,操作系统,特别是证明令牌生成器204,可以限制向内容项SDK提供证明令牌的频率。在一些欺诈场景下,欺诈性内容项网络的内容项可能请求证明令牌生成器204生成过多数量的证明令牌。证明令牌生成器204可以被配置成通过限制提供给内容项SDK的令牌的数量(例如,每秒最多一个令牌)来防止这种场景。此外,在请求令牌的内容项在客户端设备的显示屏上实际可见或已被用户实际点击时证明令牌生成器204仅生成令牌。以这种方式,可以减少对令牌的欺诈性请求。在一些情况下,可以允许内容项最多推广一个应用。此限制可以进一步减少对令牌的欺诈性请求。在一些实施方式中,客户端设备125的操作系统可以在设备机器学习模型上采用以验证元数据。如果机器学习模型是否可以验证内容项确实是应用安装推广内容项(例如,通过分析渲染该内容项的插槽的屏幕截图)以及该内容所推广的应用的标识,则可以进一步减少欺诈性内容项网络可以请求应用安装信用的可能性。
在一些实施方式中,证明令牌生成器204可以JSON格式生成证明令牌400。使用JSON格式生成证明令牌400可以为证明令牌400提供灵活性和可扩展性。例如,在数据处理系统110可以为用户支持每个域级别的选择加入性能的情况下,证明令牌生成器204可以生成具有下述数据的消息有效负载字段406的证明令牌:{operation:“opt-in”,Domain:“name_of_content_item_network”,Opt-in-start:<start_date_time>,Opt-in-end:<end_date_time>}。类似地,在数据处理系统支持对用户特定于域的选择退出性能的情况下,消息有效负载可以包括下述数据:{operation:“opt-out”,Domain:“name_of_content_item_network”}。在一些实施方式中,证明令牌生成器204可以以二进制格式生成证明令牌400,该二进制格式可以显著地小于JSON格式。较小的证明令牌通常需要较少的计算能力、网络带宽和/或电池寿命以创建、传送和消耗。
图8示出可以被采用以实现本文所讨论的任何计算机系统(包括系统110及其组件,诸如内容和内容项请求组件130、内容和内容项选择组件135以及归因组件150)的说明性计算机系统800的总体架构。计算机系统800可以用于经由网络105提供信息以供显示。图8的计算机系统800包括通信地耦合到存储器825的一个或多个处理器820、一个或多个通信接口805、以及一个或多个输出设备810(例如,一个或多个显示单元)和一个或多个输入设备815。处理器820可以被包括在数据处理系统110或系统110的其他组件中,诸如内容和内容项请求组件130和内容和内容项选择组件135。
在图8的计算机系统800中,存储器825可以包括任何计算机可读存储介质,并且可以存储诸如用于为相应系统实现本文所述的各种功能性的处理器可执行指令的计算机指令,以及由此生成或经由通信接口或输入设备(如果存在)接收的与其相关的任何数据。再次参考图1的系统110,数据处理系统110可以包括存储器825,以存储与用户信息165和请求日志170等有关的信息。存储器825可以包括数据库145。图8中所示的处理器820可以被用于执行存储在存储器825中的指令,并且这样做还可以从存储器中读取或向存储器写入按照指令的执行而处理和/或生成的各种信息。
图8中所示的计算机系统800的处理器820还可以通信地耦合到通信接口805或控制通信接口805以按照指令的执行传送或接收各种信息。例如,通信接口805可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统800向其他设备(例如,其他计算机系统)传送信息或从其他设备接收信息。虽然在图1的系统中未明确示出,一个或多个通信接口促进在计算机系统800的组件之间信息流动。在一些实施方式中,通信接口可以被配置(例如,经由各种硬件组件或软件组件)以提供网站作为对计算机系统800的至少一些方面的访问门户。通信接口805的示例包括用户接口(例如,网页),用户可以通过该用户接口与计算机系统800进行通信。
例如,可以提供图8所示的计算机系统800的输出设备810,以允许结合指令的执行来查看或以其他方式感知各种信息。可以提供输入设备815,例如,以允许用户在指令执行期间进行手动调整、进行选择、键入数据或以各种方式与处理器交互。本文进一步提供了与可用于本文所讨论的各种系统的通用计算机系统架构有关的附加信息。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中或在包括在本说明书中公开的结构及其等同结构的有形介质、固件或硬件上体现的计算机软件中或其中一种或多种的组合实现。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序,即,计算机程序指令的一个或多个组件,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可以在人工生成的传播信号,例如,机器生成的电、光或电磁信号上编码程序指令,该信号被生成以对信息进行编码以传输到合适的接收器设备以由数据处理设备执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或包含在其中。
本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,该智能电视模块可以包括处理模块,该处理模块被配置成将互联网连接与更传统的电视节目源(例如,经由电缆、卫星、无线或其他信号接收)集成在一起。智能电视模块可以物理地合并到电视机中,或者可以包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统以及其他配套设备。智能电视模块可以配置成允许观众搜索和查找web上、本地有线电视频道上、卫星电视频道或存储在本地硬盘上的视频、电影、照片和其他内容。机顶盒(STB)或机顶单元(STU)可以包括信息家电设备,其可以包含调谐器并连接到电视机和外部信号源,将信号调谐为内容,然后将该内容显示在电视屏幕上或其他显示设备上。智能电视模块可以配置成提供主屏幕或最高级屏幕,其包括用于多个不同应用,诸如web浏览器和多个流媒体服务的图标、连接的电缆或卫星媒体源、其他Web频道等等。智能电视模块可以进一步被配置成向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作,以向用户提供有关可用节目的附加信息,以允许用户控制智能电视模块等。在可替代实施方式中,可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、掌上计算机、平板电脑或其他计算设备上实施特征。
本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括前述的可编程处理器、计算机、片上系统、或多个或组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为在讨论中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础设施。内容和内容项请求组件130、内容和内容项选择组件135和归因组件150可以包括或共享一个或多个数据处理设备、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以但是不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于讨论中的程序的单个文件、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个计算机或多个计算机上执行。
可以通过执行一个或多个计算机程序的一个或多个可编程处理器来执行本说明书中描述的处理和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路,例如,FPGA(场可编程门阵列)或ASIC(专用应用集成电路)执行,并且装置也可以实现为该专用逻辑电路。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合至大容量存储设备以从中接收数据或对其传输数据,或者两者。然而,计算机不必具有此类设备。此外,计算机可以嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描绘的主题的实施方式能够在具有显示设备和键盘与定点设备的计算机上实现,所述显示设备例如是CRT(阴极射线管)、等离子体、或者LCD(液晶显示器)监视器,用于向用户显示信息,所述定点设备例如为鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够用于提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器接收到的请求将网页发送到用户客户端设备上的web浏览器。
本说明书描述的主题的实施方式可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或者一个或多个此类后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如,互联网)和对等网络(例如,ad hoc对等网络)。
诸如数据处理系统110的计算系统可以包括客户端和服务器。例如,数据处理系统110可以包括一个或多个数据中心或服务器场中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页面)传送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从其中接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
尽管本说明书包含许多特定的实施细节,但是这些不应被解释为对任何发明或可要求保护的范围的限制,而应被解释为对本文所述的系统和方法的特定实施方式特定的特征的描述。在本说明书中在单独的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中来实施。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有图示的操作以实现期望的结果。在一些情况下,可以以不同的顺序执行权利要求中引用的动作,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。
在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或打包到多种软件产品。例如,内容和内容项请求组件130和内容和内容项选择组件135可以是数据处理系统110一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或搜索引擎的一部分。
现在已经描述了一些说明性的实施方式和实施方式,显然的是,前述内容是说明性的而非限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元素的特定组合,但是可以以其他方式组合那些动作和那些元素以实现相同的目标。仅结合一种实现方式讨论的动作、元素和特征不旨在被排除在其他实现方式或实现方式中的类似作用之外。
这里使用的措词和术语是出于描述的目的,而不应被认为是限制性的。本文中“包括”、“包含(comprising)”、“具有”、“包含(containing)”、“涉及”、“特征为”、“特征在于”及其变体的使用意在涵盖其后列出的项目、其等同物以及附加项目,以及仅由其后列出的项目组成的替代实施方式。在一种实施方式中,本文描述的系统和方法由所描述的元素、动作或组件中的一个、多于一个的每种组合或全部组成。
对本文中以单数形式提及的系统和方法的实现或元素或动作的任何引用也可以包含包括多个这些元素的实现,并且在本文中对任何实现或元素或动作的复数形式的任何引用也可以包含仅包括单个元素的实现。单数或复数形式的引用无意将当前公开的系统或方法、它们的组件、动作或元素限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中该动作或元素至少部分基于任何信息、动作或元素的实现。
本文公开的任何实施方式可以与任何其他实施方式组合,并且对“实施方式”、“一些实施方式”、“可替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式。如本文所使用的这样的术语不一定全部指代相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包含性地或排他性地组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、一个以上以及所有所描述术语中的任何一个。
对于附图、详细描述或任何权利要求中的技术特征之后跟有附图标记的情况,附图标记已被包括以增加附图、详细描述和权利要求的可理解性。因此,附图标记或其缺失对任何权利要求元素的范围没有任何限制作用。
在不脱离其特性的情况下,本文中描述的系统和方法可以以其他特定形式来实现。尽管本文提供的示例涉及控制信息资源内容的显示,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此,在此描述的系统和方法的范围由所附权利要求而不是前面的描述指示,并且在权利要求的等同含义和范围内的改变被涵盖在其中。

Claims (20)

1.一种用于处理内容项操作的方法,包括:
由数据处理系统从计算设备接收内容项通信,所述内容项通信包括第一内容项设备标识符和证明令牌,所述证明令牌包括与所述计算设备相关联的公开密钥、证明令牌时间戳、消息有效载荷和数字签名;
由所述数据处理系统使用所述公开密钥、所述时间戳和所述消息有效载荷验证所述数字签名;
由所述数据处理系统基于所述公开密钥的加密散列生成第二内容项设备标识符;
由所述数据处理系统确定所述第二内容项设备标识符与所述第一内容项设备标识符匹配;以及
响应于验证所述数字签名并响应于确定所述第二内容项设备标识符与所述第一内容项设备标识符匹配,由所述数据处理系统基于所述消息有效载荷处理所述内容项通信。
2.根据权利要求1所述的方法,其中,验证所述数字签名进一步包括确定所述证明令牌时间戳具有在预定时间值范围内的值。
3.根据权利要求1所述的方法,进一步包括截断所述公开密钥的加密散列的步骤。
4.根据权利要求1所述的方法,其中,处理所述内容项通信包括确定所述内容项通信的消息有效载荷包括清除请求。
5.根据权利要求4所述的方法,进一步包括响应于确定所述消息有效载荷包括所述清除请求而移除与所述第一内容项设备标识符相关联的数据。
6.根据权利要求1所述的方法,其中,处理所述内容项通信包括确定所述内容项通信的消息有效载荷包括内容项请求以及与对内容项的请求相关联的参数集。
7.根据权利要求6所述的方法,进一步包括:响应于确定所述消息有效载荷包括所述内容项请求,由所述数据处理系统选择内容项并且将所述内容项发送到与接收到的内容项通信相关联的一方。
8.根据权利要求1所述的方法,其中,处理所述内容项通信包括:确定所述内容项通信的消息有效载荷包括指示应用已经被安装在客户端设备上的应用安装通知。
9.根据权利要求8所述的方法,进一步包括:响应于确定所述消息有效载荷包括所述应用安装通知,由所述数据处理系统更新与所述内容项相关联的信用值。
10.根据权利要求1所述的方法,其中,接收内容项通信包括:接收具有16个字节的长度的所述第一内容项设备标识符。
11.一种处理内容项操作的系统,包括一个或多个处理器,所述一个或者多个处理器被配置成:
从计算设备接收内容项通信,所述内容项通信包括第一内容项设备标识符和证明令牌,所述证明令牌包括与所述计算设备相关联的公开密钥、证明令牌时间戳、消息有效载荷和数字签名;
使用所述公开密钥、所述时间戳和所述消息有效载荷验证所述数字签名;
基于所述公开密钥的加密散列生成第二内容项设备标识符;
确定所述第二内容项设备标识符与所述第一内容项设备标识符匹配;以及
响应于验证所述数字签名并响应于确定所述第二内容项设备标识符与所述第一内容项设备标识符匹配,基于所述消息有效载荷处理所述内容项通信。
12.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
验证所述数字签名,并确定所述证明令牌时间戳具有在预定时间值范围内的值。
13.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
基于所述公开密钥的加密散列的截断生成所述第二内容项设备标识符。
14.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
通过确定所述内容项通信的消息有效负载包括清除请求来处理所述内容项通信。
15.根据权利要求14所述的系统,其中,所述一个或多个处理器进一步被配置成:
响应于确定所述消息有效载荷包括所述清除请求,移除与所述第一内容项设备标识符相关联的数据。
16.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
通过确定所述内容项通信的消息有效载荷包括内容项请求和与对内容项的请求相关联的参数集来处理所述内容项通信。
17.根据权利要求16所述的系统,其中,所述一个或多个处理器进一步被配置成:
响应于确定所述消息有效载荷包括所述内容项请求,基于所述参数集来选择内容项并将所述内容项发送到与接收到的内容项通信相关联的一方。
18.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
通过确定所述内容项通信的消息有效载荷包括指示应用已经被安装在客户端设备上的应用安装通知来处理所述内容项通信。
19.根据权利要求18所述的系统,其中,所述一个或多个处理器被配置成:
响应于确定所述内容项通信包括所述应用安装通知,更新与所述内容项通信相关联的信用值。
20.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
接收包括具有16个字节的长度的所述第一内容项设备标识符的内容项通信。
CN202080002343.5A 2019-05-13 2020-05-07 基于防欺诈设备标识符处理内容项操作的系统和方法 Active CN112236975B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962847016P 2019-05-13 2019-05-13
US62/847,016 2019-05-13
US16/536,174 US20200366754A1 (en) 2019-05-13 2019-08-08 Systems and methods for processing content item operations based on fraud resistent device identifiers
US16/536,174 2019-08-08
PCT/US2020/031899 WO2020231743A1 (en) 2019-05-13 2020-05-07 Systems and methods for processing content item operations based on fraud resistent device identifiers systems and methods for processing content item operations based on fraud resistent device identifiers

Publications (2)

Publication Number Publication Date
CN112236975A CN112236975A (zh) 2021-01-15
CN112236975B true CN112236975B (zh) 2024-03-29

Family

ID=73231370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080002343.5A Active CN112236975B (zh) 2019-05-13 2020-05-07 基于防欺诈设备标识符处理内容项操作的系统和方法

Country Status (6)

Country Link
US (1) US20200366754A1 (zh)
EP (1) EP3766230B1 (zh)
JP (1) JP6982201B1 (zh)
KR (1) KR102491500B1 (zh)
CN (1) CN112236975B (zh)
WO (1) WO2020231743A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695546B2 (en) * 2019-05-30 2023-07-04 AdsWizz Inc. Decoupled custom event system based on ephemeral tokens for enabling secure custom services on a digital audio stream
US11489675B1 (en) * 2019-07-12 2022-11-01 Allscripts Software, Llc Computing system for electronic message tamper-roofing
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
US11704671B2 (en) * 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
US11553054B2 (en) * 2020-04-30 2023-01-10 The Nielsen Company (Us), Llc Measurement of internet media consumption
US11509480B2 (en) * 2020-06-30 2022-11-22 Vmware, Inc. Remote attestation based on runtime configuration
US11133936B1 (en) * 2021-03-22 2021-09-28 Matthew Branton Methods and systems for introducing self-contained intent functionality into decentralized computer networks
KR102668919B1 (ko) * 2021-04-16 2024-05-27 한국과학기술원 네트워크에 연결된 시스템의 보안을 위한 프로토콜 다이얼렉트 기법
US11930116B2 (en) * 2021-08-03 2024-03-12 Adobe Inc. Securely communicating service status in a distributed network environment
IL285887B2 (en) * 2021-08-26 2024-07-01 Google Llc Secure attribution using anonymous signals
DE112021007571T5 (de) * 2021-09-17 2024-03-07 Intel Corporation Ipu-basierte operatoren
US20240095364A1 (en) * 2022-05-06 2024-03-21 Google Llc Privacy-preserving and secure application install attribution
CN115190481A (zh) * 2022-06-01 2022-10-14 统信软件技术有限公司 数据加密方法和装置,设备准入认证方法、装置和系统
CN118037184B (zh) * 2024-02-29 2024-08-13 长江新丝路数据科技发展有限公司 一种物流订单管理系统及管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105122288A (zh) * 2013-02-28 2015-12-02 Lg电子株式会社 用于处理多媒体商务服务的设备和方法
CN105243313A (zh) * 2010-01-12 2016-01-13 维萨国际服务协会 用于对验证令牌的任何时候确认的方法
CN108322469A (zh) * 2018-02-05 2018-07-24 北京百度网讯科技有限公司 信息处理系统、方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100573080B1 (ko) * 1999-11-30 2006-04-24 주식회사 케이티 자바 보안기술을 이용한 실시간 전자경매 방법
US7406529B2 (en) * 2001-02-09 2008-07-29 Yahoo! Inc. System and method for detecting and verifying digitized content over a computer network
DE60227247D1 (de) * 2001-02-22 2008-08-07 Bea Systems Inc System und verfahren zum verschlüsseln von nachrichten und zum registrieren in einem transaktionsverarbeitungssystem
US20050091496A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for distributed key management in a secure boot environment
KR101062916B1 (ko) * 2008-06-30 2011-09-07 (주)아이티네이드 유에스비 포트용 저장매체의 보안 관리 시스템 및 방법
US20100122082A1 (en) * 2008-10-08 2010-05-13 Leiwen Deng User identity validation system and method
US9118666B2 (en) * 2010-06-30 2015-08-25 Google Inc. Computing device integrity verification
KR20130025465A (ko) * 2011-09-02 2013-03-12 이윤로 어플리케이션 설치 및 사용 상태 알림 시스템 및 방법
US9280651B2 (en) * 2012-09-10 2016-03-08 Microsoft Technology Licensing, Llc Securely handling server certificate errors in synchronization communication
WO2015102887A1 (en) * 2013-12-31 2015-07-09 Google Inc. Methods, systems, and media for providing access control for a computing device
SG2014011308A (en) * 2014-02-11 2015-09-29 Smart Communications Inc Authentication system and method
US9717004B2 (en) * 2015-03-17 2017-07-25 Qualcomm Incorporated Apparatus and method for sponsored connectivity to wireless networks using application-specific network access credentials
SE541713C2 (en) * 2017-05-03 2019-12-03 Enigio Time Ab Method and system for registering digital documents
US11218324B2 (en) * 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243313A (zh) * 2010-01-12 2016-01-13 维萨国际服务协会 用于对验证令牌的任何时候确认的方法
CN105122288A (zh) * 2013-02-28 2015-12-02 Lg电子株式会社 用于处理多媒体商务服务的设备和方法
CN108322469A (zh) * 2018-02-05 2018-07-24 北京百度网讯科技有限公司 信息处理系统、方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于PKI技术的数字签名在办公网上的实现;袁珍珍;朱荆州;;计算机与数字工程(02);全文 *

Also Published As

Publication number Publication date
JP6982201B1 (ja) 2021-12-17
WO2020231743A1 (en) 2020-11-19
CN112236975A (zh) 2021-01-15
US20200366754A1 (en) 2020-11-19
KR102491500B1 (ko) 2023-01-27
EP3766230B1 (en) 2021-04-07
EP3766230A1 (en) 2021-01-20
KR20200131889A (ko) 2020-11-24
JP2022501668A (ja) 2022-01-06

Similar Documents

Publication Publication Date Title
CN112236975B (zh) 基于防欺诈设备标识符处理内容项操作的系统和方法
US12101404B2 (en) Systems and methods for distributed verification of online identity
CN113015974B (zh) 针对隐私保护的可验证同意
CN111294387B (zh) 监测媒体呈现装置的方法、设备和可读介质
CN109891907B (zh) 使用可信平台模块验证在客户端设备处对视频内容的渲染
CN114144993B (zh) 保护客户端设备通信的完整性的方法、系统和介质
US20240095364A1 (en) Privacy-preserving and secure application install attribution
CN116348874B (zh) 使用鉴证令牌的安全归因的方法、系统以及介质
CN115087978B (zh) 用于欺诈检测的跨域频率滤波器

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