技術情報
iOS14で追加された「Wi-Fi MACアドレスのランダマイズ化」とは
企画・運用委員会 松村直哉
9月17日、AppleからiPhoneの「iOS14」の配信が開始されました。新しい、機種の発表はもう少し先のようですが、様々な新機能が盛り込まれました。便利そうな機能が多数、織り込まれていますが、慣れるまでに時間がかかりそうです。
iOS14で追加された機能については以下を参照してください。
https://www.apple.com/jp/ios/ios-14/features/
Wi-Fiに関連する機能で、この追加機能に載っていないのが「プライベートアドレス」スイッチです。このスイッチは「設定」⇒「Wi-Fi」⇒ネットワークの右端のiマークをタップすると現れてきます。
<図1>
初期設定時オンとなっているこのスイッチはいったい何のスイッチなのでしょうか・・・
<図2>
ネットワーク屋が思い浮かぶのがプライベートIPアドレスです、しかし、このスイッチはMACアドレスに関するもののようです。
このプライベートアドレスに関してAppleのサポートのページに「iOS 14, iPadOS 14, watchOS 7から新たなに追加となったセキュリティのための機能」について解説している以下の記事があります。
「Use private Wi-Fi addresses in iOS 14, iPadOS 14, and watchOS 7」
https://support.apple.com/en-us/HT211227
この記事のなかで、「デバイスがすべてにネットワークで同じWi-Fi MACアドレスを使用していると、Wi-Fiサービスを提供するオペレータはMACアドレスとデバイスの利用に関する場所を時間の経過とともに簡単に関連図けることができ、ユーザの追跡やプロファイリングが可能になる、このプライバシーリスクを軽減するために、Wi-Fiネットワークごとに異なるMACアドレスを使用することができます。」とあります。
つまり、Wi-FiネットワークごとにプライベートのMACアドレスがランダムに生成されるようです。このスイッチはこの機能をディスエーブルにするため新設されたプライベートアドレス・スイッチということでした。
ネットワーク屋の概念からするとMACアドレスはデバイスを一意に特定するためのものであって古くはNICカードにハード的に焼き付ける(簡単に書き換えできない)ものでしたが、Wi-Fiネットワーク、つまりはESSIDごとに異なるMACアドレスを生成し、利用する、ということになります。
この記事の中で「まれに、Wi-Fiネットワークがプレイベートアドレスを許可しても、インターネットアクセスを許可しない場合があります。そのような場合は、そのネットワークでプライベートアドレスの使用を停止することができます。」とあります。
先にご紹介したプライベートアドレスのスイッチはWi-Fiのそれぞれのネットワークの右端のiマークをタップすることで、現れてくるとご紹介したように、なにか問題があったらWi-Fiネットワーク、つまりESSIDごとに設定を変えることができる。ということです。
さらにAppleとGoogleのMACアドレスに関連するこれまでの取り組みについて詳しく書かれた記事があったのでご紹介します。詳細は以下のURLを参照してください。
「How MAC Address Randomization Can Affect the Wi-Fi Experience 」
https://blog.elevensoftware.com/how-mac-address-randomization-can-affect-the-wifi-experience
この記事に書かれていますが、MACアドレスのランダマイズは2014年のiOS8からProbe requestをランダマイズすることから始まっています。
Probe requestはスマホが周りで使えそうなESSID(≒AP)のリストを作成するときに使うものです。このリクエスト信号にAPがレスポンス信号を返すことで、iOSの場合、図-1にあるようなESSIDのリストを生成します。このリクエスト信号(Probe request)は周期的にWi-Fiの全チャネルをスキャンして生成し、常にリストを最新状態にアップデートしています。
以前はこのリクエスト信号のMACアドレスと収集したAPの識別番号(BSSIDなど)をAP側から集めることで、Wi-FiがオンになっているスマホであればどのAPの近くを移動したかの経路情報を集めることができました。この経路収集はスマホ利用者が特別な操作をしなくても集められるため、さまざまなサービスでこの機能を利用していました。
しかしながら2014年以降、iOSがProbe request信号のMACアドレスをランダマイズしたことで、スマホがWi-Fiネットワークに接続しないとデバイスを特定するMACアドレスを収集することができなくなりました。2017年Android 8も同様な機能を取り込んでします。
Appleに先駆けてGoogleがAndroid 10でWi-Fiに接続したときのMACアドレスをランダマイズしました。そして、今回、AppleがiOS14で接続したときのランダマイズ化さらに、このMACアドレスを24時間ごとに変更するという処理を追加してきました。
※「How MAC Address Randomization Can Affect the Wi-Fi Experience 」より引用
24時間ごとに変更するため、例えばホテルでWi-Fiを利用するときに、最初に部屋に入った時にホテルのポータル画面でID(部屋番号など)とパスワードを入力するかと思います。これまで1週間宿泊する場合、一回この操作をすればチェックアウトまでこの操作をする必要がなかったのですが、24時間経過するごとにIDとパスワードを再度入力する、という煩わしい操作が発生すると想像できます。
また、メルマガ7月号の技術情報「新型コロナ感染症拡大防止アプリ『COCOA』について」の記事(詳細は、こちらhttps://www.wlan-business.org/archives/28951を参照してください)にあるようにAppleとGoogleが連携して、濃厚接触リストを作成するAPIを公開していますが、裏を返すとスマホの内部には近くを移動したAPの情報が集約されているはずでApple, Googleは自社のクラウドとスマホの自社OS (iOS、Android)の間で専用の通信をすることでスマホが移動した経路情報を収集することができてしまうのではと思います。
セキュリティの強化、プライバシーの保護は理解できますが、情報を独占というのは、一つ間違えばAIが進化した世界で人間の移動情報をAIが管理して無意識に行動を管理されるのでは?と、想像すると少し怖くなるのは私だけでしょうか?
■Wi-Biz通信(メールマガジン)の登録はこちら