公衆無線LANの認証を突破する各種アプリ
公衆無線LANは基本的にIDを示さないと使えないことが多い。... なんと総務省は "Wi-Fi提供者向け セキュリティ対策の手引き" で"監視カメラ等で利用状況を確認できれば省略可"としているが、そこから犯行予告とか書かれた日には困っちゃわないだろうか。。
いわゆる携帯電話を中心にこの認証を自動化するアプリが提供されている。
- https://www.ntt-bp.net/jw-auto/ja/index.html Japan Wi-Fi auto-connect
- https://econnect.jp/ エコネクト
- https://townwifi.jp/ タウンWi-Fi
マイコンにはWebブラウザを搭載できないので、同様の対応を実装できないかと思って各種実装を見てみることにした。
結論
そもそも利用規約とか見せないと不味いのでWebブラウザは避けられない。
次の疑問は、そもそもキャプティブポータルを抜けるまでの間にインターネットに出られるかどうかだな。。つまり、クラウドにホストしたWebブラウザをVNCで表示するだけ みたいな対応が可能かどうか。
NTT-BP等のキャリアが提供するAPは基本的にSNS認証に対応しており、それを通すためにはホスト名制限だけでなく普通にインターネットに接続できないと対応できないのではないだろうか。
Windowsはホットスポット統合のための技術仕様を定めている https://docs.microsoft.com/ja-jp/windows-hardware/drivers/mobilebroadband/integrating-windows-with-wireless-hotspots が、これらはID/passでのサインインを基準に置いている。いわゆるHotSpot2.0はAndroidもサポート https://source.android.com/devices/tech/connect/wifi-passpoint?hl=ja している。
アプリが無いケース
上記の3アプリはキャリア毎に以下のように分類できる:
- NTT-BP: Japan Wi-Fi auto-connect
- ワイヤ・アンド・ワイヤレス(wi2、KDDI) および ソフトバンク: エコネクト
- 非キャリア(GMO): タウンWi-Fi
よって、これらのキャリア以外が提供しているWi-Fiへの対応をどうやっているかというのは見所と言える。
Wiffy
Wiffy https://wiffy.me/ は珍しい非キャリア系の公衆Wi-Fiプロバイダとなっている。導入先の正確な場所は開示されていないが、提供元のアマランスのサイト https://amalance.jp/uam.html に地方自治体や商業施設が挙げられている。
有名どころのロケーションとしては東京ドームシティのSSID .FREE_TokyoDomeCity
があるが、これは各社アプリでは基本的に対応していない。タウンWi-Fiの地図には掲載されているが、
付近には明かに異常なロケーションがあり、おそらくタウンWi-Fiはスクレイピングやそれに準ずる方法でWi-Fiスポットを掲載しているのではないだろうか。(アプリ側にも登録機能があったはず)
FREESPOT
FREESPOTはWiffy同様独立系のプロバイダで、バッファローを主幹としたFREESPOT評議会が提供している。TBDというか近所にないのでチェックできないかも。
タウンWi-FiはFREESPOTを掲載している。
野良
野良公衆Wi-Fiは非常に珍しいが、例えば IBARAKI-FREE-Wi-Fi
(pass: ibarakiken
) は一例と言える。
この茨城県のWi-Fiはどのアプリにも掲載されていない。
エコネクト
ワイヤ・アンド・ワイヤレスとソフバンクのBBモバイルポイント(こちらは廃止予定)を利用できる。よって、これらのWi-Fi AP側に特別対応(有料会員対応)が入っていると見られる。無料会員には自動接続を提供していない。
【無料Wi-Fi接続方法】
無料Wi-Fiへ接続するには各店舗のWi-Fi接続の案内に従って 接続を行ってください
これにより、ユーザに規約等を確認させられる。
エコネクトはIIJmio Wi-Fi https://www.iijmio.jp/hdd/option/iijmiowifi/ のように、いわゆるMVNOのWi-Fiオプションとしてそれなりのシェアを持つ。
タウンWi-Fi
- 本家(と地図): https://townwifi.jp/
- 事業者向: https://townwifi.jp/wifi/present/
GMOが提供する広告付のアプリ。今は亡き7SPOTに 勝手に 対応してBANされた( https://www.itmedia.co.jp/mobile/articles/1610/20/news050.html )あげく、事業者向けのopt-outを提供して問題になった。
Wi-Fi事業者は、タウンWiFiに連絡し、「利用規約の同意は手動にしてほしい」「利用規約への同意と、会員登録は手動にしてほしい」など要望すれば、手動に変更できるという。手動化できるのは初回接続時のみで、2回目以降はアプリ側が自動で処理する。
頭おかしいんじゃないの。。?
いわゆるキャプティブポータルは実はあんまり種類(= 提供事業者の数)が無いため、スクレイピングのようなテクニックで自動的に突破させることはそこまで難しくないと考えられる。
また、事業者向けにはTP-LinkのAPを無料配布しており、
※無線LANルーターには「タウンWiFi」のSSIDとPASSの設定をした状態でお送りいたします。
とあるように単にWPA PersonalなAPを基本としているようだ。ただし、サイトのスクリーンショットにある マツモトキヨシやドン.キホーテのWi-Fiはワイヤ・アンド・ワイヤレス提供のもの。
Japan Wi-Fi auto-connect
- 本家: https://www.ntt-bp.net/jw-auto/ja/index.html
- 地図: https://jw2.cdn.wifi-cloud.jp/map/ja/index.html
- SSIDリスト: https://www.ntt-bp.net/jw-auto/ja/list/index.html
- 他業者連携のプレスリリース: https://www.ntt-bp.net/articles/2022/01/wi-fijapan-wi-fi-auto-connect.html
NTT-BPのAPおよび一部の提携APに自動接続できる。FREESPOTのような統一の規約が無いWi-Fiには自動接続できない(リストにも掲載されていない)。
NTT自身の ギガらくWi-Fi には対応していることになっているが、茨城県のWi-Fi( https://www.pref.ibaraki.jp/kikaku/joho/chiiki/ibarakifreewi-fi.html )には対応していない。
認証前の挙動
もし認証前でも外部と通信できるのであれば、Webブラウザを端末側に持たせる必要はなくなる。 ...が、DNSハイジャックではなく単純にルーティングしているようだ。
... e-mail認証があるのでPOPやIMAPなら無事なんだろうか。。
~ $ curl 1.1.1.1
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="Thu, 01 Jan 1970 00:00:00:00 GMT" />
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Refresh" content="0;URL=http://div.wifi-cloud.jp/redir/?">
</head>
<body>
ポータルサイトへ自動的に移動します。<br />
移動しない場合は、<a href="http://div.wifi-cloud.jp/redir/?">こちら</a>をクリックしてください。
</body>
</html>