従来、PC(Personal Computer)等のWebブラウザ向けの広告を配信する技術では、Webサーバが配信するcookieに基づいてユーザの嗜好が管理されている(例えば、非特許文献1,2参照)。図10は、cookieを使用した広告配信の仕組みを示している。以下、図10を参照して、cookieを使用した広告配信の仕組みを説明する。
PC等の端末である端末装置8aは初期状態ではcookieを保持していない。また、端末装置8aではWebブラウザ80が起動している。Webブラウザ80は、Webサーバにアクセスし、そのWebサーバからダウンロードしたデータに基づいてWebページを表示する。このデータは広告配信用のサーバ9aへのリンクを含む。このため、Webブラウザ80は、広告配信用のサーバ9aに対して、広告の配信を要求することを示すメッセージを送信する(ステップS800)。端末装置8aがcookieを保持していないため、このメッセージにはcookieが含まれていない。このメッセージを受信したサーバ9aは、メッセージにcookieが含まれていないので、新しいcookieを生成し、このcookieと、例えばランダムに選択された、広告の画像等を含む広告情報を端末装置8aへ送信する(ステップS805)。
端末装置8aのWebブラウザ80は、受信したcookieを管理フォルダ82に保存する(ステップS810)。また、Webブラウザ80は、受信した広告情報を表示部81へ出力し、表示部81に広告を表示させる(ステップS815)。これによって、Webページ内に広告が表示される。
サーバ9aは、端末装置8aへ送信したcookieに基づいて、端末装置8aを所有するユーザの嗜好を管理する。以後、表示部81の画面に表示された広告に対して、ユーザがクリック等の選択操作を行った場合、広告が選択されたことを示す操作情報とcookieがサーバ9aへ送信される。サーバ9aは操作情報とcookieを受信し、受信した操作情報に関する広告の選択履歴をcookieと対応付けて管理する。これによって、サーバ9aは、cookieにより識別される広告の選択履歴を、ユーザの嗜好を示す情報として管理する。
続いて、Webブラウザ80は、別のWebサーバにアクセスし、そのWebサーバからダウンロードしたデータに基づいてWebページを表示する。このデータは広告配信用のサーバ9aへのリンクを含む。図10は、Webブラウザ80が、異なるWebサーバから、同じサーバ9aへのリンクを含むデータを受信する例を示している。管理フォルダ82にcookieが保存されているため、Webブラウザ80は、管理フォルダ82からcookieを読み出し(ステップS820)、サーバ9aに対して、広告の配信を要求することを示すメッセージを送信する(ステップS825)。このメッセージにはcookieが含まれている。
このメッセージを受信したサーバ9aは、メッセージにcookieが含まれているので、メッセージに含まれているcookieと対応付けられている広告の選択履歴を参照する。サーバ9aは、広告の選択履歴に基づいて、ユーザに適した広告を選択し、その広告の画像等を含む広告情報を端末装置8aへ送信する(ステップS835)。端末装置8aのWebブラウザ80は、受信した広告情報を表示部81へ出力し、表示部81に広告を表示させる(ステップS840)。
異なる複数のWebサイトから取得されるデータに、同一の広告事業者が管理する広告配信用のサーバのリンクが含まれる場合、同一のサーバから広告情報が配信される。サーバは、上記のようにcookieと対応付けてユーザの嗜好を管理しており、ユーザの嗜好を反映して広告情報を配信する。
近年、携帯情報端末の一種であるスマートフォンの普及が進んでいる。スマートフォンにインストールされたアプリケーションの画面に表示される広告を配信する技術では、スマートフォンが保持しているグローバルIDに基づいてユーザの嗜好が管理されている。グローバルIDとは、端末毎に固有な識別子であるIMEI(International Mobile Equipment Identity)や、IMSI(International Mobile Subscriber Identity)、MAC(Media Access Control address)アドレス、電話番号、OSがランダムに生成するID、これらの情報から生成されるハッシュ値等である。このグローバルIDに割り当てられる値は、世界で唯一の値であり、ユーザが自分で変更することができない固定値である。
図11は、グローバルIDを使用した広告配信の仕組みを示している。以下、図11を参照して、グローバルIDを使用した広告配信の仕組みを説明する。
スマートフォン等の携帯情報端末である端末装置8bにはアプリケーション83a,83bがインストールされている。これらのアプリケーション83a,83bに対して、同一の広告事業者が提供している広告モジュールが組み込まれている。アプリケーション83aが起動すると、アプリケーション83aの広告モジュールは、端末装置8b内の所定の場所からグローバルIDを取得する(ステップS900)。続いて、アプリケーション83aの広告モジュールは、広告配信用のサーバ9bに対して、広告の配信を要求することを示すメッセージを送信する(ステップS905)。このメッセージにはグローバルIDが含まれている。
サーバ9bは、広告の選択履歴をグローバルIDと対応付けて管理している。つまり、サーバ9bは、グローバルIDに基づいて、端末装置8bを所有するユーザの嗜好を管理している。端末装置8bからのメッセージを受信したサーバ9bは、自身が管理しているグローバルIDの中に、メッセージに含まれるグローバルIDと同一のIDがない場合、例えばランダムに選択された、広告の画像等を含む広告情報を端末装置8bへ送信する(ステップS910)。
端末装置8bのアプリケーション83aの広告モジュールは、受信した広告情報を表示部84へ出力し、表示部84に広告を表示させる(ステップS915)。これによって、アプリケーション83aの画面内に広告が表示される。
以後、表示された広告に対して、ユーザがクリック等の選択操作を行った場合、広告が選択されたことを示す操作情報とグローバルIDがサーバ9bへ送信される。サーバ9bは操作情報とグローバルIDを受信し、受信した操作情報に関する広告の選択履歴をグローバルIDと対応付けて管理する。これによって、サーバ9aは、グローバルIDにより識別される広告の選択履歴を、ユーザの嗜好を示す情報として管理する。
続いて、アプリケーション83bが起動すると、アプリケーション83bの広告モジュールは、端末装置8b内の所定の場所からグローバルIDを取得する(ステップS920)。続いて、アプリケーション83bの広告モジュールは、サーバ9bに対して、広告の配信を要求することを示すメッセージを送信する(ステップS925)。このメッセージにはグローバルIDが含まれている。
端末装置8bからのメッセージを受信したサーバ9bは、自身が管理しているグローバルIDの中に、メッセージに含まれるグローバルIDと同一のIDがあるので、そのグローバルIDと対応付けられている広告の選択履歴を参照する。サーバ9bは、広告の選択履歴に基づいて、ユーザに適した広告を選択し、その広告の画像等を含む広告情報を端末装置8bへ送信する(ステップS930)。端末装置8bのアプリケーション83aの広告モジュールは、受信した広告情報を表示部84へ出力し、表示部84に広告を表示させる(ステップS935)。
Webブラウザ向けの広告を配信する技術で使用されるcookieは、cookieを発行する広告事業者毎に独自に生成されるランダムな値となる。つまり、異なる複数の広告事業者は、同一のユーザに対して、それぞれ異なるcookieを用いてユーザの嗜好を管理する。cookieは、端末装置あるいはユーザとの結びつきがないランダムな値であるため、それぞれの広告事業者は、それぞれのcookieがどのユーザに対応しているのかを知ることができず、同一のcookieに対応付けられている広告の選択履歴の範囲内でのみユーザの嗜好を管理することができる。当然、それぞれの広告事業者は、自身が管理しているcookieと、他の広告事業者が管理しているcookieとが同一のユーザに対応しているのか否かを知ることはできないため、複数の広告事業者が管理している、ユーザの嗜好に関する情報を広告事業者間で交換したとしても、その情報をユーザ毎に統合することは困難である。
一方、スマートフォン向けのアプリケーションに対する広告を配信する技術で使用されるグローバルIDは端末装置あるいはユーザとの結びつきが固定的であり、異なる複数の広告事業者は、同一のユーザに対して、同一のグローバルIDを用いてユーザの嗜好を管理する。このため、複数の広告事業者がお互いに、自身が管理しているグローバルIDをキーにして、ユーザの嗜好に関する情報を交換することにより、プライバシ侵害が発生するという問題がある。
以下、図面を参照し、本発明の実施形態を説明する。本実施形態は、スマートフォン向けのアプリケーションに対する広告を配信する技術におけるプライバシ侵害の発生を抑制する手法を提供する。また、本実施形態は、以下の手法も提供する。
Webブラウザ向けの広告を配信する従来技術では、ユーザは、端末装置に保存されているcookieを自身の判断で削除(消去)し、広告事業者(広告提供者、広告配信者)から新しいcookieを発行してもらうことができる。このため、広告事業者側に蓄積されている、ユーザの嗜好に関する情報をユーザ側の要求により無効化することができる。一方、スマートフォン向けのアプリケーションに対する広告を配信する従来技術では、一旦収集された、ユーザの嗜好に関する情報は固定的なグローバルIDで管理されるため、この情報をユーザ側の要求により無効化することができないという問題がある。これに鑑み、本実施形態は、ユーザの嗜好に関する情報を無効化する手法を提供する。
図1は、本実施形態による広告配信システムの構成を示している。図1の広告配信システムは、端末装置1a,1bとサーバ2a,2bを含む。端末装置1a,1bは、スマートフォン等の携帯情報端末である。端末装置1a,1bは、アプリケーションがインストールされており、かつ、サーバ2a,2bと通信を行い、アプリケーションの画面に広告を表示する端末であればよく、端末の種類は問わない。サーバ2a,2bは、それぞれ異なる広告事業者によって提供(管理)されているサーバである。サーバ2aは広告事業者Aによって提供され、サーバ2bは、広告事業者Aとは異なる広告事業者Bによって提供されている。サーバ2aは、インターネット上で広告事業者Aに割り当てられたドメインに属しており、サーバ2bは、インターネット上で広告事業者Bに割り当てられたドメインに属している。図1では2台の端末装置と2台のサーバが示されているが、3台以上の端末装置があってもよいし、3台以上のサーバがあってもよい。
図2は端末装置1aの構成を示している。端末装置1bの構成は端末装置1aの構成と同様であるので、端末装置1bの構成についての説明を省略する。端末装置1aは、通信部10、表示部11、アプリケーション12a,12b(アプリケーション処理部)、プログラム記憶部13、ID記憶部14、操作部17を有する。
通信部10は、サーバ2a,2bと通信を行う通信回路を有する。表示部11は、情報を表示する液晶パネル等を有する。
アプリケーション12a,12bは、アプリケーションの処理として規定された各種の処理を行う。アプリケーション12a,12bは、広告の画像等を含む広告情報をサーバ2a,2bから受信し、受信した広告情報に基づく広告を表示部11に表示させる広告モジュール15a,15bを有する。広告モジュール15a,15bは、同一の広告事業者、例えばサーバ2aを提供する広告事業者Aによって作成されたモジュールであり、広告事業者Bによって作成された広告モジュールとは異なる。広告モジュール15a,15bは、例えばライブラリとして実装されている。
プログラム記憶部13は、コンピュータのCPU(Central Processing Unit)による情報の読み出しが可能な記録媒体を有しており、アプリケーション12a,12bのそれぞれに対応したアプリケーションプログラム16a,16bを記憶する。例えば端末装置1aがスマートフォンである場合、プログラム記憶部13は、スマートフォンに内蔵されたフラッシュメモリである。アプリケーションプログラム16aが、図示していないCPUによって揮発性のメモリ(RAM:Random Access Memory)に読み込まれることで、アプリケーション12aが起動する。同様に、アプリケーションプログラム16bが、図示していないCPUによって揮発性のメモリに読み込まれることで、アプリケーション12bが起動する。
プログラム記憶部13は、端末装置1aに内蔵される記録媒体、または端末装置1aに外部から挿入される記録媒体であって、少なくとも一定期間、情報を保持できる記録媒体であればよく、ハードディスクドライブやROM(Read Only Memory)等であってもよい。プログラム記憶部13に格納されているアプリケーションプログラム16a,16bは、フレキシブルディスク、光磁気ディスク、CD-ROM、DVD-ROM、カード媒体等の可搬性の記録媒体から、あるいは、外部のコンピュータに内蔵されたフラッシュメモリ、ハードディスクドライブ等の記録媒体からプログラム記憶部13に入力されてプログラム記憶部13に保存されてもよい。また、プログラム記憶部13に保存されるアプリケーションプログラム16a,16bは、インターネット等の通信回線を介して他の装置から伝送されたプログラムであってもよい。
ID記憶部14は、CPUによる読み出しが可能な記録媒体を有しており、複数のアプリケーションからアクセスされるUUID(Universally Unique Identifier)および制御フラグを記憶する。UUIDは、ランダムに生成される固有値であり、例えば乱数である。「ランダム」とは、一度生成された値と同じ値が再度生成されることがない、または、一度生成された値と同じ値が再度生成される確率が極めて低い(確率がほぼ0である)ことを指す。後述するように、UUIDは、サーバ2a,2bにおいて、ユーザの嗜好に関する情報を管理するのに用いられる。制御フラグは、UUIDの制御に関する情報を示す。アプリケーション12a,12bはいずれも、ID記憶部14に格納されたUUIDと制御フラグにアクセスすることが可能である。
例えば端末装置1aがスマートフォンであり、端末装置1aのOS(Operating Systems)がAndroid(登録商標)である場合、ID記憶部14は、スマートフォンに内蔵されたSD(登録商標)カードである。この場合、アプリケーションプログラム16a,16bを構成するファイルの1つであるマニフェストファイルにWRITE_EXTERNAL_STORAGEというパラメータ(パーミッション)を設定する必要がある。例えば端末装置1aがスマートフォンであり、端末装置1aのOSがiOSである場合、ID記憶部14は、スマートフォンに内蔵されたカスタムペーストボードである。ID記憶部14は、端末装置1aに内蔵される記録媒体、または端末装置1aに外部から挿入される記録媒体であって、少なくとも一定期間、情報を保持できる記録媒体であればよく、フラッシュメモリやハードディスクドライブ等であってもよい。
操作部17は、ユーザによって操作されるボタンやキー等の部材や、ユーザの操作を検知する圧電素子等を有する。表示部11と操作部17は、例えばタッチパネルとして一体化されていてもよい。
図2では2個のアプリケーション12a,12bが示されているが、3個以上のアプリケーションがあってもよい。また、広告事業者A以外の広告事業者、例えば広告事業者Bによって作成されたアプリケーションがあってもよい。
図3はサーバ2aの構成を示している。サーバ2bの構成はサーバ2aの構成と同様であるので、サーバ2bの構成についての説明を省略する。サーバ2aは、通信部20、広告管理部21、嗜好記憶部22、広告記憶部23を有する。
通信部20は、端末装置1a,1bと通信を行う通信回路を有する。広告管理部21は、サーバ2aを提供する広告事業者Aの広告の配信に関する管理を行う。嗜好記憶部22は、端末装置1a,1bで表示された広告に対するユーザのアクションに基づくユーザの嗜好に関する嗜好情報を記憶する。広告記憶部23は、広告の画像等を含む広告情報を記憶する。嗜好記憶部22と広告記憶部23は一体化されていてもよい。
図4は、嗜好記憶部22に格納される嗜好情報の内容の一例を示している。嗜好情報は、UUIDと、このUUIDに対応付けられた広告選択履歴とを含む。広告選択履歴は、端末装置1a,1bで表示された広告に対して、クリック等により、ユーザが反応したこと、言い換えるとユーザが意図的に広告を選択したことを示す情報であり、例えばユーザが選択した広告の種類(あるいは広告に対応する商品の種類)を示す情報である。広告選択履歴は、同一の広告について広告が選択された回数の情報を含んでいてもよい。サーバ2aは、UUIDに基づいて、広告の対象となる商品に対するユーザの嗜好を管理する。
次に、本実施形態における広告配信の手法を説明する。図5は、広告配信時の端末装置1aとサーバ2aの動作を示している。また、図6は、表示された広告に対するユーザのアクションが発生したときの端末装置1aとサーバ2aの動作を示している。以下、図5と図6を参照して端末装置1aとサーバ2aの動作を説明する。端末装置1aとサーバ2aの間の通信は、端末装置1aの通信部10とサーバ2aの通信部20を介して行われるが、本実施形態の説明では通信部10,20の動作に関する説明を省略する。
端末装置1aにおいて、アプリケーション12aが起動したとき、広告モジュール15aが起動する。広告モジュール15aは、ID記憶部14にUUIDが格納されているか否かを確認する。ID記憶部14にUUIDが格納されている場合と格納されていない場合とで異なる値を制御フラグに設定し、制御フラグの値に基づいてUUIDの有無を確認してもよい。初期状態ではID記憶部14にUUIDが格納されていないものとする。広告モジュール15aは、広告の配信を要求するためのメッセージをサーバ2aへ送信する(ステップS100)。このメッセージにはUUIDは含まれていない。
サーバ2aにおいて、広告管理部21は端末装置1aからのメッセージを受信し、メッセージに基づいて、広告の配信が要求されていることを認識する。続いて、広告管理部21は、メッセージにUUIDが含まれているか否かを確認する。このメッセージにはUUIDが含まれていないので、広告管理部21は新しいUUIDを生成し、生成したUUIDを嗜好情報の一部として嗜好記憶部22に保存する。また、広告管理部21は、広告記憶部23に格納されている広告情報の中からいずれかをランダムに選択して読み出し、読み出した広告情報と、生成したUUIDとを含むメッセージを端末装置1aへ送信する(ステップS115)。広告情報とUUIDとが別々のメッセージにより端末装置1aへ送信されてもよい。
端末装置1aにおいて、広告モジュール15aは、受信したメッセージからUUIDを抽出し、抽出したUUIDをID記憶部14に保存する(ステップS110)。また、広告モジュール15aは、受信したメッセージから広告情報を抽出し、抽出した広告情報を表示部11へ出力し、表示部11に広告を表示させる(ステップS115)。これによって、アプリケーション12aの画面内に広告が表示される。ID記憶部14へのUUIDの保存と広告の表示とは、どちらが先であってもよい。また、サーバ2aから広告情報を受信して広告を表示した後にサーバ2aからUUIDを受信してもよい。
広告が表示された後、ユーザがGUI(Graphical User Interface)の機能を利用して広告を選択する操作(クリック等)を行うと、操作部17から広告モジュール15aに操作結果が通知される(ステップS200)。広告モジュール15aは、ID記憶部14からUUIDを読み出し(ステップS205)、読み出したUUIDと、操作結果に応じた操作情報とを含むメッセージをサーバ2aへ送信する(ステップS210)。操作情報は、ユーザが広告に対して行った操作の内容を示す情報であり、例えばユーザが選択した広告の種類(あるいは広告に対応する商品の種類)を示す情報である。UUIDと操作情報とが別々のメッセージによりサーバ2aへ送信されてもよい。広告の表示後、例えば一定期間内に広告を選択する操作が行われなかった場合に、広告に対して操作が行われなかったことを示す操作情報がサーバ2aへ送信されてもよい。
サーバ2aにおいて、広告管理部21は端末装置1aからのメッセージを受信し、受信したメッセージからUUIDと操作情報を抽出する。広告管理部21は、抽出したUUIDと同一のUUIDを嗜好記憶部22から検索し、そのUUIDを含む嗜好情報に対して、操作情報に基づく広告選択履歴を追加する。これによって、端末装置1aで表示された広告に対するユーザの操作の結果が、サーバ2aで管理されている、ユーザの嗜好に関する情報に反映される。広告選択履歴は操作情報と同一の情報であってもよいし、操作情報に対してフォーマットの変換等を行った情報であってもよい。
続いて、端末装置1aにおいて、アプリケーション12bが起動したとき、広告モジュール15bが起動する。広告モジュール15bは、ID記憶部14にUUIDが格納されているか否かを確認する。広告モジュール15aがサーバ2aから受信したUUIDがID記憶部14に格納されているので、広告モジュール15bは、ID記憶部14からUUIDを読み出し(ステップS120)、広告の配信を要求するためのメッセージをサーバ2aへ送信する(ステップS125)。このメッセージには、ID記憶部14から読み出されたUUIDが含まれている。
サーバ2aにおいて、広告管理部21は端末装置1aからのメッセージを受信し、メッセージに基づいて、広告の配信が要求されていることを認識する。続いて、広告管理部21は、メッセージにUUIDが含まれているか否かを確認する。このメッセージにはUUIDが含まれているので、広告管理部21はメッセージからUUIDを抽出する。広告管理部21は、抽出したUUIDと同一のUUIDを嗜好記憶部22から検索し、そのUUIDと対応付けられている広告選択履歴を読み出す。広告管理部21は、読み出した広告選択履歴に基づいて、広告記憶部23に格納されている広告情報の中から、ユーザに適した広告に対応した広告情報を選択して読み出し、読み出した広告情報を含むメッセージを端末装置1aへ送信する(ステップS130)。
端末装置1aにおいて、広告モジュール15bは、受信したメッセージから広告情報を抽出し、抽出した広告情報を表示部11へ出力し、表示部11に広告を表示させる(ステップS135)。これによって、アプリケーション12bの画面内に広告が表示される。
広告が表示された後、ユーザがGUIの機能を利用して広告を選択する操作(クリック等)を行った場合、図6に示した動作と同様の動作により、UUIDと、操作結果に応じた操作情報とを含むメッセージがサーバ2aへ送信される。サーバ2aでは、受信したメッセージに含まれるUUIDと同一のUUIDを含む嗜好情報に対して、操作情報に基づく広告選択履歴が追加される。
上記のようにして端末装置1aのID記憶部14に保存されたUUIDは、ユーザによる指示に基づいて削除されない限り、アプリケーション12a,12bの両方が終了した後もID記憶部14に保存されている。アプリケーション12a,12bが終了した後、再度起動した場合、広告モジュール15a,15bは、ID記憶部14に格納されているUUIDにアクセスする。
ID記憶部14において、UUIDは、広告モジュール15a,15bを作成した広告事業者Aに対応したUUIDを記憶するための専用の領域に格納される。より具体的には、UUIDは、広告事業者Aに対応したUUIDを記憶するためのフォルダに格納される。このフォルダの名称(フォルダ名)には、例えば端末装置1aに固有な情報であるグローバルIDと、広告事業者に固有な値とを組み合わせた値をハッシュ関数の入力値として計算されるハッシュ値が用いられる。前述したように、グローバルIDは、IMEIや、IMSI、MACアドレス、電話番号、OSがランダムに生成するID、これらの情報から生成されるハッシュ値等である。例えば端末装置1aがスマートフォンである場合、グローバルIDは、スマートフォンに内蔵されたフラッシュメモリ等に格納されている。
アプリケーションプログラム16a,16bに含まれる広告モジュール15a,15bのそれぞれのプログラムには、広告事業者Aに固有な同一の値が記録されている。広告モジュール15a,15bは、ID記憶部14にUUIDが格納されているか否かを確認する際、グローバルIDを取得し、広告事業者Aに対応したフォルダ名を示すハッシュ値を計算する。広告モジュール15a,15bは、計算したハッシュ値と一致するフォルダ名を有するフォルダをID記憶部14から検索し、そのフォルダがない場合には、ID記憶部14にUUIDが格納されていないと判断する。また、広告モジュール15a,15bは、計算したハッシュ値と一致するフォルダ名を有するフォルダがある場合には、そのフォルダにUUIDが格納されているか否かを確認する。
広告モジュール15a,15bは、サーバ2aからUUIDを受信し、ID記憶部14に保存する際も、グローバルIDを取得し、広告事業者Aに対応したフォルダ名を示すハッシュ値を計算する。広告モジュール15a,15bは、計算したハッシュ値と一致するフォルダ名を有するフォルダをID記憶部14から検索し、そのフォルダがない場合には、計算したハッシュ値をフォルダ名とするフォルダを生成し、生成したフォルダにUUIDを保存する。また、広告モジュール15a,15bは、計算したハッシュ値と一致するフォルダ名を有するフォルダがある場合には、そのフォルダにUUIDを保存する。
UUIDと同様に制御フラグも、広告事業者Aに対応したUUIDを記憶するためのフォルダに格納される。
上記の仕組みにより、同一の広告事業者が作成した広告モジュールは、ID記憶部14において、その広告事業者に対応した領域(フォルダ)のUUIDにアクセスし、他の広告事業者に対応した領域のUUIDにはアクセスしない。つまり、ID記憶部14に格納されているUUIDに対する広告モジュール毎の排他的な制御が実現される。このため、同一の広告事業者に対応する複数の広告モジュール間でのみ、ランダムなUUIDが共有され、その広告事業者が提供するサーバにおいて、UUID毎にユーザの嗜好に関する情報が管理される。本実施形態のUUIDは、端末装置あるいはユーザとの結びつきがないランダムな値であるため、それぞれの広告事業者は、それぞれのUUIDがどのユーザに対応しているのかを知ることができず、同一のUUIDに対応付けられている広告選択履歴の範囲内でのみユーザの嗜好を管理することができる。
また、それぞれの広告事業者は、自身が管理しているUUIDと、他の広告事業者が管理しているUUIDとが同一のユーザに対応しているのか否かを知ることはできない。このため、複数の広告事業者が管理している、ユーザの嗜好に関する情報を広告事業者間で交換したとしても、その情報をユーザ毎の情報に統合することは困難である。つまり、異なる複数の広告事業者間で、ユーザの嗜好に関する情報を共有することは困難である。したがって、プライバシ侵害を抑制することができる。
ハッシュ値は不可逆な値であり、ハッシュ値からハッシュ関数の入力値を再生することはできない。したがって、UUIDが格納されるフォルダの名称を、広告事業者に固有な名称、特に不可逆なハッシュ値を含む名称とすることによって、フォルダの名称から広告事業者のドメイン名等を推定することが困難となる。このため、その広告事業者が管理しているサーバに対して他の広告事業者等が不正にアクセスし、ユーザの嗜好に関する情報を取得することが困難となる。本実施形態では、フォルダ名にハッシュ値を用いているが、不可逆な値であれば、ハッシュ値の代わりに用いることが可能である。
ID記憶部14に保存されるUUIDは暗号化されることが望ましい。UUIDを暗号化することによって、UUIDが他の広告事業者等に漏えいすることを防止することができる。
以下、UUIDを暗号化する手法を説明する。広告モジュール15a,15bは、起動したときに、自身が使用する暗号鍵および復号鍵を生成し、端末装置1aに内蔵されたRAMに保存する。ID記憶部14に保存されるUUIDは、保存される前に暗号化される。例えば、図5のステップS110において、広告モジュール15aは、サーバ2aから受信したUUIDを、暗号鍵を用いて暗号化し、暗号化したUUID(暗号化情報)をID記憶部14に保存する。
また、ID記憶部14から読み出されたUUIDは復号される。例えば、図5のステップS120において、広告モジュール15bは、ID記憶部14に、暗号化されたUUIDが格納されているか否かを確認する。暗号化されたUUIDがID記憶部14に格納されているので、広告モジュール15bは、ID記憶部14から、暗号化されたUUIDを読み出し、読み出したUUIDを、復号鍵を用いて復号する。UUIDを含むメッセージがサーバ2aへ送信される場合、復号後のUUIDを含むメッセージがサーバ2aへ送信される。広告モジュール15a,15bは、終了するときに、自身が使用していた暗号鍵および復号鍵を、端末装置1aに内蔵されたRAMから削除(消去)する。
暗号鍵および復号鍵は、例えば以下の手法により生成される。広告モジュール15a,15bは、端末装置1a内のグローバルIDの中からいずれか複数のグローバルIDを取得し、それらと、広告事業者に固有な値とを組み合わせてXOR(排他的論理和)演算を行い、演算結果に基づく鍵を暗号鍵および復号鍵として用いる。複数の広告事業者間で、複数のグローバルIDの組合せが同一であったとしても、広告事業者に固有な値が組み合わされるので、広告事業者に固有な暗号鍵および復号鍵を生成することができる。
同一の広告事業者が作成した広告モジュールは、同一の演算により暗号鍵および復号鍵を生成する。このため、UUIDを暗号化する広告モジュールと、暗号化されたUUIDを復号する広告モジュールとが、同一の広告事業者によって作成された広告モジュールである場合、UUIDの復号に成功する。一方、UUIDを暗号化する広告モジュールと、暗号化されたUUIDを復号する広告モジュールとが、異なる広告事業者によって作成された広告モジュールである場合、復号鍵が暗号鍵に対応していないので、復号に失敗する。このため、UUIDが他の広告事業者等に漏えいすることを防止することができる。
広告モジュール15a,15bは、暗号鍵および復号鍵を生成する暗号モジュールを含んでおり、この暗号モジュールが解読されないように、少なくとも暗号モジュールは難読化されていることが望ましい。例えば、暗号モジュールを、逆コンパイルが困難なネイティブコード(機械語)で構成すればよい。暗号モジュールを含む広告モジュールの全部が難読化されていてもよい。暗号モジュールを難読化することによって、他の広告事業者等が暗号鍵および復号鍵の生成アルゴリズムを知ることができないので、UUIDが他の広告事業者等に漏えいすることを防止することができる。
広告モジュール15a,15bは、ID記憶部14から読み出したUUIDを含むメッセージをサーバ2aへ送信する際、暗号化されているUUIDを復号せず、そのUUIDを含むメッセージをサーバ2aへ送信してもよい。サーバ2aと広告モジュール15a,15bは同一の広告事業者によって提供されているので、サーバ2aは、広告モジュール15a,15bが生成する暗号鍵に対応する復号鍵を保持することが可能である。サーバ2aの広告管理部21は、端末装置1aから受信したメッセージに、暗号化されたUUIDが含まれる場合、暗号化されたUUIDを、復号鍵を用いて復号する。暗号化されたUUIDの復号をサーバ2aが行う場合、広告モジュール15a,15bに含まれる暗号モジュールは、復号鍵を生成する機能および復号を行う機能を有していなくてよい。
暗号化されたUUIDをサーバ2aへ送信することによって、UUIDが他の広告事業者等に漏えいすることを防止することができる。また、端末装置1aとサーバ2aとの間で、暗号鍵と復号鍵を共有するためのメッセージの送受信は必要ないので、メッセージの送受信に係る端末装置1aとサーバ2aの処理負荷を低減することができる。
UUIDと同様に制御フラグも暗号化されることが望ましい。すなわち、制御フラグは、暗号化されてID記憶部14に保存され、広告モジュール15a,15bは、制御フラグの値を参照する際、暗号化された制御フラグを復号する。
本実施形態では、UUIDを削除(消去)すること、および、サーバ2aへのUUIDの送信を停止することが可能である。UUIDを削除することで、新しいUUIDが生成され、サーバ2aでは新しいUUIDに基づいてユーザの嗜好が管理され、広告が配信される。削除されたUUIDと、新しく生成されたUUIDとの間には関連がないため、サーバ2aに蓄積されている嗜好情報をユーザ側の要求により無効化することができる。また、サーバ2aへのUUIDの送信を停止することで、UUIDが削除された場合と同様の状態となり、サーバ2aに蓄積されている嗜好情報をユーザ側の要求により無効化することができる。
図7は、端末装置1aの表示部11に表示されるアプリケーション(アプリケーション12aまたはアプリケーション12b)の画面の一例を示している。図7(a)は、アプリケーションが起動したときに表示される画面を示している。アプリケーション領域S1には、アプリケーションの処理中の画像や処理結果の画像等が表示される。制御領域S2にはアイコン等のマークM1が表示される。マークM1は、ユーザがUUIDの削除やUUIDの送信の停止等の制御を行う指示を入力するための制御情報である。
ユーザがGUIの機能を利用してマークM1を選択する操作を行った場合、操作部17から広告モジュール(広告モジュール15aまたは広告モジュール15b)に操作結果が通知される。この後、アプリケーションの画面は、図7(b)に示す画面に変化する。図7(b)は、ユーザがGUIの機能を利用してマークM1を選択する操作を行った後に表示される画面の一例を示している。UUIDの削除を示す文字情報C1、UUIDの送信の停止を示す文字情報C2、UUID等の情報の取り扱いに対する広告事業者のポリシ(プライバシポリシ)を示す文字情報C3が画面に表示される。ユーザがGUIの機能を利用して文字情報C1,C2,C3のいずれかを選択する操作を行った場合、操作部17から広告モジュールに操作結果が通知される。
図8は、ユーザによってUUIDの削除が指示されたときの端末装置1aとサーバ2aの動作を示している。以下、図8を参照して端末装置1aとサーバ2aの動作を説明する。
アプリケーション12aの画面において、図7(b)の文字情報C1が選択された場合、UUIDの削除が指示されたことを示す操作結果(削除指示)が操作部17から広告モジュール15aに通知される(ステップS300)。削除の指示を受けた広告モジュール15aは、ID記憶部14に格納されているUUIDを削除する(ステップS305)。このとき、広告モジュール15aは、ID記憶部14において、広告事業者Aに対応したフォルダのUUIDを削除する。
続いて、広告モジュール15aは、新しいUUIDの発行を要求するためのメッセージをサーバ2aへ送信する(ステップS310)。このメッセージにはUUIDが含まれていない。
サーバ2aにおいて、広告管理部21は端末装置1aからのメッセージを受信し、メッセージに基づいて、UUIDの発行が要求されていることを認識する。続いて、広告管理部21は新しいUUIDを生成し、生成したUUIDを嗜好情報の一部として嗜好記憶部22に保存する。また、広告管理部21は、生成したUUIDを含むメッセージを端末装置1aへ送信する(ステップS315)。
端末装置1aにおいて、広告モジュール15aは、受信したメッセージからUUIDを抽出し、抽出したUUIDをID記憶部14に保存する(ステップS320)。このとき、広告モジュール15aは、ID記憶部14において、広告事業者Aに対応したフォルダにUUIDを保存する。
以後、広告モジュール15a,15bは、サーバ2aに広告の配信を要求する際、ステップS320でID記憶部14に保存された新しいUUIDを含むメッセージをサーバ2aへ送信する。サーバ2aは、端末装置1aで削除されたUUIDとは異なる新しいUUIDに基づいて広告の配信を行う。これによって、古いUUIDに基づいてサーバ2aで管理されていた、ユーザの嗜好に関する情報を無効化することができる。
端末装置1aとサーバ2aの通信セッションが継続していると、サーバ2aが、同一の通信セッションで送信されたメッセージに基づいて端末装置1aにおけるUUIDの連続性を把握し、端末装置1aで削除されたUUIDと、新たに生成されたUUIDとを対応付ける可能性がある。これらのUUIDが対応付けられてしまうと、古いUUIDと対応付けられている、ユーザの嗜好に関する情報を無効化することができない。このため、広告モジュール15a,15bが起動している間、端末装置1aとサーバ2aの通信セッションが継続するのであれば、新しいUUIDの発行が要求される前に、端末装置1aとサーバ2aの通信セッションが一旦切断されることが望ましい。
広告モジュール15aは、サーバ2aに広告の配信を要求する際、サーバ2aとの通信セッションを構築している。広告モジュール15aは、ステップS300において、UUIDの削除が指示されたことを示す操作結果が操作部17から広告モジュール15aに通知された後、ステップS305において、ID記憶部14に格納されているUUIDを削除する前またはUUIDを削除した後、サーバ2aとの通信セッションを切断する。続いて、広告モジュール15aは、サーバ2aとの新たな通信セッションを構築した後、ステップS310において、新しいUUIDの発行を要求するためのメッセージをサーバ2aへ送信する。これによって、サーバ2aが端末装置1aにおけるUUIDの連続性を把握することが困難となるので、ユーザの嗜好に関する情報をより確実に無効化することができる。
サーバ2aが、サーバ2aに送信されたメッセージの送信元のIPアドレスに基づいて端末装置1aにおけるUUIDの連続性を把握し、端末装置1aで削除されたUUIDと、新たに生成されたUUIDとを対応付ける可能性もある。スマートフォンの多くは通信事業者のNAT(Network Address Translation)装置の配下にあり、所定の周期で、スマートフォンに割り当てられるIPアドレスが変更される。このため、サーバ2aとの通信セッションを一旦切断してから、サーバ2aとの新たな通信セッションを構築するまでの時間は、通信事業者によって端末装置1aに割り当てられるIPアドレスが変更される周期と同一の時間あるいはその周期よりも長い時間であってもよい。
これによって、新しいUUIDの発行を要求するためのメッセージは、通信セッションが切断される前に端末装置1aに割り当てられていたIPアドレスとは異なるIPアドレスから送信されるので、サーバ2aが端末装置1aにおけるUUIDの連続性を把握することが困難となる。したがって、ユーザの嗜好に関する情報をより確実に無効化することができる。
図8に示した動作において、ID記憶部14に格納されているUUIDを削除するタイミングは、広告の配信を要求するメッセージをサーバ2aへ送信してから、新しいUUIDを含むメッセージをサーバ2aから受信するまでの間でもよいし、新しいUUIDを含むメッセージをサーバ2aから受信した後でもよい。
また、図8に示した動作において、広告モジュール15aが、ID記憶部14において削除の対象となったUUIDの削除を要求するメッセージ(UUIDを含む)をサーバ2aへ送信し、このメッセージを受信したサーバ2aの広告管理部21が、嗜好記憶部22において、メッセージに含まれるUUIDと同一のUUIDを含む嗜好情報を削除してもよい。
また、図8に示した動作において、ステップS310でサーバ2aへ送信されるメッセージは、ステップS100でサーバ2aへ送信されるメッセージと同様に、広告の配信を要求するメッセージであってもよい。ただし、このメッセージにはUUIDが含まれていない。メッセージを受信したサーバ2aは、前述した動作と同様にして、UUIDを生成し、広告情報と、生成したUUIDとを含むメッセージを端末装置1aへ送信する。
図9は、ユーザによってUUIDの送信の停止が指示されたときの端末装置1aとサーバ2aの動作を示している。以下、図9を参照して端末装置1aとサーバ2aの動作を説明する。
アプリケーション12aの画面において、図7(b)の文字情報C2が選択された場合、UUIDの送信の停止が指示されたことを示す操作結果(停止指示)が操作部17から広告モジュール15aに通知される(ステップS400)。送信停止の指示を受けた広告モジュール15aは、ID記憶部14に格納されている制御フラグ(送信停止情報)の値を、UUIDの送信の禁止を示す値に設定する(ステップS405)。このとき、広告モジュール15aは、ID記憶部14において、広告事業者Aに対応したフォルダの制御フラグの値を設定する。制御フラグには、サーバへのUUIDの送信が許可されている場合と、サーバへのUUIDの送信が禁止されている場合とで、異なる値が設定される。
続いて、アプリケーション12bが起動したとき等のタイミングでサーバ2aに広告の配信を要求する際、広告モジュール15bは、ID記憶部14に格納されている制御フラグを読み出し、その値を確認する(ステップS410)。このとき、広告モジュール15bは、ID記憶部14において、広告事業者Aに対応したフォルダの制御フラグを読み出す。
制御フラグの値がUUIDの送信の禁止を示しているので、広告モジュール15bは、ID記憶部14からUUIDを読み出さずに、広告の配信を要求するためのメッセージをサーバ2aへ送信する(ステップS415)。このメッセージにはUUIDは含まれてなく、UUIDの送信が禁止されていることを示す値が含まれている。メッセージに含まれている、UUIDの送信が禁止されていることを示す値は、ID記憶部14に格納されている値と同一であってもよい。
サーバ2aにおいて、広告管理部21は端末装置1aからのメッセージを受信し、メッセージに基づいて、広告の配信が要求されていること、および、UUIDの送信が禁止されていることを認識する。続いて、広告管理部21は、広告記憶部23に格納されている広告情報の中からいずれかをランダムに選択して読み出し、読み出した広告情報を含むメッセージを端末装置1aへ送信する(ステップS420)。
端末装置1aにおいて、広告モジュール15bは、受信したメッセージから広告情報を抽出し、抽出した広告情報を表示部11へ出力し、表示部11に広告を表示させる(ステップS425)。これによって、アプリケーション12aの画面内に広告が表示される。
サーバ2aに広告の配信を要求する際、広告モジュール15a,15bは、ID記憶部14に格納されている制御フラグの値がUUIDの送信の許可を示している場合には、ID記憶部14からUUIDを読み出し、広告の配信を要求するためのメッセージをサーバ2aへ送信する。このメッセージには、ID記憶部14から読み出されたUUIDが含まれている。
図5を参照して説明した動作では、制御フラグに応じた制御の説明を省略したが、上記と同様に、制御フラグに応じた動作が行われる。図5では、制御フラグの値がUUIDの送信の許可を示していると仮定して、端末装置1aの動作を説明した。
サーバ2aへのUUIDの送信が停止された後、適宜、サーバ2aへのUUIDの送信を再開することも可能である。例えば、サーバ2aへのUUIDの送信が停止された後、図7(b)に示すアプリケーションの画面において、文字情報C2は、UUIDの送信の再開を示す情報に変化する。この文字情報C2が選択された場合、UUIDの送信の再開が指示されたことを示す操作結果(送信指示)が操作部17から広告モジュール15aに通知される。送信再開の指示を受けた広告モジュール15aは、ID記憶部14に格納されている制御フラグの値を、UUIDの送信の許可を示す値に設定する。
ID記憶部14に格納されている制御フラグの値が、UUIDの送信の禁止を示す値に設定された場合、以下のように、サーバへの操作情報の送信も停止される。アプリケーション12aの画面に広告が表示された後、ユーザがGUIの機能を利用して広告を選択する操作を行うと、操作部17から広告モジュール15aに操作結果が通知される。広告モジュール15aは、ID記憶部14に格納されている制御フラグを読み出し、その値を確認する。制御フラグの値がUUIDの送信の許可を示している場合、図6を参照して説明した動作と同様に、UUIDと操作情報を含むメッセージがサーバ2aへ送信される。また、制御フラグの値がUUIDの送信の禁止を示している場合、サーバ2aへメッセージは送信されない。
上記のように、サーバへのUUIDの送信を停止することによって、サーバから、ランダムに選択された広告情報が送信されるので、サーバへのUUIDの送信が停止されている間、ユーザの嗜好に関する情報を無効化することができる。サーバへのUUIDの送信が停止された後、サーバへのUUIDの送信が再開された場合には、サーバにおいて、そのUUIDに基づくユーザの嗜好の管理を再開することができる。
図7(b)の文字情報C3が選択された場合、UUID等の情報の取り扱いに対する広告事業者のポリシを説明する文字(文章)が表示される。広告事業者のポリシに関する詳細な説明は省略する。
上述したように、本実施形態によれば、異なる複数の広告事業者間で、ユーザの嗜好に関する情報を共有することが困難となる。したがって、プライバシ侵害の発生を抑制することができる。
また、ID記憶部14において、UUIDが広告事業者毎に異なるフォルダに格納され、それぞれの広告モジュールが、その広告モジュールを作成した広告事業者に対応するフォルダのUUIDにアクセスすることによって、異なる複数の広告事業者間で、ユーザの嗜好に関する情報を共有することが困難となる。
また、ID記憶部14において、UUIDが格納されるフォルダの名称を、端末装置に固有なグローバルIDと、広告事業者に固有な情報とに基づく不可逆な値を含む名称にすることによって、ある広告事業者が管理している、ユーザの嗜好に関する情報を、他の広告事業者等が取得することが困難となる。
また、ID記憶部14に保存されるUUIDを暗号化することによって、UUIDが他の広告事業者等に漏えいすることを防止することができる。
また、暗号鍵および復号鍵を、端末装置に固有なグローバルIDと、広告事業者に固有な情報とに基づいて生成することによって、広告事業者に固有な暗号鍵および復号鍵を生成することができる。さらに、UUIDが他の広告事業者等に漏えいすることを防止することができる。
また、広告モジュールに含まれる、暗号鍵および復号鍵を生成する暗号モジュールを難読化することによって、他の広告事業者等が暗号鍵および復号鍵の生成アルゴリズムを知ることができなくなり、UUIDが他の広告事業者等に漏えいすることを防止することができる。
また、ユーザからUUIDの削除が指示された場合、ID記憶部14に格納されているUUIDを削除することによって、サーバで管理されている、ユーザの嗜好に関する情報を無効化することができる。
また、UUIDの削除に伴って、サーバとの通信セッションを切断することによって、サーバで管理されている、ユーザの嗜好に関する情報をより確実に無効化することができる。さらに、サーバとの通信セッションを切断してから、サーバと新たな通信セッションを構築するまでの時間を、端末装置に割り当てられるIPアドレスの変更周期に応じた時間とすることによって、サーバで管理されている、ユーザの嗜好に関する情報をより確実に無効化することができる。
また、ユーザからサーバへのUUIDの送信の停止が指示された場合、サーバへのUUIDの送信を停止することによって、ユーザの嗜好に関する情報を無効化することができる。
グローバルIDを使用した従来の広告配信では、サーバ側でのグローバルIDの利用に関して、広告の配信前にユーザの承諾を得る、いわゆるオプトインが推奨されており、その承諾に関する操作が発生する。これに対して、本実施形態では、UUIDに基づく広告の配信をユーザが自身の判断で無効化することができるので、広告の配信前にユーザの承諾を必要としない、いわゆるオプトアウトが実現でき、広告事業者側とユーザ側の負担を軽減することができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。