(57)【特許請求の範囲】
【請求項１】
プロキシベースのプライバシー保護のためのシステムにおいて、
１つ以上のプロキシサーバであって、前記プロキシサーバのそれぞれが、プログラムコードを含むコンピュータ読み取り可能な記憶媒体、及び前記記録媒体と結合したコンピュータプロセッサを含むプロキシサーバを備え、前記プロキシサーバは、前記コードを実行して、
ユーザに関連付けられた少なくとも１つのコンピューティング装置から、少なくとも１つのターゲットサーバに記憶されたウェブページを提供するための１つ以上の要求を受信し、ここで、前記少なくとも１つのコンピューティング装置は要求された前記ウェブページのそれぞれの視覚的レンダリングを表示するように構成されていることと、
前記要求のそれぞれについて、前記ターゲットサーバから前記要求されたウェブページを取得することと、
前記取得されたウェブページのそれぞれについて、前記ウェブページを１つ以上の要素に解析し、前記解析された要素の１つ以上に基づいて前記ウェブページの視覚的レンダリングを作成し、前記視覚的レンダリングが表示されるときに前記視覚的レンダリングに存在する、少なくとも１つのテキスト及び少なくとも１つの画像を含む、前記視覚的レンダリングにおける前記ウェブページのビジュアルコンポーネントを特定することと、
前記解析されたウェブページのそれぞれについて、そのウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの１つ以上を用いずに再構成された前記解析されたウェブページのバージョンの表現を、前記ウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの１つ以上を使用して作成することと、
前記表現のそれぞれについて、前記コンピューティング装置に前記表現を前記プロキシサーバの１つによって提供し、ここで、前記コンピューティング装置は、そのウェブページについての前記表現を使用して前記ビジュアルコンポーネントの１つ以上を含む前記ウェブページの前記再構成されたバージョンを表示するものであり、表示された再構成された前記バージョンは前記ウェブページの前記視覚的表現と異なるものであることと、
前記要求されたウェブページを分析することと、
前記分析に基づいて前記ユーザの１つ以上の特性を導出することと、
前記導出された特性を含む前記ユーザのプロファイルを生成することと、
前記プロキシサーバにインターフェース接続された記憶装置に前記プロファイルを記憶することと、
を含むステップを実行させる、システム。
【請求項２】
前記要求のそれぞれを受信し、前記要求のそれぞれを前記プロキシサーバにランダムに割り当てるように構成されたロードバランサをさらに備える、請求項１に記載のシステム。
【請求項３】
前記再構成されたウェブページに存在しない前記１つ以上の解析された要素が追跡要素を含む、請求項１に記載のシステム。
【請求項４】
前記ステップは、さらに、
前記ユーザプロファイルを記憶する前に前記ユーザプロファイルを暗号化することと、
前記コンピューティング装置から復号鍵を受信することと、
前記鍵の受信時に前記鍵を使用して前記ユーザプロファイルを復号することと、を含む、請求項１に記載のシステム。
【請求項５】
プロキシベースのプライバシー保護のための方法において、
少なくとも１つのターゲットサーバに記憶されたウェブページを提供するために、ユーザに関連付けられた少なくとも１つのコンピューティング装置からの１つ以上の要求を、１つ以上のプロキシサーバによって受信し、ここで、前記少なくとも１つのコンピューティング装置は要求された前記ウェブページのそれぞれの視覚的レンダリングを表示するように構成されていることと、
前記要求のそれぞれについて、前記ターゲットサーバから前記要求されたウェブページを前記プロキシサーバの１つによって取得することと、
前記取得されたウェブページのそれぞれについて、前記プロキシサーバの１つによって前記ウェブページを１つ以上の要素に解析し、前記解析された要素の１つ以上に基づいて前記ウェブページの視覚的レンダリングを作成し、前記視覚的レンダリングが表示されるときに前記視覚的レンダリングに存在する、少なくとも１つのテキスト及び少なくとも１つの画像を含む、前記視覚的レンダリングにおける前記ウェブページのビジュアルコンポーネントを特定することと、
前記解析されたウェブページのそれぞれについて、そのウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの１つ以上を用いずに再構成された前記解析されたウェブページのバージョンの表現を、前記ウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの１つ以上を使用して前記プロキシサーバによって作成することと、
前記表現のそれぞれについて、前記コンピューティング装置に前記表現を前記プロキシサーバの１つによって提供し、ここで、前記コンピューティング装置は、そのウェブページについての前記表現を使用して前記ビジュアルコンポーネントの１つ以上を含む前記ウェブページの前記再構成されたバージョンを表示するものであり、表示された再構成された前記バージョンは前記ウェブページの前記視覚的表現と異なるものであることと、
前記要求されたウェブページを分析することと、
前記分析に基づいて前記ユーザの１つ以上の特性を導出することと、
前記導出された特性を備える前記ユーザのプロファイルを作成することと、
前記プロキシサーバにインターフェース接続された記憶装置に前記プロファイルを記憶することと、
を含む、方法。
【請求項６】
前記要求のそれぞれがロードバランサによって受信され、さらに、
前記ロードバランサによって前記プロキシサーバに対して前記要求をランダムに割り当てることを備える、請求項５に記載の方法。
【請求項７】
前記再構成されたウェブページに存在しない前記１つ以上の解析された要素が追跡要素を備える、請求項５に記載の方法。
【請求項８】
さらに、
前記ユーザプロファイルを記憶する前に前記ユーザプロファイルを暗号化することと、
前記コンピューティング装置から復号鍵を受信することと、
前記鍵を受信すると前記鍵を使用して前記ユーザプロファイルを復号することとを備える、請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、一般に、オンライン通信中におけるプライバシー及びセキュリティを提供することに関し、より具体的には、プロキシベースのプライバシー保護のためのシステム及び方法に関する。
【背景技術】
【０００２】
オンライン中にプライバシーを保護することは、ますます多くのエンティティがオンラインアクティビティを監視しようとするのにともない達成するのがますます困難になるという目標である。例えば、カリフォルニア州マウンテンビューのＧｏｏｇｌｅ（登録商標）社によって運営されるＡｄｓｅｎｓｅ（登録商標）及びＤｏｕｂｌｅＣｌｉｃｋ（登録商標）などのインターネット広告サービスプロバイダは、これらのサービスプロバイダの広告を特徴とするウェブページへの訪問者のアクティビティを追跡する。そのような追跡は、大抵の場合、ウェブページに埋め込まれ且つ埋め込みオブジェクトを受信するコンピュータのインターネットプロトコル（「ＩＰ」）アドレス、オブジェクトが閲覧された時刻及び時間の長さ、ブラウザの種類などの情報を取得するために訪問者のウェブブラウザと相互作用する小さい画像又はコードの一部などの技術を使用して行われる。さらに、以前に設定されたクッキー値は、訪問者の閲覧履歴に関する情報を提供することができる。さらにまた、追跡エンティティは、ユーザが電子メールサービスなどのエンティティに関連するサービスを利用する場合、インターネットユーザに関する追加情報を取得することができる。さらに、追跡された情報は、ユーザの位置及び身元を発見するために分析されることができる。
【０００３】
追跡エンティティは、大抵の場合、ユーザにターゲット広告を提示するために使用するユーザのプロファイルを作成するためにユーザに関するデータをプールする。一般に、ユーザは、追跡エンティティが自己について編集した情報を制御する方法を有さず、この情報がどのように記憶されて保護されるのかに関与しない。さらに、米国において、ユーザプロファイルの保護方法に関する政府の規制が緩慢であり、プライバシーの広範な侵害や、ユーザの閲覧履歴、ＩＰアドレス、個人の健康情報、嗜好、場所及び身元などの個人情報の公開の可能性を生じている。
【０００４】
既存の技術は、そのようなオンライン追跡によってもたらされるユーザのプライバシー及びセキュリティに対する脅威に適切に対処していない。例えば、ＤｕｃｋＤｕｃｋＧｏ．ｃｏｍは、検索を実行しているユーザを追跡せず且つ特定の検索キーワードに対して同じ結果を全てのユーザに表示するインターネット検索エンジンである。検索は安全であるが、ユーザが検索結果へのアクセスを開始すると、ユーザのアクティビティは、追跡エンティティによって監視されることができる。
【０００５】
同様に、ＨｉｄｅＭｙＡｓｓ！（商標）は、ユーザが自己のＩＰアドレスを明らかにすることなくウェブページを訪問することを可能とする使用が有料のウェブプロキシを提供するサービスである。しかしながら、本サービスの使用は、現在のページパーソナライゼーションコードを妨害し、ターゲット広告がユーザに表示されなくなる。ユーザが広告をみる機会を奪うことに加えて、サービスは、広告を表示することによって利益をあげることができず、サービスを利用する機会をユーザに与えなければならない。
【０００６】
同様に、マサチューセッツ州ウォルポールのＴｏｒ  Ｐｒｏｊｅｃｔ社によって後に開発された匿名化サービスＴｏｒ（商標）（以前の「オニオンルータ」の頭字語）は、複数のノードを介して、ユーザのインターネットトラフィックをルーティングすることにより、ユーザのＩＰアドレス、場所及びインターネットアクティビティを隠蔽する。レイヤード暗号化は、各ノードにおいて使用される。ＴＯＲの使用は、いくつかの複雑要素を有する。まず、Ｔｏｒ（商標）サービスは、使用されているアプリケーションの高度な知識又はユーザのウェブ閲覧習慣の変更を行うための意欲を必要とする。例えば、Ｔｏｒ（商標）サービスを使用することは、ユーザがＴｏｒ（商標）サービスを介してトラフィックをルーティングするように自己のコンピューティング装置上の各オンラインアプリケーションを設定するか又はＴｏｒ（商標）サービスのウェブブラウザを使用することを必要とする。さらにまた、いくつかのアプリケーションは、Ｔｏｒ（商標）サービスによって使用されるように構成されることができず、それゆえに、ユーザは、全てのインターネットトラフィックをプライベートに保つことができないことがある。さらに、ＴＯＲは、政府機関などの国家主体による監督に抵抗するように設計されており、悪名高いシルクロードオンライン闇市場や他のダークウェブ違法ウェブサイトの運営などの違法行為に以前は使用されていた。ユーザは、不正なアクティビティとサービスの関連付けに起因してＴｏｒ（商標）を利用するには消極的であることがある。
【０００７】
最後に、ＡｄＢｌｏｃｋ（商標）などのブラウザプラグインは、ターゲットウェブページがユーザに表示されたときに広告がダウンロードされるのを阻止する。しかしながら、そのようなサービスは、ユーザのウェブブラウザクッキーの通常の相互作用を妨害し、ユーザのインターネット閲覧体験に悪影響を及ぼし得る。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、ユーザのウェブ閲覧体験及びターゲット広告を受信する能力に悪影響を及ぼすことなく、インターネットユーザの個人情報の制御されない収集及び配信を防止する方法が必要とされている。
【０００９】
インターネットを閲覧中のユーザのプライバシーは、プロキシサーバの分散ネットワークを使用した介入者攻撃を無効にすることによって維持されることができる。プロキシサーバは、関心のあるウェブページをユーザにロードするためのユーザ要求を受信し、ターゲットサーバからターゲットウェブページを取得することによってユーザのウェブ閲覧アクティビティをシミュレートする。プロキシサーバは、取得されたウェブページからユーザを追跡するために使用されることができる要素を削除し、追跡要素なしでウェブページの再構成されたバージョンの表現を生成する。再構成されたウェブページの表現は、ユーザのコンピューティング装置に提供されることができる。ターゲットサーバと相互作用することにより、プロキシサーバは、ユーザのコンピューティング装置がターゲットサーバによって追跡されることを防止する。さらに、ユーザの閲覧アクティビティを観察することにより、プロキシサーバは、ユーザに提供されたコンテンツを補うために使用されることができるユーザのプロファイルを構築することができる。ユーザは、プロファイルを編集することができ、それゆえに、ネットワーク上の自己に関して記憶され且つ広告などのコンテンツをユーザに配信するために使用される情報を制御することができる。それゆえに、ユーザのプライバシーは、ユーザのウェブ閲覧体験を改善するためにユーザに関する詳細が学習される場合であっても保護されることができる。
【課題を解決するための手段】
【００１０】
１つの実施形態において、プロキシベースのプライバシー保護のためのシステム及び方法が提供される。少なくとも１つのターゲットサーバに記憶されたウェブページを提供するためにユーザに関連付けられた少なくとも１つのコンピューティング装置からの１つ以上の要求が１つ以上のプロキシサーバを含むネットワークによって受信される。要求のそれぞれについて、要求されたウェブページは、プロキシサーバの１つによってターゲットサーバから取得される。取得されたウェブページのそれぞれについて、プロキシサーバの１つは、そのウェブページを１つ以上の要素に解析し、解析された要素の１つ以上に基づいてウェブページのレンダリングを作成し、レンダリングに存在するウェブページのビジュアルコンポーネントを特定する。解析されたウェブページのそれぞれについて、プロキシサーバの１つは、そのウェブページについてのレンダリングにおいて特定されたコンポーネントの１つ以上を使用して、そのウェブページについての解析された要素の１つ以上を用いずに再構成された解析されたウェブページの表現を作成する。再構成されたウェブページのそれぞれについて、プロキシサーバの１つは、再構成されたウェブページをコンピューティング装置に提供し、コンピューティング装置は、そのウェブページについての表現を使用してビジュアルコンポーネントの１つ以上を含むウェブページの再構成されたバージョンを表示する。
【００１１】
本発明のさらに他の実施形態は、本発明を実施するために考えられる最良の形態を例示することによって本発明の実施形態が記載される以下の詳細な説明から当業者にとって容易に明らかになるであろう。理解されるように、本発明は、他の異なる実施形態が可能であり、そのいくつかの詳細は、本発明の精神及び範囲から逸脱することなく全て様々な自明な点において変更可能である。したがって、図面及び詳細な説明は、本質的に例示的であり、限定されるものではないとみなされるべきである。
【図面の簡単な説明】
【００１２】
【図１】図１は、１つの実施形態にかかるプロキシベースのプライバシー保護のためのシステムを示すブロック図である。
【図２】図２は、１つの実施形態にかかるプロキシベースのプライバシー保護のための方法を示すフロー図である。
【図３】図３は、１つの実施形態にかかる図２の方法において使用するためのセキュアなウェブ閲覧セッションを開始するためのルーチンを示すフロー図である。
【図４】図４は、１つの実施形態にかかる図２の方法において使用するための１つの実施形態にかかるユーザプロファイルを管理するためのルーチンを示すフロー図である。
【図５】図５は、１つの実施形態にかかる図２の方法において使用するためのセキュアなウェブ閲覧セッションを終了するためのルーチンを示すフロー図である。
【発明を実施するための形態】
【００１３】
ユーザのオンラインプライバシーが一般的に攻撃される１つの方法は、ユーザがアクセスしたいウェブページを維持するサーバなどのターゲットエンティティとのユーザの通信を追跡エンティティが直接傍受しようとしている介入者攻撃の使用によるものである。攻撃の間、プロキシは、証明書及び他の識別情報によってターゲットエンティティを偽装し、ユーザがターゲットエンティティと通信していると考えるように騙す。プロキシは、後に使用するための暗号化鍵、パスワード及び関連情報など、ユーザの個人情報を収集しながら、ターゲットエンティティからユーザにトラフィックを渡す。
【００１４】
介入者攻撃は、ユーザのプライバシーを維持して保護するように無効にすることができる。図１は、１つの実施形態にかかるプロキシベースのプライバシー保護のためのシステム１０を示すブロック図である。システム１０は、複数のプロキシサーバ１２の分散ネットワーク１１を含む。ネットワーク内の全てのサーバ１２は、インターネット又はセルラーネットワークなどのインターネットワーク１３に接続される。ネットワーク１１は、さらに、専用サーバとしてハードウェアに実装されることができるか又はプロキシサーバ１２若しくは他のコンピューティング装置の一方上でソフトウェアとして実行されるロードバランサ２４を含む。
【００１５】
インターネットユーザに関連付けられたコンピューティング装置１４は、インターネットワーク１３を介してネットワーク１１と相互作用することができ、特定のターゲットウェブページ１６をロードするための要求によってロードバランサ２４にコンタクトすることができる。コンタクトは、コンピューティング装置１４上で実行されるウェブブラウザ１５の一部であるプラグインを介して行うことができる。あるいは、ユーザは、ロードバランサ２４を指すようにブラウザ１５を構成することができる。さらなる実施形態において、ロードブラウザを指す代わりに、プラグインは、プロキシサーバ１２の１つを直接指すことができる。プラグインは、接続するプロキシ１２をランダムに選択することができ、それゆえに、エントリポイントをランダム化することができる。コンピューティング装置１４は、図１を参照してデスクトップコンピュータとして示されているが、スマートフォン、ラップトップ、タブレットなどの他の種類のコンピューティング装置１４もまた可能であり、さらに他の種類のコンピューティング装置も可能である。
【００１６】
ターゲットウェブページ１６は、ＨＴＭＬコード又は他のマークアップ言語におけるコードなどのコンピュータ実行可能コードを含むファイルとしてターゲットサーバ１７に記憶される。ブラウザ上でウェブページビジュアルをレンダリングするために必要なコードに加えて、ファイル内のコードはまた、他のサーバに接続してユーザの追跡を可能とする追跡オブジェクト又は他の動的要素を含むこともできる。コンピューティング装置１４のユーザが特定のターゲットウェブページ１６を取得したいとき、従来行われるように、ターゲットウェブページ１６をホスティングするサーバ１７に直接コンタクトする代わりに、コンピューティング装置１４は、分散ネットワーク１１におけるプロキシサーバ１２の１つに要求を割り当てるロードバランサ２４に対してウェブページ１６についての要求を送信する。要求は、プロキシサーバ１２に対してランダムに割り当てられるが、要求を割り当てる他の方法も可能である。そのような要求は、ターゲットウェブページ１７のＵＲＬを含むことができるが、他の識別情報もまた可能である。要求はまた、ウェブページについてのユーザのログイン情報などの他の情報も含むことができる。
【００１７】
プロキシサーバ１２のそれぞれは、要求を受信し、ターゲットサーバ１７と相互作用するときにコンピューティング装置１４のアクティビティをシミュレートする閲覧シミュレータ１８を実行する。特に、ブラウザシミュレータ１８は、ターゲットサーバ１７にコンタクトし、そのサーバ１７からウェブページ１６を取得する。ターゲットサーバ１６にコンタクトするプロキシサーバ１２は、コンピューティング装置１４のＩＰアドレスとは異なるＩＰアドレスを有するため、ターゲットサーバ１７は、コンタクト中にコンピューティング装置１４のＩＰアドレスを学習しない。さらに、コンピューティング装置１４は、ランダムに選択された異なるプロキシサーバ１２の異なる要求に対して異なるものを使用するため、異なる要求の実行中にターゲットサーバ１７によって観察可能なＩＰアドレスもまた変化し、それゆえに、ターゲットサーバ１７は、閲覧アクティビティが特定のＩＰアドレスに結び付くのを防止する。
【００１８】
ターゲットウェブページ１７を取得することに加えて、閲覧シミュレータは、コンピューティング装置１４が通常行うのと同じ方法でターゲットサーバ１７と相互作用する。例えば、閲覧シミュレータ１８は、ターゲットサーバ１７からクッキーを受信して記憶することができる。さらに、シミュレータ１８は、追跡オブジェクト及び他の動的要素などのターゲットウェブページ内の埋め込みオブジェクトの全てをヒットし、ターゲットサーバ１７がユーザのコンピューティング装置に関する情報を明らかにせずにプロキシサーバ１７を追跡するのを可能とする。
【００１９】
ターゲットウェブページ１６の取得時及びコンピューティング装置１４に対するウェブページ１６の提供前に、閲覧シミュレータ１８は、ユーザ又は広告を追跡するために使用されることができるウェブページ１６の要素などの特定の望ましくない要素を取り除くことによってウェブページ１６を「サニタイズする」。極端な場合、閲覧シミュレータ１８は、ビットマップ画像などの画像又は画像のセットにページをレンダリングし、これらをクライアントに対して送信することができる。より一般的には、シミュレータ１８は、ウェブページ１６を構成するコードを解析し、通常のウェブブラウザのようにウェブページに埋め込まれたオブジェクトをヒットし、ウェブページ１６をレンダリングする。レンダリングされたウェブページ１６から、シミュレータ１８は、ウェブページ１６のビジュアルコンポーネント（ユーザがウェブブラウザ１５を介してウェブページ１６に直接アクセスした場合、ウェブブラウザ１５のユーザにとっては視覚的であろうコンポーネント）を回復する。少なくともいくつかのビジュアルコンポーネントに基づいて、シミュレータ１８は、追跡オブジェクト又は他の望ましくないコンテンツ（望ましくない広告に対応するビジュアルコンポーネントなど）を含まないように再構成されたウェブページ１６の中間視覚的表現１９を作成する。シミュレータ１８によってウェブブラウザ１５に提供されると、レンダリングされた表現１９は、ウェブブラウザが（シミュレータ１８によって削除されたコンテンツを除き）ターゲットサーバ１７から直接にウェブページ１６にアクセスした場合に視覚的であろうウェブページ１６の全てのコンポーネントをウェブブラウザ１５が表示するのを可能とする。追跡オブジェクトは、表現１９に含まれないため、それらは、ウェブブラウザ１５が表現を受信したときにコンピューティング装置１４のアクティビティのユーザのアクティビティを追跡することができない。
【００２０】
そのような中間表現１９は、（削除されたコンテンツを有しない）ウェブページ１６の画像を含むことができる。他の中間表現１９も可能である。例えば、中間表現１９は、ウェブページ１６又は表示ツリーをレンダリングするための表示リストを含むことができる。ページの視覚化を可能とするさらに他の中間表現が可能である。中間表現は、コンピューティング装置１４に提供される前に記憶装置２０に記憶されるか又はサーバ１２によって一時的に記憶されることができる。中間表現１９は、ＪＳＯＮフォーマットなどのシリアル化されたデータ構造とすることができるが、他の種類のデータ構造も可能である。中間表現の他のフォーマットも可能である。例えば、表現１９は画像とすることができる。さらに他のフォーマットも可能である。
【００２１】
必要に応じて、閲覧シミュレータ１２はまた、後述するように、第三者の追跡エンティティにリンクされていない広告など、中間表現１９に追加される追加のビジュアルコンポーネントを作成することもできる。閲覧シミュレータ１８は、追加のビジュアルコンポーネント及びレンダリングされたウェブページ１６から回復されたビジュアルコンポーネントを合成し、合成されたコンテンツを使用して中間表現１９を作成する。追加の要素が閲覧シミュレータ１８によって取得されなかった場合、閲覧シミュレータ１８は、レンダリングからビジュアルコンポーネントのみを使用して中間表現１９を作成することによってウェブページ１６を再構成する。閲覧シミュレータ１８は、ユーザに対してウェブページ１６のサニタイズバージョンをレンダリングするために中間表現１９を使用するブラウザ１５を用いてインターネットワークを介して中間表現１９をユーザに関連付けられたコンピューティング装置１４に提供する。それゆえに、ユーザには、第三者の追跡エンティティによる追跡に対してユーザをさらすことなく所望のコンテンツが提示される。
【００２２】
プロキシサーバ１２はまた、これらのユーザに関連付けられたコンピューティング装置１４から受信した要求に基づいてユーザのプロファイル２３を作成して管理するプロファイルマネージャ２２を実行する。プロファイルマネージャ２２は、ユーザ関心、場所や年齢及び性別などの人口統計的情報などのプロファイル２３の一部を形成するユーザ特性を推測するために、ユーザが訪問したウェブページ、ウェブページ上でユーザが費やしたユーザの時間量、ユーザがクリックしたリンク及びそれらが行った検索などのユーザのトラフィックを分析する。他の情報は、プロファイル２３に含めることができる。これらのエンティティが監視することができるウェブページにおいてユーザのアクティビティの分離されたインスタンスのみをみる第三者の監視とは異なり、プロキシサーバ１２は、ネットワーク１１を介して行うためにユーザが選択したユーザのウェブ閲覧アクティビティの全てを分析することができ、それゆえに、ユーザの閲覧アクティビティのより完全な図に基づいて分析することができ、より信頼性の高いユーザプロファイル２３を得ることができる。しかしながら、ユーザプロファイルが第三者の追跡エンティティによって作成される場合とは異なり、ユーザは、コンピューティング装置１４を介してプロファイルマネージャ２２とインターフェース接続することができ、そのユーザのプロファイル２３における情報を編集することができ、それゆえに、インターネットワーク１３上に記憶され且つ広告などのコンテンツをユーザに配信するために使用される情報を制御することができる。ユーザ名及びパスワードなどのユーザのログイン情報は、ユーザプロファイル２３の一部として記憶されることができ、ユーザがシステム１０にログインすることができるようにするために使用されることができる。
【００２３】
ユーザプロファイル２３は、ユーザの個人情報を明らかにすることなくユーザにとって関心のある広告を取得するためにプロファイルマネージャ２２によって使用されることができる。それゆえに、例えば、特定の関心のある多数のユーザが編集されることができ、プロファイルマネージャ２２は、その関心対象の広告を配置したいエンティティに対してその数を提供することができる。プロファイルマネージャ２２は、広告を受信し、再構成されてサニタイズされたウェブページ１６をユーザに提示する前に中間表現１６にそれらを追加する。広告は、ルール１９にしたがってレンダリングされたウェブページ１６の特定の部分に表示されることができる。
【００２４】
図２を参照して以下にさらに記載されるように、プロファイルは、データベース記憶装置２０に記憶され且つシステム１０の管理者にアクセスできない場合、公開暗号化鍵などの暗号化鍵を使用して暗号化される。プロファイルは、ユーザがそのプロキシサーバ１２と相互作用するセッションを開始したときに記憶装置２０からプロキシサーバ１２の１つによって取得される。プロファイル２３は、ユーザに関連付けられたコンピューティング装置１４に記憶され且つコンピューティング装置１４がユーザのプロファイル２２を復号するためにサーバ１２に提供する秘密復号鍵などの他の鍵を使用して復号される。プロキシとのユーザのセッションの終了後、プロファイル２３は、サーバ１２によって再度暗号化され、記憶装置２０に記憶される。
【００２５】
１つの実施形態において、ネットワーク１１は、ワシントン州シアトルのＡｍａｚｏｎ．ｃｏｍ社によって提供されるＡｍａｚｏｎ  Ｅｌａｓｔｉｃ  Ｃｏｍｐｕｔｅ  Ｃｌｏｕｄ（ＥＣ２（登録商標））などのクラウドコンピューティング環境において実装されることができるが、他の実装が可能である。
【００２６】
少なくともプロキシサーバ１２、コンピューティング装置１４及びロードバランサ２４は、それぞれ、本願明細書において開示された実施形態を実施するための１つ以上のモジュールを含むことができる。モジュールは、従来のプログラミング言語においてソースコードとして書かれたコンピュータプログラム又はプロシージャとして実装されることができ、オブジェクト又はバイトコードとして中央処理装置によって実行するために提示される。あるいは、モジュールはまた、集積回路として又は読み出し専用メモリ構成要素に焼き付けされたハードウェアにおいて実装されることができ、サーバのそれぞれは、専用コンピュータとして動作することができる。例えば、モジュールがハードウェアとして実装される場合、その特定のハードウェアは、上述した計算及び通信を実行するように特化され、他のコンピュータは使用することができない。さらに、モジュールが読み出し専用メモリ構成要素に焼き付けられた場合、読み出し専用メモリを記憶するコンピュータは、他のコンピュータが実行できない上述した動作を実行するように特化される。ソースコード及びオブジェクト及びバイトコードの様々な実装は、フロッピーディスク、ハードドライブ、ディジタルビデオディスク（ＤＶＤ）、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）及び同様の記憶媒体などのコンピュータ読み取り可能な記憶媒体に保持されることができる。他の種類のモジュール及びモジュール機能は、他の物理ハードウェアコンポーネントとともに可能である。例えば、プロキシサーバ１２、ロードバランサ２４及びコンピューティング装置１４は、入力／出力ポート、ネットワークインターフェース及び不揮発性ストレージなどのプログラミング可能なコンピューティング装置にみられる他の構成要素を含むことができるが、他の構成要素も可能である。
【００２７】
インターネットの他の部分と相互作用するためのプロキシサーバ１２の使用は、ユーザのウェブ閲覧体験を豊かにするのに必要なユーザデータを学習しながらユーザのプライバシーを保護するのを可能とする。図２は、１つの実施形態にかかるプロキシベースのプライバシー保護のための方法３０を示すフロー図である。本方法は、図１のシステム１０上で実行されることができる。ユーザに関連付けられたコンピューティング装置１４は、以下に図３を参照してさらに記載されるように、分散プロキシ１２のネットワーク１１とのセッションを開始し、ユーザをネットワーク１１にログインさせる（ステップ３１）。ターゲットウェブページ１６を取得するためのユーザ要求がロードバランサに受信され、プロキシサーバ１２の１つにランダムに割り当てられる（ステップ３２）。プロキシサーバ１２は、ターゲットサーバ１７においてインターネットワーク１３を介してウェブページ１６にアクセスし（ステップ３３）、ターゲットサーバから受信したクッキーを記憶する（ステップ３４）。プロキシサーバ１２は、図１を参照して上述したように、アクセスされたウェブページ１６を解析し、解析されたコードに基づいてウェブページ１６をレンダリングし、ウェブページのビジュアルコンポーネントを特定して回復し（ステップ３５）、それゆえに、ウェブページがユーザに提示される前に第三者の追跡を可能とする要素からウェブページをサニタイズする。ユーザプロファイル２３が利用可能である場合（ステップ３６）、広告のためのビジュアルコンポーネントなどの追加の要素が取得される（ステップ３７）。ユーザがはじめてネットワーク１１を利用する場合など、ユーザプロファイル情報が利用可能でない場合（ステップ３６）、方法３０はステップ３８に移行する。図１を参照してさらに上述したように、ルール１９にしたがって、サニタイズされたビジュアルコンポーネント及び利用可能である場合には追加のビジュアルコンポーネントを使用して追跡要素なしで再構成されたウェブページ１６の中間視覚的表現１９が作成される（ステップ３８）。構成された中間表現１９がユーザに提供される（ステップ３９）。以下に図３を参照してさらに記載されるように、ユーザのプロファイル２３が管理される（ステップ４０）。プロファイルの管理はまた、方法３０の異なる時点で実行されることもできる。例えば、ユーザは、以下に図３を参照してさらに記載されるように、ターゲットウェブページについての要求を作成する前にプロファイルを編集することができる。ユーザがシステム１０にログインしたままである場合（ステップ４１）、方法はステップ３２に戻る（ステップ４１）。ユーザがログアウトするか又はネットワーク１１を介してウェブ閲覧のセッションを終了する要望を示す場合（ステップ４１）、以下に図５を参照してさらに記載されるように、セッションは終了し（ステップ４２）、方法３０を終了する。
【００２８】
セキュアなウェブ閲覧セッションを開始するために、いくつかのイベントが発生する必要がある。図３は、１つの実施形態にかかる図２の方法３０において使用するためのセキュアなウェブ閲覧セッションを開始するためのルーチンを示すフロー図５０である。コンピューティング装置のウェブブラウザにおけるプラグインを介して又はバランサ２４を指すようにブラウザ１５を構成することによってインターネットワーク１３を介して分散ネットワーク１１上のコンピューティング装置１４とロードバランサ２４との間に接続が確立される（ステップ５１）。接続を確立する間に、コンピューティング装置１４は、ユーザ名及びパスワードなどの認証情報をプロキシサーバ１２に提供し、プロキシサーバ１２がユーザの身元を認証するのを可能とする。接続を確立すると、必要に応じて、ユーザが以前にシステム１０と相互作用した場合、コンピューティング装置１４は、そのユーザについてのユーザプロファイル２３を復号するための秘密復号鍵を要求が割り当てられたロードバランサ又はプロキシサーバ１２に提供する（ステップ５２）。そして、プロキシサーバ１２は、ユーザのプロファイル２３を取得し、鍵を使用してプロファイル２３を復号し、追加のコンテンツを取得するための変更及び使用のためにプロファイル２３を利用可能とし（ステップ５３）、ルーチン５０を終了する。
【００２９】
上述したように、ユーザとしてのプロファイル２２は、方法３０の実行中に複数のインスタンスにおいて更新及び編集されることができ、より多くのユーザトラフィックが利用可能となったとき及びユーザがプロファイルに対する変更を実施したときにプロファイルを更新するのを可能とする。図４は、図２の方法において使用するための１つの実施形態にかかるユーザプロファイルを管理するためのルーチン６０を示すフロー図である。ユーザが要求するページ、ページ上でユーザが費やした時間量、ユーザが行った検索及びユーザがクリックしたリンクなどのユーザのウェブトラフィックは、関心及び人口統計情報などのユーザの特性を特定するために分析されるが（ステップ６１）、さらに他の特性も可能である。特性は、ユーザのプロファイル２３の一部として記憶される（ステップ６２）。必要に応じて、ユーザは、ネットワーク１１に接続することができ、プロファイルに記録された特性を変更すること、削除すること及び追加することを含むことができるそのユーザのプロファイル２３を編集することができるが（ステップ６３）、他の種類の編集はルーチン６０を終了することが可能である。
【００３０】
ユーザが通信を終了することを望むと、ユーザのプロファイルにおける情報は、潜在的に許可されていない使用から保護される必要がある。図５は、１つの実施形態にかかる図２の方法３０において使用するためのセキュアなウェブ閲覧セッションを終了するためのルーチン７０を示すフロー図である。ユーザのプロファイルは、公開暗号化鍵を使用してプロキシサーバ１２によって暗号化され（ステップ７１）、プロキシサーバ１２によって記憶装置１２に記憶される（ステップ７２）。必要に応じて、セッションが、ユーザがシステム１０を利用する初回である場合、プロキシサーバ１０は、後続のセキュア閲覧セッション中に利用されることができる秘密復号鍵をコンピューティング装置１４に提供する（ステップ７３）。プロキシサーバ１２は、秘密復号鍵を記憶せず、ユーザプロファイルをシステム１０の管理者にアクセス不可能とする。コンピューティング装置への接続は終了し、ルーチン７０を終了する。
【図１】
0006768560.tif 000002
【図２】
0006768560.tif 000003
【図３】
0006768560.tif 000004
【図４】
0006768560.tif 000005
【図５】
0006768560.tif 000006