JP7157258B2 - Fraud Prevention in Aggregated Network Measurements - Google Patents
Fraud Prevention in Aggregated Network Measurements Download PDFInfo
- Publication number
- JP7157258B2 JP7157258B2 JP2021540867A JP2021540867A JP7157258B2 JP 7157258 B2 JP7157258 B2 JP 7157258B2 JP 2021540867 A JP2021540867 A JP 2021540867A JP 2021540867 A JP2021540867 A JP 2021540867A JP 7157258 B2 JP7157258 B2 JP 7157258B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- conversion
- impression
- application
- blind
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/40—User authentication by quorum, i.e. whereby two or more security principals are required
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- 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/083—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- 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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- 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
- H04L9/3257—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 using blind signatures
-
- 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/04—Masking or blinding
-
- 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/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Description
クライアントデバイスは、インターネットなどのパブリックネットワークを介してデータを送信する。これらの通信は、意図された受信者以外のエンティティによって傍受および/または変更される可能性がある。さらに、エンティティはネットワーク識別子を偽造し、これらの偽造されたネットワーク識別子から発信されたように見えるデータを送信することができる。そのような偽造の例は、ピアツーピアネットワークのレピュテーションシステムを破壊するために、エンティティがネットワーク識別子を作成するシビル攻撃である。 A client device transmits data over a public network such as the Internet. These communications can be intercepted and/or modified by entities other than the intended recipient. Additionally, entities can forge network identifiers and transmit data that appears to originate from these forged network identifiers. An example of such forgery is a Sybil attack in which an entity creates a network identifier to subvert the reputation system of a peer-to-peer network.
本明細書は、不正を防止し、ユーザのプライバシを保護する方法で、集約されたネットワーク測定値を決定することに関連する技術について説明する。 This specification describes techniques related to determining aggregated network measurements in a manner that prevents fraud and protects user privacy.
一般に、本明細書に記載される主題の1つの革新的な態様は、複数のクライアントデバイスの各々から、それぞれのグループメンバー鍵、およびデジタルコンポーネントを表示した結果としての所与のコンバージョンのグループ識別子を含む測定データ要素を受信するステップであって、各クライアントデバイスにおいて実行されるアプリケーションが、インプレッションデータまたはコンバージョン用のコンバージョンデータの1つまたは複数を含むネットワークデータに少なくとも基づいて、ネットワークデータを暗号化するためのシークレットを定義するグループ鍵を生成することであって、各グループメンバー鍵が、シークレットのそれぞれの共有を含む、ことと、アプリケーションに関連するデータに基づいて、それぞれのグループメンバー鍵を生成することであって、各クライアントデバイスが、シークレットの異なる共有を含む異なるグループメンバー鍵を生成する、こととを行うために、しきい値暗号化スキームを使用する、ステップと、グループ識別子を有する少なくともしきい値数の測定データ要素が受信されたことを決定するステップと、同じグループ識別子を有する少なくともしきい値数の測定データ要素が受信されたとの決定に応答して、受信した測定データ要素におけるグループメンバー鍵を使用してネットワークデータを復号化するステップとを含む方法において具体化することができる。集約されるネットワークデータを報告するためにしきい値暗号化技法を使用することにより、不正な報告を防ぎ、たとえば、報告されたデータがユーザデータに関連している、またはユーザデータを含む状況において、ユーザのプライバシを保護する。異なるグループメンバー鍵の生成により、グループ識別子を有する少なくともしきい値数の測定データ要素を合計するグループメンバー鍵の任意の組合せが受信されたときに、グループ鍵を再生成することができる。したがって、ネットワークデータは、少なくともしきい値のグループメンバー鍵が受信されたときに復号化することができるが、しきい値未満のグループメンバー鍵が受信された場合は復号化することはできない。クライアントデバイス間のコラボレーションなしにクライアントデバイス間でそのようなシークレット共有を有効にすることにより、ユーザのデバイス間の通信を排除することによってユーザのプライバシを保護し、そのような通信によって消費される帯域幅を削減し、単一の秘密鍵が各アプリケーションに単に渡された場合に発生する可能性のある測定不正を防ぐ。この態様の他の実装形態は、コンピュータストレージデバイス上に符号化された、方法の態様を実行するように構成された、対応する装置、システム、およびコンピュータプログラムを含む。 In general, one innovative aspect of the subject matter described herein provides, from each of a plurality of client devices, a respective group member key and a group identifier for a given conversion as a result of displaying the digital component. receiving a measurement data element comprising: an application running on each client device encrypting the network data based at least on the network data comprising one or more of the impression data or the conversion data for the conversion; generating group keys that define secrets for each group member key, each group member key containing a respective share of the secret; and generating each group member key based on data associated with the application. each client device generates a different group member key containing a different sharing of the secret, using a threshold encryption scheme to at least have a group identifier determining that a threshold number of measurement data elements have been received; and in response to determining that at least the threshold number of measurement data elements having the same group identifier have been received, groups in the received measurement data elements. decrypting the network data using the member key. Using threshold encryption techniques to report aggregated network data prevents fraudulent reporting, e.g., in situations where reported data relates to or includes user data, Protect user privacy. The generation of different group member keys allows the group key to be regenerated when any combination of group member keys summing at least a threshold number of measurement data elements with a group identifier is received. Thus, network data can be decrypted when at least the threshold group member key is received, but cannot be decrypted when less than the threshold group member key is received. Enabling such secret sharing between client devices without collaboration between client devices protects user privacy by eliminating communication between the user's devices and the bandwidth consumed by such communication. It reduces the width and prevents measurement fraud that can occur if a single private key is simply passed to each application. Other implementations of this aspect include corresponding apparatus, systems, and computer programs encoded on computer storage devices and configured to carry out aspects of the method.
これらおよび他の実装形態はそれぞれ、任意で以下の機能のうちの1つまたは複数を含むことができる。測定データ要素は、ネットワークデータを表す暗号化されたデータを含み得、グループメンバー鍵を含み得る。グループメンバー鍵は、グループ鍵の一部を表し得、同じインプレッションとコンバージョンのペアに対して十分な数のグループメンバー鍵が受信された場合にのみ、グループ鍵を再生成するために使用され得る。コンバージョンは、デジタルコンポーネントに対するものであり得、デジタルコンポーネントがユーザに提示された後、またはユーザによって選択された後、指定されたユーザアクションの完了を伴う場合がある。インプレッションデータは、デジタルコンポーネントの特定の提示に関するものであり得、デジタルコンポーネントのランディングページ(たとえば、デジタルコンポーネントによってリンクされているページで、ユーザがデジタルコンポーネントをクリックまたは相互作用すると、アプリケーション/ブラウザはそのページをユーザに表示する)のURLまたはドメイン、デジタルコンポーネントの1つまたは複数の識別子、インプレッションに関連付けられるイベントレベルのデータ、インプレッションデータをクライアントデバイスから削除するタイミングを指定する有効期限、および/あるいはデジタルコンポーネントのコンバージョン報告が送信される報告URLまたはドメインを含み得る。インプレッションデータは、たとえば、デジタルコンポーネントのメタデータまたはデジタルコンポーネントのアンカータグとして、デジタルコンポーネントによって提供され得る。一部のコンバージョンは複数のタイプを有し得るため、コンバージョンデータは、コンバージョンのタイプを示すデータを含み得る。コンバージョンのタイプは、コンバージョンが完了した後の後続のアクションを指定し得る。 Each of these and other implementations can optionally include one or more of the following features. The measurement data element may contain encrypted data representing network data and may contain a group member key. The group member key may represent a portion of the group key and may be used to regenerate the group key only when a sufficient number of group member keys are received for the same impression-conversion pair. Conversion may be to a digital component and may involve completion of a specified user action after the digital component has been presented to the user or selected by the user. Impression data can relate to a particular presentation of a digital component, such that when a user clicks or interacts with a digital component on the landing page of the digital component (e.g., a page linked by the digital component, the application/browser URL or domain of the page that is displayed to the user), one or more identifiers for the digital components, event-level data associated with the impression, an expiration date that specifies when the impression data is removed from the client device, and/or the digital May include a reporting URL or domain to which conversion reports for the component are sent. Impression data may be provided by the digital component, for example, as metadata for the digital component or as anchor tags for the digital component. Conversion data may include data indicating the type of conversion, as some conversions may have multiple types. The type of conversion may specify subsequent actions after the conversion is complete.
各アプリケーションは、インプレッションデータに関連するコンバージョンの発生に応答して、測定データ要素を生成および送信し得る。本方法は、グループ識別子を含む受信されたデータ要素の数に基づいて、デジタルコンポーネントのコンバージョンの数を決定するステップを含むことができる。 Each application may generate and transmit measurement data elements in response to the occurrence of conversions related to impression data. The method may include determining the number of conversions of the digital component based on the number of data elements received including the group identifier.
本方法は、ブラインド(blindly)署名されたインプレッションデータに基づいてグループ鍵を生成するステップを含むことができる。ネットワークデータにブラインド署名するためにブラインド署名されたインプレッションデータを使用することにより、ユーザのプライバシを保護しながら、そのようなデータの不正をチェックすることができる。より一般的には、ネットワークデータにブラインド署名するためにブラインド署名技法を使用することにより、ユーザのプライバシを保護しながら、そのようなデータの不正をチェックすることができる。ネットワークデータを含むデータ要素の一部は、たとえば、ブラインド署名されたインプレッションデータに基づいてグループ鍵を生成することによって、および/または複数のエンティティから不正または共謀を防ぐために複数のエンティティによって暗号化することによって、ブラインド署名することができる。 The method may include generating a group key based on the blindly signed impression data. Using blind-signed impression data to blind-sign network data allows such data to be checked for fraud while protecting user privacy. More generally, the use of blind signing techniques to blind sign network data allows such data to be checked for tampering while protecting user privacy. Some of the data elements containing network data are encrypted by multiple entities, for example by generating a group key based on blind signed impression data and/or to prevent fraud or collusion from multiple entities can be signed blindly.
ブラインド署名されたインプレッションデータは、インプレッションが有効であると決定した第1のシステムおよびコンバージョンを登録することを決定した第2のシステムによって署名されたブラインド化されたインプレッションデータであって、インプレッションデータをブラインド化することによって生成される、ブラインド化されたインプレッションデータと、第2のシステムによって署名されたコンバージョンデータとを含む、ブラインド署名された結合されたコンバージョンデータを含むことができる。グループ鍵を生成するステップは、ブラインド署名された結合されたコンバージョンデータと、デジタルコンポーネントのコンバージョンデータが報告される報告システムのネットワークアドレスとの組合せを使用してグループ鍵を生成するステップを含むことができる。そのようなブラインド署名されたデータとしきい値暗号化技法との組合せを使用することにより、不正を防ぎ、ユーザのプライバシを保護する。ブラインド署名された結合されたコンバージョンデータは、報告システムの公開鍵を使用して暗号化され得る。アプリケーションに関連するデータは、アプリケーションの一意の識別子を含むことができる。しきい値暗号化スキームは、多項式ベースのしきい値暗号化スキームを含むことができる。各クライアントデバイスにおいて実行されるアプリケーションは、少なくともインプレッションデータを含むシードに基づいて、グループ鍵として多項式関数を生成するステップと、シークレットに対応する値を有するように多項式関数上の同じ点を選択するステップと、それぞれのグループメンバー鍵として、アプリケーションに関連するデータを使用して、同じ点とは異なる多項式関数上の第2の点を選択するステップとを含むことができる。受信した測定データにおけるグループメンバー鍵を使用してインプレッションデータを復号化するステップは、第2の点を使用して多項式関数を生成するステップと、生成された多項式関数上の同じ点を識別するステップとを含むことができる。しきい値暗号化スキームは、中国の剰余定理ベースのスキーム、プロアクティブなシークレット共有、または検証可能なシークレット共有のいずれかを含むことができる。 Blind-signed impression data is blind-signed impression data signed by a first system that determined that the impression was valid and a second system that determined to register the conversion, where the impression data is Blind-signed combined conversion data may be included, including blinded impression data generated by blinding and conversion data signed by a second system. Generating the group key may include generating the group key using a combination of the blind-signed combined conversion data and the network address of the reporting system where the digital component conversion data is reported. can. Using a combination of such blind signed data and threshold encryption techniques prevents fraud and protects user privacy. The blind-signed combined conversion data may be encrypted using the reporting system's public key. Data associated with an application may include a unique identifier for the application. Threshold encryption schemes may include polynomial-based threshold encryption schemes. An application running on each client device generates a polynomial function as a group key based on a seed containing at least impression data, and selecting the same point on the polynomial function to have a value corresponding to the secret. and selecting a second point on the polynomial function that is different from the same point using data associated with the application as the respective group member key. Decrypting the impression data using the group member key in the received measurement data includes generating a polynomial function using the second points and identifying the same points on the generated polynomial function. and Threshold encryption schemes can include either Chinese Remainder Theorem-based schemes, proactive secret sharing, or verifiable secret sharing.
本明細書に記載されている主題は、以下の利点のうちの1つまたは複数を実現するように、特定の実施形態において実装することができる。本明細書で説明されている(t、n)-しきい値暗号化スキームなどのしきい値暗号化技法は、ネットワークデータ(たとえば、インプレッションおよび/またはコンバージョンデータ)またはその一部または派生物を、次に、測定対象のネットワークデータを報告する複数のクライアントデバイスの複数のアプリケーション(たとえば、ウェブブラウザまたはネイティブアプリケーション)間で分割されるグループ鍵を生成するためのシードとして使用することができる。これにより、異なるクライアントデバイスで実行されているアプリケーションの各々は、アプリケーション(または、クライアントデバイス)間のコラボレーション、および中央システムが各アプリケーションに鍵を配信する必要なしに、同じネットワークデータを使用してネットワークデータを暗号化する同じグループ鍵を生成することができる。代わりに、ネットワークイベント(たとえば、インプレッションおよび関連付けられるコンバージョン)が発生する各アプリケーションは、ネットワークデータを暗号化するグループ鍵を生成するために、たとえばデジタルコンポーネントおよび/またはリモートサーバから受信したネットワークデータを使用することができる。 The subject matter described herein can be implemented in particular embodiments to achieve one or more of the following advantages. Threshold encryption techniques, such as the (t,n)-threshold encryption schemes described herein, encrypt network data (e.g., impression and/or conversion data) or portions or derivatives thereof. , which can then be used as a seed for generating group keys that are divided among multiple applications (eg, web browsers or native applications) on multiple client devices that report network data to be measured. This allows applications running on different client devices to each use the same network data without collaboration between applications (or client devices) and the need for a central system to distribute keys to each application. The same group key that encrypts data can be generated. Instead, each application in which network events (e.g. impressions and associated conversions) occur uses network data received e.g. from digital components and/or remote servers to generate a group key that encrypts the network data. can do.
各アプリケーションは、グループメンバー鍵を生成するために異なる情報を使用することができ、グループメンバー鍵は、十分な数の他のグループメンバー鍵と組み合わせると、グループ鍵またはグループ鍵の別の表現を再生成するために使用することができる。たとえば、各アプリケーションは、グループメンバー鍵を生成するためにアプリケーションの一意の識別子を使用し、各アプリケーションがアプリケーション間のコラボレーションなしで他の各アプリケーションとは異なるグループメンバー鍵を生成できるようにすることができる。各アプリケーションによるこの異なるグループメンバー鍵の生成により、合計で少なくともしきい値「t」のグループメンバー鍵の数のグループメンバー鍵の任意の組合せが受信されたときに、グループ鍵を再生成することができる。したがって、ネットワークデータは、少なくともt個のグループメンバー鍵が受信されたときに復号化することができるが、t個未満のグループメンバー鍵が受信された場合は復号化することができない。アプリケーション間のコラボレーションなしにアプリケーション間でそのようなシークレット共有を有効にすることにより、ユーザのデバイス間の通信を排除することによってユーザのプライバシを保護し、そのような通信によって消費される帯域幅を削減し、単一の秘密鍵が各アプリケーションに単に渡された場合に発生する可能性のある測定不正を防ぐ。 Each application can use different information to generate a group member key, which when combined with a sufficient number of other group member keys regenerates the group key or another representation of the group key. can be used to create For example, each application may use the application's unique identifier to generate group member keys, allowing each application to generate a group member key that is different from each other application without collaboration between the applications. can. This different group member key generation by each application allows the group key to be regenerated when any combination of group member keys totaling at least a threshold 't' number of group member keys is received. can. Thus, network data can be decrypted when at least t group member keys are received, but cannot be decrypted if less than t group member keys are received. By enabling such secret sharing between applications without collaboration between applications, it protects user privacy by eliminating communication between users' devices and reduces the bandwidth consumed by such communication. reduce and prevent measurement fraud that could occur if a single private key were simply passed to each application.
前述の主題の様々な特徴および利点が、図面に関して以下に説明される。追加の特徴および利点は、本明細書に記載の主題および特許請求の範囲から明らかである。 Various features and advantages of the aforementioned subject matter are described below with respect to the drawings. Additional features and advantages are apparent from the subject matter described herein and from the claims.
様々な図面における同様の参照番号および名称は、同様の要素を示している。 Like reference numbers and designations in the various drawings indicate like elements.
一般に、本明細書は、集約されたネットワーク測定値を決定する際の不正を防止するための暗号化技法について説明する。たとえば、本明細書で説明されている技法を使用すると、デジタルコンポーネントの集約されたインプレッション測定値とコンバージョン測定値を決定する際の不正行為を防ぐことができる。本明細書で説明されている暗号化技法は、たとえば、他のエンティティがユーザのクライアントデバイスから受信したユーザデータを追跡または集約できないようにすることによって、ユーザのプライバシを保護することもできる。 In general, this specification describes cryptographic techniques for preventing fraud in determining aggregated network measurements. For example, the techniques described herein can be used to prevent fraud in determining aggregated impression and conversion metrics for digital components. The encryption techniques described herein may also protect user privacy, for example, by preventing other entities from tracking or aggregating user data received from the user's client device.
図1は、デジタルコンポーネント配信システム150がデジタルコンポーネントを配信する環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せなどのデータ通信ネットワーク105を含む。ネットワーク105は、クライアントデバイス110、発行者130、ウェブサイト140、デジタルコンポーネント配信システム150、不正検出システム170、集約システム180、および報告システム190を接続する。例示的な環境100は、多くの異なるクライアントデバイス110、発行者130、およびウェブサイト140を含み得る。いくつかの実装形態では、環境100はまた、複数のデジタルコンポーネント配信システム150を含むことができる。
FIG. 1 is a block diagram of an
ウェブサイト140は、ドメイン名に関連付けられ、1つまたは複数のサーバによってホストされる1つまたは複数のリソース145である。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を含むことができるHTML形式のウェブページのコレクションである。各ウェブサイト140は、ウェブサイト140を制御、管理、および/または所有するエンティティである発行者130によって維持されている。
A
リソース145は、ネットワーク105を介して提供することができる任意のデータである。リソース145は、リソース145に関連付けられるリソースアドレス、たとえば、ユニバーサルリソースロケータ(URL)によって識別される。リソースは、ほんの数例を挙げると、HTMLページ、ワープロ文書、およびポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、ならびにフィードソースなどを含む。リソースは、埋込み情報(ハイパーリンクにおけるメタ情報など)ならびに/または埋込み命令(スクリプトなど)を含み得る、単語、語句、画像、および音声などのコンテンツを含むことができる。
クライアントデバイス110は、ネットワーク105を介して通信することができる電子デバイスである。例示的なクライアントデバイス110は、パーソナルコンピュータ、モバイル通信デバイス、たとえば、スマートフォン、およびネットワーク105を介してデータを送受信することができる他のデバイスを含む。
クライアントデバイス110は、典型的には、ネットワーク105を介したデータの送受信を容易にするために、ウェブブラウザおよび/またはネイティブアプリケーションなどのアプリケーション112を含む。ネイティブアプリケーションは、特定のプラットフォームまたは特定のデバイス用に開発されたアプリケーションである。発行者130は、クライアントデバイス110に、ネイティブアプリケーションを開発および提供し、たとえば、ダウンロードできるようにすることができる。いくつかの実装形態では、クライアントデバイス110は、デジタルメディアデバイス、たとえば、ビデオをテレビにストリーミングするために、テレビまたは他のディスプレイにプラグインするストリーミングデバイスである。デジタルメディアデバイスはまた、ビデオをストリーミングし、および/またはリソースを提示するウェブブラウザおよび/または他のアプリケーションを含むことができる。
ウェブブラウザは、たとえば、クライアントデバイス110のユーザがウェブブラウザのアドレスバーにリソース145のリソースアドレスを入力すること、またはリソースアドレスを参照するリンクを選択することに応答して、発行者130のウェブサイト140をホストするウェブサーバからリソース145を要求することができる。同様に、ネイティブアプリケーションは、発行者130のリモートサーバからアプリケーションコンテンツを要求することができる。
The web browser, for example, in response to the user of the
いくつかのリソース145、アプリケーションページ、または他のアプリケーションコンテンツは、リソース145またはアプリケーションページでデジタルコンポーネントを提示するためのデジタルコンポーネントスロットを含むことができる。本明細書全体で使用されているように、「デジタルコンポーネント」という語句は、デジタルコンテンツまたはデジタル情報の個別の単位(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または別のコンテンツの単位)を指す。デジタルコンポーネントは、単一のファイルまたはファイルのコレクションとして物理メモリデバイスに電子的に記憶することができ、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形式を取り、広告がデジタルコンポーネントの一種であるように、広告情報を含むことができる。たとえば、デジタルコンポーネントは、アプリケーション112によって提示されるウェブページまたは他のリソースのコンテンツを補足することを意図したコンテンツであり得る。より具体的には、デジタルコンポーネントは、リソースコンテンツに関連するデジタルコンテンツを含み得る(たとえば、デジタルコンポーネントは、ウェブページコンテンツと同じトピック、または関連するトピックに関連し得る)。したがって、デジタルコンポーネント配信システム150によるデジタルコンポーネントの提供は、ウェブページまたはアプリケーションコンテンツを補足し、一般に強化することができる。
Some
アプリケーション112が、1つまたは複数のデジタルコンポーネントスロットを含むリソース145(または、アプリケーションコンテンツ)をロードするとき、アプリケーション112は、デジタルコンポーネント配信システム150に各スロットのデジタルコンポーネントを要求することができる。次に、デジタルコンポーネント配信システム150は、デジタルコンポーネントプロバイダ160にデジタルコンポーネントを要求することができる。デジタルコンポーネントプロバイダ160は、リソース145を提示するためのデジタルコンポーネントを提供するエンティティである。
When an
場合によっては、デジタルコンポーネント配信システム150は、1つまたは複数のデジタルコンポーネントパートナ157にデジタルコンポーネントを要求することもできる。デジタルコンポーネントパートナ157は、デジタルコンポーネント要求に応答してデジタルコンポーネントプロバイダ160に代わってデジタルコンポーネントを選択するエンティティである。
In some cases, digital
デジタルコンポーネント配信システム150は、様々な基準に基づいて、各デジタルコンポーネントスロットのデジタルコンポーネントを選択することができる。たとえば、デジタルコンポーネント配信システム150は、デジタルコンポーネントプロバイダ160および/またはデジタルコンポーネントパートナ157から受信したデジタルコンポーネントから、リソース145(または、アプリケーションコンテンツ)との関連性、デジタルコンポーネントのパフォーマンス(たとえば、ユーザがデジタルコンポーネントと相互作用する速度)などに基づいて、デジタルコンポーネントを選択することができる。次いで、デジタルコンポーネント配信システム150は、リソース145または他のアプリケーションコンテンツとともに提示するために、選択されたデジタルコンポーネントをクライアントデバイス110に提供することができる。
Digital
アプリケーション112がデジタルコンポーネントを提示するとき、アプリケーション112(ブラウザであり得る)は、デジタルコンポーネントの提示のためのインプレッションデータ114を記憶することができる。デジタルコンポーネントの特定の提示のインプレッションデータ114は、デジタルコンポーネントのランディングページ(たとえば、デジタルコンポーネントによってリンクされているページで、ユーザがデジタルコンポーネントをクリックまたは相互作用すると、アプリケーション/ブラウザはそのページをユーザに表示する)のURLまたはドメイン、デジタルコンポーネントの1つまたは複数の識別子、インプレッションに関連付けられるイベントレベルのデータ、インプレッションデータをクライアントデバイス110から削除するタイミングを指定する有効期限、および/あるいはデジタルコンポーネントのコンバージョン報告が送信される報告URLまたはドメインを含むことができる。このデータは、たとえば、デジタルコンポーネントのメタデータまたはデジタルコンポーネントのアンカータグとして、デジタルコンポーネントによって提供することができる。以下でより詳細に説明するように、デジタルコンポーネントの各インプレッションの生のインプレッションデータを記憶するのではなく、または記憶することに加えて、アプリケーション112は、不正検出システム170によってブラインド署名されたインプレッションデータを記憶することができる。
When
アプリケーション112はまた、検出されたコンバージョンに応答してコンバージョンデータ116を記憶することができる。デジタルコンポーネントに対するコンバージョンは、デジタルコンポーネントがユーザに提示された後、またはユーザによって選択された後の、指定されたユーザアクションの完了である。一部のコンバージョンは複数のタイプを有することができるため、コンバージョンのためのコンバージョンデータ116は、コンバージョンのタイプを示すデータを含むことができる。コンバージョンのタイプは、コンバージョンが完了した後の後続のアクションを指定することができる。たとえば、コンバージョンは、オンラインショッピングカートへのアイテムの追加である可能性がある。この例では、第1のタイプのコンバージョンは、チェックアウトせずにアイテムを追加すること(たとえば、購入を完了しない)であり得、第2のタイプのコンバージョンは、チェックアウトを伴うアイテムの追加であり得る。以下でより詳細に説明するように、コンバージョンのためのコンバージョンデータは、コンバージョンのタイプを示す1つまたは複数のビットのセットであり得、アプリケーションは、デジタルコンポーネント配信システム150(または、別の適切なシステム)によってブラインド署名されたコンバージョンデータを記憶することができる。
不正検出システム170は、インプレッションまたはコンバージョンが有効であるか不正であるかを決定するために、クライアントデバイス110から受信した不正信号を評価することができる。不正信号はアプリケーションに依存する可能性があり、実装形態によって異なる可能性がある。アプリケーション112(または、クライアントデバイス110上のオペレーティングシステム)は、不正検出信号を収集し、不正検出信号を不正検出システム170に提供するために、デジタルコンポーネントがアプリケーション112(または、クライアントデバイス110上のオペレーティングシステム)を呼び出すことを可能にするAPIを含むことができる。不正検出信号に加えて、アプリケーション112は、インプレッションのブラインド化されたインプレッションデータを不正検出システム170に送信することができる。不正検出システム170がインプレッションは有効であると決定した場合、不正検出システム170は、ブラインド化されたインプレッションデータに署名し、署名されたブラインド化されたインプレッションデータをアプリケーション112に提供することができる。ブラインド化されたインプレッションデータを生成し、ブラインド化されたインプレッションデータに署名するための例示的な技法を以下に説明する。
集約システム180は、クライアントデバイス110から受信したデータに基づいて、集約されたネットワーク測定値を生成することができる。以下の説明において、測定データ要素を生成および提供するための技法は、ウェブブラウザまたはネイティブアプリケーションであり得るアプリケーション112によって実行されるものとして説明される。しかしながら、いくつかの実装形態では、クライアントデバイス110のオペレーティングシステムは、測定データ要素を生成および送信することができる。そのような実装形態では、クライアントデバイス110上のウェブブラウザおよびアプリケーションは、インプレッションおよびコンバージョンをオペレーティングシステムに報告するように構成することができる。オペレーティングシステムは、アプリケーション112によって実行されるものとして以下に説明されるインプレッションおよびコンバージョンを報告するための動作の各々を実行することができる。
クライアントデバイス110上のアプリケーション112は、ネットワークデータを表す暗号化されたデータを含む測定データ要素を集約システム180に提供することができる。ネットワークデータは、各コンバージョンのインプレッションデータおよび/またはコンバージョンデータを含むことができる。たとえば、アプリケーション112は、コンバージョンデータがクライアントデバイス110に記憶されている各コンバージョンの測定データ要素を生成し、集約システム180に送信することができる。集約されたネットワーク測定値は、1つまたは複数のデジタルコンポーネントの各々について、複数のクライアントデバイス110にわたるデジタルコンポーネントのコンバージョンの総数を含むことができる。
以下でより詳細に説明するように、アプリケーション112は、測定データ要素におけるデータを生成するために、(t、n)しきい値スキームを使用することができる。いくつかの実装形態では、アプリケーション112がコンバージョンを検出するか、またはコンバージョンのためのコンバージョンデータを受信すると、アプリケーション112は、コンバージョンのためのインプレッションデータおよびコンバージョンデータに基づいてグループ鍵(たとえば、多項式関数)を生成する。次いで、アプリケーションは、グループ鍵の一部を表し、同じインプレッションとコンバージョンのペアに対して十分な数のグループメンバー鍵が受信された場合にのみ、グループ鍵を再生成するために使用することができるグループメンバー鍵を生成することができる。この例では、コンバージョンの測定データ要素は、アプリケーションによって生成されたグループメンバー鍵と、インプレッションとコンバージョンのペアに対応するタグを含むことができる。各固有のインプレッションとコンバージョンのペアは、対応する固有のタグを有することができるので、集約システム180は、そのタグを使用して、各インプレッションとコンバージョンのペアの測定データ要素を集約することができる。
As described in more detail below,
(t、n)しきい値暗号化スキームでは、集約システム180は、インプレッションデータおよびコンバージョンデータを復号化できるようにするために、同じインプレッションとコンバージョンのペアについて少なくともt個のグループメンバー鍵を受信する必要がある。t個未満のグループメンバー鍵が受信された場合、集約システム180は、インプレッションデータおよびコンバージョンデータを復号化することができない。以下でより詳細に説明するように、同じインプレッションとコンバージョンのペアの少なくともt個の測定データ要素がクライアントデバイス110から受信されると、集約システム180は、少なくともt個のグループメンバー鍵からグループ鍵を決定し、グループ鍵からインプレッションデータおよびコンバージョンデータを取得することができる。
In a (t, n) threshold encryption scheme, the
集約システム180は、インプレッションとコンバージョンのペアのインプレッションデータとコンバージョンデータを含む受信された測定データ要素の数に基づいて、インプレッションとコンバージョンのペアのコンバージョンの量を決定することができる。たとえば、少なくともt個のグループメンバー鍵を使用してインプレッションデータおよびコンバージョンデータを取得した後、集約システム180は、コンバージョンの量として、インプレッションとコンバージョンのペアに対して受信されたグループメンバー鍵の数のカウントを決定することができる。集約システム180は、インプレッションデータ、コンバージョンデータ、およびコンバージョンの量を報告システム190に報告することができ、報告システム190は、デジタルコンポーネントの報告URLに対応する報告ドメインとして実装され得、このURLは、インプレッションデータおよびコンバージョンデータに対応する。
図2は、署名されたインプレッションデータを記録するための例示的なプロセス200を示す流れ図である。プロセス200は、たとえば、ウェブサイト140、デジタルコンポーネント配信システム150、および不正検出システム170と相互作用するクライアントデバイス110によって実装することができる。プロセス200の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス200の動作を実行させることができる。
FIG. 2 is a flow diagram illustrating an exemplary process 200 for recording signed impression data. Process 200 may be implemented by
クライアントデバイスはコンテンツをフェッチする(202)。クライアントデバイス110上で実行されるアプリケーション112は、リモートサーバ、たとえば、1つまたは複数のウェブサイト140をホストするウェブサーバ、あるいは1つまたは複数のネイティブアプリケーションのコンテンツをホストするアプリケーションコンテンツサーバからコンテンツを要求することができる。この例では、アプリケーション112は、ウェブサイト140からリソース145を要求する。ユーザは、リモートサーバによってホストされるウェブサイト140を指すURLを入力または選択することができる。アプリケーション112、たとえば、ウェブブラウザは、URLによって識別されるリソース145に対する要求を生成し、その要求をリモートサーバに送信することができる。要求は、リソース145のURLを含むことができる。
A client device fetches content (202). An
ウェブサイト140は、コンテンツをクライアントデバイスに返す(204)。コンテンツは、URLによって識別されるウェブページまたは他のリソース145である可能性がある。アプリケーション112は、クライアントデバイスのディスプレイ上にコンテンツをレンダリングすることができる(206)。
コンテンツは、1つまたは複数のデジタルコンポーネントスロットを含むことができる。デジタルコンポーネントスロットは、デジタルコンポーネント配信システム150から受信したデジタルコンポーネントによって埋めることができる。デジタルコンポーネントスロット(または、リソース145)は、アプリケーション112にデジタルコンポーネントのデジタルコンポーネント配信システム150への要求を生成させることができるコンピュータ可読命令を含むことができる。
Content can include one or more digital component slots. Digital component slots can be filled with digital components received from digital
クライアントデバイス110は、1つまたは複数のデジタルコンポーネントを要求する(208)。たとえば、アプリケーション112は、デジタルコンポーネントスロットまたはリソース145のコンピュータ可読命令の実行に応答して要求を生成することができる。アプリケーション112は、要求をデジタルコンポーネント配信システム150に送信することができる。
デジタルコンポーネント配信システム150は、1つまたは複数のデジタルコンポーネントをクライアントデバイスに返す(210)。上記のように、デジタルコンポーネント配信システム150は、デジタルコンポーネントのセットから、デジタルコンポーネントが提示されるリソース145(または、アプリケーションコンテンツ)との関連性(たとえば、このデータを要求に含めることができる)、デジタルコンポーネントのパフォーマンス、および/または他の適切な基準などの様々な基準に基づいて、デジタルコンポーネントを選択することができる。デジタルコンポーネント配信システム150は、デジタルコンポーネントのセットに含めるために、デジタルコンポーネントプロバイダ160および/またはデジタルコンポーネントパートナ157に、デジタルコンポーネント(または、デジタルコンポーネントの配信基準)を要求することができる。デジタルコンポーネントを選択した後、デジタルコンポーネント配信システム150は、デジタルコンポーネントをクライアントデバイス110に送信することができる。
Digital
クライアントデバイス110は、デジタルコンポーネント配信システム150から受信したデジタルコンポーネントをレンダリングする(212)。アプリケーション112は、リソース145(または、アプリケーションコンテンツ)のデジタルコンポーネントスロット内のデジタルコンポーネントをレンダリングすることができる。デジタルコンポーネントのレンダリングが図2に示されているが、コンテンツがレンダリングされた後に発生すると、アプリケーション112は、たとえば、デジタルコンポーネントスロットにデジタルコンポーネントを含むウェブページをロードすることによって、コンテンツとデジタルコンポーネントを同時にレンダリングすることができる。
クライアントデバイス110は、コンテンツとともに提示されるデジタルコンポーネントごとのインプレッションデータを記憶する(214)。上記のように、デジタルコンポーネントの特定の提示のインプレッションデータは、デジタルコンポーネントのランディングページ(たとえば、デジタルコンポーネントによってリンクされているページ)のURLまたはドメイン、デジタルコンポーネントの1つまたは複数の識別子、インプレッションデータをクライアントデバイス110から削除するタイミングを指定する有効期限、および/あるいはデジタルコンポーネントのコンバージョン報告が送信される報告URLまたはドメイン(たとえば、報告システム190の報告URL)を含むことができる。
The
いくつかの実装形態では、アプリケーション112は、クライアントデバイス110(または、上記のオペレーティングシステム)に、コンテンツとともに提示される各デジタルコンポーネントを登録する。たとえば、デジタルコンポーネントをレンダリングすることにより、デジタルコンポーネントをクライアントデバイス110に登録することができる。デジタルコンポーネントは、ペイロード(たとえば、目に見えないデータ)およびコンピュータ可読命令を含むことができる。ペイロードは、上記のインプレッションデータを含むことができる。コンピュータ可読命令は、デジタルコンポーネントをアプリケーション112に登録させることができる。たとえば、デジタルコンポーネントは、アプリケーション112、あるいはアプリケーション112またはクライアントデバイス110のコンバージョンエンジンによってデジタルコンポーネントに公開されたAPIへの呼出しを含むことができる。APIへの呼出しは、デジタルコンポーネントのペイロードを含むことができる。アプリケーション112は、データを登録テーブルに記憶することができる。
In some implementations,
アプリケーション112は、コンテンツとともに提示されるデジタルコンポーネントごとのインプレッションデータをブラインド化する(216)。アプリケーション112は、デジタルコンポーネントのインプレッションデータをブラインド化するためにブラインド技法を使用することができる。一般に、ブラインド化技法は、実際のインプレッションデータを隠すブラインド化されたインプレッションデータを生成するためにインプレッションデータにブラインド係数を適用して、ブラインド化されたインプレッションデータを受信するエンティティが、ブラインド技法、およびブラインド化されたインプレッションデータの生成に使用されるパラメータ/鍵の知識がない場合、実際のインプレッションデータを決定できないようにすることができる。いくつかの実装形態では、アプリケーション112は、デジタルコンポーネントのインプレッションデータをブラインド化するために、インターネット技術特別調査委員会(IETF)ドラフト標準プロトコルである検証可能、忘却擬似ランダム関数(VOPRF)プロトコルを使用して、デジタルコンポーネントのインプレッションデータをブラインド化する。他の適切なブラインド署名技法も使用することができる。
クライアントデバイス110またはアプリケーション112は、不正検出信号を収集する(218)。上記のように、アプリケーション112は、デジタルコンポーネントが、不正検出信号を収集するためにアプリケーション112を呼び出し、不正検出信号を不正検出システム170に提供することを可能にするAPIを含むことができる。
アプリケーション112は、コンテンツおよび不正検出信号とともに提示されたデジタルコンポーネントごとにブラインド化されたインプレッションデータを不正検出システム170に送信する(220)。たとえば、アプリケーション112は、不正検出システム170に、およびデジタルコンポーネントごとに、デジタルコンポーネントのインプレッションが有効であるか不正であるかを決定するための要求を送信することができる。各要求は、所与のデジタルコンポーネントに固有のものにすることもでき、コンテンツとともに提示されるすべてのデジタルコンポーネントに対して単一の要求を送信することもできる。
要求は、ブラインド化されたインプレッションデータと不正検出信号を含むことができる。インプレッションデータがブラインド化されているので、不正検出システム170は実際のインプレッションデータにアクセスすることができない。これは、不正検出システム170が、ブラインド化されたインプレッションデータを送信したクライアントデバイス110のユーザのユーザデータを取得、収集、または追跡することを防止する。不正検出システム170は、デジタルコンポーネントのインプレッションが有効であるか不正であるかを決定するために、不正検出信号を評価することができる。したがって、不正検出システム170は、不正検出信号に基づいて、インプレッションイベントが有効であるかどうかを決定することができるが、イベントのコンテンツを決定することも、プレーンテキストインプレッションデータにアクセスすることもできない。
The request can include blinded impression data and fraud detection signals. Because the impression data is blinded, the
不正検出システム170が、デジタルコンポーネントのインプレッションが無効である(たとえば、不正である)と決定した場合、不正検出システム170は、要求を無視するか、またはインプレッションが無効であることを示すデータで要求に応答することができる。不正検出システム170が、デジタルコンポーネントのインプレッションが有効であると決定した場合、不正検出システム170は、デジタルコンポーネントのインプレッションデータにブラインド署名する(222)。不正検出システム170は、ブラインド署名技法を使用して、ブラインド化されたインプレッションデータにブラインド署名することができる。いくつかの実装形態では、ブラインド署名技法は、CloudFlare(商標)のPrivacyPass、またはGoogle Chrome(商標)ブラウザの信頼トークンであってよく、それらのどちらもIETF VOPRFドラフト標準に基づいている。
If the
一般に、ブラインド署名技法は、実際のインプレッションデータを知らなくても、たとえばシークレットのブラインド署名鍵を使用して、ブラインド化されたデータのデジタル署名を可能にするため、結果として生じるブラインド署名を元のブラインド化されていないインプレッションデータに対して検証することができる。いくつかの実装形態では、不正検出システム170は、不正検出システム170のブラインド化された署名鍵を使用して、VOPRFプロトコルを使用してブラインド化されたインプレッションデータにブラインド署名する。不正検出システム170は、他のエンティティがブラインド署名鍵にアクセスできないように、このブラインド署名鍵を秘密裏に維持することができる。
In general, blind signature techniques allow the digital signature of data that has been blinded, e.g., using a secret blind signature key, without knowledge of the actual impression data, so that the resulting blind signature is the original Can be validated against unblinded impression data. In some implementations, the
不正検出システム170は、ブラインド署名されたインプレッションデータをクライアントデバイスに送信する(224)。たとえば、不正検出システム170は、クライアントデバイス110またはアプリケーション112によって開始された要求に応答して、ブラインド署名されたインプレッションデータをクライアントデバイス110またはアプリケーション112に送信することができる。アプリケーション112は、たとえば、VOPRFプロトコルを使用して、ブラインド化されたインプレッションデータの署名を検証することができる(226)。同様に、アプリケーション112は、ブラインド署名されたインプレッションデータのブラインドを解除することができる(228)。アプリケーション112はまた、ブラインド化されたインプレッションデータにブラインド署名するために使用されたVOPRFプロトコルを使用して、ブラインド署名されたインプレッションデータのブラインドを解除することができる。アプリケーション112は、たとえば、署名されたインプレッションデータをクライアントデバイス110に記憶し、インプレッションをクライアントデバイス110における登録テーブルに登録することによって、署名されたインプレッションデータを記録する(230)。
図3は、コンバージョンデータを記録するための例示的なプロセス300を示す流れ図である。プロセス300は、たとえば、ウェブサイト140およびデジタルコンポーネント配信システム150と相互作用するクライアントデバイス110によって実装することができる。プロセス300の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス300の動作を実行させることができる。
FIG. 3 is a flow diagram illustrating an exemplary process 300 for recording conversion data. Process 300 can be implemented, for example, by
クライアントデバイス110は、コンテンツをフェッチする(302)。たとえば、クライアントデバイス110上で実行されるアプリケーション112(たとえば、ウェブブラウザまたはネイティブアプリケーション)は、デジタルコンポーネントと相互作用する、たとえば、選択またはクリックするユーザに応答して、デジタルコンポーネントによってリンクされたランディングページを要求することができる。アプリケーション112は、ランディングページを含むウェブサイト140をホストするウェブサーバに要求を送信することができる。
The
ウェブサイト140は、コンテンツをクライアントデバイスに返す(304)。コンテンツは、URLによって識別されるウェブページまたは他のリソース145である可能性がある。アプリケーション112は、クライアントデバイスのディスプレイ上にコンテンツをレンダリングすることができる。コンバージョンに必要なユーザインタラクションの量と性質は、個々のデジタルコンポーネントプロバイダによってニーズに基づいて定義される。コンバージョンが実際に発生すると、ランディングページまたはランディングページを所有するウェブサイトは、アプリケーション(ブラウザ)にコンバージョンの発生を通知する。他の実装形態では、コンバージョンは、モバイルアプリの場合はアプリストアで、ユーザがプロモートされたアプリをダウンロードしてインストールするウェブアプリの場合はウェブストアで発生する可能性がある。これは通常、クリックツーインストールコンバージョンと呼ばれる。そのような場合、アプリストアまたはウェブストアは、コンバージョンデータを報告するオペレーティングシステム、ブラウザ、またはアプリケーションに、コンバージョンの発生を通知する可能性がある。しかし、他の実装形態では、コンバージョンは、ユーザによるデジタルコンポーネントプロバイダへの電話である可能性がある。スマートフォンのオペレーティングシステムは電話を認識し、コンバージョンを測定することができる(一般に、クリックツーコールコンバージョンと呼ばれる)。
クライアントデバイス110は、コンバージョンデータをフェッチするか、さもなければ受信する(306)。いくつかの実装形態では、コンテンツはコンバージョンピクセルを含む。コンバージョンピクセルは、コンバージョン報告を生成する必要があるかどうか、たとえば、コンバージョンが発生したかどうか、コンバージョンを記録するかどうかを決定するシステムへのURLを含むことができる。この例では、コンバージョン報告を生成する必要があるかどうかを決定するシステムは、デジタルコンポーネント配信システム150である。
コンバージョンピクセルは、アプリケーション112に、データをデジタルコンポーネント配信システム150に送信させることができる。たとえば、コンバージョンピクセルは、コンテンツ(たとえば、ランディングページ)がクライアントデバイス110の登録テーブルに登録されているかどうかをアプリケーション112に決定させるコンピュータ可読命令を含むことができる。上記のように、アプリケーション112は、登録テーブルに、アプリケーション112によって提示されたデジタルコンポーネントのインプレッションデータを記録することができる。デジタルコンポーネントのインプレッションデータは、デジタルコンポーネントのランディングページのURLまたはドメインを含むことができる。アプリケーション112は、登録テーブルを検索して、ユーザがデジタルコンポーネントと相互作用することに応答して受信したコンテンツとして提示されたランディングページのURLを探すことができる。クリックツーインストールコンバージョンの場合、ランディングページのURLは、アプリストア/ウェブストアにリストされているアプリを指すディープリンクURLになる。クリックツーコールコンバージョン場合、URLはデジタルコンポーネントプロバイダの電話番号を符号化する。
Conversion pixels can cause
アプリケーション112が登録テーブル内のランディングページのURLを見つけると、クライアントデバイス110は、デジタルコンポーネント配信システム150(または、コンバージョン報告をいつトリガするかを決定する他のシステム)に、ランディングページのURLと一致するURLを含むデジタルコンポーネントのブラインド署名されたインプレッションデータを送信することができる。上記のように、ブラインド署名されたインプレッションデータは、ブラインド化されたインプレッションデータとブラインド化されたインプレッションデータのブラインド署名を含む。いくつかの実装形態では、アプリケーション112は、コンバージョンピクセルの要求のメッセージヘッダにブラインド署名されたインプレッションデータを含むことができる。
Once the
デジタルコンポーネント配信システム150は、コンバージョン報告をトリガするかどうかを決定する(308)。デジタルコンポーネント配信システム150は、ブラインド署名されたインプレッションデータの受信、およびコンテンツ、たとえば、ランディングページとのユーザの相互作用に基づいて、コンバージョン報告をトリガするかどうかを決定することができる。たとえば、ユーザによって相互作用されるデジタルコンポーネントの発行者は、デジタルコンポーネントがクライアントデバイス110に提示された後、たとえば、ランディングページにおいて特定のユーザインターフェースコントロールを選択するなど、コンバージョンイベントを定義することができる。デジタルコンポーネント配信システム150は、コンバージョンイベントが発生したかどうかを決定するために、ランディングページをホストするウェブサーバ(または、クライアントデバイス110)と相互作用することができる。
Digital
コンバージョンイベントが発生した場合、デジタルコンポーネント配信システム150は、デジタルコンポーネントのコンバージョン報告をトリガすることを決定することができる。コンバージョンイベントが検出されない場合、デジタルコンポーネント配信システム150は、デジタルコンポーネントのコンバージョン報告をトリガしないことを決定することができる。
If a conversion event occurs, the digital
デジタルコンポーネント配信システム150がデジタルコンポーネントのコンバージョン報告をトリガすることを決定した場合、デジタルコンポーネント配信システム150は、(i)すでにブラインド署名されたインプレッションデータと(ii)コンバージョンのためのコンバージョンデータとの組合せにブラインド署名する(310)。このコンバージョンデータは、コンバージョンのタイプを示す1つまたは複数のビットのセット、たとえば、コンバージョンが完了した後の後続のアクションである場合がある。たとえば、カートにアイテムを追加するコンバージョンイベントが発生した後にユーザがチェックアウトしたかどうかを指定するために、1ビットを使用することができる。この例では、チェックアウトが発生しなかった場合、ビットの値は0になり得、チェックアウトが発生した場合、ビットの値は1になり得る。他の実装形態では、コンバージョンデータは、コンバージョンの一部としてユーザが費やした/購入した金額を符号化することができる。
If digital
デジタルコンポーネント配信システム150は、コンバージョンが発生したウェブサイト/アプリストア/ウェブストアの所有者に代わって、デジタルコンポーネント配信システム150のシークレットのブラインド署名鍵を使用して、ブラインド署名されたインプレッションデータとコンバージョンデータとの組合せにブラインド署名することができる。簡潔にするために、ブラインド署名されたインプレッションデータとコンバージョンデータのこのブラインド署名された組合せは、ブラインド署名された結合されたコンバージョンデータと呼ばれる。いくつかの実装形態では、コンバージョンデータは、ブラインド署名されたインプレッションデータの隠しビットとして含まれている。たとえば、ブラインド署名されたインプレッションデータはビットのセットの形式であってよく、コンバージョンデータは隠しビットによって指定することができる。デジタルコンポーネント配信システム150は、そのシークレットのブラインド署名鍵を使用して、ビットと隠しビットのこの組合せにブラインド署名することができる。この時点で、ブラインド化されたインプレッションデータは、不正検出サーバ170のブラインド署名鍵、およびデジタルコンポーネント配信システム150のブラインド署名鍵を使用して、二度ブラインド署名される(たとえば、二重署名されたインプレッションデータ)。コンバージョンデータは、デジタルコンポーネント配信システム150のブラインド署名鍵を使用して一度ブラインド署名される。
Digital
いくつかの実装形態では、デジタルコンポーネント配信システム150は、VOPRFプロトコルを使用して、ブラインド署名されたインプレッションデータおよびコンバージョンデータにブラインド署名する。デジタルコンポーネント配信システム150は、他のエンティティがブラインド署名鍵にアクセスできないように、そのブラインド署名鍵を秘密裏に維持することができる。デジタルコンポーネント配信システム150のブラインド署名鍵は、ブラインド化されたインプレッションデータにブラインド署名するために使用された不正検出システム170のブラインド署名鍵とは異なる。
In some implementations, the digital
デジタルコンポーネント配信システム150は、有効なコンバージョンの発生をクライアントデバイス110に通知する。いくつかの実装形態では、デジタルコンポーネント配信システム150は、クライアントデバイス110に、報告ドメインへのリダイレクトを送信する(312)。たとえば、リダイレクトは、報告システム190のドメインへのURLを含むことができる。リダイレクトはまた、ブラインド署名された結合されたコンバージョンデータを含むことができる。
Digital
いくつかの実装形態では、リダイレクトは、アプリケーション112(たとえば、インプレッションおよびコンバージョンを報告するネイティブアプリケーション、ブラウザ、またはオペレーティングシステム)によって検出され得る特定の形式を有する。この特定の形式は、報告ドメインのURLと、ブラインド署名された結合されたコンバージョンデータを含むメタデータとを含むことができる。メタデータは、報告ドメインのURLのクエリパラメータとして指定することができる。 In some implementations, redirects have a particular form that can be detected by applications 112 (eg, native applications, browsers, or operating systems that report impressions and conversions). This particular format may include the URL of the reporting domain and metadata containing the blind-signed combined conversion data. Metadata can be specified as a query parameter in the URL of the reporting domain.
クライアントデバイス110上で実行されているアプリケーション112は、リダイレクトを受信し、リダイレクトの特定の形式を検出する(314)。アプリケーション112は、特定の形式を有するリダイレクトを、コンバージョンを報告するための測定データ要素を生成するための特別な要求として扱うことができる。
有効なコンバージョンの発生が通知されたことに応答して、たとえば、リダイレクトが特定の形式を有することを検出すると、アプリケーション112は、ブラインド署名された結合されたコンバージョンデータの署名を検証する(316)。たとえば、署名されたインプレッションデータとコンバージョンデータの組合せにブラインド署名するためにVOPRFプロトコルが使用された場合、ブラインド署名されたコンバージョンデータの署名を検証するために、VOPRFプロトコルを使用することができる。アプリケーション112は、同様に、コンバージョンデータのブラインドを解除することができる(318)。たとえば、アプリケーション112は、VOPRFプロトコルを使用してコンバージョンデータのブラインドを解除することができる。次いで、アプリケーション112は、たとえば、コンバージョンデータをクライアントデバイス110においてコンバージョン記録として記憶することによって、ブラインド化されていないコンバージョンデータを記録することができる(320)。アプリケーション112はまた、コンバージョン記録に、ブラインド署名された結合されたコンバージョンデータを記憶することができる。
In response to being notified that a valid conversion has occurred, for example, upon detecting that the redirect has a particular form,
いくつかの実装形態では、アプリケーション112は、コンバージョンを報告し、コンバージョンの検出時に測定データ要素を送信するために測定データ要素を生成するのではなく、測定データ要素を送信する前にランダムな遅延を追加し、および/またはバッチにおいて測定データ要素を送信し得る。これにより、時間ベースの攻撃を防ぎ、ユーザのプライバシをさらに保護することができる。たとえば、報告を遅らせることによって、エンティティは、報告を傍受して、発生したばかりであることが知られているコンバージョンイベントに報告を関連付けることができなくなる。
In some implementations, rather than generating a measurement data element to report a conversion and transmit the measurement data element upon detection of a conversion, the
図4は、測定データ要素を生成し、測定データ要素を集約システムに提供するための例示的なプロセス400を示す流れ図である。プロセス400は、たとえば、不正検出システム170およびデジタルコンポーネント配信システム150と相互作用するクライアントデバイス110および集約システム180によって実装することができる。プロセス400の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス400の動作を実行させることができる。
FIG. 4 is a flow diagram illustrating an
クライアントデバイス110は、コンバージョン記録を取得する(402)。上記のように、コンバージョン記録は、検出されたコンバージョンについて、ブラインド署名された結合されたコンバージョンデータを含むことができる。クライアントデバイス110上で実行されるアプリケーション112は、たとえば、コンバージョンを報告するためにランダムに選択された遅延が満了したとの決定に応答して、またはコンバージョンデータのバッチを送信するとの決定に応答して、コンバージョン記録を取得することができる。
The
クライアントデバイス110は、コンバージョン記録の少なくとも一部を暗号化する(404)。たとえば、アプリケーション112は、ブラインド署名された結合されたコンバージョンデータを暗号化することができる。いくつかの実装形態では、アプリケーション112は、しきい値暗号化を使用して、たとえば、(t、n)-しきい値暗号化スキームを使用して、ブラインド署名された結合されたコンバージョンデータを暗号化する。しきい値暗号化を使用することによって、受信者が同じインプレッションとコンバージョンのペアについて少なくともt個の測定データ要素を、たとえば少なくともt個のアプリケーション(たとえば、ウェブブラウザまたはネイティブアプリケーションまたはデバイス)から受信しない限り、暗号化されたデータを復号化できない。
The
いくつかのしきい値暗号化技法では、ディーラは、この例ではアプリケーション112の各インスタンスとなる各プレーヤに、シークレットまたは鍵の共有を提供する。各クライアントデバイス110の各アプリケーション112にシークレットの共有を提供するのではなく、アプリケーション112の各インスタンスは、データを暗号化するグループ鍵を生成するように構成される。各アプリケーション112が同じグループ鍵を生成するために、各アプリケーション112は、同じシードを使用してグループ鍵を生成することができる。このシードは、インプレッションデータおよび/またはコンバージョンデータであってもよく、あるいはインプレッションデータおよび/またはコンバージョンデータに基づくこともできる。所与のインプレッションとコンバージョンのペアについてブラインド署名された結合されたコンバージョンデータは、同じエンティティ(たとえば、不正検出システム170およびデジタルコンポーネント配信システム150)が同じプロトコルおよびシークレット鍵を使用してアプリケーションの各インスタンスのデータにブラインド署名すると仮定すると、同じになり、また、アプリケーション112の各インスタンスは、同じプロトコルを使用してデータをブラインド化する。
In some threshold encryption techniques, the dealer provides each player, which in this example is each instance of
一例では、シードは、ブラインド署名された結合されたコンバージョンデータ、またはブラインド署名された結合されたコンバージョンデータと、報告URLまたは報告システム190などの追加データとの組合せであり得る。別の例では、シードは、報告システム190の公開鍵を使用してブラインド署名された結合されたコンバージョンデータを暗号化することによって生成することができ、グループ鍵が再生成された後でも、報告システム190のみがインプレッションデータおよびコンバージョンデータを復号化することができる。たとえば、シードは、暗号化されたブラインド署名された結合されたコンバージョンデータと、報告システム190の公開鍵を使用して暗号化された報告システム190の報告URLの組合せであり得る。
In one example, the seed may be blind-signed combined conversion data or a combination of blind-signed combined conversion data and additional data such as a reporting URL or
インプレッションデータおよびコンバージョンデータを暗号化するために、異なるタイプの(t、n)しきい値暗号化スキームを使用することができる。たとえば、シークレットの共有(たとえば、インプレッションデータおよびコンバージョンデータ)を配信し、少なくともt個の共有が受信されたときにシークレットを回復するために、多項式または平面を使用する(t、n)-しきい値暗号化スキームを使用することができる。特定の例では、しきい値暗号化スキームは、グループ鍵が平面を備え、測定データが、各平面が交差する点にある平面ベースの暗号化スキーム、たとえばBlakleyのスキームであり得る。他の例では、しきい値暗号化スキームは、中国の剰余定理、プロアクティブなシークレット共有、検証可能なシークレット共有(VSS)、または他の適切なしきい値暗号化技法を使用することができる。 Different types of (t, n) threshold encryption schemes can be used to encrypt impression and conversion data. For example, use a polynomial or plane (t, n)-threshold to distribute secret shares (e.g., impression and conversion data) and recover secrets when at least t shares are received. Value encryption schemes can be used. In a particular example, the threshold encryption scheme may be a plane-based encryption scheme in which the group key comprises planes and the measured data is at the intersection of each plane, eg, Blakley's scheme. In other examples, the threshold encryption scheme may use the Chinese remainder theorem, proactive secret sharing, verifiable secret sharing (VSS), or other suitable threshold encryption techniques.
例示的な多項式手法では、アプリケーション112がコンバージョン報告にアクセスするとき、アプリケーション112は、上記のシードを使用して、グループ識別子(たとえば、タグ)およびシード値を生成することができる。たとえば、アプリケーション112は、グループ識別子を生成するために、第1の鍵導出関数(たとえば、一方向暗号化ハッシュ関数)およびシードを使用することができる。このグループ識別子は、インプレッションとコンバージョンのペアを一意に識別する乱数にすることができる。このインプレッションとコンバージョンのペアを報告する各アプリケーション112は、同じ鍵導出関数と同じシードを使用するため、グループ識別子は、インプレッションとコンバージョンのペアを報告する各アプリケーション112で同じになる。以下で説明するように、グループ識別子は、データを集約し、コンバージョンの量を決定するために使用される。
In an exemplary polynomial approach, when
アプリケーション112は、擬似乱数発生器の初期値を生成するために、第2の鍵導出関数(たとえば、一方向暗号化ハッシュ関数)およびシードを使用することができる。次いで、アプリケーション112は、次数t-1の多項式関数の係数を生成するために、初期化された擬似乱数発生器を使用することができる。この例では、多項式関数がグループ鍵として機能する。多項式関数は、A0+A1X1+A2X2+、…AtXtの形式にすることができ、tは最小値、たとえば、しきい値、データの復号化に必要なグループメンバー鍵の数、XiはXのI乗の結果であり、Aiは生成された係数である。
アプリケーション112の各インスタンスは、シークレットの多項式関数上の特定の点を選択するように構成することができる。たとえば、アプリケーション112の各インスタンスは、シークレットの多項式関数上の異なる点を選択するように構成することができる。特定の例では、この点はX=0にあり、シークレットはX=0のY値、つまりA0の値になる。他の点も使用することができる。一実装形態では、アプリケーション112は、インプレッション時にランダムなノンスを選択し、不正検出システム170に、ブラインド署名するか、公開鍵署名を使用して公開検証可能性のためにノンスに署名するように要求し、次いで、署名されたノンスを点のX値として使用することができる。集約システム180は、X値が不正検出システム170によって適切に署名されていないすべての点を無視する。
Each instance of
アプリケーション112は、集約システム180に報告するためのシークレットの共有として多項式関数上の点を選択することができる。シークレットのこの共有は、グループメンバー鍵である。アプリケーション112の各インスタンスが、t個のグループメンバー鍵からシークレットを決定できるように異なる点を選択できるようにするために、アプリケーション112の各インスタンスは、アプリケーション112のインスタンス、またはアプリケーション112のインスタンスが実行されているクライアントデバイス110に関連するデータを使用してその点を選択するように構成することができる。たとえば、アプリケーション112は、アプリケーション112のインスタンスを一意に識別する一意のアプリケーション識別子またはクライアントデバイス110を一意に識別する一意のデバイス識別子を使用して、多項式関数上のその点を選択することができる。特定の例では、アプリケーション112は、第3の鍵導出関数(たとえば、一方向暗号化ハッシュ関数)、一意のアプリケーション識別子または一意のデバイス識別子、および多項式関数上の点を選択するためのシードを使用することができる。任意で、アプリケーション112は、インプレッションおよび/またはコンバージョンが本物であることの検証時に、選択された点のX座標に署名するように(コンバージョンが行われるデジタルコンポーネントプロバイダに代わって)不正検出システム170またはデジタルコンポーネント配信システムを要求することができ、次いで、シークレットの共有を計算するために、署名されたX座標をX座標として選択する。
クライアントデバイス110は、測定データ要素を生成し、測定データ要素を集約システムに送信する(406)。いくつかの実装形態では、測定データ要素は、グループメンバー鍵、(たとえば、アプリケーション112によって選択された多項式上の点の座標)およびグループ識別子(たとえば、タグ)を含む。たとえば、グループ識別子とグループメンバー鍵は、キー/値のペアを表すことができる。
The
集約システム180は、測定データ要素を受信し、測定データ要素のデータベースを更新する(408)。たとえば、集約システム180は、受信した各測定データ要素をデータベースあるいは別のデータ構造またはデータストレージデバイスに記憶することができる。集約システム180はまた、グループ識別子のために受信されたグループメンバー鍵の数を更新することができる。
集約システム180は、暗号化されたテキストを復号化するために十分なデータが受信されたかどうかを決定する(410)。上記のように、グループ鍵を再生成し、インプレッションデータおよびコンバージョンデータを復号化するためには、少なくともt個の個別のグループメンバー鍵を受信する必要がある。集約システム180は、グループ識別子のグループメンバー鍵の数をしきい値tと比較することができる。
グループ識別子を有するt個未満の測定データ要素が受信された場合、集約システム180は、同じグループ識別子を有する追加の測定データ要素を待ち続けることができる。同じグループ識別子を有する少なくともt個の測定データ要素が受信された場合、集約システム180は、グループメンバー鍵をロードする(412)。
If less than t measurement data elements with a group identifier have been received,
次いで、集約システム180は、シークレットを復号化することができる(414)。上記のように、シークレットは、ブラインド署名された結合されたコンバージョンデータ、ブラインド署名された結合されたコンバージョンデータと追加のデータの組合せ(たとえば、報告システム190の報告URL)、または暗号化されたブラインド署名された結合されたコンバージョンデータの組合せ(報告システムの公開鍵を使用する)および報告システム190の報告URLであり得る。シークレットを復号化するために、集約システム180は、グループメンバー鍵を使用してグループ鍵またはグループ鍵の表現を再生成することができる。たとえば、多項式関数手法がシークレットを暗号化するために使用される場合、集約システム180は、グループ識別子を有する少なくともt個の測定データ要素のグループメンバー鍵によって定義される点を使用して多項式関数を再生成することができる。集約システム190は、多項式関数を再生成するために、これらの点の間を補間することができる。次いで、集約システム190は、値がシークレットである特定の点を識別することができる。
集約システム180は、コンバージョンを報告システム190に報告する(416)。集約システム180は、インプレッションデータおよびコンバージョンデータ(まだ暗号化されている可能性がある)およびコンバージョン数を含むデータを生成し、報告システムに送信することができる。集約システム180は、コンバージョンの数として、インプレッションとコンバージョンのペアに対応するグループ識別子を含む測定データ要素において受信された個別のグループメンバー鍵の数を決定することができる。すなわち、コンバージョンの数は、グループ識別子を含む個別の測定データ要素の数である。
報告されたデータにおけるインプレッションデータおよびコンバージョンデータは、ブラインド署名された結合されたコンバージョンデータ、または報告システム190の公開鍵を使用して暗号化されたこのデータであり得る。たとえば、上記のように、シークレットは、ブラインド署名された結合されたコンバージョンデータと、報告システム190の報告URLとの組合せであり得る。集約システム180は、シークレットを取得した後、報告URLにアクセスし、シークレットの残りの情報を、コンバージョンの量とともに報告システム190に送信することができる。
The impression data and conversion data in the reported data can be blind signed combined conversion data or this data encrypted using the
報告システム190は、暗号化された報告データを生成するために使用された公開鍵に対応する秘密鍵を使用して、暗号化されたブラインド署名された結合されたコンバージョンデータ(暗号化されている場合)を復号化する(418)。報告システム190は、任意で、インプレッションデータおよびコンバージョンデータに関連付けられる署名を検証することができる。ブラインド署名にVOPRFを採用するいくつかの実装形態では、署名検証は、報告システム190が、以前にインプレッションデータにブラインド署名した不正検出システム170に連絡することを要求する。
報告システム190は、不正検出システムによって生成されたインプレッションデータの署名を検証する(420)。たとえば、報告システム190は、不正検出システム170によって生成されたブラインド化されたインプレッションデータのブラインド署名を検証する要求とともに、ブラインド署名された結合されたコンバージョンデータを不正検出システム170に送信することができる。不正検出システム170は、署名を検証し、署名が有効であるかどうかを指定するデータで報告システム190に応答することを試みることができる。
The
同様に、報告システム190は、ブラインド化されたインプレッションデータとコンバージョンデータの組合せの署名を検証することができる(422)。たとえば、報告システムは、ブラインド化されたインプレッションデータとデジタルコンポーネント配信システム150によって生成されたコンバージョンデータとの組合せのブラインド署名を検証する要求とともに、ブラインド署名された結合されたコンバージョンデータをデジタルコンポーネント配信システム150に送信することができる。デジタルコンポーネント配信システム150は、署名を検証し、署名が有効であるかどうかを指定するデータで報告システム190に応答することを試みることができる。
Similarly, the
両方の署名が有効である場合、報告システムは、インプレッションとコンバージョンのペアのコンバージョン数を指定するデータを記憶することができる(424)。報告システム190は、デジタルコンポーネントプロバイダ160に、暗号化を可能にするために十分な数(たとえば、少なくともt個)のコンバージョンが発生した後に、デジタルコンポーネントプロバイダ160によって発行されたデジタルコンポーネントの各インプレッションとコンバージョンのペアのコンバージョン数を指定するデータを提供することができる。
If both signatures are valid, the reporting system can store data specifying the number of conversions for the impression-conversion pair (424).
所与のインプレッションとコンバージョンのペアについて少なくともt個の測定データ要素を受信した後、集約システム180は、以前に受信された測定データ要素のデータを使用して、同様の方法で、受信され、インプレッションとコンバージョンのペアのグループ識別子を含む任意の追加の測定データ要素を復号化することができる。このようにして、集約システム180は、インプレッションとコンバージョンのペアのコンバージョン数を更新し続けることができる。
After receiving at least t measurement data elements for a given impression-conversion pair,
いくつかの実装形態では、コンバージョン数は、複数の次元ごとに決定される。次元は、様々な日付または日付範囲、様々な場所などであり得る。たとえば、デジタルコンポーネントプロバイダ160は、その年の各月のデジタルコンポーネントのコンバージョン数を知りたい場合がある。次元ごとに個別の測定値を設定するために、(t、n)-暗号化スキームにおけるシークレットは、そのコンバージョンの次元の値に基づくことができる。たとえば、多項式技法が使用される場合、シードとタグ(たとえば、グループ識別子)の両方を、次元の値と組み合わせた上記のシード/タグのいずれかにすることができる。特定の例では、シードは、ブラインド署名された結合されたコンバージョンデータと、暗号ハッシュまたは暗号化関数によって任意でコンバージョンされた次元の値との組合せであり得る。このようにして、アプリケーションは、各次元の値ごとに異なる多項式関数と異なるグループ識別子を生成する。
In some implementations, a conversion number is determined for each of multiple dimensions. Dimensions can be different dates or date ranges, different locations, and so on. For example, the
コンバージョンの数はまた、次元の組合せについて決定することができる。この例では、シードは、各次元の値と組み合わせた上記のシードのいずれかにすることができる。特定の例では、シードは、ブラインド署名された結合されたコンバージョンデータと各次元の値の組合せである可能性がある。 The number of conversions can also be determined for combinations of dimensions. In this example, the seed can be any of the above seeds combined with each dimension value. In a particular example, the seed may be a combination of the blind-signed combined conversion data and the value of each dimension.
上記の技法は、たとえば、組み合わされたコンバージョンデータのプレーンテキスト値を計算した後にアプリケーション112が危険にさらされた場合に、シビル攻撃を防ぐためにさらに適合させることができる。それが危険にさらされた場合、アプリケーション112は、プレーンテキスト値を任意の数の他のアプリケーション112と共有し得、それらはすべて、同じプレーンテキスト値を同じ集約システム180に報告することができ、これは、(t、n)-しきい値暗号化スキームのk-匿名性保護を無効にする。シビル攻撃を防ぐために、正当なインプレッション/コンバージョンの一意性は、図5に示されるプロセスを使用してサポートすることができる。
The above techniques can be further adapted to prevent Sybil attacks, for example, if the
図5は、コンバージョンデータを報告するための別の例示的なプロセス500を示す流れ図である。プロセス500は、たとえば、図1のクライアントデバイス110などのクライアントデバイスによって実装することができる。プロセス500の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス500の動作を実行させることができる。
FIG. 5 is a flow diagram illustrating another
ブラインド署名されたインプレッションデータが取得される(502)。上記のように、デジタルコンポーネントがコンテンツ、たとえばウェブページまたはアプリケーションコンテンツとともに提示される場合、コンテンツを提示するアプリケーションは、デジタルコンポーネントのインプレッションのインプレッションデータを記憶することができる。デジタルコンポーネントの特定の提示のインプレッションデータは、デジタルコンポーネントのランディングページ(たとえば、デジタルコンポーネントによってリンクされているページ)のURLまたはドメイン、デジタルコンポーネントの1つまたは複数の識別子、インプレッションに関連付けられるイベントレベルのデータ、インプレッションデータをクライアントデバイスから削除するタイミングを指定する有効期限、および/あるいはデジタルコンポーネントのコンバージョン報告が送信される報告URLまたはドメインを含むことができる。 Blind-signed impression data is obtained (502). As noted above, when a digital component is presented with content, such as a web page or application content, the application presenting the content can store impression data for impressions of the digital component. Impression Data for a particular presentation of a Digital Component may include the URL or domain of the Digital Component's landing page (e.g., the page linked by the Digital Component), one or more identifiers for the Digital Component, and the event-level data associated with the impression. Data, an expiration date that specifies when impression data is removed from the client device, and/or a reporting URL or domain to which conversion reports for digital components are sent.
インプレッションデータは、ブラインド化されて、不正検出信号とともに図1の不正検出システム170などの別のデバイスまたはシステムに送信することができる。この例では、アプリケーション112は、インプレッションデータをそれ自体でブラインド化するのではなく、報告システム、たとえば図1の報告システム190からフェッチされた公開鍵を使用して、インプレッションデータとクリックされた値(たとえば、ユーザがクリックしたか、そうでなければデジタルコンポーネントと相互作用したかどうか)の組合せを暗号化することができる。次いで、アプリケーション112は、暗号化結果をブラインド化し、ブラインド署名のために、ブラインド暗号化結果を不正検出システム170に送信する。不正検出システム170は、不正検出信号に基づいてインプレッションが有効であるかどうかを決定することができ、有効である場合、不正検出システム170によって秘密裏に維持される第1のインプレッションブラインド署名鍵を使用してブラインド化されたインプレッションデータにブラインド署名する。不正検出システム170は、ブラインド署名されたインプレッションデータをクライアントデバイス110に返すことができる。
The impression data can be blinded and sent along with the fraud detection signal to another device or system, such as the
ブラインド署名されたインプレッションデータおよびノンスデータが取得される(504)。クライアントデバイス110上で実行されるアプリケーション112は、十分なエントロピ、たとえば、32バイトの乱数を有するノンスをランダムに作成することができる。次に、クライアントデバイス110は、ブラインド化されたインプレッションデータ、クリックされた値、およびノンスの組合せを使用して、ハッシュベースのメッセージ認証コード(HMAC)、たとえば、HMACSHA256メッセージコードを生成することができる。アプリケーション112は、インプレッションノンスメッセージコードにブラインド署名する要求とともに、このインプレッションノンスメッセージコードを不正検出システム170に送信することができる。上記のように、インプレッションが有効である場合、不正検出サーバは、不正検出システム170によって秘密裏に維持される第2のインプレッションブラインド署名鍵を使用して、インプレッションノンスメッセージコードにブラインド署名することができる。不正検出システム170の第2のインプレッションのブラインド署名鍵は、不正検出システム170の第1のブラインド署名鍵とは異なり、インプレッションの署名を取得することができず、それがノンスの署名であると主張し、逆もまた同様である。不正検出システム170は、ブラインド署名されたインプレッションノンスメッセージコードをクライアントデバイス110に返すことができる。
Blind-signed impression data and nonce data are obtained (504).
ブラインド署名された結合されたコンバージョンデータが取得される(506)。コンバージョンが発生すると、コンバージョンが発生したと決定したシステム、たとえば、図1のデジタルコンポーネント配信システム150は、コンバージョンデータをアプリケーション112に提供することができる。アプリケーション112は、コンバージョンデータとHMACコード、たとえば、インプレッションデータのHMAC SHA256メッセージコードとの組合せを暗号化することによって、ブラインド化されたコンバージョンデータおよびインプレッションデータを生成することができる。たとえば、クライアントデバイスは、このインプレッションメッセージコードとコンバージョンデータを組み合わせ、図1の報告システム190からフェッチされた公開鍵を使用してこの組合せを暗号化することができる。
Blind signed combined conversion data is obtained (506). When a conversion occurs, the system that determined that the conversion occurred, eg, digital
次いで、アプリケーション112は、このデータの組合せにブラインド署名する要求とともに、ブラインド署名されたインプレッションデータ、ならびにブラインド化されたコンバージョンデータおよびインプレッションデータをデジタルコンポーネント配信システム150に送信することができる。デジタルコンポーネント配信システム150は、デジタルコンポーネント配信システム150の第1のコンバージョンブラインド署名鍵を使用して、ブラインド署名されたインプレッションデータとブラインド化されたコンバージョンデータおよびインプレッションデータとの組合せにブラインド署名することができる。このブラインド署名されたデータは、この例ではブラインド署名された結合されたコンバージョンデータである。
ブラインド署名されたコンバージョンデータおよびノンスデータが取得される(508)。このノンスは、ブラインド署名されたインプレッションデータおよびノンスデータを取得するために使用されるノンスと同じである可能性がある。アプリケーション112は、ブラインド化されたコンバージョンデータとノンスとの組合せを使用して、HMAC、たとえば、HMACSHA256メッセージコードを生成することができる。クライアントデバイス110は、コンバージョンノンスメッセージコードにブラインド署名する要求とともに、このコンバージョンノンスメッセージコードをデジタルコンポーネント配信システム150に送信することができる。上記のように、コンバージョンが有効である場合、不正検出サーバは、デジタルコンポーネント配信システム150によって秘密裏に維持される第2のコンバージョンブラインド署名鍵を使用して、コンバージョンノンスメッセージコードにブラインド署名することができる。デジタルコンポーネント配信システム150の第2のコンバージョンブラインド署名鍵は、デジタルコンポーネント配信システム150の第1のコンバージョンブラインド署名鍵とは異なり、コンバージョンの署名を取得することができず、それがノンスの署名であると主張する。デジタルコンポーネント配信システム150は、ブラインド署名されたコンバージョンノンスメッセージコードをクライアントデバイス110に返すことができる。
Blind-signed conversion data and nonce data are obtained (508). This nonce may be the same nonce used to obtain blind-signed impression data and nonce data.
測定データ要素が生成される(510)。この例では、アプリケーション112は、シークレット密の共有を表すグループメンバー鍵(たとえば、インプレッションデータおよびコンバージョンデータ)、グループ識別子、および一意の鍵を含む測定データ要素を生成することができる。
A measurement data element is generated (510). In this example,
アプリケーション112は、ブラインド署名されたインプレッションノンスメッセージコード、ブラインド署名されたコンバージョンノンスメッセージコード、およびノンスを含む結合されたメッセージを生成することによって、一意の鍵を生成することができる。結合されたメッセージの各部分は、結合されたメッセージのそれぞれのフィールドに含めることができる。次いで、アプリケーション112は、ブラインド署名された結合されたコンバージョンデータを暗号化鍵として使用して結合されたメッセージを暗号化することによって、一意の鍵を生成することができる。
アプリケーション112は、図4のプロセス400を使用してグループメンバー鍵が生成される方法と同様に、しきい値暗号化を使用してグループメンバー鍵を生成することができる。たとえば、グループメンバー鍵は、多項式技法を使用して生成することができ、シードは、ブラインド署名された結合されたコンバージョンデータ、ブラインド署名された結合されたコンバージョンデータと追加データ(たとえば、報告システム190の報告URL)との組合せ、あるいは、暗号化されたブラインド署名された結合されたコンバージョンデータ(報告システムの公開鍵を使用)と報告システム190の報告URLとの組合せであり得る。
アプリケーション112はまた、図4のプロセス400を使用してグループ識別子が生成される方法と同様に、グループ識別子を生成することができる。たとえば、アプリケーション112は、グループ識別子を生成するために、鍵導出関数(たとえば、一方向暗号化ハッシュ関数)およびシードを使用することができる。
アプリケーション112は、グループメンバー鍵、一意の鍵、およびグループ識別子を含む測定データ要素を送信することができる(512)。たとえば、アプリケーション112は、測定データ要素を、図1の集約システム180などの集約システムに送信することができる。アプリケーションは、時間ベースの攻撃を防ぐために、コンバージョンが検出された後、ランダムに選択された(または、疑似ランダムな)期間が経過した後に測定データ要素を送信することができる。
図6は、インプレッションデータを復号化するための例示的なプロセス600を示す流れ図である。プロセス600は、たとえば、図1の集約システム180および/または報告システム190などの1つまたは複数のサーバによって実装することができる。プロセス600の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス600の動作を実行させることができる。
FIG. 6 is a flow diagram illustrating an
測定データ要素は、クライアントデバイスから受信される(602)。たとえば、クライアントデバイス110上で実行されるアプリケーション112、たとえば、ウェブブラウザまたはネイティブアプリケーションは、検出されたインプレッションおよびコンバージョン(たとえば、インプレッションとコンバージョンのペア)に応答して、測定要素を生成および送信することができる。いくつかの実装形態では、図4を参照して上で説明したように、測定データ要素は、グループメンバー鍵およびグループ識別子を含むことができる。いくつかの実装形態では、図5を参照して上で説明したように、測定データ要素は、グループメンバー鍵、グループ識別子、および一意の鍵を含むことができる。どちらの実装形態においても、グループメンバー鍵は、インプレッションのインプレッションデータとしきい値tに基づくシードを使用した(t、n)-しきい値暗号化技法を使用して生成することができる。
A measurement data element is received from a client device (602). For example, an
インプレッションとコンバージョンのペアについて少なくともt個の測定データ要素が受信されたかどうかの決定が行われる(604)。たとえば、受信され、インプレッションとコンバージョンのペアのグループ識別子を含む個別の測定データ要素の数をカウントすることができる。このカウントは、しきい値tと比較することができる。 A determination is made whether at least t measurement data elements have been received for the impression and conversion pair (604). For example, the number of distinct measurement data elements received and containing group identifiers for impression-conversion pairs may be counted. This count can be compared to a threshold t.
インプレッションとコンバージョンのペアのしきい値t未満の個別の測定データ要素が受信された場合、プロセス600は、シークレット(たとえば、インプレッションデータおよびコンバージョンデータ)は、インプレッションとコンバージョンのペアの少なくともt個の測定データ要素が受信されるまで復号化することができないため、動作602に戻って、インプレッションとコンバージョンのペアの追加の測定データ要素を待つことができる。
If less than a threshold t distinct measurement data elements for an impression-conversion pair are received, the
インプレッションとコンバージョンのペアの少なくともしきい値t個の個別の測定データ要素が受信された場合、各測定データ要素の暗号化されたインプレッションデータが復号化される(606)。測定データ要素がグループメンバー鍵およびグループ識別子を含む実装形態においては、暗号化されたインプレッションデータは、図4を参照して上で説明したように復号化することができる。 The encrypted impression data for each measurement data element is decrypted (606) if at least a threshold t individual measurement data elements of the impression-conversion pair are received. In implementations where the measurement data element includes the group member key and group identifier, the encrypted impression data can be decrypted as described above with reference to FIG.
測定データ要素がグループメンバー鍵、グループ識別子、および一意の鍵を含む実装形態では、図4を参照して上記で説明したように、ブラインド署名された結合されたコンバージョンデータおよび報告URLは、グループ鍵を再生成することによって回復することができる。回復されたコンバージョンデータと回復されたインプレッションデータは、データをブラインド化するために使用されたプロトコルを使用してブラインドを解除することができる。 In implementations where the measurement data element includes a group member key, a group identifier, and a unique key, as described above with reference to Figure 4, the combined blind-signed conversion data and reporting URL will contain the group key can be recovered by regenerating the Recovered conversion data and recovered impression data can be unblinded using the protocol used to blind the data.
ブラインド署名されたインプレッションノンスメッセージコード、ブラインド署名されたコンバージョンノンスメッセージコード、およびノンスを含む結合されたメッセージは、ブラインド署名された結合されたコンバージョンデータを使用して一意の鍵を復号化することによって回復することができる。次いで、ブラインド署名されたインプレッションノンスメッセージコードおよびブラインド署名されたコンバージョンノンスメッセージコードを、ブラインド署名されたインプレッションデータ、ブラインド署名されたコンバージョンデータおよびインプレッションデータ、ならびにノンスを使用して検証することができる。たとえば、集約システム180は、回復されたインプレッションデータおよびノンスを使用してブラインド署名されたインプレッションノンスメッセージコード(たとえば、HMACSHA256メッセージコード)を計算し、これを回復されたブラインド署名されたインプレッションノンスメッセージコードと比較することができる。同様に、集約システム180は、回復されたインプレッションデータおよびコンバージョンデータならびにノンスを使用して、ブラインド署名されたコンバージョンノンスメッセージコード(たとえば、HMACSHA256メッセージコード)を計算し、これを、回復されたブラインド署名されたコンバージョンノンスメッセージコードと比較することができる。両方が一致する場合、回復された両方のコードが検証される。
The combined message containing the blind-signed impression nonce message code, the blind-signed conversion nonce message code, and the nonce is processed by decrypting the unique key using the blind-signed combined conversion data can recover. The blind signed impression nonce message code and blind signed conversion nonce message code can then be verified using the blind signed impression data, the blind signed conversion and impression data, and the nonce. For example, the
次いで、不正検出システム170は、インプレッションデータのブラインド署名と、インプレッションデータおよびノンスデータのブラインド署名を検証することができる。同様に、デジタルコンポーネント配信システム150は、ブラインド署名されたコンバージョンデータのブラインド署名、ならびにブラインド署名されたコンバージョンおよびノンスデータのブラインド署名を検証することができる。
The
次いで、k-匿名性を確保するために、インプレッションとコンバージョンのペアの測定データ要素における一意のノンスの数を決定することができる。次に、k-匿名性を確保するために、インプレッションとコンバージョンのペアの測定データ要素における一意のノンスの数を決定することができる。一意のノンスの数は、インプレッション/コンバージョンイベントを報告したブラウザ(または、アプリケーション)の数である。一意のノンスの数がkより大きい場合、報告システムは、少なくともk個のブラウザがイベントを確認したことを認識して、コンバージョン数をデジタルコンポーネント配信システムに報告する。一意のノンスの数がk未満の場合、報告システムはコンバージョン数を報告しないため、k-匿名性が適用される。危険にさらされたブラウザは、上記の検証を回避する方法で追加のノンスを偽造することはできない。 Then, to ensure k-anonymity, the number of unique nonces in the impression-conversion pair measurement data element can be determined. Then, to ensure k-anonymity, the number of unique nonces in the impression-conversion pair measurement data element can be determined. The number of unique nonce is the number of browsers (or applications) reporting impression/conversion events. If the number of unique nonce is greater than k, the reporting system knows that at least k browsers have seen the event and reports the number of conversions to the digital component delivery system. If the number of unique nonces is less than k, the reporting system will not report the number of conversions, hence k-anonymity is applied. A compromised browser cannot forge additional nonce in a way that circumvents the above validation.
上記のすべての検証が成功した場合、インプレッションとコンバージョンは有効であり、シビル攻撃の一部ではない。検証の各々が成功したとの決定に応答して、ブラインド署名されたインプレッションデータ、ブラインド署名されたコンバージョンデータおよびインプレッションデータ、ならびに一意のノンスの数を、報告URLを使用して報告システム190に送信することができる。次いで、報告システム190は、インプレッションデータを暗号化するために使用された公開鍵に対応する秘密鍵を使用して、インプレッションデータを回復することができる。報告システム190は、ブラインド化されたコンバージョンデータおよびインプレッションデータを暗号化するために使用された秘密鍵を使用してブラインド署名されたコンバージョンデータおよびインプレッションデータを復号化することによって、同様にコンバージョンデータを回復することができる。
If all the above validations are successful, the impression and conversion are valid and not part of a Sybil attack. In response to determining that each of the verifications was successful, the blind signed impression data, the blind signed conversion data and the impression data, and the number of unique nonce are sent to the
図7は、上記の動作を実行するために使用することができる例示的なコンピュータシステム700のブロック図である。システム700は、プロセッサ710、メモリ720、ストレージデバイス730、および入力/出力デバイス740を含む。コンポーネント710、720、730、および740のそれぞれは、たとえば、システムバス750を使用して相互接続することができる。プロセッサ710は、システム700内で実行するための命令を処理することができる。いくつかの実装形態では、プロセッサ710はシングルスレッドプロセッサである。別の実装形態では、プロセッサ710はマルチスレッドプロセッサである。プロセッサ710は、メモリ720またはストレージデバイス730に記憶された命令を処理することができる。
FIG. 7 is a block diagram of an
メモリ720は、システム700内に情報を記憶する。一実装形態では、メモリ720は、コンピュータ可読媒体である。いくつかの実装形態では、メモリ720は揮発性メモリユニットである。別の実装形態では、メモリ720は、不揮発性メモリユニットである。
ストレージデバイス730は、システム700に大容量ストレージを提供することができる。いくつかの実装形態では、ストレージデバイス730は、コンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス730は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイス(たとえば、クラウドストレージデバイスデバイス)によってネットワーク上で共有されるストレージデバイス、または他の何らかの大容量ストレージデバイスを含むことができる。
入力/出力デバイス740は、システム700の入力/出力動作を提供する。いくつかの実装形態では、入力/出力デバイス740は、1つまたは複数のネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードを含むことができる。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを外部デバイス760、たとえば、キーボード、プリンタ、およびディスプレイデバイスに送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイスなどの、他の実装形態も使用することができる。
Input/
例示的な処理システムが図7に記載されているが、本明細書に記載されている主題および機能動作の実装形態は、他のタイプのデジタル電子回路において、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実装することができ、これには、本明細書に開示されている構造とそれらの構造的同等物、またはそれらの1つまたは複数の組合せが含まれる。 Although an exemplary processing system is described in FIG. 7, implementations of the subject matter and functional operations described herein may be implemented in other types of digital electronic circuits, or in computer software, firmware, or hardware. including the structures disclosed herein and their structural equivalents, or combinations of one or more thereof.
本明細書に記載の主題および動作の実施形態は、デジタル電子回路、または本明細書に開示される構造およびそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの1つまたは複数の組合せにおいて実装することができる。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するために、またはその動作を制御するために、コンピュータストレージ媒体(または、媒体)上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。あるいは、またはさらに、プログラム命令は、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成の電気、光、または電磁信号に符号化することができる。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータストレージ媒体は伝搬信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータストレージ媒体はまた、1つまたは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であり得るか、またはそれらに含まれ得る。 Embodiments of the subject matter and operations described herein may be implemented in or in digital electronic circuitry, or computer software, firmware, or hardware including the structures disclosed herein and their structural equivalents. can be implemented in one or more combinations. Embodiments of the subject matter described herein may be stored on a computer storage medium (or media) for execution by or for controlling the operation of one or more computer programs, i.e., data processing apparatus. It can be implemented as one or more modules of encoded computer program instructions. Alternatively, or additionally, the program instructions may be an artificially generated propagated signal, e.g. It can be encoded into the generated electrical, optical, or electromagnetic signal. A computer storage medium may be or be included in a computer readable storage device, a computer readable storage substrate, a random or serial access memory array or device, or a combination of one or more thereof. Moreover, although a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium may also be or be contained within one or more separate physical components or media (eg, multiple CDs, discs, or other storage devices).
本明細書に記載されている動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されているか、または他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装することができる。 The operations described herein may be implemented as operations performed by a data processing apparatus on data stored in one or more computer readable storage devices or received from other sources. can be done.
「データ処理装置」という用語は、たとえば、プログラム可能なプロセッサ、コンピュータ、チップ上のシステム、または複数のもの、あるいは前述の組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらの1つまたは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。 The term "data processor" means any kind of apparatus, device and machine for processing data including, for example, a programmable processor, computer, system on a chip, or any number or combination of the foregoing. encompasses The device may include dedicated logic circuits such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits). The apparatus also includes, in addition to hardware, code that creates an execution environment for the computer program in question, such as processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or one of these. Or it can contain codes that make up multiple combinations. Devices and execution environments can implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、あらゆる形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適したその他のユニットとしてなど、任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、対応する必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部に、問題のプログラム専用の単一ファイルに、または複数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ、または1つのサイトに配置されているか、複数のサイトに分散され、通信ネットワークによって相互接続されている複数のコンピュータで実行されるように展開することができる。 A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted, declarative, or procedural languages. , can be deployed in any form, such as as a stand-alone program, or as modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program may, but need not, correspond to files in a file system. A program may be part of a file holding other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to the program in question, or multiple (eg, files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
本明細書に記載のプロセスおよび論理フローは、入力データを操作して出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することができ、装置はそれらとして実装することもできる。 The processes and logic flows described herein are performed by one or more programmable processors executing one or more computer programs to perform actions by manipulating input data and generating output. can do. The processes and logic flows may also be performed by dedicated logic circuits, such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits), and devices may be implemented as such.
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの本質的な要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受信するか、そこにデータを転送するか、あるいはその両方のために動作可能に結合される。しかしながら、コンピュータにそのようなデバイスが必要なわけではない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、または携帯型ストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込むことができる。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCDROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、メディア、およびメモリデバイスを含む。プロセッサとメモリは、専用論理回路によって補完することもでき、またはそこに組み込むことができる。 Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors. Generally, a processor receives instructions and data from read-only memory and/or random-access memory. The essential elements of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Generally, a computer also includes, receives data from, or transfers data to, one or more mass storage devices for storing data, such as magnetic, magneto-optical, or optical disks. or operably coupled to both. However, the computer does not require such a device. In addition, the computer may be connected to another device such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a handheld device, just to name a few. It can be embedded in a storage device (eg, Universal Serial Bus (USB) flash drive). Devices suitable for storing computer program instructions and data include, by way of example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices, magnetic disks such as internal or removable disks, magneto-optical disks, and CDROMs. and all forms of non-volatile memory, media, and memory devices, including DVD-ROM discs. The processor and memory may also be supplemented by, or incorporated in, dedicated logic circuitry.
ユーザとの相互作用を提供するために、本明細書に記載の主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLDC(液晶ディスプレイ)モニタと、キーボードおよびポインティングデバイス、たとえばユーザがコンピュータに入力を提供することができるマウスまたはトラックボールなどのポインティングデバイスとを有するコンピュータ上に実装することができる。ユーザとの相互作用を提供するために、他の種類のデバイスを使用することができる。たとえば、ユーザに提供されるフィードバックは、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形式の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。 To provide interaction with a user, embodiments of the subject matter described herein include a display device, such as a CRT (cathode ray tube) or LDC (liquid crystal display) monitor, for displaying information to a user; It can be implemented on a computer having a keyboard and pointing device, such as a mouse or trackball that allows a user to provide input to the computer. Other types of devices can be used to provide user interaction. For example, the feedback provided to the user can be any form of sensory feedback, e.g., visual, auditory, or tactile feedback, and the input from the user can be acoustic, speech, or tactile input. can be received in any format, including Additionally, the computer may be used by sending and receiving documents to and from the device used by the user, e.g., by sending web pages to the web browser on the user's client device in response to requests received from the web browser. , can interact with the user.
本明細書に記載されている主題の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネントを含むか、またはアプリケーションサーバなどのミドルウェアコンポーネントを含むか、またはたとえば、ユーザが本仕様書に記載されている主題の実装形態と相互作用することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステム、あるいは1つまたは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せに実装することができる。システムのコンポーネントは、通信ネットワークなどの、デジタルデータ通信の任意の形式または媒体によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアピアツーピアネットワーク)を含む。 Embodiments of the subject matter described herein may include backend components, such as data servers, or middleware components, such as application servers, or may include, for example, user A computing system that includes a front-end component, such as a client computer having a graphical user interface or web browser capable of interacting with a subject implementation, or one or more such back-end components, middleware components, or front-end components It can be implemented in any combination of end components. The components of the system can be interconnected by any form or medium of digital data communication such as a communication network. Examples of communication networks include local area networks (“LAN”) and wide area networks (“WAN”), internetworks (eg, the Internet), and peer-to-peer networks (eg, ad-hoc peer-to-peer networks).
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは通常、互いにリモートであり、通常は通信ネットワークを通じて相互作用する。クライアントとサーバの関係は、それぞれのコンピュータで実行され、相互にクライアントとサーバの関係を有するコンピュータプログラムによって発生する。いくつかの実施形態では、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに送信する(たとえば、クライアントデバイスと相互作用するユーザにデータを表示し、またそこからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザの動作の結果)は、サーバにおいてクライアントデバイスから受信することができる。 The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, the server sends data (eg, HTML pages) to the client device (eg, for the purpose of displaying the data to and receiving user input from users interacting with the client device). . Data generated at the client device (eg, results of user actions) can be received from the client device at the server.
本明細書は多くの特定の実装形態の詳細を含むが、これらは、発明の範囲または請求され得るものの制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載されている特定の特徴はまた、単一の実施形態において組み合わせて実装することができる。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において別々に、または任意の適切なサブコンビネーションにおいて実装することができる。さらに、特徴は、特定の組合せで作用するものとして上記に記載され、最初にそのように主張されていても、主張された組合せからの1つまたは複数の特徴は、場合によっては組合せから切り出され得、主張された組合せは、サブコンビネーションまたはサブコンビネーションの変形に向けられ得る。 Although this specification contains many specific implementation details, these should not be construed as limitations on the scope of the invention or what may be claimed, but rather of features inherent in the particular embodiment of the particular invention. should be interpreted as an explanation. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Further, even if features are described above as working in a particular combination and are originally claimed as such, one or more features from the claimed combination may in some cases be cut out of the combination. A claimed combination may be directed to a subcombination or variations of a subcombination.
同様に、動作は特定の順序で図面に描かれているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または順番に実行されること、あるいは図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。さらに、上記の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合するか、または複数のソフトウェア製品にパッケージ化することができることが理解されるべきである。 Similarly, although operations have been drawn in the figures in a particular order, this does not mean that such operations are performed in the specific order or order shown, or that they are illustrated in order to achieve a desired result. should not be construed as requiring that all actions be performed. Multitasking and parallelism can be advantageous in certain situations. Furthermore, the separation of various system components in the above embodiments should not be understood as requiring such separation in all embodiments, and the program components and systems described generally operate in a single unit. can be integrated together into multiple software products or packaged into multiple software products.
したがって、主題の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲に記載されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。さらに、添付の図面に示されているプロセスは、望ましい結果を達成するために、示されている特定の順序または順番を必ずしも必要としない。特定の実装形態では、マルチタスクと並列処理が有利な場合がある。 Accordingly, specific embodiments of the subject matter have been described. Other embodiments are within the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. Moreover, the processes illustrated in the accompanying drawings do not necessarily require the particular order or order illustrated to achieve desirable results. Multitasking and parallelism may be advantageous in certain implementations.
100 環境
105 データ通信ネットワーク
110 クライアントデバイス
112 アプリケーション
114 インプレッションデータ
116 コンバージョンデータ
130 発行者
140 ウェブサイト
145 リソース
150 デジタルコンポーネント配信システム
157 デジタルコンポーネントパートナ
160 デジタルコンポーネントプロバイダ
170 不正検出システム
180 集約システム
190 報告システム
200 プロセス
300 プロセス
400 プロセス
500 プロセス
600 プロセス
700 コンピュータシステム
710 プロセッサ
720 メモリ
730 ストレージデバイス
740 入力/出力デバイス
750 システムバス
760 外部デバイス
100 environment
105 Data Communication Network
110 client devices
112 applications
114 Impression data
116 conversion data
130 Publishers
140 websites
145 Resources
150 Digital Component Distribution System
157 Digital Component Partners
160 Digital Component Provider
170 Fraud detection system
180 aggregation system
190 Reporting system
200 processes
300 processes
400 processes
500 processes
600 processes
700 computer system
710 processor
720 memory
730 storage devices
740 input/output devices
750 system bus
760 external devices
Claims (13)
インプレッションデータまたは前記コンバージョン用のコンバージョンデータの1つまたは複数を含むネットワークデータに少なくとも基づいて、前記ネットワークデータを暗号化するためのシークレットを定義するグループ鍵を生成することであって、各グループメンバー鍵が、前記シークレットのそれぞれの共有を備える、ことと、
前記アプリケーションに関連するデータに基づいて、前記それぞれのグループメンバー鍵を生成することであって、各クライアントデバイスが、前記シークレットの異なる共有を含む異なるグループメンバー鍵を生成する、ことと
を行うために、しきい値暗号化スキームを使用する、ステップと、
前記グループ識別子を有する少なくともしきい値数の測定データ要素が受信されたことを決定するステップと、
同じグループ識別子を有する少なくとも前記しきい値数の測定データ要素が受信されたとの決定に応答して、前記受信した測定データ要素における前記グループメンバー鍵を使用して前記ネットワークデータを復号化するステップと
を備える、コンピュータ実装方法。 receiving from each of a plurality of client devices a measurement data element comprising a respective group member key and a group identifier for a given conversion as a result of displaying a digital component, said step being performed at each client device; The application
generating, based at least on network data including one or more of impression data or conversion data for said conversion, a group key defining a secret for encrypting said network data, wherein each group member key; comprises a respective share of said secret;
generating said respective group member key based on data associated with said application, wherein each client device generates a different group member key comprising a different sharing of said secret; , using a threshold encryption scheme, and
determining that at least a threshold number of measurement data elements with the group identifier have been received;
responsive to determining that at least the threshold number of measurement data elements having the same group identifier have been received, decrypting the network data using the group member key in the received measurement data elements; A computer-implemented method comprising:
前記インプレッションが有効であると決定した第1のシステムおよび前記コンバージョンを登録することを決定した第2のシステムによって署名されたブラインド化されたインプレッションデータであって、前記インプレッションデータをブラインド化することによって生成される、前記ブラインド化されたインプレッションデータと、
前記第2のシステムによって署名されたコンバージョンデータと
を備える、ブラインド署名された結合されたコンバージョンデータを備える、請求項3に記載の方法。 The blind-signed impression data is
Blinded impression data signed by a first system that determined said impression to be valid and a second system that determined to register said conversion, by blinding said impression data the generated blinded impression data;
4. The method of claim 3, comprising blind signed combined conversion data comprising conversion data signed by the second system.
少なくとも前記インプレッションデータを備えるシードに基づいて、前記グループ鍵として多項式関数を生成することと、
前記シークレットに対応する値を有するように前記多項式関数上の同じ点を選択することと、
前記それぞれのグループメンバー鍵として、前記アプリケーションに関連する前記データを使用して、同じ点とは異なる前記多項式関数上の第2の点を選択することと
を行う、請求項1から7のいずれか一項に記載の方法。 wherein the threshold encryption scheme comprises a polynomial-based threshold encryption scheme, the application running on each client device comprising:
generating a polynomial function as the group key based on a seed comprising at least the impression data;
selecting the same point on the polynomial function to have a value corresponding to the secret;
and selecting a second point on the polynomial function that is different from the same point, using the data associated with the application as the respective group member key. The method according to item 1.
前記第2の点を使用して前記多項式関数を再生成するステップと、
前記再生成された多項式関数上の同じ点を識別するステップと
を備える、請求項8に記載の方法。 decrypting the impression data using the group member key in the received measurement data element;
regenerating the polynomial function using the second points;
and identifying the same points on the regenerated polynomial function.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IL272126A IL272126A (en) | 2020-01-19 | 2020-01-19 | Preventing fraud in aggregated network measurements |
| IL272126 | 2020-01-19 | ||
| PCT/US2020/064498 WO2021145988A1 (en) | 2020-01-19 | 2020-12-11 | Preventing fraud in aggregated network measurements |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022532815A JP2022532815A (en) | 2022-07-20 |
| JP7157258B2 true JP7157258B2 (en) | 2022-10-19 |
Family
ID=76864585
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021540867A Active JP7157258B2 (en) | 2020-01-19 | 2020-12-11 | Fraud Prevention in Aggregated Network Measurements |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US11736459B2 (en) |
| EP (1) | EP3895368B1 (en) |
| JP (1) | JP7157258B2 (en) |
| KR (1) | KR102661484B1 (en) |
| CN (1) | CN113439414B (en) |
| IL (1) | IL272126A (en) |
| WO (1) | WO2021145988A1 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112953931B (en) * | 2021-02-09 | 2022-11-22 | 北京字节跳动网络技术有限公司 | Data processing method and device, computer equipment and computer storage medium |
| WO2023048711A1 (en) * | 2021-09-22 | 2023-03-30 | Visa International Service Association | Threshold secret share generation for distributed symmetric cryptography |
| CN115277215A (en) * | 2022-07-29 | 2022-11-01 | 中国银行股份有限公司 | Network payment encryption method, network payment decryption method, device and equipment |
| KR20240150284A (en) * | 2023-04-07 | 2024-10-15 | 한양대학교 산학협력단 | Share hardening method for multi-factor threshold secret sharing |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050021479A1 (en) | 2001-12-12 | 2005-01-27 | Jorba Andreu Riera | Secure remote electronic voting system and cryptographic protocols and computer programs employed |
| US20050240591A1 (en) | 2004-04-21 | 2005-10-27 | Carla Marceau | Secure peer-to-peer object storage system |
| US20140095297A1 (en) | 2012-10-01 | 2014-04-03 | Dstillery, Inc. | Systems, methods, and media for mobile advertising conversation attribution |
| JP2015517163A (en) | 2012-04-27 | 2015-06-18 | グーグル・インコーポレーテッド | Privacy management across multiple devices |
| US9641332B1 (en) | 2013-01-30 | 2017-05-02 | Google Inc. | Privacy-preserving measurements of a campaign |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7434047B2 (en) * | 2004-12-30 | 2008-10-07 | Nokia, Inc. | System, method and computer program product for detecting a rogue member in a multicast group |
| US9015489B2 (en) | 2010-04-07 | 2015-04-21 | Microsoft Technology Licensing, Llc | Securing passwords against dictionary attacks |
| US9275237B2 (en) * | 2013-12-09 | 2016-03-01 | Palo Alto Research Center Incorporated | Method and apparatus for privacy and trust enhancing sharing of data for collaborative analytics |
| CN106936787A (en) | 2015-12-31 | 2017-07-07 | 金雅拓股份有限公司 | For protecting the method that encryption key is used in two different encryption environment |
| KR101950073B1 (en) * | 2016-09-01 | 2019-02-19 | 명지대학교 산학협력단 | System and method of providing a security and anonymity service using secret distribution |
| EP3419211B1 (en) * | 2017-06-23 | 2022-03-30 | Flytxt B.V. | Privacy preserving computation protocol for data analytics |
| CN107659401B (en) | 2017-10-09 | 2019-08-30 | 华中科技大学 | A similarity-aware secure data deduplication encryption method |
| US11410105B2 (en) * | 2019-07-03 | 2022-08-09 | Vertru Technologies Inc. | Blockchain based supply chain network systems |
| CN110601822A (en) | 2019-08-20 | 2019-12-20 | 国家电网有限公司 | Encryption blind signature method based on quantum secret communication technology |
-
2020
- 2020-01-19 IL IL272126A patent/IL272126A/en unknown
- 2020-12-11 EP EP20838797.7A patent/EP3895368B1/en active Active
- 2020-12-11 CN CN202080009375.8A patent/CN113439414B/en active Active
- 2020-12-11 KR KR1020217021017A patent/KR102661484B1/en active Active
- 2020-12-11 WO PCT/US2020/064498 patent/WO2021145988A1/en not_active Ceased
- 2020-12-11 US US17/419,060 patent/US11736459B2/en active Active
- 2020-12-11 JP JP2021540867A patent/JP7157258B2/en active Active
-
2023
- 2023-06-26 US US18/341,353 patent/US12010106B2/en active Active
-
2024
- 2024-05-06 US US18/656,044 patent/US12284164B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050021479A1 (en) | 2001-12-12 | 2005-01-27 | Jorba Andreu Riera | Secure remote electronic voting system and cryptographic protocols and computer programs employed |
| US20050240591A1 (en) | 2004-04-21 | 2005-10-27 | Carla Marceau | Secure peer-to-peer object storage system |
| JP2015517163A (en) | 2012-04-27 | 2015-06-18 | グーグル・インコーポレーテッド | Privacy management across multiple devices |
| US20140095297A1 (en) | 2012-10-01 | 2014-04-03 | Dstillery, Inc. | Systems, methods, and media for mobile advertising conversation attribution |
| US9641332B1 (en) | 2013-01-30 | 2017-05-02 | Google Inc. | Privacy-preserving measurements of a campaign |
Non-Patent Citations (1)
| Title |
|---|
| LIU, D. et al.,Towards Private and Efficient Ad Impression Aggregation in Mobile Advertising,2019 IEEE International Conference on Communicaitons (ICC),2019年05月,pp.1-6 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113439414B (en) | 2024-09-13 |
| KR20210097786A (en) | 2021-08-09 |
| KR102661484B1 (en) | 2024-04-26 |
| US12010106B2 (en) | 2024-06-11 |
| IL272126A (en) | 2021-07-29 |
| EP3895368B1 (en) | 2026-02-04 |
| WO2021145988A1 (en) | 2021-07-22 |
| EP3895368A1 (en) | 2021-10-20 |
| US20220353251A1 (en) | 2022-11-03 |
| US12284164B2 (en) | 2025-04-22 |
| US20230421544A1 (en) | 2023-12-28 |
| US20240406153A1 (en) | 2024-12-05 |
| JP2022532815A (en) | 2022-07-20 |
| US11736459B2 (en) | 2023-08-22 |
| CN113439414A (en) | 2021-09-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12309260B2 (en) | Aggregating encrypted network values | |
| JP7157258B2 (en) | Fraud Prevention in Aggregated Network Measurements | |
| US12069157B2 (en) | Generating sequences of network data while preventing acquisition or manipulation of time data | |
| US12160525B2 (en) | Preventing data manipulation using multiple aggregation servers | |
| KR20220123695A (en) | Cryptographically validating security requests | |
| CN114731293B (en) | Prevent data manipulation and protect user privacy when determining accurate location event measurements | |
| US12335410B2 (en) | Preventing data manipulation and protecting user privacy in telecommunication network measurements |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210914 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210914 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220912 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221006 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7157258 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |