米Appleが、iOS用アプリでUDID(Unique Device ID)の使用を禁止し始めたことが話題になっている。このUDIDは、iOS端末に個別の識別子で、全ての端末に1つずつ割り当てられている文字列だ。

Appleでは、昨年8月に「iOS 5ではアプリからUDIDへのアクセスを禁止する」という予告を出しており、開発者に準備期間を設けていた。ここにきて、ネット上ではUDIDを使ったアプリをApp Storeに申請するとリジェクト(拒絶)されるという報告が相次いでおり、Appleが予告通りUDIDへのアクセス禁止を開始したことをうかがわせる。

UDIDは、端末に一意に定められた固有のIDだ。端末ごとに異なり、基本的には変更することができないIDである。固有IDは、古くから便利な利用法が考えられてきた反面、その危険性も長く訴えられてきた。

iOSに限らず、Androidでももちろん同様に抱えている固有IDの問題とは何か。今回はそれを考えてみたい。

常に追跡される固有ID

固有IDは、端末に割り当てられた固有の識別子で、UDID以外にも、IMEI(International Mobile Equipment Identity)、IMSI(International Mobile Subscriber Identity)などがある。端末やSIMカードに個別に割り当てられたIDで、基本的には端末やカードを管理・識別するために使われ、その端末を使っている限りは変更できない一意の番号になる。

この「変更できない一意のID」という点が問題だ。例えば携帯事業者は、このIDを使うことで、契約者情報を参照して端末を使っているユーザーが把握できるし、故障対応や紛失時の端末特定などでも利用されることもある。それだけ、端末の特定では確実性の高い方法ではある。

PCや多くの携帯電話は、端末に固有のIDをインターネット越しに取得することができるようになっており、例えばアプリをインストールして固有IDを取得すれば、どの端末からアクセスしているかが常に確認できることになる。固有IDは端末ごとに異なる値になるため、ユーザー情報と固有IDを紐付けておけば、ある固有IDを持つ端末からのアクセスは、常にAというユーザーであると判断できるわけだ(この場合、端末の紛失・盗難・貸与によって他人が使っているという事態は考慮されていない)。

これは、いわゆる「かんたんログイン」で一般的に使われてきた手法だ。携帯電話(フィーチャーフォン)のかんたんログインでは、固有IDとユーザー情報を紐付け、紐付いた端末からのアクセスに対して、そのユーザーとして認証を行い、ユーザーIDやパスワードを使った認証なしでアクセスを可能にしていた(ただし、これが成立するにはIPアドレスによってアクセス元を制限し、携帯電話がそれを偽装できないといった条件が必要)。

ユーザーIDとパスワードのような、通常インターネットで使われる認証を使わなくてよくなるので、IDとパスワードを覚えて入力しなくてもいいというメリットがある反面、前述のように他人でも端末を手に入れれば簡単になりすましが可能になる。

もう1つの問題が、固有IDを使ったユーザーの追跡だ。固有IDは端末を使っている限り固定で、どのアプリ、サービスを使っていても同じIDを取得できる。これを利用すると、どのユーザーがどのアプリ・サービスを使っているかが簡単に分かってしまう。

例えば住所氏名などを登録して会員になれば、近所のお得情報を配信して、クーポンをクレジットカードで購入できるというアプリが固有IDを取得していたとしよう。別のアプリでは、訪問した場所を登録できるサービスで固有IDを取得する。この場合、2つのアプリで得られた固有IDをあわせれば、「ユーザーの住所氏名、クレジットカード番号などが取得できるうえに、よく行く場所の情報も得られる」ということになる。

これは、「名寄せ」ともいわれるプライバシー上の問題として知られている。無関係だと思っていた情報が組み合わされ、ユーザーのプライバシー情報が特定されてしまうわけだ。ユーザーIDとパスワードであれば、サービスごとに変えるだけでユーザーを特定できなくなるのに、ユーザーが変更できない固有IDを使うことで、ユーザーの意図しない名寄せが行われてしまう危険性がある。

一度取得された固有IDは、端末を変えるまで変化せず、ログアウトの概念もないため、常にユーザーは追跡されるようになる。「スーパーCookie」とも呼ばれるが、その追跡を拒否するには、そのサービスを利用しなくするか、端末を変えるしかない。そのサービスを利用しないといっても、固有IDを取得するサービスがほかにあれば、結局リスクは変わらない。ハッシュ値を使うなどしても、結局固有IDが変わるわけではないので、今回の対策としては無意味だ。

こうした固有IDは、ユーザーにとっては自らIDとパスワードを入力しているわけではないので、「いつ、どのタイミングで取得されるか分かりづらい」という問題もある。Androidはアプリのダウンロード時に「権限」で「IDの読み込み」があり、固有IDを取得するかどうかは分かるが、それがいつ送信されているかは分からない。iOSは、今回UDIDが禁止の方向になったとはいえ、ユーザー側にはどの固有IDが取得されているか、送信されているかは判断できない。

固有IDは、携帯だけでなく、電話番号、車のナンバー、マイナンバーといったさまざまなものがある。「一意で個人につながる識別子」という意味では、顔写真だって固有IDと言ってもいいかもしれない。問題は、そことつながる情報だ。電話番号に対して、住所、氏名、顔写真、誕生日、趣味嗜好……などといった情報を紐付ければ、電話番号だけで相手がどんな人間か判別できる。

固有IDを取得して、「ほかの個人情報は取得していない」といっても、IDが漏えいしたり、IDを転売したりして、それが結果としてほかの個人情報と紐付く可能性もある。携帯事業者は、固有IDを個人情報として扱う場合が多いが、一般のサービス事業者などでは、そうした意識の薄い例も見受けられる。

「単体で個人が特定できない」からとはいえ、電話番号も車のナンバーも単体では個人が特定できるわけではない。それを使って個人を特定することが容易になるから問題になるわけだ。車のナンバーが常に追跡されていれば、「その車(=その車の所有者)がいつもどこに行くか」が分かる、しかもネットであれば容易に追跡できる、と考えれば、固有IDの問題も分かりやすいだろう。

次回も固有IDについて解説したい。

関連リンク

連載バックナンバー

・【ABC 2012 Spring】高木浩光氏が講演 - 「スマホアプリの利用者情報送信における同意確認のあり方」について (2012/03/28)
http://androwire.jp/articles/2012/03/28/06/