web-dev-qa-db-ja.com

トレントトラフィックを暗号化できないのはなぜですか?

この質問の目的は、P2Pの性質とネットワークおよびセキュリティ/暗号化について理解を深めることです。私はフロントエンドのWeb開発者であり、HTTP要求よりも低くなると、ネットワークスタックに関する私の知識はあまり良くありません。

そうは言っても、トレントトラフィックがどのようにISPによって「傍受」され、コンテンツが識別されるのかを理解しようとしています。この質問は私の無知を露呈すると思いますが、それほど読みにくいHTTPSのようなP2Pプロトコルを使用することはできませんか?

特定のパケットが途中でネットワークへの宛先を特定する必要があることを理解していますが、宛先に到達するまで誰もその目的を特定できないように、宛先のみを表示するようにトレントパケットを構成できませんでしたか?どうしてISPはP2Pトラフィックを調べてそれについてすべてを知ることができるが、SSHは非常に安全なのにどうして修正不可能な状況なのですか?

19

ここでのすべての答えは、質問の解釈が異なるようであり、暗号化の想定される目的が異なるようです。これをhttpsと比較すると、認証と機密性を求めているというのが理にかなっているようです。 「セキュリティ」のレベルを下げるいくつかの試みを列挙します。質問にbittorrentのタグを付けたため、これはbittorrent中心の回答です。

SSL

最強のシステムから始めて、SSLを介してbittorrentを実行することが可能です(多くのクライアントではサポートされていませんが、完全に制御された展開では実行できます)。これはあなたに与えます:

  1. 参加しているすべてのピアの認証
  2. スウォームルートで証明書に署名することにより、スウォームに入れるピアを選択する機能。
  3. すべてのピア接続+トラッカー接続のSSL暗号化

トラッカーはそれに接続しているすべてのピアを認証できますが、ピアリスト(または1つのピア)が漏洩または推測された場合でも、ピアツーピア認証があり、不正なアクセスをブロックします。

SSLを介したBitTorrentは 実装 および 展開 になりました。

暗号化された急流

BitTorrent( Torrent クライアント内)で、ディスクレイヤーでのトレントの対称暗号化のサポートを追加しました。ビットトレントエンジンのすべてが暗号化されたブロックで動作します。データの整合性チェック(sha-1個のハッシュ)は暗号化されたブロックに対して行われ、.torrentファイルには暗号化されたデータのハッシュが含まれます。このような暗号化された急流は、機能をサポートしていないクライアントと下位互換性がありますが、データにアクセスすることはできません(群れを手伝ってシードするだけです)。

暗号化されていない形式でtorrentをダウンロードするには、マグネットリンクに&key =引数を追加し、uTorrentがディスク境界でデータを復号化および暗号化します(ディスク上のデータはクリアなままにします)。キーなしでマグネットリンクを追加すると、暗号化されたデータが取得されます。

.torrentファイルのメタデータの一部を暗号化するなど、他にもいくつかの詳細が含まれています。ファイル一覧など.

これでは、参加するピアを選択することはできません。必要なピアへのアクセス権を付与できますが、それは対称鍵であるため、アクセス権を持つ誰もが他の人を招待したり、鍵を公開したりできます。マグネットリンクを見つけたときよりも強力な認証は行われません。

信頼されたピア間の機密性と、信頼されていないピアにシードを支援させる機能を提供します。

ビットトレントプロトコル暗号化

bittorrent protocol encryption はおそらく難読化としてよりよく説明されています。その主な意図は、スウォームへのアクセスを認証または制御することではありません(情報ハッシュから暗号化キーを取得するため、その秘密を保持できる場合は、そのプロパティを取得します)。主な目的は、単純なパッシブスヌーピングとトラフィックのシェーピングを回避することです。私の理解では、最近のトレントトラフィックとして識別されないようにするのは効果的ではありません。また、高度でアクティブな攻撃に対する弱い保護も提供します。たとえば、DHTが有効になっている場合、またはトラッカー接続が暗号化されていない場合は、キーである情報ハッシュについて簡単に知ることができます。

トラッカーがHTTPSを実行していると仮定すると、プライベートトレント(DHTとピア交換が無効になっている)の場合、明らかな穴はありません。ただし、私の経験では、httpsトラッカーが自己署名証明書を持っていること、およびクライアントがトラッカーを認証することは珍しいことではありません。つまり、トラッカーのDNSエントリを汚染するだけで、群れに入ることができます。

15
Arvid

トレントトラフィックcan暗号化され、ピアに接続する前に暗号化されたトンネルを介して別の国を経由してトラフィックをリダイレクトするために使用できるVPN/SOCKSプロキシがあります。そうは言っても、そのようなサービスを使用している場合でも、サイドチャネルを介してトラフィックをリークする多くの方法(DNSルックアップ、安全でないトラッカー、危険にさらされたノードなど)があり、ほとんどの人はすべての適切なセキュリティ/匿名性を理解するのに十分な知識がありません予防。さらに、暗号化を強制しているクライアントとのみ通信するように制限すると、接続できるピアの数が制限されます。

2
Oleg Vaskevich

検討している問題は、プライベートコンテキストにピアが2つしか存在しないポイントツーポイント暗号化と、パブリックコンテキストに無制限の数のピアが存在する場合の違いです。

いずれかのパブリックピアによる復号化は、どこかにプライマーがある場合にのみ有効です。すべてのパブリックピアが使用できる復号化キーです。 ISPから保護する場合、他の人の間でのみキーを共有するための排他的なプロトコルがない限り、ISPもそのキーにアクセスできます。これを行うのは現実的ではありません。

ポイントツーポイント接続では、TLSキーネゴシエーションにより、最終的に両方のピアで共有されるセッション暗号化キーが作成されます。キーは疑似ランダムでセッション固有です。この方法でインターネット上で共有されたデータは、キーネゴシエーションに参加しなかったクライアントには使用できなくなります。

1
Brian Topping

ビットトレントトラフィック(具体的には、データの大部分を転送するために使用されるピアピアプロトコル) 暗号化可能 。しかし、それは強力な機密性/認証の保証を提供しない種類の暗号化であり、HTTP2の opportunistic encryption に類似しています(ただし同一ではありません)

Client-Tracker通信はHTTPSで暗号化できます。

これらの2つのコンポーネントは、暗号化されていて、その内容がパッシブなオブザーバーに表示されない、制限されていますが、機能するbittorrentスタックを提供します。

ISPは、サイドチャネルデータ(パケットサイズ/トラフィックパターン、接続されたドメインなど)に基づいて、おそらくそれを「ビットトレント」として識別できる可能性がありますが、何が転送されているかは正確にはわかりません。

0
the8472