2022.7.25

MACアドレス制限のかかったネットワークでiOS端末に設定すべきこと

セキュリティ的な理由から、iOS端末が接続する無線ネットワークにMACアドレス制限をかける場合があります。運用が複雑になるうえに、実はセキュリティ的に余り意味がないので推奨はされませんが、やむをえず制限をかけざるを得ない環境もあることでしょう。


(MACアドレスはiOSではWi-Fiアドレスと表記される。EC:CE:D7はAppleに割り当てられたベンダーID)

しかし、iOS14以降のiOS端末はMACアドレス制限のかかった無線ネットワークとの相性が非常に悪く、ハマりポイントがあるので注意が必要です。本稿では、iOS14以降のiOS端末をMACアドレス制限有りのネットワーク下で使用する場合の注意点と対策方法をご紹介します。

 

iOS14以降でハマるプライベートWiFiアドレス

iOS14以降から、プライベートWiFiアドレスなる機能が搭載されました。iOS端末のMACアドレスを隠蔽するためのもので、デフォルトではONになっています。

 → 
(接続中WiFi名の右端 (i) ボタンから詳細情報画面で確認できる)

iOS14以降のiOS端末では、接続される側(ネットワーク機器)から見た場合の端末MACアドレスが真のMACアドレスではなくなっているということですね。デフォルトでこの挙動になります。

MACアドレス制限は通常、端末側のMACアドレスが変わらない前提で「MACアドレスが XX:XX:XX:XX:XX:XX なら接続を許可します」と設定するものです。真のMACアドレスでないのなら、条件が満たされず接続できなくなってしまうことは容易に想像がつきます。

  
(真のMACアドレス(左)と、接続先のネットワーク機器に伝わるMACアドレス(右)の違い。全く異なることが分かる)

結果、プライベートWiFiアドレスの存在を知らずにiOS13以前からiOS14以降にアップデートすると、WiFiが繋がらなくなったというトラブル報告が大量発生してしまうことになります。

 

MACアドレスのランダム化を無効にするために

もしMACアドレス制限付きのネットワークを構成していて、iOS14以降を使用するのなら、トラブルを避けるためプライベートWiFiアドレス機能を無効にしなければなりません。無効化には以下が必要となります。

  • 監視モード端末であること
  • 構成プロファイルを流し込むこと

DEP(ADE)端末であれば後者の構成プロファイルのみを意識すれば良いでしょう。そうでない場合はiOS端末を Apple Configurator で明示的に監視モード化する必要があります。詳しくは以下をご覧下さい

実は、プライベートWiFiアドレス機能の無効化に監視モードは必須ではありません。しかし、厳密な運用をする為には必要となります。この点は後述します。ひとまずやり方を先に確認しておきましょう。

 

MACアドレスのランダム化を無効にする方法

手順はいたって簡単で、構成プロファイルの中で無効化を明示するのみです。端末全体に対して設定するのではなくWiFi接続先情報ごとに指定するという点に注意して下さい。

Apple Configurator の構成プロファイルエディタでは、各WiFi接続情報の中にある「関連付けを回避するためのMACランダム化を無効にする」のチェックが該当します。これをONにして保存します。

構成プロファイルのXMLを直接編集している場合は、WiFi接続情報のXMLの中に以下のように DisableAssociationMACRandomization キーに true を指定しましょう。

作成した構成プロファイルを Apple Configurator か MDM を使って流し込むと設定が反映されます。構成プロファイルをMDM上で編集する場合は、各MDMサービスのマニュアルを参照して下さい。

構成プロファイルを流し込んだ後、端末の設定アプリからWiFi接続情報の詳細画面を開くと、本当に無効になっているかどうか確認することができます。

  
(スイッチのON/OFFだけでなく、WiFi一覧でも、接続詳細画面の最上部にも警告が表示される)

 

MACアドレスがランダム化されたものかどうかを確認する方法

実は、iOS側の設定を見なくても、例えばWiFiアクセスポイント機器の接続端末一覧などの画面で、MACアドレスがランダム化された端末かどうかを(ほぼ確からしく)見分ける方法があります。

MACアドレスは48ビット(6バイト)で構成されますが、ランダム化されたMACアドレスの場合、その最初の1バイト(図中の赤色部分)中の0ビット目(I/Gビット)と1ビット目(G/Lビット)の並びが下図のとおり 10 となります。

従ってMACアドレス表記の2文字目が 2,6,A,E のいずれか(16進数表記で0,1ビット目が10となる)であれば、接続されているiOS端末はプライベートWiFiアドレス機能が有効になっている可能性が高いということです。


(あるアクセスポイントの接続ログ一部。2文字目がA,Eなのでランダム化されたものと思われる)

本件I/GビットとG/Lビットとランダム化ついては、標準化団体IETFに Internet-Draft (草稿文書) として提出されている文書にも記載がありますので、興味のある方は確認されると良いでしょう。


(2022年7月時点のステータスは WG Document)

ちなみにこのランダム化、実はiOS8(iPhone5の時代)から採用されています。ユーザが意図せず位置情報をトラッキングされてしまうことを避けるため、WiFi接続確立前のプローブ要求(Probe Request)に限って長らく使われてきた仕掛けです。

iOS14のプライベートWiFiアドレス機能はその延長線上にあるもので、接続確立前だけでなく接続確立後のMACアドレスも隠すようになったものです。詳しくは以下の資料を参照して下さい。iOS端末の運用だけでなく、ネットワーク管理もされている情シス担当者の方は一読されると良いでしょう。

昨今のAppleは個人情報を守る姿勢を強めています。プライベートWiFiアドレス機能はその姿勢強化を裏付ける機能と言えるでしょう。

 

MACアドレスのランダム化の無効に監視モードが必要なわけ

ところで、前述のMACアドレスのランダム化を無効にするためにの項で、監視モードは必須ではないと書きました。実際その通りで、構成プロファイルさえ流し込めば、監視モードかどうかに関わらずプライベートWiFiアドレス機能は無効になります。

が、監視モードでない場合、流し込んだ直後は無効化されるもののユーザが手動で有効化できてしまう点に注意が必要です。

 → 
(監視モードでない場合、簡単にランダム化の無効化を解除されてしまう)

これでは余り意味がありませんね。監視モードの端末であれば、上記のような手動有効化ができず、画面上でも下図の赤枠のように注意書きが表示されるようになります。


(プライベートWi-Fiアドレスのスイッチをタップしても反応しない。つまりユーザが勝手に無効化を解除することはできない)

業務端末としてiOS端末を配布する場合、この画面の存在すら知らない従業員が大半でしょうから、監視モードでなくても別に構わない…という割り切りもアリでしょう。従って、各社ごとプロジェクトごとに諸事情を勘案し総合的に判断することとなります。

 

以上、MACアドレス制限のかかったネットワークでiOS端末を使用する場合に注意すべきことについて解説しました。

iOSアプリ開発で悩んだ時に、いつでも相談できる安心感

課題に直面する度に、ネットを検索して彷徨って、断片的な知識でオペレーションすることを繰り返していませんか?

B2C/B2Bの両分野で国内随一の知見と御支援実績を誇る弊社を、いつでも相談できる貴社の相談窓口として頂くことができます。

本サイトに裏付けられた情報の幅広さと深さで、貴社のお悩みを解決いたします。

本サイトはACNメンバーの(株)フィードテイラーが運営するエンタープライズiOS情報サイトです

最近の投稿