特許第6768560号(P6768560)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パロ アルト リサーチ センター インコーポレイテッドの特許一覧

特許6768560プロキシベースのプライバシー保護のためのシステム及び方法
<>
  • 特許6768560-プロキシベースのプライバシー保護のためのシステム及び方法 図000002
  • 特許6768560-プロキシベースのプライバシー保護のためのシステム及び方法 図000003
  • 特許6768560-プロキシベースのプライバシー保護のためのシステム及び方法 図000004
  • 特許6768560-プロキシベースのプライバシー保護のためのシステム及び方法 図000005
  • 特許6768560-プロキシベースのプライバシー保護のためのシステム及び方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6768560
(24)【登録日】2020年9月25日
(45)【発行日】2020年10月14日
(54)【発明の名称】プロキシベースのプライバシー保護のためのシステム及び方法
(51)【国際特許分類】
   G06F 16/904 20190101AFI20201005BHJP
   G06F 21/62 20130101ALI20201005BHJP
【FI】
   G06F16/904
   G06F21/62 363
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2017-37722(P2017-37722)
(22)【出願日】2017年2月28日
(65)【公開番号】特開2017-168096(P2017-168096A)
(43)【公開日】2017年9月21日
【審査請求日】2020年2月27日
(31)【優先権主張番号】15/069,755
(32)【優先日】2016年3月14日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100088694
【弁理士】
【氏名又は名称】弟子丸 健
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】マイケル・ロバーツ
【審査官】 原 秀人
(56)【参考文献】
【文献】 特開2006−185250(JP,A)
【文献】 特表2002−530700(JP,A)
【文献】 特開2002−132646(JP,A)
【文献】 特開2003−108462(JP,A)
【文献】 米国特許出願公開第2002/0138331(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
プロキシベースのプライバシー保護のためのシステムにおいて、
1つ以上のプロキシサーバであって、前記プロキシサーバのそれぞれが、プログラムコードを含むコンピュータ読み取り可能な記憶媒体、及び前記記録媒体と結合したコンピュータプロセッサを含むプロキシサーバを備え、前記プロキシサーバは、前記コードを実行して
ユーザに関連付けられた少なくとも1つのコンピューティング装置から、少なくとも1つのターゲットサーバに記憶されたウェブページを提供するための1つ以上の要求を受信し、ここで、前記少なくとも1つのコンピューティング装置は要求された前記ウェブページのそれぞれの視覚的レンダリングを表示するように構成されていることと、
前記要求のそれぞれについて、前記ターゲットサーバから前記要求されたウェブページを取得することと
前記取得されたウェブページのそれぞれについて、前記ウェブページを1つ以上の要素に解析し、前記解析された要素の1つ以上に基づいて前記ウェブページの視覚的レンダリングを作成し、前記視覚的レンダリングが表示されるときに前記視覚的レンダリングに存在する、少なくとも1つのテキスト及び少なくとも1つの画像を含む、前記視覚的レンダリングにおける前記ウェブページのビジュアルコンポーネントを特定することと
前記解析されたウェブページのそれぞれについて、そのウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの1つ以上を用いずに再構成された前記解析されたウェブページのバージョンの表現を、前記ウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの1つ以上を使用して作成することと
前記表現のそれぞれについて、前記コンピューティング装置に前記表現を前記プロキシサーバの1つによって提供ここで、前記コンピューティング装置、そのウェブページについての前記表現を使用して前記ビジュアルコンポーネントの1つ以上を含む前記ウェブページの前記再構成されたバージョンを表示するものであり、表示された再構成された前記バージョンは前記ウェブページの前記視覚的表現と異なるものであることと、
前記要求されたウェブページを分析することと
前記分析に基づいて前記ユーザの1つ以上の特性を導出することと
前記導出された特性を含む前記ユーザのプロファイルを生成することと
前記プロキシサーバにインターフェース接続された記憶装置に前記プロファイルを記憶することと、
を含むステップを実行させる、システム。
【請求項2】
記要求のそれぞれを受信し、前記要求のそれぞれを前記プロキシサーバにランダムに割り当てるように構成されたロードバランサをさらに備える、請求項1に記載のシステム。
【請求項3】
前記再構成されたウェブページに存在しない前記1つ以上の解析された要素が追跡要素を含む、請求項1に記載のシステム。
【請求項4】
前記ステップは、さらに、
前記ユーザプロファイルを記憶する前に前記ユーザプロファイルを暗号化することと
前記コンピューティング装置から復号鍵を受信することと
前記鍵の受信時に前記鍵を使用して前記ユーザプロファイルを復号することと、を含む、請求項に記載のシステム。
【請求項5】
プロキシベースのプライバシー保護のための方法において、
少なくとも1つのターゲットサーバに記憶されたウェブページを提供するために、ユーザに関連付けられた少なくとも1つのコンピューティング装置からの1つ以上の要求を、1つ以上のプロキシサーバによって受信し、ここで、前記少なくとも1つのコンピューティング装置は要求された前記ウェブページのそれぞれの視覚的レンダリングを表示するように構成されていることと、
前記要求のそれぞれについて、前記ターゲットサーバから前記要求されたウェブページを前記プロキシサーバの1つによって取得することと、
前記取得されたウェブページのそれぞれについて、前記プロキシサーバの1つによって前記ウェブページを1つ以上の要素に解析し、前記解析された要素の1つ以上に基づいて前記ウェブページの視覚的レンダリングを作成し、前記視覚的レンダリングが表示されるときに前記視覚的レンダリングに存在する、少なくとも1つのテキスト及び少なくとも1つの画像を含む、前記視覚的レンダリングにおける前記ウェブページのビジュアルコンポーネントを特定することと、
前記解析されたウェブページのそれぞれについて、そのウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの1つ以上を用いずに再構成された前記解析されたウェブページのバージョンの表現を、前記ウェブページについての前記視覚的レンダリングにおいて特定された前記ビジュアルコンポーネントの1つ以上を使用して前記プロキシサーバによって作成することと、
前記表現のそれぞれについて、前記コンピューティング装置に前記表現を前記プロキシサーバの1つによって提供ここで、前記コンピューティング装置、そのウェブページについての前記表現を使用して前記ビジュアルコンポーネントの1つ以上を含む前記ウェブページの前記再構成されたバージョンを表示するものであり、表示された再構成された前記バージョンは前記ウェブページの前記視覚的表現と異なるものであることと、
前記要求されたウェブページを分析することと、
前記分析に基づいて前記ユーザの1つ以上の特性を導出することと、
前記導出された特性を備える前記ユーザのプロファイルを作成することと、
前記プロキシサーバにインターフェース接続された記憶装置に前記プロファイルを記憶することと
を含む、方法。
【請求項6】
記要求のそれぞれがロードバランサによって受信され、さらに、
前記ロードバランサによって前記プロキシサーバに対して前記要求をランダムに割り当てることを備える、請求項に記載の方法。
【請求項7】
前記再構成されたウェブページに存在しない前記1つ以上の解析された要素が追跡要素を備える、請求項に記載の方法。
【請求項8】
さらに、
前記ユーザプロファイルを記憶する前に前記ユーザプロファイルを暗号化することと、
前記コンピューティング装置から復号鍵を受信することと、
前記鍵を受信すると前記鍵を使用して前記ユーザプロファイルを復号することとを備える、請求項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許出願は、一般に、オンライン通信中におけるプライバシー及びセキュリティを提供することに関し、より具体的には、プロキシベースのプライバシー保護のためのシステム及び方法に関する。
【背景技術】
【0002】
オンライン中にプライバシーを保護することは、ますます多くのエンティティがオンラインアクティビティを監視しようとするのにともない達成するのがますます困難になるという目標である。例えば、カリフォルニア州マウンテンビューのGoogle(登録商標)社によって運営されるAdsense(登録商標)及びDoubleClick(登録商標)などのインターネット広告サービスプロバイダは、これらのサービスプロバイダの広告を特徴とするウェブページへの訪問者のアクティビティを追跡する。そのような追跡は、大抵の場合、ウェブページに埋め込まれ且つ埋め込みオブジェクトを受信するコンピュータのインターネットプロトコル(「IP」)アドレス、オブジェクトが閲覧された時刻及び時間の長さ、ブラウザの種類などの情報を取得するために訪問者のウェブブラウザと相互作用する小さい画像又はコードの一部などの技術を使用して行われる。さらに、以前に設定されたクッキー値は、訪問者の閲覧履歴に関する情報を提供することができる。さらにまた、追跡エンティティは、ユーザが電子メールサービスなどのエンティティに関連するサービスを利用する場合、インターネットユーザに関する追加情報を取得することができる。さらに、追跡された情報は、ユーザの位置及び身元を発見するために分析されることができる。
【0003】
追跡エンティティは、大抵の場合、ユーザにターゲット広告を提示するために使用するユーザのプロファイルを作成するためにユーザに関するデータをプールする。一般に、ユーザは、追跡エンティティが自己について編集した情報を制御する方法を有さず、この情報がどのように記憶されて保護されるのかに関与しない。さらに、米国において、ユーザプロファイルの保護方法に関する政府の規制が緩慢であり、プライバシーの広範な侵害や、ユーザの閲覧履歴、IPアドレス、個人の健康情報、嗜好、場所及び身元などの個人情報の公開の可能性を生じている。
【0004】
既存の技術は、そのようなオンライン追跡によってもたらされるユーザのプライバシー及びセキュリティに対する脅威に適切に対処していない。例えば、DuckDuckGo.comは、検索を実行しているユーザを追跡せず且つ特定の検索キーワードに対して同じ結果を全てのユーザに表示するインターネット検索エンジンである。検索は安全であるが、ユーザが検索結果へのアクセスを開始すると、ユーザのアクティビティは、追跡エンティティによって監視されることができる。
【0005】
同様に、HideMyAss!(商標)は、ユーザが自己のIPアドレスを明らかにすることなくウェブページを訪問することを可能とする使用が有料のウェブプロキシを提供するサービスである。しかしながら、本サービスの使用は、現在のページパーソナライゼーションコードを妨害し、ターゲット広告がユーザに表示されなくなる。ユーザが広告をみる機会を奪うことに加えて、サービスは、広告を表示することによって利益をあげることができず、サービスを利用する機会をユーザに与えなければならない。
【0006】
同様に、マサチューセッツ州ウォルポールのTor Project社によって後に開発された匿名化サービスTor(商標)(以前の「オニオンルータ」の頭字語)は、複数のノードを介して、ユーザのインターネットトラフィックをルーティングすることにより、ユーザのIPアドレス、場所及びインターネットアクティビティを隠蔽する。レイヤード暗号化は、各ノードにおいて使用される。TORの使用は、いくつかの複雑要素を有する。まず、Tor(商標)サービスは、使用されているアプリケーションの高度な知識又はユーザのウェブ閲覧習慣の変更を行うための意欲を必要とする。例えば、Tor(商標)サービスを使用することは、ユーザがTor(商標)サービスを介してトラフィックをルーティングするように自己のコンピューティング装置上の各オンラインアプリケーションを設定するか又はTor(商標)サービスのウェブブラウザを使用することを必要とする。さらにまた、いくつかのアプリケーションは、Tor(商標)サービスによって使用されるように構成されることができず、それゆえに、ユーザは、全てのインターネットトラフィックをプライベートに保つことができないことがある。さらに、TORは、政府機関などの国家主体による監督に抵抗するように設計されており、悪名高いシルクロードオンライン闇市場や他のダークウェブ違法ウェブサイトの運営などの違法行為に以前は使用されていた。ユーザは、不正なアクティビティとサービスの関連付けに起因してTor(商標)を利用するには消極的であることがある。
【0007】
最後に、AdBlock(商標)などのブラウザプラグインは、ターゲットウェブページがユーザに表示されたときに広告がダウンロードされるのを阻止する。しかしながら、そのようなサービスは、ユーザのウェブブラウザクッキーの通常の相互作用を妨害し、ユーザのインターネット閲覧体験に悪影響を及ぼし得る。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、ユーザのウェブ閲覧体験及びターゲット広告を受信する能力に悪影響を及ぼすことなく、インターネットユーザの個人情報の制御されない収集及び配信を防止する方法が必要とされている。
【0009】
インターネットを閲覧中のユーザのプライバシーは、プロキシサーバの分散ネットワークを使用した介入者攻撃を無効にすることによって維持されることができる。プロキシサーバは、関心のあるウェブページをユーザにロードするためのユーザ要求を受信し、ターゲットサーバからターゲットウェブページを取得することによってユーザのウェブ閲覧アクティビティをシミュレートする。プロキシサーバは、取得されたウェブページからユーザを追跡するために使用されることができる要素を削除し、追跡要素なしでウェブページの再構成されたバージョンの表現を生成する。再構成されたウェブページの表現は、ユーザのコンピューティング装置に提供されることができる。ターゲットサーバと相互作用することにより、プロキシサーバは、ユーザのコンピューティング装置がターゲットサーバによって追跡されることを防止する。さらに、ユーザの閲覧アクティビティを観察することにより、プロキシサーバは、ユーザに提供されたコンテンツを補うために使用されることができるユーザのプロファイルを構築することができる。ユーザは、プロファイルを編集することができ、それゆえに、ネットワーク上の自己に関して記憶され且つ広告などのコンテンツをユーザに配信するために使用される情報を制御することができる。それゆえに、ユーザのプライバシーは、ユーザのウェブ閲覧体験を改善するためにユーザに関する詳細が学習される場合であっても保護されることができる。
【課題を解決するための手段】
【0010】
1つの実施形態において、プロキシベースのプライバシー保護のためのシステム及び方法が提供される。少なくとも1つのターゲットサーバに記憶されたウェブページを提供するためにユーザに関連付けられた少なくとも1つのコンピューティング装置からの1つ以上の要求が1つ以上のプロキシサーバを含むネットワークによって受信される。要求のそれぞれについて、要求されたウェブページは、プロキシサーバの1つによってターゲットサーバから取得される。取得されたウェブページのそれぞれについて、プロキシサーバの1つは、そのウェブページを1つ以上の要素に解析し、解析された要素の1つ以上に基づいてウェブページのレンダリングを作成し、レンダリングに存在するウェブページのビジュアルコンポーネントを特定する。解析されたウェブページのそれぞれについて、プロキシサーバの1つは、そのウェブページについてのレンダリングにおいて特定されたコンポーネントの1つ以上を使用して、そのウェブページについての解析された要素の1つ以上を用いずに再構成された解析されたウェブページの表現を作成する。再構成されたウェブページのそれぞれについて、プロキシサーバの1つは、再構成されたウェブページをコンピューティング装置に提供し、コンピューティング装置は、そのウェブページについての表現を使用してビジュアルコンポーネントの1つ以上を含むウェブページの再構成されたバージョンを表示する。
【0011】
本発明のさらに他の実施形態は、本発明を実施するために考えられる最良の形態を例示することによって本発明の実施形態が記載される以下の詳細な説明から当業者にとって容易に明らかになるであろう。理解されるように、本発明は、他の異なる実施形態が可能であり、そのいくつかの詳細は、本発明の精神及び範囲から逸脱することなく全て様々な自明な点において変更可能である。したがって、図面及び詳細な説明は、本質的に例示的であり、限定されるものではないとみなされるべきである。
【図面の簡単な説明】
【0012】
図1図1は、1つの実施形態にかかるプロキシベースのプライバシー保護のためのシステムを示すブロック図である。
図2図2は、1つの実施形態にかかるプロキシベースのプライバシー保護のための方法を示すフロー図である。
図3図3は、1つの実施形態にかかる図2の方法において使用するためのセキュアなウェブ閲覧セッションを開始するためのルーチンを示すフロー図である。
図4図4は、1つの実施形態にかかる図2の方法において使用するための1つの実施形態にかかるユーザプロファイルを管理するためのルーチンを示すフロー図である。
図5図5は、1つの実施形態にかかる図2の方法において使用するためのセキュアなウェブ閲覧セッションを終了するためのルーチンを示すフロー図である。
【発明を実施するための形態】
【0013】
ユーザのオンラインプライバシーが一般的に攻撃される1つの方法は、ユーザがアクセスしたいウェブページを維持するサーバなどのターゲットエンティティとのユーザの通信を追跡エンティティが直接傍受しようとしている介入者攻撃の使用によるものである。攻撃の間、プロキシは、証明書及び他の識別情報によってターゲットエンティティを偽装し、ユーザがターゲットエンティティと通信していると考えるように騙す。プロキシは、後に使用するための暗号化鍵、パスワード及び関連情報など、ユーザの個人情報を収集しながら、ターゲットエンティティからユーザにトラフィックを渡す。
【0014】
介入者攻撃は、ユーザのプライバシーを維持して保護するように無効にすることができる。図1は、1つの実施形態にかかるプロキシベースのプライバシー保護のためのシステム10を示すブロック図である。システム10は、複数のプロキシサーバ12の分散ネットワーク11を含む。ネットワーク内の全てのサーバ12は、インターネット又はセルラーネットワークなどのインターネットワーク13に接続される。ネットワーク11は、さらに、専用サーバとしてハードウェアに実装されることができるか又はプロキシサーバ12若しくは他のコンピューティング装置の一方上でソフトウェアとして実行されるロードバランサ24を含む。
【0015】
インターネットユーザに関連付けられたコンピューティング装置14は、インターネットワーク13を介してネットワーク11と相互作用することができ、特定のターゲットウェブページ16をロードするための要求によってロードバランサ24にコンタクトすることができる。コンタクトは、コンピューティング装置14上で実行されるウェブブラウザ15の一部であるプラグインを介して行うことができる。あるいは、ユーザは、ロードバランサ24を指すようにブラウザ15を構成することができる。さらなる実施形態において、ロードブラウザを指す代わりに、プラグインは、プロキシサーバ12の1つを直接指すことができる。プラグインは、接続するプロキシ12をランダムに選択することができ、それゆえに、エントリポイントをランダム化することができる。コンピューティング装置14は、図1を参照してデスクトップコンピュータとして示されているが、スマートフォン、ラップトップ、タブレットなどの他の種類のコンピューティング装置14もまた可能であり、さらに他の種類のコンピューティング装置も可能である。
【0016】
ターゲットウェブページ16は、HTMLコード又は他のマークアップ言語におけるコードなどのコンピュータ実行可能コードを含むファイルとしてターゲットサーバ17に記憶される。ブラウザ上でウェブページビジュアルをレンダリングするために必要なコードに加えて、ファイル内のコードはまた、他のサーバに接続してユーザの追跡を可能とする追跡オブジェクト又は他の動的要素を含むこともできる。コンピューティング装置14のユーザが特定のターゲットウェブページ16を取得したいとき、従来行われるように、ターゲットウェブページ16をホスティングするサーバ17に直接コンタクトする代わりに、コンピューティング装置14は、分散ネットワーク11におけるプロキシサーバ12の1つに要求を割り当てるロードバランサ24に対してウェブページ16についての要求を送信する。要求は、プロキシサーバ12に対してランダムに割り当てられるが、要求を割り当てる他の方法も可能である。そのような要求は、ターゲットウェブページ17のURLを含むことができるが、他の識別情報もまた可能である。要求はまた、ウェブページについてのユーザのログイン情報などの他の情報も含むことができる。
【0017】
プロキシサーバ12のそれぞれは、要求を受信し、ターゲットサーバ17と相互作用するときにコンピューティング装置14のアクティビティをシミュレートする閲覧シミュレータ18を実行する。特に、ブラウザシミュレータ18は、ターゲットサーバ17にコンタクトし、そのサーバ17からウェブページ16を取得する。ターゲットサーバ16にコンタクトするプロキシサーバ12は、コンピューティング装置14のIPアドレスとは異なるIPアドレスを有するため、ターゲットサーバ17は、コンタクト中にコンピューティング装置14のIPアドレスを学習しない。さらに、コンピューティング装置14は、ランダムに選択された異なるプロキシサーバ12の異なる要求に対して異なるものを使用するため、異なる要求の実行中にターゲットサーバ17によって観察可能なIPアドレスもまた変化し、それゆえに、ターゲットサーバ17は、閲覧アクティビティが特定のIPアドレスに結び付くのを防止する。
【0018】
ターゲットウェブページ17を取得することに加えて、閲覧シミュレータは、コンピューティング装置14が通常行うのと同じ方法でターゲットサーバ17と相互作用する。例えば、閲覧シミュレータ18は、ターゲットサーバ17からクッキーを受信して記憶することができる。さらに、シミュレータ18は、追跡オブジェクト及び他の動的要素などのターゲットウェブページ内の埋め込みオブジェクトの全てをヒットし、ターゲットサーバ17がユーザのコンピューティング装置に関する情報を明らかにせずにプロキシサーバ17を追跡するのを可能とする。
【0019】
ターゲットウェブページ16の取得時及びコンピューティング装置14に対するウェブページ16の提供前に、閲覧シミュレータ18は、ユーザ又は広告を追跡するために使用されることができるウェブページ16の要素などの特定の望ましくない要素を取り除くことによってウェブページ16を「サニタイズする」。極端な場合、閲覧シミュレータ18は、ビットマップ画像などの画像又は画像のセットにページをレンダリングし、これらをクライアントに対して送信することができる。より一般的には、シミュレータ18は、ウェブページ16を構成するコードを解析し、通常のウェブブラウザのようにウェブページに埋め込まれたオブジェクトをヒットし、ウェブページ16をレンダリングする。レンダリングされたウェブページ16から、シミュレータ18は、ウェブページ16のビジュアルコンポーネント(ユーザがウェブブラウザ15を介してウェブページ16に直接アクセスした場合、ウェブブラウザ15のユーザにとっては視覚的であろうコンポーネント)を回復する。少なくともいくつかのビジュアルコンポーネントに基づいて、シミュレータ18は、追跡オブジェクト又は他の望ましくないコンテンツ(望ましくない広告に対応するビジュアルコンポーネントなど)を含まないように再構成されたウェブページ16の中間視覚的表現19を作成する。シミュレータ18によってウェブブラウザ15に提供されると、レンダリングされた表現19は、ウェブブラウザが(シミュレータ18によって削除されたコンテンツを除き)ターゲットサーバ17から直接にウェブページ16にアクセスした場合に視覚的であろうウェブページ16の全てのコンポーネントをウェブブラウザ15が表示するのを可能とする。追跡オブジェクトは、表現19に含まれないため、それらは、ウェブブラウザ15が表現を受信したときにコンピューティング装置14のアクティビティのユーザのアクティビティを追跡することができない。
【0020】
そのような中間表現19は、(削除されたコンテンツを有しない)ウェブページ16の画像を含むことができる。他の中間表現19も可能である。例えば、中間表現19は、ウェブページ16又は表示ツリーをレンダリングするための表示リストを含むことができる。ページの視覚化を可能とするさらに他の中間表現が可能である。中間表現は、コンピューティング装置14に提供される前に記憶装置20に記憶されるか又はサーバ12によって一時的に記憶されることができる。中間表現19は、JSONフォーマットなどのシリアル化されたデータ構造とすることができるが、他の種類のデータ構造も可能である。中間表現の他のフォーマットも可能である。例えば、表現19は画像とすることができる。さらに他のフォーマットも可能である。
【0021】
必要に応じて、閲覧シミュレータ12はまた、後述するように、第三者の追跡エンティティにリンクされていない広告など、中間表現19に追加される追加のビジュアルコンポーネントを作成することもできる。閲覧シミュレータ18は、追加のビジュアルコンポーネント及びレンダリングされたウェブページ16から回復されたビジュアルコンポーネントを合成し、合成されたコンテンツを使用して中間表現19を作成する。追加の要素が閲覧シミュレータ18によって取得されなかった場合、閲覧シミュレータ18は、レンダリングからビジュアルコンポーネントのみを使用して中間表現19を作成することによってウェブページ16を再構成する。閲覧シミュレータ18は、ユーザに対してウェブページ16のサニタイズバージョンをレンダリングするために中間表現19を使用するブラウザ15を用いてインターネットワークを介して中間表現19をユーザに関連付けられたコンピューティング装置14に提供する。それゆえに、ユーザには、第三者の追跡エンティティによる追跡に対してユーザをさらすことなく所望のコンテンツが提示される。
【0022】
プロキシサーバ12はまた、これらのユーザに関連付けられたコンピューティング装置14から受信した要求に基づいてユーザのプロファイル23を作成して管理するプロファイルマネージャ22を実行する。プロファイルマネージャ22は、ユーザ関心、場所や年齢及び性別などの人口統計的情報などのプロファイル23の一部を形成するユーザ特性を推測するために、ユーザが訪問したウェブページ、ウェブページ上でユーザが費やしたユーザの時間量、ユーザがクリックしたリンク及びそれらが行った検索などのユーザのトラフィックを分析する。他の情報は、プロファイル23に含めることができる。これらのエンティティが監視することができるウェブページにおいてユーザのアクティビティの分離されたインスタンスのみをみる第三者の監視とは異なり、プロキシサーバ12は、ネットワーク11を介して行うためにユーザが選択したユーザのウェブ閲覧アクティビティの全てを分析することができ、それゆえに、ユーザの閲覧アクティビティのより完全な図に基づいて分析することができ、より信頼性の高いユーザプロファイル23を得ることができる。しかしながら、ユーザプロファイルが第三者の追跡エンティティによって作成される場合とは異なり、ユーザは、コンピューティング装置14を介してプロファイルマネージャ22とインターフェース接続することができ、そのユーザのプロファイル23における情報を編集することができ、それゆえに、インターネットワーク13上に記憶され且つ広告などのコンテンツをユーザに配信するために使用される情報を制御することができる。ユーザ名及びパスワードなどのユーザのログイン情報は、ユーザプロファイル23の一部として記憶されることができ、ユーザがシステム10にログインすることができるようにするために使用されることができる。
【0023】
ユーザプロファイル23は、ユーザの個人情報を明らかにすることなくユーザにとって関心のある広告を取得するためにプロファイルマネージャ22によって使用されることができる。それゆえに、例えば、特定の関心のある多数のユーザが編集されることができ、プロファイルマネージャ22は、その関心対象の広告を配置したいエンティティに対してその数を提供することができる。プロファイルマネージャ22は、広告を受信し、再構成されてサニタイズされたウェブページ16をユーザに提示する前に中間表現16にそれらを追加する。広告は、ルール19にしたがってレンダリングされたウェブページ16の特定の部分に表示されることができる。
【0024】
図2を参照して以下にさらに記載されるように、プロファイルは、データベース記憶装置20に記憶され且つシステム10の管理者にアクセスできない場合、公開暗号化鍵などの暗号化鍵を使用して暗号化される。プロファイルは、ユーザがそのプロキシサーバ12と相互作用するセッションを開始したときに記憶装置20からプロキシサーバ12の1つによって取得される。プロファイル23は、ユーザに関連付けられたコンピューティング装置14に記憶され且つコンピューティング装置14がユーザのプロファイル22を復号するためにサーバ12に提供する秘密復号鍵などの他の鍵を使用して復号される。プロキシとのユーザのセッションの終了後、プロファイル23は、サーバ12によって再度暗号化され、記憶装置20に記憶される。
【0025】
1つの実施形態において、ネットワーク11は、ワシントン州シアトルのAmazon.com社によって提供されるAmazon Elastic Compute Cloud(EC2(登録商標))などのクラウドコンピューティング環境において実装されることができるが、他の実装が可能である。
【0026】
少なくともプロキシサーバ12、コンピューティング装置14及びロードバランサ24は、それぞれ、本願明細書において開示された実施形態を実施するための1つ以上のモジュールを含むことができる。モジュールは、従来のプログラミング言語においてソースコードとして書かれたコンピュータプログラム又はプロシージャとして実装されることができ、オブジェクト又はバイトコードとして中央処理装置によって実行するために提示される。あるいは、モジュールはまた、集積回路として又は読み出し専用メモリ構成要素に焼き付けされたハードウェアにおいて実装されることができ、サーバのそれぞれは、専用コンピュータとして動作することができる。例えば、モジュールがハードウェアとして実装される場合、その特定のハードウェアは、上述した計算及び通信を実行するように特化され、他のコンピュータは使用することができない。さらに、モジュールが読み出し専用メモリ構成要素に焼き付けられた場合、読み出し専用メモリを記憶するコンピュータは、他のコンピュータが実行できない上述した動作を実行するように特化される。ソースコード及びオブジェクト及びバイトコードの様々な実装は、フロッピーディスク、ハードドライブ、ディジタルビデオディスク(DVD)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)及び同様の記憶媒体などのコンピュータ読み取り可能な記憶媒体に保持されることができる。他の種類のモジュール及びモジュール機能は、他の物理ハードウェアコンポーネントとともに可能である。例えば、プロキシサーバ12、ロードバランサ24及びコンピューティング装置14は、入力/出力ポート、ネットワークインターフェース及び不揮発性ストレージなどのプログラミング可能なコンピューティング装置にみられる他の構成要素を含むことができるが、他の構成要素も可能である。
【0027】
インターネットの他の部分と相互作用するためのプロキシサーバ12の使用は、ユーザのウェブ閲覧体験を豊かにするのに必要なユーザデータを学習しながらユーザのプライバシーを保護するのを可能とする。図2は、1つの実施形態にかかるプロキシベースのプライバシー保護のための方法30を示すフロー図である。本方法は、図1のシステム10上で実行されることができる。ユーザに関連付けられたコンピューティング装置14は、以下に図3を参照してさらに記載されるように、分散プロキシ12のネットワーク11とのセッションを開始し、ユーザをネットワーク11にログインさせる(ステップ31)。ターゲットウェブページ16を取得するためのユーザ要求がロードバランサに受信され、プロキシサーバ12の1つにランダムに割り当てられる(ステップ32)。プロキシサーバ12は、ターゲットサーバ17においてインターネットワーク13を介してウェブページ16にアクセスし(ステップ33)、ターゲットサーバから受信したクッキーを記憶する(ステップ34)。プロキシサーバ12は、図1を参照して上述したように、アクセスされたウェブページ16を解析し、解析されたコードに基づいてウェブページ16をレンダリングし、ウェブページのビジュアルコンポーネントを特定して回復し(ステップ35)、それゆえに、ウェブページがユーザに提示される前に第三者の追跡を可能とする要素からウェブページをサニタイズする。ユーザプロファイル23が利用可能である場合(ステップ36)、広告のためのビジュアルコンポーネントなどの追加の要素が取得される(ステップ37)。ユーザがはじめてネットワーク11を利用する場合など、ユーザプロファイル情報が利用可能でない場合(ステップ36)、方法30はステップ38に移行する。図1を参照してさらに上述したように、ルール19にしたがって、サニタイズされたビジュアルコンポーネント及び利用可能である場合には追加のビジュアルコンポーネントを使用して追跡要素なしで再構成されたウェブページ16の中間視覚的表現19が作成される(ステップ38)。構成された中間表現19がユーザに提供される(ステップ39)。以下に図3を参照してさらに記載されるように、ユーザのプロファイル23が管理される(ステップ40)。プロファイルの管理はまた、方法30の異なる時点で実行されることもできる。例えば、ユーザは、以下に図3を参照してさらに記載されるように、ターゲットウェブページについての要求を作成する前にプロファイルを編集することができる。ユーザがシステム10にログインしたままである場合(ステップ41)、方法はステップ32に戻る(ステップ41)。ユーザがログアウトするか又はネットワーク11を介してウェブ閲覧のセッションを終了する要望を示す場合(ステップ41)、以下に図5を参照してさらに記載されるように、セッションは終了し(ステップ42)、方法30を終了する。
【0028】
セキュアなウェブ閲覧セッションを開始するために、いくつかのイベントが発生する必要がある。図3は、1つの実施形態にかかる図2の方法30において使用するためのセキュアなウェブ閲覧セッションを開始するためのルーチンを示すフロー図50である。コンピューティング装置のウェブブラウザにおけるプラグインを介して又はバランサ24を指すようにブラウザ15を構成することによってインターネットワーク13を介して分散ネットワーク11上のコンピューティング装置14とロードバランサ24との間に接続が確立される(ステップ51)。接続を確立する間に、コンピューティング装置14は、ユーザ名及びパスワードなどの認証情報をプロキシサーバ12に提供し、プロキシサーバ12がユーザの身元を認証するのを可能とする。接続を確立すると、必要に応じて、ユーザが以前にシステム10と相互作用した場合、コンピューティング装置14は、そのユーザについてのユーザプロファイル23を復号するための秘密復号鍵を要求が割り当てられたロードバランサ又はプロキシサーバ12に提供する(ステップ52)。そして、プロキシサーバ12は、ユーザのプロファイル23を取得し、鍵を使用してプロファイル23を復号し、追加のコンテンツを取得するための変更及び使用のためにプロファイル23を利用可能とし(ステップ53)、ルーチン50を終了する。
【0029】
上述したように、ユーザとしてのプロファイル22は、方法30の実行中に複数のインスタンスにおいて更新及び編集されることができ、より多くのユーザトラフィックが利用可能となったとき及びユーザがプロファイルに対する変更を実施したときにプロファイルを更新するのを可能とする。図4は、図2の方法において使用するための1つの実施形態にかかるユーザプロファイルを管理するためのルーチン60を示すフロー図である。ユーザが要求するページ、ページ上でユーザが費やした時間量、ユーザが行った検索及びユーザがクリックしたリンクなどのユーザのウェブトラフィックは、関心及び人口統計情報などのユーザの特性を特定するために分析されるが(ステップ61)、さらに他の特性も可能である。特性は、ユーザのプロファイル23の一部として記憶される(ステップ62)。必要に応じて、ユーザは、ネットワーク11に接続することができ、プロファイルに記録された特性を変更すること、削除すること及び追加することを含むことができるそのユーザのプロファイル23を編集することができるが(ステップ63)、他の種類の編集はルーチン60を終了することが可能である。
【0030】
ユーザが通信を終了することを望むと、ユーザのプロファイルにおける情報は、潜在的に許可されていない使用から保護される必要がある。図5は、1つの実施形態にかかる図2の方法30において使用するためのセキュアなウェブ閲覧セッションを終了するためのルーチン70を示すフロー図である。ユーザのプロファイルは、公開暗号化鍵を使用してプロキシサーバ12によって暗号化され(ステップ71)、プロキシサーバ12によって記憶装置12に記憶される(ステップ72)。必要に応じて、セッションが、ユーザがシステム10を利用する初回である場合、プロキシサーバ10は、後続のセキュア閲覧セッション中に利用されることができる秘密復号鍵をコンピューティング装置14に提供する(ステップ73)。プロキシサーバ12は、秘密復号鍵を記憶せず、ユーザプロファイルをシステム10の管理者にアクセス不可能とする。コンピューティング装置への接続は終了し、ルーチン70を終了する。
図1
図2
図3
図4
図5