(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-07
(45)【発行日】2023-03-15
(54)【発明の名称】認証装置、認証方法、認証プログラム及び認証システム
(51)【国際特許分類】
G06F 21/31 20130101AFI20230308BHJP
【FI】
G06F21/31
(21)【出願番号】P 2018096593
(22)【出願日】2018-05-18
【審査請求日】2020-08-19
【審判番号】
【審判請求日】2022-03-14
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】五味 秀仁
(72)【発明者】
【氏名】山口 修司
【合議体】
【審判長】篠原 功一
【審判官】児玉 崇晶
【審判官】山澤 宏
(56)【参考文献】
【文献】特開2017-157223(JP,A)
【文献】特開2017-134750(JP,A)
【文献】特開2016-009888(JP,A)
【文献】特開2016-224781(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
ユーザによって利用される第1端末のコンテキストデータとして、当該第1端末と、所定の空間範囲に所在する当該第1端末とは異なる端末である複数の第2端末との各々の相対的な位置関係を示した位置関係情報を取得する取得部と、
前記取得部によって取得された位置関係情報に基づいて近しい関係にあるとして抽出された一以上の第2端末との位置関係情報を束とした情報であって、前記ユーザが認証を受けている状況下での位置関係を示す情報に基づいて、前記ユーザの本人性を認証する認証モデルを生成するモデル生成部と、
を備え
、
前記モデル生成部は、
前記ユーザが認証を受けている状況下で、第2端末が近傍に所在する確度を算出する前記認証モデルを生成する
ことを特徴とする認証装置。
【請求項2】
前記取得部は、
前記位置関係情報とともに、前記第1端末の位置を示す位置情報を取得し、
前記モデル生成部は、
前記位置関係情報と、当該位置関係情報に対応した前記第1端末の位置情報とに基づいて、前記認証モデルを生成する、
ことを特徴とする請求項1に記載の認証装置。
【請求項3】
前記取得部は、
前記位置関係情報とともに、前記位置関係情報が生成された時間情報を取得し、
前記モデル生成部は、
前記位置関係情報と、当該位置関係情報に対応した時間情報とに基づいて、前記認証モデルを生成する、
ことを特徴とする請求項1又は2に記載の認証装置。
【請求項4】
前記取得部は、
複数の前記位置関係情報が組み合わされた情報を取得し、
前記モデル生成部は、
複数の前記位置関係情報が組み合わされた情報に基づいて、前記認証モデルを生成する、
ことを特徴とする請求項1~3のいずれか一つに記載の認証装置。
【請求項5】
前記第1端末から認証の要求を受信した場合に、認証の要求とともに取得した当該第1端末のコンテキストデータと、前記認証モデルとに基づいて、当該ユーザの本人性を認証する認証部、
をさらに備えたことを特徴とする請求項1~4のいずれか一つに記載の認証装置。
【請求項6】
前記取得部は、
前記認証の要求とともに取得するコンテキストデータとして、前記第1端末と第2端末間の電波強度を取得し、
前記認証部は、
前記電波強度に基づく前記第1端末と前記第2端末との相対的な位置関係に基づいて前記ユーザの本人性を認証する、
ことを特徴とする請求項5に記載の認証装置。
【請求項7】
前記取得部は、
前記認証の要求とともに取得するコンテキストデータとして、前記第1端末と第2端末間の通信状況を取得し、
前記認証部は、
前記第1端末と第2端末間の通信状況に基づく当該第1端末と当該第2端末との相対的な位置関係に基づいて前記ユーザの本人性を認証する、
ことを特徴とする請求項5又は6に記載の認証装置。
【請求項8】
前記取得部は、
前記認証の要求とともに取得するコンテキストデータとして、当該認証の要求を行った時点の前記第1端末のコンテキストデータと、当該認証の要求が行われた時点より過去における当該第1端末と第2端末との相対的な位置関係を示した位置関係情報とを取得し、
前記認証部は、
前記認証の要求を行った時点の前記第1端末のコンテキストデータと前記位置関係情報とを組み合わせた情報に基づいて、前記ユーザの本人性を認証する、
ことを特徴とする請求項5~7のいずれか一つに記載の認証装置。
【請求項9】
前記認証部は、
前記認証の要求を受信した時間と前記ユーザが日常的に認証の要求を行う時間との関係性、もしくは、当該認証の要求を送信した前記第1端末の位置情報と当該ユーザが日常的に認証の要求を行う位置情報との関係性の少なくともいずれかに基づいて、当該ユーザの本人性を認証する、
ことを特徴とする請求項5~8のいずれか一つに記載の認証装置。
【請求項10】
前記認証部は、
前記認証の要求を送信した前記第1端末を利用するユーザと新たに認証を行うユーザとの属性情報に基づく関係性、もしくは、当該第1端末及び第2端末と新たに認証を行うユーザによって利用される第1端末及び第2端末との端末情報に基づく関係性の少なくともいずれかに基づいて、当該ユーザの本人性を認証する、
ことを特徴とする請求項5~9のいずれか一つに記載の認証装置。
【請求項11】
コンピュータによって実行される認証方法であって、
ユーザによって利用される第1端末のコンテキストデータとして、当該第1端末と、所定の空間範囲に所在する当該第1端末とは異なる端末である複数の第2端末との各々の相対的な位置関係を示した位置関係情報を取得する取得工程と、
前記取得工程によって取得された位置関係情報に基づいて近しい関係にあるとして抽出された一以上の第2端末との位置関係情報を束とした情報であって、前記ユーザが認証を受けている状況下での位置関係を示す情報に基づいて、前記ユーザの本人性を認証する認証モデルを生成するモデル生成工程と、
を含
み、
前記モデル生成工程は、
前記ユーザが認証を受けている状況下で、第2端末が近傍に所在する確度を算出する前記認証モデルを生成する
ことを特徴とする認証方法。
【請求項12】
ユーザによって利用される第1端末のコンテキストデータとして、当該第1端末と、所定の空間範囲に所在する当該第1端末とは異なる端末である複数の第2端末との各々の相対的な位置関係を示した位置関係情報を取得する取得手順と、
前記取得手順によって取得された位置関係情報に基づいて近しい関係にあるとして抽出された一以上の第2端末との位置関係情報を束とした情報であって、前記ユーザが認証を受けている状況下での位置関係を示す情報に基づいて、前記ユーザの本人性を認証する認証モデルを生成するモデル生成手順と、
をコンピュータに実行させ
、
前記モデル生成手順は、
前記ユーザが認証を受けている状況下で、第2端末が近傍に所在する確度を算出する前記認証モデルを生成する
ことを特徴とする認証プログラム。
【請求項13】
ユーザが利用する第1端末と、第1端末から要求される当該ユーザの本人認証を行う認証装置とを含む認証システムであって、
前記第1端末は、
所定の空間範囲に所在する前記第1端末とは異なる端末である複数の第2端末を検知する検知部と、
前記検知部によって検知された複数の第2端末と、前記第1端末との各々の相対的な位置関係を示した位置関係情報を所定時間ごとに生成する生成部と、
前記生成部によって生成された位置関係情報を前記認証装置に送信する送信部と、
を備え、
前記認証装置は、
前記送信部によって送信された前記位置関係情報を取得する取得部と、
前記取得部によって取得された位置関係情報に基づいて近しい関係にあるとして抽出された一以上の第2端末との位置関係情報を束とした情報であって、前記ユーザが認証を受けている状況下での位置関係を示す情報に基づいて、前記ユーザの本人性を認証する認証モデルを生成するモデル生成部と、
を備え
、
前記モデル生成部は、
前記ユーザが認証を受けている状況下で、第2端末が近傍に所在する確度を算出する前記認証モデルを生成する
ことを特徴とする認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置、認証方法、認証プログラム及び認証システムに関する。
【背景技術】
【0002】
様々なセンサを搭載した通信端末装置の普及が進んでいる。端末に搭載されるセンサは、物理的な事象をデジタル信号に変換することで、端末を取り巻く種々の状況(コンテキスト)を示すデータ(以下、「コンテキストデータ(context data)」と称する)を取得する。コンテキストデータは、ネットワークを介して所定のサーバに送信され、様々な情報処理に利用される。
【0003】
例えば、複数の端末から取得されるコンテキストデータ(端末の利用状況)の組合せに基づいて、ユーザの本人認証を行う技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術には改善の余地がある。例えば、上記の従来技術では、自宅や会社等に設置された特定の端末に認証が試みられた際に、自宅や会社までのユーザの移動の推移を示した位置情報等の利用状況をユーザが所有する他の端末から取得し、取得した利用状況の組合せに基づいて本人認証を行う。すなわち、上記の従来技術では、ユーザの自宅や会社等を特定する情報や、その端末の設置場所に移動するまでの各端末の位置情報等の種々の情報を処理に用いるため、処理が煩雑になるおそれがある。
【0006】
本願は、上記に鑑みてなされたものであって、簡便に安全性の高い認証処理を実現することができる認証装置、認証方法、認証プログラム及び認証システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る認証装置は、ユーザによって利用される第1端末のコンテキストデータとして、当該第1端末と、当該第1端末とは異なる端末である第2端末との相対的な位置関係を示した位置関係情報を取得する取得部と、前記取得部によって取得された位置関係情報に基づいて、前記ユーザの本人性を認証する認証モデルを生成するモデル生成部と、を備えたことを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、簡便に安全性の高い認証処理を実現することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る認証処理の一例を示す図(1)である。
【
図2】
図2は、実施形態に係る認証処理の一例を示す図(2)である。
【
図3】
図3は、実施形態に係るコンテキストバッグの生成処理を説明するための図である。
【
図4】
図4は、実施形態に係る認証システムの構成例を示す図である。
【
図5】
図5は、実施形態に係る認証装置の構成例を示す図である。
【
図6】
図6は、実施形態に係る端末情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係るコンテキストデータ記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る認証モデル記憶部の一例を示す図である。
【
図9】
図9は、実施形態に係る第1端末の構成例を示す図である。
【
図10】
図10は、実施形態に係る処理手順を示すフローチャート(1)である。
【
図11】
図11は、実施形態に係る処理手順を示すフローチャート(2)である。
【
図12】
図12は、実施形態に係る処理手順を示すフローチャート(3)である。
【
図13】
図13は、変形例に係る認証装置の構成例を示す図である。
【
図14】
図14は、認証装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る認証装置、認証方法、認証プログラム及び認証システムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る認証装置、認証方法、認証プログラム及び認証システムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.認証処理の一例〕
まず、
図1乃至
図3を用いて、実施形態に係る認証処理の一例について説明する。
図1は、実施形態に係る認証処理の一例を示す図(1)である。
図1では、本願に係る認証装置100によって、ユーザの本人性を認証する処理に利用される認証モデルの生成処理が実行される例を示す。
【0012】
図1に示す認証装置100は、実施形態に係る認証処理を実行するサーバ装置である。例えば、認証装置100は、ネットワークを介して提供されるサービスにおいて、サービスを利用しようとするユーザが当該サービスに登録されているユーザ本人であるか否かを判定し、判定結果に基づいて、サービスにアクセスしたユーザを本人と認証する。
【0013】
図1に示すユーザU01は、認証装置100による認証を受けようとするユーザの一例である。例えば、ユーザU01は、認証装置100が提供するサービスに登録済みであり、サービスからユーザアカウント等の発行を受けたユーザである。ユーザU01は、以下で説明する認証処理によって自身の本人性が認証装置100に認証されることにより、パーソナライズされたサービスを利用することが可能となる。
【0014】
図1に示す例では、ユーザU01は、複数の情報処理端末(デバイス)を所持する。例えば、ユーザU01は、サービスにアクセスする際に主に利用される端末であり、実施形態に係る認証処理に要するコンテキストデータを認証装置100に送信する端末(以下、区別のため、かかる端末を「第1端末」と称する)であるスマートフォン20を有する。また、ユーザU01は、スマートフォン20以外に、実施形態に係る認証処理に要するコンテキストデータを認証装置100に送信しない端末(以下、区別のため、これらの端末を「第2端末」と称する)を複数有する。例えば、ユーザU01は、手首に装着可能な時計型端末30や、目の周辺に装着して利用する眼鏡型端末40等の、いわゆるウェアラブルデバイス(wearable device)を所持する。なお、以下では、スマートフォン20や時計型端末30や眼鏡型端末40等を区別する必要のない場合、これらを「ユーザ端末10」と総称する。また、以下では、ユーザをユーザ端末10等と読み替える場合がある。例えば、「ユーザがコンテキストデータを送信する」という記載は、実際には、「ユーザが利用するユーザ端末10がコンテキストデータを送信する」という状況を示す場合がある。
【0015】
一般に、サービスにおける認証処理は、登録済みのユーザから認証情報を受け付けることにより行われる。認証情報とは、例えば、ユーザが設定したパスワードや、ユーザの生体情報(指紋等)である。しかし、ネットワークを介したサービスは多数存在するため、ユーザにとって、それぞれのサービスに対応するパスワードを記憶することや、認証のたびに指紋等の情報を入力することが負担となる。
【0016】
そこで、実施形態に係る認証装置100は、以下に説明する手法を用いることで、ユーザからパスワード等の認証情報の入力を受け付けることなく、ユーザの本人認証処理を実行する。具体的には、認証装置100は、ユーザによって利用される第1端末のコンテキストデータとして、第1端末と第2端末との相対的な位置関係を示した位置関係情報を取得する。そして、認証装置100は、取得した位置関係情報に基づいて、ユーザの本人性を認証するための認証モデルを生成する。これにより、認証装置100は、今後、ユーザが特段の操作を行わずとも、ユーザがサービスにアクセスしたタイミングにおいて取得する第1端末のコンテキストデータを利用して、ユーザの本人性を認証することができる。また、認証装置100は、例えばGPS(Global Positioning System)機能を用いて測位される位置情報等のコンテキストデータを必ずしも要さず、第1端末と第2端末との相対的な位置関係を利用して認証を行うことで、簡便に認証処理を行うことができる。以下、
図1乃至
図3を用いて、実施形態に係る認証処理の流れについて説明する。
【0017】
図1では、認証装置100がユーザU01に対応した認証モデルを生成する処理の流れについて説明する。
図1に示す例では、ユーザU01は、所定の認証情報(パスワード等)を認証装置100に提示して、認証装置100から認証を受けている状態であるものとする。例えば、ユーザU01は、認証情報による認証に成功し、認証装置100が提供するサービスにログインしている状態である。
【0018】
この状態において、第1端末であるスマートフォン20は、自装置のコンテキストを検知する(ステップS11)。ここで、コンテキストとは、ユーザU01によってスマートフォン20が使われている状況や、ユーザU01が置かれている状況や、スマートフォン20の周辺環境に関する種々の状況をいう。そして、スマートフォン20は、検知したコンテキストに基づいて、コンテキストデータを取得する。
【0019】
コンテキストデータとは、スマートフォン20によって検知されたコンテキストを示すデータである。例えば、コンテキストデータは、スマートフォン20が有する各種センサによって検知されたコンテキストを物理的な数値で表したデータである。コンテキストデータは、スマートフォン20を取り巻く種々のデータが該当する。
図1の例では、スマートフォン20は、コンテキストデータとして、スマートフォン20と第2端末である時計型端末30や眼鏡型端末40との相対的な位置関係を示した位置関係情報を取得する。
【0020】
すなわち、位置関係情報とは、スマートフォン20と第2端末とが所定の空間範囲(近傍)にあることを示す情報である。スマートフォン20は、所定時間ごと(例えば5分ごと)に周辺の第2端末を検出する。例えば、スマートフォン20は、Wifi(登録商標)や、Bluetooth(登録商標)等の電波を検知したり、同じアクセスポイントを利用する端末を検出したりすることにより、近傍の第2端末を検出する。
【0021】
具体的には、スマートフォン20は、周辺の第2端末の識別情報と、各第2端末が発する電波強度とを検知し、どの第2端末が近傍に所在するかを判定する。一例として、スマートフォン20は、RSSI(Received Signal Strength Indication)の数値に基づいて、第2端末との相対的な位置関係を検知し、近傍に所在する第2端末を判定する。また、スマートフォン20は、電波強度によらず、Bluetoothの機能に基づき、ペアリングが完了している第2端末を検出してもよい。
【0022】
そして、スマートフォン20は、検出した第2端末のうち、相対的に最も近しい関係にある第2端末を抽出する。例えば、スマートフォン20は、最も近傍に所在する第2端末を抽出する。あるいは、スマートフォン20は、ペアリングが完了している第2端末を優先的に抽出してもよい。そして、スマートフォン20は、予め定義された最大数(
図1の例では、自装置を含めた「3台」を最大数とする)の範囲内で抽出された第2端末と、検知した時間とを対応付けて、位置関係情報を生成する。
図1で示す例では、位置関係情報は、例えば[8:00 ; 20,30]といった形式で表される。かかる位置関係情報は、8時00分の時点で、「スマートフォン20(自装置)」と「時計型端末30」とが近傍に位置することを示している。言い換えれば、かかる位置関係情報は、スマートフォン20が、8時00分の時点で、自装置と近しい関係にある第2端末として時計型端末30を検出したことを示している。同様に、[8:05 ; 20,30,40]といった形式で表される位置関係情報は、8時05分の時点で、スマートフォン20が、自装置と近しい関係にある第2端末として、「時計型端末30」と「眼鏡型端末40」とを検出したことを示している。
【0023】
なお、詳細は後述するが、スマートフォン20は、コンテキストデータとして、位置関係情報を取得した際の自装置の位置情報や、検出した第2端末の端末情報(第2端末がモバイル端末であるか据え置き型かといった種別等)等、種々の情報を取得してもよい。
【0024】
続けて、スマートフォン20は、取得した位置関係情報をいくつかの束とした情報(以下、「コンテキストバッグ」と称する)を生成する(ステップS12)。例えば、コンテキストバッグは、予め定義された時間長(例えば10分間)の間に取得された位置関係情報の束である。なお、コンテキストバッグを生成する理由は、一つだけの位置関係情報で処理を行うよりも、複数の位置関係情報を含むコンテキストバッグを用いて処理を行った方が、より多くの特徴量を抽出できることから、認証装置100にとって効率の良い学習(モデル生成)を行うことができるという利点があるからである。
【0025】
図1に示す例では、スマートフォン20は、直近10分間のうちに取得された3つの位置関係情報を束としてコンテキストバッグを生成するものとする。具体的には、スマートフォン20は、「[8:00 ; 20,30]、[8:05 ; 20,30,40]、[8:10 ; 20,30,40]」といった位置関係情報が束になったコンテキストバッグBG01を生成する。同様に、スマートフォン20は、「[8:05 ; 20,30,40]、[8:10 ; 20,30,40]、[8:15 ; 20]」といった位置関係情報が束になったコンテキストバッグBG02を生成する。同様に、スマートフォン20は、「[8:10 ; 20,30,40]、[8:15 ; 20]、[8:20 ; 20]」といった位置関係情報が束になったコンテキストバッグBG03を生成する。なお、コンテキストバッグがどのくらいの時間長における位置関係情報を含むかといった設定は、認証装置100によって定義されてもよい。
【0026】
スマートフォン20は、所定時間ごとに生成したコンテキストバッグを定期的に認証装置100に送信する(ステップS13)。例えば、スマートフォン20は、予め定義された時間間隔(例えば5分間など)で、生成したコンテキストバッグを認証装置100に送信する。なお、スマートフォン20は、生成したコンテキストバッグを蓄積しておき、所定のタイミングでまとめて送信するようにしてもよい。
【0027】
認証装置100は、送信されたコンテキストバッグを取得し、サービスにログインしているユーザU01と対応付けて、取得したコンテキストバッグを蓄積する。そして、認証装置100は、モデル生成に充分な量(例えば10日分や1か月分など)のコンテキストバッグが蓄積された場合に、ユーザU01に関する認証モデルを生成する(ステップS14)。
【0028】
スマートフォン20がサービスにログインした状態で認証装置100に送信されるコンテキストバッグは、すなわち、ユーザU01が認証を受けている状況下で、スマートフォン20と第2端末とがどのような位置関係にあるかという情報(以下、「デバイスコンテキスト」と称する場合がある)を示すものである。例えば、コンテキストバッグは、ユーザU01が認証を受けている状況下において、多くの場合、時計型端末30や眼鏡型端末40が近傍に所在することを示す情報である。そして、コンテキストバッグが相当数蓄積された結果として、認証装置100は、「ユーザU01が認証を受けていること(ユーザU01本人であること)」と、「第1端末と第2端末の相対的な位置関係(デバイスコンテキスト)」との関係について、統計的な傾向を求めることができる。かかる情報に基づいて、認証装置100は、ユーザU01に対応する認証モデルを生成する。
【0029】
例えば、認証装置100は、ロジスティック回帰や線形回帰分析等、蓄積したコンテキストバッグの特徴量を統計的に解析したモデルを生成する。具体的には、認証装置100は、ユーザU01が認証を受けている状態において、時計型端末30や眼鏡型端末40が近傍に所在する確度を算出するモデルを生成する。すなわち、認証装置100は、スマートフォン20を利用して認証要求を行っているユーザが「ユーザU01である」ことを目的変数とし、「スマートフォン20の近傍に「時計型端末30」や「眼鏡型端末40」が所在すること」を説明変数とする回帰式を生成する。これにより、認証装置100は、モデルに所定の情報(例えば、ユーザU01が新たに認証要求を行った時点における位置関係情報)を入力した場合に、ユーザが「ユーザU01である」ことを示したスコアを出力することができる。例えば、認証モデルがロジスティック回帰等の回帰式によって示される場合、認証装置100は、入力された位置関係情報に基づいて、その情報を送信したユーザが「ユーザU01」である確率を示すスコアを0から1までの数値で示すことができる。
【0030】
なお、詳細は後述するが、認証装置100は、認証モデルを生成する際に、スマートフォン20がコンテキストバッグを生成した際の位置情報や、コンテキストバッグが生成された時間情報等を利用してもよい。
【0031】
認証装置100は、生成した認証モデルを認証モデル記憶部123に格納する(ステップS15)。今後、認証装置100は、ユーザU01から認証の要求を受けた場合、パスワード等の認証情報によらず、認証モデルを用いてユーザU01の認証を行う。実施形態に係る認証処理について、
図2を用いて説明する。
【0032】
図2は、実施形態に係る認証処理の一例を示す図(2)である。
図2では、認証装置100によって、認証モデルを用いてユーザU01に対する認証処理が実行される例を示す。
【0033】
図2の例では、ユーザU01は、認証装置100から認証を受けていないものとする。例えば、ユーザU01は、認証装置100が提供するサービスから一度ログアウトしており、サービスを利用するために、新たに認証装置100から認証を受ける必要がある状態である。この場合、ユーザU01は、スマートフォン20を介して、認証の要求を認証装置100に送信する(ステップS21)。例えば、ユーザU01は、サービスに対するログインを要求する。
【0034】
ここで、スマートフォン20は、認証の要求とともに、現時点で検知されたコンテキストデータを認証装置100に送信する(ステップS22)。例えば、スマートフォン20は、コンテキストデータとして、認証要求時に取得した位置関係情報を認証装置100に送信する。
【0035】
図2の例では、スマートフォン20は、モデル生成時点と同様に、位置関係情報を束としたコンテキストバッグの態様でコンテキストデータを送信するものとする。例えば、スマートフォン20は、「[12:00 ; 20,30,40]、[12:05 ; 20,30,40]、[12:XX ; 20,30,40]」といった位置関係情報が束になったコンテキストデータDT11を送信する。なお、「12:XX」は、認証要求を送信した時刻を示す。
【0036】
認証装置100は、スマートフォン20から取得した認証時のコンテキストデータDT11に基づいて、ユーザU01の本人性を判定する(ステップS23)。例えば、認証装置100は、認証の要求を送信したユーザU01(スマートフォン20)の識別情報に基づいて、認証モデル記憶部123に格納されたユーザU01の認証モデルを特定する。そして、認証装置100は、コンテキストデータDT11を認証モデルに入力し、コンテキストデータDT11の有する特徴量に基づいて、コンテキストデータDT11を送信したユーザがユーザU01本人であるか示すスコアを算出する。
【0037】
そして、認証装置100は、算出したスコアが所定の閾値を超えた場合(例えば、スコアが0から1の範囲で示されるときに、スコアが「0.6」を超えた場合等)、コンテキストデータDT11を送信したユーザが「ユーザU01」本人であると判定する。かかる処理により、認証装置100は、ユーザU01からパスワード等の入力を求めることなく、ユーザU01を認証することができる(ステップS24)。続けて、認証装置100は、認証が成功した旨をスマートフォン20に通知する(ステップS25)。
【0038】
なお、認証装置100は、ステップS23においてユーザU01の本人性を確認できなかった場合(例えば、スコアが所定閾値以下であった場合)、ユーザU01に対して、パスワードや指紋等の認証情報を要求する通知を送信してもよい。
【0039】
図1及び
図2を用いて説明したように、実施形態に係る認証装置100は、ユーザU01によって利用される第1端末(
図1の例ではスマートフォン20)のコンテキストデータとして、第1端末と第2端末との相対的な位置関係を示した位置関係情報を取得する。そして、認証装置100は、取得した位置関係情報に基づいて、ユーザU01の本人性を認証する認証モデルを生成する。また、認証装置100は、第1端末から認証の要求を受信した場合に、認証の要求とともに取得した第1端末のコンテキストデータと、認証モデルとに基づいて、ユーザU01の本人性を認証する。
【0040】
このように、認証装置100は、認証の対象となるユーザが主に利用する端末である第1端末と、所定の空間範囲に所在する第2端末との位置関係に基づいてユーザU01の本人性を認証する処理を行う。これにより、認証装置100は、GPS機能等を用いた絶対的な位置情報や、認証に用いる端末が所在する位置の特定等を行わずとも、認証時に第1端末の近傍に所在する第2端末(例えば、ユーザU01が常時持ち歩いている端末)との関係性に基づいて、ユーザU01の認証を行うことができる。すなわち、認証装置100は、絶対的な位置情報の解析等の煩雑な処理を行うことなく、簡便な処理でユーザU01の本人性を認証することができる。
【0041】
なお、上記
図1及び
図2の例では、認証装置100が、第1端末が生成するコンテキストバッグに基づいて認証モデルを生成する例を示した。認証装置100は、コンテキストバッグには、複数の位置関係情報が含まれるため、単独の位置関係情報と比較して、抽出できる特徴量が多いため、生成するモデルの精度を向上させることができる。
【0042】
図3を用いて、コンテキストバッグの生成の一例について説明する。
図3は、実施形態に係るコンテキストバッグの生成処理を説明するための図である。
図3では、第1端末がコンテキストバッグを生成する過程を概念的に示す。
図3の例では、第1端末が「端末A(
図3中では、単に「A」と表記する。他の端末も同様)」であり、第1端末から検出される第2端末が「端末B」、「端末C」、「端末D」、「端末E」である。
【0043】
端末Aは、予め設定された検知時間が到来すると、第2端末を検知する。例えば、端末Aは、「9:00」に第2端末を検知し、検知の結果、端末Bを検知する。また、端末Aは、端末Bとの相対的な距離を検知する。例えば、端末Aは、端末Bから受信する電波強度等を用いて、自装置と端末Bとの距離を測る。
【0044】
そして、端末Aは、検知された第2端末のうち、自装置から相対的に近い距離にあると検知された第2端末を抽出し、位置関係情報を生成する。なお、端末Aは、位置関係情報に含める端末数を予め設定していてもよい。例えば、
図1及び
図2で示したように、端末Aは、「3台」までの端末が含まれるように位置関係情報を生成する。なお、
図3の例では、端末Aは、「9:00」の時点で端末Bのみを検知しているため、端末Aと端末Bとが関係性を有することのみを示した位置関係情報(
図3では、[9:00 : A,B]と示す)を生成する。
【0045】
そして、端末Aは、位置関係情報を生成したタイミングで、位置関係情報を束にするコンテキストバッグを生成する。「9:00」の時点では、端末Aは、位置関係情報を1つのみ生成しているため、1つの位置関係情報が含まれるコンテキストバッグBG11を生成する。なお、端末Aは、コンテキストバッグに含む位置関係情報の時間範囲が予め設定されている場合には、設定時間に従ってコンテキストバッグを生成する。例えば、端末Aは、時間範囲が「10分」と設定されたコンテキストバッグを生成する。この場合、端末Aは、仮に「8:40」という時間に対応した位置関係情報を保持していても、「8:40」の位置関係情報と「9:00」の位置関係情報は「10分」の範囲に含まれないため、「8:40」の位置関係情報をコンテキストバッグBG11に含めない。
【0046】
その後、端末Aは、次の検知のタイミングが到来した場合に、再び第2端末を検知する処理を行う。例えば、端末Aは、検知の間隔が「5分」と設定されている場合、「9:05」に周囲の第2端末を検知する。この時点で、端末Aは、自装置以外の第2端末を検知しない場合、自装置のみが含まれる位置関係情報を生成する。
【0047】
そして、端末Aは、「9:05」の位置関係情報を生成したタイミングで、位置関係情報を束にするコンテキストバッグを生成する。例えば、端末Aは、「9:00」に対応する位置関係情報と、「9:05」に対応する位置関係情報とを束にしたコンテキストバッグBG12を生成する。
【0048】
その後、端末Aは、「9;10」に第2端末を検知する。例えば、端末Aは、第2端末として、端末Cと端末Dとを検知する。この場合、端末Aは、端末Aと端末Cと端末Dとが関係性を有することのみを示した位置関係情報を生成する。そして、端末Aは、「9:10」の位置関係情報を生成したタイミングで、「9:00」に対応する位置関係情報と、「9:05」に対応する位置関係情報と、「9:10」に対応する位置関係情報とを束にしたコンテキストバッグBG13を生成する。
【0049】
その後、端末Aは、「9;15」に第2端末を検知する。例えば、端末Aは、第2端末として、端末Cと端末Dと端末Eとを検知する。この場合、端末Aは、端末Cと端末Dと端末Eとについて、自装置との相対的な距離を比較する。そして、端末Aは、自装置から近い距離にある第2端末を抽出する。「9:15」の時点では、端末Cと端末Dとが、端末Eと比べて近い距離にあるため、端末Aは、端末Cと端末Dとを関係性を有する第2端末として抽出する。そして、端末Aは、端末Aと端末Cと端末Dとが関係性を有することのみを示した位置関係情報を生成する。
【0050】
そして、端末Aは、「9:15」に対応する位置関係情報を含めたコンテキストバッグBG14を生成する。なお、コンテキストバッグBG14を生成した時間「9:15」において、「9:00」に対応する位置関係情報は、コンテキストバッグの時間範囲「10分」を超えるため、コンテキストバッグBG14には含まれない。すなわち、端末Aは、「9:15」から「10分」の時間範囲に生成された位置関係情報である、「9:05」と「9:10」と「9:15」の各々に対応した位置関係情報を束にして、コンテキストバッグBG14を生成する。
【0051】
図3に示したように、端末Aは、生成のタイミングに応じて、複数の位置関係情報が含まれるコンテキストバッグを生成する。そして、認証装置100は、複数の位置関係情報が含まれるコンテキストバッグを用いて、ユーザが認証済みである状況と、第1端末と第2端末との相対的な位置関係との関係性を示す認証モデルを生成する。このように、認証装置100は、複数の位置関係情報を用いることにより、効率よく学習を行うことができるため、生成する認証モデルの精度を向上させることができる。
【0052】
以上、
図1乃至
図3を用いて説明したように、認証装置100は、認証時におけるコンテキストデータと認証モデルとに基づいて、認証要求を行ったユーザが認証モデルに対応したユーザ本人であることの蓋然性を判定することで、ユーザの認証を行う。このような処理を行う認証装置100、及び、認証装置100が含まれる認証システム1について、
図4以下を用いて詳細に説明する。
【0053】
〔2.認証システムの構成〕
図4を用いて、実施形態に係る認証装置100が含まれる認証システム1の構成について説明する。
図4は、実施形態に係る認証システム1の構成例を示す図である。
図4に例示するように、実施形態に係る認証システム1には、ユーザ端末10と、認証装置100とが含まれる。また、ユーザ端末10には、スマートフォン20等の第1端末と、時計型端末30や眼鏡型端末40等の第2端末とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。
【0054】
ユーザ端末10は、例えば、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、スマートフォンを含む携帯電話機、PDA(Personal Digital Assistant)等の情報処理端末(デバイス)である。また、ユーザ端末10には、時計型端末30や、眼鏡型端末40などのウェアラブルデバイス(wearable device)も含まれる。さらに、ユーザ端末10には、情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。
【0055】
なお、第2端末とは、ユーザの操作に応じて認証要求等の処理を行う機能を有しない機器であっても、所定の通信機能によって第1端末と通信可能な機器であればよい。例えば、第2端末には、据え置き器として自宅等に設置されるルータ(router)やモデム(modem)、あるいはモバイルルータ等も含まれる。
【0056】
認証装置100は、第1端末と第2端末との相対的な位置関係を示した位置関係情報に基づいてユーザの本人性を認証する認証モデルを生成し、生成した認証モデルを用いてユーザを認証するサーバ装置である。なお、実施形態では、認証装置100は、サービスを提供するサービスサーバ(例えばウェブサーバ)の機能を兼ねるものとしているが、認証装置100とサービスサーバとは、別々の装置であってもよい。
【0057】
〔3.認証装置の構成〕
次に、
図5を用いて、実施形態に係る認証装置100の構成について説明する。
図5は、実施形態に係る認証装置100の構成例を示す図である。
図5に示すように、認証装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、認証装置100は、認証装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0058】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10等との間で情報の送受信を行う。
【0059】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、端末情報記憶部121と、コンテキストデータ記憶部122と、認証モデル記憶部123とを有する。
【0060】
(端末情報記憶部121について)
端末情報記憶部121は、ユーザ端末10に関する情報を記憶する。ここで、
図6に、実施形態に係る端末情報記憶部121の一例を示す。
図6は、実施形態に係る端末情報記憶部121の一例を示す図である。
図6に示した例では、端末情報記憶部121は、「端末ID」、「端末名称」、「端末種別」、「ペアリング履歴」といった項目を有する。
【0061】
「端末ID」は、ユーザ端末10を識別する識別情報を示す。「端末名称」は、ユーザ端末10の名称を示す。「端末種別」は、ユーザ端末10が据え置き器であるか、モバイル端末であるかといった種別を示す。なお、認証装置100は、端末種別について、端末IDや端末名称に基づいて外部データサーバ等に問い合わせて取得してもよいし、認証装置100の管理者によって入力されることにより取得してもよい。「ペアリング履歴」は、Bluetooth機能等を用いてペアリングされた相手先の端末IDを示す。
【0062】
すなわち、
図6の例では、端末ID「C01」で識別されるユーザ端末10は、端末名称が「スマートフォン20」であり、端末種別が「モバイル」であり、端末ID「C02」た「C03」で識別されるユーザ端末10とのペアリング履歴を有することを示している。
【0063】
(コンテキストデータ記憶部122について)
コンテキストデータ記憶部122は、第1端末から取得されるコンテキストデータを記憶する。ここで、
図7に、実施形態に係るコンテキストデータ記憶部122の一例を示す。
図7は、実施形態に係るコンテキストデータ記憶部122の一例を示す図である。
図7に示した例では、コンテキストデータ記憶部122は、「ユーザID」、「端末ID」、「コンテキストバッグ」といった項目を有する。また、コンテキストバッグの項目は、「バッグID」、「取得日時」、「個別データID」、「検知日時」、「ペアリング情報」、「周辺端末」、「位置情報」、「各種センサデータ」といった小項目を有する。
【0064】
「ユーザID」は、コンテキストデータを送信したユーザ端末10を利用するユーザを識別する識別情報を示す。「端末ID」は、
図6に示した同一の項目に対応し、
図7の例においては、コンテキストデータを送信した第1端末を識別する識別情報を示す。
【0065】
「コンテキストバッグ」は、第1端末から送信されたコンテキストデータの束であり、任意の数の位置関係情報や、位置関係情報とともに取得されたコンテキストデータを含むデータである。「バッグID」は、コンテキストバッグを識別する識別情報を示す。「取得日時」は、コンテキストバッグを取得した日時を示す。「個別データID」は、コンテキストバッグに含まれる個別のデータ(位置関係情報等)を識別する識別情報を示す。
【0066】
「ペアリング情報」は、位置関係情報において、いずれの端末同士がペアリング状態であるかを示した情報である。
図7の例では、ペアリング情報を「F01」のような概念で示しているが、実際には、ペアリング情報の項目には、ペアリングの状態にある各端末を特定する情報(端末ID等)が記憶される。
【0067】
「周辺端末」は、個別データにおいて、コンテキストデータを送信した第1端末の近傍に所在すると判定された(相対的に近い位置に所在すると判定された)端末IDを示す。「位置情報」は、コンテキストバッグを送信した際の第1端末の位置情報を示す。
図7では、位置情報の項目に「G01」といった概念的な情報が記憶される例を示しているが、実際には、位置情報の項目には、経度や緯度などの具体的な数値や、位置情報を推定することが可能な情報(例えば、スマートフォン20のIPアドレス等)等が記憶される。
【0068】
「各種センサデータ」は、コンテキストデータを送信した第1端末が有する各種センサによって検知された情報を示す。
図7では、センサデータを「X01」といった概念で表記しているが、実際には、センサデータの項目には、気温や湿度や高度等の各種センサによって取得された具体的な情報が記憶される。なお、位置情報や各種センサデータは、各個別データが取得された際に検知された情報であってもよい。
【0069】
すなわち、
図7の例では、ユーザID「U01」によって識別されるユーザが利用する端末であり、端末ID「C01」によって識別されるユーザ端末10から、バッグID「BG01」で識別されるコンテキストバッグが送信されたことを示している。かかるコンテキストバッグは、「2018年5月1日 8時10分」に認証装置100に取得されたものであり、個別データID「BG01-1」や、「BG01-2」や、「BG01-3」を含む。また、例えば、個別データID「BG01-1」で識別される個別データは、「2018年5月1日 8時00分」にユーザ端末10に検知されたものであり、ペアリング情報が「F01」であり、周辺端末として端末ID「C01」で識別される端末が検知されたことを示している。また、バッグID「BG01」で識別されるコンテキストバッグが生成された際のユーザ端末10の位置情報が「G01」であり、各種センサデータが「X01」であることを示している。
【0070】
(認証モデル記憶部123について)
認証モデル記憶部123は、生成された認証モデルに関する情報を記憶する。ここで、
図8に、実施形態に係る認証モデル記憶部123の一例を示す。
図8は、実施形態に係る認証モデル記憶部123の一例を示す図である。
図8に示した例では、認証モデル記憶部123は、「ユーザID」、「認証対象端末」、「モデルID」、「学習データ」といった項目を有する。
【0071】
「ユーザID」は、
図7に示した同一の項目に対応し、認証モデルによって認証される対象となるユーザを識別する識別情報を示す。「認証対象端末」は、
図6に示した「端末ID」の項目に対応し、認証モデルによって認証される対象となるユーザが利用するユーザ端末10のうち、認証の要求を送信する対象となるユーザ端末10を識別する識別情報を示す。「モデルID」は、認証モデルを識別する識別情報を示す。「学習データ」は、認証モデルの生成に用いられた学習データを示す。
図8では、学習データを「H01」といった概念で表記しているが、実際には、学習データの項目には、認証モデルの学習に用いられたコンテキストデータ(コンテキストバッグ)等の具体的な情報が記憶される。
【0072】
すなわち、
図8の例では、ユーザID「U01」で識別されるユーザは、認証対象端末(第1端末)が「C01」で識別されるユーザ端末10から送信されるコンテキストデータを用いて認証されるユーザであり、当該ユーザに対応する認証モデルのモデルIDは「M01」であり、学習データは「H01」であることを示している。
【0073】
なお、実施形態に係る認証モデルとは、第1端末のコンテキストデータ(位置関係情報)が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素とを含む構成であってもよい。認証モデルは、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザが本人であるという蓋然性を示すスコアを出力層から出力するよう、コンピュータを機能させる。なお、モデル生成部132は、ディープラーニング(deep learning)のような多層構造の学習を行わない場合、上記の「入力層から出力層までのいずれかの層であって出力層以外の層」や、「出力層以外の各層」とは、入力層を示す。
【0074】
例えば、実施形態に係る認証モデルがロジスティック回帰等の回帰モデルで実現される場合、モデルが含む第1要素とは、近傍に所在する第2端末が入力データxi(iは任意の数))に対応し、第1要素の重みとは、xiに対応する係数ωiに対応する。一般に、回帰モデルは入力層と出力層とを有する単純パーセプトロンとみなすことができるが、認証モデルを単純パーセプトロンとみなした場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードとみなすことができる。
【0075】
さらに、各モデルがDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第1要素とは、入力層または中間層が有するいずれかのノードとみなすことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【0076】
モデル生成部132は、上述した回帰モデルやDNN等、任意の構造を有する認証モデルを生成する。より具体的には、モデル生成部132は、第1端末と相対的に近い距離に所在する第2端末を示すコンテキストデータと、ユーザが本人であるという事象との関係性を学習して、認証モデルを生成する。
【0077】
(制御部130について)
制御部130は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、認証装置100内部の記憶装置に記憶されている各種プログラム(実施形態に係る認証プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0078】
図5に示すように、制御部130は、取得部131と、モデル生成部132と、認証部133と、送信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図5に示した接続関係に限られず、他の接続関係であってもよい。
【0079】
(取得部131について)
取得部131は、各種情報を取得する。取得部131は、認証モデルの生成を行う場合には、サービスに認証を要求したユーザや、既に認証を完了させてサービスを利用中であるユーザ(すなわち、本人性が認証されたユーザ)のコンテキストデータを取得する。言い換えれば、取得部131は、当該ユーザに対応した認証モデルの生成までは、「ユーザが本人である」という正解データとしてのラベル付けがされたコンテキストデータを取得する。このように、認証済みユーザから取得するコンテキストデータは、当該ユーザの認証モデルを生成するための学習データとなる。
【0080】
例えば、取得部131は、ユーザによって利用される第1端末のコンテキストデータとして、第1端末と、第1端末とは異なる端末である第2端末との相対的な位置関係を示した位置関係情報を取得する。取得部131は、例えば、予め設定した所定時間ごと(例えば5分ごと)に、認証を完了させたユーザの第1端末からコンテキストデータを取得する。
【0081】
なお、取得部131は、位置関係情報とともに、さらに第1端末のコンテキストを示す情報を取得してもよい。例えば、取得部131は、位置関係情報とともに、第1端末の位置を示す位置情報を取得してもよい。具体的には、取得部131は、第1端末がGPS機能等を用いて検知した位置情報と、位置関係情報とともに取得する。
【0082】
また、取得部131は、位置関係情報とともに、位置関係情報が生成された時間情報を取得する。例えば、取得部131は、第1端末が周囲の第2端末を検知した時間を示す時間情報が含まれる位置関係情報を取得する。
【0083】
なお、取得部131は、第1端末と、複数の第2端末との各々の相対的な位置関係を示した位置関係情報を取得してもよい。例えば、取得部131は、複数の第2端末のうち、より第1端末と近い関係にある第2端末(例えば、電波強度に基づいて、より近い位置に所在すると推定される第2端末)を特定する情報を含む位置関係情報を取得する。これにより、取得部131は、単にいずれかの第2端末が第1端末の近傍に所在するといった情報のみならず、どの第2端末が最も第1端末に近い位置に所在するかを示した位置関係情報を取得することができる。
【0084】
また、取得部131は、複数の位置関係情報が組み合わされた情報を取得してもよい。具体的には、取得部131は、
図7等で示したコンテキストバッグという態様で、複数の位置関係情報を第1端末から取得する。すなわち、取得部131は、所定時間ごとのコンテキストデータを取得する際に、ある時間範囲を網羅した複数の位置関係情報を取得するので、後述する生成処理や認証処理を効率よく実行させることができる。
【0085】
なお、取得部131は、認証モデルを生成したのちに、第1端末から認証の要求を受け付けた場合には、認証に用いるコンテキストデータを第1端末から取得する。
【0086】
取得部131は、認証に用いるコンテキストデータとして、第1端末と第2端末の相対的な位置関係を示した情報であれば、様々な情報を取得することができる。例えば、取得部131は、認証モデルの生成に用いた場合と同様に、第1端末から位置関係情報を取得してもよい。
【0087】
あるいは、取得部131は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末間の電波強度を取得してもよい。この場合、後述する認証部133は、第1端末と第2端末間の電波強度に基づいて、第1端末の近傍に所在する第2端末を推定する。そして、認証部133は、推定した情報に基づいて、ユーザの本人性を認証する。
【0088】
また、取得部131は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末間の通信状況を取得してもよい。例えば、取得部131は、第1端末と第2端末とがペアリングしているか否かを示した情報を取得する。なお、取得部131は、ペアリングのみならず、例えば、第1端末と第2端末とが互いに情報の送受信を行っていることを示す情報や、第1端末と第2端末の通信接続情報(例えば、同一のアクセスポイントを利用していることを示す情報)や、第1端末と第2端末とが同一のユーザによって利用されていることを示す情報(例えば、クラウド上でおいて同じアカウントに紐づくデータを利用していることを示す情報)等を取得してもよい。
【0089】
また、取得部131は、認証の要求とともに取得するコンテキストデータとして、認証の要求を行った時点の第1端末のコンテキストデータと、認証の要求が行われた時点より過去における第1端末と第2端末との相対的な位置関係を示した位置関係情報とを取得してもよい。具体的には、取得部131は、複数の時点に渡って生成された複数の位置関係情報が含まれるコンテキストデータ(
図2で示した例では、コンテキストデータDT11が該当する)を取得する。
【0090】
さらに、取得部131は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末の位置関係を示す情報に加えて、第1端末の位置情報や、第1端末の各種センサによって検知されたコンテキストを示す情報を取得してもよい。また、取得部131は、認証の要求を送信した第1端末を利用するユーザの属性情報(サービスに登録されているユーザの性別や年齢や居住地等)、もしくは、第1端末及び第2端末の端末情報(例えば、据え置き器であるかモバイル端末であるか、ウェアラブル端末であるか等の種別)等を取得してもよい。
【0091】
取得部131は、取得した情報を、適宜、記憶部120内に格納する。また、取得部131は、記憶部120から、適宜、情報を取得してもよい。また、取得部131は、第1端末からコンテキストデータ等の各種情報を取得する際に、第1端末からの送信によらず、第1端末をクロール(crawl)することにより各種情報を取得してもよい。
【0092】
なお、取得部131は、ユーザが認証を試みた際や、サービスに認証されている状態のコンテキストデータのみならず、ユーザが認証されていない時点のコンテキストデータを取得してもよい。例えば、取得部131は、ユーザが認証されていない状態で取得したコンテキストデータを、学習における負例として取得してもよい。また、取得部131は、ユーザが認証を試みたが認証に失敗した場合、その時点で取得されたコンテキストデータを、学習における負例として取得してもよい。
【0093】
(モデル生成部132について)
モデル生成部132は、取得部131によって取得された位置関係情報に基づいて、ユーザの本人性を認証する認証モデルを生成する。
【0094】
例えば、モデル生成部132は、パスワード等の既存の認証情報に基づいて本人性が認証されたユーザが利用する第1端末から取得した位置関係情報に基づいて、当該ユーザに対応した認証モデルを生成する。
【0095】
モデル生成部132は、種々の既知の手法に基づいて認証モデルを生成してもよい。例えば、モデル生成部132は、位置情報を統計的に解析することにより認証モデルを生成してもよい。一例として、モデル生成部132は、本人性が認証されたユーザから取得した正解データであるコンテキストデータ(位置関係情報)に基づき回帰式等を生成し、当該ユーザの本人性を示すスコアを判定するための認証モデルを生成してもよい。
【0096】
例えば、モデル生成部132は、「ユーザ本人である」という事象を目的変数とし、「第1端末の周辺に所在する第2端末」を説明変数とする式を生成する。例えば、モデル生成部132は、取得部131によって取得されたコンテキストデータの数に対応する式を生成する。モデル生成部132は、コンテキストデータに対応する式を用いて学習を進める(すなわち、充分な数のサンプルを回帰的に計算する)ことで、回帰的に得られた重み値を含む認証モデルを生成することができる。より具体的には、モデル生成部132は、認証が要求された場合に、第1端末の近傍に「どの第2端末が所在しているか」といった情報が、「ユーザが本人である」という事象に対してどのような重みを与えるか、といった重み値を算出することにより、認証モデルを生成する。
【0097】
例えば、ユーザの本人性が認証された時点において、第1端末の近傍に時計型端末30や眼鏡型端末40が所在していたことを示すコンテキストデータに基づいて認証モデルが生成された場合、その後、認証の時点において、「時計型端末30」や「眼鏡型端末40」が第1端末の近傍に所在しているという事象は、比較的高い重み値が設定される。言い換えれば、認証の要求とともに送信されるコンテキストデータに、「時計型端末30」や「眼鏡型端末40」が第1端末の近傍に所在していることを示すデータがあることにより、当該要求を行ったユーザが、認証モデルに対応するユーザ本人であると判定される確率が高くなる。
【0098】
なお、モデル生成部132は、位置関係情報のみならず、さらに多様なコンテキストデータを用いて学習を行うことで、本人性を判定する精度を向上させることができる。例えば、モデル生成部132は、位置関係情報と、位置関係情報に対応した第1端末の位置情報とに基づいて認証モデルを生成してもよい。これにより、モデル生成部132は、どの位置(ユーザの自宅や勤務先等)でユーザがより認証の要求を行う傾向にあるか、といった情報が反映された認証モデルを生成することができるので、認証を行うユーザに対する認証の精度を向上させることができる。
【0099】
また、モデル生成部132は、位置関係情報と、当該位置関係情報に対応した時間情報とに基づいて認証モデルを生成してもよい。これにより、モデル生成部132は、どのような時間帯にユーザが認証の要求を行う傾向にあるか、といった情報が反映された認証モデルを生成することができるので、認証を行うユーザに対する認証の精度を向上させることができる。なお、時間情報には、日付や曜日に関する情報が含まれてもよい。
【0100】
なお、モデル生成部132は、複数の位置関係情報が組み合わされた情報に基づいて認証モデルを生成してもよい。具体的には、モデル生成部132は、複数の位置関係情報が組み合わされた情報であるコンテキストバッグを学習データとして認証モデルを生成する。すなわち、モデル生成部132は、一つの学習データとして、より多くの特徴量を有するコンテキストバッグを用いて学習を行うことで、効率よく学習を行うことができる。
【0101】
また、モデル生成部132は、上記した位置情報や時間情報に限らず、あらゆるコンテキストデータを利用して認証モデルを生成してもよい。例えば、モデル生成部132は、第2端末の名称や種別(据え置き機器かモバイルか等)、電波強度、ペアリング状態、あるいは、温度や、第2端末の輝度や、周辺の音情報や、湿度等、ユーザの周辺環境を含めた様々な情報を利用して認証モデルを生成してもよい。
【0102】
モデル生成部132は、認証モデルに対応するユーザの識別情報と対応付けて、生成した認証モデルを認証モデル記憶部123に格納する。
【0103】
(認証部133について)
認証部133は、第1端末から認証の要求を受信した場合に、認証の要求とともに取得した当該第1端末のコンテキストデータと、モデル生成部132によって生成された認証モデルとに基づいて、ユーザの本人性を認証する。
【0104】
例えば、認証部133は、認証に用いるコンテキストデータとして、認証モデルの生成において取得した場合と同様に、第1端末と第2端末との相対的な位置関係を示した位置関係情報に基づいて、ユーザの本人性を認証する。具体的には、認証部133は、第1端末から認証の要求を受信した際に、当該第1端末と近い位置に所在する第2端末の存在を認証モデルに入力し、出力されるスコアに基づいて、ユーザの本人性を認証する。
【0105】
なお、認証部133は、認証の要求とともに取得するコンテキストデータとして、位置関係情報ではなく、第1端末と第2端末間の電波強度を示した情報に基づいてユーザの本人性を認証してもよい。例えば、認証部133は、第1端末と第2端末間の電波強度に基づいて、第1端末の近い位置に所在する第2端末を判定し、判定した第2端末の存在を認証モデルに入力することで、ユーザの本人性を認証する。
【0106】
また、認証部133は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末間の通信状況に基づいてユーザの本人性を認証してもよい。例えば、認証部133は、第1端末とペアリングしている状況にある第2端末の存在に基づいて、ユーザの本人性を認証する。例えば、認証モデルが生成される際に、取得されたコンテキストデータにおいて、第1端末と所定の第2端末とがペアリングする状況が比較的多く観測されていたとする。この場合、生成される認証モデルには、第1端末と所定の第2端末とがペアリングしているという状況に対して比較的高い重み値が設定される。このため、認証要求時のコンテキストデータにおいて、第1端末と所定の第2端末がペアリングしている状況が観測された場合には、認証モデルから、比較的高いスコアが出力されると推定される。認証部133は、このようにして出力されたスコアに基づいて、ユーザの本人性を高い精度で認証することができる。
【0107】
また、認証部133は、認証の要求とともに取得するコンテキストデータとして、認証の要求を行った時点の第1端末のコンテキストデータと、認証の要求が行われた時点より過去における第1端末と第2端末との相対的な位置関係を示した位置関係情報とを組み合わせた情報に基づいて、ユーザの本人性を認証してもよい。具体的には、認証部133は、認証の要求時における一時点のコンテキストデータではなく、複数のコンテキストデータが含まれるコンテキストバッグに基づいて、ユーザの本人性の認証を行う。すなわち、認証部133は、より多くの特徴量を含むコンテキストバッグに基づいて認証の判定を行うことで、ユーザの認証の精度を向上させることができる。例えば、認証部133は、認証モデルの生成に用いたコンテキストバッグ(例えば、コンテキストバッグが生成される時間間隔や、コンテキストバッグに含まれる情報の時間範囲や、一つの位置関係情報が含む第2端末の数等)と同じ情報量を有するコンテキストバッグに基づいて、ユーザの認証を行ってもよい。
【0108】
なお、認証部133は、認証の要求を受信した時間、もしくは、認証の要求を送信した第1端末の位置情報の少なくともいずれかに基づいて、ユーザの本人性を認証してもよい。これにより、認証部133は、ユーザが通常であれば認証の要求を行わない時間に認証の要求が行われた場合や、日常的にユーザが認証の要求を行う位置から極めて遠方に離れた位置において要求が行われた場合には、当該要求を行ったユーザをユーザ本人と認証しないような処理を行うことができる。すなわち、認証部133は、認証の安全性を向上させることができる。
【0109】
また、認証部133は、認証の要求を送信した第1端末を利用するユーザの属性情報、もしくは、第1端末及び第2端末の端末情報の少なくともいずれかに基づいて、ユーザの本人性を認証してもよい。これにより、認証部133は、通常、認証モデルに対応するユーザと、新たに認証を行うユーザとの同一性をより正確に判定することができるため、認証の精度を向上させることができる。
【0110】
(送信部134について)
送信部134は、各種情報を送信する。例えば、送信部134は、認証部133による本人認証の結果を、認証を要求した第1端末に送信する。また、送信部134は、認証が実行されなかった旨を送信する場合には、例えば、パスワード等の既存の認証情報を送信するよう要求する旨を示す通知をあわせて送信してもよい。
【0111】
〔4.ユーザ端末の構成〕
次に、
図9を用いて、実施形態に係るユーザ端末10の構成について説明する。
図9は、実施形態に係るユーザ端末10の構成例を示す図である。
図9に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。
【0112】
(通信部11について)
通信部11は、例えば、NIC等によって実現される。通信部11は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、認証装置100や任意の第2端末等との間で情報の送受信を行う。
【0113】
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
【0114】
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。
【0115】
例えば、検知部14は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、検知部14は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、検知部14は、ユーザによって所定のアプリケーションプログラム(以下、単に「アプリ」と表記する)が起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像機能(例えば、カメラ)を動作させるアプリである場合、検知部14は、ユーザによって撮像機能が利用されていることを検知する。また、検知部14は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が物理的に動かされているといった操作を検知してもよい。
【0116】
また、検知部14は、ユーザ端末10の現在位置を検知する。具体的には、検知部14は、GPS衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。
【0117】
また、検知部14は、種々の手法により位置情報を取得してもよい。例えば、ユーザ端末10が駅改札や商店等で使用される非接触型ICカードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。検知部14は、かかる情報を検知し、位置情報として取得する。また、検知部14は、ユーザ端末10が特定のアクセスポイントと通信を行う際には、アクセスポイントから取得可能な位置情報を検知してもよい。また、位置情報は、ユーザ端末10が備える光学式センサや、赤外線センサや、磁気センサ等によって取得されてもよい。また、IPアドレス等によってユーザ端末10の位置を推定可能な場合には、検知部14は、位置情報の一例として、IPアドレス等を取得してもよい。
【0118】
また、検知部14は、ユーザ端末10に接続される外部装置を検知する。なお、外部装置とは、対象となるユーザ端末10以外の装置であり、対象とは異なる他のユーザ端末10(すなわち第2端末)が含まれてもよい。例えば、スマートフォン20が第1端末である場合、時計型端末30や眼鏡型端末40は、外部装置(第2端末)として認識される。
【0119】
検知部14は、例えば、外部装置との相互の通信パケットのやり取りや、外部装置が発する信号等に基づいて、外部装置を検知する。具体的には、検知部14は、外部装置が利用しているWifiやBluetooth等の電波を検知する。また、検知部14は、外部装置と通信が確立する場合に、外部装置との接続の種類を検知してもよい。例えば、検知部14は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、検知部14は、無線通信で用いられている通信方式等を検知してもよい。また、検知部14は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
【0120】
また、検知部14は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、検知部14は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、検知部14は、各種センサを用いて、種々の情報を検知する。例えば、検知部14は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲がユーザの虹彩を撮像に適する照度であるか等を検知する。さらに、検知部14は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
【0121】
ユーザ端末10は、検知部14によって検知された情報に基づいて、ユーザ端末10のコンテキストデータを取得する。上述のように、ユーザ端末10は、内蔵された各種センサ(検知部14)により、位置、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキストデータとして取得してもよい。
【0122】
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0123】
例えば、記憶部15は、検知部14によって検知されたコンテキストデータを、検知された日時と対応付けて記憶する。また、記憶部15は、認証を要求するサービスへのアクセス情報(クッキー情報等)や、サービスに関する利用履歴等を記憶してもよい。
【0124】
(制御部16について)
制御部16は、コントローラであり、例えば、CPUやMPU等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0125】
図9に示すように、制御部16は、取得部161と、生成部162と、送信部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、
図9に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0126】
(取得部161について)
取得部161は、各種情報を取得する。例えば、取得部161は、検知部14によって検知された各種情報をコンテキストデータとして取得する。例えば、取得部161は、予め設定された時間ごとに、自装置のコンテキストを検知し、検知した情報に基づいてコンテキストデータを取得する。なお、取得部161は、例えば認証装置100から提供されるアプリによる制御を受けて、認証装置100によって設定された時間ごとにコンテキストデータを取得してもよい。
【0127】
(生成部162について)
生成部162は、取得部161によって取得されたコンテキストデータに基づいて、各種情報を生成する。例えば、生成部162は、取得部161によって取得された各第2端末の電波強度に基づいて、第1端末の近傍に所在する第2端末を示した位置関係情報を生成する。また、生成部162は、予め設定されたタイミング(例えば5分ごとや10分ごと)で、位置関係情報を含む複数のコンテキストデータを束にしたコンテキストバッグを生成する。
【0128】
(送信部163について)
送信部163は、各種情報を送信する。例えば、送信部163は、認証装置100の制御に従い、生成部162によって生成されたコンテキストデータやコンテキストバッグを認証装置100に送信する。
【0129】
また、送信部163は、ユーザから認証の要求を行う旨の操作を受け付けた場合、認証の要求を認証装置100に送信する。この場合、送信部163は、認証の要求とともに、認証の要求時点におけるコンテキストデータを認証装置100に送信する。なお、送信部163は、認証の要求時点におけるコンテキストデータのみならず、所定の時間範囲(例えば過去10分間など)に取得されたコンテキストデータを束にして、認証装置100に送信してもよい。
【0130】
〔5.処理手順〕
次に、
図10乃至
図12を用いて、実施形態に係る認証処理の手順について説明する。まず、
図10を用いて、ユーザ端末10に関する処理の手順について説明する。
図10は、実施形態に係る処理手順を示すフローチャート(1)である。
【0131】
図10に示すように、ユーザ端末10は、自装置のコンテキストを検知するタイミングが到来したか否かを判定する(ステップS101)。検知するタイミングが到来していない場合(ステップS101;No)、ユーザ端末10は、タイミングが到来するまで待機する。
【0132】
一方、検知するタイミングが到来した場合(ステップS101;Yes)、ユーザ端末10は、コンテキストデータを検知する(ステップS102)。
【0133】
その後、ユーザ端末10は、コンテキストバッグを生成するタイミングが到来したか否かを判定する(ステップS103)。コンテキストバッグを生成するタイミングが到来していない場合(ステップS103;No)、ユーザ端末10は、ステップS101に処理を戻す。
【0134】
一方、コンテキストバッグを生成するタイミングが到来した場合(ステップS103;Yes)、ユーザ端末10は、コンテキストバッグを生成する(ステップS104)。その後、ユーザ端末10は、コンテキストバッグを送信するタイミングが到来したか否かを判定する(ステップS105)。コンテキストバッグを送信するタイミングが到来していない場合(ステップS105;No)、ユーザ端末10は、タイミングが到来するまで待機する。
【0135】
一方、コンテキストバッグを送信するタイミングが到来した場合(ステップS105;Yes)、ユーザ端末10は、コンテキストバッグを認証装置100に送信する(ステップS106)。
【0136】
次に、
図11を用いて、認証装置100による生成処理の手順について説明する。
図11は、実施形態に係る処理手順を示すフローチャート(2)である。
【0137】
図11に示すように、認証装置100は、ユーザ端末10からコンテキストバッグを取得したか否かを判定する(ステップS201)。コンテキストバッグを取得していない場合(ステップS201;No)、認証装置100は、コンテキストバッグを取得するまで待機する。
【0138】
一方、コンテキストバッグを取得した場合(ステップS201;Yes)、認証装置100は、コンテキストバッグを記憶部120内に格納する(ステップS202)。
【0139】
続けて、認証装置100は、モデル生成に充分な情報(コンテキストバッグ)が蓄積されたか否かを判定する(ステップS203)。充分な情報が蓄積していない場合(ステップS203;No)、認証装置100は、コンテキストバッグを取得する処理を繰り返す。
【0140】
一方、充分な情報が蓄積された場合(ステップS203;Yes)、認証装置100は、蓄積した情報に基づいて、コンテキストバッグを送信したユーザに対応する認証モデルを生成する(ステップS204)。そして、認証装置100は、生成した認証モデルを記憶部120内に格納する(ステップS205)。
【0141】
次に、
図12を用いて、認証装置100による認証処理の手順について説明する。
図12は、実施形態に係る処理手順を示すフローチャート(3)である。
【0142】
図12に示すように、認証装置100は、ユーザ端末10から認証の要求を受信したか否かを判定する(ステップS301)。認証の要求を受信していない場合(ステップS301;No)、認証装置100は、認証の要求を受信するまで待機する。
【0143】
一方、認証の要求を受信した場合(ステップS301;Yes)、認証装置100は、認証時(認証を要求した時点における)のユーザ端末10のコンテキストデータを取得する(ステップS302)。
【0144】
続けて、認証装置100は、取得したコンテキストデータを認証モデルに入力する(ステップS303)。そして、認証装置100は、認証モデルの出力が所定の閾値を超えたか否かを判定する(ステップS304)。出力が所定の閾値を超えた場合(ステップS304;Yes)、認証装置100は、認証の要求を送信したユーザを、ユーザ本人と認証する(ステップS305)。
【0145】
一方、出力が所定の閾値を超えない場合(ステップS304;No)、認証装置100は、認証の要求を送信したユーザを、ユーザ本人と認証しない(ステップS306)。そして、認証装置100は、認証の結果をユーザに送信する(ステップS307)。
【0146】
〔6.変形例〕
上述した認証装置100による認証処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、認証装置100や認証処理に関する他の実施形態について説明する。
【0147】
〔6-1.コンテキストバッグの生成〕
上記の実施形態では、認証モデルの生成処理に用いられるコンテキストバッグが、第1端末によって生成される例を示した。しかし、コンテキストバッグは、認証モデルを生成する装置側で生成されてもよい。この点について、
図13を用いて説明する。
図13は、変形例に係る認証装置200の構成例を示す図である。
【0148】
図13に示すように、認証装置200は、
図5に示す認証装置100と比較して、バッグ生成部232をさらに有する。この場合、取得部131は、例えば、第1端末が検知した所定時間ごとのコンテキストデータを逐次取得する。かかるコンテキストデータは、実施形態で示した位置関係情報のように近傍の第2端末を示した情報であってもよいし、単に第1端末が検知した全ての第2端末を網羅する情報であってもよい。取得したコンテキストデータが、第1端末が検知した全ての第2端末を網羅する情報である場合には、バッグ生成部232は、当該情報とともに取得された電波強度等に基づいて、第1端末の近傍に所在する所定数の第2端末を抽出した位置関係情報を生成してもよい。
【0149】
そして、バッグ生成部232は、コンテキストバッグとして定義される情報(コンテキストバッグを生成するタイミングや、コンテキストバッグに含む情報の時間範囲や、一つの位置関係情報に含む第2端末の数等)に従い、コンテキストバッグを生成する。モデル生成部132は、バッグ生成部232によって生成されたコンテキストバッグに基づいて、認証モデルを生成する。
【0150】
このように、コンテキストバッグを生成する処理や、位置関係情報を生成する処理は、認証装置200側で実行されてもよい。これにより、認証装置200は、柔軟な構成で認証に関する処理を実行することができる。
【0151】
〔6-2.認証処理〕
上記実施形態では、認証装置100によって、第1端末を利用するユーザの本人性が認証される例を示した。ここで、かかる認証処理は、第1端末によって行われてもよい。
【0152】
例えば、ユーザの本人性を認証する処理は、認証装置100のようにサーバ上で行われる場合に限らず、ネットワークを介さずに第1端末側で行われる可能性もある。具体的には、第1端末は、自装置にログインしようとするユーザの本人性を認証する場合がある。
【0153】
この場合、第1端末は、認証装置100によって生成された認証モデルを取得するか、あるいは、自装置で生成した認証モデルを利用して、ユーザの認証を行ってもよい。すなわち、第1端末は、ユーザが認証の要求を行った(例えば、第1端末にログインを試みた)タイミングで、自装置のコンテキストデータを取得する。具体的には、第1端末は、周囲に存在する第2端末を検知する。そして、第1端末は、検知したコンテキストに基づき、第2端末との相対的な位置関係を示す位置関係情報を生成する。
【0154】
そして、第1端末は、生成した位置関係情報と認証モデルとに基づいて、認証の要求を行ったユーザの認証を行う。例えば、ユーザが日常的に時計型端末30や眼鏡型端末40を身に着けている場合には、第1端末へのログインが試みられる際に、それらの端末が第2端末として検知されていると想定される。この場合、認証モデルは、「それらの端末が第1端末の近傍に配置されている」ことと、ログインを試みるユーザが日常的に第1端末にログインしている「ユーザ本人」であることとの関係性を比較的高く学習していると想定される。このため、第1端末は、ユーザからパスワード等の認証情報を入力しなくても、時計型端末30や眼鏡型端末40が近傍に所在しているという位置関係情報に基づいて、第1端末へログインを試みるユーザを「ユーザ本人」と認証することができる。
【0155】
このように、実施形態に係る認証処理は、必ずしもサーバで行われるのではなく、ローカル側(第1端末側)で行われるものであってもよい。言い換えれば、実施形態に係る認証装置とは、サーバである認証装置100に限らず、第1端末(ユーザ端末10)であってもよい。
【0156】
〔6-3.学習処理〕
上記実施形態では、認証モデルの生成処理において、既に認証が完了しているユーザの第1端末からコンテキストバッグを取得し、取得したコンテキストバッグを正解データ(正例)として学習を行う例を示した。ここで、認証装置100は、どのようなコンテキストデータを正例(もしくは負例)として扱うかについて、ユーザから設定を受け付けてもよい。
【0157】
例えば、ユーザが日常的に時計型端末30のみを身に着けた状態で、サービスを利用しているとする。かかる状況下で、認証装置100による認証モデルの学習が進んだ場合、「時計型端末30のみ」が第1端末の近傍に所在していれさえすればユーザの認証が成功するという現象が発生しうる。このため、認証処理の安全性が低下するおそれがある。
【0158】
そこで、認証装置100は、どのような位置関係情報を正例として定義するかを予めユーザから受け付けてもよい。例えば、ユーザは、第1端末の近傍に「少なくとも2種類の第2端末」が所在することを正例として定義付ける設定を行ってもよい。この場合、認証装置100は、ユーザが認証に成功した際のコンテキストデータとして、時計型端末30という一つの第2端末のみが観測された位置関係情報を取得したとしても、かかる情報を正例として扱わないようにしてもよい。一方、認証装置100は、ユーザが認証に成功した際のコンテキストデータとして、時計型端末30と眼鏡型端末40という二つの第2端末が観測された位置関係情報を取得した場合には、かかる情報を正例として扱う。
【0159】
このように、認証装置100は、認証に成功した際の位置関係情報(コンテキストデータ)のうち、すべてを正例として用いるのではなく、より安全性が高いと想定される位置関係情報を正例として用いてもよい。これにより、認証装置100は、認証の安全性を向上させることができる。なお、正例の設定は、ユーザからではなく、認証装置100の管理者によって行われてもよい。また、正例の設定は、認証装置100によって自動的に設定されてもよい。
【0160】
〔6-4.第1端末〕
上記実施形態で示した第1端末と第2端末の区別は、相対的なものであり、ある状況では第1端末である端末が、別の状況では第2端末として取り扱われる場合もある。
【0161】
例えば、あるサービスへのログインが、スマートフォン20のみならず、時計型端末30によっても行われる場合、当該ユーザの認証モデルは、スマートフォン20に対するものと、時計型端末30によるものとが生成される。スマートフォン20に対応する認証モデルの生成処理や認証処理に関しては、スマートフォン20が第1端末となり、時計型端末30は第2端末として取り扱われる。一方、時計型端末30に対応する認証モデルの生成処理や認証処理に関しては、時計型端末30が第1端末となり、スマートフォン20は第2端末として取り扱われる。
【0162】
〔6-5.取得処理〕
認証装置100は、第1端末からコンテキストデータを取得する処理において、常に取得処理を継続するのではなく、所定のタイミングで取得処理を行うようにしてもよい。例えば、認証装置100は、所定のタイミングとして、スマートフォン20において所定のアプリが起動されたときを契機として、過去のコンテキストデータをまとめて取得してもよい。また、認証装置100は、特定の位置情報が観測された場合(ユーザU01の自宅や会社などの拠点となる位置や、事前に設定された所定のスポット等)にのみ、その位置情報をログとして保持するようにしてもよい。
【0163】
このように、認証装置100は、各種情報を取得するタイミングや、保持する情報について、適宜、取捨選択することができる。これにより、認証装置100は、実施形態に係る処理負荷を軽減させたり、情報を保持するための記憶装置に関する負担を軽減させたり、処理に係る電力量や通信量のコストを削減することができる。
【0164】
〔6-6.ユーザ端末〕
上記実施形態では、
図9を用いてユーザ端末10の構成例を示したが、ユーザ端末10は、
図9で示した構成を必ずしも全て有していなくてもよい。ユーザ端末10には、上述のように、スマートフォン20や時計型端末30のようなスマートデバイスのみならず、通信機能を有する眼鏡型端末40や、あるいは、ユーザの心拍を記憶する心拍測定器など、種々のウェアラブルデバイスが含まれる。この場合、ユーザ端末10は、必ずしもユーザから入力を受け付けるのではなく、自動的にユーザの情報を取得し、かかる情報を通信ネットワークに送信するなどの機能を持ちうる。すなわち、ユーザ端末10は、第1端末と相互に通信する機能を有するデバイスや情報機器であれば、必ずしも
図9で示した構成を有していなくてもよい。
【0165】
〔6-7.認証モデル〕
上記実施形態では、ロジスティック回帰等の回帰分析によって認証モデルを生成する例を説明したが、認証モデルはこの例に限られない。例えば、認証装置100は、ユーザが認証に成功した時点において、第1端末が検知した所定数の第2端末の存在を示す情報に基づいて、認証モデルを生成してもよい。例えば、認証装置100は、第2端末の存在を「あり(1)」か「なし(0)」で示した所定数次元のベクトルで表記することにより、ユーザが認証に成功した時点における、ユーザの周囲の第2端末のコンテキストを示した認証モデルを生成してもよい。この場合、認証装置100は、ユーザが新たに認証の要求を行った場合、コンテキストデータとして、第1端末が検知した周囲の第2端末の存在を示したベクトル情報を取得する。そして、認証装置100は、取得したベクトル情報と、認証モデルとの類似度(コサイン類似度等)を判定することによって、ユーザの本人性を認証する。なお、認証装置100は、第1端末とペアリング状態にある第2端末や、第1端末とより近い位置に所在する第2端末について、重みを重くする等の調整を行ってもよい。かかる手法によっても、認証装置100は、第1端末と、第1端末の周囲に所在する第2端末との関係性に基づいて、ユーザの本人性を認証することができる。すなわち、認証装置100は、第1端末と第2端末の位置関係に基づいてユーザの本人性を検証可能な認証モデルであれば、いずれの手法によって認証モデルを生成してもよい。
【0166】
〔7.ハードウェア構成〕
上述してきた実施形態に係る認証装置100や、ユーザ端末10は、例えば
図14に示すような構成のコンピュータ1000によって実現される。以下、認証装置100を例に挙げて説明する。
図14は、認証装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0167】
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
【0168】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図4に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
【0169】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0170】
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0171】
例えば、コンピュータ1000が実施形態に係る認証装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラム(例えば、実施形態に係る認証プログラム)を実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0172】
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0173】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図5に示したモデル生成部132と、認証部133は統合されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた記憶装置に記憶されてもよい。
【0174】
また、例えば、上記実施形態では、認証装置100が、コンテキストデータを取得する取得処理と、認証モデルを生成する生成処理と、ユーザの本人性を認証する認証処理とを行う例を示した。しかし、上述した認証装置100は、取得処理を行う取得装置と、生成処理を行う生成装置と、認証処理を行う認証装置とに分離されてもよい。この場合、実施形態に係る認証装置100による処理は、取得装置と、生成装置と、認証装置とを有する認証システム1によって実現される。
【0175】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0176】
〔9.効果〕
上述してきたように、実施形態に係る認証装置100は、取得部131と、モデル生成部132とを有する。取得部131は、ユーザによって利用される第1端末のコンテキストデータとして、当該第1端末と、当該第1端末とは異なる端末である第2端末との相対的な位置関係を示した位置関係情報を取得する。モデル生成部132は、取得部131によって取得された位置関係情報に基づいて、ユーザの本人性を認証する認証モデルを生成する。
【0177】
このように、実施形態に係る認証装置100は、第1端末の近傍に所在する第2端末(例えば、ユーザが常時持ち歩いている端末)との関係性に基づいて、ユーザの認証を行うための認証モデルを生成することで、位置情報の解析等の煩雑な処理を行うことなく、簡便に安全性の高い認証処理を実現することができる。
【0178】
また、取得部131は、位置関係情報とともに、第1端末の位置を示す位置情報を取得する。モデル生成部132は、位置関係情報と、当該位置関係情報に対応した第1端末の位置情報とに基づいて、認証モデルを生成する。
【0179】
このように、実施形態に係る認証装置100は、位置情報を追加して認証モデルを生成することで、例えば、ユーザが認証を行う傾向にある位置を含めた認証処理を行うことができるため、より認証の安全性を高めることができる。
【0180】
また、取得部131は、位置関係情報とともに、位置関係情報が生成された時間情報を取得する。モデル生成部132は、位置関係情報と、当該位置関係情報に対応した時間情報とに基づいて、認証モデルを生成する。
【0181】
このように、実施形態に係る認証装置100は、認証が行われやすい時間情報を追加して認証モデルを生成することで、例えば、ユーザが認証を行う傾向にある時間を含めた認証処理を行うことができるため、より認証の安全性を高めることができる。
【0182】
また、取得部131は、第1端末と、複数の第2端末との各々の相対的な位置関係を示した位置関係情報を取得する。
【0183】
このように、実施形態に係る認証装置100は、複数の第2端末との位置関係を示した情報を用いて認証モデルを生成することで、ユーザの近傍に所在する第2端末の状況をより詳細に判定することができるため、認証の精度を高めることができる。
【0184】
また、取得部131は、複数の位置関係情報が組み合わされた情報を取得する。モデル生成部132は、複数の位置関係情報が組み合わされた情報に基づいて、認証モデルを生成する。
【0185】
このように、実施形態に係る認証装置100は、複数の位置関係情報が組み合わされた情報(コンテキストバッグ)を用いることで、より多くの特徴量を含む学習データに基づいて認証モデルを生成できるため、認証の精度を向上させることができる。
【0186】
また、実施形態に係る認証装置100は、第1端末から認証の要求を受信した場合に、認証の要求とともに取得した当該第1端末のコンテキストデータと、認証モデルとに基づいて、当該ユーザの本人性を認証する認証部133をさらに有する。
【0187】
このように、実施形態に係る認証装置100は、コンテキストデータと認証モデルとを用いることで、パスワード等の認証情報を必要としない認証処理を実現することができる。具体的には、認証装置100によれば、ユーザはパスワード等の認証情報を入力する処理や、認証情報を生成するための明示的な処理(例えば、指紋をかざすジェスチャーや、画面へのタッチやタップ操作等)を行わずに済む。これにより、認証装置100は、認証に関するユーザビリティを向上させることができる。
【0188】
また、取得部131は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末間の電波強度を取得する。認証部133は、電波強度に基づいてユーザの本人性を認証する。
【0189】
このように、実施形態に係る認証装置100は、電波強度を用いて第1端末と第2端末との位置関係を測ることにより、第1端末の近傍に所在する第2端末を特定することができる。これにより、認証装置100は、認証要求時点における第1端末と第2端末との位置関係を求めることができるため、ユーザ本人であるか否かを精度よく判定することができる。
【0190】
また、取得部131は、認証の要求とともに取得するコンテキストデータとして、第1端末と第2端末間の通信状況を取得する。認証部133は、第1端末と第2端末間の通信状況に基づいてユーザの本人性を認証する。
【0191】
このように、実施形態に係る認証装置100は、通信状況(例えばペアリングなど)を用いて第1端末と第2端末との位置関係を測ることにより、第1端末の近傍に所在する第2端末を特定することができる。これにより、認証装置100は、認証要求時点における第1端末と第2端末との位置関係を求めることができるため、ユーザ本人であるか否かを精度よく判定することができる。
【0192】
また、取得部131は、認証の要求とともに取得するコンテキストデータとして、当該認証の要求を行った時点の第1端末のコンテキストデータと、当該認証の要求が行われた時点より過去における当該第1端末と第2端末との相対的な位置関係を示した位置関係情報とを取得する。認証部133は、認証の要求を行った時点の第1端末のコンテキストデータと位置関係情報とを組み合わせた情報に基づいて、ユーザの本人性を認証する。
【0193】
このように、実施形態に係る認証装置100は、認証要求時点のみならず、過去のコンテキストデータを含めて認証処理を行ってもよい。これにより、認証装置100は、より多くの特徴量を有する情報の照合を行うことができるため、認証の精度を向上させることができる。
【0194】
また、認証部133は、認証の要求を受信した時間、もしくは、当該認証の要求を送信した第1端末の位置情報の少なくともいずれかに基づいて、当該ユーザの本人性を認証する。
【0195】
このように、実施形態に係る認証装置100は、時間情報や位置情報を含めた認証処理を行うことで、認証要求時のコンテキストデータが、日常的にユーザが認証を行う傾向にある時間や位置と近い関係にあるか否かを含めてユーザの本人性を判定できるため、認証の精度を向上させることができる。
【0196】
また、認証部133は、認証の要求を送信した第1端末を利用するユーザの属性情報、もしくは、当該第1端末及び第2端末の端末情報の少なくともいずれかに基づいて、当該ユーザの本人性を認証する。
【0197】
このように、実施形態に係る認証装置100は、属性情報や端末情報を含めた認証処理を行うことで、認証要求時のコンテキストデータが、ユーザ本人の属性を示しているか、あるいは、第1端末の近くに所在する第2端末が日常的に存在している第2端末であるか等を詳細に判定することができる。これにより、認証装置100は、認証の精度を向上させることができる。
【0198】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0199】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0200】
1 認証システム
10 ユーザ端末
20 スマートフォン
30 時計型端末
40 眼鏡型端末
100 認証装置
110 通信部
120 記憶部
121 端末情報記憶部
122 コンテキストデータ記憶部
123 認証モデル記憶部
130 制御部
131 取得部
132 モデル生成部
133 認証部
134 送信部