仮想プライベートネットワーク(VPN)は、ユーザーがプライベートネットワークに接続しているかのようにインターネットへアクセスできる、インターネットセキュリティサービスです。通信を暗号化し、高い匿名性を提供します。VPN を使う主な理由は、公衆 Wi-Fi での盗聴対策、インターネット検閲の回避、リモートワーク向けに社内ネットワークへ接続することです。
通常、インターネットトラフィックの多くは暗号化されておらず、公開されています。ユーザーがブラウザーでウェブサイトを開くなどして接続すると、デバイスはインターネットサービスプロバイダー(ISP)に接続します。ISP はインターネットへ接続し、対象の Web サーバーを探して、リクエストしたサイトを取得します。
ウェブサイトのリクエストでは、各段階でユーザーの情報が露出します。プロセス全体でユーザーの IP アドレスが見えるため、ISP や中継者は閲覧履歴をログに残せます。さらに、デバイスと Web サーバーのあいだのデータは暗号化されていません。悪意のある攻撃者がデータを盗聴したり、経路上攻撃(on-path attack) ↗ などを仕掛ける余地があります。
VPN サービス経由でインターネットに接続すると、セキュリティとプライバシーの水準が上がります。
flowchart LR accTitle: VPN の仕組み subgraph デバイス A(VPN クライアント) end A<--暗号化 VPN トンネル-->B(VPN サーバー)<-->C((インターネット))
VPN 接続は、次の 4 ステップです。
- VPN クライアントが、暗号化された接続で ISP に接続します。
- ISP は暗号化を維持したまま、VPN クライアントを VPN サーバーへ接続します。
- VPN サーバーはユーザーのデバイスからのデータを復号し、暗号化されていない通信でインターネットへ接続して Web サーバーへアクセスします。
- VPN サーバーはクライアントとのあいだに暗号化接続(VPN トンネル)を作ります。
VPN クライアントと VPN サーバーのあいだの VPN トンネルは ISP を通りますが、データはすべて暗号化されているため、ISP はユーザーの活動を見られません。VPN サーバーとインターネットの通信は暗号化されていませんが、Web サーバーが記録するのは VPN サーバーの IP アドレスだけです。ユーザーの情報は得られません。