(58)【調査した分野】(Int.Cl.,DB名)
複数の特徴情報を用いてユーザの認証を行う認証装置に対して認証対象とするユーザである認証対象者に関する一以上の特徴情報を組み合わせて入力する認証要素選択装置であって、
複数の特徴情報から一以上の特徴情報が含まれる相異なる特徴情報の組み合わせを抽出する複数のマスクを生成するマスク生成部と、
上記複数のマスクそれぞれについて、認証対象者に関する過去の特徴情報に当該マスクをかけて上記認証装置に入力したときに認証に失敗した割合を表す本人拒否率と、認証対象者以外のユーザに関する過去の特徴情報に当該マスクをかけて上記認証装置に入力したときに認証に成功した割合を表す他人受入率とを計算するマスク評価部と、
上記本人拒否率と上記他人受入率とに基づいて、上記複数のマスクの中から認証対象者に適用する利用マスクを決定し、入力された認証対象者に関する特徴情報に上記利用マスクをかけて上記認証装置へ入力する利用マスク選択部と、
を含む認証要素選択装置。
複数の特徴情報を用いてユーザの認証を行う認証装置に対して認証対象とするユーザである認証対象者に関する一以上の特徴情報を組み合わせて入力する認証要素選択方法であって、
マスク生成部が、複数の特徴情報から一以上の特徴情報が含まれる相異なる特徴情報の組み合わせを抽出する複数のマスクを生成するマスク生成ステップと、
マスク評価部が、上記複数のマスクそれぞれについて、認証対象者に関する過去の特徴情報に当該マスクをかけて上記認証装置に入力したときに認証に失敗した割合を表す本人拒否率と、認証対象者以外のユーザに関する過去の特徴情報に当該マスクをかけて上記認証装置に入力したときに認証に成功した割合を表す他人受入率とを計算するマスク評価ステップと、
利用マスク選択部が、上記本人拒否率と上記他人受入率とに基づいて、上記複数のマスクの中から認証対象者に適用する利用マスクを決定し、入力された認証対象者に関する特徴情報に上記利用マスクをかけて上記認証装置へ入力する利用マスク選択ステップと、
を含む認証要素選択方法。
【発明を実施するための形態】
【0011】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0012】
この発明の認証要素選択技術では、特徴情報を用いて認証や不正アクセスのリスクを判定する技術において、ユーザごとに本人拒否率(FRR: False Rejection Rate)および他人受入率(FAR: False Acceptance Rate)が最適となる特徴情報の組み合わせを選択することで、本人識別精度を向上する。特徴情報は、従来技術と同様に、認証に利用する利用者環境や行動パターンを表す情報である。本人拒否率とは、本人であるにもかかわらず本人ではないと判断されてしまう確率である。他人受入率とは、他人であるにもかかわらず本人であると誤認してしまう確率である。
【0013】
以下の実施形態では、従来技術と同様に、特徴情報を認証のたびに収集・蓄積し、学習データとして利用する認証システムを前提とする。この認証システムでは、学習データが更新された任意のタイミングで、全N個の特徴情報から、1〜N個を選び出すすべての組み合わせ(もしくは、予め定められた任意の組み合わせ)について、収集・蓄積された当該ユーザ本人の特徴情報と、任意の他のユーザの特徴情報とを用いて、本人拒否率および他人受入率を計算する。
【0014】
特徴情報の組み合わせの抽出は、ベクトル演算を用いたマスキングで実現する。これにより、取り扱うことができる特徴情報の数に依存しない汎用性の高い認証システムとすることができる。得られた本人拒否率と他人受入率とから、任意のポリシーに基づいて、利用する特徴情報の組み合わせを決定する。そして、決定した特徴情報の組み合わせを用いて、搭載された認証アルゴリズムを実行する。
【0015】
実施形態の認証システムは、
図1に示すように、認証要素選択装置1と認証装置2とを含む。認証要素選択装置1は、
図1に示すように、マスク生成部11、マスク評価部12、利用マスク選択部13、ログ記憶部14、および評価結果記憶部15を備える。この認証要素選択装置1と認証装置2とが協調して後述する各ステップの処理を行うことにより実施形態の認証要素選択方法が実現される。
【0016】
認証要素選択装置1は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。認証要素選択装置1は、例えば、中央演算処理装置の制御のもとで各処理を実行する。認証要素選択装置1に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、認証要素選択装置1の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。認証要素選択装置1が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。認証要素選択装置1が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【0017】
ログ記憶部14には、認証装置2により認証される複数のユーザに関する過去の特徴情報からなる特徴情報ログが蓄積されている。各特徴情報ログは、認証装置2の入力に合致するように、ユーザを一意に識別するための識別子(以後、ユーザIDと呼ぶ)と、m種類の特徴情報が各列に設定された1行m列の行列とを含むように構成されている。
図2に、ログ記憶部14に記憶される特徴情報ログテーブルの例を示す。
図2の例では、ユーザIDが「0001」であるユーザに関して、3種類の特徴情報x1, x2, x3が関連付けて蓄積されている。各特徴情報ログには、その特徴情報ログを一意に識別する連番(ログ番号)が付与されている。
【0018】
認証装置2は、複数の特徴情報を用いてユーザの認証を行う機能を備える情報処理装置である。この実施形態では、例えば、特徴情報ベクトルを入力とし、任意の認証アルゴリズムにより認証を実行し、その認証結果(成功もしくは失敗)を出力するインターフェースを備えるものとする。特徴情報ベクトルは、ユーザIDと、当該ユーザに関するm種類の特徴情報が各列に設定された1行m列の行列とを含む。認証装置2が実行する認証アルゴリズムは、入出力のインターフェースが合っている限り、特に限定されない。
図1では、認証装置2を一台の装置からなる認証装置として示したが、複数台の装置から構成される認証システムであっても構わない。
【0019】
以下、
図5を参照して、実施形態の認証要素選択方法の処理手続きを説明する。
【0020】
ステップS111において、マスク生成部11は、認証対象とするユーザ(以後、認証対象者と呼ぶ)に関する特徴情報ベクトル(U, X)を受信する。ここで、Uは認証対象者のユーザIDであり、X=(x
1, …, x
m)は認証対象者に関するm種類の特徴情報が各列に設定された1行m列の行列である。
【0021】
ステップS112において、マスク生成部11は、一以上の特徴情報が含まれる相異なる特徴情報の組み合わせを抽出する複数のマスクを生成する。各マスクは、例えば、m種類の特徴情報から1〜m種類の特徴情報を選び出す任意の組み合わせについて、選んだ特徴情報は透過する旨を示す情報が設定され、その他の特徴情報は認証に利用しない旨を表す情報が設定された、1行m列の行列マスクにより表現される。マスクは特徴情報のすべての組み合わせについて生成してもよいし、一部の組み合わせのみについて生成してもよい。以降の説明では、α個のマスクM
1, …, M
αが生成されたものとする。
【0022】
図6を用いて、マスクの作成について、具体例を挙げて説明する。
図3の例では、3種類の特徴情報x
1, x
2, x
3を用いるものとし、入力された特徴情報ベクトル(x
1, x
2, x
3)に対して、特徴情報のすべての組み合わせを抽出するための7個のマスク(1, 1, 1), (1, 1, 0), (1, 0, 1), (0, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)を生成している。ここでは、マスク中で「1」が設定された列の特徴情報は透過し、「0」が設定された列の特徴情報は利用しないことを表している。したがって、例えば、入力された特徴情報ベクトル(x
1, x
2, x
3)にマスク(1, 1, 0)をかけると、その演算結果は(x
1, x
2, 0)となる。また、例えば、特徴情報ベクトル(x
1, x
2, x
3)にマスク(0, 1, 0)をかけると、その演算結果は(0, x
2, 0)となる。
【0023】
マスク生成部11は、生成したマスクM
1, …, M
αを用いて、認証対象者に関するマスク評価結果テーブルを生成し、評価結果記憶部15へ記憶する。
図3に、生成時のマスク評価結果テーブルの具体例を示す。
図3の例は、ユーザIDが「0001」であるユーザに関するマスク評価結果テーブルである。各マスク(1, 2, 3, …, α)に対して、そのマスクを一意に識別する識別子(マスクID)が設定され、以降のステップS122−S123で算出される本人拒否率(FRR)と他人受入率(FAR)とを保持するための空の列が用意されている。
【0024】
ステップS121において、マスク評価部12は、マスク生成部11で生成されたα個のマスクM
1, …, M
αの中から評価対象とするマスクMを選択する。
【0025】
ステップS122において、マスク評価部12は、選択されたマスクMについて、認証対象者に関する本人拒否率を算出する。算出したマスクMの本人拒否率は、評価結果記憶部15に記憶されているマスク評価結果テーブルに書き込む。
図4に評価後のマスク評価結果テーブルの具体例を示す。
図4の例では、マスクIDが「1」であるマスク(1, 1, 1)のFRRは「0.1」すなわち10%であり、マスクIDが「2」であるマスク(1, 1, 0)のFRRは「0.05」すなわち5%である。
【0026】
以下、
図7を参照して、本人拒否率の算出処理について、より詳細に説明する。
【0027】
ステップS1221において、マスク評価部12は、ログ記憶部14に蓄積された特徴情報ログテーブルから、認証対象者本人に関する特徴情報ログX
1, …, X
K1を抽出する。K1は、マスクMを評価するための特徴情報ログの数である。K1は予め定めた定数であってもよいし、認証対象者本人に関するすべての特徴情報ログの数であってもよい。
【0028】
ステップS1222において、マスク評価部12は、特徴情報ログを参照するためのインデックスN1を1に初期化する。
【0029】
ステップS1223において、マスク評価部12は、N1番目の特徴情報ログX
N1に評価対象のマスクMをかけてマスク済み特徴情報X'
N1を生成し、そのマスク済み特徴情報X'
N1と認証対象者のユーザIDとを組にした特徴情報ベクトル(U, X'
N1)を、認証装置2へ入力する。認証装置2では、入力されたマスク済み特徴情報X'
N1を用いて認証対象者Uの認証を実行し、その認証結果をマスク評価部12へ出力する。
【0030】
ステップS1224において、マスク評価部12は、認証装置2から特徴情報ベクトル(U, X'
N1)に対する認証結果を受信する。
【0031】
ステップS1225において、マスク評価部12は、認証結果が認証成功であったか認証失敗であったかを検証する。認証失敗(No)であれば、ステップS1226において、NG回数をカウントアップし、ステップS1227へ処理を進める。認証成功(Yes)であれば、ステップS1226をスキップして、ステップS1227へ処理を進める。
【0032】
ステップS1227において、マスク評価部12は、N1がK1に達しているか否かを確認する。N1≠K1(No)であれば、ステップS1228において、N1をインクリメントし、ステップS1223からステップS1227の処理を再度実行する。N1=K1(Yes)であれば、ステップS1229へ処理を進める。
【0033】
ステップS1229において、マスク評価部12は、最終的なNG回数を、認証結果を得た特徴情報ログの件数K1で除算して、マスクMの本人拒否率を計算する。算出したマスクMの本人拒否率は、マスク評価結果テーブルの該当レコードに書き込む。
【0034】
ステップS123において、マスク評価部12は、選択されたマスクMについて、認証対象者に関する他人受入率を算出する。算出したマスクMの他人受入率は、評価結果記憶部15に記憶されているマスク評価結果テーブルに書き込む。
図4に評価後のマスク評価結果テーブルの具体例を示す。
図4の例では、マスクIDが「1」であるマスク(1, 1, 1)のFARは「0.03」すなわち3%であり、マスクIDが「2」であるマスク(1, 1, 0)のFARは「0.05」すなわち5%である。
【0035】
以下、
図8を参照して、他人受入率の算出処理について、より詳細に説明する。
【0036】
ステップS1231において、マスク評価部12は、ログ記憶部14に蓄積された特徴情報ログテーブルから、認証対象者以外のユーザに関する特徴情報ログX
1, …, X
K2を抽出する。K2は、マスクMを評価するための特徴情報ログの数である。K2は予め定めた定数であってもよいし、認証対象者以外のユーザに関するすべての特徴情報ログの数であってもよい。
【0037】
ステップS1232において、マスク評価部12は、特徴情報ログを参照するためのインデックスN2を1に初期化する。
【0038】
ステップS1233において、マスク評価部12は、N2番目の特徴情報ログX
N2に評価対象のマスクMをかけてマスク済み特徴情報X'
N2を生成し、そのマスク済み特徴情報X'
N2と認証対象者のユーザIDとを組にした特徴情報ベクトル(U, X'
N2)を、認証装置2へ入力する。認証装置2では、入力されたマスク済み特徴情報X'
N2を用いて認証対象者Uの認証を実行し、その認証結果をマスク評価部12へ出力する。
【0039】
ステップS1234において、マスク評価部12は、認証装置2から特徴情報ベクトル(U, X'
N2)に対する認証結果を受信する。
【0040】
ステップS1235において、マスク評価部12は、認証結果が認証成功であったか認証失敗であったかを検証する。認証成功(Yes)であれば、ステップS1236において、OK回数をカウントアップし、ステップS1237へ処理を進める。認証失敗(No)であれば、ステップS1236をスキップして、ステップS1237へ処理を進める。
【0041】
ステップS1237において、マスク評価部12は、N2がK2に達しているか否かを確認する。N2≠K2(No)であれば、ステップS1238において、N2をインクリメントし、ステップS1233からステップS1237の処理を再度実行する。N2=K2(Yes)であれば、ステップS1239へ処理を進める。
【0042】
ステップS1239において、マスク評価部12は、最終的なOK回数を、認証結果を得た特徴情報ログの件数K2で除算して、マスクMの他人受入率を算出する。算出したマスクMの他人受入率は、マスク評価結果テーブルの該当レコードに書き込む。
【0043】
ステップS124において、マスク評価部12は、すべてのマスクM
1, …, M
αについて、本人拒否率および他人受入率の算出が完了しているか否かを確認する。未評価のマスクが存在する場合には、ステップS121へ処理を戻し、未評価のマスクMを選択して、再度ステップS122−S123を実行する。
【0044】
ステップS131において、利用マスク選択部13は、評価結果記憶部15に記憶されたマスク評価結果テーブルから、認証対象者に関する各マスクの本人拒否率および他人受入率を読み込み、予め定めたマスク選択ポリシーに基づいて、認証対象者に対して最適なマスク(以後、利用マスクと呼ぶ)を選択する。その後、利用マスク選択部13は、入力された認証対象者に関する特徴情報X=(x
1, x
2, …, x
m)に利用マスクMをかけてマスク済み特徴情報X'を生成し、そのマスク済み特徴情報X'と認証対象者のユーザIDとを組にした特徴情報ベクトル(U, X')を、認証装置2へ入力する。
【0045】
図9に、マスク選択ポリシーの具体例を示す。
図9(A)は、FARが最小であるマスクを選択するためのポリシーである。
図9(B)は、FRRとFARとの和が最小であるマスクを選択するためのポリシーである。
図9(C)は、FRRとFARとの和が0.1未満、かつ、FRRとFARとの差の絶対値が最小であるマスクを選択するためのポリシーである。
【0046】
上記のように構成することにより、この発明の認証要素選択技術によれば、ユーザごとに異なる最適な特徴情報の組み合わせを、認証試行時に動的に選択することができる。これにより、全ユーザに対して固定の特徴情報を用いる従来技術よりも本人識別精度を向上させることができる。
【0047】
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0048】
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【0049】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0050】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0051】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0052】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。