(57)【特許請求の範囲】
【請求項１】
複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定部と、
所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得部と、
前記取得部によって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定部と
を有することを特徴とするアカウント特定装置。
【請求項２】
特定対象のアカウントを列挙する列挙部をさらに備え、
前記設定部は、前記列挙部によって列挙された特定対象のアカウントごとに、各Ｗｅｂページに対する閲覧権限が異なるように設定することを特徴とする請求項１に記載のアカウント特定装置。
【請求項３】
前記列挙部は、列挙した各アカウントに対して、所定の長さのビット列からなる一意の識別子である識別用ビット列をそれぞれ割り当て、
前記設定部は、前記列挙部によって割り当てられた前記識別用ビット列の各桁の値に応じて、前記各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を各アカウントに設定することを特徴とする請求項２に記載のアカウント特定装置。
【請求項４】
前記取得部は、前記各Ｗｅｂページの閲覧可否に関する情報として、前記端末が前記各Ｗｅｂページへリクエストを送信してからレスポンスを受信するまでの所要時間を取得し、
前記特定部は、前記取得部によって取得された前記所要時間に応じて、前記端末の各ページに対する閲覧の許可または閲覧の禁止を推定し、推定の結果に基づいて前記端末がログインしているアカウントを特定することを特徴とする請求項１に記載のアカウント特定装置。
【請求項５】
アカウント特定装置によって実行されるアカウント特定方法であって、
複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定工程と、
所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得工程と、
前記取得工程によって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定工程と
を含んだことを特徴とするアカウント特定方法。
【請求項６】
複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定ステップと、
所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得ステップと、
前記取得ステップによって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定ステップと
をコンピュータに実行させるためのアカウント特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アカウント特定装置、アカウント特定方法およびアカウント特定プログラムに関する。
【背景技術】
【０００２】
さまざまなＷｅｂサイトに訪問したユーザを一意に識別する技術をトラッキングと呼ぶ。トラッキングによってユーザの趣味趣向を推定し、推定した趣味趣向に基づいてユーザごとに適切なコンテンツを表示するコンテンツレコメンデーションや、ユーザの趣味趣向にあった広告を表示するターゲティング広告等に活用する。【０００３】
トラッキングを実現するために広く用いられている手法として、例えば、サードパーティCookieがある。ここでCookieとは、ページ遷移後もＷｅｂサイトとＷｅｂブラウザ間で状態を保存するための技術である。サードパーティCookieは、広告事業者などがCookieを発行し、さまざまなＷｅｂサイト上で同一のCookieを取り扱うことで、複数のＷｅｂサイトにまたがってユーザの識別を行う。【０００４】
また、Web  Browser  Fingerprint（非特許文献１参照）という技術では、ブラウザにインストールされたフォントやプラグインの種別、及び画面の解像度やUser  Agentといった情報をもとにユーザを識別するための情報を生成する。これを用いることで、ブラウザの機能などによってサードパーティCookieを無効にされた場合にもトラッキングを行うことが可能となる。【０００５】
サードパーティCookieとWeb  Browser  Fingerprintのいずれにおいても、同一デバイスであるかどうかを識別することは可能であるが、ユーザの氏名、あるいは性別や年齢といったユーザの属性を取得することはできない。さらに、識別情報はブラウザ単位で与えられるものであるため、ＰＣとスマートフォンのような異なるデバイス間で同一ユーザであることを識別することはできない。【０００６】
ユーザのトラッキングおよび趣味趣向の推定などを実現するための他の情報として、個々のユーザが所有するソーシャルアカウントがある。ソーシャルアカウントとは、ＳＮＳやマイクロブログのようなソーシャルＷｅｂサービスにおけるアカウントのことである。【０００７】
ソーシャルアカウントは、氏名、性別、年齢などユーザの属性情報と紐付けられており、また、ユーザはＰＣやスマートフォン等の異なるデバイスにまたがって同一のソーシャルアカウントを日常的に利用する。したがって、Ｗｅｂ訪問者のソーシャルアカウントを特定することで、異なるデバイス間であっても同一ユーザであることを識別することができる。【０００８】
このため、ユーザのソーシャルアカウント情報をもとに性別や年齢といったユーザの属性を抽出して、より精度の高いコンテンツレコメンデーションやターゲティング広告を実現できる。加えて、ユーザがＰＣやスマートフォンなどの複数デバイスで同一のソーシャルアカウントを使用している場合には、異なるデバイス間においても同一ユーザのトラッキングを行うことができる。【０００９】
このようなソーシャルアカウントを特定する方法として、例えば、ある特定のＵＲＬの訪問前と訪問後でブラウザに表示されるＵＲＬのハイパーリンクの描画が変化するというカスケードスタイルシート（以下、ＣＳＳと記載）の仕様を用いて、ソーシャルメディアページへの訪問履歴を取得し、この履歴をもとにユーザのソーシャルアカウントを特定する方法が知られている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Nikiforakis,  Nick,  et  al.  "Cookieless  monster:  Exploring  the  ecosystem  of  web-based  device  fingerprinting."  Security  and  privacy  (SP),  2013  IEEE  symposium  on.  IEEE,  2013.
【非特許文献２】Wondracek,  Gilbert,  et  al.  "A  practical  attack  to  de-anonymize  social  network  users."  Security  and  Privacy  (SP),  2010  IEEE  Symposium  on.  IEEE,  2010.
【非特許文献３】W3C.  2011.  5.11.2  The  link  pseudo-classes:  :link  and  :visited.  ［平成29年7月28日検索］、インターネット＜https://www.w3.org/TR/CSS2/selector.html#link-pseudo-classes＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の技術では、Ｗｅｂサイト訪問履歴の取得が不可能な状況下ではソーシャルアカウントを特定することができないという課題があった。例えば、上述した従来のソーシャルアカウントを特定する方法は、訪問前と訪問後でＵＲＬリンクの描画が変化するというＣＳＳの仕様によって、ユーザのＷｅｂページ訪問履歴を取得する技術に依存している。【００１２】
Ｗｅｂページ訪問履歴は、ソーシャルアカウント以外にも、たとえば銀行系のＷｅｂサイトの利用状況など、より深刻な個人情報と関連付いているため、訪問履歴の取得技術自体が問題視されており、２０１１年、ＣＳＳのバージョン２．１において対策が講じられた（非特許文献３参照）。このため、主要なブラウザにおいては、この手法を適用することは不可能となっている。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明のアカウント特定装置は、複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定部と、所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得部と、前記取得部によって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定部とを有することを特徴とする。【００１４】
また、本発明のアカウント特定方法は、アカウント特定装置によって実行されるアカウント特定方法であって、複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定工程と、所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得工程と、前記取得工程によって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定工程とを含んだことを特徴とする。【００１５】
また、本発明のアカウント特定プログラムは、複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する設定ステップと、所定のＷｅｂサイトにアクセスした端末に前記各Ｗｅｂページへのリクエストを送信させ、前記端末の前記各Ｗｅｂページの閲覧可否に関する情報を取得する取得ステップと、前記取得ステップによって取得された前記閲覧可否に関する情報を用いて、前記端末がログインしているアカウントを特定する特定ステップとをコンピュータに実行させる。
【発明の効果】
【００１６】
本発明によれば、Ｗｅｂサイト訪問履歴を取得できない状況下であっても、ソーシャルアカウントを特定することができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、第一の実施の形態に係るアカウント特定装置の構成を示すブロック図である。
【図２】図２は、ソーシャルアカウントデータベースに記憶される情報の一例を示す図である。
【図３】図３は、ＲＴＴ（Round-Trip  delay  Time）の取得について説明する図である。
【図４】図４は、プロフィールページに対して計測されたＲＴＴの一例を示す図である。
【図５】図５は、プロフィールページに対して計測されたＲＴＴの一例を示す図である。
【図６】図６は、アカウント特定処理の一連の流れを説明する図である。
【図７】図７は、第一の実施の形態に係るアカウント特定装置における閲覧権限設定部による処理を説明するフローチャートである。
【図８】図８は、第一の実施の形態に係るアカウント特定装置におけるソーシャルアカウント特定部による処理を説明するフローチャートである。
【図９】図９は、アカウント特定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１８】
以下に、本願に係るアカウント特定装置、アカウント特定方法およびアカウント特定プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係るアカウント特定装置、アカウント特定方法およびアカウント特定プログラムが限定されるものではない。
【００１９】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係るアカウント特定装置の構成、アカウント特定装置おける処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００２０】
［アカウント特定装置の構成］
図１を用いて、第一の実施の形態に係るアカウント特定装置１０の構成を説明する。図１は、第一の実施の形態に係るアカウント特定装置の構成を示すブロック図である。図１に示すように、このアカウント特定装置１０は、通信処理部１１、制御部１２および記憶部１３を有する。以下にこれらの各部の処理を説明する。
【００２１】
通信処理部１１は、ユーザ端末との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部１１は、Ｗｅｂサイトへのアクセス要求をユーザ端末から受信する。
【００２２】
また、記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、ソーシャルアカウントデータベース１３ａを有する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００２３】
ソーシャルアカウントデータベース１３ａは、特定対象のアカウントと、各アカウントに対して割り当てた長さＮ桁のビット列からなる一意の識別子であるビット列と、ブロッキング用アカウントに対する各アカウントの閲覧権限設定に関する情報とを対応付けて記憶する。
【００２４】
ここで、図２の例を用いてソーシャルアカウントデータベース１３ａに記憶される情報の一例を説明する。図２は、ソーシャルアカウントデータベースに記憶される情報の一例を示す図である。図２に例示するように、例えば、ソーシャルアカウントデータベース１３ａは、特定対象のアカウント名を示す「特定対象アカウント」と、３桁のビット列からなるアカウントを一意に識別するビット列である「識別用ビット列」と、各アカウントにおけるブロッキング用アカウント「Ｓ１」、「Ｓ２」、「Ｓ３」の閲覧権限とを対応付けて記憶する。
【００２５】
例えば、図２の例を用いて説明すると、ソーシャルアカウントデータベース１３ａは、特定対象アカウント「Ｄａｖｅ」と、識別用ビット列「０１１」とが対応付けて記憶されている。また、ソーシャルアカウントデータベース１３ａは、特定対象アカウント「Ｄａｖｅ」について、ブロッキング用アカウントＳ１の閲覧許可（図２では、非ブロッキングと記載）の設定が記憶されているが、Ｓ２およびＳ３の閲覧禁止（図２では、ブロッキングと記載）の設定が記憶されている。なお、識別用ビット列については、後述するソーシャルアカウント列挙部１２ａによって作成され、ブロッキング用アカウントの閲覧権限については、閲覧権限設定部１２ｂによって設定されるものであり、詳しい説明については後述する。
【００２６】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、ソーシャルアカウント列挙部１２ａ、閲覧権限設定部１２ｂ、閲覧権限取得部１２ｃおよびソーシャルアカウント特定部１２ｄを有する。
【００２７】
このうち、ソーシャルアカウント列挙部１２ａおよび閲覧権限設定部１２ｂは、Ｗｅｂサイトに特定したいユーザが訪問する以前に、予め実行しておく必要がある「準備段階」において処理を実行する処理部である。また、閲覧権限取得部１２ｃおよびソーシャルアカウント特定部１２ｄは、Ｗｅｂサイトに特定したいユーザが訪問した際に実行する「実行段階」において処理を実行する処理部である。以下に各部について説明する。
【００２８】
ソーシャルアカウント列挙部１２ａは、特定対象のアカウントを列挙する。具体的には、ソーシャルアカウント列挙部１２ａは、ソーシャルＷｅｂサービスに登録されているソーシャルアカウントの中から、特定対象としたいアカウントを列挙する。アカウント列挙の方法としては、例えば、あるユーザとフレンド関係にあるユーザを再帰的に探索する方法、ユーザ検索機能を活用する方法など、さまざまな方法が存在する。
【００２９】
例えば、ソーシャルアカウント列挙部１２ａでは、ソーシャルＷｅｂサービス内に存在するアカウントを出来る限り探索し、数千万や数億といった規模で列挙してもよいし、網羅したいユーザの属性（例えば、政治家や著名人、あるいは特定の大学や会社に所属する人物など）に応じて、該当するアカウントを収集して列挙するようにしてもよい。
【００３０】
また、ソーシャルＷｅｂサービスの具体例としては、Facebook（登録商標）、Twitter（登録商標）、Tumblr（登録商標）などが挙げられるが、これらに限るものではない。さらに、ソーシャルアカウント列挙部１２ａは、列挙したアカウントに対して、長さＮ桁のビット列からなる一意の識別子である識別用ビット列を割り当てる。Ｎの具体的な値は、特定対象としたいアカウントの数Ｍに応じて決定すればよい。
【００３１】
Ｎ桁のビット列は２Ｎ通りであるため、識別用ビット列を割り当てることができるユーザ数、すなわちＭが取りうる最大の値は２Ｎ人である。ソーシャルアカウント列挙部１２ａは、このようにして列挙したアカウントと、対応する識別用ビット列のリストを作成し、ソーシャルアカウントデータベース１３ａに格納する。
【００３２】
閲覧権限設定部１２ｂは、複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する。具体的には、閲覧権限設定部１２ｂは、ソーシャルアカウント列挙部１２ａによって列挙された特定対象のソーシャルアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する。個々のソーシャルアカウントに閲覧権限を設定する手段としては、例えば、ソーシャルＷｅｂサービスのユーザブロッキング機能などがある。
【００３３】
例えば、閲覧権限設定部１２ｂでは、ソーシャルアカウントデータベース１３ａに含まれるアカウントに対して、閲覧許可と閲覧禁止を任意に設定できるようなソーシャルＷｅｂページをＮ個用意する。また、閲覧権限設定部１２ｂは、ソーシャルアカウント列挙部１２ａによって割り当てられた識別用ビット列の各桁の値に応じて、各ソーシャルＷｅｂページに対する閲覧可否が異なるように閲覧権限を各アカウントに設定する。例えば、閲覧権限設定部１２ｂは、ソーシャルアカウント列挙部１２ａで割り当てたＮ桁の識別用ビット列について、１つの桁に１つのソーシャルＷｅｂページをマッピングし、ソーシャルアカウントデータベース１３ａのアカウントＭ個すべてに対して、マッピングした桁のビットが０ならば閲覧許可、１ならば閲覧禁止を設定する。なお、逆に、０ならば閲覧禁止、１ならば閲覧許可としてもよい。
【００３４】
閲覧権限取得部１２ｃは、所定のＷｅｂサイトにアクセスしたユーザ端末に各Ｗｅｂページへのリクエストを送信させ、ユーザ端末の各Ｗｅｂページの閲覧可否に関する情報を取得する。例えば、閲覧権限取得部１２ｃでは、Ｗｅｂサイトに訪問してきたユーザが所有するアカウントについて、閲覧権限設定部１２ｂで用意したＮ個のページから、閲覧が許可されているか禁止されているかという閲覧可否の状態を取得する。
【００３５】
ここで、閲覧が許可されているか禁止されているかという状態を取得する手段としては、例えば、JavaScript（登録商標）などによって用意したＮ個のページに対するリクエストを訪問者に送信させ、レスポンスタイムの違いから閲覧権限を判定する方法などがある。例えば、Ｗｅｂサイト運営者が、Ｗｅｂサイトに訪問してきたユーザが所有するアカウント名などの情報を直接取得できない状況下でも、閲覧可否の状態を取得するだけであれば、リクエストからレスポンスまでに要する所要時間の違いを利用する方法などによって実現できる。
【００３６】
以下では、リクエストからレスポンスまでに要する所要時間を用いることで、準備段階で設定した閲覧権限を判定する例を説明する。例えば、閲覧権限取得部１２ｃは、各Ｗｅｂページの閲覧可否に関する情報として、ユーザ端末が各Ｗｅｂページへリクエストを送信してからレスポンスを受信するまでの所要時間を取得する。
【００３７】
本来、Ｗｅｂサイトの運営者は、Ｗｅｂサイトの訪問者に対して、JavaScriptのXMLHttpRequestなどを実行させることで、指定したＷｅｂページにリクエストを送信させ、そのレスポンスとして受信されるコンテンツを取得することができる。しかしながら、ほとんどのソーシャルＷｅｂサイトは、Same-Origin  Policyによって異なるドメインを持つＷｅｂページによるレスポンスの取得を制限している。
【００３８】
したがって、XMLHttpRequestなどによって、ソーシャルＷｅｂサイト上に存在するブロッキング用アカウントのプロフィールページのコンテンツを直接取得することはできない。一方で、Same-Origin  Policyによる制限が有効なソーシャルＷｅｂサービスに対しても、リクエストを送信させ、レスポンスが受信されるまでの所要時間（以下、ＲＴＴという）を取得することは可能である（参考文献１：Andrew  Bortz,  Dan  Boneh,  and  Palash  Nandy.  2007.  Exposing  Private  Information  by  Timing  Web  Applications.  In  Proceedings  of  the  16th  International  World  Wide  Web  Conference  (WWW)）。
【００３９】
ここで、Ｗｅｂサイト運営者、Ｗｅｂサイト訪問者、ソーシャルＷｅｂサイトの三者間の関係について、図３を参照して説明する。図３は、ＲＴＴの取得について説明する図である。図３に示すように、Ｗｅｂサイト訪問者の端末がＷｅｂサイト運営者のＷｅｂサイトに訪問すると、JavaScriptコードをＷｅｂサイト訪問者の端末に送信する。そして、Ｗｅｂサイト訪問者の端末は、JavaScriptによるリクエストをソーシャルＷｅｂサイトに送信し、リクエストに対するレスポンスを受信する。ここで、ＷＥｂサイト運営者は、Same-Origin  Policyによってレスポンスを取得することはできない。しかし、リクエストを送信してからレスポンスが受信されるまでの所要時間であるＲＴＴは計測可能であり、Ｗｅｂサイト運営者が計測されたＲＴＴを取得することが可能である。
【００４０】
ここで、図４および図５を用いて、プロフィールページに対して計測されたＲＴＴの一例を説明する。図４および図５は、プロフィールページに対して計測されたＲＴＴの一例を示す図である。図４の例では、Facebookアカウントにログインしているユーザに、Facebook上のユーザプロフィールページへリクエストを送信させ、ＲＴＴを１０００回計測した際の散布図である。ただし、図４に記載の「Blocked」は、ブロックされている状態、すなわち閲覧が禁止されているプロフィールページへリクエストを送った際のＲＴＴプロットであり、「Unblocked」はブロックされていない状態、すなわち閲覧が許可されているプロフィールページへリクエストを送った際のＲＴＴプロットである。
【００４１】
図４の例から分かる通り、BlockedとUnblockedのＲＴＴには有意な差が存在している。この特性を利用して、Ｗｅｂサイト訪問者に対して、ある特定のプロフィールページにリクエストを送信させた際のＲＴＴを計測し、値が大きい傾向にあれば閲覧が禁止されていて、値が小さい傾向にあれば閲覧が許可されていることが推測できる。なお、このようなＲＴＴの差は、閲覧許可時と閲覧禁止時でプロフィールページのコンテンツサイズに差異があることや、サーバー内部の分岐処理が異なることに起因する。
【００４２】
また、Facebook以外にも、閲覧が許可されているページと禁止されているページのＲＴＴに有意差が見られるサービスならば、同様の手法を適用してソーシャルアカウントを特定することが可能である。例えば、図５の例では、Tumblrアカウントにログインしているユーザに、Tumblr上のユーザプロフィールページへリクエストを送信させ、ＲＴＴを１０００回計測した際の散布図である。図５の例においても、BlockedとUnblockedのＲＴＴには有意な差が存在している。なお、サービスによっては、ＲＴＴの大小関係が逆転する場合がある。
【００４３】
また、ＲＴＴに基づいて、ブロッキングの状態を推定するための具体的な実装方法はさまざま考えられる。一例として、はじめにどのユーザもブロックしていないアカウントＳｐのプロフィールページに対するＲＴＴを１０回繰り返して計測し、１０個の計測値のリストをＴｐとする。その後、Ｓ１のプロフィールページに対するＲＴＴを１０回計測し、１０個の計測値のリストをＴ１とする。ＴｐとＴ１を比較して、有意差が認められればＳ１は訪問者をブロックしており、有意差がない場合はブロックしていないことがわかる。有意差の検定には、例えば、Mann-WhitneyのＵ検定などを用いることができる。
【００４４】
ソーシャルアカウント特定部１２ｄは、閲覧権限取得部１２ｃによって取得された閲覧可否に関する情報を用いて、ユーザ端末がログインしているアカウントを特定する。具体的には、ソーシャルアカウント特定部１２ｄは、閲覧権限取得部１２ｃによって取得されたＲＴＴに応じて、ユーザ端末の各ページに対する閲覧の許可または閲覧の禁止を推定し、推定の結果に基づいてユーザ端末がログインしているアカウントを特定する。
【００４５】
例えば、ソーシャルアカウント特定部１２ｄは、閲覧権限取得部１２ｃで得られた閲覧権限の状態から、閲覧が許可されているページにマッピングされた桁を０、閲覧が禁止されているページにマッピングされた桁を１としたビット列である訪問者ビット列を生成する。
【００４６】
そして、ソーシャルアカウント特定部１２ｄは、このようにして生成された訪問者ビット列を、ソーシャルアカウントデータベース１３ａの識別用ビット列と照合する。訪問者ビット列が、いずれかのアカウントに割り当てられた識別用ビット列と一致した場合、そのアカウントは、Ｗｅｂサイトに訪問してきたユーザのソーシャルアカウントとして特定される。
【００４７】
ここで、図２の具体例を挙げて、Ｗｅｂサイト訪問者のソーシャルアカウントを特定する手順について具体的に説明する。アカウント特定装置１０では、訪問者にJavaScriptコード等を実行させることで、Ｓ１、Ｓ２、Ｓ３の３つのプロフィールページに対するリクエストを送信させ、ＲＴＴを計測する。Ｓ１とＳ２に対するＲＴＴが大きな値であり、Ｓ３に対するＲＴＴが小さな値であれば、訪問者はＳ１、Ｓ２にブロックされていて、Ｓ３にブロックされていないと推定できる。アカウント特定装置１０では、閲覧許可を０、閲覧禁止を１に対応付けているので、訪問者ビット列は「１１０」、すなわちＧｒａｃｅであると特定できる。
【００４８】
このように、第一の実施の形態に係るアカウント特定装置１０では、予め列挙したアカウントに対する閲覧権限を設定しておき、Ｗｅｂサイトの訪問者に指定したＷｅｂページへのリクエストを送信させ、ＲＴＴを用いてソーシャルアカウントを特定することを可能とする。これにより、Ｗｅｂサイト訪問履歴の取得が不可能な状況下でもソーシャルアカウントを特定することを可能とする。
【００４９】
ここで、図６を用いて、第一の実施の形態に係るアカウント特定装置１０が実行するアカウント特定処理の一連の流れを説明する。図６は、アカウント特定処理の一連の流れを説明する図である。図６に示すように、準備段階として、ソーシャルアカウント列挙部１２ａが、ソーシャルアカウントを列挙し、各ソーシャルアカウントに対して長さＮ桁のビット列からなる識別用ビット列を割り当てる。このとき、Ｎ桁のビット列で表現できるソーシャルアカウントの数は２Ｎ個である。
【００５０】
そして、閲覧権限設定部１２ｂは、これらのソーシャルアカウントに対して閲覧権限を設定できるＮ個のページを用意し、識別用ビット列の各桁にマッピングすることで、値が０である桁に閲覧許可、値が１である桁に閲覧禁止を設定する。
【００５１】
そして、実行段階では、閲覧権限取得部１２ｃは、未知のＷｅｂサイト訪問者において、前述のＮ個のページに対し、閲覧が許可されているか禁止されているかという状態を取得する。続いて、ソーシャルアカウント特定部１２ｄでは、このようにして得られた状態について、閲覧が許可されているページに対応する桁を０、閲覧が禁止されているページに対応する桁を１としたビット列（訪問者ビット列）を生成し、準備段階において割り当てた識別用ビット列と突合することで、ソーシャルアカウントのいずれであるか特定する。
【００５２】
［アカウント特定装置の処理の流れ］
次に、図７、図８を用いて、第一の実施の形態に係るアカウント特定装置１０の処理の流れを説明する。まずは、図７を用いて、アカウント特定装置１０における閲覧権限設定部１２ｂによる処理を説明する。図７は、第一の実施の形態に係るアカウント特定装置における閲覧権限設定部による処理を説明するフローチャートである。
【００５３】
図７に示すように、アカウント特定装置１０の閲覧権限設定部１２ｂは、閲覧権限設定可能なＷｅｂページをＮ個用意する（ステップＳ１０１）。そして、閲覧権限設定部１２ｂは、ｉに初期値である「１」を設定し（ステップＳ１０２）、ｋに初期値である「１」を設定する（ステップＳ１０３）。
【００５４】
続いて、閲覧権限設定部１２ｂは、Ｍ人を含むソーシャルアカウントデータベース１３ａからｋ番目のユーザを取得し（ステップＳ１０４）、識別用ビット列のｉ桁目が０であるか判定する（ステップＳ１０５）。この結果、閲覧権限設定部１２ｂは、識別用ビット列のｉ桁目が０であると判定した場合には（ステップＳ１０５肯定）、ｋ番目のユーザに対しｉ番目のＷｅｂページ閲覧を許可するように設定する（ステップＳ１０６）。また、閲覧権限設定部１２ｂは、識別用ビット列のｉ桁目が０でないと判定した場合には（ステップＳ１０５否定）、ｋ番目のユーザに対しｉ番目のＷｅｂページ閲覧を禁止するように設定する（ステップＳ１０７）。
【００５５】
その後、閲覧権限設定部１２ｂは、ｋの値に１を加算し（ステップＳ１０８）、ｋの値がＭの値を超えたか判定する（ステップＳ１０９）。この結果、閲覧権限設定部１２ｂは、ｋの値がＭの値を超えていないと判定した場合には（ステップＳ１０９否定）、ステップＳ１０４の処理に戻って処理を繰り返す。一方、閲覧権限設定部１２ｂは、ｋの値がＭの値を超えていると判定した場合には（ステップＳ１０９肯定）、ｉの値に１を加算し（ステップＳ１１０）、ｉの値がＮの値を超えたか判定する（ステップＳ１１１）。
【００５６】
この結果、閲覧権限設定部１２ｂは、ｉの値がＮの値を超えていないと判定した場合には（ステップＳ１１１否定）、ステップＳ１０３の処理に戻って処理を繰り返し、ｉの値がＮの値を超えていると判定した場合には（ステップＳ１１１肯定）、処理を終了する。
【００５７】
次に、図８を用いて、アカウント特定装置１０におけるソーシャルアカウント特定部１２ｄによる処理を説明する。図８は、第一の実施の形態に係るアカウント特定装置におけるソーシャルアカウント特定部による処理を説明するフローチャートである。
【００５８】
図８に示すように、ソーシャルアカウント特定部１２ｄは、ｉに初期値である「１」を設定し（ステップＳ２０１）、Ｗｅｂサイトの訪問者はｉ番目のＷｅｂページの閲覧を許可されているか判定する（ステップＳ２０２）。この結果、ソーシャルアカウント特定部１２ｄは、Ｗｅｂサイトの訪問者はｉ番目のＷｅｂページの閲覧を許可されていると判定した場合には（ステップＳ２０２肯定）、訪問者ビット列のｉ桁目を０とする（ステップＳ２０３）。また、ソーシャルアカウント特定部１２ｄは、Ｗｅｂサイトの訪問者はｉ番目のＷｅｂページの閲覧を許可されていないと判定した場合には（ステップＳ２０２否定）、訪問者ビット列のｉ桁目を１とする（ステップＳ２０４）。
【００５９】
そして、ソーシャルアカウント特定部１２ｄは、ｉの値に１を加算し（ステップＳ２０５）、ｉの値がＮの値を超えたか判定する（ステップＳ２０６）。この結果、閲覧権限設定部１２ｂは、ｉの値がＮの値を超えていないと判定した場合には（ステップＳ２０６否定）、ステップＳ２０２の処理に戻って処理を繰り返し、ｉの値がＮの値を超えていると判定した場合には（ステップＳ２０６肯定）、訪問者ビット列をソーシャルアカウントデータベース１３ａの識別用ビット列と照合し（ステップＳ２０７）、処理を終了する。
【００６０】
［第一の実施の形態の効果］
このように、第一の実施の形態に係るアカウント特定装置１０は、複数のアカウントごとに、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を設定する。そして、アカウント特定装置１０は、所定のＷｅｂサイトにアクセスしたユーザ端末に各Ｗｅｂページへのリクエストを送信させ、ユーザ端末の各Ｗｅｂページの閲覧可否に関する情報を取得し、取得した閲覧可否に関する情報を用いて、ユーザ端末がログインしているアカウントを特定する。このため、アカウント特定装置１０は、Ｗｅｂサイト訪問履歴を取得できない状況下であっても、ソーシャルアカウントを特定することが可能である。
【００６１】
これにより、例えば、Ｗｅｂサイト訪問者に対し、そのユーザが所有するソーシャルアカウントを特定できる。ソーシャルアカウントは、氏名、年齢、性別、所属コミュニティなどといったユーザの属性に紐付いているため、これらの属性に応じてユーザに最適なコンテンツを表示するコンテンツレコメンデーションや、ユーザに最適な広告を表示するターゲティング広告などに活用できる。
【００６２】
また、第一の実施の形態に係るアカウント特定装置１０は、ソーシャルＷｅｂサービスに登録されているソーシャルアカウントの中から、特定対象のアカウントを列挙し、列挙した特定対象のアカウントごとに、各Ｗｅｂページに対する閲覧権限が異なるように設定する。このため、特定対象とするアカウントを自動的に収集して列挙することが可能である。
【００６３】
また、第一の実施の形態に係るアカウント特定装置１０は、列挙した各アカウントに対して、所定の長さのビット列からなる一意の識別子である識別用ビット列をそれぞれ割り当て、割り当てた識別用ビット列の各桁の値に応じて、各Ｗｅｂページに対する閲覧可否が異なるように閲覧権限を各アカウントに設定する。このため、各アカウントの閲覧を容易に設定することが可能である。
【００６４】
また、第一の実施の形態に係るアカウント特定装置１０は、各Ｗｅｂページの閲覧可否に関する情報として、ユーザ端末が各Ｗｅｂページへリクエストを送信してからレスポンスを受信するまでの所要時間であるＲＴＴを取得する。そして、アカウント特定装置１０は、取得されたＲＴＴに応じて、ユーザ端末の各ページ対にする閲覧の許可または閲覧の禁止を推定し、推定の結果に基づいてユーザ端末がログインしているアカウントを特定する。このため、アカウント特定装置１０では、ＲＴＴからユーザ端末の各Ｗｅｂページに対する閲覧可否の状態を容易に把握することが可能である。
【００６５】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６６】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６７】
［プログラム］
図９は、アカウント特定プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ（Central  Processing  Unit）１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００６９】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、アカウント特定装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、アカウント特定装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７０】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７１】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク、ＷＡＮを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７２】
１０  アカウント特定装置
１１  通信処理部
１２  制御部
１２ａ  ソーシャルアカウント列挙部
１２ｂ  閲覧権限設定部
１２ｃ  閲覧権限取得部
１２ｄ  ソーシャルアカウント特定部
１３  記憶部
１３ａ  ソーシャルアカウントデータベース
【図１】
0006777823.tif 000002
【図２】
0006777823.tif 000003
【図３】
0006777823.tif 000004
【図４】
0006777823.tif 000005
【図５】
0006777823.tif 000006
【図６】
0006777823.tif 000007
【図７】
0006777823.tif 000008
【図８】
0006777823.tif 000009
【図９】
0006777823.tif 000010