説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、「プッシュ通知対応アプリは、どうやってiPhoneを特定しているの?」という質問に答えます。

***

最新のお知らせや更新情報がアプリから届けられる「プッシュ通知」は、アプリをはじめて起動したとき現れる「○○○はあなたにプッシュ通知を送信します。よろしいですか?」というダイアログで許可を与えることで開始されます。その情報は「Apple Push Notification Service」(APNs)に送信され、APNsは「デバイストークン」と呼ばれる端末識別用IDを生成してiPhoneに返します。これが「デバイストークン」です。

iPhoneに返されたデバイストークンは、アプリの開発元へ送信され、インターネット上のサーバに保存されます。アプリの開発元がプッシュ通知を送信するときは、まずサーバからAPNsに依頼が行われ、次にAPNsから特定のデバイストークン(プッシュ通知許可を与えたiPhone)宛に送信されます。デバイストークンとiPhoneの対応関係を把握しているのはAPNsであり、iPhoneユーザのプライバシーは保たれます。

iOS 7以降、デバイストークンはアプリごとに生成されます。iOS 6までは1台のiPhoneにつき1つのデバイストークンが割り当てられていましたが、デバイストークンをiPhoneの識別、ひいては個人の識別に利用しようとするアプリ開発者が現れたため、Appleは方針を転換したのです。

まとめると、「プッシュ通知対応アプリがiPhoneを特定している」と考えるのは誤りで、正確には「(アプリとiPhoneの対応関係を把握している)APNsに対しアプリ開発元がプッシュ通知送信を依頼している」となります。プッシュ通知を許可すると個人情報が漏れるのでは? と不安になるかもしれませんが、APNsがハッキングを受けて情報が盗まれでもしないかぎりは心配ないといえるでしょう。

プッシュ通知を許可するとAPNsから「デバイストークン」が発行され、それを目印にプッシュ通知が送信されます

プッシュ通知の仕組み