JP7164726B2 - 対話データの改ざん防止 - Google Patents

対話データの改ざん防止 Download PDF

Info

Publication number
JP7164726B2
JP7164726B2 JP2021541482A JP2021541482A JP7164726B2 JP 7164726 B2 JP7164726 B2 JP 7164726B2 JP 2021541482 A JP2021541482 A JP 2021541482A JP 2021541482 A JP2021541482 A JP 2021541482A JP 7164726 B2 JP7164726 B2 JP 7164726B2
Authority
JP
Japan
Prior art keywords
interaction
rendering
rendering element
client device
declared
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
JP2021541482A
Other languages
English (en)
Other versions
JP2022536568A (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 JP2022536568A publication Critical patent/JP2022536568A/ja
Application granted granted Critical
Publication of JP7164726B2 publication Critical patent/JP7164726B2/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/1433Vulnerability analysis
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • 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/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

プログラマティッククリック(programmatic clicks)は、ユーザのオンライン経験を著しく劣化させ、本来ならば、正確な情報を配信するために使用され得るコンピューティングリソースを無駄にする、偽情報の広範な分散につながる可能性がある。
本明細書は、ユーザのプライバシーを保護しながらコンテンツとの人間の対話を検証するための、データ処理、および変造不可能な認証トークンの生成に関する技術について説明する。
概して、本明細書で説明する主題の1つの革新的な態様は、クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素のレンダリング通知を受信するステップ、クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素の宣言を受信するステップ、クライアントデバイスにおけるレンダリング要素との対話を検出するステップ、受信された宣言に基づいて、その対話がアクティブウィンドウ内のレンダリング要素の宣言されたロケーションにおいて発生したかどうかを判定するステップ、およびその対話が宣言されたロケーションにおいて発生したかどうかの判定に基づいて、その対話を処理するステップのアクションを含む方法で具現され得る。対話を処理するステップは、その対話がレンダリング要素の宣言されたロケーションにおいて発生したとの判定に応じて、クライアントデバイス上のアクティブウィンドウのスクリーンショットをキャプチャするステップ、レンダリング要素の宣言された外観を用いてスクリーンショット内のレンダリング要素の視覚的外観を検証するステップ、および、レンダリング要素との対話に対する対話認証を生成し、それにより、対話を確認するステップ、ならびに、対話がレンダリング要素の宣言されたロケーションにおいて発生しなかったとの判定に応じて、レンダリング要素との対話に対する対話認証の生成を控えるステップを含む。
本態様の他の実施形態は、コンピュータ記憶デバイス上に符号化された、これらの方法のアクションを実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
これらのおよび他の実施形態は各々、以下の特徴のうちの1つまたは複数を随意に含み得る。いくつかの実装形態では、レンダリング通知は、i)アクティブウィンドウ内のレンダリング要素のロケーション、ii)レンダリング要素の不変のIDおよびURI、ならびにiii)レンダリング要素をレンダリングしたサイトまたはドメイン、のうちの1つまたは複数を含む。
いくつかの実装形態では、レンダリング要素の宣言を受信するステップは、レンダリング要素の検証された外観を受信するステップを含む。検証された外観は、一意の不変のIDおよび/または一意の不変のURL、ならびに検証された形状を含み得る。
いくつかの実装形態では、レンダリング要素の宣言された外観を用いて、スクリーンショット内のレンダリング要素の視覚的外観を検証するステップは、画像整合アルゴリズムを利用するステップを含む。
いくつかの実装形態では、対話を検出するステップは、アクティブウィンドウ内のユーザクリックのXY座標を指定する選択信号を受信するステップを含む。
いくつかの実装形態では、これらの方法は、レンダリング要素の複数のインスタンス化で複数の対話に対する対話認証をアグリゲートするステップをさらに含む。この対話認証は、i)宣言された外観の不変のIDおよび/またはURI、ii)対話のタイムスタンプ、iii)デバイス完全性トークン、iv)クライアントデバイスによるデジタル署名、v)対話のXY座標、ならびにvi)クライアントデバイス公開鍵のうちの1つまたは複数を含み得る。宣言された外観の不変のIDおよび/またはURIは、対話のユーザ意図を含んでよく、ここで、ユーザ意図は、レンダリング要素の外観によって伝えられるアクションに対応し得る。
いくつかの実装形態では、これらの方法は、ユーザ意図を含む対話認証に応じて、ユーザ意図に基づいて対話の報告を修正するステップをさらに含む。これらの方法は、対話がユーザ意図と異なるとの判定に応じて、レンダリング要素が偽のレンダリング要素であると判定し、偽の対話応答をトリガするステップをさらに含み得る。これらの方法は、偽の対話応答をトリガするステップに応じて、偽のレンダリング要素のランディングページへのクライアントデバイスの経路を遮断するステップをさらに含み得る。
いくつかの実装形態では、対話がレンダリング要素の宣言されたロケーションにおいて発生しなかったとの判定に応じて、これらの方法は、偽の対話応答をトリガするステップを含む。
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装され得る。リモートクライアントデバイスにおいて実際のユーザがレンダリング要素、たとえば、ボタン、サムズアップ/サムズダウン、などと対話したことを検証するステップは、デジタルコンポーネント、たとえば、ニュース記事に対するランク付け機構の真正性を保護し、悪意のある当事者がデジタルコンポーネントのランク付けされたセットを操作することを防止し得る。第三者確認を使用してリモートクライアントデバイスにおけるレンダリングコンポーネントの外観を確認することによって、システムは、実際のユーザが、セカンダリアクションを開始するか、または対話を全面的にハイジャックすることを試みる可能性がある非表示のまたは操作された要素ではなく、意図されたレンダリング要素、たとえば、ボタンと対話していることを確実にし得る。本主題は、ユーザのプライバシーを保護する、確認された認証トークンを使用してオンラインシステムを通じて配信される偽のレンダリングされた要素を迅速に識別するために利用され得る。確認された認証トークンを使用して、システムは、検出された対話が実際のユーザによってリモートクライアントデバイスにおいて実行されること、かつ検出された対話時にそのコンテンツがそのユーザに提供されたことを確実にし得る。このタイプの検証は、1つまたは複数のデバイスによって作成され、リモートクライアントデバイスにおけるコンテンツとの対話を確認するために人間のオペレータが変造することができない検証可能なデジタル署名を使用する。
セカンダリアクションの処理、たとえば、ランディングページにリンクすること、レンダリング要素に関連する基本的なランク付け機構を調整すること、などに先立って、処理されているレンダリングされたユーザインターフェース(UI)要素が有効であることを確実にすることによって、リソースは偽のレンダリング要素に関連する偽情報を記憶、配信、または提示するために利用されないため、コンテンツをエンドユーザに提供するために使用される処理、メモリ、およびリソースは低減される。加えて、認証トークンの使用は、より信頼できる効率的な方法で、デジタルコンポーネントとともに提示されるレンダリング要素を偽として分類するのを助け、誤解を招く情報を記憶および配信するために必要とされるリソースを低減し得る。たとえば、認証トークンは、ユーザのプライバシーを依然として保護しながら、レンダリング要素との対話が実際にレンダリングされた要素に実際に触れたかつ/またはその要素上をクリックしたユーザによって行われることを確実にするように構成される。したがって、対話は、悪意のある当事者(たとえば、特定のコンテンツディストリビュータに害を及ぼすことを試みるエンティティ)によって行われるのではなく、合法的であると確証され得る。したがって、認証トークンを使用して各レンダリング要素を合法または不法として確認するための能力により、リソースは不法な偽のレンダリング要素警告の処理に費やされず、結果として生じる、偽のレンダリング要素を含むデジタルコンポーネントに関する情報を提供する基準および/または報告は、より正確にされ、かつより効率的に作成される。さらに、本書を通じて説明する技法は、偽であるかまたは誤解を招く可能性があるコンテンツがユーザに提示されるとき、システムがユーザに警告し、それにより、誤解を招くまたは悪意のあるコンテンツを回避する能力をユーザに提供し得る。
本明細書で説明する主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の発明の実施するための形態に記載される。主題の他の特徴、態様、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかになるであろう。
デジタルコンポーネントシステムがデジタルコンポーネントを配信する環境のブロック図である。 レンダリング要素対話が確認される環境のブロック図である。 レンダリング要素対話が確認される環境のブロック図である。 レンダリング要素との対話を確認するための例示的なプロセスを示す流れ図である。 例示的なコンピュータシステムのブロック図である。
概要
概して、本書は、検証されたレンダリング要素の外観および対話認証を使用して、デジタルコンポーネント、たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または別のコンテンツ単位とともに提示される、偽のレンダリング要素、たとえば、誤解を招くかつ/または不可視ボタンとの対話を確認するためのコンピュータ実装方法およびシステムに関する。クライアントデバイス上のアクティブウィンドウ内、たとえば、アプリケーション環境またはウェブサイト内でのレンダリング要素とのユーザの対話は、アクティブウィンドウ内のレンダリング要素の外観、たとえば、アクティブウィンドウのスクリーンショットに関する情報とともに、オペレーティングシステムまたは他の信頼できるアプリケーションまたはウェブブラウザによって報告され得る。レンダリング要素の外観は、第三者によって検証可能であり、アプリケーションおよび/またはレンダリング要素を提示するウェブブラウザによってアクセス可能な外観の宣言を含む。レンダリング要素は、ユーザによる対話が意図的であったことを検証するために、レンダリング要素の外観の第三者宣言およびクライアントデバイス上のアクティブウィンドウのスクリーンショットを使用して検証され得る。対話を(自動またはボット対話ではなく)人間の対話として確認し、レンダリング要素を偽のレンダリング要素ではないと確認することは、本書を通して論じるように、偽のレンダリング要素が偽情報を提示するデジタルコンポーネントを配信するために使用されることを制限し、修正し、または停止し得る。
たとえば、アプリケーション用のオペレーティングシステム(OS)、およびブラウザは、偽のレンダリング要素が、プライバシー保護アグリゲーション測定(privacy-preserving aggregation measurements)を実装する中央アグリゲーションサーバ(central aggregation server)を使用して識別され得るように、プライバシーを保護する方法でレンダリング要素とのユーザ対話を確認し得る。アグリゲートされた偽のレンダリング要素報告はレンダリング要素との確認されたユーザ対話から生成可能であり、この報告は、クライアントデバイス上のアクティブウィンドウ内に存在する潜在的な偽のレンダリング要素についてユーザに警告するために利用され得る。レンダリング要素とのユーザ対話を確認するためのシステムおよび方法について、図2A、図2B、および図3を参照しながら以下でさらに詳細に説明する。
例示的なオペレーティング環境
図1は、デジタルコンポーネント配信システム150がデジタルコンポーネントを配信する環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せなど、データ通信ネットワーク105を含む。ネットワーク105は、クライアントデバイス110、パブリッシャ130、ウェブサイト140、デジタルコンポーネント配信システム150、検出システム170、アグリゲーションシステム180、および報告システム190を接続する。例示的な環境100は、多くの異なるクライアントデバイス110、パブリッシャ130、およびウェブサイト140を含み得る。いくつかの実装形態では、環境100は、複数のデジタルコンポーネント配信システム150を含んでもよい。
ウェブサイト140は、ドメイン名に関連し、1つまたは複数のサーバによってホストされた、1つまたは複数のリソース145である。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を含み得る、HTMLでフォーマットされたウェブページの収集物である。各ウェブサイト140は、ウェブサイト140を制御、管理および/または所有するエンティティであるパブリッシャ130によって維持される。
リソース145は、ネットワーク105を介して提供され得る任意のデータである。リソース145は、リソース145に関連付けられるリソースアドレス、たとえば、ユニバーサルリソースロケータ(URL)によって識別される。リソースは、ほんのいくつかの例を挙げれば、HTMLページ、ワード処理文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、およびフィードソースを含む。これらのリソースは、埋め込まれた情報(ハイパーリンク内のメタ情報など)および/または埋め込まれた命令(スクリプトなど)を含み得る、語、語句、画像、および音声などのコンテンツを含み得る。
クライアントデバイス110は、ネットワーク105を介して通信することが可能な電子デバイスである。例示的なクライアントデバイス110は、パーソナルコンピュータ、モバイル通信デバイス、たとえば、スマートフォン、およびネットワーク105を介してデータを送ることおよび受信することができる他のデバイスを含む。
クライアントデバイス110は、典型的には、ネットワーク105を介してデータを送ることおよび受信することを円滑にするための、ウェブブラウザおよび/またはネイティブアプリケーションなどのアプリケーション112を含む。ネイティブアプリケーションは、特定のプラットフォームまたは特定のデバイスに対して開発されたアプリケーションである。パブリッシャ130は、ネイティブアプリケーションを開発し、クライアントデバイス110に提供すること、たとえば、ダウンロードのために利用可能にすることができる。いくつかの実装形態では、クライアントデバイス110は、デジタルメディアデバイス、たとえば、テレビジョンまたはビデオをテレビジョンにストリーミングする他のディスプレイにプラグインするストリーミングデバイスである。デジタルメディアデバイスは、ウェブブラウザおよび/またはビデオをストリーミングする、かつ/またはリソースを提示する、他のアプリケーションを含んでもよい。
ウェブブラウザは、たとえば、クライアントデバイス110のユーザによる、ウェブブラウザのアドレスバー内のリソース145に対するリソースアドレスの入力、またはリソースアドレスを参照するリンクの選択に応じて、パブリッシャ130のウェブサイト140をホストするウェブサーバからリソース145を要求し得る。同様に、ネイティブアプリケーションは、パブリッシャ130のリモートサーバからアプリケーションコンテンツを要求し得る。
いくつかのリソース145、アプリケーションページ、または他のアプリケーションコンテンツは、リソース145またはアプリケーションページとともにデジタルコンポーネントを提示するためのデジタルコンポーネントスロットを含み得る。本書を通して使用される「デジタルコンポーネント」という語句は、デジタルコンポーネントまたはデジタル情報の不連続単位(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または別のコンテンツ単位)を指す。デジタルコンポーネントは、単一ファイルとして物理メモリデバイス内にまたはファイルの収集物内に電子的に記憶されてよく、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形をとってよく、広告が、あるタイプのデジタルコンポーネントであるような広告情報を含んでよい。たとえば、デジタルコンポーネントは、ウェブページまたはアプリケーション112によって提示される他のリソースのコンテンツを補足することが意図されるコンテンツであり得る。より具体的には、デジタルコンポーネントは、リソースコンテンツに関連するデジタルコンテンツを含み得る(たとえば、デジタルコンポーネントは、ウェブページコンテンツと同じ話題に、または関連する話題に関係し得る)。デジタルコンポーネント配信システム150によるデジタルコンポーネントのプロビジョニングは、したがって、ウェブページまたはアプリケーションコンテンツを補足し、概して強化し得る。
アプリケーション112が1つまたは複数のデジタルコンポーネントスロットを含むリソース145(またはアプリケーションコンテンツ)をロードするとき、アプリケーション112は、デジタルコンポーネント配信システム150から各スロットに対するデジタルコンポーネントを要求し得る。デジタルコンポーネント配信システム150は、次に、デジタルコンポーネントプロバイダ160からデジタルコンポーネントを要求し得る。デジタルコンポーネントプロバイダ160は、リソース145とともに提示するためのデジタルコンポーネントを提供するエンティティである。
場合によっては、デジタルコンポーネント配信システム150は、1つまたは複数のデジタルコンポーネントパートナー157からデジタルコンポーネントを要求することもできる。デジタルコンポーネントパートナー157は、デジタルコンポーネント要求に応じて、デジタルコンポーネントプロバイダ160に代わってデジタルコンポーネント129(図示せず)を選択するエンティティである。
デジタルコンポーネント配信システム150は、様々な基準に基づいて、各デジタルコンポーネントスロットに対するデジタルコンポーネントを選択し得る。たとえば、デジタルコンポーネント配信システム150は、リソース145(またはアプリケーションコンテンツ)に対する関連性、デジタルコンポーネントの性能(たとえば、ユーザがデジタルコンポーネントと対話する割合)、などに基づいて、デジタルコンポーネントプロバイダ160および/またはデジタルコンポーネントパートナー157から受信されたデジタルコンポーネントから、デジタルコンポーネントを選択し得る。デジタルコンポーネント配信システム150は、次いで、リソース145または他のアプリケーションコンテンツとともに提示するために、選択されたデジタルコンポーネントをクライアントデバイス110に提供し得る。
アプリケーション112がデジタルコンポーネントを提示するとき、アプリケーション112(ブラウザであってよい)は、デジタルコンポーネントの提示のためのインプレッションデータ114を記憶し得る。デジタルコンポーネントの特定の提示に関するインプレッションデータ114は、デジタルコンポーネントに対するランディングページ(たとえば、デジタルコンポーネントによってリンクされるページで、ユーザがデジタルコンポーネントをクリックするかそのデジタルコンポーネントと対話するとき、アプリケーション/ブラウザがそのページをユーザに提示する)のURLまたはドメインを含み得る。いくつかの実装形態では、デジタルコンポーネントの特定の提示に関するインプレッションデータ114は、電話番号、たとえば、クリックツーコール広告を含み得るか、または、たとえば、店内訪問広告に対するアドレスを記憶し得る。
デジタルコンポーネントの特定の提示に関するインプレッションデータ114は、デジタルコンポーネントに対する1つまたは複数の識別子、そのインプレッションに関連するイベントレベルデータ、インプレッションデータがいつクライアントデバイス110から削除されることになるかを指定する満了時間、および/またはデジタルコンポーネントに対する変換報告が送られることになる報告側URLまたはドメインをさらに含み得る。このデータは、デジタルコンポーネントによって、たとえば、デジタルコンポーネントのメタデータまたはデジタルコンポーネントのアンカータグとして提供され得る。以下でより詳細に説明するように、デジタルコンポーネントの各インプレッションに関する生のインプレッションデータを記憶するのではなく、または記憶することに加えて、アプリケーション112は、検出システム170によってブラインド署名されたインプレッションデータを記憶し得る。
アプリケーション112は、変換の検出に応じて、変換データ116を記憶することもできる。デジタルコンポーネントに対する変換は、デジタルコンポーネントがユーザに提示されたかつ/またはユーザによって対話された(たとえば、クリックされたまたはタップされた)後の指定されたユーザアクションの完了である。いくつかの変換は複数のタイプを有することがあるため、変換に関する変換データ116は、変換のタイプを示すデータを含み得る。変換のタイプは、変換が完了した後の後続のアクションを指定し得る。たとえば、変換は、オンラインショッピングカートへの品目の追加であり得る。この例では、第1のタイプの変換は、チェックアウトを伴わない(たとえば、買い物の完了を伴わない)その品目の追加であり得、第2のタイプの変換は、チェックアウトであり得る。変換の他の例は、広告主の電話呼出し、アプリケーションのインストール、広告主が所有するローカルストアへの訪問、などを含む。以下でより詳細に説明するように、変換に関する変換データは、変換のタイプを示す1つまたは複数のビットのセットであってよく、アプリケーションは、デジタルコンポーネント配信システム150(または、別の適切なシステム)がブラインド署名した変換データを記憶し得る。
いくつかの実装形態では、デジタルコンポーネントに対する変換は、デジタルコンポーネントとともに提示されるレンダリング要素とのユーザ対話に関する対話データを含む。レンダリング要素とのユーザ対話を含む対話データ117は、レンダリング要素、たとえば、ボタン、との対話のタイプ、たとえば、クリック、スワイプ、指を上げる/指を下げる、などを示すデータを含んでよい。レンダリング要素との対話については、図2Aから図2Bおよび図3を参照しながら、以下でさらに詳細に説明する。
検出システム170は、クライアントデバイス110から受信された検出信号を評価して、インプレッション、対話、および/または変換が有効であるかまたは無効であるかを判定し得る。検出信号は、アプリケーションに依存し得、異なる実装形態において異なり得る。アプリケーション112(または、クライアントデバイス110上のオペレーティングシステム)は、デジタルコンポーネントがアプリケーション112(または、クライアントデバイス110上のオペレーティングシステム)を呼び出して、検出信号を収集し、検出信号を検出システム170に提供することを可能にするAPIを含み得る。
検出信号に加えて、アプリケーション112は、インプレッションに関するブラインドインプレッションデータを検出システム170に送ることができる。検出システム170がインプレッションは有効である(たとえば、識別されたコンテンツが実際にクライアントデバイスによって提示された)と判定する場合、検出システム170は、ブラインドインプレッションデータに署名し、署名されたブラインドインプレッションデータをアプリケーション112に提供し得る。ブラインドインプレッションデータを生成し、ブラインドインプレッションデータに署名するための例示的な技法については、以下で説明する。
アグリゲーションシステム180は、クライアントデバイス110から受信されたデータに基づいて、アグリゲートされたネットワーク測定値を生成し得る。以下の説明では、ウェブブラウザまたはネイティブアプリケーションであってよいアプリケーション112によって実行されるとして、測定データ要素を生成し提供するための技法について説明する。しかしながら、いくつかの実装形態では、クライアントデバイス110のオペレーティングシステムは、測定データ要素を生成して送ることができる。そのような実装形態では、クライアントデバイス110上のウェブブラウザおよびアプリケーションは、インプレッションおよび変換をオペレーティングシステムに報告するように構成され得る。オペレーティングシステムは、アプリケーション112によって実行されるとして以下で説明するインプレッションおよび変換を報告するための動作の各々を実行し得る。
クライアントデバイス110上のアプリケーション112は、ネットワークデータを表す暗号化データを含む測定データ要素をアグリゲーションシステム180に提供し得る。ネットワークデータは、インプレッションデータおよび/または各変換に関する変換データを含み得る。たとえば、アプリケーション112は、各インプレッション、ユーザ対話、および/またはクライアントデバイス110において行われる変換に対する測定データ要素を生成してアグリゲーションシステム180に送ることができる。アグリゲートされたネットワーク測定値は、1つまたは複数のデジタルコンポーネントの各々に関して、複数のクライアントデバイス110にわたる、インプレッション、ユーザ対話、および/またはデジタルコンポーネントに対する変換の総数、ならびに、随意に、デジタルコンポーネントとともに提示されるレンダリング要素を含み得る。
アプリケーション112は、測定データ要素内のデータを生成するために(t,n)しきい値方式を使用し得る。いくつかの実装形態では、アプリケーション112が変換を検出するかまたは変換に関する変換データを受信するとき、アプリケーション112は、インプレッションデータおよび変換に関する変換データに基づいて、グループ鍵(たとえば、多項式関数)を生成する。アプリケーションは、次いで、グループ鍵の一部分を表し、同じインプレッションおよび変換の対に対して十分な数のグループメンバー鍵が受信されたときのみ、グループ鍵を再生成するために使用され得る、グループメンバー鍵を生成し得る。この例では、変換に対する測定データ要素は、アプリケーションによって生成されたグループメンバー鍵およびインプレッションおよび変換の対に対応するタグを含み得る。各一意のインプレッションおよび変換の対は、アグリゲーションシステム180が、そのタグを使用して、各インプレッションおよび変換の対に対する測定データ要素をアグリゲートすることができるように、対応する一意のタグを有し得る。
いくつかの実装形態では、アプリケーション112が、対話および/または変換を検出するか、または対話および/または変換に関する対話および/または変換データを受信するとき、アプリケーション112は、インプレッションデータ、対話データ、および対話および/または変換に関する変換データに基づいて、グループ鍵(たとえば、多項式関数)を生成する。アプリケーションは、次いで、グループ鍵の一部分を表し、かつ同じインプレッションおよび対話/変換の対に対して十分な数のグループメンバー鍵が受信されるときのみグループ鍵を再生成するために使用され得る、グループメンバー鍵を生成し得る。この例では、対話/変換に対する測定データ要素は、アプリケーションによって生成されるグループメンバー鍵、およびインプレッションおよび対話/変換の対に対応するタグを含み得る。各一意のインプレッションおよび対話/変換の対は、アグリゲーションシステム180がそのタグを使用して各インプレッションおよび対話/変換の対に対する測定データ要素をアグリゲートすることができるように、対応する一意のタグを有し得る。
(t,n)しきい値暗号化方式では、アグリゲーションサーバ180は、インプレッションおよび変換および/または対話データを解読することができるように同じインプレッションおよび対話/変換の対に対する少なくともt個のグループメンバー鍵を受信することが必要になる。t個に満たないグループメンバー鍵が受信された場合、アグリゲーションサーバ180は、インプレッションおよび変換および/または対話データを解読することができない。同じインプレッションおよび変換および/または対話の対に対して少なくともt個の測定データ要素がクライアントデバイス110から受信されると、アグリゲーションシステム180は、少なくともt個のグループメンバー鍵からグループ鍵を判定し、そのグループ鍵からインプレッションおよび変換および/または対話データを取得し得る。
アグリゲーションシステム180は、インプレッションデータ、対話データ、および/またはインプレッションおよび対話/変換の対に対する変換データを含む、受信された測定データ要素の数に基づいて、インプレッションおよび変換の対に対する変換の量を判定し得る。たとえば、少なくともt個のグループメンバー鍵を使用して、インプレッション、対話、および変換データを取得した後、アグリゲーションシステム180は、変換の量として、インプレッションおよび対話/変換の対に対して受信されたグループメンバー鍵の数のカウントを判定し得る。アグリゲーションシステム180は、インプレッションデータ、対話データ、変換データ、および対話および/または変換の量を報告システム190に報告することができ、報告システム190は、インプレッションおよび変換データに対応するデジタルコンポーネントの報告側URLに対応する報告側ドメインとして実装され得る。
偽のレンダリング要素の報告および確認
デジタルコンポーネント配信システム150は、様々なデジタルコンポーネントプロバイダ160からクライアントデバイス110にデジタルコンポーネントを配信し得る。デジタルコンポーネントは、そこでユーザがレンダリング要素と対話し得るレンダリング要素、たとえば、ボタンを含み得る。レンダリング要素は、外観の宣言、およびクライアントデバイス110のアクティブウィンドウ内のレンダリング要素の外観のキャプチャされたスクリーンショットを使用して確認され得る。さらに、レンダリング要素との対話は、報告側エンドユーザのプライバシーを保護するため、ならびにデジタルコンポーネントプロバイダ160の利益を保護するために、検証されアグリゲートされ得る。
図2Aおよび図2Bは、レンダリング要素対話が確認される環境のブロック図である。偽のレンダリング要素は、ユーザに不可視であるかまたは誤解を招くデジタルコンポーネントとともに提示されるレンダリング要素、たとえば、ボタンまたはさもなければ選択可能な特徴を指す。いくつかの実装形態では、偽のレンダリング要素は、ユーザが意図しない対話をトリガし得る。一例では、「ウィンドウを閉じる」ボタン上の非表示ボタン(たとえば、スクリーン上に提示されるボタンのグラフィカルな可視化を含まないボタンに対するコードで定義された(code-defined)対話ゾーン)は、「ウィンドウを閉じる」ボタンのユーザの選択によってユーザが意図するように、現在のウィンドウまたはアプリケーションを閉じる代わりに、別のアプリケーションまたはウェブページに対する要求を開始することがある。別の例では、誤解を招くレンダリング要素は、「サムズアップ」アイコンとして出現し得るが、誤解を招くレンダリング要素のユーザ選択は、意図される「賛成」機能ではなく「反対」機能をトリガし得る。
図2Aは、レンダリング要素対話が確認される環境200のブロック図である。対話確認システム202は、レンダリング通知204および対話警告206をクライアントデバイス210上のオペレーティングシステム208から受信するように構成される。対話確認システム202は、レンダリング要素214の検証された外観の宣言212をアプリケーション218のアクティブウィンドウ216内で受信するようにさらに構成される。加えて、対話確認システム202は、クライアントデバイス210上のオペレーティングシステム208または別の信頼できるアプリケーション218から、クライアントデバイス210上に表示されるアクティブウィンドウ216のスクリーンショット220を受信するように構成される。
いくつかの実装形態では、対話確認システム202によって実行されるとして本明細書で説明するプロセスのうちの1つまたは複数は、クライアントデバイス210上のオペレーティングシステム208または別の信頼できるアプリケーション218によって実行され得る。
対話確認システム202は、対話判定モジュール222、視覚分析モジュール224、および認証生成器226を含み得る。対話判定モジュール222、視覚分析モジュール224、および認証生成器226は各々、説明するタスクを実行するように構成されたそれぞれのモジュールおよび/または1つもしくは複数のプロセッサを参照しながら本明細書で説明するタスクを実行するための機能性で符号化されたコンピュータ記憶可読媒体を含み得る。対話判定モジュール222は、レンダリング通知204および対話警告206を入力として受信するように構成される。レンダリング通知204は、アクティブウィンドウ216内のレンダリング要素214のロケーション、レンダリング要素214の不変の識別(不変のID)および/またはユニフォームリソース識別子(URI)、およびレンダリング要素214をレンダリングしたサイトまたはドメインを含み得る。
レンダリング要素214は、アクティブウィンドウ216、たとえば、クライアントデバイス210上のアクティブウィンドウ内で可視である要素である。レンダリング通知204は、アプリケーションが、レンダリング要素214がアクティブウィンドウ216内で可視であることをオペレーティングシステム208に通知することによって生成され得る。別の実施形態では、レンダリング通知204は、たとえば、以下で図2Bを参照しながら説明するように、レンダリング要素214がウェブページのアクティブウィンドウ内で可視であることをウェブブラウザに通知するwebpage/JaveScriptによって生成され得る。
レンダリング要素214は、デジタルコンポーネント205に対する要求の一部として、またはそれに加えて、オペレーティングシステム208によって要求され得る。デジタルコンポーネントに対する要求は、レンダリング要素214、たとえば、共有ボタン、賛成ボタン、および反対ボタンを備えたニュースポストを含み得る。デジタルコンポーネントプロバイダ234は、レンダリング要素214を生成し、レンダリング要素214に対するデジタル署名を含む制御をレンダリングするための方式を提供し得る。
レンダリング通知204は、たとえば、ユーザが、アクティブウィンドウの現在のビューをスクロールすること、リサイズすること、またはさもなければ変更することによって、アクティブウィンドウの外観が変更されるたびに生成され得る。アクティブウィンドウ216内でレンダリング要素214のロケーションを追跡するステップは、ユーザのスクロール、ズーム機能性、などを追跡するステップを含んでよく、ここで、スクロール機能性、ズーム機能性、などとのユーザ対話は、レンダリング通知204を更新するための信号をトリガすることになる。いくつかの実装形態では、レンダリング通知は、ミューテーションオブザーバ(mutation observer)などのスクリプト、またはユーザインターフェース(たとえば、ウェブページのDOMまたはネイティブアプリケーションユーザインターフェースの構造)に対する変更を検出し得る別のスクリプトによって生成され得る。
図2Aを再度参照すると、レンダリング要素214との対話207は、ユーザ選択、たとえば、クリック、スワイプ、ピンチ、マウスホバー、またはレンダリング要素214によって占有されると宣言されたエリア内のレンダリング要素の選択を示す他の動きを含み得るが、これらに限定されない。対話207は、ユーザがデジタルコンポーネント205の少なくとも一部分をスクロールすること、たとえば、ニュース記事の下部にスクロースすることであってよい。対話207は、ユーザが、デジタルコンポーネント205の再生、たとえば、オーディオ、ビデオ、またはマルチメディアファイルの再生を積極的に可能にすることであり得る。一例では、対話207は、ユーザの指がクライアントデバイス210のタッチスクリーン上にタッチダウンするかつ/またはそこから持ち上げられるときに検出される。
加えて、対話判定モジュール222は宣言212を受信する。レンダリング要素214の宣言212を受信するステップは、レンダリング要素214の検証された外観を受信するステップを含み得る。レンダリング要素214の検証された外観は、一意の不変のID、たとえば、リソースファイルのクリプトハッシュ、もしくはレンダリングされたRGB画素値のクリプトハッシュ、および/または不変のURI、およびレンダリング要素214の検証された形状を含み得る。一例では、検証された形状は、寸法および形状のタイプ、たとえば、正方形、矩形、円形、などを含む。別の例では、検証された形状は、形状の寸法範囲ならびに一般的なカテゴリおよび/または記述識別子、たとえば、サムズアップ形状、停止サイン形状、チェックボックス形状を含む。別の例では、検証された形状は、ビットマップ(2Dアレイ)によって表されてよく、ここで、1は「形状の部分」を表し、「0」は他の場合を表す。そのようなビットマップは、任意の複合形状を表し得る。
宣言212は、ユーザ特定ではない、たとえば、特定のユーザまたは特定のクライアントデバイス210に特定ではない。レンダリング要素214の宣言された外観は、様々なクライアントデバイス上の十分大きなユーザグループに対して一貫している。たとえば、宣言された外観は、異なるクライアントデバイス間で考えられる変化に対処するための寸法範囲およびカラーパレット、表示特性、およびユーザ選好を含む。別の例では、宣言された外観は、複数の言語およびレンダリング要素214に対して考えられる他の領域的な変化を含む。
レンダリング要素の宣言された外観を含む宣言212は、第三者によって誤解を招かないとして単独で検証される。一例では、アプリケーション内のレンダリング要素は、アプリケーションを列挙するアプリケーションストアまたは他のプロバイダによって、たとえば、アプリケーションを提供するためのレビューおよび承認プロセスの一環として検証され得る。別の例では、ウェブリソース内のレンダリング要素は、ウェブブラウザベンダーおよび/またはウェブサイトパブリッシャのプライバシーグループによって検証され得る。
第三者レビューアは、レンダリングされたボタンがレビュー基準を満たす、たとえば、レンダリングされたボタンとの対話が結果としてユーザ意図に整合するアクションをもたらすと判定し、レンダリング要素を検証するために使用され得るレンダリング要素リソース、たとえば、pngまたはビットマップファイルをデジタル署名し得る。ユーザ意図は、したがって、レンダリング要素の外観によって伝えられるアクションに対応し得る。いくつかの実装形態では、第三者レビューアは、ウェブブラウザがアクセスし得る、承認された外観の有効にされたリストを生成し得る。
対話判定モジュール222は、受信された宣言212に基づいて、対話警告206の対話207がクライアントデバイス210のアクティブウィンドウ216内でレンダリング要素214の宣言されたロケーションにおいて発生したかどうかを判定する。対話207がレンダリング要素214の宣言されたロケーションにおいて発生したことを検出するステップは、オペレーティングシステム208または他の信頼できるアプリケーション218から、ユーザクリックのXY座標を指定する選択信号またはアクティブウィンドウ216内のレンダリング要素214との他の形態のユーザ対話を受信するステップを含み得る。いくつかの実装形態では、レンダリング要素の宣言されたロケーションにおいて対話207を検出するステップは、アクティブウィンドウ216内でレンダリング要素によって占有された、宣言されたエリアに対するX'~X"の座標範囲およびY'~Y"の座標範囲を受信するステップと、対話207のX座標および対話207のY座標をX'~X"およびY'~Y"の範囲と比較するステップと、対話207のX座標および対話207のY座標が、それぞれ、X'~X"およびY'~Y"の範囲内にあるかどうかを判定するステップとを含む。
対話207がアクティブウィンドウ216内でレンダリング要素214の宣言されたロケーションにおいて発生したとの判定に基づいて、対話判定モジュール222は、対話の確証を出力として視覚分析モジュール224に提供する。一例では、アプリケーション218に対して、オペレーティングシステム208は、対話207がレンダリング要素214によって占有されると宣言されたエリア内で発生したかどうかを検査することによって、対話207がレンダリング要素の宣言されたロケーションにおいて発生したと判定することになる。別の例では、図2Bに示すように、ウェブリソース254に対して、ブラウザ252は、対話257がレンダリング要素264によって占有されると宣言されたエリア内で発生したかどうかを検査することになる。
視覚分析モジュール224は、レンダリング要素214を含む、クライアントデバイス210のアクティブウィンドウのスクリーンショット220をオペレーティングシステム208から入力として受信するように構成される。加えて、視覚分析モジュール224は、レンダリング要素214の宣言をレンダリング要素に対する宣言212のリポジトリから入力として受信するように構成される。視覚分析モジュール224は、レンダリング要素214の宣言212からのレンダリング要素214の宣言された外観を用いて、スクリーンショット220内のレンダリング要素214の視覚的外観を検証する。
いくつかの実装形態では、レンダリング要素の視覚的外観を検証するステップは、1つまたは複数の画像整合アルゴリズムを利用して、宣言された外観をスクリーンショット220と比較するステップを含む。たとえば、画像整合アルゴリズムは、レンダリング要素の画像特徴(たとえば、画素データ)を抽出し、(たとえば、レンダリング要素のパブリッシャによって前に宣言された)レンダリング要素に対応する画像特徴の記憶されたセットを識別し、抽出された画像特徴を記憶された画像特徴と比較して、抽出された画像特徴と記憶された画像特徴の間に整合が存在するかどうかを判定し得る。レンダリング要素の視覚的外観を検証するとき、レンダリング差異による、たとえば、要素テキストをレンダリングするために使用される、スケーリング、スクリーンの色相/照度/コントラスト調整、フォント、などによる変化が考慮され得る。たとえば、レンダリング要素214に対する宣言212に対してスクリーンショット220を比較するとき、画像整合アルゴリズムは、たとえば、2次元正規化相互相関アルゴリズム(two-dimensional normalized cross correlation algorithm)または別の適切なアルゴリズムの変種を使用することによって、サイズ、コントラスト、照度、などを正規化するためのアルゴリズムを用いてレンダリングの際の小さな変化を可能にし得る。
いくつかの実装形態では、宣言212は、色相マスク、アスペクトスキューイング(aspect skewing)、または要素が特定のクライアントデバイスまたはウェブリソース上でレンダリングされるときに発生し得る他の同様のレンダリング変更を受けない「真の」レンダリング値を含み得る。この実施形態では、オペレーティングシステムおよび/またはブラウザは、レンダリングの際に何らかの小さな変化を必ずしも考慮せずに、宣言212を利用し得る。一例では、オペレーティングシステムは、デバイス非依存ビットマップを含むレンダリングアーキテクチャを有し得る。
いくつかの実装形態では、レンダリング要素214の視覚的外観およびレンダリング要素の宣言された外観の検証は、類似性のしきい値、たとえば、レンダリング要素のレンダリングされた外観がレンダリング要素の宣言された外観からの可変範囲内であること、を満たすことを含む。
レンダリング要素214の視覚的外観が類似性のしきい値に整合するかつ/またはその範囲内であるとの検証に基づいて、視覚分析モジュール224は、対話の検証を出力として認証生成器226に提供する。
認証生成器226は、視覚的外観の検証およびレンダリング要素214との対話に関する情報を入力として受信し、対話認証トークン221を出力として生成するように構成される。対話認証トークン221は、宣言された外観の不変のIDおよび/またはURI、対話207のタイムスタンプ、真のトークン(たとえば、オペレーティングシステムに対するデバイス完全性トークンまたはウェブブラウザに対する署名された償還記録(SRR:signed redemption record)、対話認証トークンの完全性を検証するために(たとえば、信頼できるデバイスが認証トークンを生成したことを検証するために)クライアントデバイス210によって生成されたデジタル署名、対話がアクティブウィンドウ内で発生したXY座標、クライアントデバイス公開鍵、および(たとえば、対話認証トークンの真正性を証明するための)オペレーティングシステムまたはウェブブラウザによって作成された、変造されていないデジタル署名を含み得る。
いくつかの実装形態では、認証トークン内に含まれるレンダリング要素の外観の不変のIDおよび/またはURIは、レンダリング要素とのユーザの対話の実際の意図を伝える。たとえば、URIがデジタルコンポーネント(たとえば、ビデオコンテンツ)に対する「サムズアップ」アイコンを指す場合、認証トークンは、ユーザがそのビデオコンテンツに賛成するために「サムズアップ」ボタン上で実際にクリックしたことを認証する。認証トークンによって認証された実際の意図に基づいて、デジタルコンポーネントプロバイダ234は、それに応じて動作すること、たとえば、「サムズアップ」カウントを増大させることができる。
いくつかの実装形態では、ユーザ意図は、レンダリング要素の外観によって伝えられる動作に対応する。ユーザ対話の報告は、認証トークン内に含まれるユーザの対話の実際の意図に基づいて修正され得る。言い換えれば、報告は、ユーザが、彼らが対話したと考えたレンダリング要素の実際の外観に基づいて修正され得る。たとえば、サーバは、「反対」のユーザ意図を伝える認証トークン内のレンダリング要素に応じて、「賛成」カウントの増分を防止し得る。これは、偽のまたは誤解を招く情報の伝搬を防止し得、ユーザの将来の経験を改善し得る。
対話判定モジュール222および/または視覚分析モジュール224が、対話がレンダリング要素の宣言されたロケーションにおいて発生しなかったと判定するシナリオでは、システム202は、レンダリング要素214との対話207に対する対話認証トークン221の生成を控える。
生成された認証トークン221は、対話確認サーバ203に提供され、デジタルコンポーネント205のレンダリング要素214との対話のアグリゲーションの際にさらに使用するために記憶され得る。対話確認サーバ203は、アグリゲーションエンジン228および応答生成器230を含み得る。サーバ203は、認証トークン221を入力として受信し得る。アグリゲーションエンジン228は、レンダリング要素124の複数のインスタンス化で複数の対話、たとえば、複数のユーザによる複数のクライアントデバイス210上のレンダリング要素214との複数の検証された提示/対話に対する対話認証をアグリゲートし得る。
いくつかの実装形態では、システム202は、タッチスクリーン上のユーザの「指を下に向ける」対話に対する対話認証トークン221をタッチスクリーン上のユーザの「指を上げる」対話に対する対話認証トークン221と対に、たとえば、連続対話にし、対話認証トークン221の対をデジタルコンポーネントプロバイダ234または他の関係する第三者に提供し得る。2つの対話認証トークンは、レンダリング要素の宣言された外観の不変のIDおよび/またはURI、デバイス公開鍵、およびユーザ詐欺または誤報を防止するための両方の認証トークン内に含まれたトークン作成タイムスタンプを有することに部分的に基づいて対にされ得る。
応答生成器230は、対話認証トークン221および偽の対話応答を受信し、偽のレンダリング要素応答232を出力として提供し得る。偽のレンダリング要素応答232は、たとえば、クライアントデバイス210および/またはデジタルコンポーネント205のデジタルコンポーネントプロバイダ234に提供され得る。
いくつかの実装形態では、対話207がレンダリング要素214の宣言されたロケーションにおいて発生しなかったとの判定に応じて、対話確認システム202は、偽の対話応答をトリガし得る。偽の対話応答はサーバ203に提供され得る。アグリゲーションエンジン228は、デジタルコンポーネント205に対する認証トークン、たとえば、インプレッションデータ114およびクリック変換認証116、ならびにレンダリング要素に対する対話認証トークン221を使用して、偽の対話応答を確認し得る。アグリゲーションエンジン228は、確認された偽の対話応答をアグリゲートして、偽の対話応答をトリガするユーザのユーザプライバシーを維持し得る。レンダリング要素は、レンダリング要素と対話するユーザのしきい値部分が偽のレンダリング要素としてその要素にフラグを付けるとき、偽のレンダリング要素として報告され得る。偽のレンダリング要素の報告は、コンテンツプロバイダ、パブリッシャ、およびエンドユーザに提供され得る。偽のレンダリング要素を含むデジタルコンポーネントの配信は、結果として、限定され、修正され、または停止され得る。デジタルコンポーネントプロバイダ234は、デバイス210またはアプリケーション218が過剰な量の偽のレンダリング要素を有する場合、これらを信頼できないと見なし得る。デジタルコンポーネントプロバイダは、それらのデバイスまたはアプリケーションに対するコンテンツのサービスを妨害または、さもなければ、限定し得る。
いくつかの実装形態では、対話判定モジュール222、視覚分析モジュール224、認証生成器226、ならびに随意に、アグリゲーションエンジン228および応答生成器230によって実行されるプロセスは、より多数のまたはより少数のモジュールによって実行されてよく、各モジュールは、1つまたは複数のプロセッサを含み得る。
いくつかの実装形態では、オペレーティングシステム208およびアプリケーション218に関して図2Aを参照しながら説明した方法およびシステムは、たとえば、ウェブブラウザによって実行され得る。図2Bは、偽のレンダリング要素対話が確認される別の環境250のブロック図である。図2Bに示すように、対話確認システム202は、レンダリング通知204および対話警告206をウェブブラウザ252から受信するように構成される。対話確認システム202は、ウェブリソース254のアクティブウィンドウ216内でレンダリング要素214の検証された外観の宣言212を受信するようにさらに構成される。加えて、対話確認システム202は、ウェブリソース254の表示されたアクティブウィンドウ216のスクリーンショット220をウェブブラウザ252から受信するように構成される。
図2Bに示すように、レンダリング要素264との対話257は、たとえば、デジタルコンポーネント255に対する「ウィンドウを閉じる」レンダリング要素264、たとえば、ポップアップウィンドウのマウスクリックを使用した、ユーザ対話または選択である。図2Bに示すレンダリング要素264は、偽のレンダリング要素とのユーザ対話に関連するアクション、たとえば、クリックがユーザ意図とは異なる、偽のレンダリング要素であり得る。たとえば、レンダリング要素264との対話257に対するユーザ意図は、デジタルコンポーネント255を閉じること、たとえば、ポップアップウィンドウを閉じることである。しかしながら、デジタルコンポーネント255を閉じる代わりに、レンダリング要素264との対話は、結果として、新しいランディングページにリダイレクトさせるか、または典型的なタイプの広告詐欺である、広告に対するクリックとしてカウントさせる。
いくつかの実装形態では、対話257が偽のレンダリング要素とのものであるとの判定に応じて、偽の対話応答がトリガされ得る。偽の対話応答のトリガに応じて、サーバは、偽のレンダリング要素の結果として、ユーザが新しいランディングページに達することを防止するために、クライアントデバイスの経路を遮断し得る。たとえば、サーバは、新しいランディングページへのリダイレクトを防止することによって経路を遮断し得る。これは、偽のレンダリング要素がリダイレクトされるランディングページをレンダリングする際のリソースの使用および処理を低減する。
図3は、レンダリング要素の対話を確認するための例示的なプロセス300を示す流れ図である。レンダリング要素との対話を確認するためのプロセス300は、図2Aによって示したようにオペレーティングシステム208または別の信頼できるアプリケーション218によって実行されてよく、かつ/または図2Bによって示したようにウェブブラウザ252によって実行されてよい。
クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素のレンダリング通知を受信する(302)。レンダリング通知204は、アプリケーション218またはウェブリソース254からシステム202によって受信される。いくつかの実装形態では、オペレーティングシステム208および/または別の信頼できるアプリケーションもしくはウェブブラウザ252は、それぞれ、アプリケーション218またはウェブリソース254からレンダリング通知を受信し得る。レンダリング通知204は、クライアントデバイスまたはウェブサイトのアクティブウィンドウ216内で可視であるレンダリング要素214、264に関する情報、たとえば、アクティブウィンドウ内でレンダリングされた要素のロケーション、レンダリング要素の不変のIDおよびURI、および要素を呼び出したサイトまたはドメインを含む。レンダリング要素214、264は、クライアントデバイス210上でデジタルコンポーネント205とともに提示される要素であり得る。
クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素の宣言を受信する(304)。宣言212は、第三者によって検証される宣言212のリポジトリから受信され得る。レンダリング要素の宣言は、クライアントデバイスまたはウェブページのアクティブウィンドウ内で可視であるレンダリング要素のレンダリング通知の受信に応じて、オペレーティングシステム208またはウェブブラウザ252によって要求され得る。
クライアントデバイスにおけるレンダリング要素との対話を検出する(306)。対話は、たとえば、クライアントデバイス210のオペレーティングシステム208またはウェブブラウザ252によって検出され得る。レンダリング要素214との対話207は、たとえば、ユーザの指のタッチスクリーン上のタッチダウンまたはクライアントデバイス210上のタッチスクリーンからの持ち上げであり得る。別の例では、レンダリング要素264との対話257は、ウェブリソース254のアクティブウィンドウ216内のマウスクリックであり得る。
受信された宣言に基づいて、対話がアクティブウィンドウ内のレンダリング要素の宣言されたロケーションにおいて発生したかどうかを判定する(308)。図2Aに示す実施形態では、オペレーティングシステム208は、対話207、たとえば、クリックがレンダリング要素によって占有されると宣言されたエリア内で発生したかどうかを検査することになる。対話207がレンダリング要素214の宣言されたロケーションにおいて発生したと検出するステップは、ユーザクリックまたはアクティブウィンドウ216内のレンダリング要素214との他の形態のユーザ対話のXY座標を指定する選択信号をオペレーティングシステム208または他の信頼できるアプリケーション218から受信するステップを含み得る。いくつかの実装形態では、対話207がレンダリング要素の宣言されたロケーションにおいて発生したと検出するステップは、アクティブウィンドウ216内でレンダリング要素によって占有された、宣言されたエリアに対するX'~X"の座標範囲およびY'~Y"の座標範囲を受信するステップと、対話207のX座標および対話207のY座標をX'~X"およびY'~Y"の範囲と比較するステップと、対話207のX座標および対話207のY座標が、それぞれ、X'~X"およびY'~Y"の範囲内であるかどうかを判定するステップとを含む。図2Bに示す実施形態では、ウェブブラウザ252は、対話257がレンダリング要素264によって占有されると宣言されたエリア内で発生したかどうかを検査することになる。
対話がアクティブウィンドウ内のレンダリング要素の宣言されたロケーションにおいて発生したとの判定の場合、クライアントデバイス上のアクティブウィンドウのスクリーンショットをキャプチャする(310)。レンダリング要素214、264が悪意のある可能性があるとアプリケーション218またはウェブリソース254に通知する前に、オペレーティングシステム208またはウェブブラウザ252は、アクティブウィンドウ216のスクリーンショット220をキャプチャし得る。スクリーンショットは、たとえば、(たとえば、デバイス上にインストールされたカメラアプリケーションの)スクリーンショット機能のアクティブ化をトリガする信号を生成することによってキャプチャされ得る。生成された信号は、カメラアプリケーションに渡されてよく、これは、カメラアプリケーションにクライアントデバイス上のアクティブウィンドウのスクリーンショットをキャプチャさせる。いくつかの実装形態では、デバイスオペレーティングシステムは、ディスプレイフレームバッファをコピーすることによってスクリーンキャプチャ動作を直接実行し得る。キャプチャされたスクリーンショットは、次いで、クライアントデバイス上にインストールされた1つまたは複数の他のアプリケーションおよび/またはサーバ実装機能による評価のために利用可能にされ得る。
レンダリング要素の宣言された外観を用いてスクリーンショット内のレンダリング要素の視覚的外観を検証する(312)。オペレーティングシステム208またはウェブブラウザ252は、宣言212からのレンダリング要素214、264の宣言された外観に対してスクリーンショット220を比較することになる。この比較は、たとえば、画素単位の比較または別の比較(たとえば、ブロックまたは特徴ベースの比較)であってよい。スクリーンショット220内のレンダリング要素214、264の外観とレンダリング要素214、264に対する宣言212の宣言された外観との間に整合が存在する場合、オペレーティングシステム208またはウェブブラウザ252は、レンダリング要素との対話に対する対話認証221を生成することになる(314)。対話認証トークン221は、図2Aを参照しながら上記でより詳細に説明したように、対話207、257に関する情報を含み得る。
いくつかの実装形態では、レンダリング要素214、264をレンダリングしたアプリケーション218またはウェブリソース254は、それぞれ、同じレンダリング要素214、264に対して「指を下げる」対話および「指を上げる」対話に対する対話認証トークンを対にし、測定、監査、または他の報告ベースの動作のために、対にされた対話認証トークン221をデジタルコンポーネントプロバイダ234または他の関係当事者に提供し得る。
対話がアクティブウィンドウ内のレンダリング要素の宣言されたロケーションにおいて発生しなかったとの判定の場合、システムは、レンダリング要素との対話に対する対話認証の生成を控える(316)。いくつかの実装形態では、要素214、264をレンダリングした、またはユーザがレンダリング要素と対話したと主張した、アプリケーション218またはウェブリソース254に悪意がある可能性があるとサーバ203に知らせる偽のレンダリング要素応答が、オペレーティングシステム208またはウェブブラウザ252によって生成され、サーバ203に提供され得る。
図4は、上記で説明した動作を実行するために使用され得る例示的なコンピュータシステム400のブロック図である。システム400は、プロセッサ410、メモリ420、記憶デバイス430、および入出力デバイス440を含む。構成要素410、420、430、および440は各々、たとえば、システムバス450を使用して、相互接続され得る。プロセッサ410は、システム400内で実行するための命令を処理することが可能である。いくつかの実装形態では、プロセッサ410は、シングルスレッドプロセッサである。別の実装形態では、プロセッサ410は、マルチスレッドプロセッサである。プロセッサ410は、メモリ420内にまたは記憶デバイス430上に記憶された命令を処理することが可能である。
メモリ420は、情報をシステム400内に記憶する。一実装形態では、メモリ420は、コンピュータ可読媒体である。いくつかの実装形態では、メモリ420は、揮発性メモリユニットである。別の実装形態では、メモリ420は、不揮発性メモリユニットである。
記憶デバイス430は、システム400に対して大容量記憶装置を提供することが可能である。いくつかの実装形態では、記憶デバイス430は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス430は、たとえば、ハードディスクドライブ、光ディスクドライブ、複数のコンピューティングデバイスによってネットワークを介して共有された記憶デバイス(たとえば、クラウド記憶デバイス)、または何らかの他の大容量記憶デバイスを含み得る。
入出力デバイス440は、システム400に対する入出力動作を提供する。いくつかの実装形態では、入出力デバイス440は、ネットワークインターフェースデバイス、たとえば、Ethernetカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードのうちの1つまたは複数を含み得る。別の実装形態では、入出力デバイスは、入力データを受信し、出力データを外部デバイス460、たとえば、キーボード、プリンター、およびディスプレイデバイスに送るように構成されたドライバデバイスを含み得る。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイス、など、他の実装形態が使用されてもよい。
例示的な処理システムについて図4で説明されているが、本明細書で説明した主題の実装形態および機能的動作は、他のタイプのデジタル電子回路で、もしくは本明細書で開示した構造およびそれらの構造的均等物を含めて、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらの1つまたは複数の組合せで実装され得る。
本明細書で説明した主題の実施形態および動作は、デジタル電子回路で、もしくは本明細書で開示した構造、およびそれらの構造的な均等物を含めて、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらのうちの1つまたは複数の組合せで実装され得る。本明細書で説明した主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、1つのコンピュータ記憶媒体(または、複数のコンピュータ記憶媒体)上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するための情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気、光、または電磁信号に対して符号化され得る。
コンピュータ可読媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、またはそれらのうちの1つまたは複数の組合せであってよいか、またはその中に含まれてよい。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号内で符号化されたコンピュータプログラム命令の発信元または宛先であってよい。コンピュータ記憶媒体は、1つまたは複数の別個の物理構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であってもよく、またはその中に含まれてもよい。
本明細書で説明した動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されるか、または他の発信元から受信される、データに対してデータ処理装置によって実行される動作として実装され得る。
「データ処理装置」という用語は、例として、1つのプログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のプログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述の組合せを含めて、すべての種類の装置、デバイス、およびデータ処理のための機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置は、ハードウェアに加えて、当該コンピュータプログラムに対する実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの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つまたは複数の方法で扱われてよい。たとえば、そのユーザに対する個人的に識別可能な情報が判定され得ないように、ユーザの識別情報が扱われてよく、またはユーザの特定のロケーションが判定され得ないように、(市、郵便番号、州レベルに関してなど)ロケーション情報が取得される、ユーザの地理的ロケーションが一般化され得る。したがって、ユーザは、ユーザに関して何の情報が制御されるか、その情報がどのように使用されるか、情報保持ポリシー、および何の情報がユーザに提供されるかに対して制御を有し得る。
本明細書は多くの特定の実装詳細を含むが、これらは、任意の発明のまたは特許請求され得るものの範囲に対する限定と解釈すべきではなく、特定の発明の特定の実施形態に特定の特徴の説明と解釈すべきである。本明細書で別個の実施形態の文脈で説明したいくつかの特徴は、単一の実施形態で組み合わせて実装されてもよい。逆に、単一の実施形態の文脈で説明した様々な特徴は、複数の実施形態で別個に、または任意の好適な部分組合せで実装されてもよい。さらに、特徴は上記でいくつかの組合せで動作するとして説明されている場合があり、当初、そのように特許請求されている場合すらあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、組合せから削除されてよく、特許請求される組合せは、部分組合せまたは部分組合せの変形形態に関する場合がある。
同様に、動作は図面において特定の順序で示されているが、これは、そのような動作が、所望の結果を達成するために、示された特定の順序でまたは順番で実行されることを必要とする、またはすべての示された動作が実行されるべきであると理解すべきではない。状況によっては、マルチタスキングおよび平行処理が有利であり得る。さらに、上記で説明した実施形態の様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解すべきではなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内にともに組み込まれてよいか、または複数のソフトウェア製品内に梱包されてよいことを理解されたい。
以上、本主題の特定の実施形態について説明した。他の実施形態は、以下の請求項の範囲内である。場合によっては、請求項で列挙されるアクションは、異なる順序で実行されてよく、依然として所望の結果を達成する。加えて、添付の図面に示したプロセスは、所望の結果を達成するために、必ずしも示した特定の順序または順番を必要としない。いくつかの実装形態では、マルチタスキングおよび平行処理が有利であり得る。
100 環境
105 データ通信ネットワーク、ネットワーク
110 クライアントデバイス
112 アプリケーション
114 インプレッションデータ
116 変換データ
117 対話データ
130 パブリッシャ
140 ウェブサイト
145 リソース
150 デジタルコンポーネント配信システム
157 デジタルコンポーネントパートナー
160 デジタルコンポーネントプロバイダ
170 検出システム
180 アグリゲーションシステム`
190 報告システム
200 環境
202 対話確認システム、システム
203 対話確認サーバ、サーバ
204 レンダリング通知
205 デジタルコンポーネント
206 対話警告
207 対話
208 オペレーティングシステム
210 クライアントデバイス
212 宣言
214 レンダリング要素、要素
216 アクティブウィンドウ
218 アプリケーション
220 スクリーンショット
221 対話認証トークン、認証トークン
222 対話判定モジュール
224 視覚分析モジュール
226 認証生成器
228 アグリゲーションエンジン
230 応答生成器
232 偽のレンダリング要素応答
234 デジタルコンポーネントプロバイダ
250 環境
252 ウェブブラウザ
254 ウェブリソース
255 デジタルコンポーネント
257 対話
264 レンダリング要素、要素
300 プロセス
400 コンピュータシステム、システム
410 プロセッサ、構成要素
420 メモリ、構成要素
430 記憶デバイス、構成要素
440 入出力デバイス、構成要素
450 システムバス
460 外部デバイス

Claims (16)

  1. データ処理装置によって実行される方法であって、
    クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素のレンダリング通知を受信するステップと、
    前記クライアントデバイス上の前記アクティブウィンドウ内で定義された前記レンダリング要素の宣言を受信するステップと、
    前記クライアントデバイスにおける前記レンダリング要素との対話を検出するステップと、
    前記受信された宣言に基づいて、前記対話が前記アクティブウィンドウ内で前記レンダリング要素の宣言されたロケーションにおいて発生したかどうかを判定するステップと、
    前記対話が前記宣言されたロケーションにおいて発生したかどうかの前記判定に基づいて、前記対話を処理するステップであって、
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生したとの判定に応じて、
    前記クライアントデバイス上の前記アクティブウィンドウのスクリーンショットをキャプチャするステップ、
    前記レンダリング要素の宣言された外観を用いて、前記スクリーンショット内の前記レンダリング要素の視覚的外観を検証するステップ、および、
    前記レンダリング要素との前記対話に対する対話認証を生成し、それにより、前記対話を確認するステップ、ならびに、
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生しなかったとの判定に応じて、前記レンダリング要素との前記対話に対する前記対話認証の生成を控えるステップ
    を含む、処理するステップと
    を含む、方法。
  2. 前記レンダリング通知が、i)前記アクティブウィンドウ内の前記レンダリング要素のロケーション、ii)前記レンダリング要素の不変のIDおよびURI、ならびにiii)前記レンダリング要素をレンダリングしたサイトまたはドメイン、のうちの1つまたは複数を含む、請求項1に記載の方法。
  3. 前記レンダリング要素の前記宣言を前記受信するステップが、前記レンダリング要素の検証された外観を受信するステップを含む、請求項1または2に記載の方法。
  4. 前記検証された外観が、一意の不変のIDおよび/または一意の不変のURL、および検証された形状を含む、請求項3に記載の方法。
  5. 前記レンダリング要素の前記宣言された外観を用いて前記スクリーンショット内の前記レンダリング要素の前記視覚的外観を前記検証するステップが、画像整合アルゴリズムを利用するステップを含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記対話を前記検出するステップが、前記アクティブウィンドウ内のユーザクリックのXY座標を指定する選択信号を受信するステップを含む、請求項1から5のいずれか一項に記載の方法。
  7. 前記レンダリング要素の複数のインスタンス化で複数の対話に対する前記対話認証をアグリゲートするステップをさらに含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記対話認証が、i)前記宣言された外観の不変のIDおよび/またはURI、ii)前記対話のタイムスタンプ、iii)デバイス完全性トークン、iv)前記クライアントデバイスによるデジタル署名、v)前記対話のXY座標、ならびにvi)クライアントデバイス公開鍵のうちの1つまたは複数を含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記宣言された外観の前記不変のIDおよび/またはURIが、前記対話のユーザ意図を含む、請求項8に記載の方法。
  10. 前記ユーザ意図が、前記レンダリング要素の前記外観によって伝えられるアクションに対応する、請求項9に記載の方法。
  11. 前記ユーザ意図を含む前記対話認証に応じて、前記ユーザ意図に基づいて前記対話の報告を修正するステップ
    をさらに含む、請求項9または10に記載の方法。
  12. 前記対話が前記ユーザ意図とは異なるとの判定に応じて、前記レンダリング要素が偽のレンダリング要素であると判定し、偽の対話応答をトリガするステップ
    をさらに含む、請求項9から11のいずれか一項に記載の方法。
  13. 前記偽の対話応答を前記トリガするステップに応じて、前記偽のレンダリング要素のランディングページへの前記クライアントデバイスの経路を遮断するステップ
    をさらに含む、請求項12に記載の方法。
  14. 前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生しなかったとの判定に応じて、偽の対話応答をトリガするステップ
    をさらに含む、請求項1から10のいずれか一項に記載の方法。
  15. コンピュータプログラムで符号化されたコンピュータ記憶媒体であって、前記プログラムが、命令を備え、前記命令が、データ処理装置によって実行されると、前記データ処理装置に、
    クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素のレンダリング通知を受信することと、
    前記クライアントデバイス上の前記アクティブウィンドウ内で定義された前記レンダリング要素の宣言を受信することと、
    前記クライアントデバイスにおける前記レンダリング要素との対話を検出することと、
    前記受信された宣言に基づいて、前記対話が前記アクティブウィンドウ内で前記レンダリング要素の宣言されたロケーションにおいて発生したかどうかを判定することと、
    前記対話が前記宣言されたロケーションにおいて発生したかどうかの前記判定に基づいて、前記対話を処理することであって、
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生したとの判定に応じて、
    前記クライアントデバイス上の前記アクティブウィンドウのスクリーンショットをキャプチャすること、
    前記レンダリング要素の宣言された外観を用いて、前記スクリーンショット内の前記レンダリング要素の視覚的外観を検証すること、および、
    前記レンダリング要素との前記対話に対する対話認証を生成し、それにより、前記対話を確認すること、ならびに、
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生しなかったとの判定に応じて、前記レンダリング要素との前記対話に対する前記対話認証の生成を控えること
    を含む、処理することと
    を含む動作を実行させる、コンピュータ記憶媒体。
  16. システムであって、
    クライアントデバイスと、
    1つまたは複数のコンピュータであって、前記クライアントデバイスと対話し、
    前記クライアントデバイス上のアクティブウィンドウ内で定義されたレンダリング要素のレンダリング通知を受信することと、
    前記クライアントデバイス上の前記アクティブウィンドウ内で定義された前記レンダリング要素の宣言を受信することと、
    前記クライアントデバイスにおける前記レンダリング要素との対話を検出することと、
    前記受信された宣言に基づいて、前記対話が前記アクティブウィンドウ内で前記レンダリング要素の宣言されたロケーションにおいて発生したかどうかを判定することと、
    前記対話が前記宣言されたロケーションにおいて発生しかどうかの前記判定に基づいて、前記対話を処理することであって、
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生したとの判定に応じて、
    前記クライアントデバイス上の前記アクティブウィンドウのスクリーンショットをキャプチャすること、
    前記レンダリング要素の宣言された外観を用いて、前記スクリーンショット内の前記レンダリング要素の視覚的外観を検証すること、および、
    前記レンダリング要素との前記対話に対する対話認証を生成し、それにより、前記対話を確認すること、ならびに
    前記対話が前記レンダリング要素の前記宣言されたロケーションにおいて発生しなかったとの判定に応じて、前記レンダリング要素との前記対話に対する前記対話認証の生成を控えること
    を含む、処理することと
    を含む動作を実行するように動作可能な1つまたは複数のコンピュータと
    を備える、システム。
JP2021541482A 2020-05-22 2020-05-22 対話データの改ざん防止 Active JP7164726B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/034252 WO2021236101A1 (en) 2020-05-22 2020-05-22 Tamper-proof interaction data

Publications (2)

Publication Number Publication Date
JP2022536568A JP2022536568A (ja) 2022-08-18
JP7164726B2 true JP7164726B2 (ja) 2022-11-01

Family

ID=71083729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021541482A Active JP7164726B2 (ja) 2020-05-22 2020-05-22 対話データの改ざん防止

Country Status (6)

Country Link
US (2) US11836209B2 (ja)
EP (2) EP4422241A2 (ja)
JP (1) JP7164726B2 (ja)
KR (1) KR102507826B1 (ja)
CN (1) CN114026559A (ja)
WO (1) WO2021236101A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321354A1 (en) * 2021-03-30 2022-10-06 Cloudflare, Inc. Using a zero-knowledge proof to prove knowledge that a website visitor is a legitimate human user
WO2024076457A1 (en) * 2022-10-07 2024-04-11 Google Llc Text-based validation of user interface to confirm user intent

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292924A1 (en) 2008-05-23 2009-11-26 Johnson Erik J Mechanism for detecting human presence using authenticated input activity
US20140115701A1 (en) 2012-10-18 2014-04-24 Microsoft Corporation Defending against clickjacking attacks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070300178A1 (en) * 2006-06-21 2007-12-27 Mcardle James M Handling of secondary pop-ups or pop-behinds within a web browser
US8667417B1 (en) * 2008-09-01 2014-03-04 Google Inc. Methods and systems for pop-up suppression
US8732474B1 (en) * 2010-05-18 2014-05-20 Google Inc. Safe installation of browser extensions
US8671389B1 (en) * 2011-09-27 2014-03-11 Google Inc. Web application resource manager on the web and localizable components
US9274913B2 (en) * 2012-03-08 2016-03-01 Google Inc. Event pages for web applications and extensions
US20140049462A1 (en) * 2012-08-20 2014-02-20 Google Inc. User interface element focus based on user's gaze
US9588636B1 (en) * 2013-12-17 2017-03-07 Google Inc. Exit full screen mode of a web browser on content-based event
US9607332B1 (en) * 2014-02-07 2017-03-28 Google Inc. Embedded web application gallery
WO2016168368A1 (en) 2015-04-13 2016-10-20 Secful, Inc. System and method for identifying and preventing malicious api attacks
US10223742B2 (en) * 2015-08-26 2019-03-05 Google Llc Systems and methods for selecting third party content based on feedback
US10679244B1 (en) * 2016-03-04 2020-06-09 Amazon Technologies, Inc. Publisher identity verification through cross-domain barrier
EP3349137A1 (en) 2017-01-11 2018-07-18 Sap Se Client-side attack detection in web applications
CN113994360A (zh) * 2020-05-19 2022-01-28 谷歌有限责任公司 使用众包打击虚假信息

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292924A1 (en) 2008-05-23 2009-11-26 Johnson Erik J Mechanism for detecting human presence using authenticated input activity
US20140115701A1 (en) 2012-10-18 2014-04-24 Microsoft Corporation Defending against clickjacking attacks

Also Published As

Publication number Publication date
EP4422241A2 (en) 2024-08-28
EP3938933B1 (en) 2024-09-18
US20240054173A1 (en) 2024-02-15
EP3938933A1 (en) 2022-01-19
JP2022536568A (ja) 2022-08-18
US20230073437A1 (en) 2023-03-09
CN114026559A (zh) 2022-02-08
KR102507826B1 (ko) 2023-03-07
WO2021236101A1 (en) 2021-11-25
US11836209B2 (en) 2023-12-05
KR20210144659A (ko) 2021-11-30

Similar Documents

Publication Publication Date Title
US11943255B2 (en) Methods and apparatus for detecting a presence of a malicious application
US9324085B2 (en) Method and system of generating digital content on a user interface
US20240054173A1 (en) Tamper-proof interaction data
JP7041282B2 (ja) 信頼できるコード証明トークンによるデータの完全性の向上
JP7250112B2 (ja) クラウドソーシングを用いて偽情報に対処すること
CN112836186A (zh) 一种页面控制方法及装置
CA2849162C (en) Methods and apparatus for validating communications in an open architecture system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221020

R150 Certificate of patent or registration of utility model

Ref document number: 7164726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150