概要
- British Airwaysの無料「Messaging」WiFiを利用した体験談
- SNI(Server Name Indication)による接続制御の仕組みを解析
- SNIを偽装しプロキシ経由で任意サイト閲覧に成功
- 技術的検証と実際のフライトでのテスト結果
- SNIとTLS通信の現実的なセキュリティ課題
British Airwaysの無料「Messaging」WiFiの仕組みと突破法
- 2025年6月、 HKG-LHR 間のBritish Airways便で 無料「Messaging」WiFi を体験
- 「The British Airways Club」会員のみ利用可だが、 機内WiFiポータルから即時登録可能
- Eメール認証不要、 即座に「Messaging」プラン利用開始可能
- WhatsApp・Signal・Wechatは利用可( 画像送信不可)、Discordは不可
- 一般Webサイト(例: example.com)へのアクセスはTCPリセットで遮断
- TLS通信のSNI(Server Name Indication) を利用し、許可されたドメイン(例: wa.me等)以外は接続遮断
- SNIはTLSハンドシェイク時にドメイン名を平文で送信 するため、ネットワーク側で判別可能
- 許可ドメインリスト外は 即座に接続リセット、SNI未設定(IP直指定)も同様に遮断
SNIホワイトリスト突破の技術的検証
- 自分のVPSのIPに対してSNI未設定でTLS接続 → 即リセット
- VPSへのTLS接続時にSNIをwa.meに偽装 → 接続成功
- サーバー側(NGINX)はSNIと証明書不一致でもTLS接続自体は成立
- SNI偽装によりBA側の「Messaging」通信として認識され、TLSトンネル確立
- HTTPリクエストをソケット経由で直送信し、 任意Webサイトのデータ取得に成功
HTTPSプロキシを利用したWebアクセス拡張
- VPS上にtinyproxyでHTTPプロキシ設置、stunnelでTLSラップ
- stunnelの証明書は自己署名、 CNにwa.meを指定
- クライアント(curl等)からは SNIをwa.meに設定しつつVPSのIPへ接続
- hostsファイル編集またはcurlの--resolveオプションでSNI指定
- TLS証明書エラーは--proxy-insecureで無視
- curl経由でifconfig.co等の外部サイトアクセス成功
実際のフライトでのテストと結果
- 帰国便で実験を実施、curlでVPS経由の通信が成功
- ブラウザでもHTTPSプロキシ設定+SNI偽装でHacker News等の閲覧に成功
- 帯域は限定的だが、テキスト主体のサイト閲覧は問題なし
- Chromiumの証明書警告無効化フラグで自己署名証明書も回避
SNIとTLS通信の現実的なセキュリティ課題
- TLS通信は暗号化されているが、SNIでドメイン名は平文漏洩
- ネットワーク管理者やISPはSNIでアクセス先ドメインを判別・制御可能
- ECH(Encrypted Client Hello)等の新技術でSNI隠蔽が進行中
- 一般ユーザーのTLS理解度のギャップ(全て暗号化されていると誤解しがち)
まとめ・考察
- 機内WiFi等の「無料メッセージング」プランはSNIベースで通信制御
- SNI偽装+HTTPSプロキシで 任意通信を「メッセージ通信」として突破可能
- SNIの構造的課題により、現状では 完全な通信秘匿は困難
- ECH等の普及が進めば、今後この手法も対策される可能性
- 現場での検証・実践により、ネットワーク制御の現実とTLSの限界を体感
この内容は技術的な検証・知見の共有を目的とし、ネットワークの利用規約や法令に反しない範囲でご活用ください。