2020年の9月にリリースされた iOS 14/iPadOS 14、watchOS 7で「プライベート Wi-Fiアドレス」機能が実装されました。Wi-Fiに接続する際にデバイス本体のMACアドレスを使わず、ランダムに生成されたMACアドレスを使って接続するようになっています。これがWi-Fi業界ではちょっとした問題になっています。本記事ではMACアドレスのランダム化について解説していきます。
MACアドレスのランダム化とは?
スマートフォンから送信される無線電波をアクセスポイントで拾うことで、位置情報の推測や導線の分析が行えます。これはWi-Fiに接続していないクライアントからでも情報が取れてしまいます。無線アクセスポイントに接続していなくてもスマートフォンから無線パケットが定期的に送信されてしまうので、スマートフォンの無線をOFFにしない限り、トレースできてしまいます。
スマートフォンのMACアドレスとユーザーを一意に紐付けられるという側面から、ユーザーがいつ、どこにいるかをトレースできてしまうという点でプライバシー保護の観点で問題視されるようになっています。そこで各スマートフォンOSベンダー(主にiOSとAndroid)はMACアドレスのランダム化機能をデフォルトで有効にするようになったのです。MACアドレスのランダム化が有効になることで、Wi-Fiに接続する際にデバイス本体のMACアドレスを使わず、ランダムに生成されたMACアドレスを使って接続するようになります。
ランダム化されたMACアドレス
MACアドレスがランダム化されると、スマートフォン本体のMACアドレスは使われなくなります。ランダムに生成されるMACアドレスは先頭から2番目の文字が2、6、A、またはEが割り当てられます。このようなMACアドレスはランダム化されたアドレスです。
ランダム化されたMACアドレス
- x2-xx-xx-xx-xx-xx
- x6-xx-xx-xx-xx-xx
- xA-xx-xx-xx-xx-xx
- xE-xx-xx-xx-xx-xx
iOS 14 のランダム化の動作
iOS 14 からデフォルトでMACアドレスのランダム化が有効になっています。現時点(2020/4/19)での動作を纏めると以下のように動作します。
- デフォルトで「プライベートアドレス機能」が有効
- SSID毎に異なるMACアドレスを持つようになる。自身のMACアドレスは使わない
- プローブリクエストの送信時からMACアドレスがランダム化される。
- SSID毎にプライベートアドレス機能をOFFにすることが可能
- 一度SSIDに接続済みであれば後からプライベートアドレスを無効にできる。(初めて接続する場合は構成プロファイルから編集する必要がある。)
- SSID毎にMACアドレスが生成された後に、無線をOFF/ONしてもMACアドレスは変わらない
- SSID毎にMACアドレスが生成された後に、無線プロファイルを削除して、再度接続してもMACアドレスは変わらない
- SSID毎にMACアドレスが生成された後に、全く別のアクセスポイントで同じSSIDに接続してもMACアドレスは変わらない
つまり、現時点ではSSIDが同じであれば生成されるMACアドレスも同じ、SSIDが異なれば生成させるMACアドレスは異なる、ということになる。
しかし、Appleは将来、単一のSSID内でMACアドレスのローテーションを実装する可能性があると述べています。
MACアドレスのランダム化が及ぼす影響
DHCPプールの枯渇問題
MACアドレスのランダム化が有効になったデバイスは、SSID毎にMACアドレスを生成し、DHCP要求を送信します。同じデバイスに複数のDHCPプールが割り当てられる可能性があります。結果としてDHCPプールの枯渇の問題が発生する可能性があります。DHCPリース時間を短縮することで、この問題は軽減できる可能性があります。