ノーログVPNの匿名化レベルを上げる|PIAのShadowsocksを解説

本記事はプロモーションを含みます

PIA(Private Internet Access)にはShadowsocksという匿名化機能があります。Shadowsocksとはどのような匿名化技術なのか、利用する上で注意するべき点について解説していきます。

Shadowsocksは何か?

PIAのShadowsocksは2つのVPNサーバーを経由して通信する匿名化技術(マルチホップ)です。

Shadowsocksは複数のVPNサーバーを経由する

このようにユーザーは1つ目のサーバーとVPN接続し、そこから2つ目のVPNサーバーに転送しています。本記事ではShadowsocksで匿名性が向上する理由とShadowsocksを利用する上での注意点について解説していきます。

Shadowsocks通信をキャプチャしてみる

ではShadowsocksで接続した後にVPSに通信してみて、その際のIPアドレスがどのようになっているのかVPSでキャプチャしたいと思います。

VPSは1時間単位で利用できるConoHa VPSを使います。

Shadowsocksの使い方はNordVPNのDouble VPNやSurfsharkのMultiHopと比べて少し分かり辛いです。まずはVPNアプリの設定画面を開きます(赤枠の箇所をクリックします)。

赤枠の箇所をクリックして設定画面を呼び出す

設定画面が表示されるので左メニューの[マルチホップ]をクリックして「マルチホップと難読化」にチェックを入れます。プロキシの箇所は「Shadowsocks」を選択した状態で編集ボタンをクリックします。

Shadowsocksの設定を変更する

次にどのサーバーを経由させるのか決めます。今回は日本のサーバーを選択してみました。

Shadowsocksで経由させるサーバーを選ぶ

設定を変えたら再接続する必要があります。まずは設定画面を閉じます。

再接続するために設定画面を閉じる

アプリ画面の赤枠の箇所を2回クリック(1度目は切断、2度目は接続)して再接続しましょう。

接続ボタンをクリックして再接続する

再接続するとこのように表示されます。最初に「シャドウソックス経由」と書かれている日本のVPNサーバーに接続し、そこからアルメニアのVPNサーバーに転送されます。最終的にIPアドレスはアルメニアの「185.253.160.13」に変換されます。

Shadowsocksで接続中のアプリ画面

HTTPS通信をキャプチャしてIPアドレスを確認する

まずはVPSで次のコマンドを実行してパケットキャプチャを開始します。

tcpdump -i eth0 -t -nn tcp and dst port 443

クライアント端末でもWiresharkを起動してパケットキャプチャを開始します。そしてnetcatを実行します。「118.27.37.32」は今回利用しているVPSのグローバルIPアドレスです。

nc 118.27.37.32 443

netcatを実行した際のクライアント端末のパケットキャプチ結果は次のとおりです。送信先IPアドレス(1つ目のVPNサーバー)は「154.47.20.241」です。

クライアント端末のキャプチャ結果

VPSのパケットキャプチャ結果は次のとおりです。送信元IPアドレス(2つ目のVPNサーバー)は「185.253.160.13」です。

VPSでHTTPS通信をキャプチャしたときの結果

このように、ユーザーが接続しているVPNサーバーとは別のVPNサーバーがVPSにアクセスしていることがわかります。

1つ目のサーバー(ユーザーが接続するVPNサーバー)154.47.20.241
2つ目のサーバー(アクセス先から見える送信元)185.253.160.13

HTTP/HTTPS以外の通信もDouble VPNで通信するのか

Onion over VPNの調査をおこなった際はHTTP/HTTPS通信のみTor経由となり、それ以外の通信はVPNサーバーが直接アクセスしていることを確認しました。

それではDouble VPNはどうなのでしょうか?

それを確認するために21,22,23,80,443,3389,12345番ポートに宛ててクライアント端末からnetcatで接続を試みました。結果は以下のパケットキャプチャの結果のとおり、すべて2つ目のVPNサーバーを経由してアクセスしていることが確認できました。

2つ目のVPNサーバーを経由してアクセスしている

また、UDPやPING(ICMP)についてもDouble VPNで通信していることが確認できています。

Double VPNを使うと匿名性が向上する理由

タイミングによるユーザーの推測が難しくなる

ここまで確認したとおり、Shadowsockを使うとアクセス先から見ると2つ目のVPNサーバーから通信が来ているように見えます。しかしユーザーがアクセスしているのは1つ目のVPNサーバーです。

個人を特定するための方法のひとつにタイミングによる方法があります。たとえばvpnhack.netのアクセスログに録されているIPアドレスがISPのログにもVPN接続として記録されていて、両方のタイムスタンプが一致すればVPN経由でvpnhack.netにアクセスしたものと推測できます。

高度で大規模な組織ではそのような追跡がおこなわれていますが、Shadowsockを使うとISPに記録されるIPアドレスとアクセス先に記録されるIPアドレスが異なるため、そのような追跡方法が難しくなります。

ユーザーの特定が難しい

ユーザーが1つ目のサーバーにアクセスすると、IPアドレスはVPNサーバーのIPアドレスに変換されてから2つ目のVPNサーバーに転送されます。

2つ目のVPNサーバーから見ると、転送されてきた通信は特定のユーザーに紐付いていません。複数のユーザーの通信がひとつの通信として次々と送られてくるので個々の通信を見分けることは不可能に近いと言えます。しかも、それが複数のサーバーから転送されてくるので、事実上サーバーを辿って発信者を特定することは不可能です。

そのため、Shadowsockは非常に匿名性が高いと言えます。

まとめ

Shadowsockは2つのVPNサーバーを経由させることで、単独でVPNサーバーを利用するときに比べて格段に匿名性が向上します。タイミングによる推測を避け、ユーザーの特定も難しいためDouble VPNは非常に高い匿名性を提供すると言えます。

しかも通信速度が極端に低下することともないため、使いやすさという点でも優れています。また、NordVPNやSurfsharkと比較してPIAを気に入っているのは次の2点です。

  • 1つ目と2つ目のサーバーの組み合わせに制限がなく柔軟
  • LinuxでもGUIアプリが使える

そしてPIAはNordVPNと同じく第三者機関によってノーログポリシーが検証されている数少ない匿名VPNサービスです。そのため匿名性という点では最高レベルでしょう。

PIAはアプリも非常に使いやすいですから、高い匿名性を提供するVPNを探している方におすすめです。

» PIAを30日間無料で試す

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)