はじめに(この記事で分かること)#

VPNを使えば「匿名になれる」という言い方は、過大な期待を生む。VPNが守るものと守れないものを明確に分けることが、この記事の目的だ。

VPNは、ISPから通信の中身と最終的な接続先を見えにくくすることと、接続先のサイトから接続元のIPアドレスを隠すことには有効だが、端末のセキュリティ、アカウントのログイン履歴、ブラウザの指紋、行動パターンには対処しない。

この記事では、VPNの技術的な段階を、プロトコルの違いからDAITA・耐量子・難読化まで段階的に説明し、それぞれの効果と限界を整理する。

前提: 脅威モデルの整理#

VPNが有効な相手は、脅威モデル入門で整理した5種類の相手のうち、主に1者だ。

ISPは、VPN事業者への接続という事実と、接続した時刻や通信量は知るが、通信の中身と最終的な接続先は知らない。ISPが持つ契約者情報と、ISPが割り当てたIPアドレスもそのまま残る。VPNがISPから守るのは、通信の中身と接続先の2点である。

一方で、プラットフォーム、広告網、法執行機関、標的型攻撃者は、VPNの外側にある情報(アカウント、指紋、行動パターン)で利用者を追跡できる。VPNを使っていても、これらの痕跡は消えない。

プロトコルの違い#

WireGuard#

WireGuardは、現代のVPNプロトコルの標準である。コードベースが小さく、暗号学的に近代的な設計を持つ。レイテンシが低く、接続の確立が速い。

MullvadはWireGuardを標準プロトコルとして採用している。NordVPNのNordLynxは、WireGuardをベースに動的トークンの概念を加えた独自実装である。

OpenVPN#

OpenVPNは、長い歴史を持つプロトコルである。TCPモードでは、ファイアウォールの制限が厳しい環境でも接続できる。ただし、WireGuardに比べてレイテンシが高く、コードベースが大きい。

一部の環境(企業ファイアウォール、検閲環境)では、OpenVPN over TCPがWireGuardよりも接続しやすい場合がある。

Lightway(ExpressVPN)#

Lightwayは、ExpressVPNが開発した独自プロトコルである。WireGuardに似た設計思想を持ちつつ、独自の実装を採用している。

独自プロトコルの採用は、コードの公開性の観点から評価を分ける。WireGuardとOpenVPNはオープンソースであり、コードの監査が可能である。

キルスイッチ#

キルスイッチは、VPN接続が失われた場合に全通信を遮断する仕組みである。キルスイッチがない場合、VPNが切断された瞬間に、実際のIPアドレスが露出する。

Wall Street Marketの事例では、運営者のVPN接続がときどき切れ、その間もアクセスを続けたことで、実際のIPアドレスが露出した。訴状は切断の原因もキルスイッチの有無も書いていないが、切れたときに通信を止める仕組みがあれば、この経路での露出は起きにくかったとみられる。

Mullvadのアプリでは、キルスイッチは接続中は常に有効で、設定で無効にできない。利用者が誤って切ってしまう余地がない設計である。ただし、利用者が自分で切断した後の通信まで止めるには、別の「Lockdown mode」を有効にする必要がある。詳しくはキルスイッチの記事で扱う。

MultiHop#

MultiHopは、トラフィックを2つのVPNサーバーを経由させる機能である。単一のVPNサーバーを経由する場合に比べ、1つのサーバーが侵害された場合のリスクを分散できる。

Proton VPNのSecure Coreは、Protonが自社で管理するサーバーを経由してトラフィックを二重化する構成である。この構成では、最初のサーバーが侵害されても、最終的な接続先はProtonが管理する別のサーバーから出る。

DAITA(AI誘導型トラフィック分析への防御)#

MullvadのDAITAは、AIを使ったトラフィック分析に対抗する機能である。ダミートラフィックを注入し、パケットサイズとタイミングのパターンを変えることで、トラフィック分析を困難にする。

DAITAを有効にすると、速度が低下する。これは、ダミートラフィックが帯域幅を消費するためだ。速度の低下と匿名性の向上は、トレードオフの関係にある。

耐量子暗号化#

NordVPNとMullvadは、耐量子暗号化に対応している。現在のVPN暗号(AES-256、ChaCha20)は、量子コンピュータによって解読される可能性がある。

耐量子暗号化は、将来の量子コンピュータの脅威に対する予防的な対策である。NordVPNはML-KEMを全プラットフォームで展開し、MullvadはWireGuardの耐量子トンネルを提供している。

難読化(Obfuscation)#

検閲環境では、VPNの通信パターン自体が検知・遮断されることがある。難読化は、VPNの通信パターンを通常のHTTPSトラフィックに似せる技術である。

MullvadはShadowsocksブリッジとQUICを提供している。Proton VPNはStealthプロトコルを提供している。NordVPNはObfuscated Serversを提供している。

難読化の効果は、検閲技術の進化との競争である。DPI(Deep Packet Inspection)の技術が進歩すれば、難読化されたVPNトラフィックも検知される可能性がある。

VPNが守れないもの#

アカウントの紐付け#

VPNを使っていても、実名のアカウントにログインすれば、サービス側はアカウントで利用者を識別する。IPアドレスがVPNのものに変わっても、アカウントの紐付けは消えない。

ブラウザの指紋#

ブラウザフィンガープリントで説明したとおり、Canvas、WebGL、フォント列挙などの信号は、IPアドレスと無関係にブラウザを識別する。

行動パターン#

投稿の時間帯、言語、書き方の癖は、VPNでは隠せない。文章からあなたは特定されるで説明したstylometryのリスクは、VPNの使用とは無関係に存在する。

端末のセキュリティ#

VPNを使っている端末がマルウェアに侵害されていれば、VPNの暗号化は意味を失う。VPNは通信経路の暗号化であり、端末自体の防御ではない。

まとめ#

VPNが守るのは、ISPから見た通信の中身と最終的な接続先、そして接続先のサイトから見た接続元のIPアドレスである。この2点を超える匿名性は、VPN単体では提供されない。

Wall Street Marketの事例が示すように、VPNの切断は致命的な露出につながる。キルスイッチの有効化は、VPN使用の前提条件である。

VPNの選択基準は、ノーログVPNの記事で説明した5段階の証拠レベルと、匿名性重視のランキングで説明した5軸のマトリクスで評価する。

出典#