公共施設などでフリーWi-Fiが提供されていても、「危険なのでは?」と考えるケースも多いです。
しかし、現在のフリーWi-Fiは、十分安全に利用できるものも多いです。
特に、(オンラインでの取引きではない)情報収集では、安心して利用できます。
実際にFREESPOT Wi-Fi に接続して
普段あまり公共Wi-Fiを使わないので、どのような仕組みで動いているのか興味を持ち、iPhoneで接続しながら技術的な側面を調べてみることにしました。
1. FREESPOTとは
FREESPOTは、公共施設や飲食店などで無料で使えるWi-Fiサービスです。
FREESPOT協議会という団体が2002年に設立し、全国の施設で統一された認証システムを提供しています1。
1.1. 接続の手順
1.2. Wi-Fiネットワークを選択
まず、iPhoneの設定アプリからWi-Fi一覧を開くと、「’freespot’=SecurityPassword(AES)」というSSIDが見つかりました。SSIDというのは、Wi-Fiネットワークの名前のことです。
興味深いのは、SSID名にパスワードが書かれている点です。通常、Wi-Fiのパスワードは隠されているものですが、ここでは「SecurityPassword」という文字列が明記されていました。
このネットワークはAESという暗号化方式で保護されています。AESは現在広く使われている強力な暗号化技術です2。
1.3. パスワード入力と接続
パスワード欄に「SecurityPassword」と入力すると、すぐにWi-Fiには接続できました。
しかし、この時点ではまだインターネットは使えません。
接続後、自動的にブラウザが開き、認証ページが表示されました。
この「Wi-Fiには繋がったけどインターネットは使えない状態」で認証画面を表示する仕組みを、Captive Portal(キャプティブポータル)と呼びます3。
1.4. メール認証
認証ページには「メールアドレスを入力してください」というフォームがありました。
ここにメールアドレスを入力すると、「送信しようとしている情報は保護されません」という警告が表示されます。
これは、このフォームがHTTPという暗号化されていない通信方式を使っているためです4。後で詳しく説明しますが、この点は少し気になりました。
「このまま送信」を選ぶと、入力したメールアドレス宛に認証用のURLが届きました。このURLをタップすると、「認証完了しました」というページが表示されます5。
1.5. 接続完了
認証が完了すると、iPhoneの画面に「Success」と表示され、自由にインターネットが使えるようになりました。
有効期限は「最後に利用した日から183日間」とのことです。
半年近く有効なので、頻繁に訪れる施設であれば、一度認証すればしばらく再認証の必要はありません。
2. ネットワーク情報を調べた
接続しているネットワークの詳細情報を確認してみました。
2.1. 基本情報
Wi-Fiの詳細設定を見ると、以下の情報が表示されていました。
- Wi-Fiアドレス(MACアドレス):B6:3E:DF:2D:10:8F
- IPアドレストラッキング制限:有効
- プライベートWi-Fiアドレス:固定
MACアドレスというのは、ネットワーク機器に割り当てられた固有の識別番号です6。
iPhoneは、プライバシー保護のためにこの番号をランダムに変更する機能を持っていますが、この設定では固定にしていました。
2.2. パブリックIPアドレス
dnsleaktest.comというサイトで、自分のパブリックIPアドレスを調べてみました。
パブリックIPアドレスは、インターネット上での住所のようなものです。
表示されたIPアドレスは「114.189.98.147」でした。
このIPアドレスを逆引き(IPアドレスから接続元の情報を調べること)すると、NTT DOCOMO BUSINESSという結果が出ました。
場所は福岡県となっています。
これは、この施設がNTT Docomoのビジネス向け回線を契約していて、その回線を通じてインターネットに接続していることを意味します。
2.3. DNSサーバー
同じサイトで、DNSサーバーの情報も確認できました。
DNSは、ドメイン名(例:google.com)をIPアドレスに変換するサービスです7。
使用されていたDNSサーバーは以下の2つです。
- 125.201.249.76
- 125.201.249.78
どちらもNTT DOCOMO BUSINESSのものでした。
これは、DNS漏洩(本来使うべきDNS以外のDNSサーバーを使ってしまうこと)が起きていないことを示しています。
2.4. ポートの開放状況
yougetsignal.comというサイトで、ポート80(HTTP通信で使われる番号)が開いているかを確認してみました。
結果は「Port 80 is closed」。
つまり、外部から直接この端末にHTTP接続することはできない状態です。
これは、セキュリティ上は望ましい設定です。
2.5. IPv6対応
ipv6-test.comでIPv6(次世代のインターネット通信規格)に対応しているかを確認しましたが、「ERR_SSL_PROTOCOL_ERROR」というエラーが表示されました。
このネットワークはIPv4のみに対応しており、IPv6は使えないようです8。
2026年現在ではIPv6対応が進んでいますが、このシステムは少し古い設計なのかもしれません。
2.6. 速度を測ってみた
接続できたので、実際の通信速度を測定してみました。
Ookla Speedtestというアプリを使い、15:55に測定した結果は以下の通りです。
- ダウンロード:114 Mbps
- アップロード:122 Mbps
- Ping:55ms
- パケットロス:0.00%
100Mbpsを超える速度が出ており、かなり快適です。動画のストリーミングも問題なく視聴できるレベルでしょう。
ただし、Googleの速度テスト機能で別途測定したところ、ダウンロード20.8 Mbps、アップロード13.7 Mbpsという結果も得られました。
測定のタイミングや接続しているサーバーによって、速度に大きなばらつきがあるようです。
これは、同じWi-Fiを使っている人の数や、施設全体の回線の混雑状況によって変動していると考えられます。
2.7. HTTPS通信は問題なし
メール認証の際にHTTPの警告が出たので気になっていましたが、認証後の通常の通信については確認してみました。
Safariでexample.comというテスト用のサイトにアクセスしたところ、問題なくHTTPS接続できました。つまり、認証時だけHTTPが使われていて、それ以降の通信は暗号化されています。
3. Captive Portalの仕組み
ここで、先ほど出てきた「Captive Portal」という仕組みについて、もう少し詳しく説明します。
Captive Portalは、公共Wi-Fiでよく使われる認証システムです。
Wi-Fiには接続できても、認証が完了するまではインターネットに出られないようにする仕組みです。
この名前は「捕らわれた入口」という意味で、ユーザーを一時的に認証ページに「閉じ込める」ことから名付けられました。
3.1. デバイスはどうやって気づくのか
iPhoneは、Wi-Fiに接続すると自動的に「本当にインターネットに繋がっているか」を確認します。具体的には、captive.apple.comという特定のURLにアクセスを試みます。
正常にインターネットに繋がっていれば、このURLから期待通りの応答が返ってきます。
しかし、Captive Portalが設定されている場合、このアクセスは認証ページにリダイレクト(転送)されます。
iPhoneは「期待と違う応答が来た」ことから、Captive Portalが存在すると判断し、自動的にブラウザを開いて認証ページを表示するのです。
3.2. リダイレクトの実装方法
このリダイレクトは、ルーターやアクセスポイントで制御されています。
認証前のユーザーがHTTPでどこかにアクセスしようとすると、ファイアウォールのルールによって強制的に認証サーバーのURLに転送される仕組みです。
FREESPOTの場合、認証ページのURLは「auth1.freespot.com」でした。
これは外部のサーバーです。つまり、認証ページ自体はルーターの中にあるのではなく、FREESPOT協議会が管理している中央サーバーから配信されています。
3.3. 認証後の処理
メール内のURLをクリックして認証が完了すると、サーバー側でそのデバイスのMACアドレスがホワイトリスト(許可リスト)に登録されます。
以降、そのMACアドレスからの通信はすべてインターネットに通すように設定が変更されます。
この許可は183日間有効です。
4. FREESPOTの設計について考える
いくつかの技術的な特徴から、FREESPOTのシステム設計について考察してみます。
4.1. なぜNTT Docomoの回線なのか
最初に疑問に思ったのは、「なぜFREESPOTの通信がNTT Docomoのビジネス回線を通っているのか」という点です。
これは、FREESPOT協議会が回線を提供しているのではなく、各施設が自分たちの回線にFREESPOTの認証システムを導入しているからです。
通常業務用にNTT Docomoのビジネス回線を契約しています。その回線に、FREESPOT協議会が提供する認証システムを組み合わせることで、訪問者向けの無料Wi-Fiサービスを実現しているのです。
4.2. 認証サーバーは外部にある
認証ページのURL(auth1.freespot.com)を調べると、これがインターネット上の外部サーバーであることがわかりました。
つまり、各施設のルーターは認証ページ自体を持っていません。
ルーターは単に「このMACアドレスは認証済み」「このMACアドレスは未認証」という管理だけを行い、実際の認証処理は中央のサーバーで行われています。
このような設計にすることで、全国の施設で統一された認証システムを使えますし、システムのアップデートも中央で一括して行えます。
施設側は最小限の機器を設置するだけで、FREESPOTのサービスを提供できるのです。
4.3. なぜ認証ページがHTTP認証なのか
認証ページがHTTPSではなくHTTPで提供されていることは、セキュリティ上の懸念点です。
しかし、これにはいくつかの理由が考えられます。
まず、FREESPOT協議会は2002年に設立されました。
当時はまだHTTPSが一般的ではなく、多くのWebサイトがHTTPで運用されていました。
また、Captive Portalの仕組み上、HTTPSを使うと証明書のエラーが発生しやすくなります。
ユーザーが任意のHTTPSサイトにアクセスしようとしたときに、それを認証ページにリダイレクトすると、ブラウザは「証明書が一致しない」という警告を出してしまうのです。
古いシステムとの互換性や、技術的な制約から、現在もHTTPが使われ続けているのだと思われます。
4.4. 実際のリスクは限定的
とはいえ、実際のセキュリティリスクは限定的です。
HTTPで送信されるのはメールアドレスだけです。
メールアドレスは、それ自体が秘密にすべき情報というほどではありません。
最悪の場合、スパムメールが増えるリスクがある程度です。
また、認証後の通常の通信はHTTPSで保護されることを確認しました。
重要な情報をやり取りする際は、きちんと暗号化されています。
さらに、Wi-Fi自体もAESで暗号化されているため、同じWi-Fiに接続している他のユーザーから通信内容を盗み見られる心配は少ないでしょう。
5. まとめ
FREESPOT Wi-Fiに実際に接続し、その仕組みを調べてみました。
技術的には、Captive Portalという標準的な認証方式を使い、中央集権型のシステムで全国の施設を管理する設計になっていることがわかりました。
通信速度も十分に速く、パケットロスもゼロでした。
ただし、利用者数や時間帯によって変動する可能性があります。
公共Wi-Fiの仕組みを知ることで、普段何気なく使っているインターネット接続の裏側で、どのような技術が動いているのかを理解する良い機会になりました。
- FREESPOT協議会は、公衆無線LANインターネット接続サービスの普及促進を目的として設立された非営利団体です。 – FREESPOT協議会について
- AES(Advanced Encryption Standard)は、米国政府標準の暗号化方式で、128ビット、192ビット、256ビットの鍵長に対応しています。 – AES暗号化とは
- Captive Portalは、RFC 8910として標準化されている技術で、公衆Wi-Fiサービスにおける認証・利用規約同意の標準的な方法です。 – Captive Portal Architecture – RFC 8910
- HTTPは平文で通信するため、ネットワーク上で通信内容を傍受できる立場にある者(中間者)に情報を読み取られるリスクがあります。HTTPSはSSL/TLSで暗号化することで、この問題を解決します。 – HTTPとHTTPSの違いとは
- Appleデバイスは、captive.apple.comにアクセスして期待される応答が返ってくるかを確認することで、インターネット接続とCaptive Portalの有無を判定します。 – About Captive Wi-Fi networks – Apple Support
- MACアドレス(Media Access Control address)は、ネットワークインターフェースに割り当てられた48ビットの識別子で、通常16進数の6組の値(例:00:1A:2B:3C:4D:5E)で表現されます。 – MACアドレスとは
- DNS(Domain Name System)は、人間が読みやすいドメイン名を、コンピュータが通信に使用するIPアドレスに変換する分散型のシステムです。 – DNSの仕組み
- IPv6は、IPアドレス枯渇問題を解決するために開発された次世代インターネットプロトコルで、IPv4の32ビットアドレスから128ビットアドレスに拡張されています。 – IPv4とIPv6の違い