これを書いている時点では、コンシューマ向け機器としては、Android・iOS・WindowsにおいてMACアドレスのランダム化を利用できる。
では具体的に、MACアドレスをランダム化したらどのように振る舞うのか? 参考文書へのポインタと現時点での振る舞いの要約を書き残しておく。
Android
要約
- Android 8以降では、端末がネットワークに関連付けられていない場合に、新しいネットワークを探索する時にランダムなMACアドレスが使用される。
- Android 9では、開発者向けオプション経由で、Wi-Fi接続時にランダムなMACアドレスを使用することができる。
- Android 10以降では、Wi-Fi接続時のMACアドレスランダム化が有効化されている。
- 接続先ネットワークごとに、個別にランダム化の有効/無効を切り替えることが可能。
- AndroidのMACアドレスランダム化の振る舞いは「永続的なランダム化」と「非永続的なランダム化」の2種類がある。
- 永続的なランダム化
- 非永続的なランダム化
- Android 10では常に「永続的なランダム化」が使用される。
- Android 11では、デフォルトでは「永続的なランダム化」が使用される。開発者向けオプション経由で、常に「非永続的なランダム化」を使用するように変更できる。
- Android 12では、デフォルトでは、一部のネットワークにたいして「非永続的なランダム化」が使用されて、それ以外では「永続的なランダム化」が使用される。開発者向けオプション経由で、常に「非永続的なランダム化」を使用するように変更できる。
- 「非永続的なランダム化」が使用される条件だが、公式文書を読んでもいまいちよく分からなかった……。
iOS
Windows
要約
- Windows 10にて「ランダムなハードウェアアドレス」などの名称で導入されたようだが、どのバージョンからなのかは不明。割と初期のころから導入済みだったようだが……。
- 振る舞いとしては「オフ・オン・毎日変更する」の3種類を選択できる。
- 「オフ」は文字通り「ランダムなハードウェアアドレスを使わない≒デバイスのMACアドレスを使用する」ということだと思われる。
- 「オン」や「毎日変更する」の振る舞いがよく分からない。
- わざわざ「毎日変更する」を用意しているということは、「オン」はAndroidでいう「永続的なランダム化」みたいな振る舞いだと思うのだが、どうなのだろうか? 仮にそうだったとして、一度生成された「ランダムなMACアドレス」が削除されるパスは存在するのだろうか?
- 「毎日変更する」にしても、律儀に「24時間経過したらMACアドレスを再生成してネットワークに再接続」みたいなことはしない気がする*1のだけど、実際にはどんな感じだろうか?
参考文書
なし。MACアドレスランダム化の挙動についてまとまった公式の文書が見つからない……。