CN113498514A - 校验第三方内容在客户端设备上的显示 - Google Patents
校验第三方内容在客户端设备上的显示 Download PDFInfo
- Publication number
- CN113498514A CN113498514A CN202080003019.5A CN202080003019A CN113498514A CN 113498514 A CN113498514 A CN 113498514A CN 202080003019 A CN202080003019 A CN 202080003019A CN 113498514 A CN113498514 A CN 113498514A
- Authority
- CN
- China
- Prior art keywords
- content item
- data
- token
- content
- display
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 15
- 239000012530 fluid Substances 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 23
- 238000012795 verification Methods 0.000 description 22
- 238000013515 script Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23892—Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/608—Watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Editing Of Facsimile Originals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于检测可以出现在第三方内容呈现中的错误并且校验当在客户端设备上访问内容平台时由内容提供商提供给内容平台的第三方内容被实际显示并对用户是可见的。方法可以包括从运行在客户端设备上的应用接收请求以生成数字签名令牌,数字签名令牌用于验证显示在显示器的特定部分上的特定内容项是否是第三方内容项。可以提取并解码嵌入在显示器的特定部分的数字水印以获得描述特定内容项的属性的数据。数字签名令牌可以使用该数据生成,并且然后令牌可以被提供给应用。
Description
背景技术
本说明书通常涉及检测可以出现第三方内容呈现中的错误,以及验证(validate)当在客户端设备上访问内容平台时,由内容提供商提供的用于在内容平台上显示的第三方内容是否实际显示。
客户端设备可以使用应用(例如,web浏览器、本地应用)访问内容平台(例如,搜索平台、社交媒体平台或另一个承载内容的平台)。内容平台可以在客户端设备上启动的应用内显示可能由一个或多个第三方内容提供商提供的内容。在一些实例中,由内容提供商提供用于显示的内容可能实际没有在应用中显示(或者可能被提供用于显示,但实际对用户设备的用户不是可见的)。这可能是由于任意数量的原因引起的,诸如在其中提供内容平台用于显示的应用中的错误、由内容平台提供的特定内容页中的错误、通常在内容平台中的错误、或者向内容平台提供内容的一个或多个内容提供商中的错误。
发明内容
一般来说,本说明书中描述的主题的一个创新的方面可以以包括以下操作的方法实现:从在客户设备上运行的应用接收请求以生成数字签名令牌,该数字签名令牌用于验证在应用内的内容页上提供的并在客户设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,其中该请求标识显示器的特定部分;确定在显示器的特定部分显示的特定内容项中是否嵌入数字水印;响应于确定数字水印嵌入在特定内容项中:解码数字水印以获得编码在数字水印内的多个属性的数据,其中,多个属性描述特定内容项;生成数字签名令牌,该数字签名令牌将多个属性的数据包括在数字签名令牌的有效载荷中;以及向应用提供所生成的数字签名令牌。该方面的其它实施例包括配置为执行该方法的动作的相应系统、设备、装置和计算机程序。计算机程序(例如,指令)可以编码在计算机存储设备上。这些和其它实施例各自可以选择地包括以下特征中的一个或多个。
在一些实施方式中,方法可以包括以下操作:使用数字签名令牌验证在应用内的内容页上提供并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,该验证包括:校验(verify)包括在数字签名令牌中的数字签名是有效的,其中该校验包括使用数字签名令牌中包括的数字签名以外的数据生成数字签名;从内容提供商获得用于第三方内容项的多个属性的数据;以及确定编码在数字水印中的多个属性的数据与为第三方内容项获得的相应的多个属性的数据是相同的,并且作为响应,生成指示特定内容项是第三方内容项的消息。
在一些实施方式中,方法可以包括以下操作:响应于确定数字水印没有嵌入在特定内容项中,生成数字签名令牌,该数字签名令牌在数字签名令牌的有效载荷中包括指示第三方内容项在客户端设备的显示器的特定部分中不可见的消息;以及向应用提供生成的数字签名令牌。
在一些实施方式中,方法可以包括使用显示器的特定部分来获得在显示器的特定部分显示的特定内容项的屏幕截图的操作。
在一些实施方式中,获得嵌入在特定内容项中的数字水印包括从获得的在显示器的特定部分显示的特定内容项的屏幕截图获得数字水印。
在一些实施方式中,获得的数字水印可以编码关于以下属性中的两个或更多个的数据:第三方内容项的内容类型;在第三方内容项中提供的内容的描述;第三方内容提供商的标识;第三方内容项的唯一标识符;第三方内容项的尺寸参数;指示创建数字水印的时间的时间戳;以及第三方内容提供商的数字签名。
在一些实施方式中,数字签名令牌可以是证明令牌,包括(1)客户端设备的设备公钥;(2)包括多个属性的数据的有效载荷;(3)标识客户端设备的可信度的设备完整性令牌,其中设备完整性令牌由可信的设备完整性系统签名;和(4)设备公钥、有效载荷和设备完整性令牌的数字签名,其中数字签名是使用对应于设备公钥并在数学上链接到(mathematically linked to)该设备公钥的客户端设备的设备私钥生成的。
一般来说,本说明书中描述的主题的另一个创新方面可以以包括以下操作的方法实现:从客户端设备上运行的应用接收请求以生成数字签名令牌,该数字签名令牌用于验证在应用内的内容页上提供的并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,其中:该请求包括客户端设备的操作系统获得的初始证明数据,其中,初始证明数据包括(1)编码在嵌入在显示器的特定部分显示的特定内容项中数字水印中的多个属性的解码数据,其中多个属性描述特定内容项;(2)标识显示器的特定部分的数据;以及(3)使用解码数据和标识显示器的特定部分的数据生成的第一数据项;从操作系统获得指定第一数据项是否与第二数据项匹配的指示,其中,第二数据项由操作系统使用与请求包括在一起的解码数据和标识显示器的特定部分的数据生成;响应于获得指定第一数据项与第二数据项匹配的指示:生成数字签名令牌,该数字签名令牌包括数字签名令牌的有效载荷中的多个属性的数据;向应用提供生成的数字签名令牌。该方面的其它实施例包括配置为执行该方法的动作的相应系统、设备、装置和计算机程序。计算机程序(例如指令)可以编码在计算机存储设备上。这些实施例和其它实施例各自可以选择地包括至少以下特征。
在一些实施方式中,第一数据项和第二数据项中的每一个可以是散列消息认证码。
本说明书中描述的主题的具体实施例可以实施以实现以下优点中的一个或多个。本说明书中描述的技术可以识别错误,诸如,例如,在由内容平台提供的内容页中、在内容平台中、或在用于访问内容平台的内容页的应用中的软件错误和故障(还可以包括,例如,由恶意实体犯下的欺诈的实例)。例如,应用、特定内容页或内容平台中的软件错误可以阻止显示由内容提供商提供的第三方内容,或导致其它内容覆盖或遮挡可能在内容平台上显示的第三方内容。在某些实例中,这样的软件错误可以是由恶意实体引起,该恶意实体可能已经危害应用、特定内容页面或内容平台。本说明书中描述的技术可以校验当在客户端设备上访问内容平台时,内容提供商提供的第三方内容实际上是可见的。当由内容提供商提供的预期将在客户端设备上显示的特定第三方内容对于客户端设备的用户是不可见的时,这表示在(1)客户端设备上显示的内容页面,(2)内容平台,(3)应用,和/或(4)向内容平台提供内容的一个或多个内容提供商中存在软件错误。
本说明中描述的技术还提供了对由内容提供商提供的第三方内容是否实际显示在客户端设备上并且对设备的用户可见的独立的校验。换句话说,本说明书中描述的第三方内容校验技术不仅仅依赖于由内容平台做出的关于其显示在应用内的内容的表示(例如,由内容平台提交的数据)(如在传统技术方案中的情况)。相反,本说明书中描述的技术依赖于由客户端设备的独立处理-例如,操作系统的处理,单独地或与在客户端设备上运行的独立应用协作-来执行这样的校验。这里描述的技术分析在内容平台上提供并显示在客户端设备上的内容,并生成令牌,该令牌可以用于校验该内容是否实际上由内容提供商提供并且对用户设备的用户可见。
相关地,本说明书中描述的技术使得从客户端设备到内容提供商(或者另一个内容校验实体)的信息的安全传输能够实现,该信息可以由内容提供商(或者另一个内容校验实体)使用以校验在客户端设备上显示并对用户可见的内容。恶意应用或实体可能尝试篡改或伪造客户端设备提供给内容提供商(或另一个内容校验实体)的信息,这反过来可能导致内容被错误地校验。为了避免这种情况,本说明书中描述的技术利用某些加密技术来保护从客户端设备到内容提供商的信息传输。结果,本说明书中描述的内容校验过程在内容校验过程中不太可能抵挡不住被设计为欺骗内容提供商(或另一适当的校验系统)的恶意或欺诈行为。
本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。从说明书、附图和权利要求书中,主题的其它特征、方面和优点将变得清楚。
附图说明
图1是示例环境的框图,在该环境中,提供内容用于在客户端设备上的应用中访问的内容平台中的显示。
图2是示出示例过程的泳道图,该示例过程用于检测错误并校验在内容平台上提供并在客户端设备上显示且对设备的用户可见的特定内容项是由内容提供商提供的。
图3是示出另一个示例过程的泳道图,该示例过程用于检测错误并校验在内容平台上提供并在客户端设备上显示且对设备的用户可见的特定内容项是由内容提供商提供的。
图4是示例计算机系统的框图。
各种附图中的类似参考号和名称指示相似的元素。
具体实施方式
本公开涉及计算机实施的方法和系统,其用于检测可以出现在第三方内容呈现中的错误,并校验当在客户端设备上访问内容平台时,由内容提供商提供的用于在内容平台上显示的第三方内容实际上被显示并且对用户可见。
内容平台可能想要校验当在运行在客户端设备上的应用(例如,浏览器、本地应用)内访问内容平台时,在其平台上提供的某些内容实际显示在了客户端设备上并对于用户可见。内容提供商可能还想要校验当在客户端设备上访问内容平台时,它提供给内容平台的第三方内容实际显示在了客户端设备上并且对用户是可见的。本说明书中描述的技术(如下面概述的以及如贯穿本说明书的额外的细节中所描述的)通过依赖于运行在客户端设备上的与内容提供商(或者另一个适当的校验系统)合作操作的可信的软件程序(例如,操作系统的安全/特权代码、可信的系统应用)使得这样的内容校验能够实现。
如贯穿本说明书中所描述的,操作系统(或客户端设备上的另一个可信应用或web浏览器)接收来自在客户端设备上运行的应用的请求,以生成可部分或完全加密的数字签名令牌。这个数字签名令牌可用于校验在应用内的内容页上提供、显示在客户端设备的显示器的特定部分并且对用户可见的特定内容项是由内容提供商提供的第三方内容项。
客户端设备的操作系统(或客户端设备上的另一个可信应用或web浏览器)确定数字水印是否嵌入在显示在显示器(例如,用于移动设备的触摸屏和用于桌上型计算机的LCD/LED显示器)的特定部分的特定内容项中。如在本说明书中使用的,可信应用是在设备上的安全环境中操作并执行某些核心设备服务(类似于由操作系统中的特权代码执行的设备服务)的应用。如果操作系统(或web浏览器)没有在内容中识别出数字水印,其会得出如下结论:将会包括这样的水印的由内容提供商提供的第三方内容项在客户端设备上是不可见的。这可以指示内容页、内容平台、应用或内容提供商中的错误。另一方面,如果操作系统(或web浏览器)在特定内容项中识别出数字水印,则其解码该数字水印以获得描述特定内容项的多个属性(例如,内容项标识符、内容类型、内容描述、内容创建者等等)的数据。
使用此解码数据,操作系统(或客户端设备上的另一个可信应用或web浏览器)生成数字签名令牌,该数字签名令牌将多个属性的数据包括在数字签名令牌的有效载荷中。在一些实施方式中,数字签名令牌是证明令牌,其包括(1)客户端设备的唯一标识符(例如,设备的公钥),(2)有效载荷,(3)可用于评估客户端设备的可信度的设备完整性令牌,和/或(4)使用客户端设备的私钥生成的客户端设备的设备标识符、有效载荷和设备完整性令牌的数字签名。数字签名令牌,以及具体地,证明令牌,确保数字签名令牌的接收者可以识别包括在令牌的有效载荷中的数据中的任何一个(或其它)是否被篡改或伪造(如参考图2进一步描述)。在web浏览器生成数字签名令牌的情况下,浏览器的本地代码生成令牌。浏览器本地代码具有在由浏览器呈现的网页上运行的脚本所没有的特权。渗透浏览器本地代码对于Javascript通常很难。
操作系统(或客户端设备上的另一个可信应用或web浏览器)将数字签名令牌发送给内容提供商(或其它适当的内容校验系统)。内容提供商首先通过校验数字签名来验证数字签名令牌是否可信。如果不是,则内容提供商得出结论,其第三方内容项可能没显示在客户端设备上,并且内容页、内容平台或应用中可能存在错误。如果内容提供商确定数字签名令牌是可信的,则它接下来确定包括在有效载荷中的属性的数据是否与由内容提供商提供的第三方内容项的属性的数据匹配。如果内容提供商确定属性的数据匹配,则内容提供商得出结论:在设备的显示器的特定部分中提供用于显示并对用户可见的特定内容项确实由内容提供商提供。如果不匹配,则内容提供商得出结论:其第三方内容项实际上没有显示在客户端设备上,并且内容页、内容平台、应用或内容提供商中可能存在错误。
下面将更详细地描述上述特征和额外的特征。
图1示例环境100,在该环境中,提供内容用于在客户端设备上的应用中访问的内容平台内显示。示例环境100包括网络150,诸如局域网(LAN)、广域网(WAN)、因特网或其组合。网络150连接客户端设备102、内容平台140和内容提供商130。示例环境100可以包括许多不同的内容提供商130、内容平台140和客户端设备102。
客户端设备102是能够通过网络150请求和接收内容的电子设备。示例性客户端设备102包括个人计算机、移动通信设备、数字助理设备以及其它可以通过网络150发送和接收数据的设备。客户端设备102通常包括用户应用(诸如web浏览器)以促进通过网络150发送和接收数据,但是由客户端设备102运行的本地应用也可以促进通过网络150发送和接收内容。在客户端设备102处呈现的内容的示例包括网页、文字处理文档、便携文档格式(PDF)文档、图像、视频和搜索结果页面。
内容平台140是使内容的分发能够实现的计算平台(诸如,例如,如参考图4所描述的数据处理装置)。示例内容平台140包括搜索引擎、社交媒体平台、新平台、数据聚合器平台或其它内容共享平台。每个内容平台140可以由内容平台服务提供商操作。
内容平台140可以发布内容和使其自己的内容可用。例如,内容平台140可以是发布其自己的新闻文章的新闻平台。内容平台140还可以呈现由不是内容平台140的部分的一个或多个内容提供商130提供的内容。在上面的示例中,新闻平台还可以呈现由一个或多个内容提供商130提供的第三方内容。作为另一示例,内容平台140可以是不发布任何其自己的内容,但是聚合和呈现由不同内容提供商130提供的第三方内容的数据聚合器平台。
如在本说明中使用的,内容提供商130可以是数据处理装置(如参考图4所述),并且可以包括服务器、存储库,或者存储由一个或多个实体生成和/或发布的内容的其它存储设备,一个或多个实体响应于对来自这些实体的内容的请求向内容平台140和/或客户端设备102提供内容。
当客户端设备201访问由在应用(应用A 106(诸如浏览器或本地应用))内的内容平台140提供的内容页时,内容页上的脚本(或者应用A中的本地代码)从一个或多个内容提供商130请求内容,一个或多个内容提供商130不是内容平台140的部分。响应于这个对内容的请求,内容提供商130提供可在应用内作为内容项(例如,内容项CI1 106或内容项CI2108)呈现的第三方内容。
客户端设备102可以与内容提供商130合作工作来校验在应用中提供并显示在客户端设备上的特定内容项(诸如CI1 106)是否是由内容提供商130提供并且对用户是可见的。下面概述客户端设备102和内容提供商130合作执行该校验的技术,并参考图2和图3进一步详细描述。
首先,内容提供商130在其提供给内容平台用于在应用内显示的内容项中包括数字水印。如在本说明书中使用的,数字水印以视觉上不可区分的方式在内容中嵌入信息。在一些实施方式中,内容提供商将数字水印嵌入到内容项的内容中,而不是在内容项的元数据中。将数字水印嵌入到内容项的内容中使得能够仅仅使用内容项的屏幕截图(仅提供内容项的内容而不提供内容项的元数据)就从内容项解码或提取水印。
而且,嵌入在内容项中的数字水印编码描述该内容项的一个或多个属性。这样的属性的示例除其它外包括:(1)内容项的内容类型(可以指定,例如,内容是视频、音频还是文本),(2)内容项的内容的描述,(3)内容提供商的标识(例如,可以唯一标识提供内容项的特定内容提供商130的数字、字母数字或其它标识符),(4)内容项的标识(例如,可以唯一标识内容项的数字、字母数字或其它标识符),(5)内容项的创建者的标识(例如,可以唯一标识可以与内容提供商130相同或者不同的内容项的创建者的数字、字母数字或其它标识符),(6)内容项的尺寸参数(例如,指定内容提供商130预期在其中提供内容项的内容块的预期尺寸的参数),(7)指示创建数字水印的时间的时间戳(例如,创建水印的时间和/或日期),以及(8)内容提供商130的数字签名(例如,数字签名可以签在编码在数字水印中的属性上)。随后这些属性由内容提供商130使用以验证特定内容是否由内容提供商提供并且对用户是可见的。
在一些实施方式中,内容提供商130通过指定对构成内容项的不同像素的像素值的调整/修改(即,通过调整颜色色度)将数字水印嵌入到内容项的内容中。尽管调整可能会修改内容的颜色,但它以视觉上不可察觉的方式来这样做-即,通过对内容的颜色进行微小的调整(例如,将像素从特定颜色改变为特定颜色的较浅色度),而不完全改变颜色(例如,将一个像素从特定颜色(诸如红色)改变为完全不同的颜色(诸如蓝色)。
一旦内容提供商130将内容项提供给应用104,应用104呈现该内容项,即,应用104可以提供内容项用于在应用104内的显示。
在应用104已经在内容页上呈现或提供一个或多个内容项用于显示之后,应用104(或经由脚本的帮助的内容项本身)可以寻求校验,即校验显示在应用内的特定内容项(例如CI1 106)确实由内容提供商130提供并且对用户是可见的。
在一些实施方式中(如参考图2描述的),应用请求客户端设备102的操作系统118生成数字签名令牌,数字签名令牌用于验证在应用104内的内容页上提供的、在客户端设备的显示器的特定部分显示并对用户可见的内容项CI1 106是否是由内容提供商130提供的内容项。操作系统118(包括软件组件,诸如设备显示驱动器110、水印解码器112、令牌生成器114和MAC生成器116)内的特权或可信代码用于解码数字水印,生成数字签名令牌,以及向应用104提供数字签名令牌。应用104将该数字签名令牌提供给内容提供商130,内容提供商130反过来在执行内容校验时使用该数字签名令牌。特权或可信代码是只在内核模式中运行的代码(即,只能由操作系统并且不能由任何其它用户、应用或实体运行的代码/指令)。结果,特权或可信代码不太可能易于受到其它应用/实体的渗透。
在一些实施方式中(如参考图3描述的),操作系统118解码数字水印,并且另一应用(即,与应用104分离的应用140)将从解码的数字水印获得的信息用于生成数字签名令牌。
参考图2和图3进一步详细描述了图1中上述参考组件中的每一个的结构和/或操作。
图2是示出示例过程200的泳道图,示例过程200用于检测错误并校验在客户端设备上显示的特定内容项是由内容提供商提供的并且对用户是可见的。下面将过程200的操作描述为由图1中描述和描绘的系统的组件执行;然而,这样的描述仅为了例示目的。过程200的操作可以由任何适当的设备或系统(例如,参考图4所描述的任何适当的数据处理装置)来执行。过程200的操作也可以实施为存储在非瞬时性计算机可读介质上的指令。
应用A 104呈现内容页(在202处),其包括在应用104内提供内容项CI1 106和CI2108。如参考图1所述,这些内容项中的一个或多个可以是从内容提供商130获得的第三方内容项。
应用A 104向操作系统118发送请求以生成数字签名令牌(在204处),数字签名令牌用于校验特定内容项CI1 106——在应用104内的内容页上提供,显示在客户端设备102的显示器的特定部分,并且对客户端设备102的用户可见——是否是由内容提供商130提供的第三方内容项。参考操作210描述关于数字签名令牌的生成的细节。在一些实施方式中,生成数字签名令牌的请求作为应用A校验该应用中显示的内容的请求的一部分被包括。由应用104发送并由操作系统118接收的该请求还标识显示特定内容项CI1 106的客户端设备的显示器的特定部分。
在一些实施方式中,可以是本地应用的应用104可以包括软件开发工具包(SDK)或应用程序编程接口(API),其使得应用104生成请求并随请求提供显示器的坐标(或者可替换地,指定设备显示器上的像素范围),该坐标标出显示特定内容项的显示器的特定部分的界线。在应用104是web浏览器的实施方式中,运行在页面上的脚本可以生成请求并随请求提供显示器的坐标(或者可替换地,指定设备显示器上的像素范围),坐标标出显示特定内容项的显示器的特定部分的界线。在这样的实施方式中,如果操作系统生成数字签名令牌,则脚本将请求发送到操作系统118。然而,如果web浏览器生成数字签名令牌,则脚本将请求发送到web浏览器的本地、特权代码。
操作系统118(或用于web的浏览器)获得显示器的特定部分的屏幕截图(在206处)。在一些实施方式中,设备显示驱动器110使用请求中包括的显示器的特定部分的标识(例如,坐标或像素范围)来定位和生成用于在显示器的特定部分中显示而提供的特定内容项CI1 106的屏幕截图。在一些实施方式中,设备显示驱动器110向水印解码器112提供显示器的特定部分的屏幕截图。在一些实施方式中,操作系统的设备驱动器有存储器缓冲,其允许设备驱动器在存储器中构建整个位图,并将整个位图显示到屏幕。在这样的实施方式中,获得屏幕截图仅仅包括访问存储器中的整个位图并识别对应于显示器的特定部分的位图的部分。
使用从设备显示驱动器110获得的屏幕截图,水印解码器112(可在操作系统118中实施或作为web浏览器的一部分)确定屏幕截图中是否存在数字水印,并且如果存在,则解码数字水印(在206处)。水印解码器112可以实施为基于规则的引擎以获得作为数字水印被编码到内容项中的数据,该引擎存储指定如何(例如,使用像素值调整的不同模式)在特定内容中编码数据的规则。可替换地,水印解码器112可以实施为统计模型,诸如机器学习模型(例如,有监督的机器学习模型)。这样的模型可以从输入内容项的屏幕截图获得数字水印(即,编码在内容项中的数据),并且使用一组具有嵌入的数字水印的内容项的屏幕截图和相应的一组包括编码在内容项中的数据的标签来训练。可替换地,水印解码器112可以通过首先使用包括傅立叶变换或小波变换的算法将图像变换到频域,然后检查结果的低频分量来实施。
在一些实施方式中,水印解码器112首先确定数字水印是否嵌入在显示在显示器的特定部分的特定内容项中。这包括分析特定内容项的屏幕截图,以确定是否有任何数据作为数字水印嵌入到特定内容项中。例如,使用基于规则的引擎(或通过诸如机器学习模型的另一统计模型)来分析特定内容的(即,对应于特定内容项的显示器的特定部分的屏幕截图的)像素值,以识别可能作为数字水印被编码在内容项中的数据。如果该分析没有识别在特定内容项中存在的任何这样的编码数据,则水印解码器112确定在特定内容项中不包括数字水印。基于此确定,操作系统118(或web浏览器,如果web浏览器生成数字签名令牌)可以得出结论:由内容提供商130提供的第三方内容项在应用104中未显示,或者如果显示了该第三方内容项,则它被应用104内显示的其它内容隐藏/覆盖。在这样的实例中,操作系统118(或web浏览器,如果web浏览器生成数字签名令牌)生成指示由内容提供商130提供的第三方内容项在客户端设备的显示器的特定部分中不可见的消息。
另一方面,如果分析揭示数据被编码在内容项内,则水印解码器112确定数字水印被包括在特定的内容项中。在这个实例中,水印解码器112使用基于规则的引擎或另一适当的统计模型(例如,机器学习模型)解码数字水印以获得编码在数字水印内的一个或多个属性的数据。如参考图1所描述的,这些属性的数据描述特定内容项,并且可以由内容提供商130用于校验其是否提供了该内容(如下进一步描述的)。水印解码器112向令牌生成器114提供解码后的数字水印,该解码后的数字水印包括描述特定内容项106的一个或多个属性的数据。
令牌生成器114(作为操作系统118的一部分,或者可以是web浏览器的一部分,如果web浏览器生成数字签名令牌)使用从解码数字水印获得的数据来生成数字签名令牌,该数据包括描述特定内容项的一个或多个属性的数据(在208处)。
在一些实施方式中,数字签名令牌是包括至少包括用户标识符和有效载荷的一组数据以及在一些实例中还包括设备完整性令牌的证明令牌(换句话说,设备完整性令牌可以但不必须被包括在证明令牌中)。证明令牌还包括这组数据的数字签名。以下段落描述了该组数据中的每个数据项以及这组数据的数字签名。
可以包括在证明令牌中的用户标识符包括客户端设备102的公钥。例如,客户端设备102可以生成和/或维护包括设备私钥和设备公钥的一个或多个密码密钥对。设备公钥对应于设备私钥,并在数学上链接到设备私钥。使用私钥进行数字签名的数据只能使用相应的公钥进行校验。类似地,使用公钥加密的数据只能使用相应的私钥解密。
可以包括在证明令牌中的有效载荷包括从解码数字水印获得的数据,该数据包括描述特定内容项的一个或多个属性的数据。一个或多个属性的数据可以作为数组(或另一个数据结构)包括在有效载荷中,数组的每个位置包括单独属性的数据。在一些实施方式中,数组可以具有对应于可以编码在内容项内的N个可能属性的N个位置;然而,数据只能存储在对应于基于解码水印而数据可用的属性的那些数组位置。在水印解码器确定内容项不包括数字水印的实例中,令牌生成器114可以包括由操作系统118生成的消息,该消息指示由内容提供商130提供的第三方内容项在客户端设备的显示器的特定部分中是不可见的。
可以包括在证明令牌中的完整性令牌包括设备完整性令牌,该设备完整性令牌使实体能够确定请求是否由可信客户端设备110发送。设备完整性令牌可以由第三方设备完整性系统发布,该系统评估客户端设备的欺诈信号,并基于评估为客户端设备分配可信度级别。用于客户端设备102的设备完整性令牌可以包括(1)指示在生成设备完整性令牌的时间处客户端设备102的可信度(或完整性)级别的判决,(2)指示生成设备完整性令牌的时间的设备完整性令牌创建时间,以及(3)客户端设备102的唯一标识符(可以是,例如,客户端设备的设备公钥或其衍生物)。设备完整性令牌还可以包括设备完整性令牌中的数据的数字签名。可以使用设备完整性系统的私钥生成此数字签名。
例如,设备完整性系统可以使用其私钥对数据进行签名,系统保密地维护该私钥。接收设备完整性令牌的实体可以使用设备完整性系统的公钥来校验设备完整性令牌的签名。在设备完整性令牌和证明令牌二者中包括客户端设备102的设备公钥将这两个令牌绑定在一起。换句话说,通过在设备完整性令牌中包括客户端设备102的设备公钥,证明令牌的接收者可以确定设备完整性令牌是为该客户端设备102生成的。这阻止其它方能够将可信设备的设备完整性令牌包括在来自仿真器或受损客户端设备的请求中。
可以与证明令牌包括在一起的数字签名可以是上述数据集(或其一些变体)的数字签名。该数字签名使用设备私钥生成,该私钥可以由客户端设备102的操作系统安全和保密地维护。当web浏览器生成数字签名令牌时,浏览器可以安全、保密地维护私钥。例如,数字签名可以是有效载荷、用户标识符(例如,设备公钥)和设备完整性令牌的数字签名。在一些实施方式中,操作系统118使用椭圆曲线数字签名算法(ECDSA)生成数字签名,但也可以使用其它签名技术,诸如RSA。
在一些实施方式中,令牌生成器116可以生成另一种类型的数字签名令牌,而不是证明令牌,该另一种类型的数字签名令牌也可以用于保护通过解码数字水印获得的属性数据的通信。例如,可以使用第三方完整性系统的私钥对属性数据进行数字签名。随后接收设备完整性令牌的实体(诸如,内容提供商130)可以从第三方完整性系统请求相应的公钥,并且然后使用该密钥来校验签名和属性数据。
返回到过程200,操作系统118(或web浏览器,如果web浏览器生成数字签名令牌)向应用104提供生成的设备完整性令牌(在212处)。
应用104向内容提供商130发送数字签名令牌(在214处),并且内容提供商130使用该令牌来验证特定内容项CI1 106是否是由内容提供商130提供的第三方内容项(在216处)。在一些实施方式中,编码在数字水印中的属性值可以被加密。作为验证的一部分,内容提供商130对数字签名令牌的加密部分进行解密,以获得编码在数字水印中(并且包括在令牌的有效载荷中)的多个属性的数据。在将证明令牌用作数字签名令牌的实施方式中,内容提供商130使用包括在证明令牌中的设备公钥来校验令牌中包括的数字签名。
然后,内容提供商130校验数字签名令牌中包括的数字签名。在一些实施方式中,内容提供商130使用设备的私钥以使用包括在解密的有效载荷中的数据项、设备公钥和加密的设备完整性令牌来生成数字签名,并将该生成的数字签名与包括在证明令牌中的数字签名进行比较。如果比较没有揭示相同的数字签名,则内容提供商130得出结论:提供用于在显示器的特定部分内显示的内容项CI1 106不是内容提供商130提供的第三方内容项。在一些实施方式中,内容提供商130可以向应用104发送消息,指示在内容平台140、应用104、在其上显示内容的特定内容页或内容提供商中可能存在错误。另一方面,如果比较揭示相同的签名,则内容提供商130获得包括在证明令牌的有效载荷中的一个或多个属性的数据,并继续进行内容验证。
在一些实施方式中,如果证明令牌包括签名的设备完整性令牌,内容提供商130可以与设备完整性系统交互以获得系统的公钥(如上所述)。通过校验设备完整性令牌中的数字签名,该内容提供商130使用该公钥来校验设备完整性令牌确实由设备完整性系统创建并且在创建后没有被修改。如果使用获得的公钥成功地校验了设备完整性令牌中的数字签名,并且如果在已校验的设备完整性令牌中存在的设备完整性数据指示设备是可信的,则内容提供商130继续其内容验证。然而,如果不能使用获得的公钥来校验设备完整性令牌,并且如果在校验令牌时获得的设备完整性数据指示设备是不可信的,则内容提供商130可以停止任何进一步的内容验证。在这样的示例中,内容提供商130还可以向应用104发送消息,指示在发送用于内容验证的数字签名令牌的客户端设备102中可能存在错误。
作为内容验证的一部分,内容提供商130获得其先前提供给内容平台150的第三方内容项的一个或多个属性的数据。在一些实施方式中,内容提供商130可以从其存储库中搜索该数据,存储库存储关于以下各项的数据:(1)已经由内容提供商130提供的内容项,(2)已经向其提供内容项的内容平台140,以及(3)客户端设备102,其中内容项已经被提供用于在用于访问内容平台的应用内的显示。在这样的实施方式中,内容提供商130使用特定客户端设备102的设备标识符(例如,设备公钥)和访问的特定内容平台140(例如,内容平台标识符)来识别一组内容项以及这些内容项的一个或多个属性的相应的数据。在该实施方式中,内容提供商130识别可能已经提供给客户端设备102的一组内容项和相关联的属性数据。在替换性的或额外的实施方式中,内容提供商130可以使用包括在令牌的有效载荷中的一个或多个属性的数据以进一步缩小识别的数据集。例如,如果令牌的有效载荷包括时间戳(指示由内容提供商130提供内容项的时间)和内容项标识符,内容提供商130可以使用该数据进一步限制并可能隔离先前提供的单个内容项及其相关联的属性数据。
内容提供商130将编码在数字水印中(并且从数字签名令牌的有效载荷中获得)的一个或多个属性的数据与由内容提供商130识别的单个内容项或一组内容项的一个或多个属性的数据进行比较(如前面的段落中描述的)。如果内容提供商130确定编码在数字水印中的一个或多个属性的数据不与内容提供商130从其存储库中识别的内容项中的任何一个的相应的属性的数据相同,则内容提供商130得出结论:在客户端设备102上显示的特定内容项CI1 106,不是由内容提供商130提供的。在这样的实例中,内容提供商130可以向应用104发送消息,指示在内容平台140、应用104或在其上显示内容的特定内容页中可能存在错误。另一方面,如果内容提供商130确定编码在数字水印中的一个或多个属性的数据与针对由内容提供商130从其存储库中识别的内容项中的任何一个获得的相应的属性的数据相同,则内容提供商130生成消息,以指示特定内容项CI1 106是由内容提供商130提供的第三方内容项并且对用户是可见的。
在上面描述的处理流程和系统实施方式中,操作系统118解码包括在内容项中的数字水印,并基于解码数字水印时获得的数据与操作系统已知或可校验的信息一起生成加密令牌,操作系统已知或可校验的信息包括设备公钥/私钥对,以及令牌创建时间。可替换地,在应用104是web浏览器的一些实施方式中,浏览器——而不是操作系统118——可以用于解码数字水印并生成数字签名令牌。可替代地,在一些实施方式中,尽管操作系统118仍然可以解码数字水印,但单独的实体(例如,请求数字签名令牌的应用以外的应用)可以生成数字签名令牌。参考下面的图3描述了该实施方式和相应的处理流程。
图3是示出示例过程300的泳道图,该过程300用于检测错误和/或校验当在客户端设备上访问内容平台时,由内容提供商向内容平台提供的第三方内容被实际显示,并且是对用户可见的。下面将过程300的操作描述为由图1中描述和描绘的系统的组件执行。下面描述过程300的操作仅用于例示目的。过程300的操作也可以由任何适当的设备或系统来执行,例如,参考图4描述的任何适当的数据处理装置。过程300的操作也可以实施为存储在非瞬时性计算机可读介质上的指令。
应用A 104呈现内容页(在302处),其包括在应用104内提供内容项CI1 106和CI2108。如参考图1和图2所述,这些内容项中的一个或多个可以是从内容提供商130获得的第三方内容项。
应用A 104向操作系统118发送请求以生成初始证明数据(在304处),初始证明数据将至少部分地用于校验在应用104内的内容页上提供并显示在客户端设备102的显示器的特定部分处的特定内容项CI1 106是否是由内容提供商130提供的第三方内容项。由应用104发送并由操作系统118接收的请求还标识了显示特定内容项CI1 106的客户端设备的显示器的特定部分。由应用A请求的初始证明数据包括以下内容:(1)(例如,解码包括在特定内容项中的数字水印时)从特定内容项获得的一个或多个属性的解码数据或由操作系统基于特定内容项的分析而识别的其它数据(例如,指示没有水印包括在特定内容项中的数据);(2)标识客户端设备的显示器的特定部分的数据;以及(3)第一数据项,其例如,可以是使用解码数据(或由操作系统标识的其它数据)和标识显示器的特定部分的数据而生成的消息认证码。在一些实施方式中,初始证明数据还可以包括元数据,诸如指示何时获得解码数据的时间戳(即,如操作308中进一步描述的,水印解码器112解码数字水印以获得一个或多个属性的数据的时间)。在这种实施方式中,第一数据项可以是解码数据(或由操作系统标识的其它数据)、标识显示器的特定部分的数据、和元数据的消息认证码。
在一些实施方式中,可以为本地应用的应用104可以包括软件开发工具包(SDK)或应用程序编程接口(API),该软件开发工具包(SDK)或应用程序编程接口(API)使应用104生成请求并随请求提供显示器的坐标(或者可替代地,指定在设备的显示器上的像素的范围),该坐标标出显示特定内容项的显示器的特定部分的界线。在应用104是web浏览器的实施方式中,运行在页面上的脚本可以生成请求并随请求提供显示器的坐标(或者可替代地,指定在设备的显示器上的像素的范围),该坐标标出显示特定内容项的显示器的特定部分的界线。
在一些实施方式中,对初始证明数据的请求是应用对于被提供用于在客户端设备的显示器的特定部分内的显示的特定内容项的校验的更宽泛的请求的一部分。
操作系统118获得显示器的特定部分的屏幕截图(在306处)。如参考图2所描述的,设备显示驱动器110使用包括在请求中的显示器的特定部分的标识(例如,坐标或像素范围)来定位和生成被提供用于在显示器的特定部分内的显示的特定内容项CI1 106的屏幕截图。
使用从设备显示驱动器110获得的屏幕截图,水印解码器112确定屏幕截图中是否存在数字水印,并且如果存在,则解码数字水印(在308处)。该操作以与参考图2描述的类似操作(操作206)基本相同的方式执行。如参考图2所述,如果显示器的特定部分的屏幕截图包括数字水印,则水印解码器112对解码数字水印以获得特定内容项106的一个或多个属性的数据。另一方面,如果水印解码器112确定显示器的特定部分的屏幕截图不包括数字水印,则操作系统118可以得出结论:由内容提供商130提供的第三方内容项在应用104中未显示,或者如果显示了第三方内容项,则它正在被显示在应用104内的其它内容隐藏/覆盖。在这样的实例中,操作系统118生成消息以指示由内容提供商130提供的第三方内容项在客户端设备的显示器的特定部分中是不可见的。
MAC生成器116生成解码数据(或由操作系统识别的其它数据)、标识显示器的特定部分的数据、和元数据的消息认证码(message authentication code,MAC)(在310处)。在一些实施方式中,MAC可以是基于散列的消息认证码(HMAC),其也被指代为密钥散列消息认证码。MAC生成器116使用操作系统118的秘密密码密钥(存储在客户端设备内的安全位置中)生成解码数据(或由操作系统识别的其它数据)、标识显示器的特定部分的数据、和元数据(可应用的情况下)的HMAC。在一些实施方式中,操作系统118将HMAC与解码数据(或由操作系统识别的其它数据)、标识显示器的特定部分的数据、和元数据一起包括到数据结构中。该数据结构中包括的数据被指代为初始证明数据。在一些实施方式中,操作系统118不在单个数据结构中包括这些数据项;然而,这些单独数据项的集合仍然被指代为初始证明数据。
操作系统118发送并且应用104接收初始证明数据(在312、314处)。
在接收到初始证明数据时,应用104从应用B 160请求证明令牌(在316处)。在对初始证明数据的请求是更宽泛的内容校验请求的一部分的实施方式中,应用可以在接收到初始证明数据时自动运行对证明令牌的请求。在一些实施方式中,在接收到初始证明数据的时间和在生成对证明令牌的请求的时间之间可能存在时间上的延迟。在这样的实施方式中,应用104可以与操作系统118合作生成与应用104中呈现的多个内容项相关联的初始证明数据,但是等待请求证明令牌直到内容提供商130(或另一个内容校验系统)请求对特定内容项CI1 106的内容校验。
在应用160生成数字签名令牌之前,应用160请求对在初始证明数据中提供的数据的校验。这是为了阻止恶意实体/应用通过用假数据或在与不同内容项相关联的初始证明数据中提供的数据替换实际证明数据来欺骗内容校验系统的任何企图。因此,应用160向操作系统118发送请求以验证初始证明数据(在318处)。在一些实施方式中,该请求包括将会被操作系统118验证的初始证明数据。
操作系统118校验初始证明数据(在320处)。在一些实施方式中,操作系统118以两步来校验初始证明数据。首先,操作系统118使用其解码数据(或由操作系统识别的其它数据)、标识显示器的特定部分的数据、和(在可应用的情况下)元数据(所有这些数据都包括在初始证明数据中)的秘密密码密钥生成HMAC。结果值在本说明书中被称为第二数据项。
操作系统将该第二数据项与第一数据项进行比较,第一数据项是指在操作310生成并包括在初始证明数据中的HMAC(在322处)。基于比较,如果第一数据项与第二数据项匹配,则操作系统118生成消息以指示第一数据项与第二数据项匹配(或者换句话说,HMAC被校验/有效)。另一方面,如果第一数据项与第二数据项不匹配,则操作系统118生成消息以指示第一数据项与第二数据项不匹配(或者换句话说,HMAC未被校验/有效)。操作系统118将生成的消息发送到应用160(即图3中的APP B)。
当接收到该消息时,应用160(即图3中的APP B)生成加密令牌(在324处)。在一些实施方式中,应用160(即图3中的APP B)生成加密令牌,而不考虑HMAC的结果;在其它实施方式中,应用160仅在HMAC在操作322被确定为有效时生成加密令牌。
应用160(即图3中的APP B)使用与初始证明数据包括在一起的数据(即,(例如,在解码包括在特定内容项中的数字水印时)从特定内容项获得的一个或多个属性的解码数据或者由操作系统基于对特定内容项的分析而识别的其它数据(例如,指示特定内容项中不包括水印的数据))来生成数字签名令牌。应用160以与参考图2中的操作210描述的基本相同的方式生成数字签名令牌。
应用160将生成的数字签名令牌发送到应用104,应用104反过来将数字签名令牌发送到内容提供商130(或另一适当的内容校验系统)。
内容提供商130以与参考图2中的操作216描述的基本相同的方式验证数字签名令牌(在326处)。
在上面描述的图3的处理流程中,应用160(即图1中所示的应用B)与操作系统分离。然而,在其它替换性实施方式中,应用160可以是操作系统118的一部分。在这样的实施方式中,生成和验证HMAC(如操作310至314和318至322中所描述的)不是必须的。这是因为,与图3的上述描述不同,生成初始证明数据的实体(即,操作系统118)与生成证明令牌的实体(即,应用B 160,在该替换性实施方式中是操作系统118的一部分)相同。这样的替换性实施方式在下面描述。
在该替换性实施方式中,请求304可以是对初始证明数据的请求(与上面描述的操作304相同),或者可以是对数字签名令牌的请求(类似于参考图2描述的操作204)。操作系统118仍然执行获取屏幕截图和解码数字水印的操作(即,操作306和308)。操作系统118不如操作310所述生成HMAC。相反,操作系统118的相关组件(即组件110-112)将包括在请求304中的数据和在操作306和308获得/生成的数据一起提供给也是操作系统118的一部分的应用B 160。
如果来自应用104的初始请求是对初始证明数据的请求,则操作系统118向应用104指示已经收集了初始证明数据。然而,在该实施方式中,操作系统118不需要向应用104提供数据。在一些实施方式中,操作系统可以将该数据发送到应用104。然后,应用104向现在是操作系统118的一部分的应用B发送对数字签名令牌的单独的第二请求。该请求包括由操作系统118提供给应用104的数据。操作系统首先验证其先前提供给应用B 160的数据是否与在第二请求中的从应用104接收的数据相同。如果数据匹配,则应用B继续生成数字签名令牌;否则,应用B将得出结论:存在错误。这个处理代替上面参考图3描述的操作318-322。
可替代地,如果来自应用104的初始请求是对数字签名令牌的请求,则操作系统118不向应用104发送任何响应,并且应用104也不向操作系统118发送任何附加的请求。
应用B以与参考上面的操作324描述的基本相同的方式使用包括请求304中的数据和/或在操作306和308获得的生成的数据生成数字签名令牌。
内容提供商130以与上面参考操作326描述的基本相同的方式验证数字签名令牌。
图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为系统400提供输入/输出操作。在一个实施方式中,输入/输出设备440可以包括网络接口设备(例如,以太网卡)、串行通信设备(例如,和RS-232端口)和/或无线接口设备(例如,和802.11卡)中的一个或多个。在另一个实施方式中,输入/输出设备可以包括驱动设备,其被配置成接收输入数据并将输出数据发送到其它输入/输出设备,例如,键盘、打印机和显示设备460。然而,也可以使用其它实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等等。
尽管图4中已经描述了示例处理系统,但说明书中描述的主题和功能操作的实施方式可以在包括本说明书中公开的结构以及它们的结构等价物的其它类型的数字电子电路中,或在计算机软件、固件或硬件中,或者在它们的一个或多个的组合中实现。
媒体不一定对应于文件。媒体可以存储在保存其它文档的文件的一部分中,在专用于相关文档的单个文件中,或者在多个协调的文件中。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,或在包括本说明书中公开的结构以及它们的结构等价物的计算机软件、固件或硬件中,或者在它们的一个或多个的组合中实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序(即,计算机程序指令的一个或多个模块),编码在计算机存储媒介(或介质)上用于由数据处理装置运行或控制数据处理设备的操作。可替代地,或额外地,程序指令可以编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,传播信号被生成来编码信息以向合适的接收器装置传输以由数据处理装置运行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备中,或者它们的一个或多个的组合。而且,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或媒介(例如,多个CD、盘或其它存储设备),或者包括在其中。
本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收的数据执行的操作。
术语“数据处理装置”包括用于处理数据的各种装置、设备和机器,举例来说,包括可编程处理器、计算机、片上系统、或上述的多个或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为相关计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机,或者它们的一个或多个的组合的代码。该装置和运行环境可以实现各种不同的计算模型基础设施,如web服务、分布式计算和网格计算基础设施。
计算机程序(也被熟知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明性语言或程序性语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程,对象,或适合于在计算环境中使用的其它单元。计算机程序可以(但不必)对应于文件系统中的文件。程序可以存储在保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于相关程序的单个文件中、或在多个协调文件(例如,存储代码的一个或多个模块、子程序、或代码部分的文件)中。计算机程序可以部署以在一台计算机上或在位于一个站点上或横跨多个站点分布并通过通信网络互连的多台计算机上运行。
本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作而执行。过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
举例来说,适合于计算机程序的运行的处理器包括通用微处理器和专用微处理器。一般来说,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于根据指令执行操作的处理器,以及存储指令和数据的一个或多个存储设备。一般来说,计算机还将包括或操作地耦合以从用于存储数据的一个或多个海量存储设备(例如,磁性、磁光盘或光盘)接收数据或向其发送数据或二者都有。然而,计算机不必有这样的设备。而且,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个例子。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、媒介和存储器设备,举例来说,包括半导体存储器设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移动盘);磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和指针设备(例如,鼠标或轨迹球)的计算机上实现。其它类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向由用户使用的设备发送文档和从该设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求,向用户客户端设备上的web浏览器发送web页。
本说明书中描述的主题的实施例可以在计算机系统中实现,该计算机系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有用户可以通过其与本说明书中描述的主题的实现交互的图形用户界面或Web浏览器的客户端计算机)或一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、内部网络(例如,因特网)和对等网络(例如,adhoc对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远程,并且通常通过通信网络交互。客户机端和服务器之间的关系由于在各自的计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据并接收来自与客户端设备交互的用户的用户输入)。在客户端设备上生成的数据(例如,用户交互的结果)可以在服务器上从客户端设备接收。
尽管本说明书包含许多具体的实现细节,这些细节不应被解释为对任何发明或其权利要求的范围的限制,而是特定于特定发明的特定实施例的特征的描述。本说明书中描述的在单独的实施例的上下文中的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。而且,虽然特征可能在上面被描述为出现在某些组合中并且甚至一开始就被请求按这样进行保护,但是来自请求保护的组合的一个或多个特征在一些情况下能够从该组合中被删除,并且请求保护的组合可以针对子组合或者子组合的变化。
类似地,虽然操作在附图中被按照特定的次序描述,但是这不应该被理解为要求按照所示出的特殊次序来执行或者按照相继次序执行这样的操作、或者要求执行所有示出的操作,以便实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。而且,上述的实施例中的各种系统组件的分离不应该被理解为在所有的实施例中要求这样的分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单一软件产品中或者包装到多个软件产品中。
因此,已经描述了主题的特定实施例。其它实施例在下面的权利要求的范围之内。在一些情况下,在权利要求中记载的动作能够以不同的顺序来执行,并且仍然实现期望的结果。此外,附图中描绘的过程不必要求所示特定顺序或序列顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
Claims (20)
1.一种计算机实施的方法,包括:
从运行在客户端设备上的应用接收请求以生成数字签名令牌,所述数字签名令牌用于验证在应用内的内容页上提供并在客户端设备的显示器的特定部分上显示的特定内容项是否是由内容提供商提供的第三方内容项,其中所述请求标识显示器的特定部分;
确定数字水印是否嵌入在显示在显示器的特定部分的特定内容项中;
响应于确定数字水印嵌入在特定内容项中:
解码数字水印以获得编码在数字水印中的多个属性的数据,其中所述多个属性描述所述特定内容项;
生成数字签名令牌,所述数字签名令牌将所述多个属性的数据包括在数字签名令牌的有效载荷中;以及
向应用提供生成的数字签名令牌。
2.根据权利要求1所述的方法,还包括:
使用数字签名令牌验证在应用内的内容页上提供并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,所述验证包括:
校验包括在数字签名令牌中的数字签名是有效的,其中所述校验包括使用除了包括在数字签名令牌中的数字签名以外的数据生成数字签名;
从内容提供商获得第三方内容项的多个属性的数据;以及
确定编码在数字水印中的多个属性的数据与针对所述第三方内容项获得的对应的多个属性的数据相同,并响应地生成指示所述特定内容项是所述第三方内容项的消息。
3.根据权利要求1所述的计算机实施的方法,还包括:
响应于确定数字水印没有嵌入在特定内容项中,生成数字签名令牌,所述数字签名令牌在数字签名令牌的有效载荷中包括指示第三方内容项在客户端设备的显示器的特定部分中不可见的消息;以及
向应用提供生成的数字签名令牌。
4.根据权利要求1所述的计算机实施的计算机实施的方法,
所述方法还包括使用显示器的所述特定部分获得显示在显示器的所述特定部分的特定内容项的屏幕截图;
其中获得嵌入在特定内容项中的数字水印包括从获得的显示在显示器的所述特定部分的特定内容项的屏幕截图获得数字水印。
5.根据权利要求1所述的计算机实施的方法,其中获得的数字水印编码关于以下属性中的两个或更多个的数据:
第三方内容项的内容类型;
第三方内容项中提供的内容的描述;
第三方内容提供商的标识;
第三方内容项的唯一标识符;
第三方内容项的尺寸参数;
指示创建数字水印的时间的时间戳;
第三方内容提供商的数字签名。
6.根据权利要求1所述的计算机实施的方法,其中所述数字签名令牌是证明令牌,所述证明令牌包括(1)客户端设备的设备公钥;(2)包括所述多个属性的数据的有效载荷;(3)标识客户端设备的可信度的设备完整性令牌,其中所述设备完整性令牌由可信的设备完整性系统签名;和(4)设备公钥、有效载荷、和设备完整性令牌的数字签名,其中所述数字签名使用对应于设备公钥并在数学上链接到所述设备公钥的客户端设备的设备私钥生成。
7.一种计算机实施的方法,包括:
从在客户端设备上运行的应用接收请求以生成数字签名令牌,所述数字签名令牌用于验证在应用内的内容页上提供并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,其中:
所述请求包括客户端设备的操作系统获得的初始证明数据,其中所述初始证明数据包括(1)编码在显示在显示器的特定部分的特定内容项中嵌入的数字水印中的多个属性的解码数据,其中多个属性描述特定内容项;(2)标识显示器的特定部分的数据;以及(3)使用解码数据和标识显器的特定部分的数据生成的第一数据项;
从操作系统获得指定第一数据项是否与第二数据项相匹配的指示,其中第二数据项由操作系统使用与请求包括在一起的解码数据和标识显示器的特定部分的数据生成;
响应于获得指定第一数据项与第二数据项相匹配的指示:
生成数字签名令牌,所述数字签名令牌将多个属性的数据包括在数字签名令牌的有效载荷中;
向应用提供生成的数字签名令牌。
8.根据权利要求7所述的方法,其中第一数据项和第二数据项中的每一个是散列消息认证码。
9.一种系统包括:
一个或多个存储指令的存储器设备;以及
一个或多个数据处理装置,其被配置成与一个或多个存储器设备交互,并且在运行指令时,执行以下操作,包括:
从运行在客户端设备上的应用接收请求以生成数字签名令牌,所述数字签名令牌用于验证在应用内的内容页上提供并在客户端设备的显示器的特定部分上显示的特定内容项是否是由内容提供商提供的第三方内容项,其中所述请求标识显示器的特定部分;
确定数字水印是否嵌入在显示在显示器的特定部分的特定内容项中;
响应于确定数字水印嵌入在所述特定内容项中:
解码数字水印以获得编码在数字水印中的多个属性的数据,其中所述多个属性描述所述特定内容项;
生成数字签名令牌,所述数字签名令牌将所述多个属性的数据包括在数字签名令牌的有效载荷中;以及
向应用提供生成的数字签名令牌。
10.根据权利要求9所述的系统,其中一个或多个数据处理装置被配置成执行操作,还包括:
使用数字签名令牌验证在应用内的内容页上提供并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,所述验证包括:
校验包括在数字签名令牌中的数字签名是有效的,其中所述校验包括使用除了包括在数字签名令牌中的数字签名以外的数据生成数字签名;
从内容提供商获得针对所述第三方内容项的多个属性的数据;以及
确定编码在数字水印中的多个属性的数据与针对所述第三方内容项获得的对应的多个属性的数据相同,并响应地生成指示所述特定内容项是所述第三方内容项的消息。
11.根据权利要求9所述的系统,其中一个或多个数据处理装置被配置成执行操作,还包括:
响应于确定数字水印没有嵌入在所述特定内容项中,生成数字签名令牌,所述数字签名令牌在数字签名令牌的有效载荷中包括指示所述第三方内容项在客户端设备的显示器的特定部分中不可见的消息;以及
向应用提供生成的数字签名令牌。
12.根据权利要求9所述的系统,
其中一个或多个数据处理装置被配置成执行操作,还包括使用显示器的所述特定部分获得显示在显示器的所述特定部分的特定内容项的屏幕截图;
其中获得嵌入在所述特定内容项中的数字水印包括从获得的显示在显示器的所述特定部分的特定内容项的屏幕截图获得数字水印。
13.根据权利要求9所述的系统,其中获得的数字水印编码关于以下属性中的两个或更多个的数据:
第三方内容项的内容类型;
第三方内容项中提供的内容的描述;
第三方内容提供商的标识;
第三方内容项的唯一标识符;
第三方内容项的尺寸参数;
指示创建数字水印的时间的时间戳;
第三方内容提供商的数字签名。
14.根据权利要求9所述的系统,其中所述数字签名令牌是证明令牌,所述证明令牌包括(1)客户端设备的设备公钥;(2)包括所述多个属性的数据的有效载荷;(3)标识客户端设备的可信度的设备完整性令牌,其中所述设备完整性令牌由可信的设备完整性系统签名;和(4)设备公钥、有效载荷、和设备完整性令牌的数字签名,其中数字签名使用对应于设备公钥并在数学上链接到所述设备公钥的客户端设备的设备私钥生成。
15.一种非瞬时性计算机可读记录介质包括:
一个或多个存储指令的存储器设备;以及
一个或多个数据处理装置,其被配置成与一个或多个存储器设备交互,并且在运行指令时,执行以下操作,包括:
从运行在客户端设备上的应用接收请求以生成数字签名令牌,所述数字签名令牌用于验证在应用内的内容页上提供并在客户端设备的显示器的特定部分上显示的特定内容项是否是由内容提供商提供的第三方内容项,其中所述请求标识显示器的特定部分;
确定数字水印是否嵌入在显示在显示器的特定部分的特定内容项中;
响应于确定数字水印嵌入在所述特定内容项中:
解码数字水印以获得编码在数字水印中的多个属性的数据,其中所述多个属性描述所述特定内容项;
生成数字签名令牌,所述数字签名令牌将所述多个属性的数据包括在数字签名令牌的有效载荷中;以及
向应用提供生成的数字签名令牌。
16.根据权利要求15所述的非瞬时性计算机可读介质,其中指令引起一个或多个数据处理装置执行操作,包括:
使用数字签名令牌验证在应用内的内容页上提供并在客户端设备的显示器的特定部分显示的特定内容项是否是由内容提供商提供的第三方内容项,所述验证包括:
校验包括在数字签名令牌中的数字签名是有效的,其中所述校验包括使用除了包括在数字签名令牌中的数字签名以外的数据生成数字签名;
从内容提供商获得针对所述第三方内容项的多个属性的数据;以及
确定编码在所述数字水印中的所述多个属性的数据与针对所述第三方内容项获得的对应的多个属性的数据相同,并响应地生成指示所述特定内容项是所述第三方内容项的消息。
17.根据权利要求15所述的非瞬时性计算机可读介质,其中指令引起一个或多个数据处理装置执行操作,包括:
响应于确定数字水印没有嵌入在所述特定内容项中,生成数字签名令牌,所述数字签名令牌在数字签名令牌的有效载荷中包括指示所述第三方内容项在客户端设备的显示器的所述特定部分中不可见的消息;以及
向应用提供生成的数字签名令牌。
18.根据权利要求15所述的非瞬时性计算机可读介质,
其中所述指令引起一个或多个数据处理装置执行操作,还包括使用显示器的所述特定部分获得显示在显示器的所述特定部分的特定内容项的屏幕截图;
其中获得嵌入在特定内容项中的数字水印包括从获得的显示在显示器的所述特定部分的特定内容项的屏幕截图获得数字水印。
19.根据权利要求15所述的非瞬时性计算机可读介质,其中获得的数字水印编码关于以下属性中的两个或更多个的数据:
第三方内容项的内容类型;
第三方内容项中提供的内容的描述;
第三方内容提供商的标识;
第三方内容项的唯一标识符;
第三方内容项的尺寸参数;
指示创建数字水印的时间的时间戳;
第三方内容提供商的数字签名。
20.根据权利要求15所述的非瞬时性计算机可读介质,其中所述数字签名令牌是证明令牌,所述证明令牌包括(1)客户端设备的设备公钥;(2)包括所述多个属性的数据的有效载荷;(3)标识客户端设备的可信度的设备完整性令牌,其中所述设备完整性令牌由可信的设备完整性系统签名;和(4)设备公钥、有效载荷、和设备完整性令牌的数字签名,其中数字签名使用对应于设备公钥并在数学上链接到所述设备公钥的客户端设备的设备私钥生成。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/017027 WO2021158229A1 (en) | 2020-02-06 | 2020-02-06 | Verifying display of third party content at a client device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113498514A true CN113498514A (zh) | 2021-10-12 |
CN113498514B CN113498514B (zh) | 2024-07-16 |
Family
ID=69771153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080003019.5A Active CN113498514B (zh) | 2020-02-06 | 2020-02-06 | 校验第三方内容在客户端设备上的显示 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11882327B2 (zh) |
EP (1) | EP3881202B1 (zh) |
JP (1) | JP7077425B2 (zh) |
KR (1) | KR102445873B1 (zh) |
CN (1) | CN113498514B (zh) |
AU (1) | AU2020260456B2 (zh) |
BR (1) | BR112020022501A2 (zh) |
CA (1) | CA3100347C (zh) |
WO (1) | WO2021158229A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809531B2 (en) * | 2020-02-03 | 2023-11-07 | Nxp B.V. | Method for watermarking a machine learning model |
WO2021158227A1 (en) | 2020-02-06 | 2021-08-12 | Google, Llc | Verifying user interactions on a content platform |
US11809532B2 (en) * | 2020-10-14 | 2023-11-07 | Irdeto B.V. | Detection of modification of an item of content |
US11699208B2 (en) | 2021-03-12 | 2023-07-11 | Nxp B.V. | Method for watermarking a machine learning model |
IL285887B2 (en) * | 2021-08-26 | 2024-07-01 | Google Llc | Secure attribution using anonymous signals |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323669A (ja) * | 2001-11-27 | 2007-12-13 | Fujitsu Ltd | 文書配布方法および文書管理方法 |
US20110123062A1 (en) * | 2009-11-24 | 2011-05-26 | Mordehay Hilu | Device, software application, system and method for proof of display |
US20140201368A1 (en) * | 2013-01-15 | 2014-07-17 | Samsung Electronics Co., Ltd. | Method and apparatus for enforcing behavior of dash or other clients |
US20170068829A1 (en) * | 2015-09-09 | 2017-03-09 | Airwatch Llc | Screen shot marking and identification for device security |
CN107508685A (zh) * | 2017-10-13 | 2017-12-22 | 吉林工程技术师范学院 | 一种云计算环境中应用电子签名服务系统的实现方法 |
CN109978620A (zh) * | 2013-10-10 | 2019-07-05 | 尼尔森(美国)有限公司 | 测量和监测对流媒体的曝光的方法和设备以及存储装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611607B1 (en) | 1993-11-18 | 2003-08-26 | Digimarc Corporation | Integrating digital watermarks in multimedia content |
JP3103061B2 (ja) * | 1997-09-12 | 2000-10-23 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | トークン作成装置および該トークンを用いたデータ制御システム |
JP4185363B2 (ja) | 2001-02-22 | 2008-11-26 | ビーイーエイ システムズ, インコーポレイテッド | トランザクション処理システムにおけるメッセージ暗号化及び署名のためのシステム及び方法 |
CN100401669C (zh) | 2001-11-06 | 2008-07-09 | 国际商业机器公司 | 用于数据供应、交易和电子投票的方法和系统 |
US20050278235A1 (en) | 2004-06-10 | 2005-12-15 | International Business Machines Corporation | Method and system for a contract option |
US20050278253A1 (en) | 2004-06-15 | 2005-12-15 | Microsoft Corporation | Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like |
CN101106455B (zh) | 2007-08-20 | 2010-10-13 | 北京飞天诚信科技有限公司 | 身份认证的方法和智能密钥装置 |
US20090292924A1 (en) | 2008-05-23 | 2009-11-26 | Johnson Erik J | Mechanism for detecting human presence using authenticated input activity |
US20100312653A1 (en) * | 2009-06-05 | 2010-12-09 | Microsoft Corporation | Verifiable advertisement presentation |
US8817985B2 (en) | 2009-06-23 | 2014-08-26 | Panasonic Corporation | Encryption key distribution system |
US20110161145A1 (en) * | 2009-12-26 | 2011-06-30 | Mahajan Ayeshwarya B | Method and device for securely displaying digital content on a computing device |
WO2014138430A2 (en) | 2013-03-06 | 2014-09-12 | Marvell World Trade Ltd. | Secure simple enrollment |
US20140282696A1 (en) * | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | Advertising download verification |
US20150150109A1 (en) | 2013-11-27 | 2015-05-28 | Adobe Systems Incorporated | Authenticated access to a protected resource using an encoded and signed token |
US9860241B2 (en) | 2014-04-15 | 2018-01-02 | Level 3 Communications, Llc | Device registration, authentication, and authorization system and method |
US10362007B2 (en) | 2015-11-12 | 2019-07-23 | Facebook, Inc. | Systems and methods for user account recovery |
EP3398049A4 (en) | 2015-12-30 | 2019-08-07 | Verimatrix, Inc. | SYSTEMS AND METHODS FOR PRIVACY PRIVACY IN THE DIVISION OF DIGITAL CONTENTS WITH PRIVATE TOKENS |
KR102399582B1 (ko) | 2017-03-01 | 2022-05-18 | 애플 인크. | 모바일 디바이스를 사용한 시스템 액세스 |
WO2018208997A1 (en) | 2017-05-09 | 2018-11-15 | Verimatrix, Inc. | Systems and methods of preparing multiple video streams for assembly with digital watermarking |
CN107342998A (zh) | 2017-07-04 | 2017-11-10 | 四川云物益邦科技有限公司 | 通过移动存储设备实现的个人信息提取方法 |
US10932129B2 (en) | 2017-07-24 | 2021-02-23 | Cisco Technology, Inc. | Network access control |
-
2020
- 2020-02-06 EP EP20709916.9A patent/EP3881202B1/en active Active
- 2020-02-06 WO PCT/US2020/017027 patent/WO2021158229A1/en unknown
- 2020-02-06 JP JP2020566224A patent/JP7077425B2/ja active Active
- 2020-02-06 CA CA3100347A patent/CA3100347C/en active Active
- 2020-02-06 CN CN202080003019.5A patent/CN113498514B/zh active Active
- 2020-02-06 BR BR112020022501A patent/BR112020022501A2/pt unknown
- 2020-02-06 US US17/269,730 patent/US11882327B2/en active Active
- 2020-02-06 KR KR1020207034019A patent/KR102445873B1/ko active IP Right Grant
- 2020-02-06 AU AU2020260456A patent/AU2020260456B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323669A (ja) * | 2001-11-27 | 2007-12-13 | Fujitsu Ltd | 文書配布方法および文書管理方法 |
US20110123062A1 (en) * | 2009-11-24 | 2011-05-26 | Mordehay Hilu | Device, software application, system and method for proof of display |
US20140201368A1 (en) * | 2013-01-15 | 2014-07-17 | Samsung Electronics Co., Ltd. | Method and apparatus for enforcing behavior of dash or other clients |
CN109978620A (zh) * | 2013-10-10 | 2019-07-05 | 尼尔森(美国)有限公司 | 测量和监测对流媒体的曝光的方法和设备以及存储装置 |
US20170068829A1 (en) * | 2015-09-09 | 2017-03-09 | Airwatch Llc | Screen shot marking and identification for device security |
CN107508685A (zh) * | 2017-10-13 | 2017-12-22 | 吉林工程技术师范学院 | 一种云计算环境中应用电子签名服务系统的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021158229A1 (en) | 2021-08-12 |
AU2020260456A1 (en) | 2021-08-26 |
US11882327B2 (en) | 2024-01-23 |
BR112020022501A2 (pt) | 2022-09-06 |
KR102445873B1 (ko) | 2022-09-21 |
JP2022522315A (ja) | 2022-04-18 |
KR20210102058A (ko) | 2021-08-19 |
AU2020260456B2 (en) | 2021-12-23 |
EP3881202A1 (en) | 2021-09-22 |
CA3100347C (en) | 2023-02-14 |
EP3881202B1 (en) | 2022-01-26 |
CN113498514B (zh) | 2024-07-16 |
CA3100347A1 (en) | 2021-08-06 |
US20220124393A1 (en) | 2022-04-21 |
JP7077425B2 (ja) | 2022-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113498514B (zh) | 校验第三方内容在客户端设备上的显示 | |
US12028460B2 (en) | Verifying user interactions on a content platform | |
CN113015974A (zh) | 针对隐私保护的可验证同意 | |
KR102470639B1 (ko) | 신뢰되는 코드 증명 토큰으로 데이터 무결성 향상 | |
US20230344639A1 (en) | Identifying deep fake content via smart devices | |
JP7464663B2 (ja) | プライバシー保持アプリケーションおよびデバイスエラー検出 | |
JP7438383B2 (ja) | ウェブアプリケーションの信頼性の検証 | |
CN113994360A (zh) | 使用众包打击虚假信息 | |
US20230385811A1 (en) | Secure and decentralized payment for digital media content via certificates with wallet information | |
US20240113889A1 (en) | Verifying ownership using decentralized verification | |
CN115514991A (zh) | Iptv视频的防篡改方法、服务器及客户端 | |
CN114127715A (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 |