Tor, VPN, ルーターセキュリティと暗号通貨の匿名性
概要
- Torは現在の日本では単独で安全なネットワーク環境を提供することができる
- VPN/Shadowsocksを併用することで特定の種類の攻撃者を出し抜くことができる
- 安全なVPNを選ぶポイントはISPの種類、実際のロケーション、政府への対応の実績である
難易度
- 特別な機会ではなく日常的にTorを利用する (★☆☆)
- Tails OSのウォレットとしての利用 (★★☆)
- 多重VPNとスクランブル化を利用する (★★★)
目次
- はじめに
- 匿名性・安全性・検閲耐性
- 各オーバーレイ・ネットワークの技術的特徴
- Tor
- (多段)VPN
- VPNの選びかた
- Shadowsocks
- その他
- ルーターのセキュリティ
- ISPのセキュリティ
- 安全な構成
- 暗号通貨との関連
- 結論
はじめに
この記事では、暗号通貨を利用する上でも注意すべきネットワークのセキュリティについて解説します。 通信経路上での妨害や情報収集、その他の攻撃を避けるためにネットワークのセキュリティには気を配る必要があります。 これは当然、インターネット上で主に通信している暗号通貨のセキュリティにもそのまま影響します。また匿名性はプライバシーを守るためにも重要です。 この記事では主にVPNなどのオーバーレイ・ネットワークを中心としたネットワークセキュリティの向上について書いています。
匿名性・安全性・検閲耐性
VPNを販売する会社はしばしばVPNを利用することで匿名性・安全性・検閲耐性が全て高まるかのように宣伝していますが、これは誤りです。 実際には匿名性・安全性・検閲耐性は別のものと考えて、現在利用しているネットワークがどの性質を持っていてどの性質を持っていないのかについて把握しておく必要があります。
- 匿名性
- ネットワーク上で通信する相手、または中間の攻撃者から見て自分が誰なのかをわからないようにすること。3つのうちで実現が最も難しいものです。Torが有名です。単独のVPNプロバイダーには匿名性はありません。
- 安全性
- ネットワーク上で通信している相手が自分の意図した相手であること。途中で改ざんが行われず、内容を覗き見られることもないこと(本当は改ざんが行われないことと内容が暗号化されていることは別ですが、この記事ではまとめて安全性として扱います)。暗号化を扱うオーバーレイ・ネットワークでは基本ですが、Shadowsocksのように暗号の安全性と対検閲性の目的が矛盾するケースもあります。
- 検閲耐性
- ネットワーク上の中間にいる攻撃者によって通信を妨害されないこと。現在の日本ではほぼ不要な概念です。中国のようなネットワークを遮断するファイアウォールを出し抜くことを目的としています。Shadowsocks, Torのブリッジノードなどがあります。
各オーバーレイ・ネットワークの技術的特徴
Tor
Torは複数のノードと呼ばれるコンピュータを介して通信を中継させることで発信元を匿名化する技術です。 また、現在ほとんどの日本人にとって、ネットワークを簡単に匿名化し安全に利用するために必要な唯一のツールです。VPNを利用するように勧めてくる記事の多くはVPNを紹介することでアフィリエイト収入が発生することが動機になっています。現在の所日本ではTorネットワークへの接続は何の制約もなく行えるので他のツールを併用する必要もありません。
全ての通信をデフォルトでTor上で行うTails OSというOSが公開されており、これはElectrumというビットコインウォレットがデフォルトで同梱されているのでビットコインを安全に保管する専用のOSとしても適しています(サーバーは信頼できるものを選ぶ必要があります)。なおTails OSをビットコインの保管に使う場合はそのOSは他の作業に使わない方がいいでしょう。
なお、TorブラウザーやTails OSを使う機会をウォレット利用時に限定してしまうと、ビットコインを利用しているタイミングが漏れることにもなるので、そのような構成を考える時には普段からTorに接続することでより匿名性が高まることになります。
欠点
- 遅い
- トルコや中国などのように将来的に規制され接続ができなくなる可能性がある
- 半分中央集権化されている
- Torには中央サーバーが存在し、ボランティアで運営されているサーバーから提供された署名を一箇所に集めておいて、最初にデフォルトで接続するクライアントにボランティアのサーバーの情報を配信するようになっています。ブリッジノードなどを利用すれば中央サーバーは不要ですが、ほとんどのユースケースでは中央サーバーを一度仲介する構成になっています。この半分中央集権化された構造によってスパムや敵対的なノードを排除する仕組みでTorは利便性とセキュリティのバランスを取っています。この記事では紹介しませんが、そのような中央サーバーをさらに排除した仕組みとしてI2Pというプロジェクトも存在します。
- そしてその中央集権化されたサーバーは全て米国とその同盟国に存在しています。ここに書いてあるとおり、具体的には米国・ドイツ・オランダ・カナダ・スウェーデン・オーストリアです。もしもこれらのサーバーが証明書を偽造し、さらにTorノード間で中間者攻撃が可能な場合、Torの安全性は破綻します。I2Pにはロシアや東欧の開発者が多くノードも西側諸国に偏っていないので、その意味でもTorの代替として機能しうるでしょう。
- アメリカの海軍によってかなりの資金援助を受けている
- これも上記同様、Torがソフトウェアの更新や先進的な開発によって知名度を得ていることの裏返しでもあります。西側諸国と深刻に敵対するような場合、後述するVPNの多重化で西側諸国を仲介しないルートのほうがTorよりも匿名性・安全性が高くなる場合というのが存在するかもしれません。
(多段)VPN
VPNは複数の拠点間を繋いでローカルネットワークのように見せるために開発された技術です。様々なプロトコルがありますが、検閲回避を目的としない場合はおそらくOpenVPNが最も一般的だと思われるのでOpenVPNの事業者について話します。
VPNは事業者が信頼できるのであればTorよりも高速でTorと同じくらい安全です。しかし現実には多くの事業者が詐欺的な手法で顧客を集めたり、プライバシーを謳うサービスが利用者情報を様々な形で利用していたりするなど、事業者を信頼するのは非常に難しくなっています。
以下の記事が問題点をよく指摘しています(古い記事ですが現在も状況はあまり変わっていません)。
Don't use VPN services. https://gist.github.com/joepie91/5a9909939e6ce7d09e29
要約すると
- 別のネットワーク管理者を利用する点でVPNもTorも違いがないが、商用VPNは匿名性がなく、運営実態も不明である
- VPNが必要な状況は公衆Wifiや接続先からの検閲を受けている場合など、非常に限られている
ということです。
一方でVPNは検閲に対する予防として、または別のオーバーレイ・ネットワークと組み合わせることで安全性を高める効果も期待できます。安全性とは別の話ですが、もちろん自分のIPアドレスを簡単に隠すことだけを目的とすることもあるはずです。
複数のVPNプロバイダとVPN-Chain https://github.com/TensorTom/VPN-Chain を併用すれば擬似的に高速なTorのような使い方をすることもできます。 Torでは単一のISPが接続中のリレー上の全てのノードをコントロールすることがないように設計されています。TorがノードのISPを信頼していない一方で、通信ログを保持していなかったり情報公開を拒否するISPが1つは存在するという推測のもと設計されていることです。同様に、信頼できないVPNでも多重化することでどこか1つでも非協力的であれば匿名化ができるという推測を立てて自前のTorを設計できるということです。 このように、後述するパラノイア的なネットワーク構成にする場合にはVPNも利用価値があります。そのような場合にVPNを選ぶ方法を書いておきます。
VPNの選び方
支払いにはモネロなどなるべく匿名性の高い暗号通貨を使いましょう。モネロを受け付けていない場合はXMR.TOなどで変換したり、ミキシングしたコインを使いましょう。面倒なら海外の適当な取引所を経由させるだけでもいいかもしれません。可能であれば、自社でビットコインを受け付けておらず、ペイメントゲートウェイ経由でビットコインを受け取っているような会社を避けましょう。
VPNの通信ログの保管をISPに義務付けている国(EUなど)に本拠地を置く会社は避けましょう。
実際のサーバーの位置と異なるサーバーを宣伝している業者も避けましょう。 https://restoreprivacy.com/vpn-server-locations/ 地域単位での規制を回避したりするのにも使えるので必ずしも悪いことではありませんが、ネットワークの安全性という意味では避けたほうが無難です。 具体的には https://ping.pe/ などでIPアドレスを入力し、地理的に近い位置での応答速度から実際のサーバーの位置を推測します。例えばExpressVPNの東南アジアサーバーは実際には全てシンガポールにあります。
ネットワーク自体は登録しなくてもここで見ることができます。 https://github.com/Zomboided/service.vpn.manager.providers
https://myip.ms/ などでIPアドレスを確認し、VPNネットワークのISPがどのような組織であるか調べましょう。多くの国際的なホスティング会社は世界中のデータセンターに拠点をもっています。例えば、南米の主要国全てにサーバーを持っているように見えても、実際にはそれらのサーバーを統括しているのは単一のホスティング会社であって、VPN会社はそれをまとめ買いしているだけかもしれません。外国の地元の小さなISPを複数持っているような会社が理想的です。
ネットワークで何が検閲されているか調べましょう。必要であれば25番ポートをブロッキングしている会社を避けましょう。
主要なサービスであればブロッキングの状況は こちら で比較できます。 このリストに乗っていないVPNサービスやVPSを使う場合は、その運営会社の運営ポリシーを読むと書いてあったり、付属フォーラムに情報がある場合が多いです。どうしても見つからない場合は直接聞くと良いでしょう。
過去にVPNの会社で起きた事件を調べて、警察や外国政府から協力を要求されたときにどのような対応をしたか調べましょう。
ログを提供した会社の例
- PureVPN (アメリカ政府の要請受理)
- HideMyAss (アメリカ政府の要請受理)
- IPVanish (アメリカ政府の要請受理)
- EarthVPN (オランダ政府の要請受理)
ログを提供しなかった会社の例
- ExpressVPN (トルコ政府の要請拒否)
- Private Internet Access (アメリカ政府の要請拒否)
怪しい方法で利益を得ているVPN会社は避けましょう。
- Hola (ユーザーのIPアドレスを出口ノードにして外部に販売していた)
- Hotspot Shield (ユーザーを自社広告に誘導していた)
- Betternet (挙動がマルウェアそのもの)
無料VPNは避けましょう。通信を改ざんされたり、NATの内側の脆弱なポートを探られる可能性があります。
以下の14アイズと呼ばれる、情報通信でログ共有に協力的な国のサーバーを避けましょう。
【スパイ協定】5-Eyes, 9-Eyes, 14-Eyes, 41-Eyesって何?VPNを選ぶ時に知っておいて欲しいこと https://bestvpn.jp/what-is-5-eyes/
アメリカ、イギリス、カナダ、オーストラリア、ニュージーランド
デンマーク、フランス、オランダ、ノルウェイ
ドイツ、ベルギー、イタリア、スペイン、スウェーデン
中東アフリカ諸国など西側先進国と通信ログを共有しない国がサーバーリストにあれば優先的に使いましょう。欠点はそのような国の通信が遅いということです。
Shadowsocks
中国の金盾と呼ばれるファイヤウォールを超えて外国に接続するために開発されたツールです。共通パスワードの使用など普通のVPNよりも安全性に劣っていますが、どのような通信が行われているのかを秘匿することでファイヤウォールにブロッキングされにくくなっています。例えばOpenVPNでは通信の開始時に互いのサーバーを認証し合うために特定のパターンの通信が発生し、これによってOpenVPNが利用されていること自体は隠すのが難しいですが、Shadowsocksではこのような特徴的な通信を無くすことで検閲が難しくなっています。 日本で中国のようなブロッキングがいつ実施されるか分からないので知識として事前に持っておいた方がよいでしょう。
Shadowsocksのサーバーは日本ではほとんど利用する機会はないと思いますが、普通のVPN事業者でShadowsocksのサーバーを販売しているところがあるので利用自体は簡単です。また、上記のVPNとそのプロバイダーへの指摘がShadowsocksのようなツールの販売者にもそのまま適用されることになります。つまり、Shadowsocksもまた単体では信頼できず、匿名化や安全な通信が必要であればShadowsocksの上でTorを利用することが必要になるということです。あくまでもファイヤウォールを出し抜くためのツールとして割り切って使った方が良いでしょう。
その他
- VPNGate
- 筑波大学が運営している対検閲プロジェクトです。検閲を防止するだけで匿名性に特化しているわけではないので通信ログは取っているようです。自分が試したときは中国からは使えませんでしたがトルコなどほかのTorが禁止されている検閲国家からは使えるはずです。
- I2P
- Torよりも小規模ですが、全てのノードがリレーとして通信の中継を行うので匿名性は高いです。Torのように通常のインターネット閲覧はできないので上級者向きです。KovriというI2Pを応用した匿名ネットワーク上で暗号通貨の必要な通信を行う計画があります。
- dn42
- 仮想ルーターをインターネット上でつなげてもう一つのインターネット空間を作ろうとする試みです。
ルーターのセキュリティ
最も身近なネットワーク機器といえばルーターですが、家庭用ルーターは残念ながら非常に脆弱なものが多いです。 ルーターのセキュリティについて詳細に解説しているウェブサイトがあります。 https://routersecurity.org/
可能な限りルーターの機能は削り、各種脆弱なデフォルト設定を変え、パスワードとSSIDをデフォルトのものから変更しておくことが重要です。 具体的には
- UPNPの無効化
- ポート制限
- 可能であればサブネットの変更(192.168.0.1/24 から 10.33.199.1/24 に変えるなど)
- 管理画面パスワード変更
などです。
古い家庭用ルーターはアップデートができないものもあります。可能な限りポートを閉じ、必要であればローカルVPNで内部のネットワークをつなぎましょう。
また、選択肢として可能であれば、常にWifiではなく有線通信を利用しましょう。ローカルネットワーク内における盗聴や通信改ざんのリスクはそれだけで非常に小さくなります。
ISPのセキュリティ
ISPというのはインターネットプロバイダとしてインターネットとユーザーの仲介をする巨大なネットワーク管理者です。 このISPにも匿名性や攻撃耐性の概念が存在します。
国際的な例を挙げると、日本から欧州のサーバーに通る経路で地理的に最も近いのはロシアを経由するものですが、インフラの都合上ロシアとの回線は非常に細いものです。シベリア地域は人口密度が低いので集中的に太い回線を置く意味がないのです。インターネットは最適な経路でパケットをルーティングするので、日本から欧州にパケットを送る場合、かなりの割合で米国を経由することになります。米国は通信傍受で前科がある国です(最近NSAの電話盗聴プログラムは廃棄され、インターネット監視も割に合わないとして表向きはなくなるようですが参照1参照2)。この国を経由しないと他のネットワークに接続できないのはセキュリティ上よくないことです。
できるだけアメリカを通らない経路を使おうとする場合は、複数のVPNやプロキシをチェーンさせることになります。
例:
フランス<->インド<->シンガポール<->日本NTT (TATA)
スウェーデン/フィンランド(フランス経由?)<->香港<->日本NTT(Telia)
ロシア<->ウラジオストク<->日本KDDI(mongo) (モンゴル本国へはアメリカ経由、モンゴル資本のロシア内ISP)
イギリス<->日本 (謎?) IIJ
国内の例を挙げると、ISPにも様々な種類があり、その中にはログをどのくらいの期間保存するかで差があります。もちろん匿名性のためにはログの保存期間は短い方が良いです。最新の情報は不明ですが、一覧があるので参考にするといいと思います。
https://kandato.jp/term/%E3%83%AD%E3%82%B0%E4%BF%9D%E5%AD%98%E6%9C%9F%E9%96%93/
安全な構成
Tails OSを使うか、あるいは普通のOSであってもTorブラウザやTorの設定をしたソフトウェアを使うだけで本来は十分です。もしISPが敵対的であったり、自国政府が信頼できなかったり、Torの中央ディレクトリが西側諸国に支配されていると考えたり、将来的に検閲が導入されることを危惧しているのであれば、以下のようなパラノイア的構成を使うこともできます。
ファームウェアの更新が遅くサポートも十分でない家庭用ルータは、自分のネットワーク内であっても盲目的に信頼すべきではありません。 LinuxかBSDをインストールした不要なノートPCを信頼できないルーターに直接繋いで、VPNで内外をつなぐルーターにするといいでしょう。
この自作ルーター(A)には
- socksプロキシサーバ
- 内部用ネットワークのVPNサーバー(または有線で直接接続する場合はdhcpサーバー)
- 外部接続用のVPNクライアント
- VPNを多重化するソフトウェア (例えばVPN-Chain https://github.com/TensorTom/VPN-Chain)
- キルスイッチ用ファイアウォール(pf, iptables)
- 必要であれば検閲耐性のあるソフトウェア(shadowsocks, l2tp-ipsecのvpnなど)
を入れておきます。また、上の基準で消去法で選んだ複数のVPNプロバイダからダウンロードした設定ファイルを最低2つ用意します。 自分の家のIPアドレスから直接見えるVPN(a)とさらにそのVPN(a)上から接続するVPN(b)を考えます。
- (a)はサーバーの数の多さではなく、質と安定性を売りにしている、個人で運営しているような小規模VPNや、格安のコンテナ型VPSを買って自作したVPNでもよいでしょう。どうせ(a)の接続先IPアドレスはほとんど変える必要がないので大きなVPNサービスを利用する意味はあまり無いです。
- (b)は中間ノードとして振る舞うのでサーバーの数が多い、人気のVPNを使うといいでしょう。定期的に中間サーバーを変えると精神衛生上良いです。
さらに、AにVPN接続する、常時稼働する別のコンピュータBを用意します。 Bでは以下のようなソフトウェアを常時動かします
- 帯域設定をしたbittorrentクライアント(LinuxのDVDなど合法なものに限ってダウンロードと再配布を行う)
- 帯域設定をしたi2pd
- その他ランダムな通信を継続的に発生させるソフトウェア(RSSフィードリーダーのサーバー、クローラー、中身の無いTor Hidden Serviceのウェブサーバー etc.)
自分が普段使うPCやスマートフォンなどのクライアントをCとし、CもローカルVPN経由またはAのプロキシサーバ経由で別のVPNサーバに接続します。CがAのプロキシサーバ経由で使うVPNは接続する度にIPアドレスが変わるようにしておきます。 この状況では
- ISPが接続タイミングで通信を特定することが難しい(Bのソフトウェアによる撹乱があるため)
- ISPが直接接続しているIPアドレスと実際に出口として使われるIPアドレスが異なるため、接続先のIPアドレスから全国のISPに照会をかけても接続点が互いに国交のない外国にある場合などは特定が事実上不可能になる
- ISPから見ると全ての通信は単一のIPアドレスとの恒常的な通信に見える
- 全体としてはVPNを利用した高速なTorのように振る舞う
- VPNの接続順序と地理的な関係を上手に選べばアメリカを経由せずに常時EUやロシアとの通信が可能になる
ような状況になります。
ここでさらにオーバーレイ・ネットワークとしてCからTorやAのプロキシサーバ経由のVPN/Tor接続を行い、日常のブラウジングを行います。 VPNを中継するわけではなくTorのように多段化しているので中間の3つのVPN事業者のうち一箇所でもログ提出を拒否するところがあれば発信元の特定は困難になります。
課題としては
- VPNの1つでも通信が不安定になると全体が不安定になる
- Aのルーター内に接続先情報が残っているためハードウェアに直接触られると脆い(A,Cをフルディスク暗号化しておくことである程度防げる)
- 金がかかる(工夫次第で月700円以下まで下げることは可能だが、コストを顧みない構成だと月2000-3000円掛かることにもなりうる)
- 既に遅いTor/Tails OSの通信は更に遅くなる
などがあります。
暗号通貨との関連
ネットワークを匿名化しないと、トランザクションの情報はIPアドレスと紐付いて記録され、プライバシーが侵害される可能性があります。 ビットコインの全体としての仕組み自体は匿名性なしでも成り立つものですが、利用者側から見て様々な防御策は必要です。 また、今後世界的に国家によるネットワークの妨害が中国以上に厳しくなり、容易にネットワークへの接続ができない状態になってしまうとビットコインの利用が困難になる可能性も考えられます。そのような事態が本当に来るかどうかはわかりませんが、悪い方に考えて予め対策しておくのは重要です。
結論
多くのオーバーレイ・ネットワークによる匿名化技術を使うこともセキュリティを高めますが、ルーターの設定など身近な穴を潰していくことも重要です。「安全な構成」であげたようなネットワークを作る必要性は現在の日本では薄いので、ルーターのセキュリティ設定を見直すところと、Tails OSを余ったUSBメモリにインストールしてみるところから始めてみると効率が良いと思われます。
次の記事
読者になる
一緒に新しい世界を探求していきましょう。
ディスカッション