(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189048
(43)【公開日】2022-12-22
(54)【発明の名称】認証システム、認証装置、認証方法、及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20221215BHJP
G09C 1/00 20060101ALI20221215BHJP
G06F 21/32 20130101ALI20221215BHJP
【FI】
H04L9/00 675B
G09C1/00 640E
H04L9/00 673D
G06F21/32
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021097393
(22)【出願日】2021-06-10
(11)【特許番号】
(45)【特許公報発行日】2021-10-06
(71)【出願人】
【識別番号】512000857
【氏名又は名称】徳山 真旭
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100147924
【弁理士】
【氏名又は名称】美恵 英樹
(72)【発明者】
【氏名】徳山 真旭
(57)【要約】
【課題】ユーザがサービスを受ける際の作業負担を軽減するとともに、安定してサービスを受けることができる認証システム、認証装置、認証方法、及びプログラムを提供する。
【解決手段】認証システムは、ユーザが本人か否かの認証をバックグラウンドで行う認証装置と、第1公開鍵と第1秘密鍵の第1ペア鍵を生成する第1ペア鍵生成手段を備え、サービスを提供する情報処理装置と、を備える。認証装置は、バックグランウンドで行われた認証に成功した場合に、ユーザの生体情報から生体鍵を生成し、生体鍵とランダム情報基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する。そして第1公開鍵を取得し、取得した第1公開鍵と第2秘密鍵とに基づいて共通鍵を生成した上で、ランダム情報と共通鍵に基づいて特定情報を生成する。情報処理装置は、生成された特定情報を取得し、特定情報により特定されるユーザに対応するサービスを提供する。
【選択図】
図13A
【特許請求の範囲】
【請求項1】
ユーザが本人か否かの認証をバックグラウンドで行う認証装置と、
第1公開鍵と第1秘密鍵の第1ペア鍵を生成する第1ペア鍵生成手段を備え、サービスを提供する情報処理装置と、を備え、
前記認証装置は、
前記バックグラウンドで行われた認証に成功した場合に、前記ユーザの生体情報から、予め定められた一方向関数により生体鍵を生成する生体鍵生成手段と、
前記生体鍵生成手段で生成した生体鍵と、ランダムに生成した情報であるランダム情報と、に基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する第2ペア鍵生成手段と、
前記第1ペア鍵生成手段で生成された第1公開鍵を取得し、該取得した第1公開鍵と、前記第2ペア鍵生成手段で生成した第2秘密鍵と、に基づいて、共通鍵を生成する第1共通鍵生成手段と、
前記ランダム情報と、前記第1共通鍵生成手段で生成した共通鍵と、に基づいて、前記ユーザを特定する特定情報を生成する特定情報生成手段と、を備え、
前記情報処理装置は、
前記特定情報生成手段で生成された特定情報を取得し、該取得した特定情報により特定されるユーザに対応するサービスを提供するサービス提供手段を、さらに備える、
ことを特徴とする認証システム。
【請求項2】
前記情報処理装置は、
前記第2ペア鍵生成手段で生成された第2公開鍵を取得し、該取得した第2公開鍵と、前記第1ペア鍵生成手段で生成した第1秘密鍵と、に基づいて、前記共通鍵を生成する第2共通鍵生成手段と、
前記特定情報生成手段で生成された特定情報を取得し、該取得した特定情報の正当性を検証する検証手段と、
前記検証手段による検証結果に応じて、前記特定情報を前記ユーザおよび提供するサービスと対応付けて登録する登録手段と、をさらに備え、
前記第1共通鍵生成手段で生成された共通鍵と前記第2共通鍵生成手段で生成された共通鍵は同一であり、
前記サービス提供手段は、前記特定情報生成手段で生成された特定情報を取得し、該取得した特定情報により、前記登録手段で登録された内容に基づいて、前記ユーザおよび前記ユーザに対応するサービスを特定し、該特定したサービスを該特定したユーザに提供する、
ことを特徴とする請求項1に記載の認証システム。
【請求項3】
前記特定情報生成手段は、前記ランダム情報と前記第1共通鍵生成手段で生成した共通鍵とに基づく第1特定情報と、前記ランダム情報と前記第1共通鍵生成手段で生成した共通鍵とタイムスタンプに基づく第2特定情報と、を生成し、
前記サービス提供手段は、前記第1特定情報および前記第2特定情報を取得し、該取得した第2特定情報の検証結果に基づいて、該取得した第1特定情報により特定されるユーザに対応するサービスを提供する、
ことを特徴とする請求項1に記載の認証システム。
【請求項4】
第1公開鍵と第1秘密鍵の第1ペア鍵を生成し、サービスを提供する情報処理装置から、前記第1公開鍵を取得する取得手段と、
ユーザが本人か否かの認証をバックグラウンドで行う認証手段と、
前記認証手段による認証に成功した場合に、前記ユーザの生体情報から、予め定められた一方向関数により生体鍵を生成する生体鍵生成手段と、
前記生体鍵生成手段で生成した生体鍵と、ランダムに生成した情報であるランダム情報と、に基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する第2ペア鍵生成手段と、
前記取得手段で取得した第1公開鍵と、前記第2ペア鍵生成手段で生成した第2秘密鍵と、に基づいて、共通鍵を生成する第1共通鍵生成手段と、
前記ランダム情報と、前記第1共通鍵生成手段で生成した共通鍵と、に基づいて、前記ユーザを特定する特定情報を生成する特定情報生成手段と、
前記特定情報生成手段で生成した特定情報を前記情報処理装置に送信し、前記特定情報により特定されるユーザに対応するサービスの提供を指示するサービス提供指示手段と、
を備えることを特徴とする認証装置。
【請求項5】
認証装置において実行される認証方法であって、
第1公開鍵と第1秘密鍵の第1ペア鍵を生成し、サービスを提供する情報処理装置から、前記第1公開鍵を取得する取得ステップと、
ユーザが本人か否かの認証をバックグラウンドで行う認証ステップと、
前記認証ステップによる認証に成功した場合に、前記ユーザの生体情報から、予め定められた一方向関数により生体鍵を生成する生体鍵生成ステップと、
前記生体鍵生成ステップで生成した生体鍵と、ランダムに生成した情報であるランダム情報と、に基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する第2ペア鍵生成ステップと、
前記取得ステップで取得した第1公開鍵と、前記第2ペア鍵生成ステップで生成した第2秘密鍵と、に基づいて、共通鍵を生成する第1共通鍵生成ステップと、
前記ランダム情報と、前記第1共通鍵生成ステップで生成した共通鍵と、に基づいて、前記ユーザを特定する特定情報を生成する特定情報生成ステップと、
前記特定情報生成ステップで生成した特定情報を前記情報処理装置に送信し、前記特定情報により特定されるユーザに対応するサービスの提供を行うための認証を指示する認証指示ステップと、
を備えることを特徴とする認証方法。
【請求項6】
コンピュータを、
第1公開鍵と第1秘密鍵の第1ペア鍵を生成し、サービスを提供する情報処理装置から、前記第1公開鍵を取得する取得手段、
ユーザが本人か否かの認証をバックグラウンドで行う認証手段、
前記認証手段による認証に成功した場合に、前記ユーザの生体情報から、予め定められた一方向関数により生体鍵を生成する生体鍵生成手段、
前記生体鍵生成手段で生成した生体鍵と、ランダムに生成した情報であるランダム情報と、に基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する第2ペア鍵生成手段、
前記取得手段で取得した第1公開鍵と、前記第2ペア鍵生成手段で生成した第2秘密鍵と、に基づいて、共通鍵を生成する第1共通鍵生成手段、
前記ランダム情報と、前記第1共通鍵生成手段で生成した共通鍵と、に基づいて、前記ユーザを特定する特定情報を生成する特定情報生成手段、
前記特定情報生成手段で生成した特定情報を前記情報処理装置に送信し、前記特定情報により特定されるユーザに対応するサービスの提供を指示するサービス提供指示手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム、認証装置、認証方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザがオンラインで各種のサービスを使用する場合、不正使用を防止するために、サービスを使用するユーザが正当なユーザか否か、ユーザの認証が行われている。例えば、特許文献1には、顔画像、声紋、特定のキーワードを話す時の口の動き方等、提供されるサービス毎に異なる認証方法を用いてユーザの認証を行い、ユーザが本人と認証できた場合に、ユーザがサービスを使用できる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、サービス毎に異なる認証方法を用いてユーザの認証を行うため、ユーザは、予め複数の認証方式に対して認証に必要な情報を登録しておく必要がある。このため、認証におけるユーザの作業負担が大きいという課題がある。また、特許文献1に開示された技術では、特定のキーワードを話す時の口の動き方により、ユーザを認証している。しかしながら、ユーザがサービスに対応付けられたキーワードを忘れてしまった場合には、サービスが受けられなくなる可能性があるという課題がある。
【0005】
本発明は上述の課題を解決するものであり、ユーザがサービスを受ける際の作業負担を軽減するとともに、安定してサービスを受けることができる認証システム、認証装置、認証方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達するため、本発明に係る認証システムは、
ユーザが本人か否かの認証をバックグラウンドで行う認証装置と、
第1公開鍵と第1秘密鍵の第1ペア鍵を生成する第1ペア鍵生成手段を備え、サービスを提供する情報処理装置と、を備え、
前記認証装置は、
前記バックグラウンドで行われた認証に成功した場合に、前記ユーザの生体情報から、予め定められた一方向関数により生体鍵を生成する生体鍵生成手段と、
前記生体鍵生成手段で生成した生体鍵と、ランダムに生成した情報であるランダム情報と、に基づいて、第2公開鍵と第2秘密鍵の第2ペア鍵を生成する第2ペア鍵生成手段と、
前記第1ペア鍵生成手段で生成された第1公開鍵を取得し、該取得した第1公開鍵と、前記第2ペア鍵生成手段で生成した第2秘密鍵と、に基づいて、共通鍵を生成する第1共通鍵生成手段と、
前記ランダム情報と、前記第1共通鍵生成手段で生成した共通鍵と、に基づいて、前記ユーザを特定する特定情報を生成する特定情報生成手段と、を備え、
前記情報処理装置は、
前記特定情報生成手段で生成された特定情報を取得し、該取得した特定情報により特定されるユーザに対応するサービスを提供するサービス提供手段を、さらに備える、
ことを特徴とする。
【発明の効果】
【0007】
本発明に係る認証システムによれば、認証装置で生成された特定情報によりユーザが特定されることで、サービスが提供されるため、ユーザがサービスを受ける際の作業負担を軽減するとともに、安定してサービスを受けることができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施の形態に係る認証システムの構成を示す図である。
【
図4】
図1に示す認証装置のハードウエア構成の一例を示す図である。
【
図5】
図1に示す認証装置の情報処理ブロックの図である。
【
図6A】
図1に示す認証装置で取得する生体情報を記憶するための認証用生体情報データベースのテーブルを示す図である。
【
図6B】
図1に示す認証装置で取得する振舞情報を記憶するための認証用振舞情報データベースのテーブルを示す図である。
【
図6C】
図1に示す認証装置の傾き情報テーブルを示す図である。
【
図7】
図1に示す情報処理装置のブロック図である。
【
図8】
図1に示す情報処理装置のハードウエア構成の一例を示す図である。
【
図9】
図1に示す情報処理装置の情報処理ブロックの図である。
【
図10A】
図1に示す情報処理装置が記憶する基準情報一覧の一例を示す図である。
【
図10B】
図1に示す情報処理装置が記憶する対処情報の一例を示す図である。
【
図11A】認証処理の一例を示すフローチャートである。
【
図11B】認証処理の一例を示すフローチャートである。
【
図12】判定指示処理の一例を示すフローチャートである。
【
図13A】特定情報生成処理の一例を示すフローチャートである。
【
図13B】判定開始指示処理の一例を示すフローチャートである。
【
図14】判定処理の一例を示すフローチャートである。
【
図15】変形例における認証システムの構成を示す図である。
【
図16】変形例における認証装置のブロック図である。
【
図17】変形例における認証システムの構成を示す図である。
【
図18】変形例における判定開始指示処理の一例を示すフローチャートである。
【
図19】変形例における特定情報生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態に係る認証システム、認証装置、情報処理方法、及びプログラムについて、図面を参照して詳細に説明する。なお、図中同一または相当する部分には同一符号を付す。
図1は、認証システム100の構成を示す図である。認証システム100は、
図1に示すように、認証装置1と情報処理装置7と、を備えており、認証装置1がユーザの認証を行い、当該認証に成功した場合に、当該ユーザを特定可能な特定情報を生成する。そして、情報処理装置7が特定情報を用いて対象のユーザを特定し、当該ユーザを対象としたサービスを提供する。なお、この実施の形態では、特定したユーザへの対処の必要性を判定するサービスが提供される場合を例に、以下説明する。
【0010】
なお、この実施の形態では、認証装置1がいわゆるスマートフォンやタブレット端末であり、情報処理装置7がパーソナルコンピュータやスマートフォンやタブレット端末である。また、理解を容易にするため、以下では、当該情報処理装置7にてオンライン授業(
図10Aに示すオンライン授業1)を受講するユーザに対する対処の必要性を判定する場合を例に説明する。なお、認証装置1と情報処理装置7とは、例えば無線LAN(Local Area Network)やWi-fi(登録商標)、Bluetooth(登録商標)などにより互いに通信可能に接続される。
【0011】
図2は、認証装置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】
図3は、認証装置1の構成を示すブロック図である。認証装置1は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16と、認証装置記憶部17と、認証装置制御部18と、表示部19とを備える。
【0014】
通信部10は、図示せぬ通信網を介して外部のサーバ、クラウド、情報処理装置7等と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN(Local Area Network)、Wi-fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0015】
撮影部11は、
図2に示したインカメラ11Aとメインカメラ11Bとを含む。撮影部11には、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を用いたカメラ、ビデオカメラ等、静止画または動画を撮影し、撮影した静止画または動画を取得することが可能な各種カメラを用いることができる。
【0016】
音声入出力部12は、
図2に示したスピーカ12Aと、マイクロフォン12Bとを含む。スピーカ12Aは、音声通話で受信した音声、通信網を介して外部から取得した音楽データ等を出力する。マイクロフォン12Bは、ユーザの音声をピックアップする装置である。
【0017】
傾き検出部13は、認証装置1の傾き、揺れ等を検出することができる装置である。傾き検出部13は、加速度センサ、角度センサ、地磁気を検出する磁気センサ等の認証装置1の傾きを検出できる各種センサを用いて構成することができる。なお、傾き検出部13を構成するセンサの個数及び種類は、単数又は複数のどちらでもよい。
【0018】
操作入力部14は、
図2に示したユーザからの操作を入力することができる装置である。指紋検出部15は、ユーザの指紋を検出するセンサである。指紋検出部15は、
図2に示した左指紋センサ15A及び右指紋センサ15Bを含む。なお、指紋検出部15には、指紋センサに限らず、ユーザの指紋を検出することができるセンサ、機器等であれば、いずれのものを用いてもよい。
【0019】
位置検出部16は、認証装置1の現在位置を検出することができる装置である。位置検出部16は、GPS(Global Positioning System)等の、認証装置1の現在位置を検出することができる機器を用いて構成することができる。
【0020】
認証装置記憶部17は、ユーザの認証処理を行うための認証処理プログラム170と、認証装置1で取得したユーザの生体情報をまとめた認証用生体情報データベース171と、認証装置1で取得したユーザの振舞情報をまとめた認証用振舞情報データベース172と、認証装置1の傾き状態を記憶するための傾き情報テーブル173と、サービスを提供する対象ユーザを特定するための特定情報を生成するための特定情報生成プログラム176と、を備える。また、認証装置記憶部17には、認証装置1で実行される各種アプリケーションのプログラムが記憶されている。
【0021】
認証処理プログラム170は、認証装置1で取得したユーザの生体情報及び振舞情報に基づいてユーザを認証する処理を行うプログラムである。認証用生体情報データベース171は、ユーザの生体情報に関する情報と認証に用いる認証値とを保存するためのデータベースである。
【0022】
認証用振舞情報データベース172は、認証装置1を操作する際のユーザ特有の振舞に関する情報、認証の合格条件等を保存するためのデータベースである。ここで、ユーザ特有の振舞とは、ユーザが認証装置1を操作する際の挙動、表示部19の画面とユーザの顔の距離、キーストローク、持ち方、認証装置1が使用される位置、特定の通信網への接続回数、特定のアプリケーションの起動、操作等、ユーザ固有のものをいう。
【0023】
傾き情報テーブル173は、傾き検出部13により検出された認証装置1の傾き角度と、取得日時、取得のための待機時間を記憶するためのテーブルである。特定情報生成プログラム176は、サービスを提供する対象ユーザを特定するための特定情報を生成するプログラムである。なお、この実施の形態における特定情報生成プログラム176は、対処の必要性を判定するユーザを特定するための特定情報を生成するプログラムである。
【0024】
なお、認証処理プログラム170と、認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173と、特定情報生成プログラム176とについては、その詳細を後述する。
【0025】
認証装置制御部18は、認証装置記憶部17に記憶された各種プログラムを実行する。また、認証装置制御部18は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とから各種データを取得して処理し、認証装置記憶部17の各種データベース、テーブルに記憶する。また、認証装置制御部18は、撮影部11に撮影する指示を送信することで、任意のタイミングで撮影部11に撮影をさせることができる。
【0026】
表示部19は、認証装置制御部18で実行される各種プログラムの処理内容を表示する。また、表示部19は、撮影部11で撮影された静止画、動画等の画像、操作入力部14から入力されたデータ等を表示することもできる。表示部19は、操作入力部14上に積層されており、
図2に示したタッチパネルを構成する。
【0027】
次に、認証装置1のハードウエア構成の一例を、
図4を参照しつつ説明する。認証装置1は、各種プログラムを実行するプロセッサ21と、各種プログラムを展開するためのメモリ22と、各種表示用データを出力する表示コントローラ23と、各種表示用データを表示する表示機器24と、撮影部11、音声入出力部12等を接続するためのI/Oポート25と、各種プログラム及び各種データを記憶する記憶機器26と、外部と通信し各種データを送受信する通信機器27とを備える。このプロセッサ21と、メモリ22と、表示コントローラ23と、表示機器24と、I/Oポート25と、記憶機器26と、通信機器27とは、データバス28を介して相互に接続されている。
【0028】
プロセッサ21は、記憶機器26に記憶された各種プログラムを読み出してメモリ22に展開し、実行する。プロセッサ21は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)等の処理装置を用いて構成することができる。また、メモリ22は、RAM(Random Access Memory)、フラッシュメモリ等の揮発性または不揮発性の半導体メモリといった記憶素子および記憶媒体を用いて構成することができる。
【0029】
表示コントローラ23は、表示機器24に各種表示用データを出力するコントローラである。表示コントローラ23は、ビデオカード、GPU(Graphics Processing Unit)、グラフィックボード等の映像信号出力装置を用いて構成することができる。また、表示機器24は、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)モニタ等の表示装置を用いて構成することができる。
【0030】
I/Oポート25は、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とを接続することができる接続用ポートである。I/Oポート25には、USB(Universal Serial Bus)ポート、IEEE1394ポート等、機器を接続可能な各種ポートを用いて構成することができる。
【0031】
記憶機器26は、プロセッサ21で実行する各種プログラム、各種プログラムで使用するための各種データを記憶する機器である。記憶機器26は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置を用いて構成することができる。
【0032】
通信機器27は、
図1に示す情報処理装置7と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN、Wi-fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0033】
上述のプロセッサ21により、
図3に示した認証装置1の認証装置記憶部17に記憶された認証処理プログラム170および特定情報生成プログラム176を実行することにより、認証装置制御部18に
図5に示す情報処理ブロック(各機能部)が実現される。これにより、認証装置1は、ユーザ本人の顔の画像、指紋、声紋等の生体情報と、ユーザが認証装置1を操作する際の特有の挙動、操作状態等による振舞情報とに基づいてユーザ本人を認証するとともに、認証装置1における各種処理を実行することができる。
【0034】
プロセッサ21により実現される情報処理ブロックは、通信部10や撮影部11等から認証用の生体情報及び振舞情報を取得する認証用情報取得部181と、ユーザを本人か否か認証する認証部182と、表示部19に認証結果を表示させる表示処理部183と、認証部182からの指示により認証装置記憶部17に記憶された各種データベース及びテーブルの情報を更新する認証用情報更新部184と、
図1に示した情報処理装置7と通信部10を介してデータを送受信するためのデータ送受信部185と、特定用情報のデータを生成する特定情報生成部186と、その他の各種処理を実行する処理部187である。
【0035】
認証用情報取得部181は、通信部10、撮影部11等から認証用の生体情報及び振舞情報を取得する。認証部182は、認証用情報取得部181から取得した認証用の生体情報及び振舞情報と、認証装置記憶部17の各種データベースに記憶された認証値、合格条件等に基づいて、ユーザの認証を行う。
【0036】
表示処理部183は、認証部182からユーザの認証結果を受信し、認証結果に応じたメッセージ、画像等を表示部19に表示させる。認証用情報更新部184は、認証部182からの指示に基づいて、認証装置記憶部17に記憶された各種データベース、テーブルに記憶されたデータを更新する。
【0037】
データ送受信部185は、
図1に示す情報処理装置7と通信部10を介してデータを送受信する。特定情報生成部186は、サービスを提供する対象ユーザを特定するための特定情報、すなわち対処の必要性を判定するユーザを特定するための特定情報を生成する。処理部187は、認証部182において、認証装置1を使用するユーザが本人と認証された場合に、必要な各種処理を実行する。
【0038】
次に、認証装置記憶部17に記憶される認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173の各テーブルおよびデータの構成について、
図6Aから
図6Cを参照しつつ以下に説明する。まず、認証用生体情報データベース171のテーブルには、
図6Aに示すように、顔、音声等の生体情報の種類と、ユーザ本人の生体情報である登録情報と、
図5に示した認証用情報取得部181で取得した生体情報とを比較して求める認証値が記憶されている。
【0039】
認証用生体情報データベース171のテーブルに記憶されている登録情報は、ユーザ本人の生体情報である。登録情報には、認証装置1で認証処理を行う前に予め登録された情報であり、ユーザ本人を認証できた場合に更新される。登録情報には、例えば、生体情報の種類が顔であれば顔画像から求めた特徴量が、生体情報の種類が音声であれば音声データまたは音声データから求めた特徴量または音声データとその特徴量の両方が、生体情報の種類が虹彩であれば虹彩データが、生体情報の種類が指紋であれば指紋の画像から求めた特徴量が、それぞれ記憶されている。
【0040】
本実施の形態において、生体情報の類似の判定は、認証値により行われる。認証値は、登録情報と、
図5に示した認証用情報取得部181で取得した生体情報とを比較した結果を基に求められる値である。認証値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に0に近づき、類似しない場合に1に近づく。認証用生体情報データベース171には、認証値の平均値と、認証値を判定するための閾値である認証閾値と、認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた認証許容値とが含まれる。
【0041】
まず、認証値の平均値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し求められた認証値の平均の値である。認証閾値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値未満の場合、ユーザをユーザ本人と判定するための基準となる値である。
【0042】
認証閾値は、ユーザの認証の状況に合わせて変動する値であり、予め上限値が定めされている。上限値は、その値以上となった場合、ユーザをユーザ本人と生体情報のみで認証すべきではないとされる値である。例えば、認証閾値のデフォルト値を、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と類似しない場合に近づく認証値1との間の0.4とする。この場合、認証閾値の上限値は、認証閾値のデフォルト値に、類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との一割の半分である0.05を加えた値、すなわち、0.45とする。なお、認証閾値のデフォルト値や加算する値については、ユーザの年齢層や性別などのグループや個人毎に異なるようにしてもよい。
【0043】
また、認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値以上の場合、ユーザをユーザ本人ではないと判定するための基準となる値である。認証許容値は、上述のとおり認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた値である。このため、認証許容値は、認証閾値と認証許容範囲値との変動に応じて、変動する値である。
【0044】
認証許容値には、予め上限値が定められており、これを最大認証許容値と呼ぶ。最大認証許容値は、この値以上の場合、ユーザを他人と判断すべきとされる値である。例えば、最大認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との中間の0.5とする。
【0045】
認証閾値と認証許容値との間の値を認証許容範囲値という。認証許容範囲値は、ユーザがユーザ本人か否かグレーな場合を示す値である。認証値が認証許容範囲値内である場合、ユーザがユーザ本人か否かを生体情報だけで判断せず、ユーザ特有の振舞情報を含めて判断する。具体的には、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致している場合に、ユーザ本人と認証する。
【0046】
また、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致してない場合に、ユーザ本人と認証しないものとする。振舞情報によるユーザの認証を、以下では、補助認証と称する。認証許容範囲値は、この範囲に収まる認証値であればユーザ本人として概ね考えても良いと思われる値を、予め定めたものである。認証許容範囲値は、例えば、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との一割以下の0.08とする。
【0047】
なお、認証閾値が上限値になった場合、認証許容範囲値は、最大認証許容値から認証閾値の上限値を引いた値とする。例えば、認証閾値の上限値を0.45とし、最大認証許容値を0.5とした場合、認証許容範囲値は0.05となる。したがって、認証閾値が上限値になっている場合、認証許容範囲値の値は、認証閾値が上限値になっていない場合よりも小さな値をとる。
【0048】
次に、認証用振舞情報データベース172のテーブルについて、
図6Bを参照しつつ、以下に説明する。認証用振舞情報データベース172のテーブルには、通信接続、イベント実行等のユーザの振舞の種類と、
図5に示した認証用情報取得部181で取得した取得情報と、各振舞における最新状況と、各振舞の合格条件とが記憶されている。
【0049】
取得情報には、例えば、振舞の種類が通信接続であれば接続先のアドレス、SSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)等が、振舞の種類がイベント実行であれば予めスケジュール帳に保存されたイベントの行われる場所の名称、住所等の場所情報が、振舞の種類が顔と端末装置との距離であれば距離が、デバイス接続であれば接続先のデバイスを示す名称、ID(Identifier)等が、それぞれ記憶されている。
【0050】
各振舞における最新状況は、例えば、振舞の種類が通信接続であれば、取得情報に示された通信接続先にこれまで接続等された合計回数である。通信接続先への接続等の合計回数は、初期値が0であり、通信接続先への接続等により回数が加算されていく。また、振舞の種類がイベント実行であれば、取得情報に記憶されている場所とユーザの現在地との間の距離が記憶される。
【0051】
振舞の種類が、顔と認証装置1との距離であれば、それまでユーザがユーザ本人と認証された際に算出された顔と認証装置1との距離の平均距離が記憶される。顔と認証装置1との平均距離は、ユーザがユーザ本人と認証される度に更新される。なお、顔と認証装置1との平均距離の初期値は、
図6Aに示した生体情報を、認証装置1でユーザ本人の認証を行う前に予め登録する際に求められた距離とする。
【0052】
また、振舞の種類がデバイス接続であれば、取得情報に記憶された名称、ID等が示すデバイスに接続されているか否かが記憶されている。デバイス接続は、例えば、Bluetooth(登録商標)によりペア設定されたデバイスと認証装置1との接続である。各振舞の合格条件は、各振舞の信頼性を担保できる条件を予め定めた条件である。
【0053】
次に、
図6Cに示すのは、傾き情報テーブル173のテーブルである。傾き情報テーブル173は、
図5に示した傾き検出部13から取得された認証装置1の傾きを示す角度と、その角度を取得した取得日時、傾きを検出するめのインターバルとなる待機時間とを記憶している。認証装置1の傾きを示す角度は、待機時間が経過する毎に
図5に示した認証用情報取得部181により傾き検出部13から取得され、更新される。また、その角度を更新する際、角度を取得した取得日時も更新される。
【0054】
続いて情報処理装置7の構成について説明する。情報処理装置7は、認証装置1で生成された特定情報に基づいて、サービスの提供対象のユーザを特定し、特定したユーザに対しサービスを提供する端末である。上述したように、この実施の形態における情報処理装置7は、特定情報に基づいて特定したユーザに対し、対処の必要性を判定するサービスを提供する。
図7は、情報処理装置7の構成を示すブロック図である。情報処理装置7は、上述したように、パーソナルコンピュータやスマートフォンやタブレット端末であり、通信部70と、撮影部71と、音声入出力部72と、操作入力部73と、情報処理装置記憶部77と、情報処理装置制御部78と、表示部79とを備える。なお、認証装置1と同様に、傾き検出部13、指紋検出部15、および位置検出部16をさらに備えていてもよい。
【0055】
情報処理装置7における通信部70、撮影部71、音声入出力部72、操作入力部73については認証装置100における通信部10、音声入出力部12、操作入力部14と同様であるため、説明を省略する。
【0056】
撮影部71は、対処の必要性を判定する対象のユーザを撮影するカメラを含む。この例における撮影部71は、オンライン授業を受講中のユーザを撮影する。撮影部71には、撮影部11と同様、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を用いたカメラ、ビデオカメラ等、静止画または動画を撮影し、撮影した静止画または動画を取得することが可能な各種カメラを用いることができる。
【0057】
情報処理装置記憶部77は、判定対象のユーザに対する対処の必要性を判定する判定処理を行うための判定処理プログラム770と、ユーザと場面に応じた基準情報を示す基準情報一覧771と、対処情報772と、を備える。また、情報処理装置記憶部77には、情報処理装置7で実行される各種アプリケーションのプログラムが記憶されている。
【0058】
判定処理プログラム770は、撮影部71で撮影したユーザの映像に基づいて、当該ユーザへの対象の必要性を判定する判定処理を行うプログラムである。基準情報一覧771は、認証装置1で生成された特定情報を用いて特定されるユーザと、当該ユーザに対応した、場面毎の基準情報(判定閾値)の一覧である。対処情報772は、ユーザへの対象の必要有りと判定された場合に実行する対処内容を示すデータベースである。
【0059】
なお、判定処理プログラム770と、基準情報一覧771と、対処情報772と、については、その詳細を後述する。
【0060】
情報処理装置制御部78は、情報処理装置記憶部77に記憶された各種プログラム(オンライン授業のプログラムも含む)を実行する。また、情報処理装置制御部78は、通信部70と、撮影部71と、音声入出力部72と、操作入力部73とから各種データを取得して処理し、情報処理装置記憶部77の各種データベース、テーブル等に記憶する。また、情報処理装置制御部78は、撮影部71に撮影する指示を送信することで、判定対象のユーザを撮影部71に撮影をさせる。
【0061】
表示部79は、情報処理装置制御部78で実行される各種プログラム(オンライン授業のプログラムも含む)の処理内容を表示する。また、表示部79は、撮影部71で撮影された静止画、動画等の画像、操作入力部73から入力されたデータ等を表示することもできる。なお、情報処理装置7がスマートフォンやタブレット端末である場合、当該表示部79は、操作入力部73上に積層され、タッチパネルを構成すればよい。
【0062】
次に、情報処理装置7のハードウエア構成の一例を、
図8を参照しつつ説明する。情報処理装置7は、認証装置1と同様に、各種プログラムを実行するプロセッサ81と、各種プログラムを展開するためのメモリ82と、各種表示用データを出力する表示コントローラ83と、各種表示用データを表示する表示機器84と、撮影部71、音声入出力部72等を接続するためのI/Oポート85と、各種プログラム及び各種データを記憶する記憶機器86と、外部との通信し各種データを送受信する通信機器87とを備える。このプロセッサ81と、メモリ82と、表示コントローラ83と、表示機器84と、I/Oポート85と、記憶機器86と、通信機器87とは、データバス88を介して相互に接続されている。なお、プロセッサ81、メモリ82、表示コントローラ83、表示機器84、I/Oポート85、記憶機器86、通信機器87、およびデータバス88については、認証装置1におけるプロセッサ21、メモリ22、表示コントローラ23、表示機器24、I/Oポート25、記憶機器26、通信機器27、およびデータバス28と同様であるため、説明を省略する。
【0063】
プロセッサ81により、
図7に示した情報処理装置7の情報処理装置記憶部77に記憶された判定処理プログラム770を実行することにより、情報処理装置制御部78に
図9に示す情報処理ブロック(各機能部)が実現される。これにより、情報処理装置7は、オンライン授業を受講中のユーザに対する対象の必要性の判定等の処理を実行することができる。
【0064】
プロセッサ21により実現される情報処理ブロックは、通信部10や撮影部11等から判定用の情報を取得する判定用情報取得部781と、対処の必要性を判定する判定部782と、表示部79に判定結果や対処情報を表示させる表示部79と、判定部782からの指示により情報処理装置記憶部77に記憶された基準情報一覧771を含む各種データベース及びテーブルの情報を更新する判定用情報更新部784と、
図1に示した認証装置1と通信部70を介してデータを送受信するためのデータ送受信部785と、その他の各種処理を実行する処理部787である。
【0065】
判定用情報取得部781は、通信部10、撮影部11等から判定用の判定用情報を取得する。判定部782は、判定用情報取得部781から取得した判定用情報と、情報処理装置記憶部77の基準情報一覧771により示される判定閾値等に基づいて、対処の必要性の判定を行う。
【0066】
具体的に、判定用情報取得部781は、通信部10を介して認証装置1から特定情報を取得する。また、判定用情報取得部781は、撮影部11から当該オンライン授業を受講中のユーザの映像を判定対象情報として取得する。また、判定用情報取得部781は、操作入力部73に対する操作により選択された判定対象の場面を識別する場面情報を取得する。なお、判定用情報取得部781は、この他にも、音声入出力部72から入力された情報を取得してもよい。判定部782は、判定用情報取得部781で取得した特定情報および場面情報に基づいて、情報処理装置記憶部77の基準情報一覧771から判定対象のユーザを特定するとともに、ユーザにより選択された判定対象の場面と、これらに応じた判定閾値等を特定する。また、判定部782は、取得したユーザの映像に基づいて判定値を算出し、特定した判定閾値等と比較することで、当該ユーザへの対処の必要性を判定する。なお、判定値の算出については、例えば、ユーザの目線の高さ、頭の動きや手の動きなどといった複数の要素についての総合的な点数を算出する演算式により算出されればよい。また、当該演算式については予め定められていればよく、例えばユーザの目線の高さ、頭の動きや手の動きなどといった複数の要素毎に異なる重み付けがなされ判定値が算出されればよい。
【0067】
表示処理部783は、判定部782から対処の必要性の判定結果を受信し、判定結果に応じたメッセージ、画像等を表示部79に表示させる。具体的に、表示処理部783は、判定部782にて対処の必要でありと判定された場合に、処理部787と協働して、判定用情報取得部781で取得したユーザの映像に基づいて、情報処理装置記憶部77の対処情報772から対処内容を決定し、決定した対処内容を表示する。なお、この例では対処内容としてメッセージや画像等を表示部79に表示させる例を示しているが、これに加え、例えば音声入出力部72から音声を出力するようにしてもよい。
【0068】
判定用情報更新部784は、判定部782からの指示に基づいて、情報処理装置記憶部77に記憶された基準情報一覧771や対処情報772など、各種データベース、テーブルに記憶されたデータを更新する。具体的に、判定用情報更新部784は、判定部782による判定がより高精度となるよう、判定部782による判定結果等を入力データとした機械学習を行い、情報処理装置記憶部77に記憶された基準情報一覧771や対処情報772の内容を更新する。
【0069】
データ送受信部785は、
図1に示した認証装置1と通信部70を介してデータを送受信する。処理部787は、上述したように、表示処理部783と協働して情報処理装置記憶部77の対処情報772から対処内容を決定する処理や、その他の各種処理を実行する。
【0070】
次に、情報処理装置記憶部77に記憶される基準情報一覧771と対処情報772のデータの構成について、
図10Aおよび
図10Bを参照しつつ説明する。
図10Aに示す基準情報一覧771は、ユーザおよび場面に応じた基準情報の一覧であり、
図10Aに示すように、特定情報により特定される対象ユーザと、ユーザの操作入力部73に対する操作により選択されることで特定される判定対象の場面と、に応じた判定閾値等が基準情報として記憶されている。詳しくは後述するが、この実施の形態において情報処理装置7は、認証装置1で生成された特定情報の正当性を確認できた場合に、
図10Aに示す基準情報一覧771として、ユーザの判定対象場面と基準情報の一覧が、当該特定情報と対応付けて記憶され、登録される(事前登録)。そして、情報処理装置7は、認証装置1から特定情報が送信されたことに基づいて、例えばチャレンジレスポンス方式の認証を行い、
図10Aに示す基準情報一覧771から対象ユーザを特定する。また、情報処理装置7は、操作入力部73に対する選択操作により取得した場面情報に基づき判定対象の場面を特定し、
図10Aに示す基準情報一覧771から当該ユーザの判定対象場面に対応した基準情報を特定する。その後、情報処理装置7は、
図10Bに示す対処情報772から対処内容等を特定する。そのため、情報処理装置7は、認証装置1から受信した特定情報により対象ユーザを特定し、選択操作により、当該ユーザの判定対象となる場面を特定し、基準情報一覧771と対処情報772により、判定閾値や対処内容等を特定する。
【0071】
判定閾値は、対処が不要であるか否かを判定するための基準となる値を示し、取得したユーザの映像に基づいて算出された判定値が当該判定閾値未満であれば、当該ユーザへの対処は不要であると判定されることとなる。判定許容値は、判定値が判定閾値以上である場合に当該判定値と比較される値であり、ユーザへの対処が必要か不要かのグレーゾーンの上限値を示す値である。具体的に、オンライン授業を受講中のユーザであるAさんの映像に基づいて算出された判定値が、
図10Aに示す判定閾値の3.00未満であれば、Aさんへの対処は不要であると判定され、3.50以下であればグレーゾーンとして判定され、3.50を超える値であれば、対処が必要であると判定されることとなる。なお、また、図示するように、同じ場面であっても、ユーザAとユーザBといったように、ユーザ毎に異なる判定閾値等が設定されている。また、この実施の形態では、グレーゾーンとして判定された回数が許容回数を超えた場合、対処が必要であると判定するため、
図10Aに示すように許容回数が予め設定されている。例えば、予め定められた期間内(例えば1時間以内)にグレーゾーンとして判定された回数が5回を超えた場合、
図10Aに示すように、Aさんへの対処が必要であると判定することとなる。なお、図示する例では許容回数として、グレーゾーンとして判定された回数に基づいて対処が必要であるか否かを判定する例を示しているが、グレーゾーンと判定された割合や、連続してグレーゾーンと判定された回数を基準としてもよい。なお、図示する例では、ユーザ間で許容回数が共通であり、場面に応じて異なる例を示しているが、ユーザ毎、および場面毎に異なるようにしてもよい。
【0072】
図10Bに示す対処情報772は、ユーザへの対象の必要有りと判定された場合に実行する対処内容を示すデータベースであり、
図10Bに示すように、場面とユーザ毎の、基準値に応じた対処内容が記憶されている。対処情報772は、ユーザへの対象の必要有りと判定された場合に参照される。具体的に、オンライン授業を受講中のユーザであるAさんへの対処が必要であると判定された場合、取得したAさんの映像に基づいてAさんの目線の高さが算出される。そして、
図10Bに示す基準と比較され、目線の高さが20cm未満である状態が1分以上継続していれば、図示するように「起きろ」のメッセージが表示され、目線の高さが20cm未満である状態が30秒から1分未満である場合には、図示するように「寝るな」のメッセージが表示されることとなる。なお、対処内容は同一の場面であっても対象ユーザによって異なっていてもよく、過去の対処回数に応じて異なるようにしてもよい。例えば、オンライン授業において過去に5回以上対処が必要であると判定されたユーザについては対処内容として音声出力も合わせて行われるようにしてもよい。すなわち、対処情報772は、過去の対処回数に応じて異なる対処内容が記憶されていてもよい。
【0073】
以上が、認証システム100における認証装置1と情報処理装置7の構成である。続いて認証装置1と情報処理装置7の動作について、
図11A~
図14を参照して説明する。なお、この実施の形態では、上述したように、オンライン授業を受講中のユーザに対する対処の必要性を判定する場合を例に説明する。
【0074】
まず、認証装置1における認証処理においてユーザの認証が行われる。そして判定指示処理が実行されることで、認証に成功した場合に特定情報を生成し、生成した特定情報を情報処理装置7に送信して判定を開始させる。判定指示処理には、特定情報を生成する特定情報生成処理が含まれる。特定情報を受信した情報処理装置7では、当該受信に伴ってオンライン授業の受講を開始させるとともに、当該特定情報により特定されるユーザおよびユーザにより選択された場面における対処の必要性を判定する判定処理を行う。なお、当該認証装置1における認証処理は、バックグラウンドで行われる処理である。
【0075】
まず、認証処理について、
図11Aおよび
図11Bを参照して説明する。認証装置1は、電源投入後処理のイニシャライズ処理の実行が完了すると、もしくは、スリープ状態から復帰すると、認証が成功するまで各機能の操作を許さないロック状態に入る。このロック状態に入る、若しくは、各機能の操作を行う際に認証が要求されると、
図3に示した認証装置制御部18は、認証装置記憶部17に記憶された認証処理プログラム170を実行し、ユーザがユーザ本人か否かを判別する。また、生体情報としてユーザの顔画像を用いるものとする。なお、認証処理を実行する認証装置制御部18および認証処理は、認証手段および認証ステップに対応する。
【0076】
認証処理を開始すると、
図5に示した認証用情報取得部181は、撮影部11に認証装置1を操作しているユーザの顔写真を撮影させる。具体的に、認証用情報取得部181は、認証装置1の正面に向き合っているユーザの顔写真を、インカメラ11Aで撮影させる。これにより、認証用情報取得部181は、撮影部11から撮影したユーザの顔写真を取得する(ステップS101)。
【0077】
続いて認証用情報取得部181は、取得したユーザの顔写真がブレていないか判定する(ステップS102)。ユーザの顔写真がブレていた場合(ステップS102;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。また、ユーザの顔写真がブレていなかった場合(ステップS102;YES)、認証用情報取得部181は、撮影部11に撮影させたユーザの顔写真からユーザの顔が検出できるか判定する(ステップS104)。
【0078】
ユーザの顔写真からユーザの顔が検出できない場合(ステップS104;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。なお、ユーザの顔写真からユーザの顔が検出できない場合、今操作しているユーザにこれ以上操作をさせないようにロックをかける、他の認証方法を利用する旨のメッセージを表示する等をしてもよい。また、ユーザの顔写真からユーザの顔が検出できた場合(ステップS104;YES)、認証用情報取得部181は、検出したユーザの顔の画像の特徴量を求める。認証用情報取得部181は、求めたユーザの顔の画像の特徴量を認証判定部182に送信する。
【0079】
認証判定部182は、
図3に示した認証装置記憶部17に記憶されている認証用生体情報データベース171を取得する。認証判定部182は、
図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた登録情報に記憶された顔画像の特徴量と、認証値の認証許容値及び認証閾値を取得する。認証判定部182は、認証用生体情報データベース171から取得した登録情報の顔画像の特徴量と、認証用情報取得部181から受信した顔画像の特徴量とを比較し、比較の結果を基に顔の認証値を求める。認証判定部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証閾値以上か否かを判定する(ステップS105)。
【0080】
求めた顔の認証値が認証閾値以上の場合(ステップS105;YES)、認証判定部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証許容値以下か否かを判定する(ステップS106)。求めた顔の認証値が認証許容値以下の場合(ステップS106;YES)、認証装置1を使用しているユーザがユーザ本人か否かグレーであるため、認証判定部182は振舞情報による認証である補助認証を実行する。まず、認証判定部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証判定部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。
【0081】
続いて、認証判定部182は、
図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。例えば、
図6Bに示すように、「通信接続」の取得情報にはSSIDであるABC_WLANと123WLANとが記憶されている。このABC_WLANでは、接続した回数に31回、合格条件として接続回数が100回以上と記憶されている。また、123WLANでは、接続した回数に157回、合格条件として接続回数が100回以上と記憶されている。なお、以下では合格条件を満たす場合を信頼するものと呼び、合格条件を満たさない場合を信頼しないものと呼ぶ。
【0082】
認証判定部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先か否か判定する(ステップS107)。ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS107;YES)、信頼するイベントを実行しているか否かを判定する(ステップS108)。
【0083】
認証判定部182は、認証用情報取得部181に操作入力部14から直前に実行したイベントの内容を取得させる。認証判定部182は、認証装置1に備えられたカレンダーから現在の日時に予定があるか否かと、その予定が行われる場所の情報とを取得する。認証判定部182は、その日に予定が無かった場合、信頼するイベントの実行ではないものとし(ステップS108;YES)、顔と認証装置1との距離を算出する(ステップS109)。また、その日に予定があった場合、認証判定部182は、認証用情報取得部181に位置検出部16から、現在の位置情報を取得させる。続いて、認証判定部182は、
図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。
【0084】
認証判定部182は、
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち、「イベント実行」に対応つけられた取得情報と合格条件とを取得する。例えば、
図6B示すように、「イベント実行」の取得情報にはイベントが行われる場所として「○×公園」及び「△●映画館」が記憶され、その両方の合格条件として「距離が100m以内」と記憶されているものとする。
【0085】
ここで、例えば、認証装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「○×公園」が記憶されているものとする。認証判定部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「○×公園」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「○×公園」の位置情報との間の距離が113mとする。この場合、信頼するイベントの実行ではないものとし(ステップS108;YES)、顔と認証装置1との距離を算出する(ステップS109)。ユーザの顔と認証装置1との距離は、
図2に示したインカメラ11Aで撮影した認証装置1の正面に向き合うユーザの顔写真における、ユーザの顔の占める割合を基づいて算出する。
【0086】
続いて、認証判定部182は、
図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「顔と端末装置との距離」に対応つけられた平均距離、合格条件を取得する。例えば、
図6Bに示すように、「顔と端末装置との距離」の平均距離には262mm、合格条件に平均距離のプラスマイナス20mm以内と記憶されている。
【0087】
認証判定部182は、ステップS109で算出したユーザの顔と認証装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS110)。具体的には、認証用振舞情報データベース172から取得した平均距離は262mm、合格条件は、平均距離のプラスマイナス20mm以内であるので、242mmから282mmの範囲か否かを判定する。
【0088】
ステップS109で算出したユーザの顔と認証装置1との距離が、242mmから282mmの範囲である場合(ステップS110;YES)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証する。認証判定部182は、認証用情報更新部184に、
図2に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0089】
具体的には、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量に認証判定部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。続いて、認証用情報更新部184は、
図6Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた最新状況に記憶されている回数に1を加え、更新する。また、認証用情報更新部184は、
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、記憶されている平均距離とステップS109で算出された「顔と端末装置との距離」とから求めた平均距離で更新する。
【0090】
このように、認証用生体情報データベース171に記憶された生体情報、及び、認証用振舞情報データベース172に記憶された振舞情報を更新することにより、ユーザの生体情報及び振舞情報の精度が向上する。このため、ユーザの認証の精度を向上させることができる。
【0091】
また、認証判定部182により求められた顔の認証値が、認証値の認証閾値以上でない場合(ステップS105;NO)、認証判定部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証判定部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。続いて、認証判定部182は、
図2に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。認証判定部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先か否か判定する(ステップS112)。
【0092】
ここで、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が156回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS112;YES)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証する。その後、認証判定部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。これは、現在の通信接続先が信頼する通信接続先であれば、ユーザ本人は自宅、職場等の信頼する環境に居るものと考えられるためである。この場合、認証間隔を現在の認証間隔よりも長くし、認証の頻度を下げ必要最低限の回数認証を行うようにすれば良い。
【0093】
ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS112;NO)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証せず、認証間隔を現在の認証間隔よりも長くしない。
【0094】
ここで、ステップS107において、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が156回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS107;NO)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証する。
【0095】
また、ここで、ステップS108において、例えば、認証装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「△●映画館」が記憶されているものとする。認証判定部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「△●映画館」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「△●映画館」の位置情報との間の距離が72mとする。この場合、信頼するイベントの実行であるもとのし(ステップS108;NO)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証する。
【0096】
認証判定部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。認証判定部182は、ユーザの顔と認証装置1との距離を算出する(ステップS114)。続いて、認証判定部182は、
図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証判定部182は、ステップS114で算出したユーザの顔と認証装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS115)。ステップS109で算出したユーザの顔と認証装置1との距離が、設定範囲である場合(ステップS115;YES)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人と認証する。認証判定部182は、認証用情報更新部184に、
図3に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0097】
具体的には、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量にステップS105で認証判定部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。
【0098】
続いて、認証用情報更新部184は、
図6Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた、最新状況に記憶されている回数に1を加え、更新する。続いて、認証用情報更新部184は、認証用振舞情報データベース172のテーブルの振舞の種類「イベント実行」に対応つけられた最新状況を、ステップS108;NOで求めたイベントの場所と認証装置1との間の距離を書き込み、更新する。また、認証用情報更新部184は、
図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、最新状況に記憶されている平均距離とステップS114で算出された「顔と端末装置との距離」とから求められた平均距離で更新する。
【0099】
ステップS114で算出したユーザの顔と認証装置1との距離が、設定範囲でない場合(ステップS115;NO)、認証判定部182は、認証用情報更新部184に、
図3に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させない。
【0100】
また、認証判定部182により求められた顔の認証値が、認証値の認証許容値以下でない場合(ステップS106;NO)、及び、ステップS110で顔と端末装置との距離が設定範囲内でなかった場合(ステップS110;NO)、認証判定部182は、認証装置1を使用しているユーザをユーザ本人ではないと判断する。認証判定部182は、
図5に示した表示処理部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証判定部182は、認証装置1に備えられている既存の生体認証手段を呼び出す。ここでは、既存の生体認証手段として指紋認証を呼び出すものとする。認証判定部182は、指紋認証を実行する(ステップS116)。
【0101】
指紋認証ができた場合(ステップS117;YES)、認証判定部182からの指示により、認証用情報取得部181は、撮影部11に認証装置1を操作しているユーザの顔写真を撮影させる。認証用情報取得部181は、撮影部11から撮影したユーザの顔写真の画像を取得し、ユーザの顔の画像の特徴量を求める。認証用情報取得部181は、認証判定部182に求めたユーザの顔の画像の特徴量を送信する。認証判定部182は、受信したユーザの顔の画像の特徴量を
図5に示した認証用情報更新部184に送信する。認証用情報更新部184は、受信したユーザの顔の画像の特徴量を、
図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報に記憶されていた顔画像の特徴量に加え、更新する(ステップS118)。認証判定部182は、ステップS101へ戻り、ステップS101以降のステップを実行する。
【0102】
また、指紋認証ができなかった場合(ステップS117;NO)、認証判定部182は、
図5に示した表示処理部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証判定部182は、
図5に示した表示処理部183にログイン画面を表示部19に表示させる(ステップS119)。
【0103】
ここで、
図11Bに移動する。認証判定部182は、生体認証及び補助認証が予め定めされた設定回数成功したか否かを判定する(ステップS120)。この設定回数は、例えば、連続で10回、認証装置1が起動してから合計で20回等、任意の回数である。生体認証及び補助認証が予め定めされた設定回数成功した場合(ステップS120;YES)、認証判定部182は、設定回数分の認証で求められた顔の認証値の平均値を求める(ステップS121)。具体的には、認証判定部182は、
図3に示した認証用生体情報データベース171を、認証装置記憶部17から取得する。認証判定部182は、
図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた認証値の平均値を取得する。認証判定部182は、ステップS105で求めた顔の認証値と、認証用生体情報データベース171から取得した認証値の平均値とを足して2で割り、顔の認証値の平均値を算出する。また、生体認証及び補助認証が予め定めされた設定回数成功しなかった場合(ステップS120;NO)、ステップS121からステップS123の処理をスキップし、ステップS124へ進む。
【0104】
認証判定部182は、ステップS121で求めた顔の認証値の平均値を、認証用情報更新部184に送信する。認証用情報更新部184は、受信した顔の認証値の平均値と、予め設定された認証閾値の上限値とを比較する。顔の認証値の平均値が予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、認証閾値の上限値を書き込み、更新する。また、顔の認証値の平均値が予め設定された認証閾値の上限値以下である場合、認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、ステップS121で求めた顔の認証値の平均値を書き込み、更新する(ステップS122)。
【0105】
続いて、認証用情報更新部184は、認証許容値を更新する(ステップS123)。具体的には、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、予め設定された最大認証許容値を認証許容値とする。また、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以下である場合、ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以下であれば、その足した値を認証許容値とする。
【0106】
ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以上であれば、最大認証許容値を認証許容値とする。認証用情報更新部184は、
図3に示した認証用生体情報データベース171を、認証装置記憶部17から取得する。認証用情報更新部184は、
図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証許容値に、求めた認証許容値を書き込み、更新する。
【0107】
図5に示した認証用情報取得部181は、傾き検出部13から認証装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS124)。認証用情報取得部181は、取得した認証装置1の傾きの角度と現在の日時情報とを認証判定部182に送信する。認証判定部182は、受信した認証装置1の傾きの角度と現在の日時情報とを、認証用情報更新部184に送信する。認証用情報更新部184は、
図3に示した認証装置記憶部17に記憶された傾き情報テーブル173に、受信した認証装置1の傾きの角度と現在の日時情報とを書き込み、保存する(ステップS125)。
【0108】
認証判定部182は、
図6Cに示した傾き情報テーブル173のテーブルに記憶されている待機時間を取得する。認証判定部182は、認証用情報取得部181に取得した待機時間を送信する。認証用情報取得部181は、受信した待機時間の間、通信部10、撮影部11等からのデータの取得を待機する(ステップS126)。待機時間が終了すると、認証用情報取得部181は、傾き検出部13から認証装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS127)。認証用情報取得部181は、取得した認証装置1の傾きの角度と現在の日時情報とを認証判定部182に送信する。
【0109】
認証判定部182は、
図6Cに示した傾き情報テーブル173のテーブルに記憶されている認証装置1の角度を取得する。認証判定部182は、認証用情報取得部181から受信した認証装置1の傾きの角度と、傾き情報テーブル173から取得した認証装置1の角度とを比較し、角度が変化してないか否かを判定する(ステップS128)。認証装置1の角度の変化が、予め定められた設定値の角度、例えば、30度以上の場合(ステップS128;NO)、認証判定部182は、ユーザにより認証装置1が動かされ何某かの操作が行われたものと判断し、
図11Aに示したステップS101に戻る。その後、認証判定部182は、ステップS101以降の処理を実行する。
【0110】
また、認証装置1の角度の変化が、予め定められた設定値の角度以下の場合(ステップS128;YES)、認証判定部182は、ユーザにより認証装置1が動かされていないものと判断する。続いて、認証判定部182は、ユーザを認証するタイミングになったか否かを判定する(ステップS129)。ユーザを認証するタイミングは、予め設定された認証間隔の時間が経過したタイミングである。ユーザを認証するタイミングになっている場合(ステップS129;YES)、認証判定部182は、
図11Aに示したステップS101に戻る。その後、認証判定部182は、ステップS101以降の処理を実行する。ユーザを認証するタイミングになっていない場合(ステップS129;NO)、認証判定部182はステップS125に戻る。認証判定部182は、ステップS125からステップS129までの処理を実行する。
【0111】
なお、上記の実施の形態において、生体情報から求められた認証値と認証閾値とが同じ値となった場合には、生体情報から求められた認証値が認証閾値以下、または、生体情報から求められた認証値が認証閾値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。また、生体情報から求められた認証値と認証許容値とが同じ値となった場合には、生体情報から求められた認証値が認証許容値以下、または、生体情報から求められた認証値が認証許容値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。
【0112】
次に、判定指示処理について、
図12を参照して説明する。
図12は判定指示処理の一例を示すフローチャートである。なお、判定指示処理は、認証処理が終了する度に開始されればよく、認証処理が設定期間毎に繰り返される度に当該判定指示処理も繰り返し実行されることとなっている。判定指示処理が開始されると、処理部187は、認証処理における認証に成功したか否かを判定する(ステップS301)。
【0113】
成功したと判定した場合(ステップS301;YES)、処理部187は、当該判定対象の場面における終了時間であるか否かを判定する(ステップS302)。具体的に、ステップS302の処理では、オンライン授業の終了時間であるか否かを判定する。なお、終了時間であるか否かは、後述するステップS305の処理により判定開始を指示してから、予め定められたオンライン授業の授業時間が経過したか否かを、タイマ値を確認することにより判定すればよい。
【0114】
終了時間でないと判定した場合(ステップS302;NO)、処理部187は、既にステップS305の処理を実行し、判定開始を指示したか否か、すなわち判定開始済み(サービス提供開始済み)であるか否かを判定する(ステップS303)。判定開始済みである場合(ステップS303;YES)、処理部187は、そのまま判定指示処理を終了する。一方、判定開始済みではない場合(ステップS303;NO)、処理部187は、特定情報を生成する特定情報生成処理を特定情報生成部186に実行させる(ステップS304)。
【0115】
図13Aは、
図12のステップS304にて実行される特定情報生成処理の一例を示すフローチャートである。
図13Aに示す特定情報生成処理において、特定情報生成部186は、まず、
図11Aに示すステップS101で取得した顔写真から顔の特徴量を抽出する(ステップS201)。なお、ステップS201の処理では、新たにユーザの顔写真を撮影してもよく、この場合、
図11Aに示すステップS102の処理と同様に、ブレているか否かを判定してブレている場合にはリトライするようにしてもよい。また、
図13に示すステップS201の処理では、
図11Aに示すステップS104の処理にてYESと判定した場合に求めた特徴量を使用してもよい。
【0116】
続いて特定情報生成部186は、抽出した特徴量から生体キーを生成する(ステップS202)。ステップS202では、例えば、BB-KDF(biomeric-based key derivation function)と呼ばれる鍵導出関数を用いて、ステップS201の処理で抽出した顔の特徴量に基づき、生体キーを生成する。鍵導出関数は、予め定められた一方向関数に対応する。なお、この実施の形態におけるステップS202の処理では、ステップS201の処理で取得した顔の特徴量に基づいて生体キーを生成する例を示したが、例えば、ステップS201において声紋や指紋の特徴量を抽出し、ステップS202において、これらのいずれかにより生体キーを生成してもよい。また、顔、声紋、指紋、の複数の特徴量に基づいて生体キーを生成してもよい。なお、ステップS201で抽出した顔の特徴量、声紋や指紋の特徴量は、ユーザの生体情報に対応する。また、生体キーは生体鍵に対応し、ステップS202の処理を実行する特定情報生成部186およびステップS202の処理は、生体鍵生成手段および生体鍵生成ステップに対応する。
【0117】
なお、ステップS202の処理では、例えば、ステップS201で抽出した特徴量と補助データとにより生体キーを生成してもよい。同一人物の特徴量に基づいて生成される生体キーは基本的には同一となるものの、同一とはならない事象もあり、このような事象を回避するために設定されたデータが補助データである。すなわち、補助データは、ブレのある生体データの特徴量について、同一人物であれば同一の生体キーが生成されるよう、当該生体データの特徴量を補助するデータである。補助データは、生体データの特徴量のブレ幅に応じて予め生成されればよい。
【0118】
次に、特定情報生成部186は、ランダムに生成される128ビットのデータであるランダムIDを生成する(ステップS203)。ステップS203の処理では、例えば、UUID(Universal Unique Identifier)によりランダムIDを生成すればよい。なお、ステップS203の処理で生成されるランダムIDは、ランダム情報に対応する。
【0119】
ステップS203の処理を実行した後、特定情報生成部186は、ステップS202で生成した生体キーとステップS203で生成したランダムIDとに基づいて、認証装置の秘密鍵と公開鍵を生成する(ステップS204)。認証装置の秘密鍵と公開鍵は、それぞれ第2秘密鍵と第2公開鍵に対応する。ステップS204では、予め記憶されているペア鍵生成プログラムに従い、生体キーおよびランダムIDに基づいて認証装置の秘密鍵と公開鍵を生成する。なお、ステップS203で生成したランダムIDとステップS204で生成した認証装置の公開鍵は、通信部10を介して情報処理装置7へ送信される。ステップS204の処理を実行する特定情報生成部186およびステップS204の処理は、第2ペア鍵生成手段および第2ペア鍵生成ステップに対応する。
【0120】
情報処理装置7の側では、認証装置1からランダムIDおよび認証装置の公開鍵を受信すると、情報処理装置記憶部77にこれらを記憶することで、当該ランダムIDおよび認証装置の公開鍵を登録する(ステップS205)。
【0121】
ステップS205の処理を実行した後、情報処理装置7の処理部787は、情報処理装置の秘密鍵と公開鍵を生成する(ステップS206)。情報処理装置の秘密鍵と公開鍵は、それぞれ第1秘密鍵と第2公開鍵に対応する。ステップS206では、予め記憶されているペア鍵生成プログラムに従い、情報処理装置の秘密鍵と公開鍵を生成する。ステップS206の処理を実行する処理部787およびステップS206の処理は、第1ペア鍵生成手段および第1ペア鍵生成ステップに対応する。なお、ステップS206で生成した情報処理装置の公開鍵は、通信部70を介して認証装置1へ送信される。そのため、情報処理装置の公開鍵を受信する認証装置の通信部10とデータ送受信部185、および情報処理装置の公開鍵を受信する処理は、取得手段および取得ステップに対応する。そして、ディフィーヘルマン鍵交換法(Diffie-Helman key exchange method)により、認証装置1と情報処理装置7とで、共通鍵SKが生成されることとなる。なお、共通鍵SKは、共通鍵に対応する。
【0122】
具体的に、認証装置1の側において、特定情報生成部186は、認証装置の秘密鍵と、受信した情報処理装置の公開鍵に基づいて原始共通鍵を生成する(ステップS207)。一方、情報処理装置7の側では、処理部787が、情報処理装置の秘密鍵と、受信した認証装置の公開鍵に基づいて原始共通鍵を生成する(ステップS207A)。これらの原始共通鍵は、ディフィーヘルマン鍵交換法から、同一の鍵となる。
【0123】
続いて認証装置1の側では、特定情報生成部186が、当該原始共通鍵にKDF(key derivation function)を適用して共通鍵SKを生成し(ステップS208)、情報処理装置7の側では、処理部787が、同様に、当該原始共通鍵にKDFを適用して共通鍵SKを生成する(ステップS208A)。このようにして、認証装置1と情報処理装置7とで共通の共通鍵SKが生成されることとなる。ステップS208の処理を実行する特定情報生成部186およびステップS208の処理は、第1共通鍵生成手段および第1共通鍵生成ステップに対応する。また、ステップS208Aの処理を実行する処理部787は、第2共通鍵生成手段に対応する。
【0124】
続いて認証装置1の側において、ステップS208の処理を実行した後、特定情報生成部186は、ステップS208の処理で生成した共通鍵SKと、ステップS203の処理で生成したランダムIDと、に基づいてMAC(Message Authentication Code)値を算出する(ステップS209)。ステップS209では、MACアルゴリズムにより、共通鍵SKとランダムIDに基づくMAC値を算出する。
【0125】
ステップS209の処理を実行した後、特定情報生成部186は、算出したMAC値とランダムIDに基づいて特定情報を生成する(ステップS210)。具体的に、ステップS210では、ランダムIDに、算出したMAC値を付加し、フッターを含めて320ビットのデータを生成し、これを特定情報とする。ステップS210で生成された特定情報は、通信部10を介して情報処理装置7へ送信される。なお、ステップS210の処理を実行する特定情報生成部186およびステップS210の処理は、特定情報生成手段および特定情報生成ステップに対応する。また、ステップS210にて生成される特定情報は、第1特定情報に対応する。特定情報は、予め設定された暗号化方式により暗号化されて情報処理装置7へ送信されてもよい。
【0126】
情報処理装置7の側において特定情報を受信すると、処理部787は、受信した特定情報からランダムIDを抽出する(ステップS212)。続いてステップS208Aで生成した共通鍵SKと、ステップS212で抽出したランダムIDに基づいてMAC値を算出する(ステップS213)。
【0127】
ステップS213の処理を実行した後、処理部787は、ステップS212で抽出したランダムIDと、ステップS213で算出したMAC値とを検証する(ステップS214)。具体的に、ステップS214では、ステップS212で抽出したランダムIDが、ステップS205で登録したランダムIDと一致するか否か、および、ステップS213で算出したMAC値が、ステップS212で受信した特定情報に含まれるMAC値と一致するか否か、を確認することで検証する。ステップS214の処理における検証結果は、通信部70を介して認証装置1へ送信される。ステップS214の処理を実行する処理部787は、検証手段に対応する。
【0128】
認証装置1の側において、特定情報生成部186は、受信した検証結果が正常でるか否かを判定し(ステップS215)、正常であれば(ステップS215;YES)、そのまま特定情報生成処理を終了する。一方、検証結果が正常でなければ(ステップS215;NO)、エラーを表示してから(ステップS216)特定情報生成処理を終了する。なお、ステップS216では、再度実行すべきことを促す表示を行ってもよく、また、手動で特定情報生成処理を再度実行可能にしてもよい。
【0129】
一方、情報処理装置7の側においても、処理部787は、ステップS214での検証結果が正常であるか否かを判定する(ステップS217)。検証結果が正常でない場合(ステップS217;NO)、処理部787は、そのまま特定情報生成処理を終了する。なお、この場合、通信部70を介して認証装置1に特定情報の登録に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、再度特定情報生成処理を手動で実行可能にしてもよい。
【0130】
また、ステップS214での検証結果が正常である場合(ステップS217;YES)、処理部787は、受信した特定情報を情報処理装置記憶部77に記憶することで当該特定情報を登録し(ステップS218)、特定情報生成処理を終了する。ステップS218では、受信した特定情報を、対象ユーザと対応付けるとともに、当該対象ユーザの判定対象場面と基準情報の一覧と対応付け、
図10Aに示す基準情報一覧771として情報処理装置記憶部77に記憶する。すなわち、ステップS218の処理は
図10Aに示す基準情報一覧771を生成して登録する処理であるともいえる。したがって、ステップS218の処理を実行する処理部787は、登録手段に対応する。
【0131】
このように、
図13Aに示す特定情報生成処理が実行されることで、サービスを提供する対象ユーザを特定するための特定情報、すなわちこの実施の形態における対処の必要性の判定対象となるユーザを特定する特定情報、が生成される。また、当該特定情報生成処理が実行されることで、特定情報が情報処理装置7側に登録、すなわち、
図10Aに示す基準情報一覧771が情報処理装置7側に登録されるため、以降は、特定情報によってユーザの特定が可能となる。また、特定情報は、ユーザの生体情報に基づいて生成される情報ではあるものの、生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。なお、この実施の形態では、
図12に示す判定指示処理において
図13Aに示す特定情報生成処理が実行される例を示しており、当該判定指示処理は、認証処理が終了する度に開始されるため、特定情報生成処理も繰り返し実行されることになっているが、当該特定情報生成処理については、対象ユーザに対して、提供されるサービス毎(または情報処理装置7毎)に1回実行されればよい。また、ランダムIDはランダムに生成されるため、同一の生体情報(顔の特徴量)から複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0132】
図12に戻り、ステップS304の処理を実行した後、処理部187は、サービスの開始を指示する処理として、対処の必要性を判定する処理を開始する指示を行う判定開始指示処理を実行し(ステップS305)、判定指示処理を終了する。なお、ステップS305の処理にて判定開始が指示されることにより、情報処理装置7の側においてオンライン授業が開始され、対処の必要性を判定するサービスが開始される。判定開始指示処理では、チャレンジレスポンス認証を行い、正常に認証された場合に、オンライン授業、および対処の必要性を判定するサービスを含む判定処理を実行する。そのため、判定開始指示処理を実行する処理部187は、サービス提供指示手段に対応する。
【0133】
図13Bは、
図12のステップS305にて実行される判定開始指示処理の一例を示すフローチャートである。
図13Bに示す判定開始指示処理において、認証装置1の処理部187は、特定情報と認証装置の公開鍵を、通信部10を介して情報処理装置7へ送信する(ステップS221)。
【0134】
情報処理装置7の側において、処理部787は、受信した特定情報を検証する(ステップS222)。ステップS222では、例えば、受信した特定情報が登録されているか否かを判定することで特定情報を検証する。なお、ステップS222の処理において、検証が正常でない場合には処理を終了すればよい。ステップS222の処理を実行した後、すなわち検証結果が正常である場合、処理部787は、チャレンジデータを生成する(ステップS223)。生成されたチャレンジデータは、通信部70を介して認証装置1へ送信される。このように、ステップS221の処理において情報処理装置7へ特定情報が送信され、当該特定情報の検証が正常である場合に、チャレンジレスポンス認証が行われる。そのため、ステップS221の処理は、特定情報により特定されるユーザに対応するサービスの提供を行うための認証を指示する認証指示ステップに対応する。
【0135】
認証装置1の側において、処理部187は、受信したチャレンジデータを認証装置の秘密鍵で暗号化し(ステップS224)、暗号化したチャレンジデータを、通信部10を介して情報処理装置7へ送信する(ステップS225)。
【0136】
続いて情報処理装置7の側において、処理部787は、暗号化されたチャレンジデータを認証装置の公開鍵で復号して検証する(ステップS226)。具体的に、ステップS226では、復号したチャレンジデータが、ステップS223で生成したチャレンジデータと一致するか否かを確認することにより、検証を行う。なお、検証結果は、通信部70を介して認証装置1へ送信される。
【0137】
認証装置1の側において、処理部187は、受信した検証結果が正常でるか否かを判定し(ステップS227)、正常であれば(ステップS227;YES)、そのまま判定開始指示処理を終了する。一方、検証結果が正常でなければ(ステップS227;NO)、エラーを表示してから(ステップS228)判定開始指示処理を終了する。なお、ステップS228では、再度実行すべきことを促す表示を行ってもよく、また、手動で判定開始指示処理を再度実行可能にしてもよい。
【0138】
一方、情報処理装置7の側においても、処理部787は、ステップS226での検証結果が正常であるか否かを判定する(ステップS229)。検証結果が正常でない場合(ステップS229;NO)、処理部787は、そのまま判定開始指示処理を終了する。なお、この場合、通信部70を介して認証装置1にサービス開始、すなわち判定開始に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、判定開始指示処理を手動で実行可能にしてもよい。
【0139】
また、ステップS229での検証結果が正常である場合(ステップS229;YES)、処理部787は、オンライン授業、および対処の必要性を判定するサービスを含む判定処理を実行し(ステップS230)、判定開始指示処理を終了する。ステップS230の処理が実行されることにより、サービスの提供対象のユーザに対しサービスが提供されることとなる。そのため、ステップS230の処理を実行する処理部787は、サービス提供手段に対応する。なお、後述するように、判定処理は、判定部782により実行される。そのため、処理部787および判定部782が協働してサービス提供手段を構成しているともいえる。
【0140】
このように、
図13Bに示す判定開始指示処理が実行されることで、特定情報の検証が行われ、サービスの提供が開始される。上述したように、特定情報は、ユーザの生体情報に基づいて生成される情報ではあるものの、生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。なお、この実施の形態では、
図12に示す判定指示処理において
図13Bに示す判定開始指示処理が実行される例を示しており、当該判定指示処理は、認証処理が終了する度に開始されるため、判定開始指示処理も繰り返し実行されることになっているが、一旦判定処理が実行された後(一旦サービスが開始された後)は、
図12に示すステップS303にてYESと判定され、当該判定開始指示処理は再度実行されないようになっている。
【0141】
図12に戻り、ステップS301にて認証に失敗したと判定した場合(ステップS301;NO)、処理部187は、ステップS303と同様に、既にステップS305の処理を実行し、判定開始を指示したか否か、すなわち判定開始済み(サービス提供開始済み)であるか否かを判定する(ステップS306)。判定開始済みではない場合(ステップS306;NO)、処理部187は、そのまま判定指示処理を終了する。一方、判定開始済みである場合(ステップS306;YES)、または、ステップS302にて判定対象の場面における終了時間であると判定した場合(ステップS302;YES)、処理部187は、対処の必要性の判定を終了させる判定終了情報を情報処理装置7に送信して判定終了を指示し(ステップS307)、判定指示処理を終了する。
【0142】
なお、ステップS307の処理にて判定終了が指示されることにより、情報処理装置7の側ではオンライン授業が終了されればよい。具体的に、ステップS306にてYESと判定された場合、既に対処の必要性の判定を開始(オンライン授業を開始)しているにも関わらず、別人に入れ替わったことなどが原因で認証に失敗したことになる。この場合、当該ステップS307の処理にて判定終了を指示するとともにオンライン授業を強制的に終了させることで、代理受講を防止することが可能となる。また、終了時間である場合(ステップS302でYESと判定された場合)には、オンライン授業も終了するため、認証装置1と情報処理装置7とで同期を取りつつ、オンライン授業が終了したにも関わらず対処が必要であると判定してしまうといった誤判定を防止することができる。
【0143】
次に、情報処理装置7にて行われる判定処理について、
図14を参照して説明する。
図14は、
図13BのステップS230にて実行される判定処理の一例を示すフローチャートである。
図14に示す判定処理を開始すると、判定部782は、情報処理装置記憶部77に記憶された基準情報一覧771から、取得した特定情報に対応するユーザを特定する(ステップS401)。具体的に、ステップS401では、取得したユーザ特定情報が「XXXXXXXX」である場合、
図10Aに示す基準情報一覧771を参照し、対象ユーザがAであると特定する。続いて判定部782は、操作入力部73に対する選択操作に基づいて、ユーザにより選択された場面および基準情報を特定する(ステップS401A)。具体的に、ステップS401Aでは、ユーザの操作入力部73に対する選択操作に基づいて、基準情報一覧771を参照し、場面および基準情報を特定する。例えば、オンライン授業1が選択された場合、判定閾値が「3.00」であり、判定許容値が「3.50」であり、許容回数が「5回」であると特定する。
【0144】
ステップS401およびステップS401Aの処理を実行した後、処理部787は、ステップS401およびステップS401Aで特定した場面を実現するためのプログラムを実行することにより、当該特定した場面を実行する(ステップS402)。具体的に、ステップS402の処理では、オンライン授業1に対応するオンライン授業(数学の60分間の授業)を開始させる。続いて判定部782は、判定用情報取得部781が通信部70を介して認証装置1から判定終了情報を受信したか否かを判定する(ステップS403)。
【0145】
判定終了情報を受信した場合(ステップS403;YES)、判定部782および処理部784は、ステップS402で実行したプログラムを終了させることで、場面を終了し(ステップS404)、判定処理を終了する。具体的に、ステップS404の処理では、ステップS402にて実行したオンライン授業1に対応するオンライン授業(数学の60分間の授業)を終了させ、判定処理を終了する。なお、上述したように、判定終了情報は、オンライン授業の終了時間となると送信される他、既に対処の必要性の判定を開始(オンライン授業を開始)しているにも関わらず、別人に入れ替わったことなどが原因で認証に失敗した場合にも送信される。そのため、当該ステップS404の処理によれば、別人に入れ替わった場合にオンライン授業が終了するため、代理受講を防止することができる。
【0146】
一方、ステップS403にて判定終了情報を受信していないと判定した場合(ステップS403;NO)、判定用情報取得部781は、撮影部71から当該ユーザの映像を判定対象情報として取得し(ステップS405)、判定部782は、取得した映像に基づいて判定値を算出する(ステップS406)。ステップS406の処理では、上述したように、取得した映像に基づいて、ユーザの目線の高さ、頭の動きや手の動きなどといった複数の要素についての総合的な点数を、予め定められた演算式により判定値として算出すればよい。
【0147】
ステップS406の処理を実行した後、判定部782は、ステップS406で算出した判定値がステップS402で特定した判定閾値未満であるか否かを判定する(ステップS407)。具体的に、ステップS407では、ステップS406で算出した判定値が、ステップS402で特定した判定閾値「3.00」未満であるか否かを判定する。判定閾値未満である場合(ステップS407;YES)、判定部782は、対処の必要性がないと判断し、判定用情報更新部784の機能により、対処の必要性がない、との結果とともに当該判定値を入力データとして用いて学習を行うことで、判定閾値等を更新してから(ステップS413)、ステップS403の処理に戻る。
【0148】
一方で、判定値が判定閾値以上である場合(ステップS407;NO)、判定部782は、ステップS406で算出した判定値がステップS402で特定した判定許容値以下であるか否かを判定する(ステップS408)。具体的に、ステップS408では、ステップS406で算出した判定値が、ステップS402で特定した判定許容値が「3.50」以下であるか否かを判定する。
【0149】
判定許容値以下である場合(ステップS408;YES)、判定部782は、許容回数以下とカウントされた回数を示すカウント値が、ステップS402にて特定した許容回数以下であるか否かを判定する(ステップS409)。具体的に、ステップS409では、情報処理装置記憶部77の所定領域に予め設けられたカウント値が、ステップS402で特定した許容回数である「5回」以下であるか否かを判定する。
【0150】
ステップS409にてカウント値が許容回数以下であると判定した場合(ステップS409;YES)、判定部782は、カウント値の値を+1する(ステップS410)。そして、判定用情報更新部784の機能により、グレーゾーンとして判断したものの対処の必要性がない、との結果とともに当該判定値を入力データとして用いて学習し、判定閾値等を更新してから(ステップS413)、ステップS403の処理に戻る。なお、カウント値は、例えば、ステップS404の処理や、後述するステップS411の処理が行われることにより、初期値である「0」にクリアされればよい。また、カウント値は、ステップS410の処理により+1された場合であっても、次に行われたステップS407の処理により判定値が判定閾値未満であると判定された場合には-1されるようにしてもよい。さらに、ステップS410の処理にて+1されたカウント値は、その後連続して3回、ステップS407にて判定閾値未満であると判定された場合には初期値である「0」にクリアされるようにしてもよい。また、判定対象のユーザや、判定対象の場面に応じて、カウント値の減算条件やクリア条件が異なっていてもよい。
【0151】
ステップS408にて判定値が判定許容値を超えていると判定した場合(ステップS408;NO)や、ステップS409にてカウント値が許容回数を超えていると判定した場合(ステップS409;NO)、判定部782は、対処が必要であると判定する。そして処理部787は、当該判定結果を受けて、情報処理装置記憶部77に記憶されている対処情報772を参照し、対処内容を決定する(ステップS411)。ステップS411の処理では、例えば、
図10Bに示す対処情報772を参照し、ステップS405にて取得した映像に基づいて、目線の高さ20cm未満の期間が1分以上続いている場合には、対処内容として「起きろ」に決定し、目線の高さ20cm未満の期間が10秒~1分未満である場合には、対処内容として「寝るな」に決定する。なお、対処内容を決定するための期間については、過去の映像を合算させることにより算出すればよく、例えば、今回取得した映像と、前回取得した映像とを合算して、目線の高さ20cm未満の期間が1分以上続いているか否か等を判定すればよい。なお、ステップS405の処理で取得する映像の期間については、判定対象となる場面毎に異なる任意の期間に設定変更可能となっていればよく、例えばオンライン授業の場合には20秒、テストの場合には30秒、となっている。また、上述したように対処内容は、同一の場面であっても対象ユーザによって異なっていてもよく、過去の対処回数に応じて異なるようにしてもよい。
【0152】
図14に示すステップS411の処理を実行した後、処理部787は、表示処理部783と協働し、ステップS411の処理にて決定した対処内容を表示部79へ出力する(ステップS412)。ステップS412の処理では、表示部79へのメッセージや画像の出力の他、音声による出力が行われてもよい。また、上述したように、オンライン授業において過去に5回以上対処が必要であると判定されたユーザについては対処内容としてメッセージと音声とが合わせて出力され、それ以外のユーザにはメッセージのみ出力されるなど、対象のユーザや場面に応じて異なる出力態様となっていてもよい。
【0153】
ステップS412の処理を実行した後、判定用情報更新部784の機能により、対処の必要性有り、との結果とともに当該判定値を入力データとして用いて学習し、判定閾値等を更新してから(ステップS413)、ステップS403の処理に戻る。なお、ステップS413の処理では、判定閾値の他、判定許容値や許容回数の値が更新されればよい。また、例えば、判定値が判定許容値以下であった場合、ステップS408の処理にてNOと判定され、ステップS412の処理にて対処内容が出力されることとなるが、対処の必要性がないにも関わらずステップS412の処理が行われることもある。その場合、ユーザによる操作入力部73による入力操作により、出力を解除できるようにしてもよい。具体的に、オンライン授業の受講中に居眠りをしていないにも関わらず、ステップS412の処理が実行され「寝るな」のメッセージ出力がなされた場合、ユーザによる操作入力部73による入力操作により、当該メッセージ出力を解除可能としてもよい。この場合、解除が行われたこと、すなわち誤った判定が行われた、との結果とともに当該判定値を入力データとして用いて学習し、ステップS413の処理にて判定閾値等を更新してから、ステップS403の処理に戻ればよい。これによれば、判定基準となる判定閾値を、判定対象や判定場面に応じて適正化することができ、判定対象のユーザや場面に応じた対処の必要性の判定をより高精度に行うことできる。なお、ステップS407~ステップS411およびステップS413の処理は、オンライン授業のバックグラウンドで行われればよく、ステップS412の処理については、オンライン授業の表示画面に重畳してメッセージ出力がなされればよい。また、音声を出力する場合には、オンライン授業にて出力中の音声の音量を制限し、当該対処内容に対応する音声を優先的に出力すればよい。
【0154】
以上説明したように、認証装置1では、バックグラウンドでのユーザの認証が行われ、認証に成功した場合に、ユーザを特定するための特定情報を生成し、情報処理装置7に送信する。特定情報は、ユーザの生体情報に基づいて生成される情報ではあるものの、生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。ランダムIDはランダムに生成されるため、同一の生体情報(顔の特徴量)から複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0155】
また、特定情報の検証結果が正常である場合に、情報処理装置側に特定情報が登録されるため、一旦登録された以降は、特定情報によってユーザの特定が可能となる。したがって、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0156】
(変形例)
なお、この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、情報処理装置7は、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせてもよい。
【0157】
上記実施の形態では、理解を容易にするため、オンライン授業を受講するユーザにおける対処の必要性を判定する例を示したが、これは一例である。この他にも、例えば、
図10Aに示す「テスト1」など、テストを受ける場面における対処の必要性を判定するなど、複数の場面が選択可能である。具体的に、
図14のステップS401Aの処理にて「テスト1」の場面が選択されると、ステップS401Aの処理にて、ステップS401にて特定したユーザにおける「テスト1」に対応する基準情報を特定する。
【0158】
そして、オンライン授業の場合と同様に、情報処理装置7における判定処理において、当該「テスト1」における対処の必要性が判定されればよい。なお、「テスト1」といったテストの場合には、オンライン授業の場合とは異なる演算式により判定値が算出されればよい。具体的に、オンライン授業の場合には、ユーザの目線の高さ、頭の動きや手の動きなどといったユーザ自体の動作に注目した要素によりそれぞれに重み付けをして判定値を算出したが、テストの場合には、例えば、参考書や教科書、カンニングペーパーなどといったテストに不要なものが映像として写っているか否かなど、ユーザ以外の映像を要素として取り入れるようにしてもよい。そして、テストに不要なものが映像として写っている場合には必ず判定許容値よりも高い判定値となるような演算式となっていればよい。なお、テストに不要なものかどうかの判定については、例えば鉛筆や消しゴム、定規やコンパスなど、テストに必要なものとして予め定められたもの以外を不要なものとして定義すればよく、システムの管理者が任意に設定可能であればよい。
【0159】
また、上記実施の形態では、情報処理装置7における判定処理において、取得した映像に基づいて、ユーザの目線の高さ、頭の動きや手の動きなどといった複数の要素についての総合的な点数を判定値として算出し、対処の必要性を判定する例を示したが、これは一例である。総合的な判定値との比較による判定ではなく、情報処理装置7における判定においても、認証装置1における認証処理と同様に判定してもよい。具体的に、一の要素について閾値未満であるか否かを判定し、閾値以上かつ許容値以下の場合に、他の要素(例えばユーザ特有の振舞情報)が合格条件に合致しているか否かにより対処の必要性の有無を判定してもよい。
【0160】
また、上記実施の形態では、情報処置装置7がパーソナルコンピュータやスマートフォンやタブレット端末である例を示したが、これは一例である。情報処理装置7は、これらに限られず、例えば
図15に示す認証システム100Aのように、ドアに設置された端末であってもよい。また、この他にも、例えば金庫に設置された端末や、金融機関やコンビニエンスストアに設置されているATM(Automatic Teller Machine)に設置された端末であってもよい。この場合における情報処理装置7では、認証装置1により認証されたユーザの入室を許可するため、当該ユーザを特定情報に基づいて特定し、正当なユーザであればドアを解錠したり、金融手続を可能にすればよい。また、当該情報処理装置7は、当該ドア入り口付近の映像に基づいて対処の必要性を判定することで、例えば、当該ユーザ以外の、入室を許可されていない人物の入室を防止してもよい。
【0161】
具体的に、上記実施の形態における情報処理装置7では、
図14における判定処理において、ステップS402の処理によりステップS401およびステップS401Aで特定した場面を実現するためのプログラムを実行してオンライン授業を開始させる例を示したが、この変形例における情報処理装置7では、ステップS402の処理において、施錠されているドアを解錠する処理を行えばよい。具体的に、
図13BのステップS229にて検証結果が正常であった場合に、
図14に示す判定処理において対象ユーザを特定し、ステップS401Aにて判定対象となる場面としてドアの解錠が選択されたときに、ドアを解錠する制御を行えばよい。
【0162】
また、ドアを解錠した場合における対処の必要性の判定は、上述したテストの場合と同様に行えばよい。例えば、取得した映像に、認証に成功したユーザ以外の人物が写っている場合や、認証に成功したユーザがSOSを示す動作を行っている等通常時とは異なる入室動作である場合に、判定値が必ず判定許容値よりも高くなるような演算式を用いて判定値を算出すればよい。
【0163】
また、このような場合に、当該情報処理7における判定処理において対処の必要性があると判定した場合、上記実施の形態とは異なり、予め登録された警備会社に対処の必要性有り、すなわち不審人物の入室があったことを通知するようにしてもよい。具体的に、情報処理装置7はネットワークを介して警備会社の端末に接続されていればよく、当該情報処理装置7において対処の必要性有りと判定した場合、
図14のステップS411の処理により、ネットワークを介して警備会社の端末に対処内容を通知すればよい。これによれば、認証に成功したユーザ以外の入室に対する警備を効的に行うことができる。なお、
図14のステップS411の処理では、ネットワークを介して警備会社の端末に対処内容を通知することに加え、当該情報処理装置7にて警報音を出力してもよい。これによれば、警備会社への通知に加え、現場で警報を出力することで、周囲の人々へ異常が発生したことを報知することができる。このように、情報処理装置7は、対処の必要性有りと判定した場合、場面に応じて異なる出力先へと対処内容を通知可能である。したがって、場面に応じた適切な対処を行うことが可能となる。
【0164】
この他にも、情報処理装置7は、例えば入院患者や要介護者のベッドに備えられた、各種センサを備えた端末であってもよい。この場合、当該情報処理装置7における判定値の算出にあたり、撮影部71から取得したユーザの映像のみを判定対象情報として使用するだけでなく、例えばユーザの体温や血圧、心拍数や脈拍など各種センサの値も判定対象情報として使用可能であってもよい。また、対処の必要性の判定にあたっては、判定値の他、急激な変化があった場合にも対処の必要性有りと判定可能としてもよい。具体的に、算出した判定値と判定基準情報との比較の他、体温や血圧、心拍数や脈拍などの各要素の変化が予め定められた値以上変化しているか否かを確認することで、対処の必要性を判定してもよい。これによれば、当該ベッドの患者や要介護者が変更になった場合であっても、変更後の患者や要介護者に応じて対処の必要性を好適に判定することができる。
【0165】
また、上記実施の形態では、認証装置1と情報処理装置7とがそれぞれ別々の端末である例を示したが、これは一例である。認証装置1は、
図16に示すように、情報処理装置7の機能を備えた1つの端末であってもよい。この場合、当該認証装置1において
図11Aおよび
図11Bに示す認証処理を行うとともに、
図12に示す判定指示処理(
図13Aに示す特定情報生成処理および
図13Bに示す判定開始指示処理)を行った後、
図14に示す判定処理を行えばよい。そして、当該判定処理を実行し、オンライン授業とともに対処の必要性の判定を開始させ、当該オンライン授業のバックグラウンドで認証処理と判定処理を実行すればよい。
【0166】
また、情報処理装置7は、例えば
図17に示す認証システム100Bのように、認証装置1およびドア9に設けられたカメラ6とインターネット2を介して通信可能に接続されたサーバ8であってもよい。この場合、認証装置1にて認証された後生成された特定情報がサーバ8としての情報処理装置7に送信されることで、サーバ8はドア9におけるカメラ6における映像の取得を開始すればよい。そして、サーバ8において、特定情報により特定した対象ユーザとその場面に応じた判定閾値等を特定し、取得した映像に基づいて判定値を算出し、比較することで、当該ユーザへの対処の必要性を判定すればよい。また、図示する例ではインターネット2を介して通信を行う例を示しているが、例えば、ドア9には当該ドア9の開閉制御を行う装置(開閉装置)が設けられていてもよく、認証装置1とBluetooth(登録商標)などによる近距離無線通信により通信可能であってよい。そして、当該認証装置1とドア9に設けられた開閉装置とで近距離無線通信により通信を行い、認証装置1による認証に成功し、場面としてドアの開閉が選択された場合に、当該ドア9を解錠する制御が行われてもよい。例えば、特定情報によりユーザが特定され、ドアの開閉の場面が選択された場合に、情報処理装置7から認証装置1に対しドア9の解錠キーを送信すればよい。
【0167】
また、認証システム100は、例えば、オンラインショッピングにおける認証にも応用できる。この場合、
図13Aに示すステップS218の処理において、特定情報と当該ユーザのクレジットカードの情報や発送先の情報とを対応付けて登録すればよい。そして、
図13Bに示す判定開始指示処理や
図14に示す判定処理において、ユーザが特定情報を送信することで、オンラインショッピングのサービスが提供され、購入から発送までの手続きが行われればよい。
【0168】
その他にも、コンサートやイベントなどといったチケット所有者のみ入場可能な施設や、学歴やワクチン接種などの証明書など、ユーザ個人を認証してサービスを提供するような状況において当該認証システムは応用可能である。いずれの状況下においても、生体情報それ自体が送受信されることはなく、かつ同一の生体情報(顔の特徴量)から複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0169】
また、上記実施の形態では、
図13Bに示すように、判定開始指示処理においていわゆるチャレンジレスポンス認証が行われる例を示したが、これは一例である。例えば、
図18に示す判定開始指示処理のように、タイムスタンプを用いた別の処理が行われてもよい。
【0170】
図18は、変形例における判定開始指示処理の一例を示すフローチャートである。図中、
図13Bに示す処理と同一な部分には同一のステップ番号を付している。
【0171】
図18に示す判定開始指示処理において、認証装置1の処理部187は、
図13Aに示すステップS208で生成した共通鍵SKと、ステップS203で生成したランダムIDと、現在のタイムスタンプと、に基づいてMAC値を算出する(ステップS251)。なお、ステップS251では、
図13Aに示すステップS209の処理と同様にしてMAC値を算出すればよい。
【0172】
ステップS251の処理を実行した後、処理部187は、算出したMAC値と、ランダムIDと、ステップS251で用いたタイムスタンプと、に基づいて特定情報を生成する(ステップS252)。なお、ステップS252では、
図13Aに示すステップS210と同様、ランダムIDに、算出したMAC値とタイムスタンプとを付加し、フッターを含めて320ビットのデータを生成し、これを特定情報とする。ステップS252の処理において特定情報を生成することは、第2特定情報を生成することに対応する。なお、例えば認証回数、すなわち当該特定情報を生成して送信した回数を含めて特定情報を生成してもよい。
【0173】
ステップS252の処理を実行した後、処理部187は、生成した特定情報を、通信部10を介して情報処理装置7へ送信する(ステップS253)。特定情報は、予め設定された暗号化方式により暗号化されて情報処理装置7へ送信されてもよい。
【0174】
情報処理装置7の側において特定情報を受信すると、処理部787は、受信した特定情報からランダムIDとタイムスタンプを抽出する(ステップS254)。続いて処理部787は、
図13Aに示すステップS208Aで生成した共通鍵SKと、
図18に示すステップS254で抽出したランダムIDおよびタイムスタンプに基づいてMAC値を算出する(ステップS255)。
【0175】
ステップS255の処理を実行した後、処理部787は、ステップS255で算出したMAC値を検証する(ステップS256)。具体的に、ステップS256では、ステップS255で算出したMAC値が、ステップS254で受信した特定情報に含まれるMAC値と一致するか否か、を確認することで検証する。なお、特定情報に認証回数を含めた場合には、当該特定情報に含まれる認証回数が記憶している認証回数と一致するか否かを、さらに確認すればよい。ステップS256の処理における検証結果は、通信部70を介して認証装置1へ送信される。以降、
図13Bと同様の処理が行われ、判定処理が実行される。具体的に、ステップS229の処理において、MAC値の検証結果が正常であれば、正当なユーザであるとして判定処理を実行し、サービスを提供する。一方、検証結果に異常があれば、正当なユーザではないとして判定処理を実行せずに処理を終了する。なお、認証回数を特定情報に含めた場合については、例えば、ステップS256の処理における検証結果が正常であるときに、当該認証回数を更新すればよい。具体的に、ステップS230の処理の実行時に、情報処理装置7側で記憶している認証回数を+1し、ステップS227にて検証結果が正常であると判定した場合に、認証装置1側で記憶している認証回数を+1して、認証装置1と情報処理装置7とのそれぞれで記憶している認証回数を更新すればよい。そして、次回のサービス提供時、すなわち、次回の判定開始指示処理において、当該更新後の認証回数が特定情報に含まれればよい。
【0176】
このように、タイムスタンプを含んだ特定情報を送信することにより、いわゆるチャレンジレスポンス認証を行わずとも、判定処理を実行してサービスを提供することができる。これによれば、ユーザがサービスを受ける際の作業負担を軽減するとともに、安定してサービスを受けることができる。
【0177】
また、上記実施の形態では、
図13Aに示すように、特定情報生成処理において、ランダムIDを用いて特定情報を生成する例を示したが、これは一例である。例えば、
図19に示す特定情報生成処理のように、ランダムIDを用いずに特定情報を生成してもよい。
【0178】
図19は、変形例における特定情報生成処理の一例を示すフローチャートである。図中、
図13Aに示す処理と同一な部分には同一のステップ番号を付している。すなわち、ステップS201およびステップS202の処理は、
図13Aに示すステップS201およびステップS202の処理と同様であるため、説明を省略する。
【0179】
図19に示す特定情報生成処理において、認証部1の特定情報生成部186は、ステップS202の処理を実行して生体キーを生成した後、生成した生体キーのハッシュ値を算出し、算出したハッシュ値を特定情報とする(ステップS203A)。なお、ハッシュ値は、予め記憶されたハッシュ関数に基づいて算出すればよい。
【0180】
ステップS203Aの処理を実行した後、特定情報生成部186は、認証装置の秘密鍵と公開鍵を生成する(ステップS204A)。ステップS204Aでは、予め記憶されているペア鍵生成プログラムに従い、情報処理装置の秘密鍵と公開鍵を生成する。認証装置の秘密鍵と公開鍵を生成した後、特定情報生成部186は、ステップS203Aで生成した特定情報と、ステップS204Aで生成した公開鍵を、通信部10を介して情報処理装置7へ送信する(ステップS205A)。
【0181】
情報処理装置7の側では、認証装置1から特定情報および認証装置の公開鍵を受信すると、情報処理装置記憶部77にこれらを記憶することで、当該特定情報および認証装置の公開鍵を登録する(ステップS206A)。特定情報および認証装置の公開鍵を登録した後、処理部787は、登録完了を認証装置1へ通知し(ステップS207A)、処理を終了する。一方、認証装置1の側では、当該登録完了の通知を受信し、特定情報生成処理を終了する。
【0182】
その後は、
図13Bに示す判定開始指示処理により、チャレンジレスポンス認証を行い、正常に認証された場合に、オンライン授業、および対処の必要性を判定するサービスを含む判定処理を実行すればよい。なお、
図13Bに示すステップS222の処理では、受信した特定情報が登録されているか否かを判定することで特定情報を検証するが、この場合には、さらに、受信した認証装置の公開鍵についても検証すればよい。すなわち、ステップS206Aで登録した特定情報および認証装置の公開鍵と同じものを受信したか否かを検証すればよい。
【0183】
このように、ランダムIDを用いずに特定情報を生成することで、処理負担を軽減しつつ、セキュリティを確保することができ、ユーザの作業負担を軽減させ安定したサービスを提供することができる。
【0184】
なお、認証装置1や情報処理装置7は、専用の装置によらず、通常のコンピュータを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した記録媒体から該プログラムをコンピュータにインストールすることにより、上述の処理を実行する認証装置1や情報処理装置7を構成してもよい。また、複数のコンピュータが協働して動作することによって、1つの認証装置1や情報処理装置7を構成してもよい。
【0185】
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
【0186】
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【符号の説明】
【0187】
1 認証装置、2 インターネット、6 カメラ、7 情報処理装置、8 サーバ、9 ドア、10、70 通信部、11、71 撮影部、11A インカメラ、11B メインカメラ、12、72 音声入出力部、12A スピーカ、12B マイクロフォン、13 傾き検出部、14、73 操作入力部、15 指紋検出部、15A 左指紋センサ、15B 右指紋センサ、16 位置検出部、17 認証装置記憶部、18 認証装置制御部、19、79 表示部、21、81 プロセッサ、22、82 メモリ、23、83 表示コントローラ、24、84 表示機器、25、85 I/Oポート、26、86 記憶機器、27、87 通信機器、28、88 データバス、77 情報処理装置記憶部、78 情報処理装置制御部、100、100A、100B 認証システム、170 認証処理プログラム、171 認証用生体情報データベース、172 認証用振舞情報データベース、173 傾き情報テーブル、174 個人特定用情報データ、175 場面情報テーブル、176 特定情報生成プログラム、181 認証用情報取得部、182 認証部、183、783 表示処理部、184 認証用情報更新部、185、785 データ送受信部、186 特定情報生成部、187、787 処理部、770 判定処理プログラム、771 基準情報一覧、772 対処情報、781 判定用情報取得部、782 判定部、784 判定用情報更新部