JP7475472B2 - プライバシーを守る活動集約メカニズム - Google Patents

プライバシーを守る活動集約メカニズム Download PDF

Info

Publication number
JP7475472B2
JP7475472B2 JP2022554359A JP2022554359A JP7475472B2 JP 7475472 B2 JP7475472 B2 JP 7475472B2 JP 2022554359 A JP2022554359 A JP 2022554359A JP 2022554359 A JP2022554359 A JP 2022554359A JP 7475472 B2 JP7475472 B2 JP 7475472B2
Authority
JP
Japan
Prior art keywords
cohort
randomization
domain
application
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022554359A
Other languages
English (en)
Other versions
JP2023524360A (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
Publication of JP2023524360A publication Critical patent/JP2023524360A/ja
Application granted granted Critical
Publication of JP7475472B2 publication Critical patent/JP7475472B2/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本明細書は、オンライン環境におけるウェブ活動の集約、データ処理、およびユーザのプライバシーの保護に関する。オンラインユーザのプライバシーの強化により、多くのブラウザ開発者は、ユーザデータが扱われる方法を変更するようになった。たとえば、ある種のクッキーは、一部のブラウザによってサポートされていないが、サードパーティ(3P)クッキーの非推奨は、詐欺(fraud)および不正使用(abuse)につながる可能性がある。
ウェブ活動を集約することは、ユーザのブラウジング体験のパーソナライズを可能にし、監視しない場合よりも迅速に、ユーザにより関連性の高いコンテンツの配信を可能にする。しかし、クッキーなどの既存のメカニズムは、単一のユーザおよびユーザについての情報にリンクされ得る。そのような精度は、ユーザに、自分があまりにも簡単に特定されることが可能であり、自分の情報があまりにも簡単に侵害されると感じさせ得る。
概して、本明細書に記載の対象の1つの革新的な態様は、プライバシーを守るウェブ活動の監視のための方法であって、ユーザのユーザデバイス上のアプリケーションから、ドメインからのデジタルコンテンツの要求を受信するステップと、ランダムに選択された識別子と、ランダム化コホート(randomized cohort)がアプリケーションに割り振られた第1の時間を示すタイムスタンプとに基づいて構築されたランダム化コホートを、アプリケーションに、第1の時間に割り振るステップと、(i)ランダムに選択された識別子およびタイムスタンプに対応するデジタル署名された証明書、ならびに(ii)証明書に関連する一意の公開鍵および対応する一意の秘密鍵を、アプリケーションに、第1の時間に提供するステップとを含み、ランダムに選択された識別子が、アプリケーションへのランダム化コホートの割り振りから時間の所定の期間内にその他のユーザデバイス上で実行される少なくとも閾値の数のその他のアプリケーションにも割り振られる、方法の実施形態であることが可能である。
一部の実装において、方法は、ドメインからのデジタルコンテンツの第2の要求をアプリケーションから受信するステップと、ランダムに選択された識別子、およびランダム化コホートの古さを含むクッキーの古さの範囲を示すランダム化コホート古さバケット(age bucket)に対応する曖昧な識別子を、第2の時間にアプリケーションによってドメインに提供するステップとを含み、ランダム化コホートの古さは、第2の時間と第1の時間との間の差に基づいて計算される。
一部の実装において、方法は、ドメインによって、受信されたランダム化コホート古さバケットに基づいて、ランダムに選択された識別子と、ランダムに選択された識別子に関連するインタラクションの数、ランダム化コホートの古さの分布、ならびに特定のインタラクションおよび時間の特定の期間に関連する確率分布のうちの少なくとも1つとに関連する異常な活動を検出するステップをさらに含む。
一部の実装において、ランダム化コホートをアプリケーションに割り振るステップは、ドメインによって、ランダム化コホートをアプリケーションに割り振ることを含み、ランダムに選択された識別子は、少なくとも閾値の数のその他のアプリケーションに割り振られ、ランダムに選択された識別子は、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、一意の公開鍵は、ドメインによって生成される。
一部の実装において、ランダム化コホートをブラウザに割り振るステップは、中央サーバによって、ランダム化コホートをアプリケーションに割り振ることを含み、ランダムに選択された識別子は、少なくとも閾値の数のその他のアプリケーションに割り振られ、ランダムに選択された識別子は、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、一意の公開鍵は、中央サーバによって生成される。
一部の実装において、方法は、第1のドメインと異なる第2のドメインからのデジタルコンテンツの要求およびランダム化コホートをアプリケーションによって提供するステップと、第2のドメインからのデジタルコンテンツの要求の提供に応じて、チャレンジ(challenge)を含む証明(attestation)要求をアプリケーションによって第2のドメインから受信するステップと、アプリケーションによって検証システムにデジタル署名された証明書を提供するステップであって、(i)ランダムに選択された識別子、ランダム化コホート古さバケット、およびチャレンジを含む曖昧な証明書を作成し、(ii)曖昧な証明書に署名し、(iii)第2のドメインに曖昧な証明書を提供するように検証システムをトリガする、ステップとを含み、チャレンジは、ブラインド方式(blinding scheme)を使用して検証システムから見えなくされる。
一部の実装において、方法は、アプリケーションによって検証システムにデジタル署名された証明書を提供するステップと、検証システムによって、ランダム化コホートが少なくとも閾値の数の人に割り振られることを検証するステップとを含む。
この態様のその他の実施形態は、コンピュータストレージデバイス上に符号化された方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態に実装され得る。
デジタルコンポーネント配信システムがパーソナライズされたデジタルコンポーネントを選択および配信する(たとえば、選択パラメータおよび/または選択パラメータ自体を生成する)方法は、歴史的に、クライアントデバイス上でレンダリングされているウェブページのドメインとは異なるドメイン(たとえば、eTLD+1)によってクライアントデバイスに投下されるクッキーであるサードパーティクッキーから取得されるユーザ情報(たとえば、ブラウジング情報、関心グループ情報など)を使用することを含んできた。しかし、一部のブラウザは、サードパーティクッキーの使用をブロックしており、パーソナライズされたデジタルコンポーネントを選択し、提供することを難しくし、つまり、コンピューティングリソースおよび帯域幅が、ユーザにとって興味のないコンテンツを選択し、ユーザに配信することによって浪費される場合がある。さらに、コンピュータシステムがサードパーティクッキーを使用して以前実行することができた特徴は、実行され得ず、それによって、より効率が低く、より効果の低いコンピュータシステムをもたらす。この問題を克服するために、ユーザの追跡を妨げ、コンピューティングシステムにまたがるユーザ情報の漏洩を防止しながら、ウェブ活動の監視、集約、および分析を可能にするプライバシー保護技術が、使用され得る。言い換えると、本明細書において検討される技術は、ブラウザがサードパーティクッキーの使用をサポートしないときに発生する問題を克服するために、コンピューティングシステムが動作する方法を変更している。
本明細書において説明されるプライバシーを守る監視メカニズム、ランダム化コホートは、ウェブ活動監視機能を提供する。ランダム化コホートは、識別子およびタイムスタンプを含む。識別子とタイムスタンプとの組合せは、特定のブラウザまたはユーザデバイスを一意に特定することができず、代わりに。しかし、ランダム化コホートが属する古さバケットを生成し、識別子と古さバケットとの組合せを提供することによって、有用な情報を引き続き提供しながら、タイムスタンプが不明瞭にされ得る。識別子と古さバケットとの組合せは、異なるユーザデバイス上で動作する少なくとも閾値の数の一意のブラウザに割り振られ、したがって、ランダム化コホートの統計的有用性を犠牲にすることなく匿名性を保証する。ランダム化コホートは、ユーザの匿名性を保証しながら、コホートの活動に関する統計およびその他の情報を生成するために使用され得る。ランダム化コホートがスコープとするドメインが、コホートの活動を追跡することができるが、いかなる1人のユーザの活動も追跡することができないように、ユーザは、サイズkのコホートにランダムにグループ化される。
さらに、ランダム化コホートは、コンテンツプロバイダおよびホストなどの第三者が詐欺的な活動または協調的な悪用を検出するためのセキュリティの文脈で使用され得る。たとえば、ランダム化コホートは、エンゲージメントの不正使用に対抗するために既存の不正使用対策技術を許容する。エンゲージメントの不正使用は、クリック詐欺、視聴数の水増し、レーティング操作、ランク操作などの挙動を含み得る。ランダム化コホートは、ユーザが以前利用可能でなかった特定のレベルのプライバシーをユーザに提供しながら、詐欺的な使用を示す疑わしいウェブ活動を検出するために使用され得る。たとえば、ランダム化コホートは、ユーザにk-匿名性の保証を提供するために使用され得る。k-匿名性の保証は、ランダム化コホート識別子およびタイムスタンプによって特定され得る単一のランダム化コホートに関連する少なくともk人のランダムなユーザが存在することを保証する。たとえば、k=100の場合のランダム化コホート識別子のk-匿名性の保証は、特定のランダム化コホートに関連する情報が、統計的分析および不正使用の検出などの用途に有用であるままでありながらある程度まで匿名化されるように、ランダム化コホート識別子に関連する少なくとも100人のランダムなユーザが存在することを保証する。
説明される監視メカニズム、ランダム化コホートは、独立した第三者によって外部で検証され得るプライバシー保証を提供することによって、ユーザ体験および信頼を向上させる。説明されるシステムは、検証サーバが特定のランダム化コホート識別子の統計的特性を決定することを可能にしながら、ランダム化コホートおよびユーザの特定のアイデンティティ(identity)が隠されたままであるように、ランダム化コホートのソースから独立している1つまたは複数の検証サーバを含み得る。これは、自分の匿名性が維持されていることおよびプライバシーを守るシステムが約束通りに機能していることをユーザが独立したソースを通じて確認することを可能にする。プライバシーの保証を個々に立証することができるユーザ、説明される監視メカニズムを使用するシステムをより気楽に採用することができる可能性がある。
さらに、ランダム化コホートは、ウェブ活動の監視の通常の方法を使用するシステムにおいて代替として使用されてよい。たとえば、ランダム化コホートは、特定の条件下で必要とされる適応がほとんどなく既存のシステムにおいて使用されることが可能であり、システム設計者が、ウェブ活動に関する関連統計データを提供し、ユーザのプライバシーを改善しながら第三者を保護するセキュリティ機能を実行するために既存のインフラストラクチャを再利用することを可能にし得る。
本明細書全体を通じて検討される技術は、不規則な活動(たとえば、ネットワーク攻撃)を検出し、不規則な活動を停止させるためにも使用され得る。たとえば、これらの技術は、通常よりも高いレベルのネットワーク要求またはトラフィックを検出し、その情報を使用して、さらなるネットワーク要求もしくはトラフィックを防止するか、または高いレベルのネットワーク要求もしくはトラフィックの原因であるコンピューティングデバイスのグループからのさらなる要求をブロックすることができる。技術は、特定のコンピューティングリソースの過剰使用を検知し、負荷分散を実行してコンピュータシステムの効率を高めるためにも使用され得る。
上述の対象の様々な特徴および利点が、図面に関連して下で説明される。さらなる特徴および利点は、本明細書および特許請求の範囲において説明される対象から明らかである。
プライバシーを守る監視メカニズムが実装されるシステムのブロック図である。 プライバシーを守る監視メカニズムを発行し、実施するための例示的なプロセスのデータフロー図である。 単一の発行元ドメインにスコープが制限されるプライバシーを守る監視メカニズムを発行し、実装するための例示的なプロセスを示すスイムレーン図である。 異なるドメインにわたって実行されるウェブ活動にわたって使用されるプライバシーを守る監視メカニズムを発行し、実装するための例示的なプロセスを示すスイムレーン図である。 プライバシーを守る監視メカニズムを発行し、実施するための例示的なプロセスを示す流れ図である。 例示的なコンピュータシステムのブロック図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
概して、本明細書は、統計的追跡および不正使用検出能力も提供する監視メカニズム、ランダム化コホートに関連するユーザの指定されたレベルのプライバシーを保証するためのシステムおよび技術を説明する。
図1は、プライバシーを保護するデータ収集および分析のための環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはこれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子ドキュメントサーバ104(「電子docサーバ」)、ユーザデバイス106、デジタルコンポーネント配信システム110(DCDS110とも呼ばれる)、1つまたは複数の検証サーバ130を接続する。例示的な環境100は、多くの異なる電子ドキュメントサーバ104、ユーザデバイス106、検証サーバ130、および信頼できるドメインサーバ140を含んでよい。説明を容易にするために、1つの信頼できるドメインサーバ140が示される。
ユーザデバイス106は、ネットワーク102を介してリソース(たとえば、電子ドキュメント)を要求し、受信することができる電子デバイスである。例示的なユーザデバイス106は、パーソナルコンピュータ、ウェアラブルデバイス、スマートスピーカ、タブレットデバイス、モバイル通信デバイス(たとえば、スマートフォン)、スマート家電、およびネットワーク102を介してデータを送受信することができるその他のデバイスを含む。一部の実装において、ユーザデバイスは、ユーザに可聴情報を出力するスピーカと、ユーザからの可聴入力(たとえば、話し言葉の入力)を受け入れるマイクロフォンとを含み得る。ユーザデバイスは、入力を送る、および/または入力に応じて与えられた出力を受け取るためのインタラクティブ音声インターフェースを提供するデジタルアシスタントを含むことも可能である。ユーザデバイスは、視覚情報(たとえば、テキスト、画像、および/またはビデオ)を提示するためのディスプレイを含むことも可能である。ユーザデバイス106は、概して、ネットワーク102を介したデータの送受信を容易にするためのウェブブラウザなどのユーザアプリケーションを含むが、ユーザデバイス106によって実行されるネイティブアプリケーションも、ネットワーク102を介したデータの送受信を容易にし得る。
ユーザデバイス106は、ソフトウェア107を含む。ソフトウェア107は、たとえば、ブラウザまたはオペレーティングシステムであることが可能である。一部の実装において、ソフトウェア107は、ユーザがネットワーク102などのネットワークを通じて情報にアクセスすることを可能にし、サーバから情報を取り出し、ユーザデバイス106のディスプレイ上に情報を表示する。一部の実装において、ソフトウェア107は、ユーザデバイス106のハードウェアおよびソフトウェアリソースを管理し、ユーザデバイス106上のその他のプログラムのための共通のサービスを提供する。ソフトウェア107は、プログラムとユーザデバイス106のハードウェアとの間の仲介役として働き得る。
ソフトウェア107は、各ユーザデバイス106に固有である。以下で詳細に説明されるように、プライバシーを保護するデータ分析および収集の革新は、リソース効率が高く、安全なデバイスに固有のソリューションを提供する。
電子ドキュメントは、ユーザデバイス106において1組のコンテンツを提示するデータである。電子ドキュメントの例は、ウェブページ、文書処理ドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、画像、ビデオ、検索結果ページ、およびフィードソースを含む。モバイル、タブレット、またはデスクトップコンピューティングデバイスにインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ」)も、電子ドキュメントの例である。電子ドキュメント105(「電子Doc」)は、電子docサーバ104によってユーザデバイス106に提供され得る。たとえば、電子docサーバ104は、ネットワークドメイン(たとえば、eTLD+1)などのパブリッシャウェブサイトをホストするサーバを含み得る。電子docサーバ104は、それぞれ、別々のドメイン(たとえば、異なるeTLD+1)内のサーバまたは別々のドメイン(たとえば、異なるeTLD+1)に関連するサーバであることが可能である。
この例において、ユーザデバイス106は、所与のパブリッシャウェブページの要求を開始することができ、所与のパブリッシャウェブページをホストする電子ドキュメントサーバ104は、ユーザデバイス106において所与のウェブページの提示を開始する機械ハイパーテキストマークアップ言語(HTML)コード(machine Hyper-Text Markup Language (HTML) code)を送信することによって要求に応答することができる。
電子ドキュメントは、様々なコンテンツを含み得る。たとえば、電子ドキュメント105は、電子ドキュメント自体の中にあるおよび/または経時的に変化しない静的コンテンツ(たとえば、テキストまたはその他の指定されたコンテンツ)を含み得る。電子ドキュメントは、経時的にまたは要求毎に変わる場合がある動的コンテンツも含み得る。たとえば、所与の電子ドキュメントのパブリッシャは、電子ドキュメントの一部を埋めるために使用されるデータソースを保有し得る。この例において、所与の電子ドキュメントは、所与の電子ドキュメントがユーザデバイス106によって処理される(たとえば、レンダリングされるかまたは実行される)ときにユーザデバイス106にデータソースのコンテンツを要求させるタグまたはスクリプトを含み得る。ユーザデバイス106は、データソースから取得されたコンテンツを含む複合的な電子ドキュメントを生成するために、データソースから取得されたコンテンツを所与の電子ドキュメントの提示に組み込む。
状況によっては、所与の電子ドキュメントは、DCDS110を参照するデジタルコンテンツタグまたはデジタルコンテンツスクリプトを含み得る。これらの状況において、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、所与の電子ドキュメントがユーザデバイス106によって処理されるときにユーザデバイス106によって実行される。デジタルコンテンツタグまたはデジタルコンテンツスクリプトの実行は、デジタルコンテンツの要求108を生成するようにユーザデバイス106を構成し、要求108は、ネットワーク102を介してDCDS110に送信される。たとえば、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、ユーザデバイス106がヘッダおよびペイロードデータを含むパケット化されたデータ要求を生成することを可能にし得る。要求108は、デジタルコンテンツが要求されているサーバの名前(もしくはネットワークロケーション)、要求元のデバイス(たとえば、ユーザデバイス106)の名前(もしくはネットワークロケーション)、および/またはDCDS110が要求に応じて提供されるデジタルコンテンツを選択するために使用することができる情報などのデータを含み得る。要求108は、ユーザデバイス106によってネットワーク102(たとえば、電気通信ネットワーク)を介してDCDS110のサーバに送信される。
要求108は、電子ドキュメントと、デジタルコンテンツが提示され得る場所の特徴とを指定するデータを含み得る。たとえば、デジタルコンテンツが提示される電子ドキュメント(たとえば、ウェブページ)の参照(たとえば、URL)、デジタルコンテンツを提示するために利用可能な電子ドキュメントの利用可能な場所(たとえば、デジタルコンテンツスロット)、利用可能な場所のサイズ、電子ドキュメントの提示の中の利用可能な場所の位置、および/または場所に提示するのにふさわしいメディアタイプを指定するデータが、DCDS110に提供され得る。同様に、電子ドキュメントの選択のために指定されたキーワード(「ドキュメントキーワード」)または電子ドキュメントによって参照されるエンティティ(たとえば、人、場所、もしくは物)を指定するデータも、(たとえば、ペイロードデータとして)要求108に含められ、電子ドキュメントとともに提示するのにふさわしい電子docまたはデジタルコンポーネントなどのデジタルコンテンツアイテムの特定を容易にするためにDCDS110に提供され得る。
要求108は、ユーザが提供した情報、要求がそこから送られた州もしくは地域を示す地理的情報、またはデジタルコンテンツが表示される環境に関するコンテキスト(たとえば、モバイルデバイスもしくはタブレットデバイスなどの、デジタルコンテンツが表示されるデバイスの種類)を提供するその他の情報などのその他の情報に関連するデータも含み得る。ユーザによって提供される情報は、ユーザデバイス106のユーザに関するデモグラフィック(demographic)データを含み得る。たとえば、デモグラフィック情報は、特徴の中でもとりわけ、年齢、性別、地理的位置、教育レベル、婚姻区分、世帯収入、職業、趣味、ソーシャルメディアデータ、およびユーザが特定の物を所有しているかどうかを含み得る。
ユーザデバイス106のモデル、ユーザデバイス106の構成、または電子ドキュメントが提示される電子ディスプレイ(たとえば、タッチスクリーンもしくはデスクトップモニタ)のサイズ(たとえば、物理的なサイズもしくは解像度)を特定する情報などのユーザデバイス106の特徴を指定するデータも、要求108において提供され得る。要求108は、たとえば、パケット化されたネットワークを介して送信されることが可能であり、要求108自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットされることが可能である。ヘッダは、パケットの送信先を指定することができ、ペイロードデータは、上で検討された情報のいずれかを含み得る。
本明細書全体を通じて検討されるプライバシーを守る技術に加えて、ユーザは、本明細書において説明されるシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行為、または活動、職業、ユーザのプリファレンス、またはユーザの現在位置についての情報)の収集を有効化してよいかどうかといつ有効化してよいかとの両方、およびユーザがコンテンツまたは通信をサーバから送信されるかどうかについての選択をユーザが行うことを可能にする制御を提供されてよい。さらに、特定のデータが、個人を特定することができる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される場合がある。たとえば、ユーザのアイデンティティが、個人を特定することができる情報がユーザに関して決定されることが不可能であるか、または位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルなどに)一般化される場合があり、したがって、ユーザの特定の位置が決定されることが不可能であるように処理される場合がある。したがって、ユーザは、どの情報がユーザについて収集されるか、その情報がどのように使用されるのか、およびどの情報がユーザに提供されるのかを制御することができてよい。
DCDS110は、要求108の受信に応じておよび/または要求108に含まれる情報を使用して所与の電子ドキュメントとともに提示されるデジタルコンテンツを選択する。一部の実装において、DCDS110は、たとえば、サーバと、相互に接続され、要求108に応じてデジタルコンテンツを特定し、配信する1組の複数のコンピューティングデバイスとを含む分散型コンピューティングシステム(または環境)に実装される。1組の複数のコンピューティングデバイスは、数百万以上の利用可能なデジタルコンテンツのコーパスの中から電子ドキュメント内に提示されるのにふさわしい1組のデジタルコンテンツを特定するために一緒に動作する。数百万以上の利用可能なデジタルコンテンツは、たとえば、デジタルコンポーネントデータベース112内でインデックス付けされ得る。各デジタルコンテンツのインデックスのエントリは、対応するデジタルコンテンツを参照し得る、および/または対応するデジタルコンテンツの配信を条件付ける配信パラメータ(たとえば、選択基準)を含み得る。
ふさわしいデジタルコンテンツの特定は、複数のタスクにセグメント分けされることが可能であり、そして、それらの複数のタスクは、1組の複数のコンピューティングデバイスの中のコンピューティングデバイスの間に割り振られる。たとえば、異なるコンピューティングデバイスが、要求108に含まれる情報に一致する配信パラメータを有する様々なデジタルコンテンツを特定するためにデジタルコンポーネントデータベース112の異なる部分をそれぞれ分析し得る。
DCDS110は、1組の複数のコンピューティングデバイスから受信された結果を集約し、要求108に応じて提供されるデジタルコンテンツの1つまたは複数のインスタンスを選択するために集約された結果に関連する情報を使用する。そして今度は、DCDS110は、選択された1組のデジタルコンテンツおよび電子ドキュメントのコンテンツがユーザデバイス106のディスプレイに一緒に提示されるように、ユーザデバイス106が選択された1組のデジタルコンテンツを所与の電子ドキュメントに組み込むことを可能にする応答データ114(たとえば、応答を表すデジタルデータ)を生成し、ネットワーク102を介して送信することができる。
DCDS110は、ユーザデバイス106のソフトウェア107からの要求108を電子docサーバ104などのデータのソースに転送することができ、電子docサーバ104からの応答114をユーザデバイス106のソフトウェア107に転送することができる。たとえば、DCDS110は、電子docサーバ104とユーザデバイス106および/またはユーザデバイス106上で実行されるソフトウェア107との間の仲介役として働く。
ランダム化コホートジェネレータ121(RCXジェネレータ)は、電子docサーバ104が、ランダム化コホート、本明細書において説明されるプライバシーを守る監視/集約メカニズムを生成することを可能にする。本明細書内では、ランダム化コホートは、ランダム化コホート識別子およびランダム化コホートタイムスタンプを有するプライバシーを守る監視メカニズムの特定のフォーマットを指す。ランダム化コホートは、ソフトウェア107などのアプリケーションまたはユーザデバイス106などのデバイスからの最初の第三者の要求に応じて生成され、識別子(すなわち、ランダム化コホート識別子)およびタイムスタンプ(すなわち、ランダム化コホートタイムスタンプ)を含む。たとえば、ランダム化コホートは、rcx(rcx.id, rcx.timestamp)によって表されるデータであることが可能であり、rcxは、ランダム化コホートを表し、rcx.idは、ランダム化コホート識別子を表し、rcx.timestampは、タイムスタンプを表す。ランダム化コホートは、最初の要求が受信されたソフトウェア107またはユーザデバイス106に割り振られる。説明を簡単にするために、この例において、ランダム化コホートは、ブラウザ107からの最初の要求に応じて生成される。その他の例において、ランダム化コホートは、特定のユーザデバイス106からの最初の要求に応じて生成され得る。
ランダム化コホートジェネレータ121は特定のドメインに関連付けられるので、各ジェネレータ121によって生成されるランダム化コホートは、ドメインをスコープとし得る、つまり、ランダム化コホートデータは、ランダム化コホートジェネレータ121および/または電子docサーバ104が関連付けられるドメイン内で使用され、ランダム化コホートは、その他のドメインまたはサーバに提供または共有されない。
最初の要求は、電子docサーバ104からの電子ドキュメント105の要求であることが可能である。最初の要求は、電子docサーバ104からの要求されたコンテンツとともに表示するために提供され得るデジタルコンポーネントなどのコンテンツを提供するサードパーティサーバ150からのコンテンツアイテムの要求であることが可能である。
ランダム化コホート識別子は、電子docサーバ104に最初の要求をやはり与えたその他のユーザデバイス106上で実行される多数のその他のブラウザ107にも割り振られるランダムに選択または構築された識別子である。たとえば、ランダム化コホート識別子は、1組の既存の識別子から選択されるか、またはブラウザ107からの最初の要求に応じて作成されるランダムに生成される64ビットの識別子であることが可能である。ランダム化コホート識別子が割り振られるその他のアプリケーション107の数は、ユーザに保証されるプライバシーの所定の閾値レベルに基づく。たとえば、電子docサーバ104は、k-匿名性の保証を実装することができ、つまり、各ランダム化コホート識別子は、異なるユーザデバイス106上で動作する少なくともk個のブラウザ107に割り振られる。各電子docサーバ104は、保証するkを独立して選択することができる。一部の例において、各電子docサーバ104は、同じレベルのk-匿名性を保証する。
ランダム化コホートタイムスタンプは、要求108に応じてランダム化コホート識別子が要求されるおよび/またはソフトウェア107に割り振られる時間を示す。たとえば、ランダム化コホートタイムスタンプは、要求108がランダム化コホートジェネレータ121によって受信された時間を示し得る。別の例において、ランダム化コホートタイムスタンプは、要求108に応じてランダム化コホート識別子が選択された時間を示し得る。別の例において、ランダム化コホートタイムスタンプは、要求108に応じてランダム化コホート識別子がソフトウェア107に割り振られた時間を示し得る。これらのアクションのうちの1つまたは複数は、同時に実行されることが可能であり、したがって、ランダム化コホートタイムスタンプは、これらのアクションのうちの1つまたは複数が実行される時間を表し得る。ランダム化コホート識別子はk-匿名性を維持する目的で少なくともk個のブラウザ107に割り振られる(つまり、k=3000に関しては3000個の異なるブラウザ107に割り振られる)ので、ランダム化コホートタイムスタンプとランダム化コホート識別子との組合せが、一意識別子として働き得る。ランダム化コホートを提供するときにプライバシーを守るために、ランダム化コホートジェネレータ121は、ランダム化コホートタイムスタンプも匿名化し、ランダム化コホートが入る古さバケットを表すパラメータを作成することができる。古さバケットは、ランダム化コホートの古さが入る古さ値の一般化された範囲を表すが、ランダム化コホートが割り振られたブラウザ107を一意に特定するために使用され得ない。たとえば、ランダム化コホートジェネレータ121は、ランダム化コホートの古さを決定するために、現在の時間とランダム化コホートタイムスタンプとの間の差を決定することができる。そして、ランダム化コホートジェネレータ121は、たとえば、パラメータの中でもとりわけ、kの値およびk-匿名性を維持するために必要とされる古さの範囲または古さの所定の範囲などの情報に基づいて古さバケットの値を生成することができる。
ランダム化コホート識別子およびランダム化コホートタイムスタンプを含むランダム化コホートに加えて、ランダム化コホートジェネレータ121は、ランダム化コホートの有効性を証明するために使用され得る証明書を生成する。たとえば、ランダム化コホートジェネレータ121は、電子docサーバ104によって署名される公開検証鍵を含む証明書を生成することができる。また、電子docサーバ104は、公開/秘密鍵ペアを生成することができる。証明書生成プロセスおよび検証プロセスは、下でさらに詳細に説明される。
ランダム化コホート識別子とランダム化コホートタイムスタンプとの両方を含むランダム化コホートは、匿名性および一意の特定を可能にする柔軟なプライバシーを守る監視メカニズムである。下でさらに詳細に説明されるように、ブラウザ107がそのランダム化コホートの有効性を証明しているとき、証明書は、ブラウザ107を一意に特定するために使用され得る。たとえば、ブラウザ107は、検証を目的として、ランダム化コホートジェネレータ121によって提供された証明書を検証システムに送信することができる。
一部の実装において、ランダム化コホート以外のメタデータは、ブラウザ107が記憶されるユーザデバイス106に記憶されるために発行元ドメインまたは電子docサーバ104によって提供されない。この追加的な制限は、収集され、記憶されるデータの量を削減することによってユーザのプライバシーをさらに改善し、収集されず、したがって特定のユーザまたはランダム化コホート識別子にリンクされ得ない特定の種類のユーザデータを侵害する可能性をなくす。
アナライザ123は、ランダム化コホートデータを分析して、ユーザのウェブ活動を監視する。アナライザ123は、アナライザ123が関連付けられる電子docサーバ104からのデータの要求とともに、ランダム化コホート識別子およびランダム化コホート古さデータを受け取り、受け取られたランダム化コホート識別子およびランダム化コホート古さデータを使用して、セキュリティ機能を実行することができる。たとえば、アナライザ123は、ランダム化コホート識別子およびランダム化コホート古さデータに基づいて、システムまたは電子docサーバ104からのコンテンツの特定の種類の詐欺的な活動または協調的な不正使用を検出することができる。図1に示されるように、各電子docサーバ104は、独自のニーズに合わせた別々のアナライザ123を有することができる。一部の例において、電子docサーバ104は、遠隔のまたは別個の分析サーバまたはサービスとして実装され得る集中型アナライザ123を共有し得る。
システム100は、ユーザデバイス106またはブラウザ107のユーザが使用することを選択し得る1つまたは複数の第三者の独立した検証サービスを含む。第三者の独立した検証サービスは、上述の電子docサーバ104および後述する信頼できるドメインサーバ140などの発行サービスによって割り振られたランダム化コホートのプライバシー特性を独立して検証する。ランダム化コホートのプライバシー特性の独立した検証は、ユーザの任意選択であり、下でさらに詳細に説明される。
検証サーバ130は、ランダム化コホート識別子と、ランダム化コホート識別子およびランダム化コホート古さパラメータのペアとの統計的特性の検証を実行する、電子docサーバ104とは独立したサーバである。検証サーバ130は、ランダム化コホートを発行せず、ランダム化コホートデータの監視、またはランダム化コホートデータを監視および/もしくは分析する電子docサーバ104などのサーバとのそれ以外のインタラクションに参加しない独立したサーバとして働く。検証サーバ130は、電子docサーバ104などの発行サーバが特定のランダム化コホートに関して保証されたプライバシーレベルを維持していることをユーザが検証することを可能にする。自分のプライバシーが参加する発行元ドメインによって維持されていることを独立したサービスを通じて検証する機会をユーザに与えることによって、システム100は、ユーザの信頼を促進し、ユーザ体験を向上させる。さらに、これは、ユーザが特定の発行元ドメインが適合しているかどうかを見極め、発行元ドメインに責任を持たせることを可能にし、したがって、すべてのユーザの体験を向上させる。
信頼できるドメインサーバ140は、要求108に応じてソフトウェア107にランダム化コホートを発行することができる、電子docサーバ104とは独立したサーバである。信頼できるドメインサーバ140は、グローバルなスコープを有するランダム化コホートを発行し、つまり、ランダム化コホートは、異なるドメインからの要求元サーバに提供されることが可能であり、電子docサーバ104によって生成されたドメインをスコープとするランダム化コホートのように特定のドメイン内での使用に制限されない。信頼できるドメインサーバ140は、ランダム化コホートの中央のソースとして働き、生成され、割り振られた各ランダム化コホートに関して1つまたは複数のレベルのプライバシーを保証する。一部の実装において、信頼できるドメインサーバ140は、電子docサーバ104とは別個であり、電子docサーバ104のいずれとも情報を共有せず、コンテンツを提供またはホストしない。たとえば、信頼できるドメインサーバ140は、コンテンツ配信プロセスに参加せず、システム100のユーザのプライバシーを維持するためにランダム化コホートを生成し、割り振るためにのみシステム100に含まれる。
ランダム化コホートジェネレータ142(RCXジェネレータ)は、上述のランダム化コホートジェネレータ121と同様に動作するが、電子docサーバではなく信頼できるドメインサーバ140に関連付けられるジェネレータである。
図2は、プライバシーを守る監視メカニズムを発行し、実施するための例示的なプロセス200のデータフロー図である。下で説明されるように、ランダム化コホートをサポートするドメインは、特定の検証可能なk-匿名性特性を保つ方法で、ランダム化コホートをユーザに割り振ることを要求される。プロセス200の動作は、たとえば、電子docサーバ104、ユーザデバイス106、検証サーバ130、信頼できるドメインサーバ140、および/またはサードパーティサーバ150によって実施され得る。プロセス200の動作は、非一時的である場合がある1つまたは複数のコンピュータ可読媒体上に記憶された命令として実装されることも可能であり、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス200の動作を実行させることが可能である。
図1に関連して上で検討されたように、DCDS110は仲介者として働き、ユーザデバイス106から電子docサーバ104に要求108を転送し、電子docサーバ104からユーザデバイス106に応答114を転送してよい。この特定の例において、DCDS110は、ユーザデバイス106と電子docサーバ104との間でデータを送信する場合があるが、データフローには図示されていない。
プロセス200は、ユーザデバイス106が電子docサーバ104にコンテンツの要求を与える段階A-1から始まる。たとえば、ソフトウェア107が、特定のネットワークドメインに関連する電子docサーバ104に、特定のWebページなどのコンテンツの要求を与える。ソフトウェア107は、ウェブページに加えて、デジタルコンポーネントなどのサードパーティコンテンツの要求を与えることができる。たとえば、ソフトウェア107は、サードパーティサーバ150に要求を与えることができる。段階A-1における要求は、コンテンツの要求かまたはデジタルコンポーネントの要求かのどちらかである、ユーザデバイス106からの要求であることが可能である。要求は、電子docサーバ104またはサードパーティサーバ150に与えられ得る。この特定の例においては、要求とラベル付けされた要求1が、電子docサーバ104に与えられる。
要求1は、ソフトウェア107からの最初の要求である。最初の要求は、ソフトウェア107が以前に電子docサーバ104に要求を発行していないこと、ソフトウェア107が以前にランダム化コホートを発行されていないこと、および/または以前に発行されたランダム化コホートが期限切れになったか、ソフトウェア107に関連するユーザによってリセットされたか、もしくはそうでなければ無効であることを示す。たとえば、要求1は、ソフトウェア107が以前に電子docサーバ104に要求を発行しておらず、したがって、電子docサーバ104がソフトウェア107にランダム化コホートを発行し、割り振るべきであることを示し得る。一部の実装においては、システム100が信頼できるドメインサーバ140のような単一の中央発行エンティティを使用する場合、段階A-2が発生し、段階A-2において、要求1を示すデータが、電子docサーバ104から信頼できるドメインサーバ140に転送される。システム100が電子docサーバ104などの別々の発行エンティティを使用する場合、段階A-2は発生しない。この特定の例においては、システム100が別々の発行エンティティを使用するので、段階A-2は発生しない。その他の例および実装においては、たとえシステム100が別々の発行エンティティを使用するとしても、段階A-2が発生し得る。
プロセス200は、ランダム化コホートジェネレータが要求1を示すデータの受信に応じてランダム化コホート201を生成/構築し、ランダム化コホートを要求元ユーザデバイス106またはソフトウェア107に割り振る段階Bに続く。
システム100が信頼できるドメインサーバ140などの単一の中央発行エンティティを使用する場合、ランダム化コホートジェネレータ142が、要求1を示すデータの受信に応じてランダム化コホートを生成することによって段階Bを実行する。システム100が電子docサーバ104のような別々の発行エンティティを使用する場合、ランダム化コホートジェネレータ121が、要求1を示すデータの受信に応じてランダム化コホートを生成することによって段階Bを実行する。この特定の例において、段階Bは、ランダム化コホートジェネレータ121によって実行されるものとして説明される。その他の例および実装において、たとえば、システム100が信頼できるドメインサーバ140などの単一の中央発行エンティティを使用する場合、段階Bは、ランダム化コホートジェネレータ142によって実行され得る。
ランダム化コホートジェネレータ121は、ランダムに選択された識別子およびタイムスタンプに基づいて各ランダム化コホートを生成する。識別子は、ランダムに生成されることが可能であり、またはシステム100が異なるユーザデバイス106上で実行される十分な量の異なるブラウザ107もしくは十分な量の異なるユーザデバイス106を有するときには、識別子は、既に使用されている既存の識別子の中から識別子を選択されることが可能である。この特定の例において、ランダム化コホートジェネレータ121は、ランダム化コホート識別子として64ビットの識別子を選択する。
ランダム化コホート識別子に適用されるk-匿名性の概念は、各ランダム化コホート識別子が少なくともk個のブラウザ107に割り振られることを保証する。たとえば、k個の異なるブラウザ107は、k人の異なるユーザに対応するk個の異なるユーザデバイス106を保証するための代理指標(proxy metric)として使用され得る。発行元ドメインの各々は、ランダム化コホート識別子の各々が異なるユーザデバイス106上で実行される少なくともk個のブラウザ107に割り振られるように、その発行元ドメインが発行するランダム化コホートに関して特定のkを保証する。そのようなレベルのプライバシーを保証するために、発行元ドメインは、発行される各ランダム化コホート識別子の数を追跡し、ブラウザ107を既に割り振られた特定のランダム化コホート識別子に関連付けなければならない。割り振りプロセス中に、ブラウザ107は、特定のランダム化コホート識別子に割り振られたブラウザ107のクラスタに割り振られ得る。たとえば、ランダム化コホートジェネレータ121は、要求1が受信されたブラウザ107を、特定のランダム化コホート識別子に関連付けられるブラウザ107のクラスタにランダムに割り振ることができる。
各発行元ドメインは、識別子の一様に分布した割り振りを提供するための(または一様に分布した割り振りの閾値内の)割り振りプロセスを実行する。たとえば、ランダム化コホートジェネレータ121は、ブラウザ107を、既に生成され、ブラウザ107に関連付けられた1組のランダム化コホート識別子のうちの1つにランダムに割り振ることができる。ランダム化コホートジェネレータ121は、ユーザに対するそのk-匿名性の保証を維持するために、異なるランダム化コホート識別子の数をブラウザの数と釣り合わせる。たとえば、ランダム化コホートジェネレータ121は、それぞれの電子docサーバ104にコンテンツの要求を与える予想されるおよび現在のブラウザ107の数に基づいて、割り振られる異なるランダム化コホート識別子の数の釣り合いを取ることができる。一例において、ランダム化コホートジェネレータ121は、電子docサーバ104にコンテンツの要求を与える予想されるブラウザ107に基づく異なるランダム化コホート識別子の閾値の数を生成または受信することができ、電子docサーバ104にコンテンツの要求を与える異なるブラウザ107からのトラフィックの実際の現在の量に基づいて異なるランダム化コホート識別子の閾値の数を調整することができる。たとえば、ランダム化コホートジェネレータ121は、異なるブラウザ107の数の増加または変化の速度に基づいて、そのドメインに関連付けられる異なるランダム化コホート識別子の数を増やすことができる。別の例においては、システム100の初期化の際に、ランダム化コホートジェネレータ121は、別々のユーザデバイス106上で実行される異なるブラウザ107から多数の要求を受信し、k-匿名性を保証するためにk個のブラウザ107のクラスタを特定のランダム化コホート識別子にランダムに割り振ることができる。
k-匿名性を保証するためは、ドメインは、統計的議論が意味を持つようになり、特定のランダム化コホート識別子が異なるユーザデバイス上で実行されるk個の異なるブラウザに割り振られるような匿名化効果を提供するために十分な量のトラフィックを有していなければならない。システム100は、ランダム化コホートプライバシー特性が検証可能になるために十分な量のトラフィックをドメインが維持することを保証するために、ウェブ活動のレベルに関する閾値を設定および調整することによって、システムが十分な量のトラフィックを有することを保証することができる。
ランダム化コホートが生成され、ブラウザ107に割り振られると、ランダム化コホートは、有効期限を持ち得る。たとえば、ランダム化コホートは、時間の所定の期間の後、またはユーザがランダム化コホートをリセットするかまたはクリアするまで、期限切れになり得る。一部の例において、ランダム化コホートは、ブラウザ107のユーザ、ブラウザ107のデフォルト設定、発行元ドメインによって指定された時間の期間、ブラウザ107のユーザのウェブ活動およびユーザまたはユーザと同様のブラウジングの傾向を有するユーザの傾向に基づいてブラウザ107によって決定された時間の期間の後に期限切れになり得る。たとえば、ユーザが発行元ドメインに関連するランダム化コホートを定期的にクリアすることが多い場合、ランダム化コホートの有効期限は、ドメインのユーザが広く使用するのと同様の定期的なスケジュールでランダム化コホートがクリアされるように調整され得る。
ランダム化コホートジェネレータ121は、ランダム化コホート識別子の割り振りが期限切れになるかまたはクリアされるとき、以前に使用されたランダム化コホート識別子を再び割り振ることができる。たとえば、ランダム化コホートジェネレータ121は、以前に期限切れになったランダム化コホート識別子を含む利用可能なランダム化コホート識別子のリストを使用して、ランダム化コホート識別子をブラウザ107にランダムに割り振るか、またはシステムの必要性に基づいてランダム化コホート識別子をランダムに生成することができる。
一部の実装において、ランダム化コホート識別子は「陳腐化」する可能性があり、言い換えると、特定のランダム化コホート識別子に割り振られたユーザの数は、ユーザがユーザのランダム化コホートをリセットするか、またはユーザのランダム化コホートが期限切れになるにつれて、時間とともに下落する可能性がある。電子docサーバ104などの発行元ドメインは、ランダム化コホートが発行される時点でk人のユーザを保証することができるが、FCの背後にいるユーザの数は、ランダム化コホートが期限切れになるかまたはリセットされるにつれて減少する可能性がある。システム100は、たとえば、k人未満のユーザが存在するランダム化コホート識別子/古さバケットに関するリサイクルステータスを示す1つまたは複数の追加の状態をサーバに記憶することによって、バケットあたりのユーザのこの減少に対抗することができる。さらに、検証サーバ130は、ユーザの特定のバケット(すなわち、時間のある期間内に特定のランダム化コホート識別子に割り振られたユーザのバケット)における活動の欠如を検出することもできる。検証サーバ130は、ランダム化コホート識別子の分布に関するフィードバックをブラウザ107に提供することもでき、ランダム化コホートジェネレータ121にフィードバックを提供することができる。
さらに、ランダム化コホートジェネレータ121は、図1に関連して上で説明されたように、ランダム化コホート識別子が割り振られたまたは生成された時間を示すタイムスタンプを生成する。たとえば、ソフトウェア107からの要求が受信される時点で、ランダム化コホートジェネレータは、ランダム化コホートタイムスタンプを生成する。タイムスタンプは、ランダムに選択された識別子が、ユーザにランダム化コホートをランダムに割り振る発行元ドメインにいつ割り振られたかを示す。
ブラウザ107のユーザは、その他の監視メカニズムがクリアおよび/またはリセットされ得るのとまったく同様に、自分のブラウザ107に関連するランダム化コホートをいつでもリセットすることができる。ユーザが自分のブラウザ107に関連する発行元ドメインによって発行されたランダム化コホートをリセットするとき、ブラウザ107から電子docサーバ104などの発行元ドメインに送信される次の要求は、ブラウザ104にランダム化コホートが割り振られるべき最初の要求として受信される。
ブラウザ107に割り振られたランダム化コホートに加えて、ランダム化コホートジェネレータ121は、ランダム化コホートを含む証明書および公開/秘密鍵ペアを生成する。ランダム化コホートジェネレータ121によって提供されるこの証明書には、ランダム化コホート識別子およびランダム化コホートタイムスタンプを含むブラウザ107の特定可能な情報を含む。ランダムコホートジェネレータ121は、証明書に署名し、これは、証明書およびブラウザ107へのその割り振りの真正性を示す。署名された証明書は、下でさらに詳細に説明されるように、検証の目的にのみ使用され、検証サーバ以外のドメインに送信されず、検証サーバ以外のドメインによってアクセスされ得ない。ランダム化コホートジェネレータ121は、暗号アルゴリズムを使用して、他者に知られてよい公開鍵と、ブラウザ107以外の誰にも知られてはならない秘密鍵とを生成する。公開/秘密鍵ペアは、ランダム化コホートを含む署名された証明書を提供するブラウザ107の証明またはそのようなブラウザ107のアイデンティティの提供のために使用される。特に、公開鍵は、要求元エンティティに提供され、ブラウザ107は、秘密鍵を使用して、そのブラウザ107が証明書を割り振られたことを暗号学的に実証することができる。さらに、証明書は、公開/秘密鍵ペアを使用して暗号化され得る。
検証サーバ130は、証明書に対する署名が有効であることを検証する。たとえば、examplecoolvideoplatform.comが証明書を発行した場合、検証サーバ130は、examplecoolvideoplatform.comの公開鍵を取得し、証明書に対する署名が有効であることを検証する。鍵は、たとえば、公開鍵基盤(PKI)などの技術によって配布されることが可能であり、証明書を生成したランダム化コホートジェネレータ121に関連する電子docサーバ104によって配布される必要はない。そのとき、検証サーバ130は、チャレンジを生成し、チャレンジをブラウザ107に送信する。たとえば、チャレンジは、乱数または検証サーバ130に知られている何らかの変数であることが可能である。それから、ブラウザ107は、その秘密鍵を使用してチャレンジに署名し、署名を検証サーバ130に返すことができる。そして、検証サーバ130は、署名された証明書上で公開された公開検証鍵を使用して署名が有効であることを検証することができる。
プロセス200は、電子docサーバ104がランダム化コホート、署名された証明書、公開/秘密鍵ペア、および要求に対する応答をブラウザ107に提供する段階Cに続く。一部の実装において、電子docサーバ104は、ランダム化コホート、署名された証明書、公開/秘密鍵ペア、および要求に対する応答の各々をブラウザ107に同時に提供する。その他の実装において、電子docサーバ104は、ランダム化コホート、署名された証明書、公開/秘密鍵ペア、および要求に対する応答のうちの1つまたは複数をブラウザ107に別々に提供する。一部の実装において、秘密/公開鍵ペアは、PKIなどの標準的な技術によって配布される。上述のように、プロセス200の特定の段階は、電子docサーバ104によって実行される。たとえば、段階Cは、信頼できるドメインサーバ140によって実行され得る。
プロセス200は、ブラウザ107がランダム化コホートデータと一緒に電子docサーバ104に後続の要求を与える段階Dに続く。後続の要求は、最初の要求と同一のフォーマットであることが可能であり、要求が最初の要求の後に続くものであることを示す任意の追加の情報を提供することは求められない。ブラウザ107は、ブラウザ107が割り振られたランダム化コホートに関連するドメインに要求が提供されていることを検出し、ランダム化コホートデータを提供し、したがって、電子docサーバ104に対して、要求が後続の要求であることを示す。ランダム化コホートデータは、ブラウザのユーザのプライバシーを以前可能であったよりもしっかりと守りながら、電子docサーバ104に関連するドメインがドメイン内の異なるブラウザの活動を監視することを可能にする。
ブラウザ107は、電子docサーバ104に関連するドメインのためのその割り振られたランダム化コホート識別子と、ドメインのためのランダム化コホートの曖昧化された古さを表すデータとを含むランダム化コホートデータを提供する。特に、ブラウザ107は、ブラウザ107の特定のアイデンティティを曖昧化するために、ランダム化コホートタイムスタンプの代わりに提供されるランダム化コホート古さバケットを生成する。たとえば、ブラウザ107は、関数RCX.AgeBucketFn()を使用してランダム化コホート古さバケットを計算する。関数は、たとえば、log2(currentTime - randomized cohort.Timestamp)などのバケット化関数(bucketing function)であることが可能であり、currentTimeは、現在の時間を表し、randomized cohort.Timestampは、ランダム化コホートタイムスタンプを表す。
ブラウザ107が後続の要求によってランダム化コホート識別子とランダム化コホートタイムスタンプとの両方を提供するので、発行元ドメイン(この例においては、発行元ドメインの電子docサーバ104)は、そのk-匿名性の保証を満たすために、ランダム化コホート識別子およびランダム化コホート古さバケットの各ペアに割り振られたブラウザ107の少なくともk人のユーザまたはユーザプロキシ(user proxy)が存在することを保証する責任を負う。一部の実装において、発行元ドメインは、ランダム化コホート識別子、およびランダム化コホート識別子とランダム化コホートタイムスタンプとのペアに関して、異なるレベルのk-匿名性を保証することができる。
任意で、ブラウザ107のユーザは、ブラウザ107に割り振られたランダム化コホートの統計的および/またはプライバシー特性を検証することを選択することができる。検証されるランダム化コホートの発行元ドメインでない任意の第三者(電子docサーバ104または信頼できるドメインサーバ140など)は、検証サーバ130を維持することができ、ユーザは、自分のブラウザ107を任意の検証サーバ130に導くことを選択することができる。一部の実装において、電子docサーバ104は、その他のドメインに関連するその他の電子docサーバ104によって発行されるランダム化コホートの統計的および/またはプライバシー特性を検証するための検証サーバ130を維持することができる。一部の実装において、ブラウザ107は、ユーザによって命じられることなく、自動的に検証サーバ130に検証を要求することができる。たとえば、システム100は、ランダムに選択された適格な検証サーバ130に検証を定期的に要求することを参加ブラウザ107に要求し得る。一部の実装において、ブラウザ107は、ユーザによって命じられない限り、検証を要求しない。
プロセス200は、ソフトウェア107が検証サーバ130に証明書を提供する段階Eで継続する。たとえば、ブラウザ107は、段階Bにおいてランダム化コホートジェネレータ121によって生成された証明書を検証サーバ130に提供する。ブラウザ107は、証明を目的として公開鍵を検証サーバに提供することもできる。一部の実装において、ブラウザ107は、ランダム化コホートの古さを曖昧化しない証明書の代わりに、ランダム化コホート識別子およびランダム化コホート古さバケットなどのランダム化コホート情報を提供する。
プロセス200は、検証サーバ130がブラウザ107によって提供されるランダム化コホートデータの統計的および/またはプライバシー特性を検証する検証プロセスを実行する段階Fに続く。
検証サーバ130は、検証サーバ130がアクセスすることができる1組のランダム化コホート識別子が一様に分布していることを検証する。たとえば、検証サーバ130は、証明書を使用して、ランダム化コホート識別子および/またはランダム化コホート古さバケットを決定することができる。それから、検証サーバ130は、ランダム化コホート識別子および/またはランダム化コホート古さバケットを、検証サーバがアクセスすることができるランダム化コホート識別子および/またはランダム化コホート古さバケットのリストと比較して、適切なスコープ内のそれぞれの異なるランダム化コホート識別子に割り振られた異なるユーザデバイス上で動作するブラウザの数が一様に分布しているかどうかまたは一様に分布することと閾値の距離内にあるかどうかを判定することができる。上で検討されたように、スコープは、特定のドメイン内であるか、または参加ドメインのネットワーク内でグローバルであることが可能である。たとえば、検証サーバ130は、その検証サービスに参加するブラウザ107から受信したランダム化コホート識別子とランダム化コホート古さバケットとのペアのリストを維持することができる。そして、検証サーバ130は、特定の古さバケットおよび/またはドメイン内のそれぞれの異なるランダム化コホート識別子に割り振られた異なるユーザデバイス上で動作する異なるブラウザの数が正常に分布しているかどうかを判定することができる。一部の実装において、検証サーバ130は、同じ古さバケット内にあるという追加の要件なしに、特定のドメイン内のそれぞれの異なるランダム化コホート識別子に割り振られた異なるユーザデバイス上で動作する異なるブラウザの数が正常に分布しているかどうかを判定する。
ブラウザ107は、特定の時間間隔で自動的に検証サーバ130などの検証サービスに検証を要求することができる。たとえば、ブラウザ107は、電子docサーバ104がk-匿名の保証の責任を遵守し、その電子docサーバ104がユーザに約束するレベルのプライバシーを提供していることを保証するために、毎週、検証サーバ130に検証を要求することができる。
任意で、ランダム化コホートがグローバルなスコープを有し、各ドメインによって割り振られないコンテンツ配信プロセス中に、ブラウザ107がコンテンツを要求する電子docサーバ104は、ブラウザ107からの最初の要求に対するその応答に証明要求を含めることができる。
そのようなランダム化コホートは、電子docサーバ104が関連付けられているドメインに関係なく、各要求でブラウザ107によって各電子docサーバ104に提供される。グローバルなスコープを有するランダム化コホートを使用することは、悪意のあるドメインが、より追跡可能なエントロピー(entropy)を生み出す方法でドメインをまたがってランダム化コホートを組み合わせるために共謀することを防ぎ、ドメイン間の共謀が原因であるユーザのプライバシーの侵害のリスクを減らす。しかし、グローバルなスコープを有するランダム化コホートは、グローバルに読み取り可能であり、これは、反射攻撃などの手口による不正使用の可能性を除去しない。たとえば、悪意のある行為者が、ドメインへのトラフィックを購入し、(ランダム化コホート識別子およびランダム化コホートタイムスタンプを含む)ランダム化コホートを集め、観測された分布を使用して異なるドメインを攻撃し得る。ランダム化コホートを生成したエンティティが、電子docサーバ104またはサードパーティサーバ150などの、コンテンツが要求されるサーバと別れており、独立しているので、コンテンツが要求されるサーバは、ランダム化コホート識別子およびランダム化コホートタイムスタンプを提供するブラウザ107が信頼できるドメインサーバ140などの信頼できるサーバからランダム化コホートを実際に割り振られたことを検証するための証明手順を実行することができる必要がある。
証明要求は、ブラウザ107が、ブラウザ107によるコンテンツの要求とともに電子docサーバ104に提供されたランダム化コホート識別子およびランダム化コホート古さバケットが信頼できるドメインサーバ140などの信頼できるサーバによってブラウザ107に実際に割り振られたかどうかを判定するように検証サーバ130に要求すべきであることを指定することができる。たとえば、電子docサーバ104は、証明書および関連するランダム化コホート情報が信頼できるドメインサーバ140などの信頼できるサーバによって割り振られたブラウザ107としてそのブラウザ107のアイデンティティを証明するように検証サーバ130がブラウザ107に要求することを要求し得る。検証サーバ130は、特定の証明書が特定のブラウザ107に割り振られたことを証明する、ランダム化コホートジェネレータ121によって提供され、署名された証明書とは異なる匿名化された証明書を生成することによって、この証明プロセスを容易にすることができる。このプロセスは、各ドメインがブラウザ104にランダム化コホートを発行し、したがって、ランダム化コホートジェネレータ121によって発行された署名された証明書に基づいてブラウザ107がそのドメインがランダム化コホートを割り振ったブラウザかどうかを判定することができるような、ランダム化コホートが各ドメインにローカルなスコープを有する場合には関係がない。たとえば、電子docサーバ104に関連するランダム化コホートジェネレータ121がランダム化コホートを生成した場合、ランダム化コホートジェネレータ121は、段階Bに関連して上で説明されたように生成された公開/秘密鍵ペアを使用する公開鍵暗号化の使用を通じて、ランダム化コホートに関連してランダム化コホートジェネレータ121が受信する証明書上の自身の署名を検証することができる。
1つの説明のための例において、ユーザは、ブラウザ107を使用してExampleNewsWebsite.comにアクセスする。ユーザは、ExampleVideoHostingPlatform.comの特定のビデオにリンクする記事を読む。この例において、ブラウザ107は、以前に信頼できるドメインサーバ140からランダム化コホートおよび証明書を割り振られており、したがって、ブラウザ107は、電子docサーバ104に関連するExampleVideoHostingPlatform.comに特定のビデオの要求を送信する。要求の中に、ブラウザ107は、その割り振られたランダム化コホート識別子およびランダム化コホート古さバケットを含める。
信頼できるサーバによってブラウザ107に割り振られたグローバルなスコープを有するランダム化コホートが電子docサーバ104に関連するランダム化コホートジェネレータ121によって生成されなかったので、ExampleVideoHostingPlatform.comは、ブラウザ107がそのアイデンティティを証明することを要求し、この要求を完了するために検証サーバ130に転送してよい。電子docサーバ104は、ブラウザ107に秘密Xを提供する。秘密は、任意の値を持つことができ、たとえば、ランダムに生成された16ビットの値であることが可能である。ブラウザ107は、秘密Xとランダム化コホートジェネレータ142によって提供された証明書を検証サーバ130に提供して、検証サーバ130が認証プロセスを実行することを要求する。ブラウザ107は、Xの値を検証サーバ130から見えなくして、秘密Xがブラウザ107にリンクされることを防止することができる。たとえば、ブラウザ107は、Xを検証サーバ130から見えなくするために、部分的ブラインド署名(partially blind signature)方式を使用することができる。そして、検証サーバ130は、ブラウザ107の証明書および見えなくされた秘密Xを受信し、証明書に基づいてランダム化コホート識別子およびランダム化コホート古さバケットを示す匿名化された証明書を生成する。それから、検証サーバ130は、この匿名化された証明書に署名し、署名された匿名化された証明書およびXを、証明要求を発行した電子docサーバ104に返す。電子docサーバ104は、検証サーバ130からの署名された匿名化された証明書内のランダム化コホート情報を、電子docサーバ104がブラウザ107から受信したランダム化コホート識別子およびランダム化コホート古さバケットと比較することができる。情報が一致する場合、ブラウザ107は、電子docサーバ104に提供されたランダム化コホート情報を信頼できるドメインサーバ140が割り振ったブラウザとしてそのアイデンティティを成功裏に証明した。
一部の実装においては、複数の検証サーバ130が協力し、および/またはリソースを共有する場合、より堅牢な検証プロセスが実行され得る。たとえば、検証サーバ130は、参加ブラウザおよびドメインの合計の集団をよりよく表すより大きな集団の文脈において、特定の古さバケット内のランダム化コホート識別子の数が、電子docサーバ104によって提供される、準拠していると見なされるためにシステム100によって指定されるなどするk-匿名性の保証に準拠しているかどうかを判定することができる。検証サーバ130は、たとえば、あらゆる検証サーバにわたって受信された証明書とともに提供された一意の公開鍵の総数を使用し、同じランダム化コホート識別子を有するおよそ少なくともk人のユーザが存在することを検証することを可能にすることができる。
別の例示的な実装において、電子docサーバ104は、秘密Xの代わりに一意のトラッキングURLをブラウザ107に返すことができる。そのとき、ブラウザ107は、固有のトラッキングURLに従い、検証サーバ130からの署名された匿名化された証明書を一意のトラッキングURLの送信先にポストすることができる。
独立した検証サーバ130は、ランダム化コホートの集団全体の特定の統計的特性が満たされ、プライバシーの保証が十分な規模で維持されていることを示すために協力することができる。異なるユーザを表す異なるユーザデバイス上で実行されるブラウザの数の性質および規模のおかげで、検証サーバ130は、なりすましが困難なチェックポイント(check point)の形態の保護のレベルを提供し、正しさまたは正当性の正式な証拠を提供しない。
一部の例においては、悪意のある発行者が、ランダム化コホート識別子のビットのサブセットを使用して、ユーザについての機密データを符号化するか、またはさもなければ情報を隠された方法で埋め込み得る。システム100は、ビットレベルで一様性のチェックを実行して、ランダム化コホート識別子を検査し、ランダム化コホート識別子が一様に選択され、分布しているかどうかを判定することができる。たとえば、検証サーバ130は、マスクをランダムに生成し、すべてのランダム化コホート識別子とビット単位のAND演算を実行し、再集合させることができる。ランダム化コホート識別子が一様に選択され、割り振られた場合、結果も、すべてのマスクに関して一様になるはずである。一部の実装において、検証サーバ130は、各ユーザのために以前割り振られたランダム化コホート識別子を憶え、時間の経過とともにビットレベルの相関をテストする。一部の実装において、検証サーバ130は、異なるユーザデバイス106上で動作する2つ以上のブラウザ107が一貫して同じランダム化コホート識別子に割り振られないことを保証するためのテストを実行する。
プロセス200は、検証サーバ130がブラウザ107に検証プロセスの結果を提供する段階Gで継続する。検証サーバ130は、ランダム化コホート識別子およびランダム化コホート古さバケットの統計的および/またはプライバシー特性を、未処理の数値の形でブラウザ107に提供することができる。たとえば、検証サーバ130は、ランダム化コホート識別子の割り振りの分布、または異なるユーザデバイス上で実行される異なるランダム化コホートのブラウザの数を、ランダム化コホート識別子に関連するブラウザ107に提供することができる。次に、ブラウザ107は、未処理の数値、ランダム化コホート識別子の割り振りの分布を一様な分布からの閾値のずれ(deviation)と比較するか、またはランダム化コホート識別子に関連するブラウザ107に対する異なるユーザデバイス上で実行される異なるランダム化コホートのブラウザの数を、k-匿名性を保証するためにランダム化コホート識別子に関連付けられるべき異なるユーザデバイス上で実行される異なるブラウザの閾値の数kと比較することができる。ブラウザ107は、1つまたは複数の閾値が満たされなかったとき、ブラウザ107のユーザに対してインジケーションを提供することができる。たとえば、ランダム化コホート識別子に関連するブラウザ107に対する異なるユーザデバイス上で実行される異なるランダム化コホートのブラウザの数が、異なるユーザデバイス上で実行される異なるブラウザの閾値の数kを満たさなかった場合、ブラウザ107は、閾値が満たされなかったことをユーザに示すために視覚的メッセージを表示する、オーディオを再生する、振動を生成するなどし得る。
独立して検証可能なレベルのプライバシーをユーザに提供する監視メカニズムを提供する利点に加えて、ランダム化コホートは、システムのコンテンツプロバイダおよびホストのための保護を提供する。コンテンツ配信システムにおける不正使用の1つのベクトルは、エンゲージメント統計の操作によるものである。たとえば、コンテンツプロバイダがインタラクション毎に料金を支払う方式(たとえば、ペイパークリックシステム)において、ユーザは、コンテンツプロバイダに求められる支払いを増やすために、特定のコンテンツアイテムをクリックするインセンティブを与えられ得る。さらに、ビデオコンテンツプラットフォームでは、ユーザが、詐欺的な視聴を行うことによって特定のビデオの人気を人為的に高めることにより、ビデオコンテンツ推薦システムの操作を調整するために共謀する可能性がある。ランダム化コホートは、そのような不正使用の検出を可能にするための監視メカニズムを提供する。
ユーザの観点から見て、ランダム化コホートは、より高いレベルのプライバシーを提供しながら、通常の監視メカニズムと同様に機能する。したがって、プライバシーを守る監視メカニズムのための説明されるシステムは、ユーザのプライバシーを向上させ、ユーザの情報が侵害される確率を下げながら、ユーザの体験に対する変更をほとんどまたはまったく必要としない。
ランダム化コホートは、ユーザのプライバシーを保証するための統計的議論の使用に依拠し、ユーザのプライバシーを侵害することなく不正使用の検出を実行する目的で、はるかに大きな量のエントロピーの使用を利用する。k-匿名性の文脈におけるk=1に関して、ランダム化コホートは、クッキーなどの通常の追跡メカニズムと同レベルの不正使用の検出を提供する。kが増加するにつれて、ランダム化コホートは、不正使用の検出に有用であり続けながら、より高いレベルのプライバシーをユーザに提供する。さらに、ランダム化コホートは、第一者の文脈において信頼が主張されることを必要とせず、ランダム化コホートは、ローカルなスコープを有し、ランダム化コホートを発行したドメインによる使用に制限される。
ブラウザ107がランダム化コホート情報を電子docサーバ104に提供すると、電子docサーバ104は、システム100の不正使用を検出するために統計的分析などのセキュリティ機能を実行することができる。たとえば、ランダム化コホートが特定のドメインにローカルなスコープを有するとき、およびランダム化コホートがグローバルなスコープを有するとき、特定の電子docサーバ104の各アナライザ123は、アナライザ123が関連付けられている電子docサーバ104によって指定されるように統計的分析を実行することができる。
電子docサーバ104は、説明される監視メカニズム、ランダム化コホートの使用によってユーザのプライバシーを守る方法で、エンゲージメントの不正使用からそのドメインを保護することができる。システムが、kが調整可能なk-匿名性を保証するので、ランダム化コホートの使用は、現在可能であるよりも高いプライバシー保護のレベルを維持する、エンゲージメントの不正使用からの一連の保護を提供するシステムを提供する。
電子docサーバ104のアナライザ123は、ランダム化コホート情報の使用を通じて匿名化されたユーザのウェブ活動を監視し、ランダム化コホート識別子の分布およびランダム化コホート識別子に関連する活動の統計的特性に基づいて、エンゲージメントの不正使用および共謀の兆候を検出する。たとえば、アナライザ123は、特定のランダム化コホート識別子および/または古さバケットに関連するユーザのグループからの不規則なリソース要求または異常な活動などの統計的外れ値の挙動を検出することができる。
所与の参加ドメインに関して、ランダム化コホート識別子毎のクリック数は、一様に分布しているはずである。クリック数が一様でないことは、異常な活動を示し得る。たとえば、ランダム化コホート識別子に関連するクリック数からの閾値のずれを超えるずれ、または1つもしくは複数のランダム化コホートに関連する時間のある期間にわたる活動の急増(ずれの量または速度)は、不正使用を示し得る統計的に異常な活動を示すことができる。アナライザ123は、たとえば、悪意のある活動によって引き起こされるリスクおよび潜在的な損害と比較した、活動およびドメインリソースに対するその影響のリスク比などの指標によって統計的に異常な活動を検証するための統計的テストを決定することができる。
アナライザ123は、ランダム化コホート識別子と組み合わせて受信されたランダム化コホート古さバケットの古さの分布を計算し、たとえば、知られているグローバルな背景分布(background distribution)に対して異常をテストすることができる。たとえば、アナライザ123は、ランダム化コホート古さバケットの値が閾値の古さ値未満であるブラウザからの活動の量が閾値の量以下であることを検出し、異常な量の活動があると判定することができる。
アナライザ123は、偽装に強いアルゴリズムを使用して詐欺の検出を実行することによって悪意のあるユーザのコホートを含む協調的な攻撃を検出することができ、検出不可能な詐欺に関する証明可能な限界を使用して詐欺の有効性に上界を与える。たとえば、アナライザ123は、2つ以上のランダム化コホート識別子/ランダム化コホート古さバケットのペアがある時間枠にわたって同じ1組のロングテールウェブサイト(long tail website)を訪問する確率を限度内にとどめることができる。別の例において、アナライザ123は、ユーザとウェブサイトとの間の2部グラフを構築し、次に、協調的に行動するユーザのクラスタに対応する完全2部グラフ(biclique)(第1の組のあらゆる頂点が第2の組のあらゆる頂点に接続される特定の種類の2部グラフ)を見つけようと試みることができる。
アナライザ123は、1人または複数のユーザを追跡する目的で、詐欺的に生成されたエントロピーを検出することができる。たとえば、悪意のある行為者は、単一のブラウザ107を、その他のk-1個のブラウザ107がボットであるランダム化コホート識別子に割り振ろうと試みることができる。しかし、電子docサーバ104は、ランダムな方法でランダム化コホート識別子をユーザに割り振り、したがって、この性質の攻撃は、攻撃者がサーバアクセスを取得しない限り、成功することが困難である。悪意のあるまたは侵害されたドメインの電子docサーバ104は、ブラウザ107に関連する幾人かのユーザに対してこの詐欺を働くことができる可能性があるが、悪意のあるドメインが、検証サーバ130などの独立した検証サーバによる検出をくぐり抜けながら、何らかの意味のある規模の攻撃を実行することは困難である。ドメインが特定されたランダム化コホート識別子からの不正使用を防止することができるように、参加ドメインの電子docサーバ104にそのようなランダム化コホート識別子/古さバケットのペアの通知を提供することに加えて、検証サーバ130が不正使用の検出および防止を実行することを可能にすること(たとえば、検証サーバ130が時間のある期間ボットネットに割り振られたランダム化コホートを検出し、ブロックしまたは削除することを可能にすること)によって、そのような規模の攻撃が効果的に阻止され得る。
アナライザ123が統計的に異常な挙動を検出するとき、アナライザ123は、時間のある期間、特定のユーザが特定の電子docサーバ104にリソースを要求することを防止するかまたは概してリソースを要求することを防止するために制限を設定または調整することができる。たとえば、アナライザ123は、特定のランダム化コホート識別子/ランダム化コホート古さバケットのペアが電子docサーバ104に提供されており、過去5分以内の異常な量の活動に関連していることを検出し、特定のランダム化コホート識別子/ランダム化コホート古さバケットが電子docサーバ104にリソースを要求することを防止することができる。したがって、システム100は、詐欺的な活動を推進するために使用されるリソースの量を削減することができる。しかし、ランダム化コホートが独立したドメインをスコープとするランダム化コホートであるとき、各検証サーバ130は、その特定の検証サーバ130を自身の独立した検証サービスとして使用することを選択したユーザのランダム化コホート識別子およびランダム化コホート古さバケットのみにアクセスすることができる。一部の実装においては、ランダム化コホートがドメインをスコープとするのかまたはグローバルなスコープを有するのかにかかわらず、検証サーバ130は、ブラウザ107に統計的に意味のある結果を提供するために、閾値の量のランダム化コホートにアクセスすることができるように、その他の検証サーバ130と連合させられ、グループ化される。
ランダム化コホートがグローバルなスコープを有するとき、アナライザ123は、信頼できるドメインサーバ140と通信して、グローバルなスコープを有するランダム化コホート識別子/ランダム化コホート古さバケットのペアに関連する疑わしい詐欺的なまたは異常な活動を特定することができ、それが、参加ドメインを越えて不正使用を監視し、防止するためにその他の電子docサーバ104に伝達され得る。
図3Aおよび図3Bは、異なるドメインにわたって実行されるウェブ活動にわたって使用されるプライバシーを守る監視メカニズムを発行および実施するための説明のための例示的なプロセス300および350を示すスイムレーン図である。プロセス300および350の動作は、たとえば、ユーザデバイス106および/もしくはソフトウェア107、電子docサーバ104、DCDS110、検証サーバ130、信頼できるドメインサーバ140、ならびに/またはサードパーティサーバ150によって実施され得る。プロセス300および350の動作は、非一時的である場合がある1つまたは複数のコンピュータ可読媒体上に記憶された命令として実装されることも可能であり、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス300および350の動作を実行させることが可能である。
ここで図3Aを参照すると、プロセス300は、ソフトウェア107からの最初の要求が電子doc104に与えられるステップ1から始まる。一部の例において、この要求は、図3Aに図示されていないDCDS110を通じて電子docサーバ104に転送され得る。たとえば、ExampleImageHostingPlatformネットワークドメインに関連するExampleImageHostingPlatform.comが、ブラウザ107から画像の要求を受信し得る。この例において、ブラウザ107は、ExampleImageHostingPlatformの電子docサーバ104からランダム化コホートを割り振られておらず、したがって、要求は、最初の要求である。別の例においては、ブラウザ107が以前にExampleImageHostingPlatformの電子docサーバ104からランダム化コホートを割り振られたが、ランダム化コホートが期限切れになったかまたはブラウザ107のユーザによってクリアされた場合、要求は、やはり最初の要求と見なされる。
プロセス300は、ステップ2に続き、ステップ2において、電子docサーバ104は、ランダム化コホート識別子、ランダム化コホートタイムスタンプ、署名された証明書、および公開/秘密鍵ペアを含め、ランダム化コホートを生成し、ソフトウェア107にランダム化コホートを割り振る。たとえば、電子docサーバ104のランダム化コホートジェネレータ121が、図2に関連して上で説明されたように、ランダム化コホート、署名された証明書、および公開/秘密鍵ペアを生成し、ランダム化コホートをブラウザ107に割り振ることができる。上述のように、電子docサーバ104は、特定のネットワークドメインに関連付けられる。
プロセス300は、ステップ3に続き、ステップ3において、電子docサーバ104は、図2に関連して上で説明されたように、ランダム化コホート識別子、ランダム化コホートタイムスタンプ、署名された証明書、および公開/秘密鍵ペアを含め、要求されたコンテンツおよびランダム化コホートとともにソフトウェア107に応答を提供する。たとえば、電子docサーバ104は、要求された画像、ランダム化コホート、署名された証明書、および公開/秘密鍵ペアを含む応答をブラウザ107に送信することができる。
プロセス300は、ステップ4に続き、ステップ4において、ソフトウェア107は、ソフトウェア107にランダム化コホートを以前発行した電子docサーバ104に後続の要求を与える。ソフトウェア107は、その要求とともに、ランダム化コホート識別子および古さバケットを含める。たとえば、ドメインExampleImageHostingPlatform.comの電子docサーバ104が、ブラウザ107からの第2の画像の要求と、割り振られたランダム化コホート識別子およびランダム化コホート古さバケットとを受信することができる。
任意で、ソフトウェア107のユーザは、ステップ5、6、および7に関連して説明されるように、ソフトウェア107に関連するランダム化コホート識別子のプライバシーおよび/または統計的特性を独立して検証するための検証サーバを選択することができる。
プロセス300は、ステップ5に続き、ステップ5において、ソフトウェア107は、検証サーバ130にその証明書を提供する。たとえば、ブラウザ107は、ランダム化コホートジェネレータ121によって生成されたその署名された証明書を検証サーバ130に提供することができる。
プロセス300は、ステップ6に続き、ステップ6において、検証サーバ130は、証明書に基づいて検証プロセスを実行する。たとえば、検証サーバ130は、証明書に基づいて検証プロセスを実行して、証明書内で提供されたランダム化コホート識別子の統計的および/またはプライバシー保護特性を決定することができる。
任意で、検証サーバ130は、提供されたランダム化コホート識別子が証明書を提供しているソフトウェア107に割り振られたと判定するために、検証プロセスを実行する前に、提供された証明書を認証することもできる。たとえば、検証サーバ130は、提供されたランダム化コホート識別子が証明書を提供しているブラウザ107に割り振られたと判定するために、公開/秘密鍵ペアを使用することができる。
プロセス300は、ステップ7に続き、ステップ7において、検証サーバ130は、ソフトウェア107に検証プロセスの結果を提供する。たとえば、検証サーバ130は、未処理の数値をブラウザ107に出力するか、あるいは統計的に異常なもしくは詐欺的な活動が検出されたかどうか、またはブラウザ107のために保証されたレベルのプライバシーが守られたかどうかを判定するための統計的分析または閾値との比較の結果を出力することができる。
ここで図3Bを参照すると、異なるドメインにわたって実行されるウェブ活動にわたって使用されるプライバシーを守る監視メカニズムを発行し、実施するためのプロセス350が、別々の電子docサーバ104の代わりに、中央の信頼できるドメインサーバ140によって実行される。信頼できるドメインサーバ140によって発行されるランダム化コホートは、グローバルなスコープを有する。プロセス350は、ソフトウェア107からの最初の要求が電子docサーバ104に与えられるステップ1から始まる。一部の例において、この要求は、図3Bに図示されていないDCDS110を通じて電子docサーバ104に転送され得る。
プロセス350は、ステップ2に続き、ステップ2において、電子docサーバ104は、要求情報を信頼できるドメインサーバ140に転送する。たとえば、電子docサーバ104は、そのドメイン、ExampleTextandImageHostingPlatform.comからの数行のテキストの要求を受信し得る。この例において、ブラウザ107は、ランダム化コホートを割り振られておらず、ランダム化コホートを電子docサーバ104に提供せず、したがって、要求は、最初の要求である。
プロセス350は、ステップ3に続き、ステップ3において、信頼できるドメインサーバ140は、ランダム化コホート識別子、ランダム化コホートタイムスタンプ、証明書、および公開/秘密鍵ペアを含め、ランダム化コホートを生成し、ソフトウェア107にランダム化コホートを割り振る。たとえば、信頼できるドメインサーバ140のランダム化コホートジェネレータ142が、図2に関連して上で説明されたように、ランダム化コホート、署名された証明書、および公開/秘密鍵ペアを生成し、ランダム化コホートをブラウザ107に割り振ることができる。上述のように、信頼できるドメインサーバ140は、1つの特定のネットワークドメインに関連付けられず、異なるドメインにわたって使用され得るグローバルなスコープを有するランダム化コホートを生成する。
プロセス350は、ステップ4Aに続き、ステップ4Aにおいて、電子docサーバ104は、ソフトウェア107に応答を提供する。たとえば、電子docサーバ104は、要求されたテキストを含む応答をブラウザ107に送信することができる。
プロセス350は、ステップ4Bに続き、ステップ4Bにおいて、信頼できるドメインサーバ140は、ランダム化コホート識別子、ランダム化コホートタイムスタンプ、証明書、および公開/秘密鍵ペアを含め、ランダム化コホートをソフトウェア107に提供する。たとえば、信頼できるドメインサーバ140は、ランダム化コホート、署名された証明書、および公開/秘密鍵ペアをブラウザ107に送信することができる。
一部の実施態様において、ステップ4Aおよび4Bは、同時に行われる。一部の実装において、ステップ4Aおよび4Bは、非同期で行われる。
プロセス350は、ステップ5に続き、ステップ5において、ソフトウェア107は、電子docサーバ104に後続の要求を与える。信頼できるドメインサーバ140がグローバルなスコープを有するランダム化コホートをソフトウェア107に割り振ったので、ソフトウェア107は、電子docサーバ104へのその要求とともにランダム化コホート識別子および古さバケットを含める。たとえば、ドメインExampleTextandImageHostingPlatform.comの電子docサーバ104が、ブラウザ107からの画像の要求と、割り振られたランダム化コホート識別子およびランダム化コホート古さバケットとを受信することができる。
任意で、ソフトウェア107のユーザは、ステップ6、7、および8に関連して説明されるように、ソフトウェア107に関連するランダム化コホート識別子のプライバシーおよび/または統計的特性を独立して検証するための検証サーバを選択することができる。
プロセス350は、ステップ6に続き、ステップ6において、ソフトウェア107は、検証サーバ130にその証明書を提供する。たとえば、ブラウザ107は、ランダム化コホートジェネレータ142によって生成されたその署名された証明書を検証サーバ130に提供することができる。
プロセス350は、ステップ7に続き、ステップ7において、検証サーバ130は、証明書に基づいて検証プロセスを実行する。たとえば、検証サーバ130は、証明書に基づいて検証プロセスを実行して、証明書内で提供されたランダム化コホート識別子の統計的および/またはプライバシー保護特性を決定することができる。
任意で、検証サーバ130は、提供されたランダム化コホート識別子が証明書を提供しているソフトウェア107に割り振られたと判定するために、検証プロセスを実行する前に、提供された証明書を認証することもできる。たとえば、検証サーバ130は、提供されたランダム化コホート識別子が証明書を提供しているブラウザ107に割り振られたと判定するために、公開/秘密鍵ペアを使用することができる。このプロトコルは、検証サーバ130が、偽のまたは盗まれた証明書を有するブラウザ107からの統計を考慮することを防ぎ、収集された統計的な活動データの堅牢性を高め、詐欺的な使用のために勝手に利用されるリソースを減らす。
プロセス350は、ステップ8に続き、ステップ8において、検証サーバ130は、ソフトウェア107に検証プロセスの結果を提供する。たとえば、検証サーバ130は、未処理の数値をブラウザ107に出力するか、あるいは統計的に異常なもしくは詐欺的な活動が検出されたかどうか、またはブラウザ107のために保証されたレベルのプライバシーが守られたかどうかを判定するための統計的分析または閾値との比較の結果を出力することができる。
図4は、プライバシーを守る監視メカニズムを発行し、実施するための例示的なプロセス400を示す流れ図である。プロセス400の動作は、たとえば、ユーザデバイス106および/もしくはソフトウェア107、電子docサーバ104、DCDS110、検証サーバ130、信頼できるドメインサーバ140、ならびに/またはサードパーティサーバ150によって実施され得る。プロセス400の動作は、非一時的である場合がある1つまたは複数のコンピュータ可読媒体上に記憶された命令として実装されることも可能であり、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス400の動作を実行させることが可能である。
プロセス400は、ユーザのユーザデバイス上のアプリケーションから、ドメインからのデジタルコンテンツの要求を受信することから始まる(402)。たとえば、電子docサーバ104が、図1、図2、および図3A~図3Bに関連して上で説明されたように、ユーザデバイス106のブラウザ107から電子docサーバ104に関連するドメインからのデジタルコンテンツの要求を受信し得る。
プロセス400は、ランダムに選択された識別子と、ランダム化コホートがアプリケーションに割り振られた第1の時間を示すタイムスタンプとに基づいて生成されたランダム化コホートを、アプリケーションに、第1の時間に割り振ることによって継続する(404)。たとえば、電子docサーバ104が、図1、図2、および図3Aに関連して上で説明されたように、ドメインに関連するローカルなスコープを有するランダム化コホートをブラウザ107に割り振ることができる。別の例においては、信頼できるドメインサーバ140が、図1、図2、および図3Bに関連して上で説明されたように、使用され得るグローバルなスコープを有するランダム化コホートをブラウザ107に割り振ることができる。
プロセス400は、(i)ランダムに選択された識別子およびタイムスタンプに対応し、一意の公開鍵で署名された証明書、ならびに(ii)一意の公開鍵に対応する一意の秘密鍵を、アプリケーションに、第1の時間に提供することによって継続し、ランダムに選択された識別子は、時間の所定の期間内にその他のユーザデバイス上で実行される少なくとも閾値の数のその他のアプリケーションにも割り振られる(406)。たとえば、電子docサーバ104または信頼できるドメインサーバ140が、ランダム化コホートおよび/または証明書をブラウザ107に提供する。電子docサーバ104がローカルなスコープを有するランダム化コホートを生成する場合、電子docサーバ104は、要求されたデジタルコンテンツもブラウザ107に提供する。信頼できるドメインサーバ140がグローバルなスコープを有するランダム化コホートを生成する場合、電子docサーバ104が、要求されたデジタルコンテンツをブラウザ107に提供する。ステップ406は、図1、図2、および図3A~図3Bに関連して上で説明されたように実行され得る。
一部の実装において、プロセス400は、ドメインからのデジタルコンテンツの第2の要求をアプリケーションから受信することと、ランダムに選択された識別子、およびランダム化コホートの古さを含むクッキーの古さの範囲を示すランダム化コホート古さバケットに基づいて生成された曖昧な識別子を、第2の時間にアプリケーションによってドメインに提供することとを含むことが可能であり、ランダム化コホートの古さは、第2の時間と第1の時間との間の差に基づいて計算される。たとえば、ブラウザ107は、図1、図2、および図3A~図3Bに関連して上で説明されたように、電子docサーバ104または信頼できるドメインサーバ140によって提供されたランダム化コホートおよび/または証明書に基づいてランダム化コホート古さバケットを計算することができる。一部の実装において、曖昧な識別子は、ランダムに選択された識別子およびランダム化コホート古さバケットを含む。一部の実装において、曖昧な識別子は、ランダムに選択された識別子および/またはランダム化コホート古さバケットから導出されるデータおよびパラメータを含む。たとえば、曖昧な識別子は、ランダムに選択された識別子および/またはランダム化コホート古さバケットに乗数を適用するか、定数を加算するか、またはその他の1組の演算を適用することによって得られるパラメータを含み得る。曖昧な識別子は、ランダムに選択された識別子およびランダム化コホート古さバケット以外のデータおよびパラメータも含み得る。
一部の実装において、ランダム化コホートをアプリケーションに割り振ることは、ドメインによって、ランダム化コホートをアプリケーションに割り振ることを含み、ランダムに選択された識別子は、ドメインによって少なくとも閾値の数のその他のアプリケーションに割り振られ、ランダムに選択された識別子は、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、一意の公開鍵は、ドメインによって生成される。たとえば、電子docサーバ104は、ランダム化コホートを生成し、ブラウザ107に割り振り、ランダム化コホート識別子が電子docサーバ104によって少なくともk-1個のその他のブラウザ107に割り振られることを保証することができ、ランダム化コホート識別子は、2つ以上のランダムに生成された識別子の中から選択されたものであり、一意の公開鍵は、図1、図2、および図3Aに関連して上で説明されたように、電子docサーバ104によって生成される。
一部の実装において、プロセス400は、アプリケーションによって検証システムに証明書を提供することと、検証システムによって、ランダム化コホートが少なくとも閾値の数の人に割り振られることを検証することとを含む。たとえば、検証サーバ130は、図1、図2、および図3Aに関連して上で説明されたように、証明書に示されたランダム化コホートの統計的および/またはプライバシー特性を決定することができる。
一部の実装において、ランダム化コホートをアプリケーションに割り振ることは、中央サーバによって、ランダム化コホートをアプリケーションに割り振ることを含み、ランダムに選択された識別子は、少なくとも閾値の数のその他のアプリケーションに割り振られ、ランダムに選択された識別子は、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、一意の公開鍵は、中央サーバによって生成される。たとえば、信頼できるドメインサーバ104が、ランダム化コホートを生成し、ブラウザ107に割り振り、ランダム化コホート識別子が少なくともk-1個のその他のブラウザ107に割り振られることを保証することができ、ランダム化コホート識別子は、2つ以上のランダムに生成された識別子の中から選択されたものであり、一意の公開鍵は、図1、図2、および図3Bに関連して上で説明されたように、信頼できるドメインサーバ140によって生成される。
一部の実装において、プロセス400は、第1のドメインと異なる第2のドメインからのデジタルコンテンツの要求および前記ランダム化コホートをアプリケーションによって提供することと、第2のドメインからのデジタルコンテンツの要求の提供に応じて、チャレンジを含む証明要求をアプリケーションによって第2のドメインから受信することと、アプリケーションによって検証システムに証明書を提供することであって、検証システムに(i)ランダムに選択された識別子、ランダム化コホート古さバケット、およびチャレンジを含む曖昧な証明書を作成させ、(ii)曖昧な証明書に署名させ、(iii)第2のドメインに曖昧な証明書を提供させることをトリガする、提供することとを含み、チャレンジは、ブラインド方式を使用して検証サーバから見えなくされる。たとえば、検証サーバ130が、図1、図2、および図3Bに関連して上で説明されたように、証明要求に基づいて匿名化された証明書を生成することができる。
一部の実装において、プロセス400は、ドメインによって、受信されたランダム化コホート古さバケットに基づいて、ランダムに選択された識別子と、ランダムに選択された識別子に関連するインタラクションの数、ランダム化コホートの古さの分布、ならびに特定のインタラクションおよび時間の特定の期間に関連する確率分布のうちの少なくとも1つとに関連する異常な活動を検出することを含む。たとえば、電子docサーバ104のアナライザ123が、図1、図2、および図3A~図3Bに関連して上で説明されたように、ランダム化コホート識別子および/またはランダム化コホート識別子/古さバケットのペアに関連する異常な活動を検出することができる。
したがって、本技術は、個々のユーザのプライバシーを向上させるのを助けながら、(たとえば、不正使用または詐欺を防止するのを助けるための)インターネット活動の追跡を可能にする。2人以上のユーザに割り振られるランダム化コホート識別子と、特定のタイムスタンプではなく古さバケットとを使用することは、所与のランダム化コホートに関連する個々のユーザが識別され得ないことを意味する。したがって、そのユーザのプライバシーが高められる。同時に、ランダム化コホート識別子/古さバケットのペアの使用は、詐欺を潜在的に示すインターネット活動の異常を特定するために十分な統計情報を経時的に提供する。さらに、検証システムと第三者ドメインによって発行されたチャレンジとを使用することによって、第三者ドメインは、個々のユーザについての特定可能な情報を取得する必要なしに、ランダム化コホートが本物であることを検証することができる。したがって、本技術は、個々のユーザのプライバシーを向上させるのを助けながら、不正使用のまたは詐欺的なインターネット活動に対抗する堅牢な方法を提供する。
図5は、上述の動作を実行するために使用され得る例示的なコンピュータシステム500のブロック図である。システム500は、プロセッサ510、メモリ520、ストレージデバイス530、および入力/出力デバイス540を含む。コンポーネント510、520、530、および540の各々は、たとえば、システムバス550を使用して相互に接続され得る。プロセッサ510は、システム500内で実行するための命令を処理することができる。一部の実装において、プロセッサ510は、シングルスレッドプロセッサである。別の実装において、プロセッサ510は、マルチスレッドプロセッサである。プロセッサ510は、メモリ520またはストレージデバイス530に記憶された命令を処理することができる。
メモリ520は、システム500内で情報を記憶する。1つの実装において、メモリ520は、コンピュータ可読媒体である。一部の実装において、メモリ520は、揮発性メモリユニットである。別の実装において、メモリ520は、不揮発性メモリユニットである。
ストレージデバイス530は、システム500に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス530は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または何らかのその他の大容量ストレージデバイスを含み得る。
入力/出力デバイス540は、システム500に入力/出力動作を提供する。一部の実装において、入力/出力デバイス540は、ネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードのうちの1つまたは複数を含み得る。別の実装において、入力/出力デバイスは、入力データを受信し、外部デバイス560、たとえば、キーボード、プリンタ、およびディスプレイデバイスに出力データを送信するように構成されたドライバデバイスを含み得る。しかし、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイスなどのその他の実装も、使用され得る。
例示的な処理システムが図4に示されたが、本明細書に記載の対象および機能的動作の実装は、本明細書で開示された構造およびそれらの構造的均等物を含む、その他の種類のデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装され得る。
本明細書に記載の対象の実施形態および動作は、本明細書において開示された構造およびそれらの構造的均等物を含む、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために複数のコンピュータストレージ媒体(または1つのコンピュータストレージ媒体)上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するために情報を符号化するように生成される人為的に生成される伝播信号、たとえば、機械によって生成される電気的信号、光学的信号、または電磁的信号上に符号化され得る。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能であり、またはそれらに含まれることが可能である。さらに、コンピュータストレージ媒体は、伝播信号ではないが、人為的に生成された伝播信号に符号化されたコンピュータプログラム命令の送信元または送信先であることが可能である。また、コンピュータストレージ媒体は、1つまたは複数の別個の物理コンポーネントまたは媒体(たとえば、複数のCD、ディスク、もしくはその他のストレージデバイス)であることが可能であり、またはそれらに含まれることが可能である。
本明細書に記載の動作は、1つもしくは複数のコンピュータ可読ストレージデバイスに記憶されたまたはその他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
用語「データ処理装置」は、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、1つのシステムオンチップ、またはそれらの複数もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置は、ハードウェアに加えて、問題にしているコンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードも含み得る。装置および実行環境は、ウェブサービスインフラストラクチャ、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境内での使用に好適なその他の単位としての形態を含む任意の形態でデプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部(たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト)、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるようにデプロイされ得る。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによってアクションを行うために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることが可能であり、さらに、装置は、それらの専用の論理回路として実装されることが可能である。
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方を含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概してコンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはこれらの大容量ストレージデバイスからデータを受け取るか、もしくはこれらの大容量ストレージデバイスにデータを転送するか、もしくはそれら両方を行うために動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込まれることが可能である。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、発言、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
本明細書に記載の対象の実施形態は、バックエンドコンポーネントを、たとえば、データサーバとして含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実施形態において、サーバは、(たとえば、クライアントデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的で)クライアントデバイスにデータ(たとえば、HTMLページ)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザインタラクションの結果)が、サーバにおいてクライアントデバイスから受信され得る。
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性があるものの範囲に対する限定とも見なされるべきでなく、むしろ、特定の発明の特定の実施形態に固有の特徴の説明と見なされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々にまたは任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで働くものとして上で説明されている場合があり、最初にそのように主張されてさえいる場合があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
同様に、動作が図中に特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である場合がある。さらに、上述の実施形態における様々なシステムコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるかまたは複数のソフトウェア製品にパッケージングされることが可能であることを理解されたい。
このように、対象の特定の実施形態が説明された。その他の実施形態は、添付の特許請求の範囲内にある。場合によっては、特許請求の範囲に挙げられたアクションは、異なる順序で実行され、それでも所望の結果を達成することができる。加えて、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも示された特定の順序または逐次的順序である必要はない。特定の実装においては、マルチタスクおよび並列処理が有利である場合がある。
100 環境、システム
102 ネットワーク
104 電子ドキュメントサーバ、電子docサーバ
105 電子ドキュメント、電子Doc
106 ユーザデバイス
107 ソフトウェア
108 デジタルコンテンツの要求
110 デジタルコンポーネント配信システム、DCDS
112 デジタルコンポーネントデータベース
114 応答データ、応答
121 ランダム化コホートジェネレータ
123 アナライザ
130 検証サーバ
140 信頼できるドメインサーバ
142 ランダム化コホートジェネレータ
150 サードパーティサーバ
200 プロセス
300 プロセス
350 プロセス
400 プロセス
500 コンピュータシステム
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 入力/出力デバイス
550 システムバス
560 外部デバイス

Claims (20)

  1. プライバシーを守るウェブ活動の監視のためのコンピュータ実装方法であって、
    ユーザのユーザデバイス上のアプリケーションから、ドメインからのデジタルコンテンツの要求を受信するステップと、
    ランダムに選択された識別子と、ランダム化コホートが前記アプリケーションに割り振られた第1の時間を示すタイムスタンプとに基づいて構築された前記ランダム化コホートを、前記アプリケーションに、前記第1の時間に割り振るステップと、
    (i)前記ランダムに選択された識別子および前記タイムスタンプに対応するデジタル署名された証明書、ならびに(ii)前記証明書に関連する一意の公開鍵および対応する一意の秘密鍵を、前記アプリケーションに、前記第1の時間に提供するステップとを含み、
    前記ランダムに選択された識別子が、前記アプリケーションへの前記ランダム化コホートの割り振りから時間の所定の期間内にその他のユーザデバイス上で実行される少なくとも閾値の数のその他のアプリケーションにも割り振られる、方法。
  2. 前記ドメインからのデジタルコンテンツの第2の要求を前記アプリケーションから受信するステップと、
    前記ランダムに選択された識別子と、前記ランダム化コホートの古さを含むクッキーの古さの範囲を示すランダム化コホート古さバケットとに対応する曖昧な識別子を、第2の時間に前記アプリケーションによって前記ドメインに提供するステップとをさらに含み、
    前記ランダム化コホートの前記古さが、前記第2の時間と前記第1の時間との間の差に基づいて計算される請求項1に記載の方法。
  3. ランダム化コホートを前記アプリケーションに割り振るステップが、
    前記ドメインによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記ドメインによって生成される請求項1または2に記載の方法。
  4. ランダム化コホートをブラウザに割り振るステップが、
    中央サーバによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記中央サーバによって生成される請求項1または2に記載の方法。
  5. 第1のドメインと異なる第2のドメインからのデジタルコンテンツの要求および前記ランダム化コホートを前記アプリケーションによって提供するステップと、
    前記第2のドメインからのデジタルコンテンツの前記要求の提供に応じて、チャレンジを含む証明要求を前記アプリケーションによって前記第2のドメインから受信するステップと、
    前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供するステップであって、(i)前記ランダムに選択された識別子、前記ランダム化コホート古さバケット、および前記チャレンジを含む曖昧な証明書を作成し、(ii)前記曖昧な証明書に署名し、(iii)前記第2のドメインに前記曖昧な証明書を提供するように前記検証システムをトリガする、ステップとをさらに含み、
    前記チャレンジが、ブラインド方式を使用して前記検証システムから見えなくされる請求項2、または請求項2に従属する請求項3または4のいずれか一項に記載の方法。
  6. 前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供するステップと、
    前記検証システムによって、前記ランダム化コホートが少なくとも閾値の数の人に割り振られることを検証するステップとをさらに含む請求項1から5のいずれか一項に記載の方法。
  7. 前記ドメインによって、受信されたランダム化コホート古さバケットに基づいて、前記ランダムに選択された識別子と、前記ランダムに選択された識別子に関連するインタラクションの数、ランダム化コホートの古さの分布、ならびに特定のインタラクションおよび時間の特定の期間に関連する確率分布のうちの少なくとも1つとに関連する異常な活動を検出するステップをさらに含む請求項2に記載の方法。
  8. 1つまたは複数のプロセッサと、
    実行されるときに前記1つまたは複数のプロセッサに、
    ユーザのユーザデバイス上のアプリケーションから、ドメインからのデジタルコンテンツの要求を受信する動作、
    ランダムに選択された識別子と、ランダム化コホートが前記アプリケーションに割り振られた第1の時間を示すタイムスタンプとに基づいて構築された前記ランダム化コホートを、前記アプリケーションに、前記第1の時間に割り振る動作、ならびに
    (i)前記ランダムに選択された識別子および前記タイムスタンプに対応するデジタル署名された証明書、ならびに(ii)前記証明書に関連する一意の公開鍵および対応する一意の秘密鍵を、前記アプリケーションに、前記第1の時間に提供する動作を含む動作を実行させる命令を含む1つまたは複数のメモリ要素とを含み、
    前記ランダムに選択された識別子が、前記アプリケーションへの前記ランダム化コホートの割り振りから時間の所定の期間内にその他のユーザデバイス上で実行される少なくとも閾値の数のその他のアプリケーションにも割り振られるシステム。
  9. 前記動作が、
    前記ドメインからのデジタルコンテンツの第2の要求を前記アプリケーションから受信する動作と、
    前記ランダムに選択された識別子と、前記ランダム化コホートの古さを含むクッキーの古さの範囲を示すランダム化コホート古さバケットとに対応する曖昧な識別子を、第2の時間に前記アプリケーションによって前記ドメインに提供する動作とをさらに含み、
    前記ランダム化コホートの前記古さが、前記第2の時間と前記第1の時間との間の差に基づいて計算される請求項8に記載のシステム。
  10. ランダム化コホートを前記アプリケーションに割り振る動作が、
    前記ドメインによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記ドメインによって生成される請求項8または9に記載のシステム。
  11. ランダム化コホートをブラウザに割り振る動作が、
    中央サーバによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記中央サーバによって生成される請求項8または9に記載のシステム。
  12. 前記動作が、
    第1のドメインと異なる第2のドメインからのデジタルコンテンツの要求および前記ランダム化コホートを前記アプリケーションによって提供する動作と、
    前記第2のドメインからのデジタルコンテンツの前記要求の提供に応じて、チャレンジを含む証明要求を前記アプリケーションによって前記第2のドメインから受信する動作と、
    前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供する動作であって、(i)前記ランダムに選択された識別子、前記ランダム化コホート古さバケット、および前記チャレンジを含む曖昧な証明書を作成し、(ii)前記曖昧な証明書に署名し、(iii)前記第2のドメインに前記曖昧な証明書を提供するように前記検証システムをトリガする、動作とをさらに含み、
    前記チャレンジが、ブラインド方式を使用して前記検証システムから見えなくされる請求項9または請求項9に従属する請求項10または11のいずれか一項に記載のシステム。
  13. 前記動作が、
    前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供する動作と、
    前記検証システムによって、前記ランダム化コホートが少なくとも閾値の数の人に割り振られることを検証する動作とをさらに含む請求項8から12のいずれか一項に記載のシステム。
  14. 前記動作が、
    前記ドメインによって、受信されたランダム化コホート古さバケットに基づいて、前記ランダムに選択された識別子と、前記ランダムに選択された識別子に関連するインタラクションの数、ランダム化コホートの古さの分布、ならびに特定のインタラクションおよび時間の特定の期間に関連する確率分布のうちの少なくとも1つとに関連する異常な活動を検出する動作をさらに含む請求項9に記載のシステム。
  15. 分散型コンピューティングシステムによって実行されるときに分散型コンピューティングシステムに動作を実行させる命令を符号化されたコンピュータ可読ストレージ媒体であって、前記動作が、
    ユーザのユーザデバイス上のアプリケーションから、ドメインからのデジタルコンテンツの要求を受信する動作と、
    ランダムに選択された識別子と、ランダム化コホートが前記アプリケーションに割り振られた第1の時間を示すタイムスタンプとに基づいて構築された前記ランダム化コホートを、前記アプリケーションに、前記第1の時間に割り振る動作と、
    (i)前記ランダムに選択された識別子および前記タイムスタンプに対応するデジタル署名された証明書、ならびに(ii)前記証明書に関連する一意の公開鍵および対応する一意の秘密鍵を、前記アプリケーションに、前記第1の時間に提供する動作とを含み、
    前記ランダムに選択された識別子が、前記アプリケーションへの前記ランダム化コホートの割り振りから時間の所定の期間内にその他のユーザデバイス上で実行される少なくとも閾値の数のその他のアプリケーションにも割り振られる、コンピュータ可読ストレージ媒体。
  16. 前記動作が、
    前記ドメインからのデジタルコンテンツの第2の要求を前記アプリケーションから受信する動作と、
    前記ランダムに選択された識別子と、前記ランダム化コホートの古さを含むクッキーの古さの範囲を示すランダム化コホート古さバケットとに対応する曖昧な識別子を、第2の時間に前記アプリケーションによって前記ドメインに提供する動作とをさらに含み、
    前記ランダム化コホートの前記古さが、前記第2の時間と前記第1の時間との間の差に基づいて計算される請求項15に記載のコンピュータ可読ストレージ媒体。
  17. ランダム化コホートを前記アプリケーションに割り振る動作が、
    前記ドメインによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記ドメインによって生成される請求項15または16に記載のコンピュータ可読ストレージ媒体。
  18. ランダム化コホートをブラウザに割り振る動作が、
    中央サーバによって、前記ランダム化コホートを前記アプリケーションに割り振ることを含み、
    前記ランダムに選択された識別子が、少なくとも閾値の数のその他のアプリケーションに割り振られ、
    前記ランダムに選択された識別子が、2つ以上のランダムに生成された識別子の中から選択されたランダムに生成された識別子であり、
    前記一意の公開鍵が、前記中央サーバによって生成される請求項15または16に記載のコンピュータ可読ストレージ媒体。
  19. 前記動作が、
    第1のドメインと異なる第2のドメインからのデジタルコンテンツの要求および前記ランダム化コホートを前記アプリケーションによって提供する動作と、
    前記第2のドメインからのデジタルコンテンツの前記要求の提供に応じて、チャレンジを含む証明要求を前記アプリケーションによって前記第2のドメインから受信する動作と、
    前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供する動作であって、(i)前記ランダムに選択された識別子、前記ランダム化コホート古さバケット、および前記チャレンジを含む曖昧な証明書を作成し、(ii)前記曖昧な証明書に署名し、(iii)前記第2のドメインに前記曖昧な証明書を提供するように前記検証システムをトリガする、動作とをさらに含み、
    前記チャレンジが、ブラインド方式を使用して前記検証システムから見えなくされる請求項16または請求項16に従属する請求項17または18のいずれか一項に記載のコンピュータ可読ストレージ媒体。
  20. 前記動作が、
    前記アプリケーションによって検証システムに前記デジタル署名された証明書を提供する動作と、
    前記検証システムによって、前記ランダム化コホートが少なくとも閾値の数の人に割り振られることを検証する動作とをさらに含む請求項15から19のいずれか一項に記載のコンピュータ可読ストレージ媒体。
JP2022554359A 2021-03-03 2021-03-03 プライバシーを守る活動集約メカニズム Active JP7475472B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/020694 WO2022186831A1 (en) 2021-03-03 2021-03-03 Privacy-preserving activity aggregation mechanism

Publications (2)

Publication Number Publication Date
JP2023524360A JP2023524360A (ja) 2023-06-12
JP7475472B2 true JP7475472B2 (ja) 2024-04-26

Family

ID=75223443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022554359A Active JP7475472B2 (ja) 2021-03-03 2021-03-03 プライバシーを守る活動集約メカニズム

Country Status (6)

Country Link
US (1) US20230163978A1 (ja)
EP (1) EP4094402A1 (ja)
JP (1) JP7475472B2 (ja)
KR (1) KR20220137955A (ja)
CN (1) CN115380506A (ja)
WO (1) WO2022186831A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11888825B1 (en) * 2021-08-09 2024-01-30 Google Llc Privacy preserving user group expansion

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017507387A (ja) 2013-12-24 2017-03-16 グーグル インコーポレイテッド 視聴者測定のためのシステムおよび方法
JP2019008820A (ja) 2012-03-06 2019-01-17 グーグル エルエルシー 複数のデバイスにわたるユーザへのコンテンツの提供

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2380368B (en) * 2001-09-27 2005-06-22 Ibm A method and system for communication via a computer network
WO2019060539A1 (en) * 2017-09-21 2019-03-28 Lg Electronics, Inc. METHODS AND CRYPTOGRAPHIC SYSTEMS FOR MANAGING DIGITAL CERTIFICATES WITH BINDING VALUES
CN113424188A (zh) * 2019-08-13 2021-09-21 谷歌有限责任公司 保护浏览器cookie

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008820A (ja) 2012-03-06 2019-01-17 グーグル エルエルシー 複数のデバイスにわたるユーザへのコンテンツの提供
JP2017507387A (ja) 2013-12-24 2017-03-16 グーグル インコーポレイテッド 視聴者測定のためのシステムおよび方法

Also Published As

Publication number Publication date
CN115380506A (zh) 2022-11-22
JP2023524360A (ja) 2023-06-12
EP4094402A1 (en) 2022-11-30
US20230163978A1 (en) 2023-05-25
KR20220137955A (ko) 2022-10-12
WO2022186831A1 (en) 2022-09-09

Similar Documents

Publication Publication Date Title
KR102219277B1 (ko) 인증된 컨텐츠 전달 제어를 위한 시스템 및 방법
JP7376727B2 (ja) 暗号学的に安全な要求の検証
CN113015974A (zh) 针对隐私保护的可验证同意
US11831651B2 (en) Preventing data manipulation and protecting user privacy in determining accurate location event measurements
JP2023096089A (ja) グループ署名による匿名イベント証明
JP7475472B2 (ja) プライバシーを守る活動集約メカニズム
US11949688B2 (en) Securing browser cookies
JP2022544461A (ja) クライアントデバイスからの通信の完全性の保護
JP7389235B2 (ja) 匿名イベント認証
JP7157258B2 (ja) 集約されたネットワーク測定における不正の防止
CN116034596A (zh) 具有令牌赎回的匿名认证
EP4042665B1 (en) Preventing data manipulation 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: 20221108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240416

R150 Certificate of patent or registration of utility model

Ref document number: 7475472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150