(58)【調査した分野】(Int.Cl.,DB名)
前記認証判定部は、さらに、前記一の認証情報が前記認証許容値以上、または、前記二の認証情報に基づく認証を失敗と判定した場合に、前記認証用情報取得部で取得した三の認証情報に基づいて認証が成功したか否かを判定する、
請求項1に記載の端末装置。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態に係る端末装置、情報処理方法、及びプログラムについて、図面を参照して詳細に説明する。なお、図中同一または相当する部分には同一符号を付す。
【0010】
本実施の形態に係る端末装置1は、ユーザ本人の顔の画像、指紋、声紋等の生体情報と、ユーザが端末装置1を操作する際の特有の挙動、操作状態等による振舞情報とに基づいて、ユーザ本人を認証し、端末装置1における各種機能を実行することができるようにした装置である。端末装置1において行われるユーザの認証処理は、端末装置1の稼働中、バックグラウンドで実行されるとともに、ユーザの生体情報と振舞情報とを更新していくことにより、認証の制度を向上させることができる処理である。
【0011】
端末装置1の正面図を、
図1に示す。端末装置1は、いわゆるスマートフォンであり端末装置1は、正面にユーザの顔を撮影するインカメラ11Aと、スピーカ12Aと、通話用のマイクであるマイクロフォン12Bと、端末装置1の傾きを検出する傾き検出部13と、操作入力部14及び表示部19を兼ねるタッチパネルと、ユーザの指紋を検出する左指紋センサ15A及び右指紋センサ15Bと、端末装置1の現在位置を検出する位置検出部16とを備える。また、端末装置1は、背面に、ユーザから見た人間、風景、物体等を撮影することができるメインカメラ11Bを備える。
【0012】
ここで、以下では、インカメラ11Aとメインカメラ11Bとを総称して、撮影部11と称する。以下では、スピーカ12Aと、通話用のマイクであるマイクロフォン12Bとを総称して、音声入出力部12と称する。また、以下では、左指紋センサ15A及び右指紋センサ15Bを総称して、指紋検出部15と称する。
【0013】
図2は、端末装置1の構成を示すブロック図である。端末装置1は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16と、端末記憶部17と、端末制御部18と、表示部19とを備える。
【0014】
通信部10は、図示せぬ通信網を介して外部のサーバ、クラウド等と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN(Local Area Network)、Wi−fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0015】
撮影部11は、
図1に示したインカメラ11Aとメインカメラ11Bとを含む。撮影部11には、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を用いたカメラ、ビデオカメラ等、静止画または動画を撮影し、撮影した静止画または動画を取得することが可能な各種カメラを用いることができる。
【0016】
音声入出力部12は、
図1に示したスピーカ12Aと、マイクロフォン12Bとを含む。スピーカ12Aは、音声通話で受信した音声、通信網を介して外部から取得した音楽データ等を出力する。マイクロフォン12Bは、ユーザの音声をピックアップする装置である。
【0017】
傾き検出部13は、端末装置1の傾き、揺れ等を検出することができる装置である。傾き検出部13は、加速度センサ、角度センサ、地磁気を検出する磁気センサ等の端末装置1の傾きを検出できる各種センサを用いて構成することができる。なお、傾き検出部13を構成するセンサの個数及び種類は、単数又は複数のどちらでもよい。
【0018】
操作入力部14は、
図1に示したユーザからの操作を入力することができる装置である。指紋検出部15は、ユーザの指紋を検出するセンサである。指紋検出部15は、
図1に示した左指紋センサ15A及び右指紋センサ15Bを含む。なお、指紋検出部15には、指紋センサに限らず、ユーザの指紋を検出することができるセンサ、機器等であれば、いずれのものを用いてもよい。
【0019】
位置検出部16は、端末装置1の現在位置を検出することができる装置である。位置検出部16は、GPS(Global Positioning System)等の、端末装置1の現在位置を検出することができる機器を用いて構成することができる。
【0020】
端末記憶部17は、ユーザの認証処理を行うための認証処理プログラム170と、端末装置1で取得したユーザの生体情報をまとめた認証用生体情報データベース171と、端末装置1で取得したユーザの振舞情報をまとめた認証用振舞情報データベース172と、端末装置1の傾き状態を記憶するための傾き情報テーブル173とを備える。また、端末記憶部17には、端末装置1で実行される各種アプリケーションのプログラムが記憶されている。
【0021】
認証処理プログラム170は、端末装置1で取得したユーザの生体情報及び振舞情報に基づいてユーザを認証する処理を行うプログラムである。認証用生体情報データベース171は、ユーザの生体情報に関する情報と認証に用いる認証値とを保存するためのデータベースである。
【0022】
認証用振舞情報データベース172は、端末装置1を操作する際のユーザ特有の振舞に関する情報、認証の合格条件等を保存するためのデータベースである。ここで、ユーザ特有の振舞とは、ユーザが端末装置1を操作する際の挙動、表示部19の画面とユーザの顔の距離、キーストローク、持ち方、端末装置1が使用される位置、特定の通信網への接続回数、特定のアプリケーションの起動、操作等、ユーザ固有のものをいう。
【0023】
傾き情報テーブル173は、傾き検出部13により検出された端末装置1の傾き角度と、取得日時、取得のための待機時間を記憶するためのテーブルである。なお、認証処理プログラム170と、認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173とについては、その詳細を後述する。
【0024】
端末制御部18は、端末記憶部17に記憶された各種プログラムを実行する。また、端末制御部18は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とから各種データを取得して処理し、端末記憶部17の各種データベース、テーブルに記憶する。また、端末制御部18は、撮影部11に撮影する指示を送信することで、任意のタイミングで撮影部11に撮影をさせることができる。
【0025】
表示部19は、端末制御部18で実行される各種プログラムの処理内容を表示する。また、表示部19は、撮影部11で撮影された静止画、動画等の画像、操作入力部14から入力されたデータ等を表示することもできる。表示部19は、操作入力部14上に積層されており、
図1に示したタッチパネルを構成する。
【0026】
次に、端末装置1のハードウエア構成の一例を、
図3を参照しつつ説明する。端末装置1は、各種プログラムを実行するプロセッサ21と、各種プログラムを展開するためのメモリ22と、各種表示用データを出力する表示コントローラ23と、各種表示用データを表示する表示機器24と、撮影部11、音声入出力部12等を接続するためのI/Oポート25と、各種プログラム及び各種データを記憶する記憶機器26と、外部と通信し各種データを送受信する通信機器27とを備える。このプロセッサ21と、メモリ22と、表示コントローラ23と、表示機器24と、I/Oポート25と、記憶機器26と、通信機器27とは、データバス28を介して相互に接続されている。
【0027】
プロセッサ21は、記憶機器26に記憶された各種プログラムを読み出してメモリ22に展開し、実行する。プロセッサ21は、CPU(Central Processing Unit)、MPU(Micro−processing Unit)等の処理装置を用いて構成することができる。また、メモリ22は、RAM(Random Access Memory)、フラッシュメモリ等の揮発性または不揮発性の半導体メモリといった記憶素子および記憶媒体を用いて構成することができる。
【0028】
表示コントローラ23は、表示機器24に各種表示用データを出力するコントローラである。表示コントローラ23は、ビデオカード、GPU(Graphics Processing Unit)、グラフィックボード等の映像信号出力装置を用いて構成することができる。また、表示機器24は、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)モニタ等の表示装置を用いて構成することができる。
【0029】
I/Oポート25は、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とを接続することができる接続用ポートである。I/Oポート25には、USB(Universal Serial Bus)ポート、IEEE1394ポート等、機器を接続可能な各種ポートを用いて構成することができる。
【0030】
記憶機器26は、プロセッサ21で実行する各種プログラム、各種プログラムで使用するための各種データを記憶する機器である。記憶機器26は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置を用いて構成することができる。
【0031】
通信機器27は、図示せぬ通信網を介して外部のサーバ、クラウド等と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN、Wi−fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0032】
上述のプロセッサ21により、
図2に示した端末装置1の端末記憶部17に記憶された認証処理プログラム170を実行することにより、端末制御部18に
図4に示す情報処理ブロックが実現される。これにより、端末装置1は、ユーザ本人の顔の画像、指紋、声紋等の生体情報と、ユーザが端末装置1を操作する際の特有の挙動、操作状態等による振舞情報とに基づいて、ユーザ本人を認証し、端末装置1における各種機能を実行することができる。
【0033】
情報処理ブロックは、通信部10、撮影部11等から認証用の生体情報及び振舞情報を取得する認証用情報取得部181と、ユーザを本人か否か認証する認証判定部182と、表示部19に認証結果を表示させる認証結果表示部183と、認証判定部182からの指示により端末記憶部17に記憶されは各種データベース及びテーブルの情報を更新する認証用情報更新部184とを備える。
【0034】
認証用情報取得部181は、通信部10、撮影部11等から認証用の生体情報及び振舞情報を取得する。認証判定部182は、認証用情報取得部181から取得した認証用の生体情報及び振舞情報と、端末記憶部17の各種データベースに記憶された認証値、合格条件等に基づいて、ユーザの認証を行う。認証結果表示部183は、認証判定部182からユーザの認証結果を受信し、表示部19に認証結果に応じてメッセージ、画像等を表示させる。認証用情報更新部184は、認証判定部182からの指示に基づいて、端末記憶部17に記憶された各種データベース、テーブルに記憶されたデータを更新する。なお、認証用情報取得部181で取得される生体情報及び振舞情報は、請求の範囲における認証情報の一例である。また、認証用情報取得部181で取得される各生体情報は、請求の範囲における一の情報及び三の情報の一例である。認証用情報取得部181で取得される各振舞情報は、請求の範囲における二の情報の一例である。
【0035】
次に、端末記憶部17に記憶される認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173との各テーブルの構成について、
図5Aから
図5Cを参照しつつ以下に説明する。まず、認証用生体情報データベース171のテーブルには、
図5Aに示すように、顔、音声等の生体情報の種類と、ユーザ本人の生体情報である登録情報と、登録情報と
図4に示した認証用情報取得部181で取得した生体情報とを比較して求める認証値が記憶されている。認証用生体情報データベース171のテーブルに記憶されている登録情報は、ユーザ本人の生体情報である。登録情報には、端末装置1で認証処理を行う前に予め登録された情報であり、ユーザ本人を認証できた場合に更新される。登録情報には、例えば、生体情報の種類が顔であれば顔画像から求めた特徴量が、生体情報の種類が音声であれば音声データまたは音声データから求めた特徴量または音声データとその特徴量の両方が、生体情報の種類が虹彩であれば虹彩データが、生体情報の種類が指紋であれば指紋の画像から求めた特徴量が、それぞれ記憶されている。
【0036】
本実施の形態において、生体情報の類似の判定は、認証値により行われる。認証値は、登録情報と、
図4に示した認証用情報取得部181で取得した生体情報とを比較した結果を基に求められる値である。認証値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に0に近づき、類似しない場合に1に近づく。認証用生体情報データベース171には、認証値の平均値と、認証値を判定するための閾値である認証閾値と、認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた認証許容値とが含まれる。
【0037】
まず、認証値の平均値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し求められた認証値の平均の値である。認証閾値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値以下の場合、ユーザをユーザ本人と判定するための基準となる値である。認証閾値は、ユーザの認証の状況に合わせて変動する値であり、予め上限値が定めされている。上限値は、その値以上となった場合、ユーザをユーザ本人と生体情報のみで認証すべきではないとされる値である。例えば、認証閾値のデフォルト値を、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と類似しない場合に近づく認証値1との間の0.4とする。この場合、認証閾値の上限値は、認証閾値のデフォルト値に、類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との一割の半分である0.5を加えた値、すなわち、0.45とする。
【0038】
また、認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値以上の場合、ユーザをユーザ本人ではないと判定するための基準となる値である。認証許容値は、上述のとおり認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた値である。このため、認証許容値は、認証閾値と認証許容範囲値との変動に応じて、変動する値である。認証許容値には、予め上限値が定められており、これを最大認証許容値と呼ぶ。最大認証許容値は、この値以上の場合、ユーザを他人と判断すべきとされる値である。例えば、最大認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との中間の0.5とする。
【0039】
認証閾値と認証許容値との間の値を認証許容範囲値という。認証許容範囲値は、ユーザがユーザ本人か否かグレーな場合を示す値である。認証値が認証許容範囲値内である場合、ユーザがユーザ本人か否かを生体情報だけで判断せず、ユーザ特有の振舞情報を含めて判断する。具体的には、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致している場合に、ユーザ本人と認証する。また、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致してない場合に、ユーザ本人と認証しないものとする。振舞情報によるユーザの認証を、以下では、補助認証と称する。認証許容範囲値は、この範囲に収まる認証値であればユーザ本人として概ね考えても良いと思われる値を、予め定めたものである。認証許容範囲値は、例えば、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との一割以下の0.08とする。なお、認証閾値が上限値になった場合、認証許容範囲値は、最大認証許容値から認証閾値の上限値を引いた値とする。例えば、認証閾値の上限値を0.45とし、最大認証許容値を0.5とした場合、認証許容範囲値は0.05となる。したがって、認証閾値が上限値になっている場合、認証許容範囲値の値は、認証閾値が上限値になっていない場合よりも小さな値をとる。
【0040】
次に、認証用振舞情報データベース172のテーブルについて、
図5Bを参照しつつ、以下に説明する。認証用振舞情報データベース172のテーブルには、通信接続、イベント実行等のユーザの振舞の種類と、
図4に示した認証用情報取得部181で取得した取得情報と、各振舞における最新状況と、各振舞の合格条件とが記憶されている。取得情報には、例えば、振舞の種類が通信接続であれば接続先のアドレス、SSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)等が、振舞の種類がイベント実行であれば予めスケジュール帳に保存されたイベントの行われる場所の名称、住所等の場所情報が、振舞の種類が顔と端末装置との距離であれば距離が、デバイス接続であれば接続先のデバイスを示す名称、ID(Identifier)等が、それぞれ記憶されている。
【0041】
各振舞における最新状況は、例えば、振舞の種類が通信接続であれば、取得情報に示された通信接続先にこれまで接続等された合計回数である。通信接続先への接続等の合計回数は、初期値が0であり、通信接続先への接続等により回数が加算されていく。また、振舞の種類がイベント実行であれば、取得情報に記憶されている場所とユーザの現在地との間の距離が記憶される。振舞の種類が顔と端末装置1との距離であれば、それまでユーザがユーザ本人と認証された際に算出された顔と端末装置1との距離の平均距離が記憶される。顔と端末装置1との平均距離は、ユーザがユーザ本人と認証される度に更新される。なお、顔と端末装置1との平均距離の初期値は、
図5Aに示した生体情報を、端末装置1でユーザ本人の認証を行う前に予め登録する際に求められた距離とする。
【0042】
また、振舞の種類がデバイス接続であれば、取得情報に記憶された名称、ID等が示すデバイスに接続されているか否かが記憶されている。デバイス接続は、例えば、Bluetooth(登録商標)によりペア設定されたデバイスと端末装置1との接続である。各振舞の合格条件は、各振舞の信頼性を担保できる条件を予め定めた条件である。
【0043】
次に、傾き情報テーブル173のテーブルを、
図5Cに示す。傾き情報テーブル173は、
図4に示した傾き検出部13から取得された端末装置1の傾きを示す角度と、その角度を取得した取得日時、傾きを検出するめのインターバルとなる待機時間とを記憶している。端末装置1の傾きを示す角度は、待機時間が経過する毎に
図4に示した認証用情報取得部181により傾き検出部13から取得され、更新される。また、その角度を更新する際、角度を取得した取得日時も更新される。
【0044】
本実施の形態に係る端末装置1は、電源投入後処理のイニシャライズ処理の実行が完了すると、もしくは、スリープ状態から復帰すると、認証が成功するまで各機能の操作を許さないロック状態に入る。このロック状態に入る、若しくは、各機能の操作を行う際に認証が要求されると、
図2に示した端末制御部18は、端末記憶部17に記憶された認証処理プログラム170を実行し、ユーザがユーザ本人か否かを判別する。端末制御部18により実行される認証処理プログラム170の処理について、
図6A及び
図6Bに示す認証処理のフローチャートを参照しつつ、以下に説明する。
【0045】
まず、
図6Aを参照する。本実施の形態においては、生体情報としてユーザの顔画像を用いるものとする。
図4に示した認証用情報取得部181は、撮影部11に端末装置1を操作しているユーザの顔写真を撮影させる。具体的には、認証用情報取得部181は、端末装置1の正面に向き合っているユーザの顔写真を、インカメラ11Aで撮影させる。認証用情報取得部181は、撮影部11から撮影したユーザの顔写真を取得する(ステップS101)。認証用情報取得部181は、取得したユーザの顔写真がブレていないか判定する(ステップS102)。ユーザの顔写真がブレていた場合(ステップS102;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。また、ユーザの顔写真がブレていなかった場合(ステップS102;YES)、認証用情報取得部181は、撮影部11に撮影させたユーザの顔写真からユーザの顔が検出できるか判定する(ステップS104)。
【0046】
ユーザの顔写真からユーザの顔が検出できない場合(ステップS104;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。なお、ユーザの顔写真からユーザの顔が検出できない場合、今操作しているユーザにこれ以上操作をさせないようにロックをかける、他の認証方法を利用する旨のメッセージを表示する等をしてもよい。また、ユーザの顔写真からユーザの顔が検出できた場合(ステップS104;YES)、認証用情報取得部181は、検出したユーザの顔の画像の特徴量を求める。認証用情報取得部181は、求めたユーザの顔の画像の特徴量を認証判定部182に送信する。
【0047】
認証判定部182は、
図2に示した端末記憶部17に記憶されている認証用生体情報データベース171を取得する。認証判定部182は、
図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた登録情報に記憶された顔画像の特徴量と、認証値の認証許容値及び認証閾値を取得する。認証判定部182は、認証用生体情報データベース171から取得した登録情報の顔画像の特徴量と、認証用情報取得部181から受信した顔画像の特徴量とを比較し、比較の結果を基に顔の認証値を求める。認証判定部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証閾値以上か否かを判定する(ステップS105)。
【0048】
求めた顔の認証値が認証閾値以上の場合(ステップS105;YES)、認証判定部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証許容値以下か否かを判定する(ステップS106)。求めた顔の認証値が認証許容値以下の場合(ステップS106;YES)、端末装置1を使用しているユーザがユーザ本人か否かグレーであるため、認証判定部182は振舞情報による認証である補助認証を実行する。まず、認証判定部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証判定部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。
【0049】
続いて、認証判定部182は、
図2に示した端末記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。例えば、
図5Bに示すように、「通信接続」の取得情報にはSSIDであるABC_WLANと123WLANとが記憶されている。このABC_WLANでは、接続した回数に31回、合格条件として接続回数が100回以上と記憶されている。また、123WLANでは、接続した回数に157回、合格条件として接続回数が100回以上と記憶されている。なお、以下では合格条件を満たす場合を信頼するものと呼び、合格条件を満たさない場合を信頼しないものと呼ぶ。
【0050】
認証判定部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先か否か判定する(ステップS107)。ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS107;YES)、信頼するイベントを実行しているか否かを判定する(ステップS108)。
【0051】
認証判定部182は、認証用情報取得部181に操作入力部14から直前に実行したイベントの内容を取得させる。認証判定部182は、端末装置1に備えられたカレンダーから現在の日時に予定があるか否かと、その予定が行われる場所の情報とを取得する。認証判定部182は、その日に予定が無かった場合、信頼するイベントの実行ではないものとし(ステップS108;YES)、顔と端末装置1との距離を算出する(ステップS109)。また、その日に予定があった場合、認証判定部182は、認証用情報取得部181に位置検出部16から、現在の位置情報を取得させる。続いて、認証判定部182は、
図2に示した端末記憶部17から認証用振舞情報データベース172を取得する。
【0052】
認証判定部182は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち、「イベント実行」に対応つけられた取得情報と合格条件とを取得する。例えば、
図5Bに示すように、「イベント実行」の取得情報にはイベントが行われる場所として「○×公園」及び「△●映画館」が記憶され、その両方の合格条件として「距離が100m以内」と記憶されているものとする。
【0053】
ここで、例えば、端末装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「○×公園」が記憶されているものとする。認証判定部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「○×公園」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「○×公園」の位置情報との間の距離が113mとする。この場合、信頼するイベントの実行ではないものとし(ステップS108;YES)、顔と端末装置1との距離を算出する(ステップS109)。ユーザの顔と端末装置1との距離は、
図1に示したインカメラ11Aで撮影した端末装置1の正面に向き合うユーザの顔写真における、ユーザの顔の占める割合を基づいて算出する。
【0054】
続いて、認証判定部182は、
図2に示した端末記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「顔と端末装置との距離」に対応つけられた平均距離、合格条件を取得する。例えば、
図5Bに示すように、「顔と端末装置との距離」の平均距離には262mm、合格条件に平均距離のプラスマイナス20mm以内と記憶されている。
【0055】
認証判定部182は、ステップS109で算出したユーザの顔と端末装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS110)。具体的には、認証用振舞情報データベース172から取得した平均距離は262mm、合格条件は、平均距離のプラスマイナス20mm以内であるので、242mmから282mmの範囲か否かを判定する。
【0056】
ステップS109で算出したユーザの顔と端末装置1との距離が、242mmから282mmの範囲である場合(ステップS110;YES)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証する。認証判定部182は、認証用情報更新部184に、
図2に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0057】
具体的には、認証用情報更新部184は、
図5Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量に認証判定部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。続いて、認証用情報更新部184は、
図5Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた最新状況に記憶されている回数に1を加え、更新する。また、認証用情報更新部184は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、記憶されている平均距離とステップS109で算出された「顔と端末装置との距離」とから求めた平均距離で更新する。
【0058】
このように、認証用生体情報データベース171に記憶された生体情報、及び、認証用振舞情報データベース172に記憶された振舞情報を更新することにより、ユーザの生体情報及び振舞情報の精度が向上する。このため、ユーザの認証の精度を向上させることができる。
【0059】
また、認証判定部182により求められた顔の認証値が、認証値の認証閾値以上でない場合(ステップS105;NO)、認証判定部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証判定部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。続いて、認証判定部182は、
図2に示した端末記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。認証判定部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先か否か判定する(ステップS112)。
【0060】
ここで、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が156回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS112;YES)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証する。その後、認証判定部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。これは、現在の通信接続先が信頼する通信接続先であれば、ユーザ本人は自宅、職場等の信頼する環境に居るものと考えられるためである。この場合、認証間隔を現在の認証間隔よりも長くし、認証の頻度を下げ必要最低限の回数認証を行うようにすれば良い。
【0061】
ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS112;NO)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証せず、認証間隔を現在の認証間隔よりも長くしない。
【0062】
ここで、ステップS107において、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が156回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS107;NO)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証する。
【0063】
また、ここで、ステップS108において、例えば、端末装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「△●映画館」が記憶されているものとする。認証判定部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「△●映画館」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「△●映画館」の位置情報との間の距離が72mとする。この場合、信頼するイベントの実行であるもとのし(ステップS108;NO)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証する。
【0064】
認証判定部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。認証判定部182は、ユーザの顔と端末装置1との距離を算出する(ステップS114)。続いて、認証判定部182は、
図2に示した端末記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、ステップS114で算出したユーザの顔と端末装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS115)。ステップS109で算出したユーザの顔と端末装置1との距離が、設定範囲である場合(ステップS115;YES)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人と認証する。認証判定部182は、認証用情報更新部184に、
図2に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0065】
具体的には、認証用情報更新部184は、
図5Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量にステップS105で認証判定部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。
【0066】
続いて、認証用情報更新部184は、
図5Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた、最新状況に記憶されている回数に1を加え、更新する。続いて、認証用情報更新部184は、認証用振舞情報データベース172のテーブルの振舞の種類「イベント実行」に対応つけられた最新状況を、ステップS108;NOで求めたイベントの場所と端末装置1との間の距離を書き込み、更新する。また、認証用情報更新部184は、
図5Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、最新状況に記憶されている平均距離とステップS114で算出された「顔と端末装置との距離」とから求められた平均距離で更新する。
【0067】
ステップS114で算出したユーザの顔と端末装置1との距離が、設定範囲でない場合(ステップS115;NO)、認証判定部182は、認証用情報更新部184に、
図2に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させない。
【0068】
また、認証判定部182により求められた顔の認証値が、認証値の認証許容値以下でない場合(ステップS106;NO)、及び、ステップS110で顔と端末装置との距離が設定範囲内でなかった場合(ステップS110;NO)、認証判定部182は、端末装置1を使用しているユーザをユーザ本人ではないと判断する。認証判定部182は、
図4に示した認証結果表示部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証判定部182は、端末装置1に備えられている既存の生体認証手段を呼び出す。ここでは、既存の生体認証手段として指紋認証を呼び出すものとする。認証判定部182は、指紋認証を実行する(ステップS116)。
【0069】
指紋認証ができた場合(ステップS117;YES)、認証判定部182からの指示により、認証用情報取得部181は、撮影部11に端末装置1を操作しているユーザの顔写真を撮影させる。認証用情報取得部181は、撮影部11から撮影したユーザの顔写真の画像を取得し、ユーザの顔の画像の特徴量を求める。認証用情報取得部181は、認証判定部182に求めたユーザの顔の画像の特徴量を送信する。認証判定部182は、受信したユーザの顔の画像の特徴量を
図4に示した認証用情報更新部184に送信する。認証用情報更新部184は、受信したユーザの顔の画像の特徴量を、
図5Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報に記憶されていた顔画像の特徴量に加え、更新する(ステップS118)。認証判定部182は、ステップS101へ戻り、ステップS101以降のステップを実行する。
【0070】
また、指紋認証ができなかった場合(ステップS117;NO)、認証判定部182は、
図4に示した認証結果表示部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証判定部182は、
図4に示した認証結果表示部183にログイン画面を表示部19に表示させる(ステップS119)。
【0071】
ここで、
図6Bに移動する。認証判定部182は、生体認証及び補助認証が予め定めされた設定回数成功したか否かを判定する(ステップS120)。この設定回数は、例えば、連続で10回、端末装置1が起動してから合計で20回等、任意の回数である。生体認証及び補助認証が予め定めされた設定回数成功した場合(ステップS120;YES)、認証判定部182は、設定回数分の認証で求められた顔の認証値の平均値を求める(ステップS121)。具体的には、認証判定部182は、
図2に示した認証用生体情報データベース171を、端末記憶部17から取得する。認証判定部182は、
図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた認証値の平均値を取得する。認証判定部182は、ステップS105で求めた顔の認証値と、認証用生体情報データベース171から取得した認証値の平均値とを足して2で割り、顔の認証値の平均値を算出する。また、生体認証及び補助認証が予め定めされた設定回数成功しなかった場合(ステップS120;NO)、ステップS121からステップS123の処理をスキップし、ステップS124へ進む。
【0072】
認証判定部182は、ステップS121で求めた顔の認証値の平均値を、認証用情報更新部184に送信する。認証用情報更新部184は、受信した顔の認証値の平均値と、予め設定された認証閾値の上限値とを比較する。顔の認証値の平均値が予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、認証閾値の上限値を書き込み、更新する。また、顔の認証値の平均値が予め設定された認証閾値の上限値以下である場合、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、ステップS121で求めた顔の認証値の平均値を書き込み、更新する(ステップS122)。
【0073】
続いて、認証用情報更新部184は、認証許容値を更新する(ステップS123)。具体的には、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、予め設定された最大認証許容値を認証許容値とする。また、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以下である場合、ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以下であれば、その足した値を認証許容値とする。ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以上であれば、最大認証許容値を認証許容値とする。認証用情報更新部184は、
図2に示した認証用生体情報データベース171を、端末記憶部17から取得する。認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証許容値に、求めた認証許容値を書き込み、更新する。
【0074】
図4に示した認証用情報取得部181は、傾き検出部13から端末装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS124)。認証用情報取得部181は、取得した端末装置1の傾きの角度と現在の日時情報とを認証判定部182に送信する。認証判定部182は、受信した端末装置1の傾きの角度と現在の日時情報とを、認証用情報更新部184に送信する。認証用情報更新部184は、
図2に示した端末記憶部17に記憶された傾き情報テーブル173に、受信した端末装置1の傾きの角度と現在の日時情報とを書き込み、保存する(ステップS125)。
【0075】
認証判定部182は、
図5Cに示した傾き情報テーブル173のテーブルに記憶されている待機時間を取得する。認証判定部182は、認証用情報取得部181に取得した待機時間を送信する。認証用情報取得部181は、受信した待機時間の間、通信部10、撮影部11等からのデータの取得を待機する(ステップS126)。待機時間が終了すると、認証用情報取得部181は、傾き検出部13から端末装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS127)。認証用情報取得部181は、取得した端末装置1の傾きの角度と現在の日時情報とを認証判定部182に送信する。
【0076】
認証判定部182は、
図5Cに示した傾き情報テーブル173のテーブルに記憶されている端末装置1の角度を取得する。認証判定部182は、認証用情報取得部181から受信した端末装置1の傾きの角度と、傾き情報テーブル173から取得した端末装置1の角度とを比較し、角度が変化してないか否かを判定する(ステップS128)。端末装置1の角度の変化が、予め定められた設定値の角度、例えば、30度以上の場合(ステップS128;NO)、認証判定部182は、ユーザにより端末装置1が動かされ何某かの操作が行われたものと判断し、
図6Aに示したステップS101に戻る。その後、認証判定部182は、ステップS101以降の処理を実行する。
【0077】
また、端末装置1の角度の変化が、予め定められた設定値の角度以下の場合(ステップS128;YES)、認証判定部182は、ユーザにより端末装置1が動かされていないものと判断する。続いて、認証判定部182は、ユーザを認証するタイミングになったか否かを判定する(ステップS129)。ユーザを認証するタイミングは、予め設定された認証間隔の時間が経過したタイミングである。ユーザを認証するタイミングになっている場合(ステップS129;YES)、認証判定部182は、
図6Aに示したステップS101に戻る。その後、認証判定部182は、ステップS101以降の処理を実行する。ユーザを認証するタイミングになっていない場合(ステップS129;NO)、認証判定部182はステップS125に戻る。認証判定部182は、ステップS125からステップS129までの処理を実行する。
【0078】
なお、上記の実施の形態において、生体情報から求められた認証値と認証閾値とが同じ値となった場合には、生体情報から求められた認証値が認証閾値以下、または、生体情報から求められた認証値が認証閾値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。また、生体情報から求められた認証値と認証許容値とが同じ値となった場合には、生体情報から求められた認証値が認証許容値以下、または、生体情報から求められた認証値が認証許容値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。
【0079】
以上の通り、上記実施の形態に係る端末装置1は、ユーザ本人の顔の画像、指紋、声紋等の生体情報と、ユーザが端末装置1を操作する際の特有の挙動、操作状態等による振舞情報とに基づいて、ユーザ本人を認証し、端末装置1における各種機能を実行することができる。また、端末装置1において行われるユーザの認証処理は、端末装置1の稼働中、バックグラウンドで実行されるとともに、ユーザの生体情報と振舞情報とを更新していくことにより、認証の制度を向上させることができる。これにより、使用者の操作負担を軽減しつつ、セキュリティを確保することができる。
【0080】
(変形例1)
上記の実施の形態において、ユーザの生体情報による認証として、ユーザの顔画像による認証と指紋認証とを使用した。これに限らず、ユーザの生体情報による認証は、声紋認証、虹彩認証等、いずれの方法であってもよい。また、上記の実施の形態においては、補助認証を使用する判定の条件としてユーザの顔画像による認証だけを使用したが、複数の生体情報により判定してもよい。
【0081】
(変形例2)
上記の実施の形態では、ユーザの認証処理を
図2に示した認証処理プログラム170を実行することにより実現するものとした。この認証処理プログラム170で行われる各ステップの全部または一部を、ASIC(Application Specific Integrated Circuit)、システムLSI(Large−scale Integration)等の半導体チップ、各種回路素子により構成される回路等により実現するようにしてもよい。
【0082】
(変形例3)
上記の実施の形態において、補助認証の判定条件として信頼する接続先への接続、信頼するイベントの実行、ユーザの顔と端末装置1との顔の距離を用いた。これに限らず、他の方法を用いる又は含めても良い。例えば、ユーザ本人が所有するデバイスと端末装置1とをBluetooth(登録商標)で接続しているか否かを判定し、接続している場合にユーザ本人と認証する。Bluetooth(登録商標)により接続される機器を使用するためには、機器同士を「ペアリング」する必要がある。このため、Bluetooth(登録商標)による機器の接続は、個人の特定性が強く、補助認証として利用することでユーザ本人を認証することが可能である。また、さらに、
図2に示した位置検出部36により取得したユーザの行動ルートのパターン、規則性等により、ユーザ本人か否かを判定し、行動ルートのパターン、規則性等が一致する場合にユーザ本人と認証としてもよい。
【0083】
(変形例4)
上記の実施の形態においては、補助認証のうち、一つの認証が成功した場合に、ユーザ本人と認証した。これに限らず、複数の補助認証がすべて成功した場合にのみユーザ本人と認証するようにしてもよい。これにより、さらに認証の精度を高めることができる。
【0084】
(変形例5)
上記の実施の形態において、生体認証及び補助認証が成功した場合、
図6Aに示したフローチャートのステップS113において認証判定部182は、認証間隔を現在の認証間隔よりも長くし、認証の頻度を下げている。しかしながら、これに限らず、生体認証及び補助認証が成功した場合、認証間隔を現在の認証間隔よりも長くせずにおき、認証の頻度を下げなくてもよい。具体的には、
図6Aに示したフローチャートのステップS113を行わなくてもよい。
【0085】
(変形例6)
上記の実施の形態において、ユーザの認証が成功し、ユーザが継続的に端末装置1を操作し続ける状態、且つ端末装置1の傾きの変更がない場合、ユーザ本人が端末装置1を操作し続けているものと判断することができる。この場合、生体認証の認証閾値及び認証許容値を緩めに設定する、認証間隔を長くする等してもよい。こうすることにより、ユーザ本人に対する必要最低限の認証をバックグラウンドで行いつつ、端末装置1のリソースの利用を節約する事ができる。
【0086】
(変形例7)
上記の実施の形態において、予め定められた認証間隔によりバックグラウンドでの認証を行うようにした。これに限らず、認証のタイミング及び間隔を定めず、ランダムにバックグラウンドで認証を行うようにしてもよい。例えば、端末装置1に搭載されている各種センサの何れかにより、端末装置1の位置の変更、傾きの変更などの空間的な変化があった場合に、随時認証を行うようにしてもよい。また、ユーザが端末装置1に対し特別な処理を行うための操作、イレギュラーな操作等を行った場合に、認証を行うようにしてもよい。
【0087】
また、本発明の実施の形態に係る端末装置1は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、端末装置1における各機能を実現するためのプログラムを、コンピュータが読み取り可能なCD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)などの記録媒体に格納して配布し、このプログラムをコンピュータにインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。そして、各機能をOS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合には、アプリケーションのみを記録媒体に格納してもよい。
【0088】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
【0089】
本出願は、2019年7月31日に出願された、日本国特許出願特願2019−141648号に基づく。本明細書中に日本国特許出願特願2019−141648号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。