概要#
プライベートトラッカーは、追跡されているトレントへのアクセス権を制限するメカニズムです。その目的はリソース共有を促進し、登録ユーザーの統計情報を記録し、アップロードが不十分なユーザーに対して一部またはすべてのトレントへのアクセス権を制限することです。
メタ情報ファイルを生成する際、ユーザーはトレントのメタ情報ファイル(BitTorrent プロトコル仕様に従う)の "info" ディクショナリに "private=1" というキーバリューペアを含めることで、そのトレントがプライベートトラッカートレントであることを示すことができます。
BitTorrent クライアントが "private=1" キーバリューペアを含むメタ情報ファイルを取得すると、それはプライベートトラッカーにのみ報告し、プライベートトラッカーから返されたノードとのみ接続を確立する必要があります。
プライベートトラッカートレントのメタ情報ファイルには、"announce-list" に複数のトラッカーが含まれている場合(マルチトラッカーメタデータ拡張を参照)、ノードは同時に 1 つのトラッカーのみを使用し、現在のトラッカーが失敗した場合にのみ他のトラッカーに切り替えることができます。トラッカーを切り替える際、ノードは現在のすべてのノードとの接続を切断し、新しいトラッカーが提供するノードとのみ接続を確立する必要があります。
原理#
プライベートトラッカーはノードの情報を公開しないため、侵入者は直接他のノードに連絡することはできません。ただし、侵入者が特定のノードの IP アドレスとポートを入手した場合、ノード間でファイル共有を行うためにそのノードに直接接続することができます。トレントスワーム内では、侵入者は通常のノードと見なされ、他のノードと同じ権利と待遇を享受します。
現在、BitTorrent にはトレントスワーム内の他のノードを知るための 4 つの方法があります:
- トラッカー [1]、
- 分散ハッシュテーブル(DHT)[2]、
- ピアエクスチェンジ(PEX)[3]、
- ローカルサービスディスカバリ(LSD)[5]。
プライベートトラッカー以外の方法でノード情報を公開または交換すると、トラッカーのアクセス制御が破壊されます。これは、PT トレントで侵入者が PT トレントに既に存在するノードの IP とポートを入手または推測した場合、侵入者に完全なノードリストが提供されることを意味します。
ノードが異なるトラッカー間を切り替える場合、ノードは旧トラッカーとの接続を切断し、プライベートトラッカーとパブリックトラッカーのノード間のブリッジとなることを防ぐためです。これは、攻撃者がメタ情報ファイルの announce-list を変更し、パブリックトラッカーウェブサイトでメタ情報ファイルを再配布する影響をある程度軽減します。