公衆Wi-Fiは、カフェ、ホテル、空港、図書館などで手軽に利用できる一方、接続先の正当性や暗号化の状態を利用者だけで判断しにくいネットワークです。Wi-Fiの電波が暗号化されていても、偽アクセスポイント、認証ページ、端末の共有設定、アプリ独自の通信方式など、別の場所から情報が漏れる可能性があります。
VPNを使うと、端末からVPNサーバーまでの通信を暗号化されたトンネルにまとめられます。しかし、VPNは端末内のマルウェア、偽サイトへのログイン、アプリに自分で入力した情報、VPN接続前に送信されたデータまで自動的に守るものではありません。大切なのは「VPNをオンにしたから安全」と考えることではなく、どの通信がVPNを通り、どこに注意が残るのかを確認することです。
公衆Wi-Fiで起こり得る情報漏えい
公衆Wi-Fiで最初に注意したいのは、接続先が本物かどうかです。店舗名に似せたSSIDや、パスワード不要で接続できるアクセスポイントが設置されていると、利用者は正規のネットワークだと思って接続してしまうことがあります。SSIDの名前だけでは安全性を証明できません。店舗スタッフ、ホテルの案内、公式掲示など複数の情報源で接続先を確認し、似た名前のネットワークを選ばないようにします。
次に、端末の共有機能が問題になります。ファイル共有、AirDropなどの受信設定、プリンター共有、リモートログインが有効なままだと、同じネットワークにいる端末から不要な探索を受ける可能性があります。公衆ネットワークに接続するときは、OSのネットワークプロファイルを「パブリック」や「信頼しないネットワーク」に設定し、共有機能を必要なときだけ有効にしてください。
暗号化されていないHTTP通信では、通信内容やログイン情報が第三者に読まれる危険があります。現在の主要なウェブサービスはHTTPSを使うことが多いものの、すべてのページやアプリが同じとは限りません。ブラウザーのアドレスバーに鍵の表示があるか、ドメイン名が正しいかを確認し、証明書警告を無視して先へ進まないことが重要です。
SSID
名前だけで正規のアクセスポイントだと判断せず、公式案内と照合します。
DNS
VPN接続後も通常のDNSへ問い合わせていないか確認します。
HTTPS
VPNの有無にかかわらず、サイトの暗号化とドメイン名を確認します。
VPNで守れる範囲と守れない範囲
VPNクライアントが正常に接続すると、端末からVPNサーバーまでの通信は暗号化されます。公衆Wi-Fiの運営者や、同じアクセスポイントを利用する第三者から、通信先や内容を直接観察されにくくなる点が大きな利点です。特に、DNS問い合わせをVPNトンネルへ送る設定が有効なら、アクセス先の名前が公衆Wi-Fi側のDNSへ漏れる可能性も抑えられます。
ただし、VPNサーバーから目的のウェブサイトやアプリまでの通信が常に同じ形で保護されるわけではありません。HTTPS対応サービスでは、VPNを通った後もウェブサイトとの間でTLS暗号化が使われます。一方、HTTPSに対応していない通信では、VPNサーバーから先の区間に注意が必要です。VPNは「端末からVPNサーバーまでの保護」と考え、接続先サービスの暗号化も別に確認してください。
また、分割トンネルやルール分岐を使っている場合、特定のアプリや宛先をVPNの対象外にできます。これは国内サービスや社内システムを直接接続したいときに便利ですが、対象外にしたアプリの通信は公衆Wi-Fiから見える経路に戻ることがあります。安全確認中は、まず全通信をVPNへ送るモードで状態を確認し、必要性が明確になってから分岐を追加するほうが原因を切り分けやすくなります。
- ✅ VPN接続後に、クライアントの接続状態と使用中のノードを確認する。
- ✅ DNSリーク保護、IPv6の扱い、キルスイッチの設定を確認する。
- ✅ TUNやシステムVPNモードを使う場合、対象アプリの通信がその経路に入っているか確認する。
- ❌ VPN接続中だからといって、偽サイトや証明書警告を無条件で信頼しない。
- ❌ 分割トンネルの対象外アプリを確認せず、重要なログイン操作を行わない。
実際に情報漏えいを確認する手順
接続前の状態を記録する
まずVPNを切った状態で、IPアドレス確認サイトとDNSリーク確認サイトを開きます。表示された接続元、DNSサーバー、IPv4とIPv6の有無を記録してください。ここで取得した情報は、VPN接続後との比較に使います。確認サイトは一つだけに頼らず、結果が大きく異なる場合は、ブラウザーのキャッシュ、広告ブロッカー、企業ネットワークの設定なども考慮します。
VPN接続後に同じ条件で比較する
次にVPNクライアントを起動し、接続が完了するまで待ちます。接続表示だけで判断せず、同じ確認サイトを再読み込みしてください。接続元IPがVPN側のものに変わっているか、DNSサーバーが公衆Wi-Fiの事業者や自宅回線のもののままになっていないかを見ます。IPv6がVPNの対象外なら、IPv4だけ変わっていても一部の通信が別経路へ出ることがあります。
ブラウザーとアプリを分けて確認する
ブラウザーで問題がなくても、すべてのアプリがVPNを利用しているとは限りません。ブラウザーのWebRTCテストでは、ローカルアドレスや実際の接続候補が表示されないか確認します。ビデオ会議、メール、クラウドストレージ、メッセージアプリなど、重要な通信を行うアプリは個別に起動して挙動を確認してください。
WindowsやmacOSのシステムVPN、AndroidやiOSのVPN構成、LinuxのTUN対応クライアントでは、実装や設定項目が異なります。Clash Verge、sing-box、Shadowrocketなどの互換クライアントを使う場合も、システムプロキシだけを使うのか、TUNやVPNインターフェースで端末全体を処理するのかを確認します。サブスクリプションを導入しただけでは接続は始まらず、ノード選択、ルールモード、システムVPNの許可が別途必要なことがあります。
クライアント設定で見落としやすい項目
公衆Wi-Fiで使うクライアントは、接続に成功することだけでなく、切断時の動作も確認する必要があります。キルスイッチが有効なら、VPNが一時的に切れたときに通常回線へ自動的に戻る通信を止められます。名称は「キルスイッチ」「常時接続VPN」「VPNなしでは接続しない」など、OSやクライアントによって異なります。設定後は、一度VPNを手動で切断して、ブラウザーや通信アプリが本当に停止するか確認してください。
自動接続も重要です。公衆Wi-Fiへ接続した直後にVPNがまだ起動していない時間があると、メール同期や通知、クラウドアプリが先に通信する可能性があります。可能であれば、信頼できないネットワークではVPNを自動起動し、接続完了まで重要なアプリを開かないようにします。スリープ復帰後、Wi-Fiからモバイル回線へ切り替えた後、 captive portal の認証後にも、VPNが再接続しているか確認してください。
プロトコルにも違いがあります。Shadowsocks、VMess、Trojan、Hysteria2、WireGuardなどは同じものではなく、クライアントとサーバーの双方が対応する必要があります。プロトコル名だけで安全性や速度を断定せず、更新が続いている公式クライアント、正しい証明書や認証情報、信頼できるサブスクリプションの入手経路を優先してください。設定URLはアカウントを識別する情報を含む場合があるため、スクリーンショットやチャットに公開してはいけません。
| 確認項目 | 確認する内容 | 問題がある場合の対応 |
|---|---|---|
| 接続元IP | VPN接続前後で表示が変わるか | ノード、接続状態、システムVPNの許可を見直す |
| DNS | 公衆Wi-FiのDNSへ問い合わせていないか | DNSリーク保護とIPv6の経路を確認する |
| アプリ経路 | 分割トンネルの対象外になっていないか | 一時的に全通信モードへ変更して比較する |
| 切断時の動作 | VPN停止中に通信が通常回線へ戻らないか | キルスイッチや常時接続VPNを設定する |
公衆Wi-Fiを安全に使うための最終確認
接続前には、SSIDを公式案内と照合し、端末の共有機能を無効にし、自動接続を停止します。接続後は、VPNが実際に有効になっていること、接続元IPとDNSが想定どおり変わっていること、必要なアプリがVPNの対象に含まれていることを確認します。ログインや決済では、URLのドメイン、HTTPS、証明書警告を確認し、少しでも不自然ならモバイル回線へ切り替える判断も必要です。
VPNサービスを選ぶときは、対応OSだけでなく、Windows、macOS、Android、iOS、Linuxでの接続方式、公式クライアントの有無、サブスクリプションの導入方法、ルール分岐、TUN、キルスイッチ、DNS処理を確認しましょう。必要に応じてClash Verge、sing-box、Shadowrocketなどを使えますが、互換性があることと、端末全体の通信を保護できることは別です。導入後は必ず自分の端末と公衆Wi-Fi環境でテストしてください。
- ✅ 公式に案内されたSSIDだけを選び、接続後にネットワークを「信頼しない」と設定する。
- ✅ VPN接続、IP、DNS、IPv6、WebRTC、主要アプリの経路を確認する。
- ✅ キルスイッチを設定し、スリープ復帰や回線切り替え後の再接続を確認する。
- ✅ OS、ブラウザー、VPNクライアントを最新の状態に保つ。
- ❌ 証明書警告、偽ログイン画面、正体不明のSSIDを「一時的だから」と無視しない。