JP2023527318A - 相互作用全体でクレジットを集計するための方法 - Google Patents

相互作用全体でクレジットを集計するための方法 Download PDF

Info

Publication number
JP2023527318A
JP2023527318A JP2022571291A JP2022571291A JP2023527318A JP 2023527318 A JP2023527318 A JP 2023527318A JP 2022571291 A JP2022571291 A JP 2022571291A JP 2022571291 A JP2022571291 A JP 2022571291A JP 2023527318 A JP2023527318 A JP 2023527318A
Authority
JP
Japan
Prior art keywords
encrypted
computing system
identifier
encryption
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022571291A
Other languages
English (en)
Other versions
JP7461513B2 (ja
Inventor
カーン・セス
サルバール・パテル
マリアナ・ライコヴァ
スリニヴァサン・セシャドリ
マーゴ・ワーナー
フィリップ・マクドネル
アミン・チャラニヤ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2020/047643 external-priority patent/WO2021242290A1/en
Publication of JP2023527318A publication Critical patent/JP2023527318A/ja
Application granted granted Critical
Publication of JP7461513B2 publication Critical patent/JP7461513B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Power Engineering (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本明細書に開示された方法は、第1のコンピューティングシステムにおいて、暗号化された識別子および暗号化された値を受信するステップと、第1のコンピューティングシステムによって、秘匿された暗号化された識別子を生成するために、暗号化された識別子に対して秘匿演算を実行するステップであって、秘匿演算が、暗号化された識別子を第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、秘匿された暗号化された識別子間の照合を可能にする、ステップと、第2のコンピューティングシステムによって、秘匿された識別子を生成するために、秘匿された暗号化された識別子を解読するステップと、第2のコンピューティングシステムによって、暗号化された値に関連付けられる個人を特定できる情報にアクセスすることなく、暗号化された集計値を生成するために、秘匿された識別子と暗号化された値を使用して集計演算を実行するステップとを含み得る。

Description

関連出願の相互参照
本出願は、2020年5月26日に出願された米国仮出願第63/029,835号の優先権および利益を主張し、その全体が参照により本明細書に組み込まれる。
分析システムが、コンテンツの特定のアイテムと相互作用したデバイスの数など、コンテンツとの相互作用に関する集計情報を決定することができることは役立つ場合がある。しかしながら、情報のプライバシを維持することに関心があることが多い。たとえば、エンティティは、特定のタイプのコンテンツが到達したデバイスの数、またはデバイスに関連付けられる識別子などの、情報のソースを識別することができる情報を受信せずにコンテンツと特定の方法で相互作用したデバイスの数に関する情報を受信することに関心がある場合がある。
本開示の一実装形態は、第1のコンピューティングシステムにおいて、暗号化された識別子および暗号化された値を受信するステップと、第1のコンピューティングシステムによって、秘匿された暗号化された識別子を生成するために、暗号化された識別子に対して秘匿演算を実行するステップであって、秘匿演算が、暗号化された識別子を第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、秘匿された暗号化された識別子間の照合を可能にする、ステップと、第2のコンピューティングシステムによって、秘匿された識別子を生成するために、秘匿された暗号化された識別子を解読するステップと、第2のコンピューティングシステムによって、暗号化された値に関連付けられる個人情報にアクセスすることなく、暗号化された集計値を生成するために、秘匿された識別子と暗号化された値を使用して集計演算を実行するステップとを含む方法に関する。
いくつかの実装形態では、秘匿演算を実行するステップは、部分的に暗号化された識別子を生成するために、暗号化された識別子から第1の暗号化の第1の部分を除去するステップと、秘匿された暗号化された識別子を生成するために、部分的に暗号化された識別子を第2の暗号化で決定論的に暗号化するステップとを含む。いくつかの実装形態では、秘匿された暗号化された識別子を解読するステップは、秘匿された識別子を生成するために、秘匿された暗号化された識別子から第1の暗号化の第2の部分を除去するステップを含む。いくつかの実装形態では、本方法は、第3のコンピューティングシステムによって、集計値を生成するために、暗号化された集計値を解読するステップをさらに含む。いくつかの実装形態では、本方法は、第1のコンピューティングシステムおよび第2のコンピューティングシステムによって、協働して第1の暗号化鍵を生成するステップと、第1のコンピューティングシステムによって、第1の暗号化鍵および第3の暗号化鍵に関連付けられる第2の暗号化鍵を生成するステップと、第2のコンピューティングシステムによって、第1の暗号化鍵に関連付けられる第4の暗号化鍵を生成するステップと、第3のコンピューティングシステムによって、第5および第6の暗号化鍵を生成するステップとをさらに含む。
いくつかの実装形態では、暗号化された識別子は第1の暗号化鍵を使用して暗号化され、暗号化された値は第5の暗号化鍵を使用して暗号化され、秘匿演算は第2および第3の暗号化鍵を使用し、秘匿された暗号化された識別子は第4の暗号化鍵を使用して解読され、暗号化された集計値は、第6の暗号化鍵を使用して解読される。いくつかの実装形態では、秘匿演算は、暗号化された識別子をシャッフルするステップと、ハッシュ関数を使用して暗号文を生成することによって暗号化された値を再ランダム化するステップとを含む。いくつかの実装形態では、第3のコンピューティングシステムは、第1のコンピューティングシステムの一部である。いくつかの実装形態では、第1のコンピューティングシステムまたは第3のコンピューティングシステムのうちの少なくとも1つは、分散コンピューティングシステムである。いくつかの実装形態では、本方法は、第2のコンピューティングシステムによって、ランダム値を生成するステップと、第2のコンピューティングシステムによって、結果を生成するために、ランダム値および暗号化された集計値を使用して演算を実行するステップと、第2のコンピューティングシステムによって、暗号化された識別子に関連付けられるコンテンツパブリッシャにランダム値を送信するステップとをさらに含む。いくつかの実装形態では、集計演算は、暗号化された集計値を生成するために、秘匿された識別子および秘匿された識別子に関連付けられる時間値を使用して重み付け関数を実行するステップを含む。
本開示の別の実装形態は、暗号化された識別子および暗号化された値を受信することと、秘匿された暗号化された識別子を生成するために、暗号化された識別子に対して秘匿演算を実行することであって、秘匿演算が、暗号化された識別子を第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、秘匿された暗号化された識別子間の照合を可能にする、実行することとを行うように構成された第1のコンピューティングシステムと、秘匿された識別子を生成するために、秘匿された暗号化された識別子を解読することと、暗号化された値に関連付けられる個人を特定できる情報にアクセスすることなく、暗号化された集計値を生成するために、秘匿された識別子と暗号化された値を使用して集計演算を実行することとを行うように構成された第2のコンピューティングシステムとを含む結果測定システムに関する。
いくつかの実装形態では、秘匿演算を実行するステップは、部分的に暗号化された識別子を生成するために、暗号化された識別子から第1の暗号化の第1の部分を除去するステップと、秘匿された暗号化された識別子を生成するために、部分的に暗号化された識別子を第2の暗号化で決定論的に暗号化するステップとを含む。いくつかの実装形態では、秘匿された暗号化された識別子を解読するステップは、秘匿された識別子を生成するために、秘匿された暗号化された識別子から第1の暗号化の第2の部分を除去するステップを含む。いくつかの実装形態では、結果測定システムは、集計値を生成するために、暗号化された集計値を解読するように構成された第3のコンピューティングシステムをさらに含む。いくつかの実装形態では、第1および第2のコンピューティングシステムは、協働して第1の暗号化鍵を生成するようにさらに構成され、第1のコンピューティングシステムが、第1の暗号化鍵および第3の暗号化鍵に関連付けられる第2の暗号化鍵を生成するようにさらに構成され、第2のコンピューティングシステムが、第1の暗号化鍵に関連付けられる第4の暗号化鍵を生成するようにさらに構成され、第3のコンピューティングシステムが、第5および第6の暗号化鍵を生成するようにさらに構成される。
いくつかの実装形態では、暗号化された識別子は第1の暗号化鍵を使用して暗号化され、暗号化された値は第5の暗号化鍵を使用して暗号化され、秘匿演算は第2および第3の暗号化鍵を使用し、秘匿された暗号化された識別子は第4の暗号化鍵を使用して解読され、暗号化された集計値は、第6の暗号化鍵を使用して解読される。いくつかの実装形態では、第3のコンピューティングシステムは、第1のコンピューティングシステムの一部である。いくつかの実装形態では、第1のコンピューティングシステムまたは第3のコンピューティングシステムのうちの少なくとも1つは、分散コンピューティングシステムである。いくつかの実装形態では、集計演算は、暗号化された集計値を生成するために、秘匿された識別子および秘匿された識別子に関連付けられる時間値を使用して重み付け関数を実行するステップを含む。
本開示の別の実装形態は、第1のコンピューティングシステムおよび第2のコンピューティングシステムのうちの少なくとも1つの1つまたは複数のプロセッサによる実行時に、第1のコンピューティングシステムに、暗号化された識別子および暗号化された値を受信することと、秘匿された暗号化された識別子を生成するために、暗号化された識別子に対して秘匿演算を実行することであって、秘匿演算が、暗号化された識別子を第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、秘匿された暗号化された識別子間の照合を可能にする、実行することと、第2のコンピューティングシステムに、秘匿された識別子を生成するために、秘匿された暗号化された識別子を解読することと、暗号化された値に関連付けられる個人を特定できる情報にアクセスすることなく、暗号化された集計値を生成するために、秘匿された識別子と暗号化された値を使用して集計演算を実行することとを行わせる命令を記憶した1つまたは複数のコンピュータ可読ストレージ媒体に関する。
いくつかの実装形態では、秘匿演算を実行するステップは、部分的に暗号化された識別子を生成するために、暗号化された識別子から第1の暗号化の第1の部分を除去するステップと、秘匿された暗号化された識別子を生成するために、部分的に暗号化された識別子を第2の暗号化で決定論的に暗号化するステップとを含む。いくつかの実装形態では、秘匿された暗号化された識別子を解読するステップは、秘匿された識別子を生成するために、秘匿された暗号化された識別子から第1の暗号化の第2の部分を除去するステップを含む。いくつかの実装形態では、命令は、第3のコンピューティングシステムの1つまたは複数のプロセッサによる実行時に、第3のコンピューティングシステムに、集計値を生成するために、暗号化された集計値を解読させるようにさらに構成される。いくつかの実装形態では、命令が、第1および第2のコンピューティングシステムに、協働して第1の暗号化鍵を生成させるように構成され、命令が、第1のコンピューティングシステムに、第1の暗号化鍵および第3の暗号化鍵に関連付けられる第2の暗号化鍵を生成させるように構成され、命令が、第2のコンピューティングシステムに、第1の暗号化鍵に関連付けられる第4の暗号化鍵を生成させるように構成され、命令が、第3のコンピューティングシステムに、第5および第6の暗号化鍵を生成させるように構成される。いくつかの実装形態では、暗号化された識別子は第1の暗号化鍵を使用して暗号化され、暗号化された値は第5の暗号化鍵を使用して暗号化され、秘匿演算は第2および第3の暗号化鍵を使用し、秘匿された暗号化された識別子は第4の暗号化鍵を使用して解読され、暗号化された集計値は、第6の暗号化鍵を使用して解読される。いくつかの実装形態では、第3のコンピューティングシステムは、第1のコンピューティングシステムの一部である。いくつかの実装形態では、第1のコンピューティングシステムまたは第3のコンピューティングシステムのうちの少なくとも1つは、分散コンピューティングシステムである。いくつかの実装形態では、集計演算は、暗号化された集計値を生成するために、秘匿された識別子および秘匿された識別子に関連付けられる時間値を使用して重み付け関数を実行するステップを含む。
様々な態様および実装形態は、必要に応じて組み合わせることができる。
例示的な実装形態による、ネットワークを介して相互作用する様々なエンティティを示す図である。 例示的な実装形態による、ネットワークを介して相互作用する様々なエンティティを示す図である。 一実装形態による、図1Aの結果測定システムを使用したデータ転送および集計を示す図である。 例示的な実装形態による、図1Aの第1のデータ処理システムのための鍵生成の方法を示す流れ図である。 例示的な実装形態による、図1Aの第2のデータ処理システムのための鍵生成の方法を示す流れ図である。 例示的な実装形態による、図1Aの第3のデータ処理システムのための鍵生成の方法を示す流れ図である。 例示的な実装形態による、図1Bのパブリッシャコンピューティングシステムのための鍵生成の方法を示す流れ図である。 例示的な実装形態による、図1Aおよび図1Bのシステムによる相互作用のためのクレジットの安全な転送および集計の方法を示す流れ図である。 例示的な実装形態による、図1Aおよび図1Bのシステムによる相互作用のためのクレジットの安全な転送および集計の方法を示す流れ図である。 例示的な実装形態による、図4Bの集計演算を実行する方法を示す流れ図である。 例示的な実装形態による、図5の集計演算によるデータセット操作を示す図である。 例示的な実装形態による、図5の集計演算によるデータセット操作を示す別の図である。 例示的な実装形態による、図5の集計演算によるデータセット操作を示す別の図である。 例示的な実装形態による、図5の集計演算によるシャプレ値の生成を示す図である。 例示的な実装形態による、図5の集計演算によるマルコフモデルの生成を示す図である。 例示的な実装形態による、図4Bのマスキング演算を実行する方法を示す流れ図である。 例示的な実装形態による、コンピューティングシステムのブロック図である。
以下は、プライバシを意識した方法で、相互作用全体でクレジットを集計するための方法、装置、およびシステムに関連する様々な概念、およびそれらの実装形態のより詳細な説明である。上記で導入され、以下でより詳細に議論される様々な概念は、説明された概念が任意の特定の実装方法に限定されないため、多数の方法のいずれかで実装され得る。
多くのドメインでは、コンテンツパブリッシャに起因する相互作用の集計数を決定することが必要または望ましい場合がある。たとえば、いくつかのコンテンツパブリッシャが、ユーザがオンライン相互作用を実行する前に閲覧するいくつかのコンテンツアイテムを表示する場合があり、各コンテンツパブリッシャのコンテンツアイテムに関連付けられるオンライン相互作用の数(たとえば、オンライン相互作用を実行する前に特定のコンテンツアイテムを閲覧したユーザの数)を決定することが望ましい場合がある。
本開示のシステムおよび方法は、一般に、コンテンツアイテムに関連付けられる相互作用の数を集計し、コンテンツアイテムに関連付けられるいくつかのコンテンツパブリッシャおよび/または相互作用経路間でクレジットを分散することに関する。より具体的には、本開示のシステムおよび方法は、異なるエンティティからのデータを集計し、より安全な方法で、エンティティ間でクレジットを分散するための独自の暗号化およびコンピュータアーキテクチャの方法論に関する。通常、異なるエンティティからデータを集計するには、コンピューティングシステムがユーザ固有のデータにアクセスできる必要がある。たとえば、システムは、一致するユーザ識別子を有する値を合計することによって、集計カウントを決定し得る。個人情報の漏えいを避けるために、データを生成して報告する際には、ユーザのアイデンティティを隠して適切に保護する必要がある。
個人情報の露呈を防ぐ方法で特定の分析活動を実施することが望ましい。したがって、異なるエンティティからのデータをより安全な方法で集計するための独自の暗号化およびコンピュータアーキテクチャの方法論が必要である。本開示の態様は、改善された暗号化方法およびコンピュータアーキテクチャを提供する。セキュリティを強化し、ユーザのプライバシも保護しながら、オンライン相互作用をコンテンツパブリッシャからのデータと安全な方法で相関させるために、暗号化方法およびアーキテクチャが使用され得る。
個人情報のプライバシおよびセキュリティを確保するために、本開示のシステムおよび方法は、エンティティ(たとえば、コンテンツプロバイダ、サードパーティなど)が個人情報を受信するのを防止するために、データを処理する。非限定的な実装形態の例は次のとおりである。第2のデータ処理システムは、非対称暗号化のための第1の公開鍵を生成し得る。パブリッシャコンピューティングシステムは、第1の公開鍵を使用して第1のユーザ識別子を暗号化し得る。第3のデータ処理システムは、準同型暗号化のための第2の公開鍵を生成し得る。相互作用データプロバイダコンピューティングシステムは、第1の公開鍵および第2の公開鍵に関連付けられる値を使用して、第2のユーザ識別子を暗号化し得る。第1のデータ処理システムは、いくつかのコンテンツパブリッシャ(たとえば、パブリッシャコンピューティングシステムなど)から、いくつかの暗号化された第1のユーザ識別子を受信し得る。第1のデータ処理システムは、1つまたは複数の相互作用データプロバイダ(たとえば、相互作用データプロバイダコンピューティングシステムなど)から、いくつかの暗号化された第2のユーザ識別子および関連付けられる暗号化された値を受信し得る。第1のデータ処理システムは、楕円曲線暗号化のための秘密鍵を生成し得、二重暗号化された第1および第2のユーザ識別子を生成するために、秘密鍵を用いて、暗号化された第1および第2のユーザ識別子を暗号化し得る。第1のデータ処理システムは、二重暗号化された第1および第2のユーザ識別子、ならびに関連付けられる暗号化された値を、楕円曲線(EC)で暗号化された第1および第2のユーザ識別子を生成するために二重暗号化された第1および第2のユーザ識別子を解読し得る第2のデータ処理システムに送信し得る。第2のデータ処理システムは、ECで暗号化された第1および第2のユーザ識別子を結合し、結合されたECで暗号化された第1および第2のユーザ識別子に基づいて、各コンテンツパブリッシャに関連付けられる暗号化された集計値を計算し得る。第2のデータ処理システムは、暗号化された集計値を第3のデータ処理システムに送信し得、第3のデータ処理システムは、各コンテンツパブリッシャに関連付けられる集計値を回復するために、暗号化された集計値を解読し得る。したがって、結果測定システム(たとえば、第1、第2、および第3のデータ処理システムなど)は、個人情報を漏えいすることなく、相互作用データの集計を容易にし得る。
本開示のいくつかの実装形態では、ユーザは、本明細書に記載されているシステム、プログラム、または機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、または活動、職業、ユーザの好み、あるいはユーザの現在の位置に関する情報)の収集を可能にするかどうか、およびいつ可能にするかの両方について、ならびにユーザがサーバからコンテンツまたは通信を送信されるかどうかを選択できるようにする制御が提供され得る。さらに、特定のデータは、個人を特定できる情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理される場合がある。たとえば、ユーザのアイデンティティは、そのユーザの個人情報が決定されないように、または特定の個人情報のみが決定されるように、あるいは、位置情報が取得される場所でユーザの地理的な位置(都市、郵便番号、または州レベル)が一般化され、ユーザの特定の位置が決定されないように、処理される場合がある。したがって、ユーザは、ユーザに関してどの情報が収集されるか、その情報がどのように使用されるか、およびどの情報がユーザに提供されるかを制御し得る。
次に図1Aおよび図1Bを参照すると、例示的な実装形態による、異なるエンティティからのデータを安全に集計するためのシステム100が示されている。システム100は、結果測定サービス102、パブリッシャコンピューティングシステム10、および相互作用データプロバイダコンピューティングシステム30を含む。様々な実装形態では、結果測定サービス102は、第1のデータ処理システム200、第2のデータ処理システム300、および第3のデータ処理システム400を含む。様々な実装形態では、システム100のコンポーネントは、ネットワーク60を介して通信する。ネットワーク60は、インターネット、ローカル、ワイド、メトロまたは他のエリアネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワークなどの他のコンピュータネットワーク、それらの組合せ、あるいは任意の他のタイプの電子通信ネットワークなどのコンピュータネットワークを含み得る。ネットワーク60は、ディスプレイネットワーク(たとえば、コンテンツ配置または検索エンジン結果システムに関連付けられる、あるいはコンテンツアイテム配置キャンペーンの一部としてサードパーティのコンテンツアイテムを含める資格がある、インターネット上で利用可能な情報リソースのサブセット)を含むか、または構成し得る。様々な実装形態では、ネットワーク60は、システム100のコンポーネント間の安全な通信を容易にする。非限定的な例として、ネットワーク60は、トランスポート層セキュリティ(TLS)、セキュアソケット層(SSL)、ハイパーテキスト転送プロトコルセキュア(HTTPS)、および/または任意の他のセキュア通信プロトコルを実装し得る。
パブリッシャコンピューティングシステム10は、ユーザ識別子などのパブリッシャデータをホストし得る。様々な実装形態では、パブリッシャコンピューティングシステム10は、パブリッシャ(たとえば、オンラインパブリッシャなど)に関連付けられている。様々な実装形態では、パブリッシャデータは、パブリッシャコンテンツとのユーザ相互作用に関連付けられている。たとえば、パブリッシャデータは、パブリッシャコンテンツと相互作用したユーザに関連付けられるユーザ識別子とタイムスタンプを含み得る。いくつかの実装形態では、パブリッシャデータはユーザ相互作用のカウントを含む。いくつかの実装形態では、パブリッシャデータは、相互作用の分類を含む。たとえば、パブリッシャデータは、ユーザがコンテンツアイテムを閲覧したか、またはコンテンツアイテムと相互作用したか(たとえば、コンテンツアイテムをクリックしたか、など)を示す相互作用の分類を含み得る。様々な実装形態では、パブリッシャコンテンツは、サードパーティに関連付けられるマーケティングアイテム(たとえば、広告)であり得る。
パブリッシャコンピューティングシステム10は、データベース12および処理回路14を含み得る。データベース12は、パブリッシャデータを記憶し得る。たとえば、パブリッシャコンテンツアイテムをクライアントデバイスに提供すると、パブリッシャコンピューティングシステム10は、ユーザに関連付けられるユーザ識別子をデータベース12に記憶し得る。ユーザ識別子は、後で匿名の相互作用データを相関させるために使用され得る。データベース12は、1つまたは複数のストレージ媒体を含み得る。ストレージ媒体は、磁気ストレージ、光学ストレージ、フラッシュストレージ、および/またはRAMを含み得るが、これらに限定されない。パブリッシャコンピューティングシステム10は、データベース機能(すなわち、データベース12に記憶されたデータの管理)を実行するために、様々なAPIを実装してもよく、それを容易にしてもよい。APIは、SQL、ODBC、JDBC、および/または任意の他のデータストレージおよび操作APIにすることができるが、これらに限定されない。
処理回路14は、プロセッサ16およびメモリ18を含む。メモリ18は、プロセッサ16によって実行されると、処理回路14に、本明細書で説明する様々な演算を実行させる命令を記憶し得る。本明細書で説明する演算は、ソフトウェア、ハードウェア、またはそれらの組合せを使用して実装され得る。プロセッサ16は、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組合せを含み得る。多くの実装形態では、プロセッサ16は、マルチコアプロセッサまたはプロセッサのアレイであってもよい。プロセッサ16は、安全な環境を実装または促進し得る。たとえば、プロセッサ16は、メモリ18内のプライベート領域(たとえば、エンクレーブ)を定義するために、ソフトウェアガード拡張(SGX)を実装し得る。メモリ18は、電子、光学、磁気、またはプロセッサ16にプログラム命令を提供することができる任意の他のストレージデバイスを含み得るが、これらに限定されない。メモリ18は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学媒体、またはプロセッサ16が命令を読み取ることができる任意の他の適切なメモリを含み得る。命令は、C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python、およびVisual Basicなどの任意の適切なコンピュータプログラミング言語からのコードを含み得るが、これらに限定されない。
メモリ18は、第1の暗号化回路20、第2の暗号化回路22、および解読回路24を含み得る。図示された実装形態では、回路20、22、および24は、メモリ18内に記憶されたコンピュータまたは機械可読命令を使用して実装され得る。他の実装形態では、回路20、22、および24は、別個のハードウェア回路であってもよく、ハードウェアとソフトウェアの組合せを使用して実装されてもよい。第1の暗号化回路20は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第1の暗号化回路20は、非対称暗号化機能を実装する。様々な実装形態では、第1の暗号化回路20は、ElGamal(EG)暗号化プロトコルを実装する。たとえば、第1の暗号化回路20は、第2のデータ処理システム300から受信したEG公開鍵でユーザ識別子を暗号化し得る。様々な実装形態では、第1の暗号化回路20は可換暗号(commutative encryption)を実装する。たとえば、第1の暗号化回路20は、二重暗号化された値(たとえば、2つの異なる暗号化方式で暗号化された単一の値)を容易にするEG暗号化を実装し得る。様々な実装形態では、第1の暗号化回路は、ランダム化された暗号化を容易にする。たとえば、第1の暗号化回路20は、第1の暗号化された結果を生成するために第1の鍵を使用して第1の値を暗号化し得、第1の暗号化された結果とは異なる第2の暗号化された結果を生成するために第1の鍵を使用して第1の値を再度暗号化し得る(たとえば、異なる暗号文を生成する)。様々な実装形態では、第1の暗号化回路20は再ランダム化を容易にする。
第2の暗号化回路22は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第2の暗号化回路22は非対称暗号化機能を実装する。様々な実装形態では、第2の暗号化回路22は暗号化鍵を生成する。たとえば、第2の暗号化回路22は、公開鍵および秘密鍵を生成し得る。いくつかの実装形態では、第2の暗号化回路22は、暗号化鍵をシステム100の他のコンポーネント(たとえば、第2のデータ処理システム300など)と共有する。たとえば、第2の暗号化回路22は、公開鍵を生成し、その公開鍵を第2のデータ処理システム300に送信し得る。様々な実装形態では、第2の暗号化回路22は、第1の暗号化回路20を参照して上述したように可換暗号を実装する。
解読回路24は、暗号化されたデータを受信し、暗号化されていないデータを生成するために、それを解読し得る。様々な実装形態では、解読回路24は、第3のデータ処理システム400から暗号化されたデータを受信する。解読回路24は、非対称に暗号化されたデータを解読し得る。それに加えて、または代わりに、解読回路24は、対称および/またはしきい値暗号化されたデータを解読し得る。様々な実装形態では、解読回路24は、第2の暗号化回路22から1つまたは複数の秘密(たとえば、秘密鍵など)を受信する。たとえば、解読回路24は、第2の暗号化回路22から秘密鍵を受信し、第3のデータ処理システム400から受信した暗号化されたデータを解読するためにその秘密鍵を使用し得る。
相互作用データプロバイダコンピューティングシステム30は、ユーザ識別子および/または値などの相互作用データをホストし得る。様々な実装形態では、相互作用データプロバイダコンピューティングシステム30は、相互作用データプロバイダ(たとえば、マーチャント、相互作用データクリアリングハウスなど)に関連付けられている。様々な実装形態では、相互作用データは、ユーザの商業活動(たとえば、購入など)に関連付けられている。たとえば、相互作用データは、オンライン取引を実行したユーザのユーザ識別子を含み得る。様々な実装形態では、相互作用データは、相互作用に関連付けられるタイムスタンプおよび/または値を含み得る。いくつかの実装形態では、相互作用データは、相互作用分類を含む。たとえば、相互作用データは、相互作用のタイプ(たとえば、ウェブサイト訪問、購入など)を示す相互作用分類を含み得る。様々な実装形態では、相互作用データは、パブリッシャコンピューティングシステム10を参照して説明したパブリッシャデータに関連付けられ得る。たとえば、相互作用データは、パブリッシャデータ内のユーザ識別子の一部と重複するユーザ識別子を含み得る。
相互作用データプロバイダコンピューティングシステム30は、データベース32および処理回路34を含み得る。データベース32は、相互作用データを記憶し得る。たとえば、ユーザ相互作用を検出すると、相互作用データプロバイダコンピューティングシステム30は、ユーザに関連付けられるユーザ識別子をデータベース32に記憶し得る。ユーザ識別子は、後で匿名の相互作用データを相関させるために使用され得る。データベース32は、1つまたは複数のストレージ媒体を含み得る。ストレージ媒体は、磁気ストレージ、光学ストレージ、フラッシュストレージ、および/またはRAMを含み得るが、これらに限定されない。相互作用データプロバイダコンピューティングシステム30は、データベース機能(すなわち、データベース32に記憶されたデータの管理)を実行するために、様々なAPIを実装してもよく、それを容易にしてもよい。APIは、SQL、ODBC、JDBC、および/または任意の他のデータストレージおよび操作APIにすることができるが、これらに限定されない。
処理回路34は、プロセッサ36およびメモリ38を含む。メモリ38は、プロセッサ36によって実行されると、処理回路34に、本明細書で説明する様々な演算を実行させる命令を記憶し得る。本明細書で説明する演算は、ソフトウェア、ハードウェア、またはそれらの組合せを使用して実装され得る。プロセッサ36は、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組合せを含み得る。多くの実装形態では、プロセッサ36は、マルチコアプロセッサまたはプロセッサのアレイであってもよい。プロセッサ36は、上述のように、安全な環境を実装または促進し得る。メモリ38は、電子、光学、磁気、またはプロセッサ36にプログラム命令を提供することができる任意の他のストレージデバイスを含み得るが、これらに限定されない。メモリ38は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学媒体、またはプロセッサ36が命令を読み取ることができる任意の他の適切なメモリを含み得る。命令は、C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python、およびVisual Basicなどの任意の適切なコンピュータプログラミング言語からのコードを含み得るが、これらに限定されない。
メモリ38は、第1の暗号化回路40、および第2の暗号化回路42を含み得る。第1の暗号化回路40は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第1の暗号化回路40は非対称暗号化機能を実装する。様々な実装形態では、第1の暗号化回路40は、暗号化(EG)を実装する。たとえば、第1の暗号化回路40は、第2のデータ処理システム300から受信したEG公開鍵でユーザ識別子を暗号化し得る。様々な実装形態では、第1の暗号化回路40は、第1の暗号化回路20を参照して説明したように、様々な暗号化機能(たとえば可換性、再ランダム化など)を容易にする。
第2の暗号化回路42は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第2の暗号化回路42は非対称暗号化機能を実装する。たとえば、第2の暗号化回路42は、準同型暗号システムを実装し得る。いくつかの実装形態では、第2の暗号化回路42は加法的暗号化機能を実装する。たとえば、第2の暗号化回路42は、加法準同型暗号化(AHE)を実装し得る。様々な実装形態では、第2の暗号化回路42は、指数ElGamal(EEG)プロトコルを実装する。それに加えて、または代わりに、第2の暗号化回路42は、パイリア暗号システムおよび/またはRing-LWEベースの暗号化を実装し得る。いくつかの実装形態では、第2の暗号化回路42は対称暗号化機能を実装する。様々な実装形態では、第2の暗号化回路42は、第3のデータ処理システム400から受信したAHE公開鍵を用いて値を暗号化する。いくつかの実装形態では、第2の暗号化回路42は、準同型スカラ乗算を容易にする。様々な実装形態では、第2の暗号化回路42は、第1の暗号化回路20を参照して説明したように、様々な暗号化機能(たとえば可換性、再ランダム化など)を容易にする。
次に特に図1Aを参照すると、第1のデータ処理システム200は、パブリッシャデータおよび/または相互作用データの処理を容易にし得る。様々な実装形態では、第1のデータ処理システム200は、処理済みデータ(たとえば、個人情報を含まないデータまたはより少ない個人情報を含むデータなど)を生成するために、データを受信し、そのデータを処理する。いくつかの実装形態では、第1のデータ処理システム200は、差分プライベートデータを生成する。いくつかの実装形態では、第1のデータ処理システム200は暗号化鍵を生成する。たとえば、第1のデータ処理システム200は、第2のデータ処理システム300と協力してEG公開鍵を生成することができる。第1のデータ処理システム200は、サーバ、分散処理クラスタ、クラウド処理システム、または任意の他のコンピューティングデバイスであり得る。第1のデータ処理システム200は、少なくとも1つのコンピュータプログラムまたは少なくとも1つのスクリプトを含むか、または実行し得る。いくつかの実装形態では、第1のデータ処理システム200は、1つまたは複数のスクリプトを実行するように構成された1つまたは複数のプロセッサなど、ソフトウェアとハードウェアの組合せを含む。
第1のデータ処理システム200は、データベース210および処理回路220を含むように示されている。データベース210は、パブリッシャコンピューティングシステム10および/または相互作用データプロバイダコンピューティングシステム30から受信したデータを記憶し得る。たとえば、データベース210は、パブリッシャコンピューティングシステム10からの暗号化された第1の識別子、ならびに/あるいは相互作用データプロバイダコンピューティングシステム30からの暗号化された第2の識別子および/または暗号化された値を記憶し得る。データベース210は、データベース12および32を参照して説明したように、様々なストレージ媒体を含み得る。
処理回路220は、プロセッサ230およびメモリ240を含む。メモリ240は、プロセッサ230によって実行されると、処理回路220に本明細書で説明する様々な演算を実行させる命令を記憶し得る。処理回路220、プロセッサ230、および/またはメモリ240は、上述の処理回路14および34、プロセッサ16および36、ならびに/またはメモリ18および38と同様であり得る。メモリ240は、第1の暗号化回路242、第2の暗号化回路244、解読回路246、およびランダム化回路248を含み得る。
第1の暗号化回路242は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第1の暗号化回路242は非対称暗号化機能(たとえば、EGなど)を実装する。いくつかの実装形態では、第1の暗号化回路242は楕円曲線上でEG暗号化を実装する。たとえば、第1の暗号化回路242は、EC暗号化を実装するために第2の暗号化回路244によって使用される楕円曲線上でEG暗号化を実装し得る。様々な実装形態では、第1の暗号化回路242は暗号化鍵を生成する。たとえば、第1の暗号化回路242は、公開鍵および秘密鍵を生成し得る。いくつかの実装形態では、第1の暗号化回路242は、第2のデータ処理システム300と協力してEG公開鍵を生成する。いくつかの実装形態では、第1の暗号化回路242は、暗号化鍵(または、その一部)をシステム100の他のコンポーネント(たとえば、パブリッシャコンピューティングシステム10、相互作用データプロバイダコンピューティングシステム30など)と共有する。たとえば、第1の暗号化回路242は、EG公開鍵を第2のデータ処理システム300と協力して生成し、EG公開鍵をパブリッシャコンピューティングシステム10および/または相互作用データプロバイダコンピューティングシステム30に送信し得る。様々な実装形態では、第1の暗号化回路242は、第1の暗号化回路20を参照して説明したように、様々な暗号化機能(たとえば可換性、再ランダム化など)を容易にする。
第2の暗号化回路244は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。様々な実装形態では、第2の暗号化回路244は対称暗号化機能を実装する。たとえば、第2の暗号化回路244は、楕円曲線(EC)暗号化を実装し得る。それに加えて、または代わりに、第2の暗号化回路244は、二次剰余の乗法群が安全な素数を法とするように、決定ディフィ-ヘルマン(DDH)問題が計算上扱いにくいと推定される任意の暗号システムを実装し得る。いくつかの実装形態では、第2の暗号化回路244は、非対称暗号化機能を実装する。様々な実装形態では、第2の暗号化回路244は暗号化鍵を生成する。たとえば、第2の暗号化回路244は、EC秘密鍵を生成し得る。いくつかの実装形態では、第2の暗号化回路244は、他の第2の暗号化回路244と協力していくつかのEC秘密鍵を生成する(たとえば、共同暗号化などのために)。様々な実装形態では、第2の暗号化回路244は、識別子をEC秘密鍵で暗号化する。様々な実装形態では、第2の暗号化回路244は決定論的暗号化を実装する。たとえば、第2の暗号化回路244は、第1の暗号化された結果を生成するために第1の鍵で第1の値を暗号化し得、第1の暗号化された結果と同じである第2の暗号化された結果を生成するために第1の鍵で第1の値を再度暗号化し得る。様々な実装形態では、第2の暗号化回路244は、等しいかどうかを比較され得る暗号化されたデータの生成を容易にする(たとえば、同じ鍵で暗号化された2つの値を比較するなど)。様々な実装形態では、第2の暗号化回路244は、第1の暗号化回路20を参照して説明したように、様々な暗号化機能(たとえば可換性、再ランダム化など)を容易にする。いくつかの実装形態では、第2の暗号化回路244は、共同暗号化を容易にする。たとえば、データアイテムを暗号化するために、いくつかの第2の暗号化回路244が協働し得る(たとえば、それぞれが暗号化の一部を追加するなど)。
解読回路246は、暗号化されたデータを受信し、暗号化されていないデータを生成するために、それを解読し得る。様々な実装形態では、解読回路246は、パブリッシャコンピューティングシステム10および/または相互作用データプロバイダコンピューティングシステム30から暗号化されたデータを受信する。たとえば、解読回路246は、パブリッシャコンピューティングシステム10から暗号化された第1の識別子、および/または相互作用データプロバイダコンピューティングシステム30から暗号化された第2の識別子を受信し得る。解読回路246は、非対称に暗号化されたデータを解読し得る。それに加えて、または代わりに、解読回路246は、対称および/またはしきい値暗号化されたデータを解読し得る。様々な実装形態では、解読回路246は、第1の暗号化回路242から1つまたは複数の秘密(たとえば、秘密鍵など)を受信する。たとえば、解読回路246は、第1の暗号化回路242から秘密鍵(たとえば、EG秘密鍵など)を受信し、パブリッシャコンピューティングシステム10および/または相互作用データプロバイダコンピューティングシステム30から受信した暗号化されたデータを少なくとも部分的に解読するためにその秘密鍵を使用し得る。
ランダム化回路248は、データを受信し、ランダム化されたデータを生成するために様々なランダム化機能を実行し得る。非限定的な例として、ランダム化回路248は、暗黙的/間接的識別子(たとえば、到着時間、順序、発信IPアドレスなど)の除去、バッチ処理の実行、ノイズの導入、および/または任意の他の匿名化動作の実行を容易にし得る。様々な実装形態では、ランダム化回路248は、シャッフルされたデータを生成するために、受信されたデータをシャッフル(たとえば、再配置、順序変更など)する。いくつかの実装形態では、ランダム化回路248は、ハッシュされたデータを生成するために、入力データに1つまたは複数のハッシュ関数を実装する。たとえば、ランダム化回路248は、SHA-2、Scrypt、Balloon、および/またはArgon2ハッシュ関数を実装し得る。いくつかの実装形態では、ランダム化回路248は、後続の暗号化ラウンドを適用することによって暗号文の再ランダム化を容易にする。たとえば、ランダム化回路248は、EG暗号化値を最初に暗号化するために使用されたのと同じ鍵でEG暗号化値を2回暗号化することによって、EG暗号化値を再ランダム化し得る。
第2のデータ処理システム300は、異なるエンティティからのデータを安全に相関させることを容易にし得る。様々な実装形態では、第2のデータ処理システム300は、暗号化されたパブリッシャデータおよび/または暗号化された相互作用データを受信し、集計相互作用データ(たとえば、集計値など)を生成するために受信したデータを処理する。たとえば、第2のデータ処理システム300は、ユーザ識別子を結合し、相互作用に関連付けられる集計値を決定し、様々なパブリッシャ間でクレジットを分散するために集計演算を実行し得る。第2のデータ処理システム300は、少なくとも1つのコンピュータプログラムまたは少なくとも1つのスクリプトを含むか、または実行し得る。いくつかの実装形態では、第2のデータ処理システム300は、1つまたは複数のスクリプトを実行するように構成された1つまたは複数のプロセッサなど、ソフトウェアとハードウェアの組合せを含む。
第2のデータ処理システム300は、プロセッサ320およびメモリ330を有する処理回路310を含むように示されている。メモリ330は、プロセッサ320によって実行されると、処理回路310に本明細書で説明する様々な演算を実行させる命令を記憶し得る。処理回路310、プロセッサ320、および/またはメモリ330は、上述の処理回路14および34、プロセッサ16および36、ならびに/またはメモリ18および38と同様であり得る。メモリ330は、第1の暗号化回路332、第2の暗号化回路334、解読回路336、および分析回路338を含み得る。
第1の暗号化回路332は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第1の暗号化回路332は非対称暗号化機能(たとえば、EGなど)を実装する。いくつかの実装形態では、第1の暗号化回路332は楕円曲線上でEG暗号化を実装する。たとえば、第1の暗号化回路332は、EC暗号化を実装するために第2の暗号化回路334によって使用される楕円曲線上でEG暗号化を実装し得る。様々な実装形態では、第1の暗号化回路332は、第1の暗号化回路242と同様である。いくつかの実装形態では、第1の暗号化回路332は暗号化鍵を生成する。たとえば、第1の暗号化回路332は、公開鍵(たとえば、EG公開鍵)および秘密鍵(たとえば、EG秘密鍵)を生成し得る。いくつかの実装形態では、第1の暗号化回路332は、第1のデータ処理システム200と協力してEG公開鍵を生成する。いくつかの実装形態では、第1の暗号化回路332は、暗号化鍵(または、その一部)をシステム100の他のコンポーネント(たとえば、パブリッシャコンピューティングシステム10、相互作用データプロバイダコンピューティングシステム30など)と共有する。様々な実装形態では、第1の暗号化回路332は、第1の暗号化回路20を参照して説明したように、様々な暗号化機能(たとえば可換性、再ランダム化など)を容易にする。
第2の暗号化回路334は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、第2の暗号化回路334は非対称暗号化機能を実装する。たとえば、第2の暗号化回路334は、Rivest-Shamir-Adleman (RSA)暗号システムを実装し得る。追加の例として、第2の暗号化回路334は、パブリッシャコンピューティングシステム10から受信した公開鍵でランダム値を暗号化し得る。様々な実装形態では、第2の暗号化回路334はマスキング演算を実装する。たとえば、第2の暗号化回路334は、暗号化されマスクされた集計値を生成するために、暗号化された集計値をマスクし得る。マスキング演算については、図11を参照してより詳細に説明する。
解読回路336は、暗号化されたデータを受信し、暗号化されていないデータを生成するために、それを解読し得る。様々な実装形態では、解読回路336は、第1のデータ処理システム200から暗号化されたデータを受信する。たとえば、解読回路336は、第1のデータ処理システム200から暗号化された第1および第2の識別子を受信し得る。解読回路336は、非対称に暗号化されたデータを解読し得る。それに加えて、または代わりに、解読回路336は、対称および/またはしきい値暗号化されたデータを解読し得る。様々な実装形態では、解読回路336は、第1の暗号化回路332から1つまたは複数の秘密(たとえば、秘密鍵など)を受信する。たとえば、解読回路336は、第1の暗号化回路332から秘密鍵(たとえば、EG秘密鍵など)を受信し、第1のデータ処理システム200から受信した暗号化されたデータを少なくとも部分的に解読するためにその秘密鍵を使用し得る。
分析回路338は、匿名の(たとえば、暗号化されたなどの)パブリッシャデータおよび/または相互作用データを受信し、集計相互作用データ(たとえば、集計値など)を生成し得る。様々な実装形態では、分析回路338は、受信されたデータを記述する統計測定値を生成するために、受信データに統計演算を実行する。たとえば、分析回路338は、パブリッシャとのオンライン相互作用に関連付けられる集計値を決定し得る。様々な実装形態では、分析回路338は、ユーザ識別子の結合を容易にする。たとえば、分析回路338は、パブリッシャデータからの第1のユーザ識別子を相互作用データからの第2のユーザ識別子と結合し得る。様々な実装形態では、分析回路338は、暗号化された識別子の結合を容易にし、それによってユーザのプライバシを保護する。いくつかの実装形態では、分析回路338は、オンライン相互作用に関連付けられるパブリッシャ間でクレジットを分散することを容易にする。
第3のデータ処理システム400は、第2のデータ処理システム300によって生成された集計相互作用データ(たとえば、集計値など)を安全に分散することを容易にし得る。たとえば、第3のデータ処理システム400は、暗号化されマスクされた集計値を第2のデータ処理システム300から受信し、マスクされた集計値を生成するために暗号化されマスクされた集計値を解読し、マスクされた集計値を1つまたは複数のパブリッシャに送信し得る。第3のデータ処理システム400は、少なくとも1つのコンピュータプログラムまたは少なくとも1つのスクリプトを含むか、または実行し得る。いくつかの実装形態では、第3のデータ処理システム400は、1つまたは複数のスクリプトを実行するように構成された1つまたは複数のプロセッサなど、ソフトウェアとハードウェアの組合せを含む。
第3のデータ処理システム400は、プロセッサ420およびメモリ430を有する処理回路410を含むように示されている。メモリ430は、プロセッサ420によって実行されると、処理回路410に本明細書で説明する様々な演算を実行させる命令を記憶し得る。処理回路410、プロセッサ420、および/またはメモリ430は、上述の処理回路14および34、プロセッサ16および36、ならびに/またはメモリ18および38と同様であり得る。メモリ430は、暗号化回路432、ランダム化回路434、および解読回路436を含み得る。
暗号化回路432は、暗号化されたデータを生成するために、入力データに対して1つまたは複数の暗号化機能を実装し得る。いくつかの実装形態では、暗号化回路432は非対称暗号化機能(たとえば、EG、AHEなど)を実装する。様々な実装形態では、暗号化回路432は、第2の暗号化回路42と同様である。いくつかの実装形態では、暗号化回路432は暗号化鍵を生成する。たとえば、暗号化回路432は、公開鍵(たとえば、AHE公開鍵)および秘密鍵(たとえば、AHE秘密鍵)を生成し得る。いくつかの実装形態では、暗号化回路432は、システム100の他のコンポーネント(たとえば、相互作用データプロバイダコンピューティングシステム30など)と暗号化鍵を共有する。様々な実装形態では、暗号化回路432は、第2の暗号化回路42を参照して説明したように、様々な暗号化機能(たとえば、加法性、スカラ乗算など)を容易にする。
ランダム化回路434は、データを受信し、ランダム化されたデータを生成するために様々なランダム化機能を実行し得る。様々な実装形態では、ランダム化回路434は、ランダム化回路248と同様である。いくつかの実装形態では、ランダム化回路434は、後続の暗号化ラウンドを適用することによって暗号文の再ランダム化を容易にする。たとえば、ランダム化回路434は、AHE暗号化値を最初に暗号化するために使用されたのと同じ鍵でAHE暗号化値を2回暗号化することによって、AHE暗号化値を再ランダム化し得る。
解読回路436は、暗号化されたデータを受信し、暗号化されていないデータを生成するために、それを解読し得る。様々な実装形態では、解読回路436は、第2のデータ処理システム300から暗号化されたデータを受信する。たとえば、解読回路436は、第2のデータ処理システム300から、暗号化された集計値および/または暗号化されマスクされた集計値を受信し得る。解読回路436は、非対称に暗号化されたデータを解読し得る。それに加えて、または代わりに、解読回路436は、対称および/またはしきい値暗号化されたデータを解読し得る。様々な実装形態では、解読回路436は、暗号化回路432から1つまたは複数の秘密(たとえば、秘密鍵など)を受信する。たとえば、解読回路436は、暗号化回路432から秘密鍵(たとえば、AHE秘密鍵など)を受信し、第2のデータ処理システム300から受信した暗号化されたデータを少なくとも部分的に解読するためにその秘密鍵を使用し得る。いくつかの実装形態では、解読回路436は、共同解読を容易にする。たとえば、暗号化されたデータアイテムを解読するために、いくつかの解読回路436が協働し得る(たとえば、それぞれが暗号化の一部を除去するなど)。
次に図2を参照すると、例示的な実装形態による、異なるエンティティからデータを安全に伝送し、集計相互作用データを決定するための改良されたコンピュータアーキテクチャが示されている。簡単にまとめると、パブリッシャコンピューティングシステム10に関連付けられるパブリッシャは、クライアントデバイス(たとえば、スマートフォン、コンピュータなど)を使用してコンテンツアイテムをユーザに提供し得る。いくつかの実装形態では、コンテンツアイテムは特定のユーザに固有である。相互作用データプロバイダコンピューティングシステム30に関連付けられる相互作用データプロバイダは、ユーザがいつコンテンツアイテムと相互作用するかを検出し得る。たとえば、ビデオを見せられたユーザはビデオをクリックする場合がある。コンテンツアイテムとのユーザ相互作用を測定することが望ましい。たとえば、ビデオを提供するパブリッシャは、何人のユーザがビデオをクリックしたかを知りたい場合がある。それに加えて、または代わりに、ユーザは、コンテンツアイテムとの相互作用の結果として、パブリッシャによって提供される他のコンテンツと相互作用し得る。たとえば、ビデオを見せられたユーザは、ビデオにおいて紹介されていたアイテムを購入するために、パブリッシャによって維持されるウェブサイトに後でアクセスする場合がある。いくつかの実装形態では、相互作用がオンラインコンバージョンであるか、オンラインコンバージョンに関連付けられている。様々な実装形態では、コンテンツアイテムとのユーザ相互作用を測定するには、パブリッシャからの情報(たとえば、パブリッシャデータなど)を相互作用データプロバイダからの情報(たとえば、相互作用データなど)と比較する必要がある。したがって、個人情報を漏えいすることなく、オンラインコンテンツとのユーザ相互作用を安全かつ匿名で測定するシステムが必要である。本明細書で説明する新規の暗号化およびコンピュータアーキテクチャは、個人情報を漏えいすることなく、オンラインコンテンツとのユーザ相互作用の安全かつ匿名の測定を容易にする。
ステップ502において、第1のデータ処理システム200および第2のデータ処理システム300は協力してEG公開鍵を生成する。いくつかの実装形態では、第2のデータ処理システム300はEG公開鍵のみを生成する。いくつかの実装形態では、複数の第1のデータ処理システム200は、第2のデータ処理システム300と協力してEG公開鍵を生成する。様々な実装形態では、EG公開鍵は、楕円曲線上でEG暗号化を実装することによって生成されるEG公開鍵である。
ステップ504において、第1のデータ処理システム200は、EG公開鍵をパブリッシャコンピューティングシステム10および相互作用データプロバイダコンピューティングシステム30に伝送する。それに加えて、または代わりに、第2のデータ処理システム300は、EG公開鍵をパブリッシャコンピューティングシステム10および/または相互作用データプロバイダコンピューティングシステム30に伝送し得る。たとえば、第1のデータ処理システム200および第2のデータ処理システム300はそれぞれEG公開鍵をパブリッシャコンピューティングシステム10および相互作用データプロバイダコンピューティングシステム30に送信し得、相互作用データプロバイダコンピューティングシステム30は、第1のデータ処理システム200および第2のデータ処理システム300から受信したキーが同じであることを検証し得る。
ステップ506において、第3のデータ処理システム400は、AHE公開鍵をパブリッシャコンピューティングシステム10および相互作用データプロバイダコンピューティングシステム30に伝送する。ステップ508において、パブリッシャコンピューティングシステム10および相互作用データプロバイダコンピューティングシステム30は、データを第1のデータ処理システム200に伝送する。様々な実装形態では、データは暗号化される。たとえば、データの一部はEG公開鍵を使用して暗号化し得、データの一部はAHE公開鍵を使用して暗号化し得る。様々な実装形態では、パブリッシャコンピューティングシステム10は、暗号化されたパブリッシャデータを伝送し、相互作用データプロバイダコンピューティングシステム30は、暗号化された相互作用データを送信する。様々な実装形態では、暗号化されたパブリッシャデータは、第1の暗号化された識別子を含む。いくつかの実装形態では、パブリッシャのデータは、タイムスタンプおよび/または相互作用の数を含む。様々な実装形態では、暗号化された相互作用データは、第2の暗号化された識別子および暗号化された値を含む。いくつかの実装形態では、相互作用データは、タイムスタンプおよび/または傾向データを含む。様々な実装形態では、第1および第2の暗号化された識別子はEG公開鍵を使用して暗号化され得、暗号化された値はAHE公開鍵を使用して暗号化され得る。
ステップ510において、第1のデータ処理システム200は、データを第2のデータ処理システム300に伝送する。様々な実装形態では、データは暗号化される。たとえば、データの一部は、EC秘密鍵を使用した暗号化の第1の層と、EG公開鍵を使用した部分暗号化の第2の層を有し得、データの一部は、AHE公開鍵を使用した暗号化の層を有し得る。様々な実装形態では、データは、暗号化されたパブリッシャデータおよび暗号化された相互作用データを含む。
ステップ512において、第2のデータ処理システム300は、データを第3のデータ処理システム400に伝送する。様々な実装形態では、データは暗号化される。たとえば、データはAHE公開鍵を使用して暗号化され得る。いくつかの実装形態では、データはマスクされる。たとえば、データにランダムな整数が追加されている場合がある。様々な実装形態では、データは暗号化された集計値を含む。いくつかの実装形態では、データは、1つまたは複数のパブリッシャに関連付けられる暗号化されたパブリッシャクレジットを含む。様々な実装形態では、第3のデータ処理システム400は、パブリッシャクレジットを1つまたは複数のパブリッシャ(たとえば、パブリッシャコンピューティングシステム10など)に伝送し得る。
次に図3A~図3Dを参照すると、例示的な実装形態による鍵生成プロセス600が示されている。様々な実装形態では、鍵生成プロセス600(または、その要素)は連続的に発生する。たとえば、システム100は、処理されるデータの新しいセットごとに鍵生成プロセス600を実行し得る。いくつかの実装形態では、鍵生成プロセス600は定期的に発生する。たとえば、システム100は、鍵生成プロセス600を毎時間、毎日、毎週、および/または同様に実行し得る。次に特に図3Aを参照すると、例示的な実装形態による、第1のデータ処理システム200のための鍵生成プロセス600が示されている。ステップ602において、第1のデータ処理システム200は、第2のデータ処理システム300と協力して第1の公開鍵を生成する。それに加えて、または代わりに、いくつかの第1のデータ処理システム200は、第2のデータ処理システム300と協力して第1の公開鍵を生成し得る。たとえば、第1のデータ処理システム200は、分散処理システムであってもよく、第1のデータ処理システム200のいくつかの分散コンポーネントは、第2のデータ処理システム300と協力して第1の公開鍵を生成し得る。追加の例として、第2のデータ処理システム300と協力して第1の公開鍵を生成し得る第1のデータ処理システム200の多くのコピーが存在し得る。様々な実装形態では、第1の公開鍵はEG公開鍵である。たとえば、第1の公開鍵は、楕円曲線上でEG暗号化を実装することによって生成される第1の公開鍵であり得る。いくつかの実装形態では、ステップ602は省略され、第2のデータ処理システム300は第1の公開鍵のみを生成する。
ステップ604において、第1のデータ処理システム200は、第1の公開鍵に関連付けられる第1の秘密鍵を生成する。様々な実装形態では、第1の秘密鍵はEG秘密鍵である。いくつかの実装形態では、第1のデータ処理システム200は、いくつかの第1の秘密鍵を生成する。たとえば、第1のデータ処理システム200は、第2のデータ処理システム300と協力して第1の公開鍵を生成する分散処理システムであってもよく、第1のデータ処理システム200のいくつかの分散コンポーネントはそれぞれ独自の第1の秘密鍵を生成してもよい。様々な実装形態では、第1の秘密鍵と第1の公開鍵は鍵ペアである。いくつかの実装形態では、ステップ604が省略され、第2のデータ処理システム300が第1の公開鍵のみを生成する。
ステップ606において、第1のデータ処理システム200は、第2の秘密鍵を生成する。様々な実装形態では、第2の秘密鍵はEC秘密鍵である。たとえば、第2の秘密鍵は、楕円曲線上でEC暗号化を実施することによって生成される秘密鍵であってもよい。様々な実装形態では、第2の秘密鍵を生成するために使用される楕円曲線は、上述のステップ602において第1の公開鍵を生成するために使用される楕円曲線と同じかまたは類似している。いくつかの実装形態では、第1のデータ処理システム200は、いくつかの第2の秘密鍵を生成する。たとえば、第1のデータ処理システム200は分散処理システムであってもよく、第1のデータ処理システム200のいくつかの分散コンポーネントはそれぞれ独自の第2の秘密鍵を生成してもよい。
次に特に図3Bを参照すると、例示的な実装形態による、第2のデータ処理システム300のための鍵生成プロセス600が示されている。ステップ608において、第2のデータ処理システム300は、第1のデータ処理システム200と協力して第1の公開鍵を生成する。様々な実装形態では、第1の公開鍵はEG公開鍵である。様々な実装形態では、第1の公開鍵は、上述のステップ606において説明した第2の秘密鍵を生成するために使用されたのと同じ楕円曲線上でEG暗号化を実装することによって生成される。いくつかの実装形態では、第2のデータ処理システム300は、いくつかの第1のデータ処理システム200と協力して第1の公開鍵を生成する。それに加えて、または代わりに、第2のデータ処理システム300は、第1の公開鍵のみを生成し得る。
ステップ610において、第2のデータ処理システム300は、第1の公開鍵に関連付けられる第3の秘密鍵を生成する。様々な実装形態では、第3の秘密鍵はEG秘密鍵である。様々な実装形態では、第3の秘密鍵と第1の公開鍵は鍵ペアである。
次に特に図3Cを参照すると、例示的な実装形態による、第3のデータ処理システム400のための鍵生成プロセス600が示されている。ステップ612において、第3のデータ処理システム400は第2の公開鍵を生成する。様々な実装形態では、第2の公開鍵はAHE公開鍵である。いくつかの実装形態では、第3のデータ処理システム400は、いくつかの第2の公開鍵を生成する。たとえば、第3のデータ処理システム400は分散処理システムであってもよく、第3のデータ処理システム400のいくつかの分散コンポーネントはそれぞれ独自の第2の公開鍵を生成してもよい。
ステップ614において、第3のデータ処理システム400は、第2の公開鍵に関連付けられる第4の秘密鍵を生成する。様々な実装形態では、第4の秘密鍵はAHE秘密鍵である。いくつかの実装形態では、第3のデータ処理システム400は、いくつかの第4の秘密鍵を生成する。たとえば、第3のデータ処理システム400は分散処理システムであってもよく、第3のデータ処理システム400のいくつかの分散コンポーネントはそれぞれ独自の第4の秘密鍵を生成してもよい。様々な実装形態では、第4の秘密鍵と第2の公開鍵は鍵ペアである。
次に特に図3Dを参照すると、例示的な実装形態による、パブリッシャコンピューティングシステム10の鍵生成プロセス600が示されている。いくつかの実装形態では、パブリッシャコンピューティングシステム10は、鍵を生成しない。ステップ616において、パブリッシャコンピューティングシステム10は、第3の公開鍵を生成する。様々な実装形態では、第3の公開鍵は非対称暗号化公開鍵である。いくつかの実装形態では、いくつかのパブリッシャが、いくつかの第3の公開鍵を生成し得、第3の公開鍵の各々は、多数のパブリッシャのうちの1つに対応する。いくつかの実装形態では、ステップ616は、異なる相互作用ストリーム(たとえば、モバイル、ウェブなど)ごとにいくつかの第3の公開鍵を生成することを含む。
ステップ618において、パブリッシャコンピューティングシステム10は、第3の公開鍵に関連付けられる第5の秘密鍵を生成する。様々な実装形態では、第5の秘密鍵は非対称暗号化秘密鍵である。様々な実装形態では、第5の秘密鍵と第3の公開鍵は鍵ペアである。
次に図4A~図4Bを参照すると、例示的な実装形態による、相互作用データを安全に転送し、相関させる方法700が示されている。ステップ702において、システム100は鍵生成プロセスを実行する。様々な実装形態では、鍵生成プロセスは、図3A~図3Dを参照して上で詳細に説明したように実行され得る。ステップ710において、パブリッシャコンピューティングシステム10は、第1の公開鍵を使用して第1の識別子を暗号化する。様々な実装形態では、第1の公開鍵は、第2のデータ処理システム300から受信したEG公開鍵である。様々な実装形態では、第1の識別子は、パブリッシャコンテンツと相互作用した(たとえば、広告を閲覧した、リンクをクリックしたなど)ユーザのユーザ識別子である。ステップ712において、パブリッシャコンピューティングシステム10は、データを第1のデータ処理システム200に伝送する。様々な実装形態では、データは暗号化された第1の識別子を含む。たとえば、データは、第2のデータ処理システム300からのEG公開鍵を使用して暗号化された第1の識別子を含み得る。いくつかの実装形態では、データは、タイムスタンプおよび/または数量を含む。
ステップ720において、相互作用データプロバイダコンピューティングシステム30は、第1の公開鍵を使用して第2の識別子を暗号化する。様々な実装形態では、第1の公開鍵はEG公開鍵である。様々な実装形態では、第2の識別子は、オンライン相互作用(たとえば、購入など)を完了したユーザのユーザ識別子である。ステップ722において、相互作用データプロバイダコンピューティングシステム30は、第2の公開鍵を使用して値を暗号化する。様々な実装形態では、第2の公開鍵は、第3のデータ処理システム400から受信したAHE公開鍵である。様々な実装形態では、値は、ユーザによって完了されたオンライン相互作用に関連付けられる値の量(たとえば、購入金額など)である。ステップ724において、相互作用データプロバイダコンピューティングシステム30は、データを第1のデータ処理システム200に伝送する。様々な実装形態では、データは、暗号化された第2の識別子および暗号化された値を含む。たとえば、データは、第2のデータ処理システム300からのEG公開鍵を使用して暗号化された第2の識別子と、第3のデータ処理システム400からのAHE公開鍵を使用して暗号化された値とを含み得る。いくつかの実装形態では、データは、タイムスタンプおよび/または傾向データを含む。
ステップ730において、第1のデータ処理システム200は、パブリッシャコンピューティングシステム10から暗号化された第1の識別子を受信し、相互作用データプロバイダのコンピューティングシステム30から暗号化された第2の識別子および暗号化された値を受信する。いくつかの実装形態では、第1のデータ処理システム200は、追加情報(たとえば、タイムスタンプ、数量、傾向データなど)を受信する。ステップ732において、第1のデータ処理システム200は、部分的に暗号化された第1および第2の識別子を生成するために、第1の秘密鍵を使用して、暗号化された第1および第2の識別子から暗号化の第1の部分を除去する。様々な実装形態では、第1の秘密鍵は、第1のデータ処理システム200によって生成されたEG秘密鍵である。たとえば、第1のデータ処理システム200および第2のデータ処理システム300は、解読するために、第1のデータ処理システム200からの第1のEG秘密鍵、および第2のデータ処理システム300からの第2のEG秘密鍵を必要とするEG公開鍵を協力して生成し得る。いくつかの実装形態では、ステップ732は省略され、第2のデータ処理システム300はEG暗号化だけを除去する。それに加えて、または代わりに、いくつかの第1のデータ処理システム200が協力して、第1および第2の識別子から暗号化の第1の部分を除去し得る。たとえば、いくつかの第1のデータ処理システム200および第2のデータ処理システム300は、解読するために、いくつかの第1のデータ処理システム200の各々からの第1の数のEG秘密鍵、および第2のデータ処理システム300から第2のEG秘密鍵を必要とするEG公開鍵を協力して生成し得る。様々な実装形態では、暗号化の第1の部分は、第1のEG秘密鍵によって除去することができるEG暗号化の部分である。
ステップ734において、第1のデータ処理システム200は、隠蔽された暗号化された第1および第2の識別子を生成するために、部分的に暗号化された第1および第2の識別子を第2の秘密鍵を使用して暗号化する。様々な実装形態では、第2の秘密鍵は、第1のデータ処理システム200によって生成されたEC秘密鍵である。様々な実装形態では、隠蔽された暗号化された第1および第2の識別子は、EG暗号化の第1の部分層とEC暗号化の第2の層を有する。ステップ736において、第1のデータ処理システム200は、隠蔽された暗号化された第1の識別子および/または隠蔽された暗号化された第2の識別子のうちの少なくともいくつかに対してランダム化演算を実行する。たとえば、ランダム化演算は、暗号化暗号文の再ランダム化を含み得る。ステップ738において、第1のデータ処理システム200は、データを第2のデータ処理システム300に伝送する。様々な実装形態では、データは、隠蔽された暗号化された第1および第2の識別子、ならびに暗号化された値を含む。いくつかの実装形態では、データは追加情報(たとえば、タイムスタンプ、数量、傾向データなど)を含む。
ステップ740において、第2のデータ処理システム300は、隠蔽された暗号化された第1および第2の識別子、ならびに暗号化された値を第1のデータ処理システム200から受信する。いくつかの実装形態では、第2のデータ処理システム300は追加情報(たとえば、タイムスタンプ、数量、傾向データなど)を受信する。ステップ742において、第2のデータ処理システム300は、隠蔽された第1および第2の識別子を生成するために、隠蔽された暗号化された第1および第2の識別子を第3の秘密鍵を使用して解読する。様々な実装形態では、ステップ742は、第2のデータ処理システム300によって保持されるEG秘密鍵に対応するEG暗号化の第2の部分を除去することを含む。いくつかの実装形態では、第2のデータ処理システム300は、それ自体によって(たとえば、第1のデータ処理システム200なしで)EG暗号化全体を除去する。様々な実装形態では、隠蔽された第1および第2の識別子は、EC暗号化された第1および第2の識別子である。
ステップ750において、第2のデータ処理システム300は、暗号化された集計値を生成するために、隠蔽された第1および第2の識別子、ならびに暗号化された値を使用して集計演算を実行する。様々な実装形態では、集計演算は、隠蔽された第1および第2の識別子を結合し、暗号化された値に関連付けられるクレジットを分散することを含む。集計演算については、図5~図10を参照して以下でより詳細に説明する。様々な実装形態では、暗号化された集計値は、特定のパブリッシャおよび/または相互作用経路に関連付けられる値の量である。様々な実装形態では、暗号化された集計値は、複数の値の量を含む(たとえば、それぞれが異なるパブリッシャおよび/または相互作用経路に関連付けられているなど)。様々な実装形態では、暗号化された集計値は、AHE暗号化で暗号化される。
ステップ760において、第2のデータ処理システム300は、暗号化されマスクされた集計値を生成するために、暗号化された集計値に対してマスキング演算を実行する。いくつかの実装形態では、マスキング演算は、ランダムな整数を追加することを含む。マスキング演算については、図11を参照して以下でより詳細に説明する。いくつかの実装形態では、ステップ760は省略される。ステップ744において、第2のデータ処理システム300は、暗号化されマスクされた集計値を第3のデータ処理システム400に伝送する。様々な実装形態では、暗号化されマスクされた集計値は、複数の値を含み得る(たとえば、それぞれが異なるパブリッシャおよび/または相互作用経路に関連付けられているなど)。
ステップ770において、第3のデータ処理システム400は、第2のデータ処理システム300から暗号化されマスクされた集計値を受信する。様々な実装形態では、暗号化されマスクされた集計値は、上述のように複数の値を含む。ステップ772において、第3のデータ処理システム400は、マスクされた集計値を生成するために、第4の秘密鍵を使用して暗号化されマスクされた集計値を解読する。様々な実装形態では、第4の秘密鍵は、第3のデータ処理システム400によって生成されたAHE秘密鍵である。様々な実装形態では、マスクされた集計値は、ランダムな整数が追加された集計値である。ステップ774において、第3のデータ処理システム400は、マスクされた集計値をパブリッシャコンピューティングシステム10に伝送する。いくつかの実装形態では、ステップ774は、いくつかのマスクされた集計値を伝送することを含む。たとえば、第3のデータ処理システム400は、それぞれが異なる相互作用経路および/または異なるパブリッシャに関連付けられた、いくつかのマスクされた集計値を伝送し得る。
次に図5~図10を参照すると、ステップ750が、例示的な実装形態に従ってより詳細に示されている。様々な実装形態では、第2のデータ処理システム300はステップ750を実行する。ステップ752において、第2のデータ処理システム300は、隠蔽された第1および第2の識別子を結合する。様々な実装形態では、隠蔽された第1および第2の識別子を結合することは、隠蔽された第1および第2の識別子の暗号文を比較することを含む。たとえば、暗号文「svf414fal20」を有する隠蔽された第1の識別子は、暗号文「svf414fal20」を有する隠蔽された第2の識別子と結合(たとえば、照合など)され得る。様々な実装形態では、ステップ752は、隠蔽された識別子によってデータを行にグループ化することを含む。
ステップ754において、第2のデータ処理システム300は、パブリッシャ間でクレジットを分散する。それに加えて、または代わりに、第2のデータ処理システム300は、相互作用経路間でクレジットを分散し得る。様々な実装形態では、ステップ754は、クレジットを分散するために行全体に関数を計算することを含む。ステップ754については、図6~図10を参照して以下でより詳細に説明する。様々な実装形態では、クレジットは、ルールベースの属性に従って分散される。たとえば、第2のデータ処理システム300は、ファーストインプレッションスキーム(たとえば、最初の相互作用がすべてのクレジットを受信する)、ラストインプレッションスキーム(たとえば、最後の相互作用がすべてのクレジットを受信する)、線形/等加重スキーム(たとえば、各相互作用および/またはパブリッシャがクレジットの均等な部分を受信する)、位置スキーム(たとえば、最初および/または最後の相互作用がクレジットの最初の部分を受信し、残りの相互作用が残りのクレジットの等しい部分を受信する)、時間減衰スキーム(たとえば、線形/等加重に類似しているが、より古い相互作用に関連付けられるペナルティを含む)、カスタムスキームなどに基づいて、クレジットを分散し得る。いくつかの実装形態では、クレジットはシャプレ値に基づいて分散される。いくつかの実装形態では、クレジットは多変量マルコフモデル(MMM)に基づいて分散される。ステップ756において、第2のデータ処理システム300は、暗号化された集計値を生成するために、合計を実行する。いくつかの実装形態では、ステップ756は、いくつかの値の量を生成する。様々な実装形態では、ステップ756は、各列に沿って集計することを含む。
次に特に図6を参照すると、例示的な実装形態によるデータセット操作が示されている。様々な実装形態では、第2のデータ処理システム300は、パブリッシャデータ810および相互作用データ820を含み得る。様々な実装形態では、パブリッシャデータ810は、第1の識別子814を含む。第1の識別子814は、EC暗号化され得る。いくつかの実装形態では、第1の識別子814はデバイス識別子である。それに加えて、または代わりに、第1の識別子814は、ユーザアカウントに関連付けられる識別子などの別の識別子であるか、またはそれを含み得る。第1の識別子814は数字として示されているが、第1の識別子814は英数字の暗号文であってもよいことを理解されたい。様々な実装形態では、第1の識別子814は、パブリッシャ識別子812に関連付けられている。パブリッシャ識別子812は、関連付けられる第1の識別子814のソースを識別し得る。いくつかの実装形態では、パブリッシャデータは、相互作用経路識別子を含む。様々な実装形態では、相互作用データ820は、第2の識別子822および値824を含む。第2の識別子822は、EC暗号化され得る。値824はAHE暗号化され得る。上述のように、第2の識別子822および値824はそれぞれ名前および金額として示されているが、第2の識別子822および値824は英数字の暗号文であることを理解されたい。様々な実装形態では、値824は、第2の識別子822に関連付けられる。様々な実装形態では、第2の識別子822は、第1の識別子814に関連付けられる。様々な実装形態では、パブリッシャデータ810および/または相互作用データ820は、第2のデータ処理システム300によって受信されたとき、構築されていないデータ(たとえば、ソートされていないなど)である。
ステップ752において、第2のデータ処理システム300は、隠蔽された第1および第2の識別子(たとえば、第1の識別子814および第2の識別子822)を結合する。ステップ752は、第1の識別子814と第2の識別子822を一致させることによって、データを行にグループ化することを含み得る。様々な実装形態では、第2のデータ処理システム300は、結合された第1の識別子814と第2の識別子822に基づいて、パブリッシャがユーザとの相互作用830を記録したか、またはユーザとの相互作用832を記録しなかったかを決定する。たとえば、第2のデータ処理システム300は、パブリッシャ1および3がパブリッシャコンテンツを「ID3」に表示し、パブリッシャ2は表示しなかったと決定し得る。様々な実装形態では、第2のデータ処理システム300は、一致する第1の識別子814と第2の識別子822に基づいて、行に対応する(たとえば、値824の)特定の値を決定する。データは異なるパブリッシャに対応するものとして示されているが、データは、それに加えて、または代わりに、異なる相互作用経路に対応し得ることを理解されたい。
ステップ754において、第2のデータ処理システム300は、パブリッシャ間でクレジット840を分散する。いくつかの実装形態では、クレジット840は、値824の一部またはすべてである。いくつかの実装形態では、第2のデータ処理システム300は、パブリッシャ間でクレジット840を均等に分散する。たとえば、第2のデータ処理システム300は、パブリッシャ1および3がパブリッシャコンテンツを「ID3」に表示し、パブリッシャ2は「ID3」に関連付けられる「9ドル」の値をパブリッシャ1および3の間で均等に(たとえば、「それぞれに4.50ドル」など)分散しなかったと決定し得る。それに加えて、または代わりに、第2のデータ処理システム300は、カスタムプロセス(たとえば、調整されたルールなど)を使用して値を分散し得る。たとえば、第2のデータ処理システム300は、コンテンツを最初にユーザに表示した第1のパブリッシャに過半数の値を分配してもよく、第1のパブリッシャの後にコンテンツをユーザに表示した他の様々なパブリッシャに少数の値を分散してもよい。
ステップ756において、第2のデータ処理システム300は、集計値850を生成するために合計を実行する。ステップ756は、各列に沿って集計することを含み得る。たとえば、第2のデータ処理システム300は、集計値850を決定するために、パブリッシャ1に関連付けられるクレジット840のコレクションを合計し得る。様々な実装形態では、第2のデータ処理システム300は、パブリッシャごとに集計値850を決定する。それに加えて、または代わりに、第2のデータ処理システム300は、相互作用経路ごとに集計値を決定し得る。
次に特に図7を参照すると、例示的な実装形態によるデータセット操作が示されている。様々な実装形態では、図7のデータセット操作は、図6のデータセット操作に類似している。パブリッシャデータ810は、時間816を含み得る。時間816は、第1の識別子814に関連付けられるユーザがパブリッシャコンテンツと相互作用した時間に関連付けられ得る。様々な実装形態では、時間816はタイムスタンプを含む。いくつかの実装形態では、時間816は切り捨てられ(たとえば、時間、日などに)、および/またはバッチ化され、それによって個人情報が保存される。
様々な実装形態では、ステップ752は、上述のように実行される。様々な実装形態では、第2のデータ処理システム300は、各パブリッシャ相互作用に関連付けられる相互作用時間834を決定する。たとえば、第2のデータ処理システム300は、パブリッシャ1が「5/11」にパブリッシャコンテンツを「ID3」に表示し、パブリッシャ3が「5/14」にパブリッシャコンテンツを「ID3」に表示し、パブリッシャ2が相互作用832を記録しなかったと決定し得る。ステップ754において、第2のデータ処理システム300は、最後にクリックされた属性スキームに従ってパブリッシャ間でクレジット840を分散し得る。たとえば、第2のデータ処理システム300は、パブリッシャ3がパブリッシャコンテンツを「ID3」に表示した最後のパブリッシャであるため、「ID3」に関連付けられる全値量をパブリッシャ3に分散し得る。それに加えて、または代わりに、第2のデータ処理システム300は、最初にクリックされた属性スキームに従ってパブリッシャ間でクレジット840を分散し得る。様々な実装形態では、ステップ756は上述のように実行される。
次に特に図8を参照すると、例示的な実装形態によるデータセット操作が示されている。様々な実装形態では、図8のデータセット操作は、図6のデータセット操作に類似している。パブリッシャデータ810は、数量818を含み得る。数量818は、パブリッシャがユーザとの相互作用(たとえば、パブリッシャコンテンツをユーザに表示するなど)を記録した回数に関連付けられ得る。
様々な実装形態では、ステップ752は、上述のように実行される。様々な実装形態では、第2のデータ処理システム300は、各パブリッシャ相互作用に関連付けられる相互作用量836を決定する。たとえば、第2のデータ処理システム300は、パブリッシャ1がパブリッシャコンテンツを「ID3」に1回表示し、パブリッシャ3がパブリッシャコンテンツを「ID3」に4回表示し、パブリッシャ2が相互作用832を記録しなかったと決定し得る。ステップ754において、第2のデータ処理システム300は、相互作用量836に基づいてパブリッシャ間でクレジット840を分散し得る。たとえば、第2のデータ処理システム300は、相互作用量836に基づいてクレジット840を重み付けし得る。追加の例として、第2のデータ処理システム300は、パブリッシャ3が「ID3」に関連付けられるユーザ相互作用の合計の5分の4を記録し、パブリッシャ1が「ID3」に関連付けられるユーザ相互作用の合計の5分の1を記録したため、「ID3」に関連付けられる値量の5分の4をパブリッシャ3に分散し、「ID3」に関連付けられる値量の5分の1をパブリッシャ1に分散し得る。様々な実装形態では、ステップ756は上述のように実行される。
次に特に図9を参照すると、例示的な実装形態による、シャプレ値の生成が示されている。相互作用データ820は、時間826を含み得る。時間826は、第2の識別子822に関連付けられるユーザがオンライン相互作用(たとえば、購入など)を実行した時間に関連付けられ得る。様々な実装形態では、時間826はタイムスタンプを含む。いくつかの実装形態では、時間826は切り捨てられ(たとえば、時間、日などに)、および/またはバッチ化され、それによって個人情報が保存される(たとえば、プライバシとセキュリティを維持するなど)。様々な実装形態では、ステップ752は、相互作用時間834を決定するために、上述のように実行される。
ステップ754Aにおいて、第2のデータ処理システム300は、相互作用の数862および各経路860に関連付けられる合計値864を決定する。たとえば、第1の経路860は、ユーザがパブリッシャ1、2および3からのパブリッシャコンテンツと相互作用した相互作用を含み得、第2の経路860は、ユーザがパブリッシャ1のみからのパブリッシャコンテンツと相互作用した相互作用を含み得る。いくつかの実装形態では、経路860は、相互作用のタイプを記述する。たとえば、第1の経路860はモバイルおよびウェブ相互作用を含み得、第2の経路はリンク参照を含み得る。様々な実装形態では、相互作用の数862は、特定の経路860において定義された要素と相互作用するとして記録されたユーザ数の合計である。様々な実装形態では、経路860は順序付けされていない(たとえば、非順次など)。
ステップ754Bにおいて、第2のデータ処理システム300は、シャプレ値852を決定する。シャプレ値852は、すべての可能な経路860にわたるパブリッシャの平均限界貢献度を記述し得る。様々な実装形態では、第2のデータ処理システム300は、シャプレ値852を次のように計算する。
Figure 2023527318000002
上式で、
Figure 2023527318000003
は、xjのシャプレ値852であり、xjはユーザ相互作用(たとえば、発行元識別子812に関連付けられる第1の識別子814)であり、jはパブリッシャpの総数のインデックスであり、Pはすべてのユーザ相互作用のセットであり、S⊆P{xj}は相互作用xjを含む必要があるユーザ相互作用のサブセットの1つであり、R(S∪{xj})は、特定の経路860に分散されるクレジットである。
たとえば、パブリッシャ1のシャプレ値852は、次のように計算され得る。
Figure 2023527318000004
それに加えて、または代わりに、シャプレ値852は、集計値850として計算され得る。たとえば、集計値850は次のように計算され得る。
Figure 2023527318000005
いくつかの実装形態では、ステップ754Bはステップ756を含む。それに加えて、または代わりに、集計値850は、傾向スコアに基づいて計算され得る。たとえば、第2のデータ処理システム300は、傾向スコアに基づいてデータをグループ化し得、データのグループ化に基づいて集計値850を決定し得る。
次に図10を参照すると、例示的な実装形態によるマルコフモデルの生成が示されている。様々な実装形態では、ステップ752は上述のように実行される。様々な実装形態では、第2のデータ処理システム300は、経路870の数に関連付けられる相互作用862の数および合計値864を決定する。たとえば、第1の経路870は、ユーザがパブリッシャ1からのパブリッシャコンテンツ、続いてパブリッシャ2からのパブリッシャコンテンツ、およびパブリッシャ3からのパブリッシャコンテンツと相互作用した相互作用を含み得、第2の経路870は、ユーザがパブリッシャ1からのパブリッシャコンテンツのみと相互作用した相互作用を含み得る。様々な実装形態では、経路870は順序付けられている(たとえば、順次など)。
ステップ754Cにおいて、第2のデータ処理システム300は、マルコフモデル880を生成する。マルコフモデル880は、経路870を状態のシーケンスを通る行程としてモデル化し得る。マルコフモデル880は、ノード882および接続884を含み得る。ノード882は相互作用を表し得る。たとえば、ユーザは、オンライン相互作用(たとえば、購入など)を実行する前に、パブリッシャ1、続いてパブリッシャ3からのパブリッシャコンテンツと相互作用し得る。様々な実装形態では、マルコフモデル880は、開始ノード、終了ノード、およびヌルノード882を含む。開始ノード882は、開始位置を表し得る(たとえば、ユーザがパブリッシャコンテンツと相互作用する前など)。終了ノード882は、オンライン相互作用を実行したユーザを表し得る。ヌルノード882は、オンライン相互作用を実行していないユーザを表し得る。接続884は、第1のノード882から第2のノード882に遷移する確率を表し得る。様々な実装形態では、第2のデータ処理システム300は、接続884の確率を経験的に決定する(たとえば、パブリッシャデータ810および相互作用データ820に基づいて)。
ステップ754Dにおいて、第2のデータ処理システム300は除去効果854を生成する。除去効果854は、特定のパブリッシャが存在する場合に発生するオンライン相互作用の数を、特定のパブリッシャが存在しない場合に発生するオンライン相互作用の数と比較することによって、パブリッシャの貢献をモデル化し得る。様々な実装形態では、第2のデータ処理システム300は、除去効果854を次のように計算する。
Figure 2023527318000006
上式で、RE(i)は、ノード882iに関連付けられるエンティティの除去効果854であり、Rは合計相互作用率(たとえば、最終的にオンライン相互作用を実行したユーザのパーセンテージなど)であり、ppriはノード882iに関連付けられる経路確率である。たとえば、開始→パブリッシャ1→終了のppriは0.5*0.33=0.16である。いくつかの実装形態では、ステップ754Dはステップ756を含む。
様々な実装形態では、第2のデータ処理システム300は、除去効果854の合計のパーセンテージとして除去効果854を生成する。たとえば、除去効果854は、次のように計算され得る。
Figure 2023527318000007
次に図11を参照すると、例示的な実施形態による、マスキング演算を実行するステップ760が示されている。様々な実装形態では、第2のデータ処理システム300はステップ760を実行する。ステップ762において、第2のデータ処理システム300はランダム値を生成する。様々な実装形態では、ランダム値は大きいランダム値(たとえば、128ビット以上など)である。様々な実装形態では、ステップ762は、複数のランダム値を生成することを含む。たとえば、第2のデータ処理システム300は、マスクされた集計値の宛先ごとに(たとえば、パブリッシャごとに)ランダム値を生成し得る。
ステップ764において、第2のデータ処理システム300は、暗号化されマスクされた集計値を生成するために、ランダム値および暗号化された集計値で演算を実行する。様々な実装形態では、この演算は、暗号化された集計値にランダム値を追加することを含む。ステップ766において、第2のデータ処理システム300は、暗号化されたランダム値を生成するために、第3の公開鍵を使用してランダム値を暗号化する。様々な実装形態では、第3の公開鍵は、パブリッシャコンピューティングシステム10からの非対称暗号化公開鍵である。ステップ768において、第2のデータ処理システム300は、暗号化されたランダム値をパブリッシャコンピューティングシステム10に伝送する。様々な実装形態では、ステップ766および768は、ランダム値および/または宛先のそれぞれについて(たとえば、各パブリッシャについてなど)繰り返されてもよい。
図12は、たとえば、本開示において説明される例示的なシステム(たとえば、システム100など)のいずれかを実装するために使用することができるコンピューティングシステム1000の図を示している。コンピューティングシステム1000は、情報を伝達するためのバス1005または他の通信コンポーネントと、情報を処理するためにバス1005に結合されているプロセッサ1010とを含む。コンピューティングシステム1000はまた、情報を記憶するためにバス1005に結合されたランダムアクセスメモリ(「RAM」)または他の動的ストレージデバイスなどのメインメモリ1015と、プロセッサ1010によって実行される命令とを含む。メインメモリ1015はまた、プロセッサ1010による命令の実行中に、位置情報、一時変数、または他の中間情報を記憶するために使用することができる。コンピューティングシステム1000は、プロセッサ1010のための静的情報および命令を記憶するために、バス1005に結合された読取り専用メモリ(「ROM」)1020または他の静的ストレージデバイスをさらに含み得る。ソリッドステートデバイス、磁気ディスク、または光ディスクなどのストレージデバイス1025は、情報および命令を永続的に記憶するためにバス1005に結合される。
コンピューティングシステム1000は、ユーザに情報を表示するために、バス1005を介して液晶ディスプレイまたはアクティブマトリックスディスプレイなどのディスプレイ1035に結合され得る。英数字および他のキーを含むキーボードなどの入力デバイス1030は、情報およびコマンド選択をプロセッサ1010に伝達するために、バス1005に結合され得る。別の実装形態では、入力デバイス1030はタッチスクリーンディスプレイ1035を有する。入力デバイス1030は、方向情報およびコマンド選択をプロセッサ1010に伝達し、ディスプレイ1035上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御を含むことができる。
いくつかの実装形態では、コンピューティングシステム1000は、ネットワークアダプタなどの通信アダプタ1040を含み得る。通信アダプタ1040はバス1005に結合され得、コンピューティングまたは通信ネットワーク1045および/または他のコンピューティングシステムとの通信を可能にするように構成され得る。様々な例示的な実装形態では、ワイヤード(たとえば、イーサネットを介して)、ワイヤレス(たとえば、Wi-Fi、Bluetoothなどを介して)、事前構成済み、アドホック、LAN、WANなどの通信アダプタ1040を使用して、任意のタイプのネットワーク構成が実現され得る。
様々な実装形態によれば、本明細書で説明される例示的な実装形態を実現するプロセスは、プロセッサ1010がメインメモリ1015に含まれる命令の配列を実行することに応答して、コンピューティングシステム1000によって達成することができる。そのような命令は、ストレージデバイス1025などの別のコンピュータ可読媒体からメインメモリ1015に読み込むことができる。メインメモリ1015に含まれる命令配列の実行により、コンピューティングシステム1000は、本明細書で説明される例示的なプロセスを実行する。メインメモリ1015に含まれる命令を実行するために、マルチプロセッシング構成における1つまたは複数のプロセッサも採用され得る。代替の実装では、例示的な実装形態を実装するために、ハードワイヤード回路がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され得る。したがって、実装形態は、ハードウェア回路とソフトウェアの任意の特定の組合せに限定されない。
図12において例示的な処理システムが説明されたが、本明細書に記載された主題および機能動作の実装形態は、他のタイプのデジタル電子回路を使用して、または本明細書に開示された構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの1つまたは複数の組合せにおいて実行することができる。
上記の説明に加えて、ユーザは、本明細書に記載されているシステム、プログラム、または機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、または活動、職業、ユーザの好み、あるいはユーザの現在の位置に関する情報)の収集を可能にするかどうか、およびいつ可能にするかの両方について、ならびにユーザがサーバからコンテンツまたは通信を送信されるかどうかを選択できるようにする制御が提供され得る。さらに、特定のデータは、個人を特定できる情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理される場合がある。たとえば、ユーザのアイデンティティは、そのユーザの個人を特定できる情報が決定されないように、または、位置情報が取得される場所でユーザの地理的な位置(都市、郵便番号、または州レベル)が一般化され、ユーザの特定の位置が決定されないように、処理される場合がある。したがって、ユーザは、ユーザに関してどの情報が収集されるか、その情報がどのように使用されるか、およびどの情報がユーザに提供されるかを制御し得る。本明細書に記載されているシステムが、ユーザまたはユーザのデバイスにインストールされているアプリケーションに関する個人情報を収集する、または個人情報を利用する状況では、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、または活動、職業、ユーザの好み、あるいはユーザの現在の位置に関する情報)を収集するかどうかを制御する機会が提供される。それに加えて、または代わりに、特定のデータは、個人情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理される場合がある。
本開示のシステムおよび方法は、既存のシステムに対して多くの利点を提供する。個人情報の漏えいを避けるために、差分プライバシは、相互作用率を計算する際に特定の個人の情報が含まれていたかどうかを集計された相互作用測定値が漏えいしてはならないことを要求する場合がある。したがって、集計された相互作用を測定し、複数のパブリッシャ間でクレジットを分散する、プライバシ保護された方法が必要である。
1つのソリューションは、結果測定サービスを利用する。結果測定サービスは、オンライン相互作用に関連付けられる集計クレジットを決定するために、パブリッシャデータと相互作用データを結合し得る。さらに、結果測定サービスは、本明細書で説明する独自の暗号化およびコンピュータアーキテクチャの方法論を使用して、パブリッシャ間のオンライン相互作用に関連付けられるクレジットを安全に分散することができる。様々な実装形態では、本明細書で説明する結果測定サービスは、相互作用測定の分野を改善する。さらに、結果測定サービスは、従来のシステムよりも迅速かつ優れたセキュリティで集計測定値を安全に決定し得、それによって既存のコンピュータシステムの機能が向上させる。
本明細書に記載された主題および動作の実装形態は、デジタル電子回路を使用して、または本明細書に開示された構造およびそれらの構造的等価物を含む、有形の媒体で具現化されたコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの1つまたは複数の組合せにおいて実行することができる。本明細書に記載された主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータストレージ媒体にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代わりに、またはそれに加えて、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置による実行のために適切な受信装置に伝送するための情報をエンコードするために生成される機械生成された電気信号、光信号、または電磁気信号上でエンコードすることができる。コンピュータ可読ストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータストレージ媒体は伝播信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝播信号にエンコードされたコンピュータプログラム命令のソースまたは宛先となり得る。コンピュータストレージ媒体はまた、1つまたは複数の別個のコンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であり得るか、またはそれらに含まれ得る。したがって、コンピュータストレージ媒体は有形および非一時的の両方である。
本明細書に記載された動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶された、または他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装することができる。
「データ処理装置」または「コンピューティングデバイス」という用語は、データを処理するためのすべての種類の装置、デバイス、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または複数のもの、あるいは上記の組合せを含む。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。この装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、あるいはコンピューティング環境における使用に適した他のユニットとして含む、任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)を保持するファイルの一部に、問題のプログラム専用の単一ファイルに、または複数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ、あるいは1つのサイトに配置された、または複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
本明細書に記載されたプロセスおよび論理フローは、入力データ上で動作して出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することもでき、装置をそれとして実装することもできる。本明細書で利用される回路は、ハードウェア回路(たとえば、FPGA、ASICなど)、ソフトウェア(1つまたは複数のコンピュータ可読ストレージ媒体に記憶され、1つまたは複数のプロセッサによって実行可能な命令)、またはそれらの任意の組合せを使用して実装され得る。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば磁気、光磁気ディスク、または光ディスクを含むか、そこからデータを受信する、またはそこにデータを転送するように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを備えている必要はない。さらに、コンピュータは、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(「PDA」)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(「GPS」)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(「USB」)フラッシュドライブ)などの別のデバイスに組み込むことができる。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、すべての形態の不揮発性メモリ、メディア、およびメモリデバイスを含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補足されるかまたはそこに組み込むことができる。
ユーザとの相互作用を提供するために、本明細書に記載された主題の実装形態は、表示装置、たとえば、ユーザに情報を表示するためのCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータを使用して実行することができる。ユーザとの相互作用を提供するために、他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形態の感覚的フィードバックである可能性があり、また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
本明細書に記載された主題の実装形態は、たとえばデータサーバとしてバックエンドコンポーネントを含むか、たとえばアプリケーションサーバなどのミドルウェアコンポーネントを含むか、フロントエンドコンポーネント、たとえば、ユーザが本明細書に記載された主題の実装形態と相互作用できるグラフィカルユーザインターフェースまたはウェブブラウザを備えたクライアントコンピュータを含むコンピューティングシステム、あるいは、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを使用して実行することができる。システムのコンポーネントは、通信ネットワークなどの任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、ネットワーク間(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは通常、互いにリモートであり、通常は通信ネットワークを通じて相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータで実行され、クライアントおよびサーバの関係を相互に有するコンピュータプログラムによって発生する。いくつかの実装形態では、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに伝送する(たとえば、データを表示し、クライアントデバイスと相互作用するユーザからユーザの入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ相互作用の結果)は、サーバにおいてクライアントデバイスから受信することができる。
いくつかの実装形態では、本明細書に開示される機能は、スマートテレビモジュール(または、接続されたテレビモジュール、ハイブリッドテレビモジュールなど)に実装され得、これは、インターネット接続を従来のテレビ番組ソース(たとえば、ケーブル、衛星、無線、または他の信号を介して受信された)と統合するように構成された処理回路を含み得る。スマートテレビモジュールは、テレビセットに物理的に組み込まれてよく、セットトップボックス、ブルーレイまたは他のデジタルメディアプレーヤ、ゲームコンソール、ホテルのテレビシステム、および他のコンパニオンデバイスなどの別個のデバイスを含み得る。スマートテレビモジュールは、視聴者がウェブ、ローカルケーブルテレビチャネル、衛星テレビチャネル上の、またはローカルハードドライブに保存されている、ビデオ、映画、写真、および他のコンテンツを検索および発見できるように構成され得る。セットトップボックス(「STB」)またはセットトップユニット(「STU」)は、チューナーを内蔵し、テレビセットおよび外部信号源に接続して、信号をコンテンツに変換し、テレビ画面または他のディスプレイデバイスに表示することができる情報機器デバイスを含み得る。スマートテレビモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービス、接続されたケーブルまたは衛星メディアソース、他のウェブ「チャネル」など、複数の異なるアプリケーションのアイコンを含むホーム画面またはトップレベル画面を提供するように構成され得る。スマートテレビモジュールはさらに、電子番組ガイドをユーザに提供するように構成され得る。スマートテレビモジュールのコンパニオンアプリケーションは、ユーザがスマートテレビモジュールなどを制御できるようにするために利用可能なプログラムに関する追加情報をユーザに提供するために、モバイルコンピューティングデバイス上で動作可能であり得る。代替の実施形態では、機能は、ラップトップコンピュータまたは他のパーソナルコンピュータ、スマートフォン、他のモバイル電話、ハンドヘルドコンピュータ、タブレットPC、あるいは他のコンピューティングデバイスに実装され得る。
本明細書は多くの特定の実装形態の詳細を含むが、これらは、任意の発明の範囲または特許請求の範囲に対する限定として解釈されるべきではなく、特定の発明の特定の実装形態に固有の機能の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載されている特定の機能はまた、組み合わせて、または単一の実装形態において実行することができる。逆に、単一の実装形態の文脈において説明される様々な機能は、複数の実装形態において別々に、または任意の適切なサブコンビネーションにおいて実行することもできる。さらに、特徴は、特定の組合せにおいて作用するものとして上記で説明され得、最初にそのように主張されているが、主張される組合せからの1つまたは複数の機能は、場合によっては組合せから切り出すことができ、主張される組合せは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられ得る。さらに、特定の見出しに関して説明された機能は、他の見出しの下で説明された例示的な実装形態に関して、および/またはそれらと組み合わせて利用され得、見出しが提供されている場合、読みやすさのみを目的として含まれており、そのような見出しに関して提供されている任意の機能を限定するものと解釈されるべきではない。
同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序または連続した順序で実行されること、または図示されるすべての動作が実行されることを必要とすることとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上記の実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合されるか、または有形の媒体に具現化された複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
このように、主題の特定の実装形態が説明された。他の実装形態は、添付の特許請求の範囲内にある。場合によっては、特許請求の範囲に記載されているアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。さらに、添付の図面に示されているプロセスは、望ましい結果を達成するために、必ずしも示されている特定の順序または連続した順序を必要としない。特定の実装形態では、マルチタスキングおよび並列処理が有利な場合がある。
1 パブリッシャ
2 パブリッシャ
3 パブリッシャ
10 パブリッシャコンピューティングシステム
12 データベース
14 処理回路
16 プロセッサ
18 メモリ
20 第1の暗号化回路
22 第2の暗号化回路
24 解読回路
30 相互作用データプロバイダコンピューティングシステム
32 データベース
34 処理回路
36 プロセッサ
38 メモリ
40 第1の暗号化回路
42 第2の暗号化回路
60 ネットワーク
100 システム
102 結果測定サービス
200 第1のデータ処理システム
210 データベース
220 処理回路
230 プロセッサ
240 メモリ
242 第1の暗号化回路
244 第2の暗号化回路
246 解読回路
248 ランダム化回路
300 第2のデータ処理システム
310 処理回路
320 プロセッサ
330 メモリ
332 第1の暗号化回路
334 第2の暗号化回路
336 解読回路
338 分析回路
400 第3のデータ処理システム
410 処理回路
420 プロセッサ
430 メモリ
432 暗号化回路
434 ランダム化回路
436 解読回路
600 鍵生成プロセス
700 方法
810 パブリッシャデータ
812 パブリッシャ識別子
814 第1の識別子
816 時間
818 数量
820 相互作用データ
822 第2の識別子
824 値
830 相互作用
832 相互作用
834 相互作用時間
836 相互作用量
840 クレジット
850 集計値
852 シャプレ値
854 除去効果
860 経路
860 第1の経路
860 第2の経路
862 相互作用の数
864 合計値
870 経路
880 マルコフモデル
882 ノード
882 開始ノード
882 終了ノード
882 ヌルノード
882 第1のノード
882 第2のノード
884 接続
1000 コンピューティングシステム
1005 バス
1010 プロセッサ
1015 メインメモリ
1020 読取り専用メモリ(「ROM」)
1025 ストレージデバイス
1030 入力デバイス
1035 ディスプレイ
1035 タッチスクリーンディスプレイ
1040 通信アダプタ
1045 コンピューティングまたは通信ネットワーク

Claims (20)

  1. 第1のコンピューティングシステムにおいて、暗号化された識別子および暗号化された値を受信するステップと、
    前記第1のコンピューティングシステムによって、秘匿された暗号化された識別子を生成するために、前記暗号化された識別子に対して秘匿演算を実行するステップであって、前記秘匿演算が、前記暗号化された識別子を前記第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、前記秘匿された暗号化された識別子間の照合を可能にする、ステップと、
    前記第2のコンピューティングシステムによって、秘匿された識別子を生成するために、前記秘匿された暗号化された識別子を解読するステップと、
    前記第2のコンピューティングシステムによって、前記暗号化された値に関連付けられる個人情報にアクセスすることなく、暗号化された集計値を生成するために、前記秘匿された識別子と前記暗号化された値を使用して集計演算を実行するステップと
    を備える、方法。
  2. 前記秘匿演算を実行するステップが、
    部分的に暗号化された識別子を生成するために、前記暗号化された識別子から第1の暗号化の第1の部分を除去するステップと、
    前記秘匿された暗号化された識別子を生成するために、前記部分的に暗号化された識別子を第2の暗号化で決定論的に暗号化するステップと
    を含む、請求項1に記載の方法。
  3. 前記秘匿された暗号化された識別子を解読するステップが、秘匿された識別子を生成するために、前記秘匿された暗号化された識別子から前記第1の暗号化の第2の部分を除去するステップを含む、請求項2に記載の方法。
  4. 第3のコンピューティングシステムによって、集計値を生成するために、前記暗号化された集計値を解読するステップをさらに備える、請求項1に記載の方法。
  5. 前記第1のコンピューティングシステムおよび前記第2のコンピューティングシステムによって、協働して第1の暗号化鍵を生成するステップと、
    前記第1のコンピューティングシステムによって、前記第1の暗号化鍵および第3の暗号化鍵に関連付けられる第2の暗号化鍵を生成するステップと、
    前記第2のコンピューティングシステムによって、前記第1の暗号化鍵に関連付けられる第4の暗号化鍵を生成するステップと、
    前記第3のコンピューティングシステムによって、第5および第6の暗号化鍵を生成するステップと
    をさらに備える、請求項4に記載の方法。
  6. 前記暗号化された識別子が前記第1の暗号化鍵を使用して暗号化され、前記暗号化された値が前記第5の暗号化鍵を使用して暗号化され、前記秘匿演算が前記第2および第3の暗号化鍵を使用し、前記秘匿された暗号化された識別子が前記第4の暗号化鍵を使用して解読され、前記暗号化された集計値が、前記第6の暗号化鍵を使用して解読される、請求項5に記載の方法。
  7. 前記秘匿演算が、前記暗号化された識別子をシャッフルするステップと、ハッシュ関数を使用して暗号文を生成することによって前記暗号化された値を再ランダム化するステップとを含む、請求項1に記載の方法。
  8. 前記第3のコンピューティングシステムが前記第1のコンピューティングシステムの一部である、請求項1に記載の方法。
  9. 前記第1のコンピューティングシステムまたは前記第3のコンピューティングシステムのうちの少なくとも1つが分散コンピューティングシステムである、請求項1に記載の方法。
  10. 前記第2のコンピューティングシステムによって、ランダム値を生成するステップと、
    前記第2のコンピューティングシステムによって、結果を生成するために、前記ランダム値および前記暗号化された集計値を使用して演算を実行するステップと、
    前記第2のコンピューティングシステムによって、前記暗号化された識別子に関連付けられるコンテンツパブリッシャに前記ランダム値を送信するステップと
    をさらに備える、請求項1に記載の方法。
  11. 前記集計演算が、前記暗号化された集計値を生成するために、前記秘匿された識別子および前記秘匿された識別子に関連付けられる時間値を使用して重み付け関数を実行するステップを含む、請求項1に記載の方法。
  12. 第1のコンピューティングシステムおよび第2のコンピューティングシステムのうちの少なくとも1つの1つまたは複数のプロセッサによる実行時に、
    前記第1のコンピューティングシステムに、
    暗号化された識別子および暗号化された値を受信することと、
    秘匿された暗号化された識別子を生成するために、前記暗号化された識別子に対して秘匿演算を実行することであって、前記秘匿演算が、前記暗号化された識別子を前記第1のコンピューティングシステムおよび第2のコンピューティングシステムから秘匿するが、前記秘匿された暗号化された識別子間の照合を可能にする、実行することと
    を行わせ、
    前記第2のコンピューティングシステムに、
    秘匿された識別子を生成するために、前記秘匿された暗号化された識別子を解読することと、
    前記暗号化された値に関連付けられる個人情報にアクセスすることなく、暗号化された集計値を生成するために、前記秘匿された識別子と前記暗号化された値を使用して集計演算を実行することと
    を行わせる命令を記憶した、1つまたは複数のコンピュータ可読ストレージ媒体。
  13. 前記秘匿演算を実行するステップが、
    部分的に暗号化された識別子を生成するために、前記暗号化された識別子から第1の暗号化の第1の部分を除去するステップと、
    前記秘匿された暗号化された識別子を生成するために、前記部分的に暗号化された識別子を第2の暗号化で決定論的に暗号化するステップと
    を含む、請求項12に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  14. 前記秘匿された暗号化された識別子を解読するステップが、秘匿された識別子を生成するために、前記秘匿された暗号化された識別子から前記第1の暗号化の第2の部分を除去するステップを含む、請求項13に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  15. 前記命令が、第3のコンピューティングシステムの1つまたは複数のプロセッサによる実行時に、前記第3のコンピューティングシステムに、集計値を生成するために、前記暗号化された集計値を解読させるようにさらに構成される、請求項12に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  16. 前記命令が、前記第1および第2のコンピューティングシステムに、協働して第1の暗号化鍵を生成させるように構成され、
    前記命令が、前記第1のコンピューティングシステムに、前記第1の暗号化鍵および第3の暗号化鍵に関連付けられる第2の暗号化鍵を生成させるように構成され、
    前記命令が、前記第2のコンピューティングシステムに、前記第1の暗号化鍵に関連付けられる第4の暗号化鍵を生成させるように構成され、
    前記命令が、前記第3のコンピューティングシステムに、第5および第6の暗号化鍵を生成させるように構成される、請求項15に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  17. 前記暗号化された識別子が前記第1の暗号化鍵を使用して暗号化され、前記暗号化された値が前記第5の暗号化鍵を使用して暗号化され、前記秘匿演算が前記第2および第3の暗号化鍵を使用し、前記秘匿された暗号化された識別子が前記第4の暗号化鍵を使用して解読され、前記暗号化された集計値が、前記第6の暗号化鍵を使用して解読される、請求項16に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  18. 前記第3のコンピューティングシステムが前記第1のコンピューティングシステムの一部である、請求項16に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  19. 前記第1のコンピューティングシステムまたは前記第3のコンピューティングシステムのうちの少なくとも1つが分散コンピューティングシステムである、請求項16に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
  20. 前記集計演算が、前記暗号化された集計値を生成するために、前記秘匿された識別子および前記秘匿された識別子に関連付けられる時間値を使用して重み付け関数を実行するステップを含む、請求項12に記載の1つまたは複数のコンピュータ可読ストレージ媒体。
JP2022571291A 2020-05-26 2020-08-24 相互作用全体でクレジットを集計するための方法 Active JP7461513B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063029835P 2020-05-26 2020-05-26
US63/029,835 2020-05-26
PCT/US2020/047643 WO2021242290A1 (en) 2020-05-26 2020-08-24 Methods for aggregating credit across interactions

Publications (2)

Publication Number Publication Date
JP2023527318A true JP2023527318A (ja) 2023-06-28
JP7461513B2 JP7461513B2 (ja) 2024-04-03

Family

ID=76301002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022571291A Active JP7461513B2 (ja) 2020-05-26 2020-08-24 相互作用全体でクレジットを集計するための方法

Country Status (6)

Country Link
US (1) US11841973B2 (ja)
JP (1) JP7461513B2 (ja)
KR (1) KR20230002933A (ja)
CN (1) CN113994333A (ja)
DE (1) DE112020000117T5 (ja)
GB (1) GB2604190A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11588617B2 (en) * 2020-11-01 2023-02-21 The Toronto-Dominion Bank Validating confidential data using homomorphic computations
US11899823B2 (en) * 2021-02-08 2024-02-13 Snap Inc. Privacy safe anonymized identity matching
CN116629871B (zh) * 2023-07-21 2023-10-17 济南正浩软件科技有限公司 一种订单线上支付系统及支付方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978158B2 (en) 2012-04-27 2015-03-10 Google Inc. Privacy management across multiple devices
US9641332B1 (en) 2013-01-30 2017-05-02 Google Inc. Privacy-preserving measurements of a campaign
US9852163B2 (en) * 2013-12-30 2017-12-26 The Nielsen Company (Us), Llc Methods and apparatus to de-duplicate impression information
IL234613A0 (en) 2014-09-11 2014-12-02 Google Inc Exchange consolidated and encrypted transaction information with a transaction information provider
SG11201809476VA (en) * 2016-04-29 2018-11-29 Privitar Ltd Computer-implemented privacy engineering system and method

Also Published As

Publication number Publication date
CN113994333A (zh) 2022-01-28
US20220147650A1 (en) 2022-05-12
KR20230002933A (ko) 2023-01-05
DE112020000117T5 (de) 2022-01-27
JP7461513B2 (ja) 2024-04-03
US11841973B2 (en) 2023-12-12
GB2604190A (en) 2022-08-31
GB202106166D0 (en) 2021-06-16

Similar Documents

Publication Publication Date Title
US11962687B2 (en) Methods for protecting privacy
JP7461513B2 (ja) 相互作用全体でクレジットを集計するための方法
US11017099B2 (en) Systems and methods for entropy balanced population measurement
JP7155437B2 (ja) 暗号化されたネットワーク値の集約
JP7201848B2 (ja) 時間データの取得または操作を防止しながらネットワークデータのシーケンスを生成すること
JP7399236B2 (ja) 複数の集約サーバを使用してデータ操作を防止すること
JP7471475B2 (ja) 安全なユニバーサル測定識別子構築のためのシステムおよび方法
WO2021242290A1 (en) Methods for aggregating credit across interactions
JP7189357B2 (ja) プライバシー保護のためのデータセキュリティ方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240126

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: 20240226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240322

R150 Certificate of patent or registration of utility model

Ref document number: 7461513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150