本発明の一実施形態について図1ないし図25に基づいて説明すると以下の通りである。すなわち、本実施形態に係る認証システムは、ユーザの負担を軽減し、安全性を向上可能な認証システムであって、例えば、複数のサービスのうち、選択されたサービスを提供する際にユーザまたは機器を認証する用途などに好適に使用されている。
図2に示すように、上記認証システム1には、端末装置3が設けられており、当該端末装置3は、例えば、ユーザによるサービス提供操作の受け付けなど、ユーザとのインタフェースのための処理を行うユーザインタフェース処理部(UI処理部)11と、当該UI処理部11が提供指示を受け付けたサービスを提供するサービス提供処理部13と、当該サービス提供処理部13によるサービスの提供に先立って、複数の認証方法のうち、上記UI処理部11の指示に従った認証方法(または、その組み合わせ)で、ユーザ、または、ユーザが操作する機器を認証する認証装置15とを備えている。なお、これらの各部材11・13・15および後述する各部材17〜63は、CPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することで実現される機能ブロックである。
ここで、上記認証方法は、認証時にセンシングされるもの(例えば、指紋かパスワードかなど)と、認証時にセンシングされる物理量と、センシングする装置と、当該装置の設置場所と、認証のアルゴリズムと、認証時のアルゴリズムで使用されるパラメータと、イニシャル情報と、それらの組み合わせとのうち、予め定められたものである。本実施形態に係る認証システム1では、一例として、認証時にセンシングされるものが互いに異なれば、互いに異なる認証方法としている。また、上記認証装置15は、例えば、パスワードを用いた認証方法、PIN(Personal Identification Number)を用いた認証方法、および、指紋を用いた認証方法で、ユーザまたはユーザの使用する機器を認証できる。
なお、上記認証装置15は、それぞれ少なくとも1つの認証方法で認証可能な複数の単体認証装置を備え、全体として複数の認証方法でユーザまたはユーザの使用する機器を認証可能なように構成されていてもよいが、以下では、一例として、1つの認証装置15が複数の認証方法で認証可能な構成について説明する。
さらに、端末装置3には、入力装置17と出力装置19とが設けられている。当該入力装置17は、ユーザの指示、あるいは、ユーザによって入力された情報を受け付け、上記UI処理部11に伝える機能を持った装置であって、入力装置17としては、例えば、キーボードあるいはマウスなどが挙げられる。一方、上記出力装置19は、UI処理部11の指示に応じて、情報をユーザへ提示・出力する機能を持った装置であって、出力装置19としては、例えば、ディスプレイ装置あるいはプリンタなどが使用される。
上記サービス提供処理部13は、端末装置3内の資源、あるいは、ネットワーク経由で接続される資源へアクセスして、ユーザから要求されたサービスを提供することができる。本実施形態に係るサービス提供処理部13は、一例として、m種類のサービスSc1〜Scmを提供できる。各サービスSc1〜Scmには、一意な識別子(本実施形態では、1〜m)が割り当てられており、認証システム1は、当該識別子によって、各サービスを特定する。
一方、上記UI処理部11は、例えば、上記入力装置17などによって、ユーザからのサービス提供要求を受け付けると共に、上記端末装置3に設けられた記憶装置21のサービス認証属性管理テーブルT1を参照して、上記ユーザが提供を供給したサービスに必要な認証条件を特定し、当該特定した認証条件での認証を認証装置15に指示できる。また、UI処理部11は、例えば、認証装置15からの認証応答に基づいて、上記ユーザが提供を供給したサービスに必要な認証条件が満たされているか否かを判定し、サービス提供の可否を決定できる。
具体的には、サービス認証属性管理テーブルT1は、各サービスについて、そのサービスをユーザに提供するために必要となる認証条件を記憶するテーブルである。本実施形態では、当該認証条件として、サービス提供時に必要な認証条件と、サービスを提供し続ける場合に必要な認証条件とが、各サービスに関連付けて記憶されている。
より詳細には、例えば、図3に示すように、本実施形態に係るサービス認証属性管理テーブルT1には、サービス毎に、そのサービスの情報を記憶するためのレコードR11〜R1mが設けられており、上記各レコードには、それぞれ、各サービスを識別するための識別子を格納するフィールドF1aが設けられている。本実施形態に係るサービス提供処理部13は、上述したように、m種類のサービスSc1〜Scmを提供可能なので、図3に示すように、上記サービス認証属性管理テーブルT1には、m個のレコードR11〜R1mが設けられており、各レコードR11〜R1mのフィールドF1aには、それぞれの識別子(“1”〜“m”)が格納されている。
さらに、本実施形態に係るサービス認証属性管理テーブルT1では、一例として、サービス提供時とサービス提供後とで用いられる認証条件が同じであることを前提にして、上記サービス提供時に必要な認証条件およびサービスを提供し続ける場合に必要な認証条件を、サービスを提供するために必要な認証条件と、その認証条件での認証を必要とするタイミングとによって記憶している。上記各レコードR11〜R1mには、そのレコードに対応するサービスを提供するために必要な認証条件を格納するフィールドF1bと、その認証条件での認証を行うタイミングを格納するフィールドF1cとが設けられている。
詳細は後述するように、本実施形態に係る認証装置15は、認証条件として、「例えば、“Password”のように、認証方法の直接指定」、「デバイスを識別する識別子などによる、デバイスの直接指定」だけではなく、「認証カウントによる間接的な指定」も受け付け可能である。上記フィールドF1bには、これらで指定された認証条件、あるいは、これらの組み合わせによって指定された認証条件を示す情報を格納できる。なお、上記認証カウントは、認証方法(または認証方法の組み合わせ)による認証の認証精度を示しており、認証の認証精度の相対的な基準として使用される。本実施形態では、認証カウントとして、認証精度を示す数値が用いられており、より認証精度の高い認証方法(または認証方法の組み合わせ)には、認証カウントとして、より大きな数値が割り当てられる。
また、上記フィールドF1cには、認証処理を行うタイミングとなるイベント(またはイベントの組み合わせ)の情報が格納されている。本実施形態に係るUI処理部11は、上記イベントとして、例えば、サービス提供の要求の受け付け、予め定められた時間の経過、および、認証カウントが指定された条件になったことを監視可能であり、上記フィールドF1cには、それらのいずれか、または、それらの組み合わせを示す情報を格納できる。本実施形態では、図3に示すように、フィールドF1cには、サービス提供の要求を受け付けた時に認証操作を行う場合、“Initially ”という文字列が格納され、予め定められた時間が経過する度に認証操作を行う場合、“at 時間間隔 interval”という文字列が格納され、認証カウントが指定された条件になってから認証操作を行う場合、“ anytime if 認証カウントの評価式”という文字列が格納される。また、サービス提供の要求を受け付けた時点にしか認証しない場合、上記“Initially ”には、“Once”という文字列が付加される。さらに、あるイベントが発生した時点と、他のイベントが発生した時点との双方で認証する場合、フィールドF1cには、各イベントを示す文字列を、セパレータとなる文字列“and ”でつないだ文字列が格納される。なお、上記では、一例として、フィールドF1cに文字列が格納される場合について説明したが、同じ内容を示す情報、あるいは、それらの組み合わせであれば、文字列以外のデータを格納してもよい。また、本実施形態で各イベントを連結するために記述される“and”の他に、“or”あるいは“not”等の論理演算子を用いて複数のイベントを一つの論理式とすることにより、認証処理を行うタイミングを記述してもよい。
一方、UI処理部11は、あるサービスの提供が要求されると、サービス認証属性テーブルT1を参照し、ユーザから要求された個々のサービスを実行するための認証条件の情報を抽出し、その情報を含めた認証要求を、適切なタイミングにて、認証装置15に送信できる。
具体的には、UI処理部11は、あるサービスの提供が要求されると、当該サービスに対応するレコードの、フィールドF1cに格納されたイベントの発生の監視を開始すると共にそのタイミング判定を行う。そして、発生を検出したイベントが、フィールドF1cに格納された条件を満たしていると判定すると、そのレコードのフィールドF1bに指定された認証条件での認証処理を開始する。また、UI処理部11は、フィールドF1bにおいて設定されている認証条件での認証を認証装置15へ指示し、認証装置15からの認証結果に基づいて、フィールドF1bに格納されている認証条件が成立しているか否かを判定できる。なお、上述したように、フィールドF1bには、複数の認証条件の組み合わせを格納できる。したがって、フィールドF1bに設定されている認証条件の組み合わせを認証条件全体と称し、当該組み合わせを構成する個々の認証条件を単に認証条件と称するとき、UI処理部11は、フィールドF1bにおいて、認証条件全体が複数の認証条件の組み合わせで指定されている場合、個々の認証条件での認証を認証装置15へ指示し、それらの認証結果に基づいて、認証条件全体を満たしているか否かを判定できる。なお、例えば、認証条件全体が複数の認証条件の論理積として設定されているときに認証条件の1つが成立しなかった場合など、認証条件の一部の認証結果によって、認証条件全体の評価結果を決定できる場合、UI処理部11は、認証条件全体の評価結果を決定できた時点で、残余の認証条件での認証指示を省略してもよい。
一例として、本実施形態では、サービスSc1、Sc2およびSc4に対して、認証方法の直接指定によって認証条件が設定されており、これらのサービスSc1、Sc2およびSc4を提供する際には、指定された認証方法での認証に成功する必要がある。したがって、図3のサービス認証属性管理テーブルT1では、これらのサービスSc1、Sc2およびSc4に対応するレコードR11、R12およびR14において、フィールドF1bに、認証方法を示す情報(例えば、レコードR11およびR14では、「“Password”」、レコードR12では、「“Fingerprint”」など)が格納されている。
同様に、本実施形態では、サービスSc3およびSc5に対して、認証カウントの指定によって認証条件が設定されており、これらのサービスSc3およびSc5を提供する際には、その認証カウントが、指定された認証条件を満足するような認証方法(または認証方法の組み合わせ)での認証に成功する必要がある。したがって、図3のサービス認証属性管理テーブルT1では、これらに対応するレコードR13およびR15において、フィールドF1bに、認証カウントの情報(例えば、レコードR13では、「認証カウント≧80」、レコードR14では、「認証カウント≧150」など)が格納されている。なお、上記では、一例として、数値と不等号との組み合わせで記述した数値範囲を指定することによって、認証時に認証カウントが満足すべき条件を指定する場合について説明したが、各認証方法(または、その組み合わせ)のいずれが、その条件を満足しているか否かを認証装置15が評価することが可能な条件であれば、数値、数値範囲での条件、数値演算や論理演算の適用結果など、任意の条件をフィールドF1bに設定できる。
また、サービスScmに対しては、認証カウントと認証方法との組み合わせによって認証条件が指定されており、図3のサービス認証属性管理テーブルT1では、レコードR1mのフィールドF1bには、「認証カウント>100 and “Fingerprint”」のように、認証カウントでの指定と認証方法の指定とを論理演算子(この場合はand)でつなげた条件文を示す情報が、認証条件として格納されている。この場合、「認証カウントが100よりも大きい、かつ、指紋認証を利用する」ことが認証条件となる。
一方、認証処理のタイミングについては、本実施形態に係るサービスSc1は、サービス提供の要求を受け付けたときと、時間経過10分毎に認証処理することを要求しており、レコードR11のフィールドF1cには、“Initially, and at 10 minutes interval ”という文字列が格納される。
この場合、UI処理部11は、サービスSc1の提供要求を受け付けた場合、レコードR11のフィールドF1cの値に「サービス提供の要求を受けたとき」を示す文字列(“Initially”)が含まれており、レコードR11のフィールドF1bに“Password”と記憶されていることから、サービス提供の要求を受けたとき、パスワード認証を行うように認証装置15へ指示を行う。さらに、UI処理部11は、フィールドF1cの値に、「10分毎」を示す値として“at 10 minutes interval”が含まれていることから、前回の認証時点からの経過時間が10分を超えたか否かを監視し、超えた場合にも、パスワード認証を行うように認証装置15へ指示する。これにより、端末装置3は、サービスSc1を提供後も、サービス提供が続いている間中、10分に一回、継続的に同様の認証操作をユーザに要求する。
また、本実施形態に係るサービスSc2は、サービス提供の要求を受け付けたときにのみに認証処理することを要求しており、図3に示すように、レコードR12のフィールドF1cには、“Initially Once”が格納されている。したがって、UI処理部11は、サービスSc2の提供要求を受け付けた場合、レコードR12のフィールドF1cの値に「サービス提供の要求を受けたときのみ」を示す文字列(“Initially Once”)が含まれており、レコードR11のフィールドF1bに“Fingerprint ”と記憶されていることから、サービス提供の要求を受けたときにのみ、認証装置15へ、指紋認証を行うように指示する。
さらに、本実施形態に係るサービスSc3は、サービス提供の要求を受け付けたときと、認証カウントが80を下回ったときとに認証処理することを要求しており、レコードR13のフィールドF1cには、“Initially, and anytime if 認証カウント < 80”という文字列が含まれている。したがって、UI処理部11は、サービスSc3の提供要求を受け付けた場合、レコードR13のフィールドF1cの値に「サービス提供の要求を受けたとき」を示す文字列が含まれており、レコードR13のフィールドF1bに“認証カウント≧80”と記憶されていることから、サービス提供の要求を受けたとき、“認証カウント≧80”が成立するような認証方法(または認証方法の組み合わせ)での認証を行うように、認証装置15へ指示できる。さらに、UI処理部11は、フィールドF1cの値に、「認証カウントが80を下回ったとき」を示す文字列が含まれていることから、認証カウントが80を下回っているか否かの監視を開始し、下回ったことを検出すると、“認証カウント≧80”が成立するような認証方法(または認証方法の組み合わせ)での認証を行うように、認証装置15へ指示できる。
さらに、UI処理部11は、上記サービス提供の可否決定処理によってサービス提供不可と判定した場合、例えば、サービス提供処理部13へ指示したり、サービス提供処理部13によるユーザへの情報の提示を遮断したりして、上記サービス提供処理部13が当該サービスをユーザに提供することを防止できる。これとは逆に、サービス提供可と判定した場合、UI処理部11は、例えば、サービス提供処理部13へ指示したり、あるいは、サービス提供処理部13からの情報をユーザに提示するように出力装置19へ指示すると共にユーザによるサービス提供のための操作をサービス提供処理部13へ伝えたりして、上記サービス提供処理部13がユーザにサービスを提供するように制御できる。
なお、本実施形態では、上記各部材11・15・17は、認証装置15の一部としても動作できる。具体的には、UI処理部11は、認証装置15が認証処理を開始してから全ての認証処理が終了する間に、認証装置15からの指示(例えば、後述する認証装置15からの個別の認証結果など)に応じて、出力装置19を制御することによって、ユーザへ認証状況を通知したり、認証のための操作するように、ユーザに提示したりできる。さらに、UI処理部11は、認証装置15が認証処理を開始してから全ての認証処理が終了する間に、上記入力装置17が受け付けた、ユーザの操作を認証装置15へ伝えることができる。これにより、UI処理部11は、ユーザにより入力されたパスワードを認証装置15へ通知したり、ユーザが指示した操作終了のタイミングを、認証装置15へ通知したりできる。
なお、上記サービス認証属性管理テーブルT1は、各サービスについて、サービスアクセスポイントの場所も記憶しており、上記各レコードR11〜R1mには、当該場所を格納するフィールドF1dも設けられている。一方、サービス提供処理部13は、認証装置15からの認証結果に基づいてサービス提供可と判断した場合、あるサービスに対応するレコードのフィールドF1dにサービスアクセスポイントの場所が格納されていれば、当該フィールドF1dに格納された場所へアクセスして、サービス要求を送信し、その結果をユーザに提示することによって、ユーザにサービスを提供できる。本実施形態では、一例として、サービスが、ネットワークサービスに代表される外部サービスの場合、そのサービスに対応するレコードのフィールドF1dに、その外部サービスのアクセス先を示す情報がURI( Universal Resource Identifier)として格納されている。なお、サービス要求には、認証装置15からの認証応答を示す認証応答情報が含まれていてもよい。
一方、認証装置15は、図1に示すように、ユーザまたはユーザの使用する機器を認証する認証デバイス51と、上記UI処理部11と通信して、当該UI処理部11からの認証の要求を受け付けると共に当該認証の要求に応答する通信処理部52と、当該通信処理52が認証要求を受け付けると、それに応じて認証デバイス51へ認証を指示すると共に、認証デバイス51による認証結果を認証応答として上記通信処理部52に送信させる認証制御部53と、当該認証制御部53により参照される記憶部54とを備えている。
上記通信処理部52には、例えば、認証装置15を外部ブロック(例えば、UI処理部11など)と接続するための機能モジュールとしての接続インタフェースと、外部ブロックからの認証要求を受信する機能モジュールしての認証要求受信部と、認証制御部53の指示に応じて外部ブロックへの認証応答を送信するための機能モジュールとしての認証結果通知部(いずれも図示せず)となどが設けられている。当該接続インタフェースは、例えば、物理的インタフェースからフレーミング処理を行うことによって、上記外部ブロックからの認証要求を、論理データ構造に基づくデータグラムに変換するなどして、外部ブロックからの認証要求の内容を上記認証要求受信部へ通知したり、その逆に、例えば、上記認証結果通知部からの論理データ構造に基づくデータグラムを、物理的インタフェースに適合した信号に変換するなどして、上記認証通知部の指示に応じた、外部ブロックへの認証応答を生成したりできる。また、上記認証要求受信部は、上記接続インタフェースにより生成された上記論理データ構造に基づく認証要求データグラムを受信して、その受信情報を、上記認証制御部53(後述する構成例では、認証機能管理部63)に伝えることができる。一方、上記認証結果通知部は、認証制御部53(認証機能管理部63)からの指示に応じて、上記論理データ構造に基づく認証応答データグラムを、上記接続インタフェース経由で、外部ブロックへ対し送信できる。なお、外部ブロックとの直接的な接続形態としての物理的インタフェースとしては、例えば、イーサネット(登録商標)、シリアル、パラレル接続など、種々の種類の物理的インタフェースを採用できる。なお、上記では、外部ブロックが認証装置15の外に設けられた回路である場合を例にして説明したが、認証装置15、および、それ以外のブロックを、ハードウェア回路からなるブロックあるいはCPUなどのプロセッサがプログラムを実行することによって実現される機能ブロックとして表現した場合に認証装置15の外部になるブロックであれば、機能ブロックであってもよい。
さらに、本実施形態に係る上記認証装置15には、複数の認証デバイス51が設けられており、認証装置15は、これらの認証デバイス51の中から、UI処理部11からの要求に応じた、1または複数の認証デバイス51を選択し、選択された認証デバイス51に認証を指示すると共に、当該認証デバイス51の認証結果を示す認証応答を送信できる。なお、図1においては、複数の認証デバイスに対し説明の便宜上同一の符号を付しているが、認証方式の異なる複数の認証デバイスを含むものとする。
ここで、上記認証デバイス51の一例としては、例えば、指紋、声紋、静脈、血流、網膜、虹彩パターンといった、ユーザ個人を特定できる要素を測定すると共に、センシングにより取得した情報と予め登録されたユーザ特定情報と照合することによって、ユーザを識別できるセンサ装置が挙げられる。また、上記認証デバイス51としては、ユーザの入力するパスワード、あるいは、ユーザの使用する機器が与える署名情報を受け付け、予め登録されたパスワードあるいは署名情報と照合することによって、ユーザ、あるいは、ユーザの使用する機器を認証する認証デバイスも好適に使用できる。なお、当該認証デバイス51は、PIN認証を行う機能を持ったICカード装置であってもよい。さらに、認証デバイス51としては、例えば、以下の情報処理装置、すなわち、音声および/または画像などによって得られた情報に含まれる機器ID情報をサーチし、予め登録されたID情報と照合することによって、当該情報を与えた外部ブロックを認証可能な情報処理装置も好適に使用できる。
なお、これらの認証デバイス51は、ハードウェアのみによって構成されていてもよいし、ハードウェアを制御するコンピュータにプログラムを実行させることによって実現されていてもよい。一例としては、端末装置3の図示しないコンピュータ(プロセッサ)が、パスワード認証ソフトウェアを実行することによって、ユーザが入力装置17を操作して入力したパスワードと、予め登録されたパスワードと照合してもよい。
また、本実施形態に係る認証デバイス51は、例えば、オフラインの状態で、正規のユーザの上記要素を測定して、その情報を登録するなどして、上記予め登録された情報(上記パスワードなどのイニシャル情報)を内部の図示しない記憶装置に格納しているが、例えば、端末装置3のUI処理部11など、認証デバイス51(認証装置15)と通信可能な外部ブロックから、オンラインで(通信によって)イニシャル情報を導入してもよい。さらに、認証デバイス51は、例えば、認証制御部53の指示(後述する構成例では、その認証機能実行部62を介する認証機能管理部63の指示)などに応じて、内部の記憶装置に代えて/加えて、認証デバイス51の外部の記憶装置と通信して当該イニシャル情報を取得してもよい。
なお、上記各認証デバイス51は、上記認証方法と同様に、認証時にセンシングされるもの(例えば、指紋かパスワードかなど)と、認証時にセンシングされる物理量と、センシングする装置と、当該装置の設置場所と、認証のアルゴリズムと、認証時のアルゴリズムで使用されるパラメータと、上記イニシャル情報と、それらの組み合わせとのうち、予め定められたものが互いに異なっていればよく、各認証デバイス51を実現するためのハードウェアおよびソフトウェア、並びに、認証デバイス51により参照されるデータの一部が互いに共通であってもよい。例えば、上記端末装置3のコンピュータがパスワード認証ソフトウェアと署名情報の照合用のソフトウェアとを実行すれば、端末装置3のハードウェアを、パスワード認証用の認証デバイス51と、署名情報照合用の認証デバイス51とで共用できる。
このように、本実施形態に係る各認証デバイス51は、例えば、それぞれの内部にて、独自の認証アルゴリズムを用いて、認証デバイス51内に格納される情報とセンシング情報とを比較し、その結果に基づいて判断するなどして、認証の成否を決定すると共に、認証の成否を示す情報を含む認証応答を認証制御部53に通知できる。なお、各認証デバイス51は、認証制御部53との間でハードウェア的に直接接続されている必要はなく、通信ネットワークを用いて認証制御部53と接続されるものであってもよい。その場合には、認証デバイス51の内部に通信処理部52と接続するための機能モジュールとしての通信インタフェース(図示せず)を備え、記憶部54内に保持する認証デバイス51との接続に関する情報(後述する認証デバイス属性テーブルT2内)を参照することにより、該インタフェースを通じて認証制御部53とネットワークを介し接続し、認証指示および認証結果のやりとりを行う。
一方、本実施形態に係る認証装置15は、上述したように、認証要求として、1または複数の認証方法を直接指定した認証要求を受け付け可能であり、認証応答として、認証要求の示す認証方法で認証可能な認証デバイス51による認証結果を返すことができる。同様に、本実施形態に係る認証装置15は、認証要求として、1または複数の認証デバイス51自体を直接指定した認証要求をも受け付け可能であり、当該認証要求を受け付けた場合、認証応答として、当該認証要求の示す認証デバイス51による認証結果を返すことができる。さらに、本実施形態に係る認証装置15は、認証要求として、認証カウントで認証条件を指定した認証要求を受け付け可能であり、当該認証要求を受け付けた場合、認証応答として、当該認証要求の示す条件を満足する認証デバイス51(または、その組み合わせ)による認証に成功したか否かを返すことができる。
より詳細に説明すると、本実施形態に係る認証装置15の記憶部54には、認証デバイス属性情報テーブルT2が設けられている。当該認証デバイス属性情報テーブルT2には、各認証デバイス51に関連付けて、例えば、その認証デバイス51が、どのような認証方法をサポートするか、および、その認証デバイス51に、どのような認証カウントが設定されているかなど、各認証デバイス51の属性を示す情報(属性情報)が記憶されている。
本実施形態に係る認証デバイス属性情報テーブルT2では、一例として、認証デバイス51毎に、その属性情報を記憶するためのレコードR21…が設けられており、上記各レコードR21…には、それぞれ、各認証デバイス51を識別するための識別子を格納するフィールドF2aおよびF2bが設けられている。
これらのフィールドのうち、フィールドF2aには、認証装置15内で各認証デバイス51を識別するための内部識別子が格納されており、認証制御部53は、新たに認証デバイス51が接続される度に、当該認証デバイス51に新たな内部識別子を割り当て、その内部識別子をフィールドF2aに格納している。本実施形態に係る認証装置15には、上述したように、n個の認証デバイス51が設けられているので、上記認証デバイス属性情報テーブルT2には、図4に示すように、n個のレコードR21〜R2nが設けられており、各レコードR21〜R2nのフィールドF2aには、それぞれの内部識別子(“1”〜“n”)が格納されている。
一方、フィールドF2bには、認証システム1内で各認証デバイス51を識別するための識別子(外部識別子)が格納されている。本実施形態では、当該識別子は、当該認証デバイス51がサポートする認証方法を示す情報と、認証システム1にある認証デバイス51のうち、互いに同じ認証方法を持った認証デバイス51間で一意な番号とを組み合わせて構成されている。例えば、本実施形態に係る認証システム1では、パスワード認証、PIN認証、指紋認証および声紋認証を示す情報が、それぞれ、“PW”、“PIN”、“FP”および“VP”と規定されている。
例えば、上記内部識別子が“1”の認証デバイス51は、パスワードによる1番目の認証デバイス51であり、上記内部識別子が“n−1”の認証デバイス51は、PIN認証を行う2番目の認証デバイス51である。したがって、図4に示す例では、レコードR21およびR2(n−1)のフィールドF2bにはそれぞれに対応する、“PW1”および“PIN2”が格納されている。
また、認証制御部53は、上記外部識別子によって認証デバイス51を指定した認証要求を受け付けた場合、例えば、上記認証デバイス属性情報テーブルT2のうち、上記フィールドF2bの値が上記指定された外部識別子であるレコードを抽出し、それに対応する認証デバイス51に認証を指示するなどして、上記指定された認証デバイス51に認証を指示できる。さらに、認証制御部53は、その認証デバイス51による認証結果を取得すると共に、認証要求の示す認証デバイス51による認証結果に基づいて、認証要求が要求している認証に成功したか否かを判定し、認証応答として、その成否を返すことができる。なお、認証制御部53は、認証デバイス51へ認証を指示して認証結果を取得する代わりに、後述する実行管理テーブルT3を参照して認証デバイス51による認証結果を取得してもよい。
さらに、上記各レコードR21…には、そのレコードに対応する認証デバイス51がサポートする認証方法が格納されるフィールドF2cが設けられている。なお、図4では、一例として、認証方法を示す文字列(例えば、“Fingerprint ”など)がフィールドF2cに格納されている場合を図示しているが、認証方法を特定可能な情報であれば、その認証デバイス51がサポートしている認証方法を示す情報へのポインタなど、認証方法を間接的に示す情報が格納されていてもよい。
一方、認証制御部53は、上記認証方法を指定した認証要求を受け付けた場合、例えば、上記認証デバイス属性情報テーブルT2のうち、上記フィールドF2cの値が上記指定された認証方法を示しているレコードを抽出し、それに対応する認証デバイス51に認証を指示するなどして、その認証方法で認証可能な認証デバイス51を特定できる。さらに、認証制御部53は、特定された認証デバイス51に認証を指示し、その応答によって、当該認証デバイス51による認証結果を取得し、認証結果が成功を示している場合は、認証に成功した旨の認証応答を返答できる。また、認証結果が失敗を示している場合は、認証結果が成功を示すようになるまで、上記特定および認証結果の取得処理を繰り返すことができる。一方、指定された認証方法で認証可能な認証デバイス51の全てで認証に失敗した場合、認証制御部53は、認証失敗を示す認証応答を返答できる。なお、認証制御部53は、認証デバイス51へ認証を指示して認証結果を取得する代わりに、後述する実行管理テーブルT3を参照して認証デバイス51による認証結果を取得してもよい。
さらに、上記各レコードR21…には、認証カウントのフィールドF2dが設けられており、認証制御部53は、認証カウントで認証条件を指定した認証要求を受け付けた場合、例えば、上記認証デバイス属性情報テーブルT2を参照するなどして、各認証デバイス51の認証カウントを特定し、上記指定された認証条件を満足する認証デバイス51(または認証方法の組み合わせ)を選択すると共に、選択された認証デバイス51に認証を指示できる。
上述したように、認証カウントは、認証方法(または認証方法の組み合わせ)による認証の認証精度を示しており、上記各レコードのフィールドF2dには、そのレコードに対応する認証デバイス51に割り当てられた認証カウントが格納されている。当該認証カウントは、図4に示すように、認証装置15に設けられた全ての認証デバイス51(認証制御部53に接続あるいは参照される全ての認証デバイス51)に対して割り当てられている。
ここで、各認証デバイス51に割り当てられる認証カウントの値は、その認証デバイス51の認証方法の強度、安全性、あるいは、ロバスト性に深く依存しており、認証デバイス51のハードウェア自体、認証方法、あるいは、認証する対象などが互いに異なる認証デバイス51同士には、多くの場合、互いに異なる値が割り当てられる。なお、認証カウントの割り当ては、後で付加的に行うことも可能であるが、本実施形態では、より好ましい形態として、ある一主体により、客観的判断を拠り所にして決定された値が、各認証デバイス51に対して予め割り当てられている。
一例として、基本的には、ICカードのPIN認証によって認証する認証デバイス51は、パスワードによって認証する認証デバイス51よりも、より高精度に認証できる。したがって、ICカードのPIN認証によって認証する認証デバイス51に対しては、パスワードによって認証する認証デバイス51よりも、より認証精度の高いことを示す認証カウント(本実施形態では、相対的に大きな値の認証カウント)が割り当てられる。
また、本実施形態に係る認証デバイス属性情報テーブルT2の各レコードR21…には、それぞれに対応する認証デバイス51にアクセスするためのポートと、当該認証デバイス51の概略説明と、当該認証デバイス51の詳細説明が記述されたデバイス記述情報を示す情報とを、それぞれ格納するフィールドF2e〜F2gが設けられている。本実施形態では、上記概略説明として、認証デバイス51の機能および/または形態に関する簡単な説明が記憶されている。なお、当該概略説明としては、例えば、上記デバイス記述情報のサブセットなどが好適に使用される。また、図4では、上記デバイス記述情報を示す情報が、例えば、デバイス記述情報が格納されたファイルの参照先のように、デバイス記述情報の格納場所である場合を例示しているが、当該情報は、デバイス記述情報の内容自体であってもよい。また、上記格納場所としては、参照ファイル名に限るものではなく、例えば、デバイス記述情報を格納するURIなども好適に使用できる。また、認証デバイス51が通信ネットワークを用いて認証制御部53と接続される場合には、当該認証デバイス51に関するデバイス記述情報の中に認証デバイスへの接続先を示すURIが記述されていれば充分である(図示せず)。そしてこの場合、認証制御部53は、当該認証デバイス51がネットワークを介して接続する機器であることを識別できる。
ここで、上記認証デバイス属性情報テーブルT2は、各認証デバイス51に関する静的な情報(属性情報)を記憶しているが、本実施形態に係る認証装置15の記憶部54には、各認証デバイス51に関する動的な情報を記憶するための実行管理テーブルT3も設けられている。なお、当該実行管理テーブルT3に格納される実行管理情報は、例えば、各認証デバイス51の現在の状態の情報などの各認証デバイス51に関する動的な情報と、例えば、後述する補正参照情報などのように、静的な情報であっても当該動的な情報に密接に関連する情報とである。
より詳細には、本実施形態に係る実行管理テーブルT3では、例えば、図5に示すように、認証デバイス51毎に、その実行管理情報を記憶するためのレコードR31…が設けられており、上記各レコードR31…には、上述した認証デバイス属性情報テーブルT2のフィールドF2aと同様に、各認証デバイス51を識別するための識別子を格納するフィールドF3aが設けられている。
本実施形態では、上記両フィールドF2aおよびF3aには、それぞれを含むレコードが互いに同じ認証デバイス51に対応している場合、互いに同じ値が格納されており、認証制御部53は、新たに認証デバイス51が接続される度に割り当てる内部識別子を、フィールドF2aだけではなく、フィールドF3aにも格納している。
また、上記各レコードR31…には、認証デバイス51による認証操作の状態を格納するフィールドF3bも設けられており、認証制御部53は、各認証デバイス51の状態が変化する度に、その認証デバイス51に対応するレコードのフィールドF3bの内容を更新している。
本実施形態では、認証デバイス51の状態として、“Active”、“Processing”、“Inactive”、“Rejected”、“Not Connected ”の5つの状態(ステート)が設定されている。
“Active”は、以下の状態、すなわち、その認証デバイス51が使用可能であり、当該認証デバイス51を用いた認証操作が既に行われ、しかも、その認証プロセスに成功した状態を示しており、認証制御部53は、ある認証デバイス51による認証プロセスに成功した場合、当該認証デバイス51に対応するレコードのフィールドF3bを、“Active”に設定できる。なお、以下では、ある認証デバイス51に対応するレコードのフィールドを、単に、認証デバイス51のフィールドと略称する。
一方、“Processing”は、現在、認証デバイス51による認証プロセスが実行中であることを示しており、認証制御部53は、ある認証デバイス51に認証を指示した場合(認証デバイス51を起動した場合)、そのフィールドF3bを、“Processing”に設定できる。
一例として、認証デバイス51が使用可能であり、認証デバイス51が起動しているものの、ユーザからの認証データの入力を待っているときなど、認証デバイス51が一時的に処理中の状態になっている場合、その認証デバイス51のフィールドF3bは、“Processing”に設定される。
また、“Inactive”は、認証デバイス51が使用可能であっても、認証デバイス51に対して認証が指示されていない状態(認証デバイス51が起動していない状態)、すなわち、認証デバイス51が使用可能であっても、当該認証デバイス51による認証操作が行われていない状態を示している。認証制御部53は、各認証デバイス51を初期化した場合など、認証デバイス51が使用可能になった時点で、当該認証デバイス51のフィールドF3bを、“Inactive”に設定できる。
さらに、“Rejected”は、以下の状態、すなわち、認証デバイス51が使用可能になっており、しかも、当該認証デバイス51による認証操作が行われたが、その認証操作の結果、認証プロセスに失敗(拒否)された状態を示している。一方、認証制御部53は、ある認証デバイス51による認証プロセスに失敗した場合、そのフィールドF3bを、“Rejected”に設定できる。
なお、“Not Connected ”は、登録されている認証デバイス51が現在使用できない状態(例えば、未だ接続されていない状態など)を示しており、認証制御部53は、認証デバイス51が使用可能になったことを検出していない場合、あるいは、認証デバイス51が使用不可になったことを検出した場合、そのフィールドF3bを、“Not Connected ”に設定できる。
また、認証制御部53は、認証カウントで認証条件を指定した認証要求を受け付けた場合、実行管理テーブルT3および認証デバイス属性情報テーブルT2を参照して、与えられた認証カウント条件を満足させるべく動作できる。
具体的には、認証制御部53は、実行管理テーブルT3および認証デバイス属性情報テーブルT2を参照して、既に認証に成功している認証デバイス51の認証カウントを取得し、これらの認証カウントが、上記認証要求の示す条件を満足しているか否かを判定する。さらに、認証制御部53は、条件を満たしている場合、認証に成功した旨の認証結果を返すことができる。一方、認証要求の示す条件を満足していない場合、認証制御部53は、利用可能な認証デバイス51の1つまたは複数を選択して、当該選択した認証デバイス51に認証させた後、再度上記判定を行うことができる。また、利用可能な全ての認証デバイス51に認証させても上記条件を満足できない場合、認証制御部53は、認証失敗を示す認証結果を返すことができる。さらに、本実施形態に係る認証制御部53には、利用可能な認証デバイス51を選択する際に自動選択するか、選択肢をユーザに提示して選択を促すかを、予め設定可能であり、自動選択すると設定されている場合、予め定められた優先順位で利用可能な認証デバイス51の1つまたは複数を選択できる。一方、手動選択が設定されている場合、認証制御部53は、UI処理部11へ指示して、ユーザに利用可能な認証デバイス51を提示させて、ユーザに選択を促すと共に、UI処理部11が選択を受け付けた場合、UI処理部11から選択結果を受け取り、当該選択された認証デバイス51に認証を指示できる。なお、自動選択するか否かは、認証制御部53の処理系に予め組み込まれていてもよいし、認証制御部53に外部からモード選択を受け付けるためのインタフェースを用意しておき、それを用いて設定してもよい。
本実施形態では、複数の認証デバイス51の組み合わせの認証カウントを、組み合わせに含まれる各認証デバイス51の認証カウントの総和としており、認証制御部53は、認証操作を成功させた認証デバイス51の認証カウントの総和計算を評価して、与えられた認証カウント条件を満足しているか否かを判定している。なお、現在認証に成功している認証デバイス51の組み合わせの認証カウント(本実施形態では、総和)を必要になる度に算出してもよいが、本実施形態に係る認証制御部53は、現在認証に成功している認証デバイス51の組み合わせの認証カウントを、Activeカウントとして記憶しており、各認証デバイス51の状態が変更される度に(“Active”か否かが変化する度に)、Activeカウントを更新している。
また、上記実行管理テーブルT3の各レコードR31…には、アクティベートされた時点を示すフィールドF3cと、前回認証に成功した時点を示すフィールドF3dとが設けられている。上記フィールドF3cの値は、ステートが“Active”である認証デバイス51に対応するレコードで有効であり、認証制御部53は、ある認証デバイス51による認証に未だ成功していない状態から認証に成功した状態への変化を検出した場合(アクティベートされた場合)、その認証デバイス51のフィールドF3cに、その時点を示す情報(例えば、日時の情報など)を格納できる。また、認証制御部53は、それまで認証に成功していたか否かに拘わらず、認証デバイス51による認証に成功した場合、その認証デバイス51のフィールドF3dに、その時点を示す情報(例えば、日時の情報など)を格納できる。なお、詳細は後述するように、本実施形態に係るフィールドF3dは、継続的な認証が必要であるか否かのフラグも兼ねており、認証制御部53は、上述した認証タイミングを示す情報が、継続的な認証が不要であることを示している場合は、認証デバイス51による認証に成功しても、そのフィールドF3dを無効を示す値に維持している。
さらに、認証制御部53は、以下の条件、すなわち、ある認証デバイス51のフィールドF3dに格納された時点と、タイマなどにより取得した現時点との関係がサービス認証属性管理テーブルT1のフィールドF1cに格納された認証タイミングにマッチし、しかも、そのフィールドF1cと同じレコードのフィールドF1bに、上記認証デバイス51による認証がフィールドF1bに格納された認証条件にマッチしているという条件を満たしていると判断すれば、その認証デバイス51に、新たな認証処理を指示できる。なお、本実施形態では、上述したように、継続的な認証が不要な場合、認証デバイス51の認証に成功しても、フィールドF3dが無効を示す値に維持されているので、継続的な認証が必要なサービスの認証処理に関係がない認証デバイス51のフィールドF3dは、無効な値に設定されている。したがって、認証制御部53は、各認証デバイス51について上記条件を満たしているか否かを判定する際、フィールドF3dが無効に設定されている認証デバイス51については、判定処理を省略できる。
例えば、図5のレコードR31は、図4に示すように、パスワード認証を行う認証デバイス51に対応しており、当該認証デバイス51が、2004年3月8日、午後4時52分18秒に認証処理に成功し、その10分後、すなわち、2004年3月8日、午後5時2分18秒にも、再度の認証処理に成功した状態を示している。これは、図3に示すレコードR11のサービスSc1、すなわち、サービス提供時と、サービス提供中、10分毎とに、パスワード認証を要求するサービスに関連している。
また、上記実行管理テーブルT3の各レコードR31…には、それぞれに対応する認証デバイス51への認証操作あるいは認証結果に対して、状況に応じた補正処理が必要な場合、その補正処理を実施するための情報が格納されるフィールドF3eと、当該認証デバイス51の認証カウントを状況に応じて補正する必要がある場合、その補正方法が格納されるフィールドF3fと、補正後の認証カウントが格納されるフィールドF3gとが設けられている。認証制御部53は、これらのフィールドF3e〜F3gを参照して、認証カウントを補正したり、認証デバイス51による認証処理または認証結果を調整できる。さらに、認証制御部53は、認証カウントで認証条件を指定した認証要求に応じて、各認証デバイス51の認証カウントを取得する際、上記認証デバイス属性情報テーブルT2の参照に加えて/代えて、上記フィールドF3gを参照して、各認証デバイス51の認証カウント(補正後の認証カウント)を取得している。
ここで、上記状況としては、例えば、認証デバイス51が周囲の環境に敏感な認証方法を採用している場合には、周囲環境が挙げられる。一例として、認証デバイス51が声紋センサデバイスの場合、認証デバイス51による認証動作は、周囲の音響状態/ノイズに、多少の影響を受けることがある。
したがって、周囲の音響状態/ノイズに応じたノイズフィルタ処理を行う部材(図示せず)を予め用意しておき、認証デバイス51へ入力する音声信号に対して、当該部材にノイズフィルタ処理を行わせたり、認証デバイス51による音声信号の処理中に当該部材にノイズフィルタ処理を行わせたりする方が望ましい。また、当該ノイズフィルタ処理によって認証デバイス51の認証精度が変化する場合は、それに合わせて、認証カウントを補正することが望ましい。なお、上記部材は、周囲の音響状態/ノイズを検出し、それに応じたノイズフィルタ処理を行ってもよいし、認証デバイス51の設置場所や用途などから、予め周囲の音響状態/ノイズを推定できる場合は、その推定値に応じたノイズフィルタ処理を行ってもよい。
この場合、当該認証デバイス51(図5の例では、レコードR34に対応する認証デバイス51)のフィールドF3eには、上記ノイズフィルタ処理を実施するための情報が格納される。本実施形態では、当該情報の一例として、フィールドF3eには、補正処理を行うために必要なサービスあるいはプログラムを参照先が格納されているので、上記認証デバイス51のフィールドF3eには、ノイズフィルタ処理を行うノイズフィルタプログラムへ音声信号をバイパスするための参照先が格納される。なお、図5では、当該参照先の一例として、URIが格納されている場合を例示しているが、参照先として、直接、外部プログラム/外部サービス/内部アドレスなどが格納されていてもよい。また、当該補正処理は、音声処理のみならず画像または信号処理用フィルタ/サービスを用意することで、画像/センサ系デバイスの処理への適用が可能である。
ここで、フィールドF3eに格納される参照先サービスには、認証デバイス51への入力信号への補正処理(前処理)および認証結果への補正処理(後処理)の2種類の情報を格納できる。上記補正処理が認証デバイス51への入力信号への補正処理(前処理)のみの場合は、認証制御部53がフィールドF3eの示す補正処理を行った後、当該認証デバイス51へ認証を指示してもよい。また、上記補正処理が認証デバイス51の認証結果への補正処理(後処理)のみの場合は、当該認証デバイス51からの認証結果に対して認証制御部53がフィールドF3eの示す処理を行ってもよい。本実施形態では、いずれの場合あるいは両方を組み合わせる場合にも対応できるが、さらに、認証デバイス51の処理中に補正処理を行う場合にも対応できるように構成可能である。この場合、フィールドF3eには、当該認証デバイス51へ与えるためのパラメータ表現を与える形式にて記載される。
例えば、補正処理がノイズフィルタ処理の場合、認証制御部53は、例えば、レコードR34に対応する認証デバイス51に認証を指示する際に当該レコードR34のフィールドF3eの値を参照し、当該認証デバイス51との間の入出力インタフェースへリダイレクトするなどして、認証デバイス51に、上記フィールドF3eの示すノイズフィルタ処理を前処理として行わせている。
また、上記の場合、レコードR34のフィールドF3fには、上記ノイズフィルタ処理に応じて、本来の認証カウント(認証デバイス属性情報テーブルT2に格納された認証カウント)を補正するための補正方法が格納される。本実施形態では、補正方法の一例として、補正を適用する際の条件と補正量とが格納されており、認証制御部53は、レコードR34に対応する認証デバイス51に認証を指示した場合、レコードR34のフィールドF3fの示す条件が成立していれば、本来の認証カウントにフィールドF3fの示す補正量を加えて補正後の認証カウントを生成し、生成された値をフィールドF3gに格納できる。
例えば、図5では、内部識別子が“4”の認証デバイス51のレコードR34のフィールドF3fには、条件として、“Active”が格納され、補正量として“−20”が格納されている。また、図4のレコードR24のフィールドF2dに示すように、当該認証デバイス51の本来の認証カウントは、“80”である。したがって、認証制御部53は、認証デバイス51の状態(フィールドF3bの値)が“Active”になった場合、上記本来の認証カウントに補正量を加算し、その結果“60”を、フィールドF3gに格納する。一方、内部識別子が“1”の認証デバイス51のレコードR31のフィールドF3fには、補正が不要であること示す値“None”が格納されており、この場合、認証制御部53は、本来の認証カウントを、そのままフィールドF3gに格納する。
上記構成において、認証システム1で認証が行われる場合の各部の動作を、図6から図25を参照しながら説明する。まず、最初は、図6〜図9および図21を参照しながら、認証デバイス51を直接指定した認証要求の処理について説明する。
すなわち、ユーザによるサービスSc6の提供要求を受け付けた場合、UI処理部11は、サービス認証属性管理テーブルT1を参照して、サービスSc6の提供に必要な認証条件を特定する。図3に示すように、サービスSc6に対応するレコードR16には、認証条件として、外部識別子が“PW1”の認証デバイス51での認証が設定されている。したがって、UI処理部11は、図6に示すt11の時点において、認証装置15へ認証要求を送信して、“PW1”で特定される認証デバイス51での認証を要求する。
一方、認証装置15は、認証要求を受け付けた場合、その認証要求を解析して、当該認証要求が、認証方法を直接指定する認証要求であるか、認証デバイス51を直接指定する認証要求であるか、あるいは、認証カウントで条件が指定された認証要求であるかを判定する。
また、本実施形態に係る認証制御部53は、例えば、論理演算子などによって、これらを組み合わせた認証要求も受け付け可能であり、この場合は、それぞれで指定された認証要求を満足しているか否かを個別に判断した後、それらの演算結果によって、認証の成否を判定できる。なお、例えば、論理積演算子で接続された各認証要求のいずれかで認証に失敗した場合など、それぞれで指定された認証要求の全てを評価せず、一部を評価した段階で全体の評価結果を特定できる場合は、全体の評価結果が特定できた時点で、残余の評価を中止してもよい。
ここで、上記時点t11で送信された認証要求では、認証デバイス51が直接指定されているので、認証装置15は、図7に示す各処理を行う。具体的には、認証装置15の認証制御部53は、S1において、認証要求で指定された認証デバイス51、すなわち、認証操作実行対象となる認証デバイス51を特定する。この場合は、“PW1”の認証デバイス51が指定されているので、認証制御部53は、認証デバイス属性情報テーブルT2を参照して、レコードR21に対応する認証デバイス51(内部識別子が“1”の認証デバイス51)であると判断する。
さらに、認証制御部53は、S2において、例えば、認証デバイス属性情報テーブルT2を参照して、上記S1にて特定された認証デバイス51にアクセスしたり、実行管理テーブルT3を参照して、当該認証デバイス51の状態を取得したりして、認証デバイス51の状態を取得し、当該認証デバイス51が現在使用できる状態か否かを判定する。一例として、実行管理テーブルT3を参照して取得する構成にて、認証制御部53が、上記認証デバイス51(内部識別子が“n”の認証デバイス51)を参照する場合、対応するレコードR3nのフィールドF3bの“Not Connected ”、すなわち、当該認証デバイス51そのものが接続されていない、あるいは、使用できる状態でないことを示す値から、現在使用できないと判断する。
上記認証デバイス51を現在使用できない場合(上記S2にてNOの場合)、認証装置15の認証制御部53は、S3において、例えば、認証要求が失敗したことを示す内容を通知情報に設定するなどして、通信処理部52へ指示し、認証失敗を示す認証応答をUI処理部11へ送信して処理を終了する。
一方、UI処理部11は、図6に示すt12の時点で当該認証応答を受け取ると、認証要求に失敗したことをユーザに通知する。なお、この場合は、認証に失敗しているので、サービス提供処理部13は、サービスSc6をユーザに提供しない。
これとは逆に、上記認証デバイス51を現在使用できる場合(上記S2にてYES の場合)、認証制御部53は、実行管理テーブルT3を参照して、当該認証デバイス51の状態が“Active”であるか否かを判定する。なお、上記S2にて、実行管理テーブルT3を参照して認証デバイス51の状態を取得する構成の場合は、上記S2で取得した認証デバイス51の状態が“Active”であるか否かを判定してもよい。
ここで、“Active”は、上述したように、当該認証デバイス51を用いた認証プロセスが既に行われ、認証に成功していること(認証済み状態であること)を示している。したがって、“Active”である場合(上記S4にてYES の場合)、認証制御部53は、S5において、通信処理部52へ指示して、認証成功を示す認証応答をUI処理部11へ送信して処理を終了する。
この場合、UI処理部11は、図8に示すt12aの時点で当該認証応答を受け取ると、サービス提供処理部13がユーザにサービスSc6を提供するように制御する。なお、UI処理部11は、この場合、認証要求に成功したことを示すメッセージを出力装置19へ出力することにより、ユーザに通知してもよい。
一方、“Active”でない場合(上記S4にてNOの場合)、認証制御部53は、S6において、上記認証デバイス51に認証実行を指示し、S7において、認証デバイス51の認証結果を判定する。
認証結果が認証成功を示している場合(上記S7にてYES の場合)、認証制御部53は、上記S5の処理を行い、図8に示すように、認証成功を示す認証応答がUI処理部11に送信される。これとは逆に、認証結果が認証失敗を示している場合(上記S7にてNOの場合)、認証制御部53は、上記S3の処理を行い、図6に示すように、認証失敗を示す認証応答がUI処理部11に送信される。
ここで、上記S6における認証実行処理をさらに詳細に説明すると、図9に示すように、認証制御部53は、S11において、停止条件を設定する。当該停止条件は、上記認証デバイス51からの応答がない場合に処理を打ち切るための条件であって、当該停止条件の設定は、例えば、ウォッチドッグタイマへの予め定められたタイムアウト時間の設定などによって行われる。
さらに、認証制御部53は、S12において、上記認証デバイス51に認証実行を指示すると共に、上記実行管理テーブルT3において、上記認証デバイス51に対応するレコードのフィールドF3bを、認証プロセスを起動したことを示す値(“Processing”)に設定する。なお、認証制御部53は、通信処理部52が認証プロセスを起動したことを示す応答をUI処理部11へ送信するように制御することによって、ユーザへ認証プロセスが起動したことを通知するよう、UI処理部11に指示してもよい。
一方、認証制御部53は、S13およびS14において、上記S11にて設定した停止条件が成立するか、あるいは、上記S12にて認証実行を指示した認証デバイス51からの認証応答を受け取るかするまで待ち受けており、認証応答を受け取った場合(上記S14にてYES の場合)は、上記S6における認証実行処理(図9に示すS11〜S16の処理)を終了し、上記S7の処理に移行する。
なお、例えば、ウォッチドッグタイマが満了した場合など、停止条件が成立した場合(S13にてYES の場合)、認証制御部53は、S15において、通信処理部52へ指示して、認証デバイス51による認証処理が停止条件に基づき停止した旨を示す認証応答をUI処理部11に送信する。この場合、UI処理部11は、当該認証応答に応じて、ユーザに認証処理の停止を通知する。なお、この場合は、認証に成功していないので、認証に失敗したときと同様に、サービス提供処理部13は、サービスSc6をユーザに提供しない。また、上記認証制御部53は、S16において、上記S12にて認証実行を指示した認証デバイス51に対してクローズ処理を行い、認証デバイス51を停止させる。さらに、上記認証制御部53は、実行管理テーブルT3を更新して、認証デバイス51の状態を“Inactive”に設定する。なお、S16の処理の後、認証制御部53は、図7に示すS3の処理の後と同様、図6および図8に示すt11の時点で受け付けた認証要求に応じた認証動作を停止する。
ここで、図21を参照し、上述の認証デバイス51を直接指定した認証要求の処理における表示の画面遷移例について説明する。
メニュー画面331には現在選択可能なサービスおよびコンテンツに関するメニュー表示(例えば映像番組表示)が行われている。サービス332〜337は、ボタンとしてメニュー画面331に表示されており、例えばユーザが入力装置17によってボタン337を押下すると、サービス6(Sc6)が選択されたものとして画面341へ遷移する。
画面341には選択されたサービスの概要が表示される。具体的には、認証制御部53は、サービス認証属性管理テーブルT1から抽出されたSc6に関する認証条件“PW1”に基づいて、認証デバイス属性情報テーブルT2を参照する。そして、認証制御部53は、これに対応可能な内部識別子が“1”の認証デバイス51を抽出すると、ユーザに対し領域342にてパスワード認証の必要性を示す表示を行う。
実行管理テーブルT3において、認証デバイス51の状態が“Active”である場合には、「OK」ボタン343が押下されると画面371へ遷移する。このとき、画面371の領域373では、既に認証が済んでいるというメッセージが表示され、領域372では、認証成功メッセージが表示される。
それ以外の場合に「OK」ボタン343が押下されたときには、画面351に遷移する。画面351には、入力エリア353が画面351の下部領域に配置されている。ユーザによりパスワード入力が行われた後実行ボタン354が押下されると、認証制御部53は、認証デバイス51に、入力エリア353に与えられた入力情報と共に必要な情報を与えた上で認証操作を実行させる。認証成功時には画面371に遷移し、上述のように、認証に成功したことを示す表示を行う。一方、認証失敗時には画面361に遷移する。このとき、画面361の領域362では、認証失敗を示すメッセージが表示されると共に、領域363では、認証失敗の要因となった情報が表示される。
なお、画面371にて「OK」ボタン374が押下されたときには画面381に遷移し、サービス6の内容表示を行う。画面361にて「OK」ボタン364が押下されたとき、および画面341、351での「戻る」ボタン344、355が押下されたときには、元のメニュー画面331へ遷移する。
続いて、図10および図11を参照しながら、認証方法を指定した認証要求の処理について説明する。例えば、ユーザによるサービスSc2の提供要求を受け付けた場合、UI処理部11は、サービス認証属性管理テーブルT1を参照して、サービスSc2の提供に必要な認証条件を特定する。図3に示すように、サービスSc2に対応するレコードR12には、認証条件として、指紋での認証が設定されている。したがって、UI処理部11は、図10に示すt21の時点において、認証装置15へ“Fingerprint”で特定される認証方法での認証を要求する。
一方、認証装置15は、上述したように、受け付けた認証要求が、認証方法を直接指定する認証要求であるか、認証デバイス51を直接指定する認証要求であるか、あるいは、認証カウントで条件が指定された認証要求であるかを判定しており、上記時点t21で送信された認証要求の場合は、図11に示す各処理が行われる。
具体的には、認証装置15の認証制御部53は、S21において、認証デバイス属性情報テーブルT2を参照して、認証要求で指定された認証方法で認証可能な認証デバイス51を抽出する。この場合は、指紋での認証が指定されているので、認証制御部53は、レコードR23に対応する認証デバイス51(内部識別子が“3”の認証デバイス51)を抽出する。
さらに、認証制御部53は、S22において、抽出された各認証デバイス51について、図7のS2と同様に、現在使用できる状態か否かを判定する。現在使用可能な認証デバイス51が見つからなかった場合(上記S22にてNOの場合)、認証制御部53は、S3と同様のS23において、認証失敗を示す認証応答をUI処理部11に送信して処理を終了する。
一方、現在使用可能な認証デバイス51が見つかった場合(上記S22にてYES の場合)、認証制御部53は、それが複数であるか否かを判定し、複数であった場合(S24にてYES の場合)、S25において、予め設定された優先度に基づいて、そのうちのいずれに認証させるかを決定する。なお、見つかった認証デバイス51が1つである場合(上記S24にてNOの場合)、認証制御部53は、見つかった認証デバイス51での認証操作を決定する。
一例として、本実施形態では、認証カウントに基づいて優先度を決定しており、認証制御部53は、複数の認証デバイス51が見つかった場合、これら複数の認証デバイス51のうち、認証デバイス属性情報テーブルT2に格納された認証カウントがより認証精度の高いことを示す認証デバイス51を選択する。また、本実施形態では、認証カウントが互いに同じだった場合、認証制御部53は、認証デバイス属性情報テーブルT2において、より上位にある認証デバイス51を選択すると共に、単一の機器に複数のデバイスをもつ複合デバイスよりも単一の機能デバイスの優先度を上げる構成をとっている。なお、上記の優先度決定方法は、一例であり、複数の認証デバイス51が見つかった場合に、それらに順位付けすることができる方法であれば、例えば、別途評価関数を設けて、認証デバイス51間の順序関係を設定する構成など、他の任意の方法で決定してもよい。また、認証制御部53は、選択された認証デバイス51へ認証実行を指示する際に、UI処理部11へ認証プロセスの起動を示す認証応答を送信する。UI処理部11は、これに応じ、例えば、指を認証手段へ配置させる動作を促す内容の情報をユーザに提示するなどして、ユーザに認証プロセスの起動(この場合は、指紋認証プロセスの起動)を通知すると共に、ユーザに対し認証操作を促している(t22の時点)。
その後は、図7に示すS4〜S7と同様の処理S26〜S29が行われ、認証制御部53は、上記で選択した認証デバイス51による認証結果を示す認証応答を、UI処理部11へ送信し、UI処理部11は、その結果をユーザに通知する(図10に示すt23の時点)。なお、図10は、認証に成功した場合を例示しており、端末装置3のサービス提供処理部13は、サービスSc2をユーザに提供する。
ここで、図22を参照し、上述の認証方法を指定した認証要求の処理における表示画面遷移例について説明する。
メニュー画面331には上述の通り、現在選択可能なサービスおよびコンテンツに関するメニュー表示が行われている。サービス332〜337は、ボタンとして表示されており、例えばユーザが入力装置17によってボタン333を押下すると、サービス2(Sc2)が選択されたものとして画面401へ遷移する。
画面401には選択されたサービスの概要が表示される。具体的には、認証制御部53は、サービス認証属性管理テーブルT1から抽出されたSc2に関する認証条件“Fingerprint”に基づいて、認証デバイス属性情報テーブルT2を参照する。そして、認証制御部53は、これに対応可能な内部識別子が“3”の認証デバイス51(“FP1”)を抽出すると、ユーザに対し領域402にて指紋認証の必要性を示す表示を行う。
実行管理テーブルT3において、認証デバイス51の状態が“Active”である場合には、「OK」ボタン403が押下されると画面431へ遷移する。このとき、画面431の領域432では、既に認証が済んでいるというメッセージが表示され、領域432では、認証成功メッセージが表示される。そして、「OK」ボタン434が押下されたときには、画面441に遷移し、サービス2の内容表示を行う。
それ以外の場合に「OK」ボタン403が押下されたときには、画面411に遷移する。領域412には、認証デバイス51(“FP1”)を選択したこと、および認証処理を促す内容のメッセージが表示され、ユーザに対し入力操作を促す。下部領域413は、ステータスモニタとして機能し、UI処理部11によって認証デバイス51からの状態通知の認証応答が受信されると、その内容を表示する。これにより、ユーザに対し認証プロセスにおけるインタラクションを実現してもよい。
一連の認証に関する入力処理が終了し「進む」ボタン414が押下されたときには、実行された認証操作の結果から、認証成功時には画面431へ遷移する一方、認証失敗時には画面421へと遷移する。認証失敗時には、画面421の領域422では、認証失敗を示すメッセージが表示されると共に、領域423では、認証失敗の要因となった情報が表示される。なお、画面424にて「OK」ボタン424が押下されたとき、および画面401、411での「戻る」ボタン404、415が押下されたときには、元のメニュー画面331へ遷移する。
次に、図12〜図16を参照しながら、認証カウントで認証条件を指定した認証要求の処理について説明する。例えば、ユーザによるサービスSc3の提供要求を受け付けた場合、UI処理部11は、サービス認証属性管理テーブルT1を参照して、サービスSc3の提供に必要な認証条件を特定する。図3に示すように、サービスSc3に対応するレコードR13には、認証条件として、80以上の認証カウントでの認証が設定されている。したがって、UI処理部11は、図12に示すt31の時点において、認証装置15へ認証要求を送信して、“認証カウント≧80”での認証を要求する。
一方、認証装置15は、上述したように、受け付けた認証要求が、認証方法を直接指定する認証要求であるか、認証デバイス51を直接指定する認証要求であるか、あるいは、認証カウントで条件が指定された認証要求であるかを判定しており、上記時点t31で送信された認証要求の場合は、図13に示す各処理が行われる。
具体的には、認証装置15の認証制御部53は、S31において、既に認証に成功している認証デバイス51の認証カウントを確認して、S32において、当該認証カウントが上記指定された認証条件を満足しているか否か(新たな認証処理が不要か否か)を判定する。本実施形態では、複数の認証デバイス51の認証カウントを、各認証デバイス51の総和としているので、上記S31において、認証制御部53は、既に認証に成功している認証デバイス51の認証カウントの総和を計算する。
上記S31の処理をさらに詳細に説明すると、図14に示すS41において、認証制御部53は、実行管理テーブルT3から、未だ認証カウントが確認されておらず、しかも、ステートが“Active”である認証デバイス51があるか否かを確認する。
このような認証デバイス51が見つかった場合(S41にてYES の場合)、認証制御部53は、S42において、実行管理テーブルT3のフィールドF3fの内容を取得するなどして、当該認証デバイス51(処理対象とする認証デバイス51)の認証カウントの補正方法の情報を取得し、S43において、認証カウントの補正の要否を判定する。
補正要の場合(上記S43にてYES の場合)、認証制御部53は、フィールドF3fで指定された補正方法で、本来の認証カウント(認証デバイス属性情報テーブルT2に格納されている認証カウント)を補正し、補正後の認証カウントをフィールドF3gに格納する。一方、補正が不要な場合(上記S43にてNOの場合)、認証制御部53は、本来の認証カウントをフィールドF3gに格納する。
さらに、認証制御部53は、補正の要否に拘わらず、S45において、現在処理対象としている認証デバイス51のフィールドF3gの値をActiveカウントに加算するなどして、これまでに処理した認証デバイス51の認証カウントの累算値を算出する。
上記S41〜S45の処理は、未だ認証カウントが確認されておらず、しかも、ステートが“Active”である認証デバイス51が見つからなくなるまで繰り返され、見つからなくなった場合(上記S41にてNOの場合)、認証制御部53は、上記S31の処理を終了する。
図13に示す上記S31およびS32において、既に認証に成功している認証デバイス51の認証カウントが、認証要求によって指定された認証条件を満足しているか否か(新たな認証処理が不要か否か)が判断され、新たに認証処理することなく、認証条件を満足していると判断されると(上記S32にてYES の場合)、認証制御部53は、図7に示すS5と同様のS33において、認証成功を示す認証応答をUI処理部11に送信する。
ここで、図12は、一例として、実行管理テーブルT3の内容が図5に示す内容である場合、すなわち、内部識別子が“1”および“4”の認証デバイス51(パスワード認証および声紋認証を行う認証デバイス)での認証に成功している場合を示している。
この場合は、上記S31、すなわち、S41〜S45において、上記認証カウントの総和(Activeカウント)が“80”と計算されるので、新たな認証デバイス51に認証させることなく、要求された認証条件を満足している。したがって、認証制御部53は、上記S33の処理を行い、図12に示すt32の時点では、認証成功を示す認証応答をUI処理部11に送信する。一方、それに応じて、サービス提供処理部13は、ユーザに要求されたサービス(この場合は、Sc3)を提供する。
ここで、図23を参照し、上述の認証カウントを用いた認証要求の処理における表示画面遷移例について説明する。
メニュー画面331には上述の通り、現在選択可能なサービスおよびコンテンツに関するメニュー表示が行われている。サービス332〜337は、ボタンとしてメニュー画面331に表示されており、例えばユーザが入力装置17によってボタン334を押下すると、サービス3(Sc3)が選択されたものとして画面501へ遷移する。
画面501では選択されたサービスの概要が表示される。具体的には、領域502において、サービス認証属性管理テーブルT1から抽出されたSc3に関する認証条件“認証カウント≧80”が表示される。認証制御部53において、Activeカウント計算の結果、認証条件を満足していると判断され、ユーザが「OK」ボタン503を押下したときには画面511へ遷移する。そして、認証の結果(成功)を領域512に表示する。なお、領域513において、既にどの認証方式の結果にて認証が行われたかという情報を認証制御部53からの認証応答に含めることにより、その認証成功判定に用いられた認証方式を表示することも可能である。そして、「OK」ボタン514が押下されると画面521へ遷移し、サービス3の内容を表示する。
なお、画面501での「戻る」ボタン504が押下されたときには、元のメニュー画面331へ遷移する。
上記例は既に認証に成功している認証デバイス51の認証カウントであるActiveカウントを参照するだけで指定された認証条件を満足できる場合であるが、これとは逆に、既に認証に成功している認証デバイス51の認証カウントでは、認証要求によって指定された認証条件を満足しておらず、新たな認証処理が必要であると判断した場合(上記S32にてNO)の場合、認証制御部53は、S34において、実行管理テーブルT3の状態の情報を参照して、選択可能な認証デバイス51(新たに認証処理が可能な認証デバイス51)を抽出する。本実施形態に係る認証制御部53は、未だ認証に成功しておらず、しかも、使用可能な認証デバイス51、すなわち、状態が“Inactive”あるいは“Rejected”である認証デバイス51を、取り得る選択肢として抽出する。
一例として、ユーザによるサービスSc5の提供要求を受け付けた場合、UI処理部11は、サービス認証属性管理テーブルT1を参照して、サービスSc5の提供に必要な認証条件を特定する。図3に示すように、サービスSc5に対応するレコードR15には、認証条件として、150以上の認証カウントでの認証が設定されている。したがって、UI処理部11は、図15に示すt41の時点において、認証装置15へ認証要求を送信して、“認証カウント≧150”での認証を要求する。
ここで、図15は、図12と同様に、実行管理テーブルT3の内容が図5に示す内容である場合(Activeカウントが80の場合)を示している。したがって、図12の場合とは異なり、新たな認証処理が必要であると判断される。
この場合、図5に示すように、状態が“Inactive”あるいは“Rejected”である認証デバイス51は、内部識別子が“3”および“n−1”の認証デバイス51である。したがって、上記S34では、これらの認証デバイス51が選択肢として抽出される。
ここで、認証制御部53は、新たに認証処理が可能な認証デバイス51を見つけられなかった場合(上記S35にてNO)の場合、S36において、図7に示すS3と同様の処理を行い、UI処理部11に認証失敗を示す認証応答を送信する。
一方、新たに認証処理が可能な認証デバイス51が見つかると(上記S35にてYES の場合)、認証制御部53は、S37において、自動選択が設定されているか否かを判定し、自動選択が設定されている場合(YES の場合)は、S38において、上記S34にて抽出された認証デバイス51の中から、新たな認証処理に使用する認証デバイス51を自動選択する。本実施形態に係る認証制御部53は、図11に示すS25と同様、認証カウントに基づく優先度に従って、認証デバイス51を自動選択する。
より詳細には、認証制御部53は、図16に示すS51において、認証デバイス属性情報テーブルT2を参照して、上記S34で抽出された各認証デバイス51の認証カウントを取得し、当該各認証デバイス51を認証カウントでソートする。これにより、各認証デバイス51は、その認証精度の順番に並べられる。
さらに、認証制御部53は、S52において、上記S34で抽出された各認証デバイス51中に最も認証精度の高い認証デバイス51が複数あるか否かを判定する。複数ある場合(YES の場合)、認証制御部53は、S53において、予め定められた手順で、そのうちの1つを、自動選択された認証デバイス51として選択する。本実施形態に係る認証制御部53は、上記S25と同様に、認証デバイス属性情報テーブルT2において、より上位にある認証デバイス51を選択している。これとは逆に、最も認証精度の高い認証デバイス51が1つだけの場合(上記S52にてNOの場合)、認証制御部53は、S54において、その認証デバイス51を、自動選択された認証デバイス51として決定する。なお、上記S25と同様に、他の優先度決定方法で、認証デバイス51が自動選択されてもよい。
ここで、図15は、自動選択が設定されている場合を示している。この場合は、上述したように、内部識別子が“3”および“n−1”の認証デバイス51が抽出されており、それぞれの認証カウントは、図4に示すように、100および50である。したがって、内部識別子が“3”(外部識別子が“FP1”)の認証デバイス51が自動選択され、認証制御部53は、当該認証デバイス51に認証実行を指示する。
なお、図15の例では、認証制御部53は、認証デバイス51へ認証実行を指示する際に、UI処理部11へ認証プロセスの起動を示す認証応答を送信し、UI処理部11は、これに応じ、例えば、指を認証手段へ配置させる動作を促す内容の情報をユーザに提示するなどして、ユーザに認証プロセスの起動(この場合は、指紋認証プロセスの起動)を通知すると共に、ユーザに対し認証操作を促している(t42の時点)。
一方、自動選択が設定されていない場合(図13に示すS37にてNOの場合)、認証制御部53は、S39において、S34にて抽出された利用可能な認証デバイス51のデータを与えてUI処理部11へ指示し、ユーザに選択肢を提示して、選択を促す。なお、本実施形態に係る認証制御部53は、選択肢通知を示す認証応答を送信して、UI処理部11に指示している。さらに、UI処理部11が選択を受け付けた場合、認証制御部53は、UI処理部11から選択結果を受け取る。
自動選択するか否かに拘わらず、新たな認証処理に使用する認証デバイス51が選択されると、認証制御部53は、S40において、図7に示すS6と同様の処理を行い、選択された認証デバイス51に認証実行を指示する。さらに、上記S40において、認証が実行され、実行管理テーブルT3が更新されると、認証制御部53は、S31以降の処理を行う。
上記S31〜S40の処理は、新たな認証処理によって認証カウントによる認証条件が満たされて、UI処理部11に認証成功を示す認証応答を送信するか(上記S33)、あるいは、新たな認証処理が可能な認証デバイス51が見つからなくなるまで(上記S36)、繰り返される。
ここで、図15の例では、最初に自動選択された認証デバイス51による認証(指紋認証)に成功した場合を示している。この場合、当該認証の成功によって、Activeカウントが“180”になるので、認証カウントで指定された認証条件を満足する。したがって、認証制御部53は、認証成功を示す認証応答がUI処理部11に送信し、それに応じて、サービス提供処理部13は、ユーザに要求されたサービス(この場合は、Sc5)を提供する(t43の時点)。
ここで、図24を参照し、上述の認証カウントを用いた認証要求の処理において追加認証操作を必要とする場合の表示画面遷移例について説明する。
メニュー画面331には上述の通り、現在選択可能なサービスおよびコンテンツに関するメニュー表示が行われている。サービス332〜337は、ボタンとしてメニュー画面331に表示されており、例えばユーザが入力装置17にてボタン336を押下すると、サービス5(Sc5)が選択されたものとして画面551へ遷移する。
画面551では選択されたサービスの概要が表示される。具体的には、領域552において、サービス認証属性管理テーブルT1から抽出されたSc5に関する認証条件“認証カウント≧150”が表示される。認証制御部53において、Activeカウント計算の結果、認証条件を満足していないと判断されると、新たに認証処理が可能な認証デバイス51を上述の手順により選択する(本例では“FP1”)。
選択肢としての認証デバイス51を抽出できなかった場合、「OK」ボタン553が押下されると画面571へ遷移する。このとき、画面571の領域572では、認証失敗を示すメッセージが表示されると共に、領域573では、認証失敗の要因となった情報が表示される(この場合、「有効な認証手段がありません」と表示)。そして、画面571にて「OK」ボタン574が押下されたときには、元のメニュー画面331へ遷移する。
認証制御部53は、認証デバイス属性情報テーブルT2を参照し、これに対応可能な内部識別子が“3”の認証デバイス51(“FP1”)を抽出した場合に、画面551にて「OK」ボタン553が押下されたときには画面561に遷移する。このとき、領域562には、認証デバイス51(“FP1”)を選択したこと、および認証処理を促す内容のメッセージが表示され、ユーザに対し入力操作を促す。下部領域563は、ステータスモニタとして機能し、UI処理部11によって認証デバイス51からの状態通知の認証応答が受信されると、その内容を表示する。これにより、ユーザに対し認証プロセスにおけるインタラクションを実現してもよい。
一連の認証に関する入力処理が終了し「進む」ボタン564が押下されたときには、実行された認証操作の結果から、認証成功時には画面581へ遷移する一方、認証失敗時には画面571へと遷移する。認証失敗時には、画面571の領域572では、認証失敗を示すメッセージが表示される共に、領域573では、認証失敗の要因となった情報が表示される。また、認証成功時には、認証の結果を領域582に表示する。なお、領域583において、既にどの認証方式の結果にて認証が行われたかという情報を認証制御部53からの認証応答に含めることにより、これまでの認証成功判定に用いられた認証方式を表示することも可能である。このとき、Activeカウントがサービスを受けるための条件を満足している場合には、「OK」ボタン584が押下されると画面590へ遷移し、サービス5の内容を表示する。一方、認証条件を満足しておらず、かつ新たな認証デバイス51が見つかる場合には、画面551へと遷移し、領域552にて残り必要な認証カウント数の表示が行われ、次に選択可能な認証デバイスによる認証操作を実行する。
なお、画面551、561での「戻る」ボタン554、565が押下されたときには、元のメニュー画面331へ遷移する。
上記図15および図24では、自動選択される場合を例示したが、手動選択する場合は、例えば、図17に示す通信が行われる。すなわち、ユーザによるサービスSc5の提供要求を受け付けた場合、図15のt41の時点と同様に、t51の時点において、認証装置15へ認証要求が送信され、“認証カウント≧150”での認証が要求される。
ここで、図15の場合とは異なって、認証要求時における各認証デバイス51の状態は、図18に示すような状態であるとする。具体的には、いずれの認証デバイス51の状態も“Active”ではなく、内部識別子が“1”から“4”の各認証デバイス51の状態が“Inactive”、残余の認証デバイス51の状態が“Not Connected ”である。なお、この場合は、いずれの認証デバイス51の状態も“Active”ではないため、認証カウントの補正は行われておらず、それぞれのフィールドF3gの値およびActiveカウントの値は、0である。
この場合は、Activeカウントが0なので、既に認証に成功している認証デバイス51(この場合はなし)の認証カウントでは、上記指定された認証条件を満足できない。また、認証制御部53は、手動選択するように設定されている。
したがって、認証制御部53は、t52の時点で、内部識別子が“1”から“4”の各認証デバイス51を含む選択肢を通知するための認証応答をUI処理部11へ送信して、ユーザに選択を促す。なお、本実施形態に係る認証制御部53は、各認証デバイス51を示す認証応答として、例えば、外部識別子を示す情報を送信している。
この状態で、外部識別子が“FP1”の認証デバイス51(内部識別子が“3”の認証デバイス51)がユーザにより選択され、例えば、認証要求などとして、当該認証デバイス51の選択が通知されると(t53の時点)、認証制御部53は、当該認証デバイス51へ指紋認証の実行を指示する。また、図15と同様に、認証制御部53は、認証デバイス51へ認証実行を指示する際、操作実行に関するステータス通知を含む認証応答として、指紋認証プロセスの起動を示す認証応答をUI処理部11へ送信する(t54の時点)。
ここで、指紋認証に成功し、当該認証デバイス51から認証成功を示す認証結果を取得すると、認証制御部53は、図19に示すように、当該認証デバイス51のレコードR33のフィールドF3bを“Active”に設定し、フィールドF3gに認証カウント“100”を設定する(t55の時点)。ただし、当該認証デバイス51での認証に成功しただけでは、Activeカウントは、100にしかならず、認証要求が要求している認証カウント(150以上)には到達していない。また、この状態では、図19に示すように、内部識別子が“1”、“2”および“4”の各認証デバイス51の状態が“Inactive”である。
したがって、認証制御部53は、上記t52の時点と同様に、内部識別子が“1”、“2”および“4”の各認証デバイス51を含む選択肢を通知するための認証応答をUI処理部11へ送信して、ユーザに選択を促す(t56の時点)。
この状態で、外部識別子が“VP1”の認証デバイス51(内部識別子が“4”の認証デバイス51)が選択され、例えば、認証要求などとして、当該認証デバイス51の選択が通知されると(t57の時点)、認証制御部53は、当該認証デバイス51へ声紋認証の実行を指示する。また、図15と同様に、認証制御部53は、認証デバイス51へ認証実行を指示する際に、操作実行に関するステータス通知を含む認証応答として、声紋認証プロセスの起動を示す認証応答をUI処理部11へ送信する(t58の時点)。この場合、UI処理部11は、上記認証デバイス51への操作実行命令が発行されたと判定し、ユーザに対し認証操作を促すために発声を促す内容の情報を出力装置19により出力する。
ここで、声紋認証に成功し、上記認証デバイス51から認証成功を示す認証結果を取得すると、認証制御部53は、当該認証デバイス51に対応するレコードR34を、図19のレコードR33と同様に更新する。
この場合、当該認証デバイス51での認証成功によって、Activeカウントが180になり、認証要求が要求している認証カウント(150以上)を満たしている。この結果、認証制御部53は、認証成功を示す認証応答をUI処理部11に送信し、それに応じて、サービス提供処理部13は、ユーザに要求されたサービス(この場合は、Sc5)を提供する(t59の時点)。
なお、上記では、認証制御部53は、個々の認証処理の結果をUI処理部11へ通知していないが、図中、破線で示すように、個々の処理の結果が判明した時点(例えば、t55の時点)で、個々の認証処理の結果をUI処理部11に送信し、個々の認証処理の成否をユーザに通知させてもよい。以下に、この場合の表示画面遷移例について示す。
ここで、上記認証カウントを用いた認証要求の処理において、手動での認証操作を行う場合の表示画面遷移例について図25を参照し説明する。
メニュー画面331には上述の通り、現在選択可能なサービスおよびコンテンツに関するメニュー表示が行われている。サービス332〜337は、ボタンとしてメニュー画面331に表示されており、例えばユーザが入力装置17にてボタン336を押す操作をすると、サービス5(Sc5)が選択されたものとして画面551へ遷移する。
画面551では選択されたサービスの概要が表示される。具体的には、領域552において、サービス認証属性管理テーブルT1から抽出されたSc5に関する認証条件“認証カウント≧150”が表示される。認証制御部53は、Activeカウント計算の結果、認証条件を満足していないと判断すると、新たに認証処理が可能な認証デバイス51に関する情報を抽出した上で、認証応答にてその選択肢をUI処理部11に通知する。これを受けて、UI処理部11は、その情報をユーザに対し提示する。
選択肢としての認証デバイス51を抽出できなかった場合、「OK」ボタン553が押下されると画面621へ遷移する。このとき、画面621の領域622では、認証失敗を示すメッセージが表示されると共に、領域623では、認証失敗の要因となる情報が表示される(この場合は、「有効な認証手段がありません」と表示する)。そして、画面621にて「OK」ボタン624が押下されたときには、元のメニュー画面331へ遷移する。
認証操作可能な認証デバイス51が存在する場合には、「OK」ボタン553が押下されると画面601へ遷移する。このとき、画面601の領域602では、ユーザに認証方式を選択させるための導入メッセージが表示されると共に、領域603内にユーザが選択可能なオプションが表示される。「進む」ボタン604が押下されたときに、UI処理部11は、入力装置17を介して予め入力された情報を解釈し、認証制御部53に対し特定の認証デバイス51への認証要求の形で送信する。そして、これと共に画面611へ遷移する(この場合は“FP1”を選択)。
画面611の領域612にて選択内容が提示される(この場合、最初は認証デバイス51(“FP1”))と共に、認証処理を促す内容のメッセージが表示され、ユーザに入力操作を促す。下部領域613は、ステータスモニタとして機能し、UI処理部11によって認証デバイス51からの状態通知の認証応答が受信されると、その内容を表示する。これにより、ユーザに対し認証プロセスにおけるインタラクションを実現してもよい。
一連の認証に関する入力処理が終了し「進む」ボタン614が押下されたときには、実行された認証操作の結果から、認証成功時には画面631へ遷移する一方、認証失敗時には画面621へと遷移する。認証失敗時には、画面621の領域622では、認証失敗を示すメッセージが表示されると共に、領域623では、認証失敗の要因となった情報が表示される。また、認証成功時には、認証の結果(成功)を領域632に表示する。なお、領域633において、既にどの認証方式の結果にて認証が行われたかという情報を認証制御部53からの認証応答に含めることにより、これまでの認証成功判定に用いられた認証方式を表示することも可能である。このとき、Activeカウントがサービスを受けるための条件を満足している場合には、「OK」ボタン634が押下されると画面590へ遷移し、サービス5の内容を表示する。一方、認証条件を満足しておらず、かつ新たに選択可能な認証デバイス51が存在する場合には、画面551へと遷移し、領域552にて残り必要な認証カウント数の表示が行われ、次に選択可能な認証デバイスによる認証操作を実行する。このとき、画面601の領域603にて表示される選択可能な認証方式に関する情報から、先に実行された認証デバイス51(“FP1”)に関する情報は削除され、残りのオプションについての情報がユーザに対して提示される。なお、画面621において、認証が失敗におわった場合には、「OK」ボタン624が押下されるとメニュー画面331へ遷移するが、他の選択可能な認証方式が存在する場合には画面601に遷移し、異なる認証方式での認証操作を実行してもよい。
なお、画面551、601および611での「戻る」ボタン554、605および615が押下されたときには、元のメニュー画面331へ遷移する。
ここで、上記認証制御部53は、より詳細には、図1に示すように、通信処理部52の受信した認証要求を元にして、当該認証装置15の持つ認証デバイス51の中から当該認証要求に応答する際に使用する認証デバイス51を選択するための認証機能選択部61と、認証機能選択部61により選択された認証デバイス51に対する実行指示を行う認証機能実行部62と、認証装置15が具備する認証デバイス51それぞれの有する機能に関する情報管理、並びに、認証要求および認証応答に関する管理・制御を行う認証機能管理部63とを備えている。
ここで、認証機能実行部62は、認証機能選択部61からの指示に応じて動作してもよいが、本実施形態では、認証機能管理部63が一連の認証動作を行うための中核モジュールとして機能しており、認証機能管理部63は、上記認証機能選択部61および認証機能実行部62に対する指示を行っている。
上記認証機能選択部61は、認証機能管理部63からの指示に従い、記憶部54に格納された認証デバイス属性情報テーブルT2を参照して、与えられた認証要求を満足するために適切な認証デバイス51を選択できる。ここで、認証デバイス属性情報テーブルT2には、上述したように、認証装置15に具備されている認証デバイス51の機能等に関する情報が記憶されている。したがって、認証機能選択部61は、当該認証デバイス属性情報テーブルT2を参照して当該情報を取得することによって、条件付き認証要求が外部機器から与えられたとしても、何ら支障なく、適切な認証デバイス51を選択でき、選択結果を認証機能管理部63へ通知できる。なお、本構成例に係る認証機能選択部61は、例えば、上述した認証デバイス選択アルゴリズムに基づいて、認証デバイス51を選択できる。
また、認証機能実行部62は、例えば、認証機能選択部61から選択結果を受けた認証機能管理部63からの指示などによって、認証機能選択部61により選択された認証デバイス51に対して、認証の実行を指示できる。さらに、ユーザまたはユーザの使用する機器が認証デバイス51に対して認証操作(例えば、指紋の入力あるいは署名情報の送信など)を行い、認証デバイス51が当該認証操作に基づいてユーザまたはユーザの使用する機器を認証すると、認証機能実行部62は、例えば、認証デバイス51からの通知などによって、認証デバイス51から認証の結果を取得し、当該認証結果を認証機能管理部63へ通知できる。また、認証機能実行部62は、例えば、認証機能管理部63からの指示などに応じて、各認証デバイス51のステータスを取得し、その結果を認証機能管理部63へ通知できる。
一方、上記認証機能管理部63は、上述したように、一連の認証動作、より詳細には、「通信処理部52を経由して通知される、外部機器からの認証要求に基づき、認証機能選択部61を用いて適切な認証手段を選択した上で、認証機能実行部62を通じて認証デバイス51に対する認証操作の実行指示を行い、操作に基づく認証結果を得た後に、その内容を通信処理部52を用い、外部機器に対して認証応答として送信する」という動作を行うための中核モジュールとして機能しており、例えば、認証機能実行部62を介して認証デバイス51へ指示するなどして、各認証デバイス51へ上述したイニシャル情報の登録、設定、選択および操作実行などを指示できる。
なお、上記では、一例として、数値からなる認証カウントによって、認証精度に基づく認証条件を指定する場合について説明したが、例えば、レベルなしである“None”から、“L1”、“L2”、…、“L5”とレベルが上がるに従って、随時セキュリティが高くなるようなセキュリティのレベルによって、認証精度に基づく認証条件を指定してもよい。例えば、記憶部54に、図20に示す対応表など、認証レベルと認証カウントとを相互に変換するための情報を記憶しておき、認証制御部53が一方を他方に変換してもよい。これにより、例えば、UI処理部11がセキュリティレベルの指定を認証カウントではなく認証レベルでのみ指定可能な場合であっても、認証装置15は、何ら支障なく指定されたレベルのセキュリティでの認証処理を行うことができる。この結果、認証レベルでセキュリティレベルを指定可能なUI処理部11と、認証カウントでセキュリティレベルを指定可能なUI処理部11とが混在している認証システム1において、サービス提供者が認証レベルと認証カウントとの双方を指定しなくても、何ら支障なく、各認証装置15に認証させることができる。したがって、サービス提供者の負担を軽減しつつ、大規模な認証システム1を比較的容易に提供できる。なお、上記実施形態での認証画面では、携帯端末での認証における遷移例を示したが、適用は必ずしもその範囲に限定されることはなく、PCやTVなど家電機器においても適用可能である。
なお、上記実施形態では、各装置を構成する各部材が、「CPUなどの演算手段がROMまたはRAMなどの記録媒体に格納されたプログラムコードを実行することで実現される機能ブロックである」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御または残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御または残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスまたは種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。また、上記各部材のうちの記憶装置21、記憶部54は、メモリなどの記憶装置自体であってもよい。
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム(プログラムコードまたは上記データ)を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割/周波数分割/符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え(書き込み)可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー(登録商標)ディスクやハードディスクなどの磁気ディスク、または、CD−ROMや光磁気ディスク(MO)、ミニディスク(MD)やデジタルビデオディスク(DVD)などのディスクが挙げられる。また、記録媒体は、ICカードや光カードのようなカード型デバイス、あるいは、マスクROMやEPROM、EEPROMまたはフラッシュROMなどのような半導体メモリであってもよい。あるいは、CPUなどの演算手段内に形成されたメモリであってもよい。
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム(例えば、オペレーティングシステムやライブラリなど)が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体(例えば、実メモリやハードディスクなど)にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
以上のように、本発明に係る認証装置は、上記課題を解決するために、ユーザもしくは機器を特定するための認証装置であって、複数の認証手段と、受け付けた認証要求に応じて、上記複数の認証手段のうちの少なくとも1つを選択し、選択した認証手段に対し認証操作を指示すると共に、当該選択した認証手段の認証結果に基づいて上記認証要求に対する認証応答を生成する認証制御手段とを備えていることを特徴としている。
また、上記構成に加えて、上記認証要求には、上記複数の認証手段のうちの認証に使用する認証手段の特性を示す属性情報で認証の条件を指定する認証条件情報が含まれており、上記認証制御手段は、上記複数の認証手段の特性を示す属性情報を記憶する記憶装置を参照して、上記複数の認証手段の中から、上記認証条件情報の示す認証条件を満足する認証手段を選択してもよい。
これらの構成では、認証システムに設けられる認証手段のうち、受け付けた認証要求に応じて選択された認証手段によって認証が行われる。したがって、従来の構成のように、複数の認証手段での認証処理が行われた後、その認証処理結果に応じて、サービスを提供する際の権限を決定する構成と比較して、その認証要求に応える際に不要な認証手段での認証を省略できる。
これにより、例えば、ユーザの負担を軽減できる。また、不要な認証が省略されているので、例えば、ユーザになりすまそうとしている第三者が、ユーザの挙動あるいは認証システムの入出力などを盗み見ていたとしても、当該第三者に与える情報を少なくすることができ、安全性を向上できる。
また、上記構成に加えて、上記記憶装置には、上記各認証手段に関連付けて、複数種類の属性情報が記憶されており、上記認証制御手段は、上記認証条件情報の示す認証条件が、上記複数種類の属性情報のいずれで指定されているかを判定し、上記複数の認証手段の特性を示す属性情報を記憶する記憶装置を参照して、上記複数の認証手段の中から、その種類の属性情報で指定された認証条件を満足する認証手段を選択してもよい。
当該構成では、例えば、サービス提供の際などに、必要な認証要求を設定する設計者は、複数の属性情報の種類のうちから、適切な種類を選択し、その種類の属性情報で認証条件を指定できるので、より柔軟に認証条件を設定できる。
さらに、上記構成に加えて、上記属性情報には、その認証手段の認証方法を示す情報が含まれており、上記認証制御手段は、認証方法で認証条件を指定した認証要求を受け付けた場合、上記記憶装置を参照して、当該認証方法を示す属性情報に関連付けられた認証手段を選択してもよい。
上記構成では、認証デバイス等の認証手段自体ではなく、その認証方法によって、認証に使用する認証手段を特定できるので、認証手段を特定するしかできない構成よりも、柔軟な認証条件の指定が可能になる。
また、上記構成に加えて、上記属性情報には、その認証手段の認証精度を示す認証精度情報が含まれており、上記認証制御手段は、認証精度で認証条件を指定した認証要求を受け付けた場合、選択した認証手段、または、その組み合わせの認証精度を、上記記憶装置に格納された認証手段の属性情報のうち、選択された認証手段の属性手段を参照して評価した結果が、指定された認証精度よりも高い認証精度を示す値になるように、認証手段を選択してもよい。また、上記構成に加えて、上記認証精度情報は、認証精度を示す数値であり、上記認証精度で認証条件を指定した認証要求は、選択される認証手段の認証精度の評価結果の下限値で指定されており、上記認証制御手段は、認証精度の評価結果の下限値で認証条件を指定した認証要求を受け付けた場合、選択した認証手段、または、その組み合わせの認証精度を、上記記憶装置に格納された認証手段の数値のうち、選択された認証手段の数値を参照して評価した結果が、指定された下限値よりも大きくなるように、認証手段を選択してもよい。さらに、上記構成に加えて、上記認証制御手段は、選択された認証手段の数値の総和によって、選択された認証手段、または、その組み合わせの認証精度を評価してもよい。
これらの構成では、認証手段自体ではなく、その認証精度によって、認証に使用する認証手段を特定できるので、認証手段を特定することしかできない構成よりも、柔軟な認証条件の指定が可能になる。
また、認証手段を柔軟に選択することが可能なことから、必ずしも特定の認証方式を備える機器でなくとも適用可能である。さらに、サービスの利用時に、ある認証精度を要求するネットワークサービスへのアクセスにおいても、認証精度を満足できる代替手段を備えた機器からサービスをシームレスに利用することが可能になる。
さらに、上記構成に加えて、上記認証制御手段は、上記複数の認証手段が既に認証に成功しているか否かを管理すると共に、認証精度で認証条件を指定した認証要求を受け付けた場合、既に認証に成功している認証手段の認証精度の評価結果が、指定された認証精度よりも高い認証精度を示す値であれば、認証成功を示す認証応答を生成してもよい。
また、上記構成に加えて、上記認証制御手段は、既に認証に成功している認証手段の認証精度の評価結果が、指定された認証精度よりも高い認証精度を示す値でない場合は、追加して選択する認証手段と、既に認証に成功している認証手段との組み合わせの認証精度の評価結果が、上記指定された認証精度よりも高い認証精度を示す値になるように、上記追加の認証手段を選択してもよい。
これらの構成では、既に認証に成功している認証手段の認証精度の評価結果が、指定された認証精度よりも高い認証精度を示す値であれば、新たに認証手段による認証処理を行わなくても認証成功を示す認証応答を生成するので、認証時の手間を大幅に削減できる。
また、追加の認証手段にて認証操作を行った結果を、既に獲得している認証精度とあわせて評価を行うことにより、追加分のみの認証操作を行うだけでよく、認証時の計算コストを低減させることが可能である。
なお、この場合であっても、既に認証に成功している認証手段の認証精度の評価結果が、指定された認証精度よりも高い認証精度を示す値なので、認証時の手間が削減されているにも拘わらず、安全性の低下を防止できる。
また、上記構成に加えて、上記認証制御手段は、上記複数の認証手段の選択結果として、複数の選択結果を取り得る場合、いずれを選択するかをユーザに問い合わせてもよい。これにより、ユーザが認証手段の選択結果のうち、いずれを選択するかを決定できるので、ユーザの利便性を向上できる。
また、上記構成に加えて、上記認証制御手段に接続される上記複数の認証手段は、通信ネットワークを用いて接続されてもよい。これにより、複数の認証手段は、認証制御手段との間でハードウェア的に直接接続されている必要がないため、ユーザの利便性を向上できる。
ところで、上記認証装置は、ハードウェアで実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、上述した認証装置のいずれかに設けられた各手段として、コンピュータを動作させるプログラムであり、本発明に係る記録媒体には、当該プログラムが記録されている。
これらのプログラムがコンピュータによって実行されると、当該コンピュータは、上記認証装置として動作する。したがって、上記認証装置と同様、従来の構成のように、複数の認証手段での認証処理が行われた後、その認証処理結果に応じて、サービスを提供する際の権限を決定する構成と比較して、その認証要求に応える際に不要な認証手段での認証を省略できる。このため、ユーザの負担を軽減すると共に、安全性を向上できる。
発明の詳細な説明の項においてなされた具体的な実施態様または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する特許請求事項との範囲内で、いろいろと変更して実施することができるものである。