以下に、本願に係るリカバリ装置、リカバリ方法及びリカバリプログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係るリカバリ装置、リカバリ方法及びリカバリプログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.リカバリ処理の一例〕
まず、図1を用いて、実施形態に係るリカバリ処理の一例について説明する。図1は、実施形態に係るリカバリ処理の一例を示す図(1)である。図1では、本願に係るリカバリ装置100によって、所定のサービスのアカウントをリカバリする処理が実行される一例を示す。なお、以下では、アカウントがリカバリされる対象となるサービスを「第1のサービス」と表記する場合がある。
図1に示すリカバリ装置100は、実施形態に係るリカバリ処理を実行するサーバ装置である。また、実施形態では、リカバリ装置100は、第1のサービスを提供するサービスサーバとしての機能を兼ねる。例えば、リカバリ装置100は、第1のサービスとして、ポータルサイトに係るサービスを提供する。具体的には、リカバリ装置100は、アカウントを登録したユーザからログインを受け付けた場合には、当該ユーザ向けにカスタマイズされたポータルサイトを提供するようなサービスを提供する。なお、リカバリ装置100が提供する第1のサービスは、ポータルサイトにおいて提供される検索サービスや、ポータルサイトからリンクされたショッピングサービスや、情報提供サービス(例えばニュースサービスや天気予報サービス)等を含んでもよい。
図1に示すユーザU01は、第1のサービスを利用するユーザの一例である。すなわち、ユーザU01は、リカバリ装置100が提供する第1のサービスにおいてアカウントを有する。また、図1に示す例では、ユーザU01は、複数の情報処理端末(デバイス)を所持する。例えば、ユーザU01は、スマートフォン20や、手首等に装着可能なウェアラブルデバイス(wearable device)の一例であるウェアラブルデバイス30(各デバイスを区別する必要のない場合は、これらを「ユーザ端末10」と総称する場合がある)を所持する。なお、以下では、ユーザをユーザ端末10等と読み替える場合がある。例えば、「ユーザがリカバリの要求を送信する」という記載は、実際には、「ユーザが利用するユーザ端末10がリカバリの要求を送信する」という状況を示す場合がある。
図1に示す例では、所定の理由によって第1のサービスにおいてユーザU01が保持していたアカウントが、利用不可能な状態になっているものとする。例えば、ユーザU01が、第1のサービスにログインするための認証情報(例えばパスワード)を忘れたり、これまで第1のサービスへのアクセスに利用していた端末を買い替えたり、誤ってアカウントを削除したりした場合に、ユーザU01が保持していたアカウントは、利用不可能な状態になる場合がある。
第1のサービスの提供者は、利用不可能となったアカウントについて、ユーザU01本人がリカバリを所望している場合には、所定の条件に基づいてアカウントをリカバリすることができる。このとき、第1のサービスの提供者は、アカウントのリカバリを所望しているユーザが、真にユーザU01本人であるかを検証する。そして、第1のサービスの提供者は、リカバリを所望するユーザが、ユーザU01本人と検証された場合にアカウントをリカバリする。一般に、このようなリカバリを行うためには、ユーザU01が、第1のサービスに対してリカバリに関する設定を予め登録しておく必要がある。例えば、ユーザU01は、自身しか知り得ない情報で構成される「秘密の質問と答えのペア」を第1のサービスに予め登録する。そして、リカバリが必要になった場合、ユーザU01は、秘密の質問に対する答えを第1のサービスに送信することで、自身の本人性を証明する。
しかしながら、上記の手法では、ユーザU01が事前に秘密の質問と答えを登録していない場合には、アカウントのリカバリ処理を実行することができない。そこで、実施形態に係るリカバリ装置100は、以下に説明する手法を用いることで、事前の登録処理を必要とせずに、アカウントのリカバリ処理を実行する。具体的には、リカバリ装置100は、第1のサービスにおけるユーザU01の行動履歴に関する情報(以下、「第1情報」と表記する場合がある)と、第1情報以外のユーザU01の行動履歴に関する情報(以下、「第2情報」と表記する場合がある)との照合に基づいて、ユーザU01の本人性を検証し、本人性が検証された場合に、第1のサービスにおいてユーザU01が有していたアカウントのリカバリを実行する。以下、図1を用いて、実施形態に係るリカバリ処理の流れについて説明する。
なお、図1の例では、ユーザU01は、スマートフォン20を介して、第1のサービスを利用するものとする。このように、第1のサービスにログインしたり、第1のサービスに対してアカウントのリカバリを要求したりするために利用される端末を「第1端末」と表記する場合がある。また、ウェアラブルデバイス30のように、第1端末以外の端末であって、実施形態に係るリカバリ処理に利用される情報(すなわち、上記した第2情報)を提供する端末を「第2端末」と表記する場合がある。
まず、第1のサービスにおいて保持していたアカウントが利用不可能となったユーザU01は、スマートフォン20を介して、アカウントのリカバリの要求をリカバリ装置100に送信する(ステップS11)。
リカバリ装置100は、アカウントのリカバリの要求を受信した場合には、リカバリするアカウントを特定するための情報を要求する。具体的には、リカバリ装置100は、アカウントに設定されていたユーザIDの入力をユーザU01に要求する(ステップS12)。
ユーザU01は、スマートフォン20を介して、ユーザIDをリカバリ装置100に送信する(ステップS13)。リカバリ装置100は、スマートフォン20から送信されたユーザIDを検証する(ステップS14)。リカバリ装置100は、送信されたユーザIDと、リカバリしようとするアカウントに設定されたユーザIDとを照合して、リカバリが要求されたアカウントを特定する。
続いて、リカバリ装置100は、アカウントをリカバリしようとするユーザU01が、ユーザIDで特定されるユーザU01本人であるかの検証を試みる。言い換えれば、リカバリ装置100は、ユーザU01の本人確認を行う。これは、例えば第三者が不正に取得したユーザIDを利用し、ユーザU01に成りすますことによって不正にアカウントを取得するような事態を防止するためである。なお、リカバリ装置100は、ステップS12において、ユーザU01の本人性を確認できる情報であれば、ユーザID以外の識別子を要求してもよい。例えば、リカバリ装置100は、ユーザU01から登録を受け付けていた電話番号やメールアドレス等を要求してもよい。
ここで、実施形態に係るリカバリ装置100は、ユーザU01の本人確認に用いるための情報を特定する(ステップS15)。例えば、リカバリ装置100は、ユーザU01の本人性を検証するために利用することのできる情報であって、第1のサービスに蓄積されている第1情報を参照する。そして、リカバリ装置100は、参照した第1情報のうち、検証処理に用いることのできる第1情報の種別を特定する。すなわち、リカバリ装置100は、過去の第1のサービスの行動履歴に基づき、ユーザU01の本人性を検証するために利用可能である情報の種別を特定する。
例えば、リカバリ装置100は、第1のサービスの運用において、ユーザU01が第1のサービスにログインした時点における位置情報を取得し、取得した位置情報を蓄積しているものとする。具体的には、リカバリ装置100は、スマートフォン20が有するGPS(Global Positioning System)機能によって取得された位置情報を、ログインが行われた時点や、ログイン中の所定時間ごと(例えば10分ごと)に取得する。なお、リカバリ装置100が取得する位置情報は、GPS機能によって取得される位置情報に限られず、例えば、第1のサービスにアクセスしたスマートフォン20のIPアドレス等から推定される位置情報であってもよい。また、位置情報は、経度や緯度を示す具体的な数値であってもよいし、ある地域を示す住所情報等であってもよい。
すなわち、リカバリ装置100は、リカバリ要求を受信する前までに、ユーザU01が過去に第1のサービスを利用していた期間におけるユーザU01(すなわちスマートフォン20)の位置情報を相当数取得し、取得した情報を所定の記憶装置に蓄積しているものとする。
第1情報として位置情報が蓄積されていることを参照したリカバリ装置100は、ユーザU01の本人性の検証において、過去の所定時点における位置情報を用いることが可能であると判定する。すなわち、リカバリ装置100は、ユーザU01の本人確認に用いる情報の種別を「位置情報」に特定する。例えば、リカバリ装置100は、第1情報として蓄積されている情報のうち、情報量の多い情報の種別を優先的に用いて、本人確認を行ってもよい。
なお、検証に用いる情報の種別や検証の手法は、例えばリカバリ装置100の管理者によって設定される定義情報によって、様々に定められてもよい。例えば、リカバリ装置100は、第1情報を参照せずとも、予めアカウントのリカバリにおいて位置情報を用いること等が定義された情報を参照し、かかる定義情報に従って本人確認を行ってもよい。このような定義情報について、詳しくは後述する。
情報を特定したリカバリ装置100は、スマートフォン20に対して本人確認要求を送信する(ステップS16)。リカバリ装置100から送信される本人確認要求は、例えば、アカウントのリカバリにおいてユーザU01の本人確認を行うために必要とする第2情報の送信要求を含む。具体的には、リカバリ装置100は、第1のサービスで保持されている行動履歴(図1の例では、第1のサービスにログインした時点等に取得された位置情報)と照合するための情報であって、第1のサービス以外における行動履歴(図1の例では、第1のサービス以外で保持される位置情報)を、スマートフォン20に対して要求する。
要求を受信したスマートフォン20は、第1のサービス以外に保持されている、ユーザU01の行動履歴の取得を試みる。例えば、スマートフォン20は、第1端末であるスマートフォン20以外のデバイスを介して、ユーザU01の行動履歴に関する情報を取得する。例えば、スマートフォン20は、自身の近傍にあるデバイスを検出する処理を行う。例えば、スマートフォン20は、Wifi(登録商標)や、Bluetooth(登録商標)等の電波を検知したり、同じアクセスポイントを利用しているデバイスを検出したりすることにより、近傍のデバイスを検出する。図1の例では、スマートフォン20は、ウェアラブルデバイス30を検出する。
実施形態において、ウェアラブルデバイス30は、ユーザU01の手首等に装着されるデバイスであり、定期的(例えば5分ごと)に位置情報を取得するデバイスであるものとする。また、ウェアラブルデバイス30は、所定の期間(例えば数か月)におけるユーザU01の位置情報の履歴をキャッシュしているものとする。
そこで、スマートフォン20は、ウェアラブルデバイス30に対して、ウェアラブルデバイス30によってキャッシュされているデータ(図1の例では、位置情報)を要求する(ステップS17)。ウェアラブルデバイス30は、スマートフォン20に対して、キャッシュされている位置情報を送信する(ステップS18)。これにより、スマートフォン20は、リカバリ装置100から要求された第2情報である、第1のサービス以外における位置情報を取得する。
そして、スマートフォン20は、リカバリ装置100から送信された本人確認要求に応答して、ウェアラブルデバイス30によってキャッシュされていた位置情報を送信する(ステップS19)。この場合、スマートフォン20は、送信する位置情報が、自装置ではなくウェアラブルデバイス30によって取得された位置情報であることを識別する情報を付与してもよい。
リカバリ装置100は、送信された位置情報を用いて、ユーザU01の本人性を検証する(ステップS20)。上述のように、リカバリ装置100は、第1のサービスにおけるユーザU01の行動履歴(第1情報)と、第1情報以外のユーザU01の行動履歴に関する情報(第2情報)とを照合する。具体的には、リカバリ装置100は、第1情報の一例である「所定日時における第1のサービスへのログイン時点のユーザU01の位置情報」と、第2情報の一例である「同一の所定日時における、ウェアラブルデバイス30によって取得されたユーザU01の位置情報」とを照合する。なお、リカバリ装置100は、ある1つの時点の位置情報同士を照合するのみならず、より多くの時点の位置情報同士を照合してもよい。
すなわち、リカバリ装置100は、ユーザU01の本人確認として、第1情報と第2情報とにおける位置情報が一致しているか否かを検証する。これにより、リカバリ装置100は、過去に第1のサービスへのログインに利用された際のスマートフォン20と、スマートフォン20以外の他のデバイスであるウェアラブルデバイス30とが、当該ログインの時点において、同じ位置に所在していたことを検証できる。
このことは、リカバリ装置100がユーザU01に対して「所定時間にあなたがいた場所は?」という質問を送信し、ユーザU01がその質問に回答したことに対応する状況を示している。すなわち、リカバリ装置100は、第1のサービスの行動履歴を用いて、ユーザU01にしか回答することのできない、いわゆる「秘密の質問」を作成することと同等の処理を行う。また、ユーザU01は、ウェアラブルデバイス30という第1端末以外のデバイスを用いて、その回答となる情報をリカバリ装置100に送信することと同等の処理を行っている。そして、リカバリ装置100が保持する位置情報と、同時間に対応する位置情報であって、ユーザU01から送信された位置情報が示す内容とが、およそ同じ位置を示す情報であるとするならば、送信された位置情報を保持するユーザU01とは、ユーザU01本人である蓋然性が高いと判定される。かかる処理によって、リカバリ装置100は、ユーザU01の本人性を検証する。
リカバリ装置100は、ユーザU01の本人性を検証した場合には、リカバリの要求に従い、ユーザU01が保持していたアカウントのリカバリを実行する(ステップS21)。そして、リカバリ装置100は、アカウントがリカバリされた旨をユーザU01に通知する(ステップS22)。なお、リカバリ装置100は、ユーザU01の本人性が検証できない場合には、アカウントのリカバリができない旨をユーザU01に通知してもよい。
このように、リカバリ装置100は、第1のサービスにおけるユーザU01の行動履歴と、例えばウェアラブルデバイス30のような第1のサービス以外において保持されている行動履歴とを照合することで、ユーザU01の本人性を検証する。これにより、リカバリ装置100は、事前の登録を要さずとも、第1のサービスにおける行動履歴というユーザU01しか知り得ない情報と、第1のサービス以外における行動履歴という、ユーザU01しか回答できない情報とを照合することができる。そして、リカバリ装置100は、照合の結果に基づいて、ユーザU01のアカウントをリカバリする。すなわち、リカバリ装置100は、秘密の質問などの事前登録がなくともリカバリ処理を実行できるため、ユーザにとって利便性の高いリカバリ処理を提供することができる。
なお、リカバリ装置100は、第2情報として、ウェアラブルデバイス30にキャッシュされた行動履歴のみならず、第1のサービス以外のサービス(以下、「第2のサービス」と表記する場合がある)に保持された第2情報を用いてもよい。この点について、図2を用いて説明する。図2は、実施形態に係るリカバリ処理の一例を示す図(2)である。
図2に示した例において、ウェアラブルデバイス30は、定期的に取得するユーザU01の行動履歴に関する情報(例えば、位置情報や、位置情報を取得した日時など)を、第2サービス提供サーバ200に送信するものとする。なお、第2サービス提供サーバ200は、第2サービスとして、ユーザU01からアクセスされた場合に、例えばユーザU01の一日の移動距離や、歩行数や、移動による消費カロリー等の情報を提示するサービスを提供するサーバ装置である。
図2に示した例では、リカバリ装置100は、図1においてウェアラブルデバイス30から取得していた第2情報を、第2サービス提供サーバ200から取得する。以下、図2における処理の流れについて説明する。なお、図2に示したステップS31〜S36は、図1に示したステップS11〜S16に各々対応するため、説明を省略する。
図2に示すステップS36に続いて、スマートフォン20は、第2情報として、第1のサービス以外に保持されているユーザU01の行動履歴の取得を試みる。具体的には、スマートフォン20は、ウェアラブルデバイス30に対して、検証に使用する情報を要求する(ステップS37)。
図2に示す例では、ウェアラブルデバイス30は、スマートフォン20に要求される情報を、自装置内に保持していないものとする。具体的には、スマートフォン20が要求した行動履歴の日時が、ウェアラブルデバイス30に保持されている行動履歴の日時よりも過去のものであり、ウェアラブルデバイス30は、スマートフォン20の要求に対応する行動履歴(位置情報)をキャッシュしていないものとする。
そこで、ウェアラブルデバイス30は、自装置が定期的にアップロードしている情報の利用を第2サービス提供サーバ200に要求する(ステップS38)。具体的には、ウェアラブルデバイス30は、過去にアップロードしたユーザU01の位置情報に関する情報の利用許可を、第2サービス提供サーバ200に要求する。なお、第2サービス提供サーバ200は、例えば、ウェアラブルデバイス30から送信されるデバイスIDによって、第2のサービスにおけるユーザU01のアカウントを特定する。そして、第2サービス提供サーバ200は、特定されたアカウントに対応付けられている位置情報等を、ユーザU01に提供すべき情報として特定する。
要求を受信した第2サービス提供サーバ200は、例えば、自装置に保持している情報にアクセスするためのアクセストークン(Access Token)を発行する(ステップS39)。そして、第2サービス提供サーバ200は、発行したアクセストークンをウェアラブルデバイス30に送信する。ウェアラブルデバイス30は、受信したアクセストークンをスマートフォン20に送信する(ステップS40)。ユーザ端末10は、受信したアクセストークンをリカバリ装置100に送信する(ステップS41)。なお、後述するように、アクセストークンは、スマートフォン20を介さずに、ウェアラブルデバイス30からリカバリ装置100に送信されてもよい。
アクセストークンを受信したリカバリ装置100は、第2サービス提供サーバ200にアクセスする(ステップS42)。そして、リカバリ装置100は、アクセストークンによって利用が許可されたユーザU01の位置情報等の、検証に用いる情報を取得する(ステップS43)。
リカバリ装置100は、第2サービス提供サーバ200から取得した情報と、第1のサービスにおけるユーザU01の行動履歴とを照合することで、ユーザU01の本人性を検証する(ステップS44)。かかる検証は、図1のステップS20と同様の処理によって行われる。そして、リカバリ装置100は、ユーザU01の本人性を検証した場合には、ユーザU01が保持していたアカウントのリカバリを実行する(ステップS45)。そして、リカバリ装置100は、アカウントがリカバリされた旨をユーザU01に通知する(ステップS46)。
このように、リカバリ装置100は、第1のサービス以外のサービスである第2のサービス側から取得するユーザU01の行動履歴と、第1のサービスにおける行動履歴とを照合することによって、ユーザU01の本人性を検証してもよい。かかる処理によれば、リカバリ装置100は、第2のサービスによって保持される情報という、ユーザU01が改竄することが困難な情報を利用して検証を行うことになるため、不正ユーザによる成りすまし等を高い精度で防止することのできる、より安全性の高いリカバリ処理を行うことができる。
なお、図1及び図2の例では、リカバリ処理に用いる行動履歴として位置情報を例に挙げたが、リカバリ装置100は、位置情報に限らず、第1のサービスで保持する種々の種別の行動履歴を利用してもよい。例えば、リカバリ装置100は、第1のサービスでユーザU01が商品を購買した購買履歴を利用してもよい。具体的には、リカバリ装置100は、ユーザU01が購買した商品の配送先に関する情報を取得する。また、リカバリ装置100は、第2のサービスとして、当該商品を配送する配送会社から、当該商品を配送先に配送した配送履歴を取得する。そして、リカバリ装置100は、取得した2つの情報を照合し、配送された配送先の所在地や配送日時が一致するか否かを判定する。リカバリ装置100は、配送先の所在地や配送日時が一致した場合には、当該購買を行ったユーザU01と、リカバリを要求したユーザU01とが同一のユーザである蓋然性が高いと推定する。かかる処理により、リカバリ装置100は、ユーザU01の本人性を検証し、アカウントのリカバリを行うことができる。
また、ユーザU01は、実施形態に係るリカバリ処理に先立ち、第1のサービスと第2のサービスとを連携させる処理を行っていてもよい。例えば、ユーザU01に提供されるサービスには、複数のサービスでアカウントを作成したユーザが本人であることを事前に確認することで、サービス同士で共通したIDを利用するといった、いわゆるID連携を行うことができるサービスが存在する場合がある。
図1及び図2で示した例において、第1のサービスと第2のサービスの間で上記のようなID連携が行われている場合、リカバリ装置100は、ステップS14において、必ずしも第1のサービスに関するユーザIDをスマートフォン20から受信することを要しない。例えば、リカバリ装置100は、ユーザU01が第1のサービスと第2のサービスとの間で本人確認に用いられる仮IDの発行を第2のサービスから受けることができる場合には、かかる仮IDに基づいて、第1のサービスにおけるアカウントを特定してもよい。
また、第1のサービスと第2のサービスの間でID連携が行われている場合、リカバリ装置100は、ステップS40において、スマートフォン20を介さず、ウェアラブルデバイス30から直接にアクセストークンを受信してもよい。すなわち、リカバリ装置100は、ウェアラブルデバイス30から直接にアクセストークンを受信した場合でも、連携したIDに基づいて第2のサービスに保持されているユーザU01の第2情報を特定することができるため、第1のサービスにおけるユーザU01のアカウントリカバリに用いる情報を正確に取得することができる。
〔2.リカバリシステムの構成〕
次に、図3を用いて、実施形態に係るリカバリ装置100が含まれるリカバリシステム1の構成について説明する。図3は、実施形態に係るリカバリシステム1の構成例を示す図である。図3に例示するように、実施形態に係るリカバリシステム1には、ユーザ端末10と、リカバリ装置100と、第2サービス提供サーバ200が含まれる。また、ユーザ端末10には、スマートフォン20等の第1端末と、ウェアラブルデバイス30等の第2端末とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。
ユーザ端末10は、例えば、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、スマートフォンを含む携帯電話機、PDA(Personal Digital Assistant)等の情報処理端末(デバイス)である。また、ユーザ端末10には、時計型端末や、眼鏡型端末などのウェアラブルデバイス(wearable device)も含まれる。さらに、ユーザ端末10には、情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。
リカバリ装置100は、第1のサービスにおいてユーザが保持するアカウントをリカバリするサーバ装置である。なお、実施形態では、リカバリ装置100は、第1のサービスを提供するウェブサーバの機能を兼ねるものとしているが、リカバリ装置100と、第1のサービスを提供するウェブサーバとは、別々の装置であってもよい。
第2サービス提供サーバ200は、第2のサービスをユーザに提供するサーバ装置である。例えば、第2サービス提供サーバ200は、ユーザ端末10から送信される各種情報を蓄積し、蓄積した情報に基づいてユーザに有用な情報を送信するようなサービスを提供する。具体的には、第2サービス提供サーバ200は、取得した位置情報に基づいて、ユーザの一日の移動距離や、歩行数や、移動による消費カロリー等の情報を提示するサービスを提供する。また、第2サービス提供サーバ200は、所定の場合には、実施形態に係るリカバリ処理においてユーザの検証に用いられる情報を、リカバリ装置100に提供する。
〔3.リカバリ装置の構成〕
次に、図4を用いて、実施形態に係るリカバリ装置100の構成について説明する。図4は、実施形態に係るリカバリ装置100の構成例を示す図である。図4に示すように、リカバリ装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、リカバリ装置100は、リカバリ装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。かかる通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10や第2サービス提供サーバ200との間で情報の送受信を行う。
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、第1サービス情報記憶部121と、検証情報記憶部122と、定義情報記憶部123とを有する。
(第1サービス情報記憶部121について)
第1サービス情報記憶部121は、第1のサービスに関する情報を記憶する。ここで、図5に、実施形態に係る第1サービス情報記憶部121の一例を示す。図5は、実施形態に係る第1サービス情報記憶部121の一例を示す図である。図5に示した例では、第1サービス情報記憶部121は、「アカウントID」、「登録デバイスID」、「登録ユーザ」、「ユーザID」、「認証情報」、「第1サービス行動履歴」といった項目を有する。また、第1サービス行動履歴は、「利用ログID」、「行動履歴」、「行動日時」、「位置情報」といった小項目を有する。
「アカウントID」は、第1のサービスにおけるアカウントを識別する識別情報を示す。「登録デバイスID」は、第1のサービスで利用するデバイスとして登録されているデバイスを識別する識別情報を示す。「登録ユーザ」は、アカウントを保持するユーザを示す。なお、実施形態において、アカウントID等の識別情報は、説明で用いる参照符号と一致するものとする。例えば、登録デバイスIDが「20」であるデバイスは、スマートフォン20を示す。
「ユーザID」は、アカウントを利用するユーザを識別するために用いられる識別情報である。例えば、ユーザIDは、第1のサービスにおいてユーザがアカウントを作成する際にユーザによって選択される任意の文字列によって構成される。なお、ユーザIDは、例えば登録デバイスであるスマートフォン20に登録されるメールアドレス等が利用されてもよい。
「認証情報」は、第1のサービスにログインするために用いられる認証情報を示す。図5に示した例では、認証情報は、ユーザU01が任意に設定する文字列によって構成されるパスワードであるものとする。例えば、ユーザは、アカウントに対応付けられたユーザIDとパスワードのペアを入力して、第1のサービスにログインする。
「第1サービス行動履歴」は、第1のサービスにおける行動履歴を示す。「利用ログID」は、ユーザが第1のサービスを利用するためにログインした際のログを識別するための識別情報を示す。図5に示す例では、利用ログIDは、ユーザが第1のサービスにログインしてからログアウトするまでの1つのセッションごとに付与されるものとする。
「行動履歴」は、ユーザの行動履歴を示す。なお、図5では図示を省略しているが、行動履歴の項目には、例えばユーザがポータルサイト内の記事をクリックした行動や、商品を購買した行動や、クエリを入力して検索を行なった行動など、具体的な行動が記憶されてもよい。
「行動日時」は、ユーザの行動履歴に対応する日時を示す。図5に示した例では、行動日時は、10分ごとに記憶されることを示しているが、行動日時は、より細かい単位(1分や1秒など)で記憶されてもよい。「位置情報」は、行動履歴に対応する位置情報を示す。例えば、リカバリ装置100は、ユーザが第1のサービスにログインした時点や、ログインを継続している間、継続的に第1端末(スマートフォン20)が検知する位置情報を取得し、行動履歴と対応付けて第1サービス情報記憶部121に記憶する。なお、図5では、位置情報の項目に「G011」といった概念的な情報が記憶される例を示しているが、実際には、位置情報の項目には、経度や緯度などの具体的な数値や、位置情報を推定することが可能な情報(例えば、スマートフォン20のIPアドレス等)等が記憶される。
すなわち、図5の例では、アカウントID「A01」で識別されるアカウントA01には、登録デバイスID「20」で識別されるデバイスであるスマートフォン20が登録されており、登録ユーザは「U01」であることを示している。また、アカウントA01に対応するユーザIDは「XXXX」であり、認証情報(パスワード)は「YYYY」であることを示している。また、アカウントA01には、利用ログID「B01」や「B02」で識別されるログが蓄積されており、例えば、利用ログB01では、行動履歴として「ログイン」が、「2017年3月1日12:00」に行われており、その時点のスマートフォン20の位置情報が「G011」であることを示している。
(検証情報記憶部122について)
検証情報記憶部122は、ユーザの本人性の検証に用いる情報(すなわち、第2情報)を記憶する。ここで、図6に、実施形態に係る検証情報記憶部122の一例を示す。図6は、実施形態に係る検証情報記憶部122の一例を示す図である。図6に示した例では、検証情報記憶部122は、「検証対象ユーザ」、「第2情報」といった項目を有する。また、第2情報の項目は、「第2情報ログID」、「行動日時」、「位置情報」といった小項目を有する。
「検証対象ユーザ」は、リカバリ処理において本人性が検証される対象となるユーザを示す。なお、図6の例では、検証対象ユーザを「U01」といった参照符号で示しているが、検証対象ユーザは、図5に示したユーザID等を用いて示されてもよい。
「第2情報」は、第1のサービスの行動履歴との照合に用いられる、第1のサービス以外において取得されたユーザの行動履歴を示す。「第2情報ログID」は、第2情報である各々の行動履歴(ログ)を識別する識別情報を示す。「行動日時」は、各ログに対応する日時を示す。「位置情報」は、第2情報の一例である位置情報を示す。なお、図5と同様に、図6における位置情報を「H011」のような概念で示す。なお、図5に示した位置情報と、図6に示した位置情報とは、異なるデバイスによって取得される情報であるため、ファイルフォーマット等が異なる場合もありうる。しかし、いずれの位置情報も、内包する情報としては、経度や緯度を示す情報であったり、住所を示す情報であったりすることから、リカバリ装置100が、両者の一致や類似を判定することは可能であるものとする。
すなわち、図6の例では、検証対象ユーザ「U01」を検証するために取得された第2情報を示している。例えば、第2情報ログID「C01」で識別される第2情報ログC01は、「2017年3月1日12:00」における第2情報(行動履歴)であり、位置情報「H011」であることを示している。
なお、図6の例では、第2情報の一例として位置情報を示しているが、第2情報は位置情報に限られない。例えば、第2情報は、第2端末が取得可能な種々の情報や、第2のサービスにおいて取得される種々の情報であってもよい。これら第2情報のバリエーションに関して、詳しくは後述する。
(定義情報記憶部123について)
定義情報記憶部123は、検証手法に関する定義を記憶する。ここで、図7に、実施形態に係る定義情報記憶部123の一例を示す。図7は、実施形態に係る定義情報記憶部123の一例を示す図である。図7に示した例では、定義情報記憶部123は、「定義情報ID」、「検証レベル」、「検証情報」、「検証内容」といった項目を有する。
「定義情報ID」は、定義情報を識別するための識別情報を示す。なお、定義情報とは、ユーザを検証するための情報の種別や、検証手法や、ある検証手法でユーザを検証した場合の信頼性を示すレベルを定義した情報である。定義情報は、ユーザの本人性を検証し、ユーザを本人として認証するための条件と読み替えることもできる。
「検証レベル」は、ユーザの本人性の検証に関する信頼性を示すレベルである。実施形態では、検証レベルは、5段階の数値で示されるものとし、「5」が最も信頼性が高く、「1」が最も信頼性が低いものとする。例えば、リカバリ装置100は、リカバリしようとするアカウントの種別に応じて、どのような検証レベルでユーザを検証するかを判定してもよい。一例として、第1のサービスが金融機関等の提供するサービスであり、リカバリに関して極めて高い信頼性が要求される場合には、リカバリ装置100は、検証レベルが「5」と定義された検証手法を用いてユーザを検証されない限り、リカバリを実行しないと判定してもよい。一方、第1のサービスが高い信頼性を要求するサービスでない場合には、リカバリ装置100は、検証レベルが「3」と定義された検証手法を用いてユーザを検証した場合であっても、アカウントのリカバリを実行してもよい。すなわち、リカバリ装置100は、リカバリに際して要求される信頼性のレベルに応じて、異なる検証手法によってユーザを検証するようにしてもよい。例えば、検証に用いる情報の種別を増加させたり、照合させる情報を増加させたりするほど、定義される検証レベルは高くなるものとする。
「検証情報」は、ユーザの検証に用いる第1情報及び第2情報の種別を示す。「検証内容」は、ユーザの検証において第1情報と第2情報とを照合する際に、どのような条件を満たせばユーザの本人性が検証されるかを定義付けた内容を示す。
すなわち、図7の例では、定義情報ID「E01」で識別される定義情報は、検証レベルが「3」の検証手法に関する定義を示したものであることを示している。定義情報E01とは、具体的な検証手法として、検証情報として「位置情報」を用いるものであり、検証内容として「任意の3時点の位置情報の一致」を判定するものであることを示している。具体的には、定義情報E01では、第1情報と第2情報とを照合した場合に「任意の3時点の位置情報の一致」がみられた場合には、リカバリを要求したユーザがアカウントに登録されていたユーザ本人であると検証される、ということを示している。
(制御部130について)
制御部130は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、リカバリ装置100内部の記憶装置に記憶されている各種プログラム(実施形態に係るリカバリプログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図4に示すように、制御部130は、受信部131と、第1取得部132と、特定部133と、第2取得部134と、検証部135と、実行部136と、送信部137とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図4に示した接続関係に限られず、他の接続関係であってもよい。
(受信部131について)
受信部131は、各種情報を受信する。例えば、受信部131は、ユーザ端末10の一例であるスマートフォン20から、リカバリ装置100へのリカバリの要求を受信する。
また、受信部131は、リカバリの要求に対応するアカウントを特定する情報を受信する。例えば、受信部131は、アカウントを特定するための情報であるユーザIDを受信する。受信部131は、受信した情報を第1取得部132に送る。
(第1取得部132について)
第1取得部132は、第1のサービスにおけるユーザの行動履歴に関する情報である第1情報を取得する。
具体的には、第1取得部132は、受信部131によってリカバリの要求が受信された場合に、第1サービス情報記憶部121に蓄積されている第1情報のうち、当該ユーザに関する第1情報を取得する。なお、第1取得部132は、第1のサービスを提供する提供者がリカバリ装置100でない場合には、第1のサービスを提供する提供者(サービスサーバ)から第1情報を取得してもよい。この場合、第1取得部132は、スマートフォン20を利用するユーザのアカウントを特定し、特定したユーザに関する第1情報をサービスサーバから取得する。
例えば、第1取得部132は、第1情報として、ユーザが第1のサービスにログインした日時等の日時情報や、ログインした時点やログインしている間のユーザの位置情報を取得する。
また、第1取得部132は、第1のサービスが提供するサービスの種別に応じて、様々な第1情報を取得してもよい。例えば、第1取得部132は、第1のサービスがショッピングサービスやオークションサービスである場合には、第1情報として、ユーザの購買情報や決済情報等を取得してもよい。なお、第1取得部132は、商品を購買したユーザの住所情報や、受付に対して商品が配送される日時等の情報をさらに取得してもよい。
また、第1取得部132は、第1のサービスがニュースサービス等の情報提供サービスである場合、第1情報として、コンテンツの閲覧情報や、コンテンツの検索情報等を取得してもよい。
また、第1取得部132は、第1のサービスが旅行予約サービスや、交通機関の乗換案内サービス等である場合、ユーザが予約した施設や日時の情報等を取得してもよい。また、第1取得部132は、第1のサービスがSNS(Social Networking service)である場合、第1情報として、ユーザがテキスト(例えばツイート等)を投稿した日時や、投稿の内容や、投稿した画像等を含む投稿情報を取得してもよい。
また、第1取得部132は、ユーザが第1のサービスを利用する際に第1のサービス側に取得される情報を第1情報として取得してもよい。例えば、第1取得部132は、第1のサービスへの通信接続情報(スマートフォン20が利用するアクセスポイントに関する情報や、第1のサービスの利用に用いるデバイスのデバイスID等)や、ユーザの属性情報(ユーザの性別や年齢等)を取得してもよい。
(特定部133について)
特定部133は、ユーザから取得する第2情報を特定する。例えば、特定部133は、第2情報として取得する情報の種別を特定する。
具体的には、特定部133は、リカバリを要求したユーザの本人性を検証する処理において、当該ユーザに対応する第1情報と照合可能な情報を特定する。例えば、特定部133は、第1のサービスにおいて当該ユーザから位置情報が取得されている場合には、第2情報として位置情報が取得されることにより、第1情報と第2情報とを照合可能であると判定する。この場合、特定部133は、取得すべき第2情報の種別を「位置情報」と特定する。
なお、特定部133は、第1のサービスにおいて取得された第1情報の種別に応じて、様々な種別の情報を、取得すべき第2情報として特定してもよい。例えば、特定部133は、上記した決済情報や、コンテンツの閲覧情報や、検索情報や、予約情報や、SNS投稿情報や、通信接続情報や、ユーザの属性情報等を、取得すべき第2情報として特定する。また、特定部133は、必ずしも第1情報と同じ種別の情報を第2情報として特定しなくてもよい。例えば、特定部133は、第1情報と第2情報の種別が異なる場合であっても、異なる種別の情報がユーザにおける共通した所定の行動を示すことにより、ユーザの本人性を検証できるのであれば、第1情報とは異なる種別の情報を特定してもよい。
(第2取得部134について)
第2取得部134は、第1情報以外の情報であって、ユーザの行動履歴に関する情報である第2情報を取得する。例えば、第2取得部134は、リカバリの要求を送信した第1端末に対して本人確認要求を送信するとともに、特定部133によって特定された種別に関する情報を送信する。そして、第2取得部134は、第2端末や、第2のサービスを介して第2情報を取得した第1端末から、第2情報を取得する。
第2取得部134は、第2情報として、第1のサービスの提供者以外の提供者から提供されるサービスである第2のサービスにおける、ユーザの行動履歴に関する情報を取得する。
具体的には、第2取得部134は、第2情報として、第1のサービスの利用において用いられる端末装置(第1端末)以外の他端末(第2端末)によって取得された、ユーザの行動履歴に関する情報を取得する。図1に示した例では、第2取得部134は、第2情報として、第2端末であるウェアラブルデバイス30に蓄積されたユーザU01の行動履歴を取得する。なお、図2に示したように、第2取得部134は、第2端末からではなく、第2のサービスを提供する第2サービス提供サーバ200等から第2情報を取得してもよい。
第2取得部134は、第2情報として、第1情報と同様に様々な種別の情報を取得してもよい。例えば、第2取得部134は、位置情報、決済情報、コンテンツの閲覧情報、検索情報、予約情報、SNS投稿情報、通信接続情報、及びユーザの属性情報の少なくともいずれか一つを取得する。
第2取得部134は、取得した第2情報を検証情報記憶部122に格納する。なお、第2取得部134は、取得した第2情報の全てを検証情報記憶部122に格納してもよいし、特定部133によって特定された種別の第2情報のみを検証情報記憶部122に格納してもよい。
(検証部135について)
検証部135は、第1取得部132によって取得された第1情報と、第2取得部134によって取得された第2情報との照合に基づいて、ユーザの本人性を検証する。
例えば、検証部135は、第1情報と第2情報とで共通する種別の情報を抽出し、抽出した情報同士の一致度もしくは類似度に基づいて、ユーザの本人性を検証する。
具体的には、検証部135は、定義情報記憶部123に記憶されている定義情報に従って、ユーザの本人性を検証する。例えば、検証部135は、リカバリしようとするアカウントに要求される検証レベルを参照する。検証部135は、例えば第1のサービスの提供者によって予め設定された検証レベルを参照することで、リカバリしようとするアカウントの検証レベルを特定する。なお、検証部135は、リカバリしようとするアカウントに検証レベルが設定されていない場合には、任意に選択したいずれかの定義情報に基づいてユーザを検証するようにしてもよい。
以下に、検証部135が、図7に示す定義情報E01を用いてユーザの本人性を検証する場合について例示する。検証部135は、第1情報のうち、任意の3時点の位置情報を抽出する。また、検証部135は、第2情報のうち、第1情報から抽出された3時点に対応する時点の位置情報を特定する。なお、検証部135は、第1情報と第2情報の時点が完全に一致しなくとも、例えば所定範囲内(例えば1分以内など)の時点の第2情報(行動履歴)を抽出するなど、柔軟に処理を行ってもよい。
そして、検証部135は、抽出された3時点における位置情報の一致を検証する。具体的には、検証部135は、抽出された時点において、第1情報の位置情報が示す位置と、第2情報の位置情報が示す位置とが、所定範囲内で一致するか否かを検証する。そして、検証部135は、検証した3時点において、位置情報の示す位置が一致している場合には、リカバリを要求したユーザが、当該アカウントを保持していたユーザ本人であると判定する。なお、位置情報は、完全に一致した位置を示すものでなくとも、所定の類似範囲であればよい。かかる類似範囲は、例えば、予め設定された所定範囲や所定距離内であるか否か等によって柔軟に判定されてもよい。
また、上記では、位置情報を3時点で照合する例を示したが、検証部135は、時点で照合を行うのではなく、ある時間長における位置情報を照合してもよい。例えば、検証部135は、ある過去の10分間における位置情報の推移について、第1情報と第2情報とを照合してもよい。
上記のように、比較する情報が位置情報である場合、検証部135は、第1情報と第2情報とに含まれる位置情報を抽出し、所定数もしくは所定の時間長における位置情報同士の一致度もしくは類似度に基づいて、ユーザの本人性を検証する。
また、検証部135は、第1情報と第2情報とから互いに異なる種別の情報を抽出し、抽出した異なる種別の情報が、ユーザにおける共通した所定の行動を示すか否かに基づいて、ユーザの本人性を検証してもよい。
例えば、検証部135は、第1情報の購買情報と、第2情報の位置情報とを抽出し、ユーザにおける共通した所定の行動を示すか否かに基づいて、ユーザの本人性を検証してもよい。具体的には、検証部135は、第1のサービスにおけるユーザの購買履歴に含まれる、当該商品の配送日時及び配送先を参照する。また、検証部135は、第2情報のうち、当該商品が配送される日時におけるユーザの位置情報を参照する。そして、検証部135は、当該商品の配送先が示す位置と、当該商品が配送される日時におけるユーザの位置情報とが一致するか否かを判定する。
検証部135は、かかる情報が一致する場合、第1のサービスにおいて商品を購入したユーザは、当該商品を配送先で受け取ったユーザである蓋然性が高いと判定する。すなわち、検証部135は、第1情報と第2情報とにおいて、情報の種別は異なるものの、それらの情報が、ユーザにおける共通した所定の行動を示すと判定される場合には、当該ユーザを本人であると検証することができる。かかる処理を介して、検証部135は、ユーザの本人性を検証する。なお、これらの照合に関する情報(いずれの情報を比較するか、あるいは、どのような情報が比較対象となりうるかといった情報など)については、予め保持した定義情報に記載されてもよいし、リカバリ装置100の管理者等によって適宜入力されてもよい。
検証部135は、種々の情報に基づいて検証を行ってもよい。具体的には、検証部135は、第1情報及び第2情報の種別として、位置情報、決済情報、コンテンツの閲覧情報、検索情報、予約情報、SNS投稿情報、通信接続情報、ユーザの属性情報の少なくともいずれか一つを用いて、ユーザの本人性を検証してもよい。
また、検証部135は、照合した1つだけの情報でなく、複数の情報の照合結果に基づいて、ユーザの本人性を検証してもよい。すなわち、検証部135は、共通する所定時間の行動履歴を示す第1情報と第2情報とを一つの組として、少なくとも2以上の組における照合に基づいて、ユーザの本人性を検証してもよい。このように、検証部135は、多要素情報に基づいて本人性を検証することで、検証の精度を向上させることができる。
また、検証部135は、ユーザによって選択された種別の第1情報と第2情報との照合に基づいてユーザの本人性を検証してもよい。例えば、受信部131は、リカバリの要求を受信した場合に、どのような情報で検証を行うかといった選択をユーザに委ねてもよい。例えば、ユーザは、検証に用いる情報のうち、自身がリカバリ装置100に送信することが可能な情報の種別を選択するようにしてもよい。具体的には、ユーザは、位置情報を取得可能なウェアラブルデバイス30を所有している場合には、情報の種別として「位置情報」を選択してもよい。これにより、検証部135は、ユーザの要望に沿った検証処理を行うことができる。具体的には、検証部135は、ユーザがリカバリ装置100に提供し易い情報を優先的に用いて検証処理を行うことで、ユーザの負担を軽減することができる。
なお、検証部135は、上記したような類似や一致の判定の設定等については、人為的に設定を受け付けてもよいし、例えば、どの時間帯の範囲のデータ同士を照合するのかを決定する照合データ範囲の導出機能を備えていてもよい。例えば、位置情報が照合処理に用いられる場合、第1情報と第2情報において、どの時刻における緯度や経度情報が近似するのかを特定することは困難な場合がある。また、完全に同時刻の位置情報が第1情報と第2情報との双方で存在していたとしても、検知される情報の精度はデバイスの機能や性能等に依存するため、双方の位置情報が完全に一致する可能性は低い。このため、検証部135は、どの時間帯の範囲におけるデータ同士を照合するか、あるいは、どのくらいの誤差を許容するかといった、照合データ範囲の導出を行い、照合しようとするデータの抽出を適切に行うようにしてもよい。
また、検証部135は、例えば、ウェアラブルデバイス30から取得したアクセストークンに基づいて取得する第2情報の範囲についても、上記のように、適宜、設定を行ってもよい。例えば、検証部135は、図5に示したように、ユーザU01の位置情報として位置情報G011や位置情報G012や位置情報G013が保持されている場合には、第2サービス提供サーバ200へのアクセストークンを取得した場合には、上記の位置情報に対応する時間帯の範囲の位置情報を取得すること等を決定してもよい。
また、検証部135は、照合するデータを曖昧化や概念化したうえで、互いのデータを照合する処理を行ってもよい。位置情報を例として挙げると、検証部135は、所定の幅のある時間間隔(time window)の中でのある位置情報を、例えば所定の地域(市町村など)を示す住所情報等に曖昧化してもよい。そして、検証部135は、第1情報と第2情報において、市町村などの所定の地域を示す情報が一致する場合に、双方の位置情報が一致したと判定してもよい。このような情報の曖昧化を行うことにより、検証部135は、必ずしも完全に一致する情報のみならず、所定の許容範囲内において、第1情報と第2情報についての照合処理を行うことができる。
(実行部136について)
実行部136は、検証部135によってユーザの本人性が検証された場合に、第1のサービスにおいてユーザが有していたアカウントのリカバリを実行する。
例えば、実行部136は、検証部135が定義情報において定義された条件が満たされたことを検証した場合に、ユーザの本人性が検証されたと判定し、当該ユーザが有していたアカウントのリカバリを実行する。
また、実行部136は、検証部135によってユーザの本人性が検証されなかった場合にはアカウントのリカバリを実行しない。この場合、実行部136は、リカバリが失敗した旨を送信部137に送り、リカバリが失敗した旨の通知をユーザに送信させてもよい。
(送信部137について)
送信部137は、各種情報を送信する。例えば、送信部137は、実行部136によるアカウントのリカバリの結果を、リカバリを要求したユーザに送信する。また、送信部137は、アカウントのリカバリを実行した旨を送信する場合には、例えば新たな認証情報に関わる情報(例えば、パスワードの再設定に関する通知など)をあわせて送信してもよい。
また、送信部137は、アカウントのリカバリが実行されなかった旨を送信する場合には、例えば、リカバリに要する第2情報が不足していたこと等を通知する旨をあわせて送信してもよい。また、送信部137は、新たな第2情報をユーザが送信した場合にアカウントのリカバリが実行される可能性がある場合には、検証に要する第2情報を新たに送信することの要求をユーザに送信してもよい。
〔4.ユーザ端末の構成〕
次に、図8を用いて、実施形態に係るユーザ端末10の構成について説明する。図8は、実施形態に係るユーザ端末10の構成例を示す図である。図8に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。なお、実施形態に係るユーザ端末10は、例えばスマートフォン20やウェアラブルデバイス30が該当する。ただし、ユーザ端末10は、必ずしも図8に示す全ての構成を備えていなくてもよい。例えば、ウェアラブルデバイス30は、液晶ディスプレイ等の表示部を必ずしも備えていなくてもよい。
(通信部11について)
通信部11は、例えば、NIC等によって実現される。かかる通信部11は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、リカバリ装置100や、第2サービス提供サーバ200や、任意のデバイス等との間で情報の送受信を行う。
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。
例えば、検知部14は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、検知部14は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、検知部14は、ユーザによって所定のアプリケーションプログラム(以下、単に「アプリ」と表記する)が起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像機能(例えば、カメラ)を動作させるアプリである場合、検知部14は、ユーザによって撮像機能が利用されていることを検知する。また、検知部14は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が動かされているといった操作を検知してもよい。
また、検知部14は、ユーザ端末10の現在位置を検知する。具体的には、検知部14は、GPS(Global Positioning System)衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。
また、検知部14は、種々の手法により位置情報を取得してもよい。例えば、ユーザ端末10が駅改札や商店等で使用される非接触型ICカードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。検知部14は、かかる情報を検知し、位置情報として取得する。また、検知部14は、ユーザ端末10が特定のアクセスポイントと通信を行う際には、アクセスポイントから取得可能な位置情報を検知してもよい。また、位置情報は、ユーザ端末10が備える光学式センサや、赤外線センサや、磁気センサ等によって取得されてもよい。また、IPアドレス等によってユーザ端末10の位置を推定可能な場合には、検知部14は、位置情報の一例として、IPアドレス等を取得してもよい。
また、検知部14は、ユーザ端末10に接続される外部装置を検知する。なお、外部装置とは、対象となるユーザ端末10以外の装置であり、対象とは異なる他のユーザ端末10が含まれてもよい。例えば、スマートフォン20からみた場合、ウェアラブルデバイス30は、外部装置として認識される。
検知部14は、例えば、外部装置との相互の通信パケットのやり取りや、外部装置が発する信号等に基づいて、外部装置を検知する。具体的には、検知部14は、外部装置が利用しているWifiやBluetooth等の電波を検知する。また、検知部14は、外部装置と通信が確立する場合に、外部装置との接続の種類を検知してもよい。例えば、検知部14は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、検知部14は、無線通信で用いられている通信方式等を検知してもよい。また、検知部14は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
また、検知部14は、ユーザ端末10における環境を検知する。検知部14は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、検知部14は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、検知部14は、各種センサを用いて、種々の情報を検知する。例えば、検知部14は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲がユーザの虹彩を撮像に適する照度であるか等を検知する。さらに、検知部14は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
また、ユーザ端末10は、検知部14によって検知された情報に基づいて、ユーザ端末10のコンテキスト(context)を示すコンテキスト情報を取得するようにしてもよい。上述のように、ユーザ端末10は、内蔵された各種センサ(検知部14)により、位置、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として取得する。また、ユーザ端末10は、内蔵する通信機能を利用して、各種装置との接続状況(例えば、通信の確立に関する情報や、利用している通信規格)などを、コンテキスト情報として取得してもよい。
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
例えば、記憶部15は、検知部14によって検知された位置情報等を、検知された日時と対応付けて記憶する。また、記憶部15は、第1のサービスや第2のサービスに関する利用履歴や、第1のサービスや第2のサービスにおけるユーザの行動履歴等を記憶してもよい。
(制御部16について)
制御部16は、コントローラであり、例えば、CPUやMPU等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
図8に示すように、制御部16は、取得部161と、受信部162と、送信部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、図8に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部161について)
取得部161は、各種情報を取得する。例えば、取得部161は、検知部14によって検知された各種情報を取得する。
(受信部162について)
受信部162は、各種情報を受信する。例えば、受信部162は、アカウントのリカバリの要求を受け付けた旨の通知をリカバリ装置100から受信する。また、受信部162は、第2情報をリカバリ装置100に送信する旨の通知を受信する。また、受信部162は、リカバリ装置100によるリカバリの結果を受信する。
送信部163は、各種情報を送信する。例えば、送信部163は、ユーザの操作に従って、第1のサービスにおけるアカウントのリカバリの要求をリカバリ装置100に送信する。また、送信部163は、リカバリするアカウントを特定するための情報(ユーザID等)をリカバリ装置100に送信する。また、送信部163は、アカウントのリカバリが行われた場合には、リカバリされたアカウントに新たに設定する認証情報(パスワード等)をリカバリ装置100に送信する。
〔5.第2サービス提供サーバの構成〕
次に、図9を用いて、実施形態に係る第2サービス提供サーバ200の構成について説明する。図9は、実施形態に係る第2サービス提供サーバ200の構成例を示す図である。図9に示すように、第2サービス提供サーバ200は、通信部210と、記憶部220と、制御部230とを有する。なお、以下の説明では、第2サービス提供サーバ200とリカバリ装置100とにおいて共通する構成については説明を省略する。
(第2サービス情報記憶部221について)
第2サービス情報記憶部221は、第2のサービスに関する情報を記憶する。ここで、図10に、実施形態に係る第2サービス情報記憶部221の一例を示す。図10は、実施形態に係る第2サービス情報記憶部221の一例を示す図である。図10に示した例では、第2サービス情報記憶部221は、「第2サービスアカウントID」、「登録デバイスID」、「登録ユーザ」、「第2サービス行動履歴」といった項目を有する。また、第2サービス行動履歴の項目は、「第2情報ログID」、「行動日時」、「位置情報」といった小項目を有する。
「第2サービスアカウントID」は、第2のサービスにおけるアカウントを識別する識別情報を示す。「登録デバイスID」は、第2のサービスに利用するデバイスとして登録されているデバイスを識別する識別情報を示す。「登録ユーザ」は、アカウントを保持するユーザを示す。「第2サービス行動履歴」は、第2のサービスにおける行動履歴を示す。なお、実施形態では、第2サービス提供サーバ200は、ウェアラブルデバイス30と連動して、ユーザの位置情報を蓄積したり、ユーザの一日の行動量を分析したりする第2のサービスを提供するものとする。
すなわち、図10の例では、第2サービスアカウントID「F01」で識別されるアカウントF01には、登録デバイスID「30」で識別されるデバイスであるウェアラブルデバイス30が登録されており、登録ユーザは「U01」であることを示している。また、第2情報ログID「C01」で識別される第2情報(行動履歴)は、「2017年3月1日12:00」において、その時点のウェアラブルデバイス30の位置情報が「H011」であることを示している。
(制御部230について)
制御部230は、例えば、コントローラであり、CPUやMPU等によって、第2サービス提供サーバ200内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
図9に示すように、制御部230は、受信部231と、取得部232と、送信部233とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図9に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230が有する各処理部の接続関係は、図9に示した接続関係に限られず、他の接続関係であってもよい。
(受信部231について)
受信部231は、各種情報を受信する。例えば、受信部231は、ユーザ端末10の一例であり、また、第2端末の一例であるウェアラブルデバイス30から、第2のサービスの利用に関する要求を受信する。具体的には、受信部231は、第2のサービスに関するアカウントの作成要求や、アカウントへのログイン要求を受信する。例えば、受信部231は、ウェアラブルデバイス30から送信されるデバイスID等に基づいて、アカウントへのログイン要求を受け付ける。
また、受信部231は、第2サービス情報記憶部221へのアクセス許可を求める要求を受信する。例えば、受信部231は、ユーザから送信される要求であって、第2サービスに関する情報へアクセスするためのアクセストークンの発行を求める要求を受信する。
(取得部232について)
取得部232は、各種情報を取得する。例えば、取得部232は、第2のサービスを利用するユーザ端末10から第2情報を取得する。具体的には、取得部232は、第2情報として、ウェアラブルデバイス30等が検知する位置情報を定期的に取得する。また、取得部232は、第2情報として、第2のサービスを利用するユーザの行動履歴を適宜取得する。
(送信部233について)
送信部233は、各種情報を送信する。例えば、送信部233は、ユーザからアクセストークンの発行を求める要求を受信した場合には、要求に対応するアクセストークンを送信する。例えば、アクセストークンは、第2サービス情報記憶部221に蓄積される第2情報のうち、要求を送信したユーザに対応する第2情報にアクセスすることを可能とする一時的に有効なトークンである。アクセストークンを取得したリカバリ装置100は、第2サービス提供サーバ200にアクセスし、検証処理に利用する第2情報を取得する。
なお、リカバリ装置100が第2情報を取得する手法は、上記のようなアクセストークンを用いた処理に限られない。例えば、リカバリ装置100は、第2サービス提供サーバ200に第2情報に関する利用の要求を送信してもよい。また、送信部233は、かかる要求に応答して、リカバリ装置100に第2情報を送信してもよい。
〔6.処理手順〕
次に、図11及び図12を用いて、実施形態に係るリカバリ処理の手順について説明する。まず、図11を用いて、リカバリ装置100に関する処理の手順について説明する。図11は、実施形態に係るリカバリ装置100の処理手順を示すフローチャートである。
図11に示すように、リカバリ装置100は、第1端末からアカウントのリカバリの要求を受信したか否かを判定する(ステップS101)。リカバリの要求を受信していない場合(ステップS101;No)、リカバリ装置100は、リカバリの要求を受信するまで待機する。
一方、リカバリの要求を受信した場合(ステップS101;Yes)、リカバリ装置100は、リカバリするアカウントを特定するための情報(例えば、当該アカウントに対応するユーザID)を取得する(ステップS102)。
続けて、リカバリ装置100は、リカバリしようとするアカウントにおける第1情報を取得する(ステップS103)。リカバリ装置100は、取得した第1情報に基づいて、検証に用いる情報の種別(例えば、位置情報等)を特定する(ステップS104)。
その後、リカバリ装置100は、第1端末に対して本人確認要求を送信する(ステップS105)。なお、本人確認要求とは、特定した第2情報の種別に関する情報と、第2情報をリカバリ装置100側に送信するよう要求する旨の通知とを含む。すなわち、第1端末は、かかる要求を受信することで、リカバリ装置100に送信すべき第2情報を特定する。
そして、リカバリ装置100は、検証に用いることのできる第2情報を取得したか否かを判定する(ステップS106)。検証に用いることのできる第2情報を取得していない場合(ステップS106;No)、リカバリ装置100は、第2情報を取得するまで待機する。
一方、検証に用いることのできる第2情報を取得した場合(ステップS106;Yes)、リカバリ装置100は、定義情報に従い、第1情報と第2情報とを照合する(ステップS107)。
リカバリ装置100は、照合の結果に基づいて、ユーザの本人性が検証されたか否かを判定する(ステップS108)。ユーザの本人性が検証された場合(ステップS108;Yes)、リカバリ装置100は、アカウントのリカバリを実行する(ステップS109)。一方、ユーザの本人性が検証されなかった場合(ステップS108;No)、リカバリ装置100は、アカウントのリカバリを実行しない(ステップS110)。そして、リカバリ装置100は、ステップS109又はステップS110の結果をユーザに送信する(ステップS111)。
次に、図12を用いて、ユーザ端末10のうち第1端末に関する処理の手順について説明する。図12は、実施形態に係る第1端末の処理手順を示すフローチャートである。
図12に示すように、第1端末は、第1のサービスにおけるアカウントのリカバリをリカバリ装置100に要求する(ステップS201)。さらに、第1端末は、アカウントを特定するための情報(ユーザID等)の送信をリカバリ装置100に要求された場合には、アカウントを特定するための情報をリカバリ装置100に送信する(ステップS202)。
その後、第1端末は、リカバリ装置100から送信された本人確認要求を受信する(ステップS203)。かかる本人確認要求は、第1端末がリカバリ装置100に送信すべき第2情報の種別に関する情報を含む。第1端末は、リカバリ装置100に送信すべき第2情報を取得するため、第2端末へアクセスする(ステップS204)。
第1端末は、第2情報を取得したか否かを判定する(ステップS205)。第2情報を取得していない場合(ステップS205;No)、第1端末は、第2情報を取得するまで待機する。
一方、第2情報を取得した場合(ステップS205;Yes)、第1端末は、第2情報をリカバリ装置100に送信する(ステップS206)。なお、第1端末は、第2情報に代えて、第2情報に対してリカバリ装置100がアクセス可能とするためのアクセストークン等を取得した場合には、取得したアクセストークン等をリカバリ装置100に送信してもよい。その後、第1端末は、アカウントのリカバリの結果を受信する(ステップS207)。
〔7.変形例〕
上述したリカバリ装置100によるリカバリ処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、リカバリ装置100やリカバリ処理に関する他の実施形態について説明する。
〔7−1.第2情報の取得〕
上記実施形態では、第1端末が、第2端末や第2サービス提供サーバ200を介して第2情報を取得する例を示した。ここで、第2情報は、第1端末から取得されてもよい。
第1端末がスマートフォン20である場合について説明する。スマートフォン20には、第1のサービスを利用するためのアプリ(以下、「第1アプリ」と表記する)と、第2のサービスを利用するためのアプリ(以下、「第2アプリ」と表記する)とがインストールされている。ユーザは、第1アプリを利用して第1のサービスを利用し、第2アプリを利用して第2のサービスを利用しているものとする。なお、第2アプリは、スマートフォン20の位置情報を定期的に取得する機能を有するアプリであり、図1及び図2で示したウェアラブルデバイス30と同等の機能を実現するものとする。
ここで、リカバリ要求において、リカバリ装置100が、スマートフォン20に本人確認要求を送信し、第2情報の送信を求めたものとする。このとき、スマートフォン20は、第2アプリの機能によって、スマートフォン20内部に保持されている情報であって、第2のサービスにおける行動履歴を第2情報として取得する。そして、スマートフォン20は、第2アプリによって取得された第2情報をリカバリ装置100に送信する。
すなわち、リカバリ装置100は、第2情報として、第1のサービスの利用において用いられるスマートフォン20によって取得された情報であって、第1のサービスの利用において用いられる第1アプリとは異なる第2アプリによって取得された、ユーザの行動履歴に関する情報を取得する。
このように、リカバリ装置100は、必ずしも第1端末とは異なるデバイスによって取得された情報を第2情報として取得することを要さず、第1端末が、第1のサービスによって利用される第1情報とは異なる情報を取得する機能を備えている場合(この例の場合は第2アプリ)には、第1端末から第2情報を取得してもよい。
なお、上記のようなアプリが利用される態様は、スマートフォン20やウェアラブルデバイス30自体にアプリがインストールされる態様に限られない。例えば、ユーザは、スマートフォン20にインストールされて動作するアプリと同様の処理を実現するようなプログラムであって、ネットワークを介して利用されるプログラムを利用する場合もありうる。具体的には、ユーザは、スマートフォン20等を利用してネットワークに接続し、ネットワークを介して、所定のサーバに置かれたエミュレータプログラムを操作する場合もありうる。すなわち、実施形態に係るアプリは、必ずしもユーザ端末10上に存在する態様に限らず、ネットワーク上の所定のサーバ上に置かれたエミュレータプログラム等、ユーザ端末10上に存在するアプリと同様の処理を実現することができるプログラムであれば、いずれの態様により実現されてもよい。
〔7−2.検証処理〕
リカバリ装置100は、第1情報と第2情報との一致や類似に基づいて、ユーザの本人性を示すスコアを算出するような処理を行ってもよい。例えば、リカバリ装置100は、第1情報と第2情報における位置情報が一致した数に応じてスコアを算出する。そして、リカバリ装置100は、算出したスコアが所定の閾値を超える場合に、ユーザの本人性が検証されたと判定してもよい。この場合、リカバリ装置100は、位置情報に限らず、種々の情報による照合を行い、総合して算出されたスコアが所定の閾値を超えた場合にユーザの本人性を検証するなど、柔軟な処理を行うようにしてもよい。
〔7−3.デバイス間の協調処理〕
上記実施形態では、第2端末がウェアラブルデバイス30である例を示した。しかし、第2端末は、複数であってもよい。すなわち、ユーザは、ウェアラブルデバイス30以外の他端末を利用して第2のサービスを利用している場合や、当該他端末によってユーザの行動履歴(位置情報や、ユーザの身体的な情報や、第2のサービスにおける利用履歴など)が取得されている場合には、他端末を第2端末とみなして、上記実施形態に係る処理を実行してもよい。
また、第2情報は、一つの第2端末から取得される情報に限られず、複数の第2端末から集計された情報であってもよい。第1端末は、複数の第2端末から取得された情報を第2情報として、リカバリ装置100に送信してもよい。これにより、ユーザは、より多くの手段によって第2情報を取得することができるため、検証に用いる情報を容易に取得しやすくなる。結果として、リカバリ装置100は、ユーザにとって利便性の高いリカバリを行うことができる。
〔7−4.特定処理〕
リカバリ装置100は、第1端末から取得する第2情報について、種別や情報量を特定しなくてもよい。例えば、リカバリ装置100は、第2端末によって蓄積されているすべての第2情報を取得してもよい。あるいは、リカバリ装置100は、第2端末によって蓄積されている第2情報のうち、いくつかの第2情報を無作為に取得してもよい。そして、リカバリ装置100は、取得した第2情報のうち、第1情報と照合することのできる情報を抽出して、検証処理を行ってもよい。
〔7−5.取得処理〕
リカバリ装置100は、図5で示した第1情報等を取得したり保持したりする処理において、常に取得処理を継続するのではなく、所定のタイミングで取得処理を行うようにしてもよい。例えば、リカバリ装置100は、所定のタイミングとして、スマートフォン20において所定のアプリが起動されたときを契機として、第1情報を取得してもよい。また、リカバリ装置100は、所定の閾値を超えるようなコンテキストの変化が観測されたときに、その変化した情報をログとして保持するようにしてもよい。また、リカバリ装置100は、特定の位置情報が観測された場合(ユーザU01の自宅や会社などの拠点となる位置や、事前に設定された所定のスポット等)にのみ、その位置情報をログとして保持するようにしてもよい。また、リカバリ装置100は、スマートフォン20において所定のチェックイン機能を有するアプリが起動され、ユーザからのチェックインが確認された場合に、かかるタイミングにおける位置情報を取得するようにしてもよい。なお、この場合のチェックインとは、例えば、SNSやオンラインゲーム等において、自身が他ユーザに対して何らかの提案を行ったり、提案に対して他ユーザへの参加を促したりする行動を示す。なお、リカバリ装置100は、チェックインに係るサービスを第2のサービスとして取り扱い、かかるサービスから提供される第2情報を用いて実施形態に係るリカバリ処理を行ってもよい。
このように、リカバリ装置100は、各種情報を取得するタイミングや、保持する情報について、適宜、取捨選択することができる。これにより、リカバリ装置100は、実施形態に係る処理負荷を軽減させたり、情報を保持するための記憶装置に関する負担を軽減させたり、処理に係る電力量や通信量のコストを削減することができる。
〔7−6.処理のバリエーション〕
上記実施形態の各処理において、リカバリ装置100が行う各処理には、種々のバリエーションが存在してもよい。
例えば、第1のサービスがショッピングサービスであり、第2のサービスが金融機関による決済サービスであるものとする。このとき、リカバリ装置100は、第1情報としてユーザの購買履歴を取得するとともに、第2情報として、第1情報の購買履歴に対応する決済履歴を取得する。
そして、リカバリ装置100は、例えば、第1のサービスにおける購買履歴と同じ日時に、第1のサービスの購買額と同じ金額が第2のサービスにおいて決済されていた場合に、両者の情報が、ある共通したユーザの行動を示す情報であるとして、ユーザの本人性を検証してもよい。
あるいは、第1のサービスが通信網を提供する通信サービスであり、第2のサービスが金融機関による決済サービスであるものとする。そして、リカバリ装置100は、第1情報としてユーザのスマートフォン20の利用額を取得するとともに、第2情報として、スマートフォン20の利用額の決済履歴を取得する。
そして、リカバリ装置100は、例えば、第1のサービスにおけるスマートフォン20の利用額と、第2のサービスにおける決済額が同じ場合に、両者の情報が、ある共通したユーザの行動を示す情報であるとして、ユーザの本人性を検証してもよい。
また、上記実施形態における位置情報は、ユーザ端末10が取得する各種環境情報と置き換えてもよい。例えば、リカバリ装置100は、ユーザがある行動を実行した場合の気温情報や、湿度情報や、照度情報や、通信環境情報等を利用してもよい。
〔7−7.第3のサービス〕
リカバリ装置100は、アカウントのリカバリを行う第1のサービス以外の情報を用いて、リカバリ処理を実行してもよい。例えば、リカバリ装置100は、第2のサービスと、第1及び第2のサービス以外のサービスである第3のサービスとにおけるユーザの行動履歴に基づいてリカバリ処理を実行してもよい。
例えば、ユーザは、予め第1のサービスと、第2のサービスや第3のサービスとでユーザIDを連携しているものとする。この場合、第2のサービスや、第3のサービスを利用する場合に、ユーザは、第1のサービスにおけるユーザIDを利用することができる。
そして、ユーザが、第1のサービスにおけるアカウントのリカバリを要求したものとする。この場合、リカバリ装置100は、例えば、第2のサービスにおける行動履歴と、第3のサービスにおける行動履歴との一致又は類似に基づいて、ユーザの本人性を検証してもよい。
例えば、第2のサービスが位置情報サービスであり、第3のサービスがSNSであるものとする。例えば、位置情報サービスでは、定期的にユーザの位置情報を取得する。また、SNSサービスでは、ユーザが投稿を行った際に、当該ユーザの位置情報を取得する。そして、リカバリ装置100は、第2のサービスにおける位置情報と、第3のサービスにおける位置情報とが一致している場合に、両サービスを利用したユーザは、同一のユーザである蓋然性が高いと判定する。すなわち、リカバリ装置100は、第1のサービスにおける第1情報を用いずとも、第1のサービスと連携されているサービスであって、かつ、複数のサービス間における行動履歴がある共通したユーザの行動を示していると推定される場合には、当該ユーザの本人性が検証されたと判定してもよい。
すなわち、リカバリ装置100は、リカバリしようとするアカウントに対応した行動履歴を必ずしも用いなくても、他のサービスにおける行動履歴の共通性を判定することで、ユーザの本人性を検証してもよい。このように、リカバリ装置100は、柔軟なリカバリ処理を実行することができる。
〔7−8.ユーザ端末〕
上記実施形態では、図8を用いてユーザ端末10の構成例を示したが、ユーザ端末10は、図8で示した構成を必ずしも全て有していなくてもよい。ユーザ端末10には、上述のように、スマートフォン20やウェアラブルデバイス30のようなスマートデバイスのみならず、通信機能を有する眼鏡型端末や、あるいは、ユーザの心拍を記憶する心拍測定器など、種々のウェアラブルデバイスが含まれる。この場合、ユーザ端末10は、必ずしもユーザから入力を受け付けるのではなく、自動的にユーザの情報を取得し、かかる情報を通信ネットワークに送信するなどの機能を持ちうる。すなわち、ユーザ端末10は、いわゆるIoT(Internet of Things)を実現するような、所定の通信機能を有するデバイスであれば、必ずしも図8で示した構成を有していなくてもよい。
〔8.ハードウェア構成〕
上述してきた実施形態に係るリカバリ装置100や、ユーザ端末10や、第2サービス提供サーバ200は、例えば図13に示すような構成のコンピュータ1000によって実現される。以下、リカバリ装置100を例に挙げて説明する。図13は、リカバリ装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(図3に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係るリカバリ装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラム(リカバリプログラム)を実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
〔9.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図4に示した特定部133と、検証部135は統合されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた記憶装置に記憶されてもよい。
また、例えば、上記実施形態では、リカバリ装置100が、第1情報及び第2情報を取得する取得処理と、ユーザの本人性を検証する検証処理と、アカウントのリカバリを実行する実行処理とを行う例を示した。しかし、上述したリカバリ装置100は、取得処理を行う取得装置と、検証処理を行う検証装置と、リカバリ処理を実行する実行装置とに分離されてもよい。この場合、実施形態に係るリカバリ装置100による処理は、取得装置と、検証装置と、実行装置とを有するリカバリシステム1によって実現される。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔10.効果〕
上述してきたように、実施形態に係るリカバリ装置100は、第1取得部132と、第2取得部134と、検証部135と、実行部136とを有する。第1取得部132は、第1のサービスにおけるユーザの行動履歴に関する情報である第1情報を取得する。第2取得部134は、第1情報以外の情報であって、ユーザの行動履歴に関する情報である第2情報を取得する。検証部135は、第1情報と第2情報との照合に基づいて、ユーザの本人性を検証する。実行部136は、検証部135によってユーザの本人性が検証された場合に、第1のサービスにおいて当該ユーザが有していたアカウントのリカバリを実行する。
このように、実施形態に係るリカバリ装置100は、第1のサービスに保持されている第1情報と、第1情報以外の情報である第2情報との照合によってユーザの本人性を検証する。これにより、リカバリ装置100は、事前の登録を要さずとも、第1のサービスにおける行動履歴というユーザしか知り得ない情報と、第1のサービス以外における行動履歴という、ユーザしか回答できない情報とを照合することができる。これにより、リカバリ装置100は、秘密の質問などの事前登録がなくともリカバリ処理を実行できるため、ユーザにとって利便性の高いリカバリ処理を提供することができる。
また、第2取得部134は、第2情報として、第1のサービスの提供者以外の提供者から提供されるサービスである第2のサービスにおける、ユーザの行動履歴に関する情報を取得する。
このように、実施形態に係るリカバリ装置100は、第2のサービスから取得するユーザの行動履歴と、第1のサービスにおける行動履歴とを照合することで、ユーザの本人性を検証する。これにより、リカバリ装置100は、ユーザU01が改竄することが困難な情報を利用して検証を行うことができるため、不正ユーザによる成りすまし等を高い精度で防止し、より安全性の高いリカバリ処理を行うことができる。
また、第2取得部134は、第2情報として、第1のサービスの利用において用いられる端末装置以外の他端末(実施形態では、第2端末に対応する)によって取得された、ユーザの行動履歴に関する情報を取得する。
このように、実施形態に係るリカバリ装置100は、ユーザが日常的に利用していると想定される第2端末に蓄積された情報を利用して、リカバリ処理を実行することができる。すなわち、リカバリ装置100は、第2情報を準備する手間や、事前に第2端末を登録しておくといった手間をユーザに掛けさせずともリカバリ処理を実行できる。これにより、リカバリ装置100は、リカバリ処理におけるユーザビリティを向上させることができる。
また、第2取得部134は、第2情報として、第1のサービスの利用において用いられる端末装置によって取得された情報であって、第1のサービスの利用において用いられるアプリケーションプログラムとは異なるアプリケーションプログラムによって取得された、ユーザの行動履歴に関する情報を取得する。
このように、実施形態に係るリカバリ装置100は、同一端末であっても、異なるアプリケーションプログラムによって取得される情報であれば、その情報を第2情報とみなして処理を行ってもよい。これにより、リカバリ装置100は、複数の端末を所持していないユーザに関しても支障なくリカバリ処理を実行することができる。
また、検証部135は、第1情報と第2情報とで共通する種別の情報を抽出し、抽出した情報同士の一致度もしくは類似度に基づいて、ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、共通した種別の情報を用いてユーザの検証を行う。これにより、リカバリ装置100は、照合した情報同士が、同一のユーザにおける共通した行動履歴を示すものであるか否かを正確に判定できるため、検証の精度を向上させることができる。
また、検証部135は、第1情報と第2情報とに含まれる位置情報を抽出し、所定数もしくは所定の時間長における位置情報同士の一致度もしくは類似度に基づいて、ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、位置情報に基づいてユーザの本人性を検証する。異なるサービスや端末間において、同じ日時に取得された位置情報が共通した位置を示す場合には、両者の情報を有しているユーザは、同一のユーザである蓋然性が高いと想定される。このため、リカバリ装置100は、位置情報を用いることで、精度よくユーザの本人性を検証することができる。
また、検証部135は、第1情報と第2情報とから互いに異なる種別の情報を抽出し、抽出した異なる種別の情報が、ユーザにおける共通した所定の行動を示すか否かに基づいて、ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、異なる種別の情報を用いて検証を行ってもよい。例えば、リカバリ装置100は、位置情報と、配送先情報を用いて検証を行うことができる。すなわち、リカバリ装置100は、多様な情報を処理に用いることで、柔軟なリカバリ処理を実現することができる。
また、検証部135は、第1情報及び第2情報の種別として、位置情報、決済情報、コンテンツの閲覧情報、検索情報、予約情報、SNS投稿情報、通信接続情報、ユーザの属性情報の少なくともいずれか一つを用いて、ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、様々な種別の情報を用いて検証を行ってもよい。これにより、リカバリ装置100は、特定の情報に限定されない、柔軟なリカバリ処理を実現することができる。
また、検証部135は、共通する所定時間の行動履歴を示す第1情報と第2情報とを一つの組として、少なくとも2以上の組における照合に基づいて、ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、複数の情報が一致することを条件として、ユーザの本人性の検証を行ってもよい。一般に、照合する情報の数が多いほど、検証処理の精度は向上するといえる。すなわち、リカバリ装置100は、多要素認証のように、多くの情報を用いて検証処理を行うことで、検証処理の精度を向上させることができる。
また、検証部135は、ユーザによって選択された種別の第1情報と第2情報との照合に基づいて、当該ユーザの本人性を検証する。
このように、実施形態に係るリカバリ装置100は、照合に用いる情報を、ユーザの選択に委ねてもよい。これにより、リカバリ装置100は、ユーザの状況に即したリカバリ処理を実行することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受信部は、受信手段や受信回路に読み替えることができる。