Torルーターを使用して通常のインターネットを閲覧する場合、トラフィックは出口ノードを介してTorネットワークを離れる必要があります。どうやら出口ノードは最初に送信されたデータを見ることができます。
Tor では、ユーザー(あなた)は、そのデータ用にいくつかのノードを通るランダムパスを選択します。パスの最初のノードはあなたのIPアドレスを知っていますが、あなたが何をどこに送信するかは知りません。最後のノード(「終了ノード」)はターゲットサーバーのアドレスを認識し、データを確認します(もちろん [〜#〜] ssl [〜#〜] が使用されている場合を除く)が、IPアドレスは認識されません。パス内のすべてのノードは、パス内の前のノードと次のノードのアドレスのみを認識しています。
政府がTorのプライバシーを解明することに専念している場合、その最大のチャンスは、多くのノードをセットアップして操作することです(もちろん、notは「友好的な政府によって提供される」と言います)。コンピューターが政府が管理するノードで始まるパスをランダムに選択する場合andは、別の政府が管理するノードで終わる場合、両方のノードがデータを簡単に関連付け、IPとターゲットサーバーの両方を明らかにできます( SSLがない場合はデータを送信します)。暗号化はデータのcontentsを隠しますが、lengthを隠さないため、相関は単純です。ノードAがIPからTorネットワークに入る4138バイトのリクエストを確認し、ノードBがTorネットワークを終了してサーバーwww.example.com
宛ての1秒以内に4138バイトのリクエストを確認する場合、ノードAとノードBは、データを照合することにより、your IPがwww.example.com
への通信に関与したと推測します。
敵対者が入口ノードと出口ノードの両方で盗聴したりハイジャックしたりしない場合、プライバシーが維持されることは簡単に証明できます。しかし、それらがdoの場合、プライバシーは正午の太陽の下で朝の霧のように蒸発します。
Torがどのように機能するかについては、次のWebサイトのブログ投稿の1つで説明されています。
http://security.blogoverflow.com/2012/04/tor-exploiting-the-weakest-link/
私はあなたにこの答えを指摘したいと思います here でTorがどのように機能するかを簡単に説明します。
出口ノードはデータがどこから発生したのか分かりません、これがTorの全体のポイントです。 Torの鍵は、Torネットワークを通過するデータが通過する暗号化の複数のレイヤーです。
一方、プロキシを使用すると、マシンとプロキシサーバー間の直接接続が必要になります。プロキシを危険にさらすと、誰がそのプロキシに接続しているかがすぐに明らかになる可能性があります。
これについてはすでに回答済みですが、重要な詳細の多くは省略されています。
オニオンルーティングの仕組み
オニオンルーティングは、各接続が異なるルートになるように、パスがサーバーのクラスターを介してランダムに選択される匿名技術です。ガード、ミドル、出口の特定のリレーは、Torクライアントによってランダムに選択されます。ガードから終了までのパスはcircuitと呼ばれ、Torクライアントはこれを記憶しています。ガードは一度選択され、長期間同じままです(以下で説明します)。中間と出口は定期的に(10分に1回、または新しい接続が確立されたときに)変更されます。予測できないパスと多数のリレーから選択すると、匿名性が大幅に向上します。
(ソース: torproject.org )
Tor経由でデータを送信する場合、データは3つのキーで暗号化されます。各層は、使用される後続のリレーを指定します(クライアントによってランダムに選択されます)。
これで、トラフィックは宛先に正常に送信されましたが、戻る必要があります。 Torリレーは、どのリレーがそのリレーと通信しているかをメモリに保持しているため、そのリレーから応答を受け取ったときに、どこに送信するかがわかります。このようにして、中間のリレーは、ガードが出口にデータを送信するように要求したことを知っており、それを覚えているので、同じ出口がデータを返すときに、ガードに転送できます。
これは オニオンルーティング の背後にある元の概念です。これはすべて1、2秒で発生します。
誰が何を見ることができますか?
Torの義務的なEFF図に誰もリンクしていないので、私は実際にこの答えを書きました。これは、関心のある各ポイントと、特定の敵が観察できるものを示しています。
リレーの観点からは、3つのことが当てはまります。
匿名性は、誰もあなたが誰であるかとあなたが何をしているかを知ることができないという事実から生じます。
Torに対するトラフィック分析攻撃
Torを使用して匿名化するためには、直接の攻撃(ソフトウェアの悪用、バックドアハードウェア、OPSECの失敗)がないと想定して、あなたが誰であるかを知っているエンティティと、何をしているかを知っているエンティティが共謀する必要があります。図では、その敵はNSAとしてラベル付けされています。黒い点線はデータの共有を示しています。つまり、正確なタイミング情報を使用して相関させることができます。これはトラフィック分析攻撃と呼ばれ、攻撃者が接続の両端を監視している場合のリスクです。 Torはそれを防御する能力が限られていますが、多くのトラフィックが混ざっているのでありがたいことにそれで十分です。以下のイベントのタイムラインを考慮してください。
203.0.113.42
_がt + 0でデータの512暗号化バイト(253非暗号化)を送信することを確認します。example.com
_が_/foo.html
_の253バイトのリクエストを受信することを確認します。example.com
_がt + 5で90146バイトの応答を送信するのを確認します。203.0.113.42
_がt + 9で90424暗号化バイト応答(90146非暗号化)を受信することを確認します。ISP1はあなたと警備員の間の任意のISPであり、ISP2は出口と宛先の間の任意のISPです。これらすべてを監視でき、ISP1とISP2が共謀する場合、十分な計算を行うと、IPアドレス203.0.113.42が_example.com/foo.html
_にアクセスしたと結論付けることができます。 Torはこれをいくつかの方法で難しくしています。まず、 永続的ガード は、ネットワークに多数の悪意のあるガードを追加することにより、敵がステップ1と4を観察できる可能性を減らします。次に、Torは cells それぞれ512バイトのトラフィックを送信します(または、少なくとも以前は使用されていました。 今は514バイト )なので、ステップ1では512バイトを送信しますが、ステップ2は、253バイトが受信されたことを示します。 3番目に、Torが通過するホップ数により、レイテンシのジッターが増加します。このため、後続の各タイムスタンプは、小さいがランダムな時間だけ異なります。これにより、同じ時間に同じ量のデータを転送する他の接続と、接続を区別するのが難しくなります。
トラフィック分析に依存するTorに対する多くの学術的攻撃がありましたが、それらは常に、待ち時間がすべて固定されて確定的である小さな世界を想定しています。これらは、すべてのネットワークがノイズに満ちている世界の実際のTorネットワークに適用されていないにもかかわらず、メディアで報道される傾向がある攻撃です。
プロキシに対するトラフィック分析攻撃
攻撃者はISP1とISP2の両方にアクセスできない可能性があるため、この種の攻撃はTorを阻止するのが困難です。たとえそうであっても、そのうちの1つのインフラストラクチャは、高解像度のタイムスタンプを記録するには不十分である可能性があり(たとえば、NetFlowレコードの粒度が低下しているため)、それらの内部クロックはわずかに異なる場合があります。ただし、プロキシを使用すると、この攻撃ははるかに簡単に阻止できます。これは、プロキシプロバイダーを完全に信頼している場合でも問題です。 ISP1がプロキシサービス自体のISPを表す、このイベントの別のタイムラインを検討してください。
203.0.113.42
_がt + 0で253バイトのデータを送信するのを見ます。example.com
_の253バイトのリクエストを_/foo.html
_に送信することを確認します。example.com
_がt + 2で90146バイトの応答を送信するのを確認します。203.0.113.42
_がt + 3で90146バイトの応答を受信することを確認します。この情報をすべてISP1に渡すことで、203.0.113.42が_example.com/foo.html
_を要求したと結論付けるのは非常に簡単になります。パディングはなく、ジッターは実質的にありません(遅延は、プロキシサービスが要求を内部で転送するのにかかる時間のみであるため)。このため、この単一のISPはあなたが誰であるかとあなたが何であるかしていることの両方を知っており、接続するだけです。彼らが同じ人から来ているという事実。シンプル。これは、しばしば大ざっぱな性質と貧弱な正直さの歴史が無視されている場合でも、プロキシの主な技術的な欠点です。
他の答えに追加