Appleのデバイス、iPhone/iPad/iPod TouchなどのiOSデバイスでは、電源を入れたり再起動してロック解除した後、スリープ状態から解除した後、また移動した後などでも、自動的にWi-Fiに接続することがあります。では、iOSはどのようにそのWi-Fi自動接続の優先順位を判断し、管理しているのでしょうか?
なぜWi-Fi自動接続先の管理が重要なのか?
macOSでは、自動接続は最も最近接続したWi-Fi接続先に接続しようとします。しかしiOSは、ちょっとmacOSと動作が異なるようです。というのも、iOSデバイスはモバイルデバイスなので、移動中に常に大量のWi-Fi電波とアクセスポイントを拾うことになります(もちろん、都市にいる場合ですが)。
しかし、セキュリティのない、或いは弱いWi-Fi接続ポイントに勝手に接続されてしまうと、悪意のある攻撃者にデバイスの中身を見られたりいじられたり、また何らかの悪意のあるソフトウェアを勝手にインストールされたり、マルウェアに感染したりしてしまうという、セキュリティ問題を抱える可能性もなきにしもあらずです。というわけで、iOSがどのネットワークに自動接続するか、というのは実はセキュリティ的に非常に重要なことなのです。
iOSのWi-Fi自動接続優先順位の決定方法
iOSは、Wi-Fiアクセスポイントに優先順位をつけていて、特にこれまで接続したことがあるところには優先して接続しようとします。例えば、スターバックスコーヒーでお店のWi-Fiに一度接続したら、違う場所のスターバックスでも自動的に接続しようとするなど、です。
Wi-Fi自動接続について、iOSは以下のような優先順位で接続しようとします。
- 「よく利用する」ネットワーク: あなたが最もよく頻繁に使うネットワークのことです。
- 最近接続したプライベートネットワーク: 最も最近接続したパスワード付きのWi-Fiネットワークのことです。
- プライベートネットワーク: これまで接続した自宅、事務所や、パーソナルホットスポットのことです。
- 公開ネットワーク: もしこれまでホテル、空港、カフェ、レストランなど公共の場所で公開ネットワークに繋げたことがあれば、それのことを指します。他には、HotSpot 2.0、Passpoint、EAP-SIMなど、また携帯電話キャリアによって提供されているWi-Fiなどもこれにあたります。
これらの区別を付けておくことが重要です。
現実世界での例
例えば、Wi-Fi版iPadを使っていて、自宅のWi-Fiが最も頻繁に使うネットワークだとします。そしてiPhoneも同時に使っていて、iPadを外出時に使う時には、iPhoneの携帯キャリアのネットワークによるWi-Fi パーソナルホットスポットを使って接続しているとします。
もし外でiPadを使用すると、iPadは自動的にiPhoneのパーソナルホットスポットに接続しようとします。そして帰宅すると、自動的に自宅のWi-Fiに接続します。
ある日、外出時に映画館に行ったとします。そこに公共ネットワークがあったとして、しかもこれまで1回は接続したことがあったとします。しかしiPadは勝手にその公共ネットワークに接続しようとはせず、まずはiPhoneのパーソナルホットスポットに接続しようとします。しかしもしiPhone側で手動でパーソナルホットスポットを無効にしていた場合、iPadは近くの公共ネットワークに接続しようとします(この場合、映画館のもの)。
iOSはこのように公共ネットワークも保存しますが、ネットワークに入った後にポップアップが出てサインアップが必要なネットワークについては例外となります。
スコアリングシステム
iOSのWi-Fi自動接続アルゴリズムで、最も頻繁に使うネットワークに最も優先して繋ごうとする、というものがあります。これはどのようにiOSが判断しているのでしょうか?
ネットワークの正確性と信頼性を高めるために、iOSはあなた自身の動作を”スコア”として記録しています。これまで接続したことがあるネットワークを、あなたの行動によって”スコア”を記録するのです。
- スコアの上昇:手動でネットワークを切り替え、接続した場合はスコアがアップ。
- スコアの下降:手動でネットワークから切り離した場合、スコアがダウン。
そして、上記の基本のWi-Fiネットワークのジャンルの順序が最優先となり、その上にスコアリングで最終的な優先順序が決まる、というわけですが、実は更にiOSは、そのネットワークの安全性(暗号化レベル)もその評価の対象としています。
iOSのWi-Fi自動接続の優先順位の付け方をまとめると以下の通りとなります(Apple公式のサポート文書による)。
ネットワークのカテゴリ | ネットワークのセキュリティ | |
---|---|---|
1 | プライベート | EAP |
2 | プライベート | WPA |
3 | プライベート | WEP |
4 | プライベート | セキュリティ保護されていない/公開 |
5 | 公開 | HS2.0/Passpoint |
6 | 公開 | EAP |
7 | 公開 | WPA |
8 | 公開 | WEP |
9 | 公開 | セキュリティ保護されていない/公開 |
では、上記の同じレベルのネットワークでスコアも同じものが複数あったら、iOSはどれに接続するのでしょう?
その場合は、Wi-Fiのネットワーク信号の強さ(RSSI)によって判断される、とApple公式のサポート文書にも書かれています。
Wi-Fi自動接続をオフにするには
上記のように優れたアルゴリズムを持つiOSデバイス(iPhone/iPad/iPod Touch)ですが、もしiOSデバイスでWi-Fi自動接続をオフにしたい場合は、設定>Wi-Fiで、それぞれのWi-Fiネットワークの右側のiのアイコンをタップし、自動接続をオフにします。いっぺんにはオフにできず、各アクセスポイント毎に設定しなければならないのはちょっと面倒ですけどね。
iOSのWi-Fi自動接続はかなりよく作り込まれているシステムだった
パケット容量に制限があるタイプの携帯電話SIMをお使いの方は、とても気になるところだと思います。個人的には、メインで使っている中国のキャリアは使い放題なので、このWi-Fi自動接続は家以外ではあまり役に立っていないのが正直なところです。笑
またこれは個人の経験ですが、Wi-Fi自動接続は、よく空港のネットワークなどを繋ごうとして失敗したものも勝手に覚えていたりするので、手動でオフにしなきゃいけないのが少々面倒くさいですね。とはいえよくできた仕組みだと思います。よく移動して、Wi-Fiをよく切り替えて使う人は、手動でのオン/オフもうまく切り替えつつ最大限に活用しましょう!
記事は以上です。
(記事情報元:iDownloadBlog)