web-dev-qa-db-ja.com

ダークネットとは何ですか?また、それらを使用してネットワーク通信にセキュリティと匿名性を提供するにはどうすればよいですか?

インターネットの大きな問題の1つは、多数の人々と通信する能力を維持しながら匿名を保つことが難しいことです。暗号化はアプリケーションレベルで効果的に実行して盗聴やMITM攻撃(HTTPSのTLSなど)を防ぐことができますが、匿名性を維持することは非常に大きな課題になる可能性があります。

オフショアプロバイダーを備えたVPNは、一般的なインターネット使用に対して個人の匿名性を提供するのに役立ちますが、当局(または大きな銃を持つ誰か)があなたの行動を記録するよう強制される可能性のあるサービスプロバイダーのなすがままです。

さらに、VPNは高度に集中化されています。友達と通信したい場合は、すべて同じサーバーに接続する必要があります。これにより、冗長性が低下し(サーバーに障害が発生した場合はSOLになります)、セキュリティが低下します(1台のサーバーのみを危険にさらす必要があります)。また、VPNは、特にユーザーが偏執的で、通信したい相手を信頼していない場合、数百または数千のユーザーにうまく対応できません。

「ダークネット」と呼ばれるピアツーピアネットワークを開始する試みは数多くあります。たとえば、昨年だけ Reddit の一部のユーザーが Meshnet Project を開始して、政府やISPによる干渉に強いネットワークを作成しようとしました。

ダークネットとは具体的に何ですか?また、インターネットを使用しているときに、それを使用して匿名性とプライバシーを確​​保するにはどうすればよいですか?

26
Tom Marthenal

1つのダークネット( Anonet )に深く関与し、別のダークネット(現在はほとんど機能していないアンダーリンク)の起動を手伝った人として、ここで自分の経験と理解を共有しようとします。この回答を編集して、詳細を追加したり、修正したりしてください。

定義

"Darknet"は、いくつかの異なる定義を持つトリッキーなWordであり、最も一般的なものはピア間のインターネットのようなルーティングを持つプライベートネットワークです。これは非常に広い定義です。ダークネットは構造が大きく異なります。ダークネットの例には次のものがあります。

  • AnonetおよびAnonet6 、完全に分散して匿名になることを目的としたIPv4および姉妹IPv6ダークネット
  • Underlinkは、元のAnonetメンバーによって構築されたIPv6のみのダークネットであり、完全な匿名性よりも趣味に重点を置いており、Anonetよりも集中化されていました。
  • Seattle Wireless 、メッシュネット1 シアトル地域で営業。
  • Tor は、以下で説明するサンプルのダークネットとは異なりますが、トラフィックをルーティングする一連の出口ノードで構成されているため、ダークネットの定義に該当します2

ダークネットが提供するもの

質問が指摘するように、多数のユーザーと通信する能力を維持しながら、インターネット上で匿名のままでいることは困難です。インターネットでは、通信するすべてのWebサイトがISPが発行したIPを受信します。これにより、おおよその位置がわかり、少なくともある程度の信頼性をもって行動を追跡できます。

対照的に、ダークネットでは、ダークネットでホストされているリソースにアクセスするときに、グローバルにルーティングされない内部IPアドレスを使用できます。直接のピアを除くダークネットの参加者は、実際のIPアドレスを確認することはできませんが、実質的にすべてのピアツーピアアプリケーション(HTTP、電子メール、BitTorrent、FTP、SSH、 ...)。


ダークネットの例

ダークネットの例を説明します。これは、少なくとも独自のダークネットの形成を始めるには十分な詳細になるはずです。ただし、追加の調査を行う必要があります。ダークネットを構築するには多くのアプローチがあり、計画を立てながら情報に基づいた意思決定をしたいと思うでしょう。ダークネットは、ネットワーキングについてさらに学ぶための優れた方法です。トピックに興味のある人なら誰でも参加することを強くお勧めします。

ピアリング

ダークネットは、インターネットのように、ピアリングの考え方に基づいて構築されています。ネットワークのルーティングインフラストラクチャに参加したい人は、ネットワーク上の1人以上の既存の参加者とピアリングする必要があります。これにより、参加者の冗長なWebが形成され、ネットワークを拡張できます。

誰かとピアリングするために、あなたが本当に必要なのはそれらへの直接の接続(そして彼らの協力)だけです。イーサネットケーブルをマシン(またはルーター)から自分のマシンに接続するか、VPNソフトウェアを使用して仮想イーサネットトンネルをセットアップできます。。物理インフラストラクチャ(イーサネットリンク、ワイヤレス接続)の代わりに仮想トンネルを使用する利点は、ネットワークが世界中に簡単かつ安価に広がるということです。物理リンクを使用すると、物理領域の参加者に制限され、潜在的なサイズとダークネットの採用が制限されます。仮想トンネルを使用することの主な欠点は、ISPや政府に依存したままインターネットにアクセスできることです。4

ルーティング

2台のマシンを接続することができたと仮定して、機能するダークネットの最も重要なコンポーネントであるルーティングについて説明します。使用できるルーティングにはいくつかのタイプがあります。 Tor 、たとえば onion routing を使用します。ただし、この設定例では、より伝統的なルーティングスキームを使用します。 BGPルーティング5

BGPルーティング設定では、各参加者は「自律システム」(AS)です。各ASには、必要な処理を実行するための独自のIPスペースのセットがあります。これらのASは、ネットワーク全体(コンテキストに応じてインターネットまたはダークネット)全体で一意の番号(「ASN」)で識別されます。インターネットで使用中のAS番号のリストを見ることができます here

友人chrisとピアリングしたいとしましょう(私はLexです)。私たちはそれぞれAS番号を選びました(私は3090chris404)。ピアリングするには、次の2つのことを行う必要があります。

  • ルーター間の接続を確立します(多くの場合、VPSまたは一部のデータセンターでホストされている汎用Linuxボックス)。これには、おそらく仮想トンネル(VPN)を使用します。
  • ピアリングを残りのネットワークにアドバタイズし、相互にルーティングを確立するようにBGPデーモンを構成する6

各ネットワーク参加者は、通常、冗長性を提供するために複数のピアを必要とします。ただし、これはセキュリティ上のリスクです。各ピアがあなたの本当のIPアドレスを知っているからです。したがって、信頼できる人とだけピアリングしたい(人として信頼するだけでなく、ハッカーやIDを保護する当局からマシンを安全に保つことを信頼する)。

サンプルネットワークマップは次のようになります(これは、Anonet6での実際のBGP設定の古いビジュアルマップです)。 Old visual map of ano6

各バブルは、Anonetでルーティングを行う参加者を表します。通常、ここの各マシンは/ 24(上記のマップはano6のものですが、より多くの人が把握しやすいのでIPv4の用語を使用します)を取得し、必要に応じて自由にアドレスを割り当てることができます。そのマシンはそれらの最終的なルーティングを処理します。

それで私がAS3090(Lex、真ん中)であるとしましょう。 AS3090は、実際には一部のデータセンターの専用マシンです。便宜上、すべてのパーソナルコンピューターは、標準のVPNソフトウェア(この場合はOpenVPN)を使用してサーバーに接続し、AS3090の/ 24のアドレスが与えられます。このようにして、静的IPを持たない私のラップトップ/タブレット/デスクトップは、ピアリングを心配する必要がありません。専用サーバーで処理します。

AS3090に接続されている私のマシンの1つがAS31416のマシン(マップの右端)にパケットを送信する場合、いくつかの簡単なオプションがあります。

AS3090 (Lex) -> AS1112 (UFO)     -> AS31416 (JCS)
AS3090 (Lex) -> AS404 (chris)    -> AS31415 (JCS) -> AS31416 (JCS)
AS3090 (Lex) -> AS404 (chris)    -> AS405 (chris) -> AS31416 (JCS)
AS3090 (Lex) -> AS2323 (achedaz) -> AS1112 (UFO)  -> AS31416 (JCS)

(this is just a subset of possible paths)

これはすべてBGPルーティングフレームワークの一部です。

私のリストの最初のパスは最短(ホップ数であり、必ずしも各大陸に配置されている可能性があるため、待機時間の観点からではありません)なので、パケットはそのパスを通過します。応答パケットは別の経路をたどるかもしれませんが、それは重要ではありません。パケットがオリジンに到達する限り、2台のマシンは通信できます。発信パケットが1つのインターフェースから出て、応答が別のインターフェースに戻ってくるのは珍しいことではありません。あなたのOSは気にしません。

このセットアップの優れた点は、実際のインターネットと同じように機能することです(実際、インターネットのコア部分は、このようにBGPルーティングを使用しています)。 AS3090(Lex)がAS1112(UFO)との接続を失うと、パケットは自動的にAS31416への別のパスを選択します。このように冗長です。

なぜこれが匿名性を提供するのか

これにより、ダークネットは匿名性に非常に役立ちます。 AS12345(dBZ、上中央)の場合、ネットワーク全体で私の真のIPを知っている唯一の人物は、私の唯一のピアであるAS1(r101)です。残りは、AS12345のサブネット内の私の内部IPのみを表示します。 当局や他の誰にとっても、AS12345の場所/ IPを見つけるには、ピアのチェーンをたどり、各ピアを切断して、接続先を見つける必要があります。これは大きなダークネットでは非常に高価です。ピアは国境を越えることが多いためです(Anonetでは、国境を越えて特にトリッキーにすることを計画していました)。

成長痛

これを理解すれば、これはかなり簡単です。このようにネットワークを拡大する際の難しい点は、分散型であることです。 Anonetはその存続期間中に複数回半分に分割されました。 AS3090(Lex)とAS757(Vutral)の間のピアリングはいつでも途切れ、Anonetの2つの半分は完全に接続されなくなります。しかし、それぞれの半分の人々はまだお互いに話すことができます。 ダークネットを半分に切ることができ、それでも存続します。

友人のIPアドレスを入力してサービス(ウェブサイト、ファイル共有など)にアクセスするのは楽しいことではありません。 DNSが必要ですか?まあ、それは誰かが互いの主張を侵害していないことを確認するためにいくつかの中央当局を必要とします。 Anonetでは、「resdb」と呼ばれるものを使用して「解決」した方法は、一連のクレームを含むgitリポジトリです。だれでも主張し、変更をコミットできます。重要なのは、他の人があなたの変更をgitリポジトリのコピーに受け入れるようにすることでした。つまり、人によってリポジトリのバージョンが異なるため、ドメインが存在しない場合もあれば、ドメインが存在する場合もあれば、ドメインは存在するが完全に異なる場所を指す場合もあります。 (resdbには、BINDなどのゾーンファイルを生成するための一連のファイルとスクリプトが含まれていたため、誰でもano. TLD)。

ただし、DNS予約が一意である必要はありません。 IP割り当ても一意である必要があります。私たちは皆、172.16.0.0/24?複数の人がそれを使用している場合は、競合が発生します。つまり、それらもresdbに入り、あなたはあなたの主張を受け入れるように人々を説得する必要があります。 また、AS番号の予約や、ICANNがインターネット上で処理するその他の多くのことを処理する必要があります。これは大きな混乱に変わり、最終決定権を持つ中央機関がないため、拡張が非常に困難です。予約。

混乱のresdbがどれほど大きいかを十分に強調することはできません。 Underlinkは、便宜上、Anonetの分散化の一部を犠牲にすることにより、これらの問題を解決しようとしました。 DNS登録とASN/IP割り当てを処理する中央機関があり、それはUnderlinkの短命(約1年)に対してかなりうまく機能しました。アンダーリンクは離陸しませんでしたが、多くの場合、そのモデルが望ましいと思います。それはすべて、中央当局が無害で安全なままであることに依存しています。私たちがダークネットを始めた理由は、ICANNのルールの下で生活したくなかったからです。どちらのアプローチにも明らかにメリットがあります。

結論

これにより、ダークネットとは何かについて少し理解できたと思います。繰り返しますが、これは完全な定義ではなく、単に私の経験に基づいており、その多くは実際には目標に関連していません。たとえば、インターネット上の既存のインフラストラクチャを使用するのではなく、DD-WRTでフラッシュされたコンシューマールーター(地理的に近いピアを接続するため)を使用してダークネットを作成しようとした人がいることを知っています。

ご不明な点がございましたら、お気軽にお問い合わせください。私は専門家ではありませんが、純粋に興味があるので、私はこのことをかなり試しました。

追加する知識がある場合は、この応答を編集してください。私はそれを奨励するためにコミュニティウィキを作りました。


1.メッシュネットは通常、ブロードキャストルーターや物理ネットワークケーブルなど、参加者が制御する物理リンク上で動作するダークネットとして定義されます。対照的に、ほとんどのダークネットはインターネットの既存のインフラストラクチャを使用し、物理リンクの代わりに仮想トンネル(VPN)を介してピアを接続します。したがって、メッシュネットはサイズがはるかに制限されますが、追加の利点があります。

2. Torの動作を完全には理解していないため、これはかなり単純化されており、この記事の残りの部分では、オニオンルーティングではなくインターネットのようなルーティングを使用する従来のダークネットに重点を置いています。

3.以前、私は QuickTunSigmaVPN 、および OpenVPN を使用しました。ただし、実際には、リモートマシンで仮想イーサネットトンネルを使用できるようにするソフトウェアはすべて機能します。接続を暗号化する必要さえありません(ただし、これは本当に良いアイデアであり、上記のすべてのソフトウェア例では暗号化を提供しています)。

4.暗号化されたトンネル(暗号化されたVPN接続のみが表示される)を使用している場合、ISPまたは政府はダークネットに参加していることを簡単に認識できませんが、おそらく疑わしいように見え、確実に防ぐことができます。最初のVPN接続を行うことから。

5. BGPルーティングは、AnonetやUnderlinkなどの多くのダークネットで使用されています。オニオンルーティングやその他のエキゾチックなルーティングスキームにはメリットがありますが、ネットワークに参加するのが非常に難しくなる可能性があります(BGPルーティングのサポートは、インターネットで使用されているため、広く普及して標準化されています)。 BGPルーティングは冗長であり、まともな匿名性を提供できるため、それを破棄する理由はありませんが、代替案を検討することは悪い考えではありません。

6.ピアリングのBGPルーティング構成の例は次のようになります。

protocol bgp bgp_chris_underlink_core
{
        table underlink_core; # routing table

        local as 3090; # my ASN
        neighbor 172.16.10.1 as 404; # partner (chris') IP address for the virtual tunnel interface, and his ASN
        source address 172.16.9.1; # my IP address virtual interface

        # a series of filters to ensure chris can't send me bad routes
        import filter underlink_filter_core;
        export filter underlink_filter_core;
};

この例では bird を使用していますが、他のBGPデーモンも同様に構成されます。私は鳥を使用しただけですが、BGPルーティングソフトウェアにはさまざまな種類があります。これは標準化されたプロトコルであるため、あなたとピアリングパートナーが同じBGPソフトウェアを使用する必要はありません。エンタープライズグレードのルーターと独自のBGPクライアントを使用して、彼の$ 15/m Linux VPS実行中の鳥に対しても使用できます。

28
Tom Marthenal