hgot07 Hotspot Blog

主に無線LANや認証連携などの技術についてまとめるブログです。ネコは見る専。

無線LANのMACアドレスランダム化で行動分析ビジネスはどう変わるか

2019年11月にロンドンで開催されたとあるWi-Fi関係のイベントで、行動分析のソリューションを扱っている幾つかのブースに行き、ちょっと意地悪な質問をしてみました。「MACアドレスランダム化が一般的になってきましたが、これが有効でも利用者追跡できますか?」と。間髪を入れずに「できますよ」と言う怪しいセールスパーソン、ちょっと間があってから「アプリを入れれば……」と言う信頼できそうな担当者、「ぁー⤵」とトーンが下がってしまう正直な人……。

最近の主要なオペレーティングシステム(OS)では、無線LAN機能に「MACアドレスランダム化」の機能が搭載され、標準で有効になってきました。本稿では、MACアドレスランダム化が利用者のプライバシー保護や無線LANサービスにどのように影響するのかを概説します

ポイント

  • OSベンダがプライバシー保護を重視するようになり、MACアドレスランダム化に代表される端末固有情報秘匿化が一般的になってきた。ランダム化にもレベルがあり、強化されつつある。
  • 無線LANの通信を傍聴して行動分析するソリューションが存在するが、MACアドレスランダム化により、オープンWi-Fiでは機能しなくなってくる。
    (シーケンス番号やRSSI、送信間隔などを分析する手法もあるが、本稿では扱わない)
  • 利用者認証と事業者の同意、及び、利用者による明示的な同意があれば、正攻法で行動分析することは可能。

無線LAN端末のMACアドレス

イーサネットによる有線接続と同様に、無線LANでもMACアドレス (Media Access Control Address)が利用されています。元々はネットワーク機器のハードウェアに一意に割り当てられる物理アドレスで、端末などを識別するためのIDとして利用されていました (実際は重複もあります)。同じ端末ならば、ずっと同じMACアドレスが使われるというのが、旧来の仕組みでした。

無線LANで、端末と基地局を使う形式はインフラストラクチャモードと呼ばれています。公衆無線LANの場合は、当然このモードです。端末が基地局に接続する場合、

  1. 基地局が定期的に出すビーコンを頼りに端末が接続相手を決める方法
  2. 端末が自発的にプローブリクエスト (Probe Request)を出して、それに応答した基地局に接続する方法

があります。端末のMACアドレスも、基地局MACアドレス(しばしばBSSIDとして利用される)も、暗号化されずにパケットに埋め込まれて、電波として飛び交います。第三者でも、電波を傍受してMACアドレスを覗き見ることができます。

もし端末がプローブリクエストを出さないのならば、基地局MACアドレスが覗かれるだけなので、公衆無線LANの利用者の視点では特に問題ないでしょう。

端末がプローブリクエストを送信した場合、あるいは、実際に基地局に接続した場合は、端末の利用者が特定できないまでも、他人が同一端末の動きを調べることができます。ここでいう他人とは、公衆無線LANシステムを運用している通信事業者かもしれないし、それとはまったく関係ない人で、ストーカーかもしれません。いずれにしても、他人に勝手に行動分析されるのはプライバシー問題になりかねないということで、端末の追跡が困難になるように、MACアドレスをころころと変える手法が考案され、「MACアドレスランダム化」として端末に導入されることになりました

 

プライバシー保護に舵を切った端末ベンダ

端末が同一のMACアドレスを使い続けることによる問題は、プローブリクエストの時だけに限りません。端末が基地局に接続されていれば、通信のために必要なMACアドレスはずっと電波に乗ってやり取りされることになり、第三者が盗み見ることが可能です。例えば、どこかのカフェに盗聴用の機器を転がしておいて、特定の端末を持った人が現れてカフェのフリーWi-Fiを使い始めたら自分に通知が来るようにするといったことも技術的に可能でしょう。ストーキングが楽になりますね、これでは。

ショッピングモールで大規模なフリーWi-Fiを運用している事業者なら、接続してきた端末のMACアドレスから、個々の端末の動きを分析することもできるでしょう。客の実名などが分からなくても、ある客がこの店に入った後に、別のどこそこの店に立ち寄ったというように、行動分析が可能です。

皆さんがお使いのフリーWi-Fi利用規約に、もしかして、「サービス提供者が行動分析することに同意する」などと書かれていませんでしたか?

「あれ?もしかしたら、フリーWi-Fiの事業者ではない誰かも同じことができるのでは?」―― せーかい!端末の無線LAN機能をオンにしている限り、周囲の誰でもコッソリと行動分析ができてしまいます。

端末ベンダは、データビジネスに強い関心がありながらも、やはりこの状況を放置していたのではプライバシー上の問題があると判断したのでしょう。最近は、Googleでさえ、MACアドレスに限らず端末固有のIDを隠蔽するような仕組みを取り入れており、端末ベンダはプライバシー保護を重視する方向に舵を切ったように見えます。

 

MACアドレスランダム化の実装状況

一口に「MACアドレスランダム化」と言っても、様々なレベルがあります。

プローブリクエストだけの対策を行う、初期のランダム化が、iOS 8で取り入れられました。Windows 10やAndroidでもランダム化が導入されましたが、実際にどの程度のランダム化が行われているかはバージョンによって変わり、必ずしも明確ではありません。

Android 8.0で、プローブリクエスト時のMACアドレスランダム化が導入されました。

Android 9では、接続するSSIDごとにMACアドレスが変化する仕組みが導入されましたが、標準ではオフになっており、管理者オプションでオンにする必要がありました。

Android 10では、これが標準でオンになりました。手元のPixel 3で、WPA2-Enterpriseの環境で調べてみたところ、以下のような動作をするようです。

  • 基地局に接続された後にMACアドレスが変化することはない。
  • 同じSSIDならば、一旦プロファイルを削除して再設定しても、ユーザ名が違っても、同一アドレスになる。
  • ユーザ名が同じでも、違うSSIDならば異なるMACアドレスになる。
  • 端末が再起動されても、プロファイルに紐づけられたアドレスは変化しない。
  • MACアドレスのベンダID部分も変化する。

Android 11では、さらに強力なランダム化が実装されると噂されていましたが、先頃公開された11 betaでは開発者オプションに "Wi-Fi-enhanced MAC randomization" の項が追加されており、SSIDが同じでも、接続するたびに異なるアドレスが用いられるとあります。12では標準でオンになるかもしれません。

When this mode is enabled, this device's MAC address may change each time it connects to a network that has MAC randomization enabled.

(iOS 13.3.1では、まだ、SSIDや接続ごとのランダム化は行われていないようです)

[2020/6/23追記] iOS 14が発表になりましたが、Wi-Fi設定に "Use Private Address" というスイッチが登場したようです。ヘルパーの説明文は "Private Wi-Fi address prevents network operators from tracking your iPhone"。同一SSIDなら同じMACアドレスが使われ、前の接続から24時間以上経つと変化するという情報がありました。(未確認で進行形)

 

変化する行動分析ビジネス

端末ベンダがプライバシー保護に舵を切った以上、利用者の同意を得ずに端末を追跡したり、行動分析したりするといったことは、徐々に難しくなるでしょう。利用者登録のないフリーWi-Fiではなおさらです。プライバシー問題とは関係なさそうなことも、一部できなくなるかもしれません。

従来可能だったことの何々が影響を受けるのかは、どれだけ強力なランダム化が用いられるかに依存します。

プローブリクエストのみのMACアドレスランダム化の場合、例えば以下のことができなくなるでしょう。

  • 同意を得ずに任意の端末を追跡する行動分析 (無線LAN利用を伴わないもの)
  • 特定の端末の待ち伏せ (無線LAN利用を伴わないもの)

SSIDごとにアドレスが変化する場合は、次のようなことも難しくなりそうです。

  • SSIDが異なる基地局の間での、同意を得ない任意端末の追跡
  • 利用者にMACアドレスを事前申告してもらった上での、MACアドレスによるアクセス制限 (注: MACアドレスは利用者が変更できるので、これはセキュリティ対策でもなんでもありません)

ここまでは、まだ、無線LANシステムの正規の管理者にとっても優しいものなのですが、接続ごとにアドレスが変化するようになると、管理者泣かせの問題も生じてきます。

  • 利用者認証のないサービスにおける行動分析
  • ローミング環境において、アカウント発行と認証処理を行う側の事業者(IdP)の協力を得ずに、基地局提供者(事業者)側のみで行動分析
  • ユニーク端末数(利用者数の概算になるのでよく使われる指標)を用いた利用統計

公衆無線LANのソリューションを売り込む通信事業者は、基地局を設置する場所のオーナー (ロケーションオーナーやvenue ownerと呼ばれる) が利用者数を知りたいと言っても、アイデンティティプロバイダ (IdP) の協力無しには難しくなりそうです。

これら以外にも不可能になることが色々と出てくるかもしれませんが、ざっくり言ってしまうと、「利用者の同意と、アカウント発行者の協力を得ないで、行動分析はダメよ」ということでしょう

ところで、利用者の行動分析には、消費行動に基づいたサービスの最適化に加えて、都市計画や災害分析・防災計画などの、重要な応用もあります。これらに対応するには、今後、公衆無線LANシステムをどのように作ればよいのでしょうか。

一つのやり方は、現在でも行われているように、利用者に同意の下で(←ここ重要)端末にアプリなどを導入してもらい、追跡機能を有効にしてもらうことでしょう。しかし、自分が利用者なら、旅行先でいちいち現地のアプリを入れたいと思いますか。この辺に何らかの工夫が必要でしょう。

もう一つは、真正面からのアプローチですが、利用者認証のある公衆無線LANシステムを構築して、IdPとなる事業者から正式に情報提供を受けることでしょう。Passpointを利用する次世代ホットスポット(NGH)や、それを応用したローミング基盤であるOpenRoamingでは、これに利用できる仕組みが準備されています。多数のIdPとデータ提供の交渉が必要になる点が、面倒かもしれません。

ローミング環境におけるプライバシーについては、以前に別記事でも少し触れました。ローミングの仕組みを見れば、サービスプロバイダ(SP)側が自由に取れる情報が、かなり制限されていることが分かると思います。

hgot07.hatenablog.com

 

あとがき

「できることとやっていいことは違う」とよく言われます。無線LANの仕組みに明るい技術者や研究者なら、「こんなデータは簡単に取れるな」などと思い付くでしょうが、リスクの説明も無く、新システムとして提案しておきながら、予想できたはずの問題が起きた時に「使った方が悪い」などと言えるのでしょうか。事業家は、大勢が見落としそうなことを長ったらしい利用規約に書いて、同意を得ているから大丈夫と言えるのでしょうか。プライバシーフリークに気付かれないうちは大丈夫……こうですか?

このエリアでは行動解析をしているから、イヤならWi-Fiをオフにしてね……?常につながる利便性の高い公衆無線LANを目指している業界として、このような運用は本末転倒に見えます。

サービスの開発、立ち上げ、そして運用には、様々な責任が伴います。行動分析は、人権保護・プライバシー保護の観点で、現在盛んに議論されているものです。サービスの設計に十分な慎重さが求められていると言えるでしょう。

 

おわり