以下、本発明による認証装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による認証装置について、図面を参照しながら説明する。本実施の形態による認証装置は、条件情報の満たす条件が満たされる場合に、認証情報を受け付け、その認証情報に応じた認証を行うものである。
図1は、本実施の形態による認証装置1の構成を示すブロック図である。本実施の形態による認証装置1は、ログイン認証情報受付部11と、ログイン認証部12と、入力受付部13と、処理実行部14と、処理履歴情報蓄積部15と、条件情報記憶部16と、判断部17と、認証方法対応情報記憶部18と、入力要求情報出力部19と、認証情報受付部20と、認証部21と、認証履歴情報蓄積部22と、制御部23とを備える。
ログイン認証情報受付部11は、ログイン時の認証情報であるログイン認証情報を受け付ける。このログイン認証情報は、ログイン時の認証に用いられるものである。ログイン認証情報は、例えば、パスワードであってもよく、指紋や虹彩、手のひらの静脈、声紋等の生体認証情報であってもよく、その他の認証情報であってもよい。パスワードは、入力デバイスを用いて入力されたものであってもよく、RFID(Radio Frequency Identification)等から読み出されたものであってもよい。また、ログイン認証情報には、ユーザを識別するユーザ識別情報や、グループや部署を識別するグループ識別情報等が含まれていてもよい。
ログイン認証情報受付部11は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたログイン認証情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信されたログイン認証情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたログイン認証情報を受け付けてもよい。なお、ログイン認証情報受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、ログイン認証情報受付部11は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
ログイン認証部12は、ログイン認証情報受付部11が受け付けたログイン認証情報を用いて、正当であるかどうかを認証する。ログイン認証部12は、例えば、あらかじめ登録されている、ログイン時の認証で用いる情報である登録ログイン認証情報を用いて認証を行ってもよい。その登録ログイン認証情報は、図示しない記録媒体において記憶されていてもよい。ログイン認証部12は、例えば、ログイン認証情報に含まれるパスワード等の情報と、登録ログイン認証情報に含まれるパスワード等の情報とが、一致する場合に正当であると認証してもよく、所定の関係にある場合に正当であると認証してもよい。所定の関係にあるとは、例えば、一方のパスワード等についてあらかじめ決められた処理(例えば、ハッシュをとる処理であってもよく、所定の演算を行う処理でもよい)を行ったものが、他のパスワード等と一致することであってもよい。また、ログイン認証部12は、例えば、ログイン時の認証を行う図示しないサーバ等にログイン認証情報を送信し、そのサーバ等での認証の結果を受信することによって、ログイン時の認証を行ってもよい。なお、ログイン認証部12によって正当であると認証された場合には、後述する処理実行部14や、判断部17、認証情報受付部18、認証部21、制御部22による処理が実行されることになり、正当でないと認証された場合には、後述する処理実行部14や、判断部17、認証情報受付部18、認証部21、制御部22による処理が実行されないことになる。なお、このログイン時の認証については、すでに公知であり、詳細な説明を省略する。
また、ログイン認証部12によって正当であると認証された際に、ログイン処理が実行されてもよい。ログイン処理は、例えば、ログイン認証情報に含まれていたユーザ識別情報を管理したり、プロセスの管理をしたりする処理等であり、すでに公知であるため、詳細な説明を省略する。このログイン処理を実行する場合には、図示しないログイン処理部を認証装置1が備えてもよく、あるいは、他の構成要素(例えば、処理実行部14等)がそのログイン処理を実行してもよい。
入力受付部13は、入力を受け付ける。この入力は、例えば、後述する処理実行部14での処理の実行を要求する処理要求情報の入力であってもよく、その他の入力であってもよい。
入力受付部13は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報の入力を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報の入力を受け付けてもよい。なお、入力受付部13は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、入力受付部13は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
処理実行部14は、入力受付部13が受け付けた入力に応じた処理を実行する。処理実行部14による処理は、例えば、アプリケーションの処理であってもよく、OS(Operating System)の処理であってもよく、通信に関する処理であってもよく、その他の処理であってもよい。
処理履歴情報蓄積部15は、処理実行部14が実行した処理(例えば、実行プログラムであってもよく、プロセスであってもよく、タスクであってもよく、その他の単位の処理であってもよい)の履歴に関する情報である処理履歴情報を記録媒体に蓄積する。処理履歴情報蓄積部15は、処理履歴情報に含まれる処理内容を示す情報を、例えば、処理実行部14から受け取ってもよい。この記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、処理履歴情報蓄積部15が有していてもよく、あるいは処理履歴情報蓄積部15の外部に存在してもよい。また、この記録媒体は、処理履歴情報を一時的に記憶するものであってもよく、そうでなくてもよい。処理履歴情報は、例えば、処理実行部14が実行した処理を示す情報を含んでもよく、処理実行部14が実行しなかった処理(例えば、後述する認証によって正当でないと判断されたことによって実行できなかった処理や、実行途中にエラーが発生したことにより、適切に実行できなかった処理等)を示す情報を含んでもよい。また、処理履歴情報は、例えば、処理の実行された日時を示す情報を含んでもよい。
条件情報記憶部16では、認証を行う条件を示す情報である条件情報が記憶される。条件情報記憶部16で記憶される条件情報は、1個であってもよく、2個以上であってもよい。条件情報、及びその条件情報の条件の判断については後述する。なお、認証装置1がプログラムによって動作する場合に、例えば、この条件情報はプログラムに埋め込まれている情報であってもよく、あるいは、そうでなくてもよい。
条件情報記憶部16に条件情報が記憶される過程は問わない。例えば、記録媒体を介して条件情報が条件情報記憶部16で記憶されるようになってもよく、通信回線等を介して送信された条件情報が条件情報記憶部16で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された条件情報が条件情報記憶部16で記憶されるようになってもよい。条件情報記憶部16での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。条件情報記憶部16は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
判断部17は、条件情報記憶部16で記憶されている条件情報の条件が満たされるかどうか判断する。条件情報記憶部16で2以上の条件情報が記憶されている場合には、判断部17は、その各条件情報の条件が満たされるかどうか判断してもよい。
ここで、条件情報記憶部16で記憶される条件情報と、判断部17による判断とについて説明する。
条件情報は、例えば、特定の処理を実行することを認証の条件とするものであってもよい。この場合には、例えば、その特定の処理を識別する情報(例えば、処理の名称等であってもよい。処理の名称は、例えば、関数名、メソッド名、プロセス名、メッセージ名等であってもよい)が、条件情報に含まれていてもよい。また、特定の処理は、例えば、処理内容(例えば、処理の名称等)のみを示すものであってもよく、あるいは、処理内容と共に、処理対象(例えば、処理が行われるファイル名等)をも示すものであってもよい。条件情報が、特定の処理を実行することを認証の条件とするものである場合には、その特定の処理が実行される際に、判断部17によって、この条件情報が満たされると判断されることになる。判断部17は、例えば、その特定の処理の実行を要求する処理要求情報が入力受付部13で受け付けられた際に、この条件情報が満たされると判断してもよく(この場合には、その特定の処理が実行される前に、後述する認証の処理が行われることになる)、あるいは、その特定の処理が処理実行部14で開始された際に、この条件情報が満たされると判断してもよい(この場合には、その特定の処理の一部が実行された後に、後述する認証の処理が行われることになる)。
また、その特定の処理は、情報の送信であってもよい。その場合に、条件情報に、その処理を識別する情報として、「send」等の関数名が含まれていてもよい。また、例えば、情報の送信先(例えば、IPアドレスやポート番号等)が条件情報に含まれていてもよく、含まれていなくてもよい。また、例えば、情報の送信形態(例えば、TCP/IPや、UDP、SMTP等のプロトコルであってもよい)が条件情報に含まれていてもよく、含まれていなくてもよい。また、その他の送信に関する条件が条件情報に含まれていてもよく、含まれていなくてもよい。例えば、条件情報は、特定の送信先(あるいは、特定の送信先でない送信先)への情報の送信処理を実行することを認証の条件とするものであってもよい。
また、その特定の処理は、特定のウィンドウをアクティブにすることであってもよい。その場合に、特定のウィンドウを識別するために、例えば、アクティブなウィンドウのタイトルが条件情報に含まれていてもよく、あるいは、アクティブなウィンドウのタイトルと、そのウィンドウで実行されているプロセス名とが条件情報に含まれていてもよい。例えば、条件情報は、特定のタイトルのウィンドウをアクティブにする処理を実行することを認証の条件とするものであってもよい。
また、条件情報は、例えば、入力受付部13で所定の時間以上入力が受け付けられていないことを認証の条件とするものであってもよい。この場合には、所定の時間以上、入力受付部13で入力が受け付けられていない場合に、判断部17によって、この条件情報が満たされると判断されることになる。なお、判断部17は、入力受付部13での最後の入力が受け付けられてから所定の時間が経過した時点で、この条件情報が満たされると判断してもよく、あるいは、入力受付部13での最後の入力が受け付けられてから所定の時間が経過した後であって、新たな入力が入力受付部13で受け付けられた時点で、この条件情報が満たされると判断してもよい。
また、条件情報は、例えば、特定のファイルに対する処理を実行することを認証の条件とするものであってもよい。この場合には、例えば、その特定のファイルを識別する情報が、条件情報に含まれていてもよい。条件情報が、特定のファイルに対する処理を実行することを認証の条件とするものである場合には、その特定のファイルに対する処理が実行される際に、判断部17によって、この条件情報が満たされると判断されることになる。その判断の際に、判断部17は、その条件情報で示される特定のファイルに関する処理であれば、どのような処理がなされる場合にも、この条件情報が満たされると判断してもよい。また、判断部17は、例えば、その特定のファイルに対する処理の実行を要求する処理要求情報が入力受付部13で受け付けられた際に、この条件情報が満たされると判断してもよく(この場合には、その特定のファイルに対する処理が実行される前に、後述する認証の処理が行われることになる)、あるいは、その特定のファイルに対する処理が処理実行部14で開始された際に、この条件情報が満たされると判断してもよい(この場合には、その特定のファイルに対する処理の一部が実行された後に、後述する認証の処理が行われることになる)。
また、条件情報記憶部16で記憶される条件情報は、これら以外の情報であってもよい。例えば、ユーザが処理を行う場合には、読み取り機にRFIDを有するカード(例えば、社員証のICカード等)を装着したり、載せたりすることになっている場合には、その読み取り機でRFIDの情報を読み取ることができなくなったことを認証の条件とする条件情報が条件情報記憶部16で記憶されてもよい。
認証方法対応情報記憶部18では、条件情報と、認証方法識別情報とを対応付ける情報である認証方法対応情報が記憶される。認証方法識別情報とは、認証方法を識別する情報である。認証方法としては、例えば、キーボード等から入力されたパスワードを用いて認証する認証方法や、カード(例えば、そのカードの有するRFIDや、磁気ストライプ等に認証情報が含まれていてもよい)から読み出された情報を用いて認証する認証方法、生体情報(例えば、指紋や虹彩、手のひらの静脈、声紋等)を用いて認証する認証方法、あるいは、その他の認証方法がありうる。なお、認証装置1がプログラムによって動作する場合に、例えば、この認証方法対応情報はプログラムに埋め込まれている情報であってもよく、あるいは、そうでなくてもよい。
ここで、「条件情報と、認証方法識別情報とを対応付ける」とは、条件情報と認証方法識別情報の一方の情報から、他方の情報を取得できればよいという意味である。したがって、認証方法対応情報は、条件情報と認証方法識別情報とを組として含む情報を有してもよく、条件情報と認証方法識別情報とをリンク付ける情報であってもよい。後者の場合には、認証方法対応情報は、例えば、条件情報と認証方法識別情報の格納されている位置を示すポインタやアドレスとを対応付ける情報であってもよい。本実施の形態では、認証方法対応情報が、条件情報を識別する情報と認証方法識別情報とを組として含む情報を有する場合について説明する。また、条件情報と認証方法識別情報とは、直接対応付けられていなくてもよい。例えば、条件情報に、第3の情報が対応しており、その第3の情報に認証方法識別情報が対応していてもよい。他の2以上の情報が対応付けられている場合にも同様であるとする。
なお、認証方法対応情報を作成する際に、例えば、機密レベルに応じて、条件情報と、認証方法識別情報とを対応付けるようにしてもよい。例えば、より機密レベルの高い処理に応じた条件情報には、より安全性の高い認証(例えば、生体認証等)に応じた認証方法識別情報が対応付けられるようにしてもよい。また、一の条件情報に、二以上の認証方法識別情報が対応付けられるようにしてもよい。この場合には、その一の条件情報が満たされると判断された場合に、その一の条件情報に対応付けられている二以上の認証方法識別情報で識別される二以上の認証方法を用いた認証が行われるようにしてもよい。
認証方法対応情報記憶部18に認証方法対応情報が記憶される過程は問わない。例えば、記録媒体を介して認証方法対応情報が認証方法対応情報記憶部18で記憶されるようになってもよく、通信回線等を介して送信された認証方法対応情報が認証方法対応情報記憶部18で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された認証方法対応情報が認証方法対応情報記憶部18で記憶されるようになってもよい。認証方法対応情報記憶部18での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。認証方法対応情報記憶部18は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
入力要求情報出力部19は、条件情報記憶部16で記憶されている条件情報の条件が満たされると判断部17が判断した場合に、認証情報の入力を要求する情報である入力要求情報を出力する。また、入力要求情報出力部19は、判断部17によって条件が満たされると判断された条件情報に、認証方法対応情報記憶部18で記憶されている認証方法対応情報によって対応付けられる認証方法識別情報の識別する認証方法による認証情報の入力を要求する入力要求情報を出力してもよい。本実施の形態では、この場合について説明する。
入力要求情報出力部19が出力する入力要求情報は、図示しない記録媒体において記憶されており、入力要求情報出力部19は、その入力要求情報を読み出して出力してもよい。入力要求情報出力部19が、条件が満たされると判断された条件情報に対応する認証方法による認証情報の入力を要求する入力要求情報を出力する場合には、図示しない記録媒体において、認証方法対応情報に対応付けられた入力要求情報が記憶されていており、入力要求情報出力部19は、条件が満たされると判断された条件情報に対応する認証方法識別情報に対応付けられている入力要求情報を読み出して出力してもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、この出力が送信や、記録媒体への蓄積、他の構成要素への引き渡しである場合であっても、最終的に入力要求情報がユーザに対して示されるものとする。入力要求情報は、認証情報の入力をユーザに要求するものであるからである。また、入力要求情報出力部19は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、入力要求情報出力部19は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
認証情報受付部20は、入力要求情報の出力に応じて、認証情報を受け付ける。この認証情報は、例えば、パスワードであってもよく、指紋や虹彩、手のひらの静脈、声紋等の生体認証情報であってもよく、その他の認証で用いられる情報であってもよい。パスワードは、入力デバイスを用いて入力されたものであってもよく、RFID等から読み出されたものであってもよい。また、認証情報には、ユーザを識別する情報であるユーザ識別情報が含まれていてもよい。
認証情報受付部20は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された認証情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された認証情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された認証情報を受け付けてもよい。なお、認証情報受付部20は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、認証情報受付部20は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
認証部21は、入力要求情報の出力に応じて認証情報受付部20が受け付けた認証情報を用いて、正当であるかどうかを認証する。この場合に、認証部21は、入力要求情報に応じた認証方法を用いた認証を行ってもよい。入力要求情報に応じた認証方法とは、入力要求情報が入力を要求した認証情報の認証方法である。認証部21における認証は、例えば、認証装置1のみで行われてもよく、あるいは、図示しない認証サーバをも用いて行われてもよい。前者の場合には、認証部21は、例えば、認証情報受付部20が受け付けた認証情報と、図示しない記憶部で記憶されている登録認証情報を用いて認証を行ってもよい。後者の場合には、認証部21は、例えば、認証情報受付部20が受け付けた認証情報を認証サーバに送信し、その認証サーバから送信された、認証の結果を示す情報である認証結果情報を受信し、その認証結果情報を用いて認証を行ってもよい。認証結果情報を用いた認証とは、認証結果情報が示す認証の結果が、「正当」であるのか、「正当でない」であるのかを判断することであってもよい。認証部21が認証サーバに送信する認証情報は、認証情報受付部20が受け付けた認証情報と同じであってもよく、あるいは、異なっていてもよい。後者の場合には、例えば、認証部21が認証サーバに送信する認証情報は、認証情報受付部20が受け付けた認証情報が暗号化されたものであってもよい。例えば、認証情報に含まれるパスワード等の情報と、登録認証情報に含まれるパスワード等の情報とが、一致する場合に正当であると認証されてもよく、所定の関係にある場合に正当であると認証されてもよい。所定の関係にあるとは、例えば、一方のパスワード等についてあらかじめ決められた処理(例えば、ハッシュをとる処理であってもよく、所定の演算を行う処理でもよい)を行ったものが、他のパスワード等と一致することであってもよい。また、認証情報や登録認証情報にユーザ識別情報が含まれる場合には、認証情報や登録認証情報において同じユーザ識別情報に対応するパスワード等を用いて認証の処理を行ってもよい。
認証履歴情報蓄積部22は、認証部21が実行した認証の履歴に関する情報である認証履歴情報を記録媒体に蓄積する。この記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、認証履歴情報蓄積部22が有していてもよく、あるいは認証履歴情報蓄積部22の外部に存在してもよい。また、この記録媒体は、認証履歴情報を一時的に記憶するものであってもよく、そうでなくてもよい。認証履歴情報は、認証部21による認証の結果を示す情報を含んでもよい。その場合に、認証履歴情報は、例えば、認証部21が認証した全ての結果を示す情報を含んでもよく、認証部21が認証して正当であると認証された結果を示す情報を含んでもよい。また、認証履歴情報は、例えば、認証の行われた日時を示す情報を含んでもよい。また、認証履歴情報は、例えば、認証情報受付部20が受け付けた認証情報にユーザ識別情報が含まれる場合には、そのユーザ識別情報を含んでもよい。なお、処理履歴情報と、認証履歴情報とは、一体の情報であってもよく、そうでなくてもよい。本実施の形態では、後者の場合について説明する。
制御部23は、条件情報の条件が満たされると判断部17が判断した場合において、その判断に応じた入力要求情報の出力に応じて入力された認証情報を用いて認証部21によって正当であると認証されたときには、処理実行部14による処理が実行されるように制御し、その判断に応じた入力要求情報の出力に応じて入力された認証情報を用いて認証部21によって正当でないと認証されたときには、処理実行部14による処理が実行されないように制御する。なお、実行されるように、あるいは、実行されないように制御部23が制御する対象となる処理実行部14による処理は、処理実行部14で実行される全ての処理であってもよく、その制御の時点でちょうど実行されている処理であってもよく、あるいは、その制御が行われる契機となった、条件が満たされると判断された条件情報に対応付けられている処理であってもよい(この場合には、条件情報と処理とを対応付ける情報が別途、保持されていてもよい)。
なお、制御部23は、特定の処理を実行することを認証の条件とする条件情報の条件が満たされると判断部17が判断した場合において、入力された認証情報を用いて認証部21によって正当であると認証されたときには、その特定の処理が実行されるように制御し、入力された認証情報を用いて認証部21によって正当でないと認証されたときには、その特定の処理が実行されないように制御してもよい(その特定の処理以外は実行されるようにしてもよい)。あるいは、入力された認証情報を用いて認証部21によって正当でないと認証されたときには、制御部23は、全ての処理を実行できないように制御してもよい。例えば、制御部23は、強制的にフリーズした状態になるように制御してもよく、強制的にログアウトされるように制御してもよい。
なお、「処理実行部14による処理が実行されるように制御する」とは、制御部23が、積極的に処理実行部14に対して処理の実行を指示する制御を行うことであってもよく、あるいは、制御部23が、処理実行部14に対して処理の実行が行われないように指示する制御を行わないことによって、結果として、処理が実行されるようにすることであってもよい。このように、「処理実行部14による処理が実行されるように制御する」とは、結果として処理実行部14による処理が実行されるようになるのであれば、その制御の内容を問わない。
また、「処理実行部14による処理が実行されないように制御する」とは、制御部23が、積極的に処理実行部14に対して処理の実行が行われないように指示する制御を行うことであってもよく、あるいは、制御部23が、処理実行部14に対して処理の実行を指示する制御を行わないことによって、結果として、処理が実行されないようにすることであってもよい。このように、「処理実行部14による処理が実行されないように制御する」とは、結果として処理実行部14による処理が実行されないようになるのであれば、その制御の内容を問わない。
なお、処理履歴情報蓄積部15が処理履歴情報を蓄積する記録媒体と、条件情報記憶部16と、認証方法対応情報記憶部18と、認証履歴情報蓄積部22が認証履歴情報を蓄積する記録媒体とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、条件情報を記憶している領域が条件情報記憶部16となり、認証方法対応情報を記憶している領域が認証方法対応情報記憶部18となる。
また、ログイン認証部12によって行われるログイン時の認証は、例えば、操作環境や、複数のユーザによって共有される環境に関する認証であってもよい。一方、認証部21によって行われる認証は、例えば、ユーザの個別の認証であってもよい。すなわち、ログイン時の認証によって正当であると判断された場合に、必要最低限の環境(例えば、OSを使用できる環境等)が提供され、認証部21による認証によって正当であると判断された場合に、個別のアプリケーションを使用できる環境が提供されてもよい。なお、このような区別がなくてもよい。
次に、本実施の形態による認証装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)ログイン認証情報受付部11は、ログイン認証情報を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS102に進み、そうでない場合には、受け付けるまでステップS101の処理を繰り返す。
(ステップS102)ログイン認証部12は、ログイン認証情報受付部11が受け付けたログイン認証情報を用いたログイン時の認証を行う。
(ステップS103)ログイン認証部12は、ログイン時の認証において、正当であると判断されたかどうか判断する。そして、正当であると判断された場合には、ステップS104に進み、そうでない場合には、ステップS101に戻る。ステップS101に戻る際に、ログインに失敗した旨をユーザ等に示すようにしてもよい。
(ステップS104)入力受付部13は、入力を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS105に進み、そうでない場合には、ステップS106に進む。
(ステップS105)入力受付部13は、受け付けた入力に関する情報(例えば、マウスでクリックされた位置を示す情報であってもよく、押下されたキーを識別する情報であってもよい)を図示しない記録媒体において一時的に記憶する。そして、ステップS104に戻る。
(ステップS106)判断部17は、条件情報を用いた判断を実行するかどうか判断する。そして、条件情報を用いた判断を行う場合には、ステップS107に進み、そうでない場合には、ステップS108に進む。判断部17は、例えば、定期的(例えば、10秒ごとなど)に条件情報を用いた判断を実行すると判断してもよく、あらかじめ決められたイベントの発生(例えば、新たな入力が受け付けられたことや、新たな処理(例えば、実行プログラムでもよく、プロセスでもよく、スレッドでもよい)が実行されたことなど)をトリガーとして条件情報を用いた判断を実行すると判断してもよい。
(ステップS107)判断部17等は、条件情報を用いた判断等の処理を行う。この処理の詳細については、図3のフローチャートを用いて後述する。そして、ステップS104に戻る。
(ステップS108)処理実行部14は、処理を実行するかどうか判断する。そして、処理を実行する場合には、ステップS109に進み、そうでない場合には、ステップS110に進む。処理実行部14は、例えば、入力受付部13で処理要求情報が受け付けられた場合に、処理を実行すると判断してもよく、処理実行部14が実行している一連の処理がまだ終了しておらず、実行すべき処理が残っている場合に、処理を実行すると判断してもよい。なお、このステップS108での判断は、ログアウト以外の処理を実行するかどうかの判断であるとする。
(ステップS109)処理実行部14は、処理の実行を行う。このステップS109での処理の実行は、一連のまとまりのある処理(例えば、実行プログラムやプロセスなど)の実行であってもよく、その一連のまとまりのある処理が細分化された一つの実行単位での処理(例えば、プロセスやスレッドなど)の実行であってもよい。前者の場合には、一連の処理が開始された後には、条件の判断(ステップS106,S107)が実行されることがないが、後者の場合には、一連の処理が開始された後であっても、条件の判断が割り込みで実行されることがありうる。
(ステップS110)処理履歴情報蓄積部15は、処理履歴情報を蓄積するかどうか判断する。そして、処理履歴情報を蓄積すると判断した場合には、ステップS111に進み、そうでない場合には、ステップS112に進む。例えば、処理履歴情報蓄積部15は、ひとまとまりの処理(例えば、実行プログラムやプロセスなど)が終了された時点において、その処理に関する処理履歴情報を蓄積すると判断してもよい。
(ステップS111)処理履歴情報蓄積部15は、処理履歴情報を図示しない記録媒体に蓄積する。そして、ステップS104に戻る。
(ステップS112)処理実行部14は、ログアウトを行うかどうか判断する。そして、ログアウトを行う場合には、ステップS113に進み、そうでない場合には、ステップS104に戻る。処理実行部14は、例えば、最後の処理がなされてからあらかじめ決められている時間(例えば、24時間等)が経過しても処理がなされない場合に、ログアウトを行うと判断してもよく、あるいは、入力受付部13でログアウトの指示が受け付けられた場合に、ログアウトを行うと判断してもよい。
(ステップS113)処理実行部14は、ログアウトの処理を行う。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図3は、図2のフローチャートにおける条件判断処理(ステップS107)の詳細を示すフローチャートである。
(ステップS201)判断部17は、カウンタiを1に設定する。
(ステップS202)判断部17は、条件情報記憶部16で記憶されているi番目の条件情報を読み出し、その条件情報の条件が満たされるかどうかの判断を行う。
(ステップS203)ステップS202での判断の結果、i番目の条件情報の条件が満たされる場合には、ステップS207に進み、そうでない場合には、ステップS204に進む。
(ステップS204)判断部17は、カウンタiを1だけインクリメントする。
(ステップS205)判断部17は、i番目の条件情報が条件情報記憶部16で記憶されているかどうか判断する。そして、記憶されている場合には、ステップS202に戻り、そうでない場合には、ステップS206に進む。
(ステップS206)制御部23は、処理実行部14での処理が実行されるように制御を行う。なお、この制御は、前述のように、その処理が実行されるように処理実行部14に対して積極的に指示を与える制御であってもよく、その処理が処理実行部14で実行されることに対して、その処理の実行の停止を指示しないことによる制御であってもよい。そして、図2のフローチャートに戻る。
(ステップS207)認証部21等は、認証の処理を行う。この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS208)ステップS207での認証の結果、正当であると認証された場合には、ステップS206に進み、そうでない場合には、ステップS209に進む。
(ステップS209)制御部23は、処理実行部14での処理が実行されないように制御を行う。なお、この制御は、前述のように、その処理が実行されないように処理実行部14に対して積極的に指示を与える制御であってもよく、その処理を処理実行部14が実行しないことに対して、その処理の実行を指示しないことによる制御であってもよい。そして、図2のフローチャートに戻る。
図4は、図3のフローチャートにおける認証の処理(ステップS207)の詳細を示すフローチャートである。
(ステップS301)入力要求情報出力部19は、認証方法対応情報記憶部18で記憶されている認証方法対応情報を参照して、判断部17で満たされると判断された条件情報に対応する認証方法識別情報を取得する。この取得された認証方法識別情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS302)入力要求情報出力部19は、ステップS301で取得した認証方法識別情報に対応する入力要求情報を出力する。例えば、入力要求情報出力部19は、図示しない記録媒体から入力要求情報を読み出して出力してもよい。
(ステップS303)認証情報受付部20は、認証情報を受け付けたかどうか判断する。そして、認証情報を受け付けた場合には、ステップS304に進み、そうでない場合には、受け付けるまでステップS303の処理を繰り返す。なお、認証情報受付部20は、入力要求情報が出力されてからあらかじめ決められた時間(例えば、10分等)が経過しても認証情報を受け付けない場合には、タイムアウトであるとして、ヌル(Null)の認証情報を受け付けたと判断してステップS304に進んでもよい。
(ステップS304)認証部21は、認証情報受付部20が受け付けた認証情報を用いた認証を行う。前述のように、認証部21は、認証装置1のみで認証を行ってもよく、あるいは、図示しない認証サーバに問い合わせることによって認証を行ってもよい。
(ステップS305)認証履歴情報蓄積部22は、認証部21による認証の結果に関する認証履歴情報を蓄積する。そして、図3のフローチャートに戻る。
次に、本実施の形態による認証装置1の動作について、具体例を用いて説明する。
この具体例では、条件情報記憶部16において、図5で示される条件情報が記憶されているものとする。各条件情報は、図5で示されるように、条件情報を識別する条件IDに対応付けられている。条件ID「C001」で識別される条件情報「ProcessName="SpreadsheetABC"」は、「SpreadsheetABC」という名称のプロセスが実行されたことを認証の条件としている。また、条件ID「C002」で識別される条件情報「FileName="Accounting001"」は、「Accounting001」という名称のファイルに対する処理が実行されたことを認証の条件としている。また、条件ID「C003」で識別される条件情報「ActiveWindowTitle="*secret*"」は、「secret」を含むウィンドウのタイトルがアクティブにされたことを認証の条件としている。その条件中の「*」は、その箇所に任意の0個以上の文字が存在してもよいことを意味しているものとする。また、条件ID「C004」で識別される条件情報「DestAddress!="192.168.*.*"」は、IPアドレスが「192.168.*.*」ではない送信先への通信が行われたことを認証の条件としている。その条件中の「*」は、前述の説明と同様である。また、条件ID「C005」で識別される条件情報「NoInputTime>"20min."」は、入力受付部13での入力の受け付けが20分を超える時間だけないことを認証の条件としている。この条件の判断を行うことができるようにするため、判断部17は、最後の入力が行われてからの時間を図示しないタイマを用いて測定しているものとする。なお、新たな入力が行われると、そのタイマによる計時がリセットされ、再度、計時が開始されるものとする。
また、この具体例では、認証方法対応情報記憶部18において、図6で示される認証方法対応情報が記憶されているものとする。この認証方法対応情報では、条件IDと、認証方法識別情報とが対応付けられている。この具体例では、認証方法識別情報「password」で識別される認証方法であるパスワードを用いた認証と、認証方法識別情報「Card」で識別される認証方法であるICカードを用いた認証と、認証方法識別情報「Fingerprint」で識別される認証方法である指紋を用いた認証とが行われるものとする。したがって、認証情報受付部20は、キーボード等から入力されたパスワードや、ICカードから読み出されたパスワード、ユーザの指から読み取られた指紋等の情報を受け付けるものとする。
図6で示される認証方法対応情報において、例えば、1番目のレコードでは、条件ID「C001」と、認証方法識別情報「Password」とが対応付けられており、入力要求情報出力部19は、判断部17によって条件ID「C001」で識別される条件情報の条件が満たされると判断された場合に、その条件ID「C001」に対応する認証方法識別情報「Password」で識別される認証方法による認証情報の入力を要求する入力要求情報を出力するものとする。この具体例では、その出力は表示であるとする。
また、この具体例では、入力要求情報出力部19は、図示しない記録媒体において、図7で示される認証方法識別情報と、入力要求情報とを対応付ける情報を保持しており、その情報を用いて、出力する入力要求情報を取得するものとする。図7で示される情報の1番目のレコードでは、認証方法識別情報「Password」と、入力要求情報「password.html」とが対応付けられている。したがって、入力要求情報出力部19は、認証方法識別情報「Password」で識別される認証方法による認証情報の入力を要求する入力要求情報を出力する際に、その認証方法識別情報「Password」に対応付けられている入力要求情報「password.html」を読み出して、そのHTMLファイルを解釈・実行して表示するものとする。
また、この具体例では、図8で示されるように、認証装置1は、有線または無線の通信回線500を介して認証サーバ2に接続されているものとする。通信回線500は、例えば、インターネットやイントラネット、公衆電話回線網等である。そして、認証部21は、認証サーバ2にアクセスして、認証サーバ2に認証の処理を要求し、その認証結果を受け取るものとする。図8では、通信回線500に1個の認証装置1のみが接続されている場合について示しているが、2以上の認証装置1が通信回線500に接続されていてもよい。また、認証サーバ2では、図9で示される登録認証情報が保持されており、認証サーバ2は、その登録認証情報を用いて、認証装置1で受け付けられた認証情報が正当であるかどうかを判断するものとする。図9で示される登録認証情報において、ユーザ識別情報と、パスワードと、特徴情報とが対応付けられている。ユーザ識別情報とパスワードは、キーボード等を介して入力されたり、ICカードから読み出されたりするものである。また、特徴情報は、指紋を用いた認証を行う際に用いられる、あらかじめ登録されたユーザの指紋の特徴を示す情報である。
また、この具体例では、判断部17は、新たな処理が実行されたことをトリガーとして、条件情報の判断処理を行うものとする。
次に、具体的な処理について説明する。まず、ユーザ識別情報「U001」で識別されるユーザ(以下、このユーザを「ユーザU001」と呼ぶことがある。他のユーザについても同様であるとする)が認証装置1を操作して、ログイン画面を図示しない表示画面に表示させたとする。そして、図10で示されるように、そのユーザU001の属するグループに対応するユーザ識別情報「G001」と、パスワードとを入力し、「ログイン」ボタンをクリックしたとする。すると、入力されたユーザ識別情報「G001」と、パスワードとを含むログイン認証情報がログイン認証情報受付部11で受け付けられ(ステップS101)、ログイン認証部12に渡される。ログイン認証部12は、ログイン認証情報受付部11から受け取ったログイン認証情報を用いたログイン時の認証を行う(ステップS102)。この場合には、正当であると認証されたものとする(ステップS103)。すると、ログイン時の認証において正当であると判断された旨がログイン認証部12から処理実行部14に渡され、処理実行部14は、ログイン後の処理を行うことになる。例えば、処理実行部14は、ログイン後の画面を表示する等の処理を行ってもよい(ステップS108,S109)。
次に、ユーザがキーボードやマウス等の入力デバイスを操作して、表計算のアプリケーション・ソフトウェア「SpreadsheetABC」のファイルである「Sheet1」を開ける旨の指示を入力したとする。すると、その入力が入力受付部13で受け付けられ(ステップS104)、図示しない記録媒体において、その入力が一時的に記憶される(ステップS105)。
すると、処理実行部14は、図示しない記録媒体に新たな入力が蓄積されたことを検知し、その蓄積された入力を読み出して、ソフトウェア「SpreadsheetABC」を起動して、ファイル「Sheet1」を開ける処理を開始する(ステップS108,S109)。なお、処理実行部14は、ソフトウェア「SpreadsheetABC」を起動した際に、そのプロセスの名称「SpreadsheetABC」を実行中のプロセス名を保持する記録媒体に一時的に記憶するものとする。また、処理実行部14が、ファイル「Sheet1」を開ける処理を開始した時点において、判断部17は、条件判断を行うタイミングであると判断し(ステップS106)、条件を判断する処理を実行する(ステップS107)。
具体的には、判断部17は、条件情報記憶部16で記憶されている図5の1番目の条件情報を参照し、その時点で実行されている全てのプロセスの名称を処理実行部14から受け取り、そのプロセスの名称に「SpreadsheetABC」が含まれるかどうか判断する(ステップS201,S202)。この場合には、含まれるため、判断部17は、条件ID「C001」で識別される条件情報が満たされると判断し(ステップS203)、その条件ID「C001」を入力要求情報出力部19に渡す。その後、入力要求情報出力部19による入力要求情報の出力や、認証部21による認証の処理が行われることになる(ステップS207)。
具体的には、入力要求情報出力部19は、判断部17から受け取った条件ID「C001」を検索キーとして、図6で示される認証方法対応情報を検索する。この場合には、1番目のレコードがヒットするため、入力要求情報出力部19は、その1番目のレコードから認証方法識別情報「Password」を取得する(ステップS301)。次に、入力要求情報出力部19は、図7で示される情報を参照し、取得した認証方法識別情報「Password」に対応する入力要求情報「password.html」を取得し、そのHTMLファイルを解釈・実行して表示する(ステップS302)。その結果、ユーザ識別情報とパスワードの入力を要求する図11で示される表示がなされる。そして、図11で示されるように、ユーザがキーボードやマウス等を操作して、ユーザ識別情報「U001」と、パスワード「ABCDEF」とを入力したとする。そして、「OK」ボタンをクリックすると、そのユーザ識別情報と、パスワードとを含む認証情報が認証情報受付部20で受け付けられ(ステップS303)、認証部21に渡される。
認証部21は、認証情報受付部20から受け取った認証情報を暗号化して認証サーバ2に送信する。認証サーバ2は、その暗号化された認証情報を受信すると、暗号化を解除し、その認証情報に含まれるユーザ識別情報「U001」を検索キーとして、図9で示される登録認証情報を検索する。すると、1番目のレコードがヒットするため、認証サーバ2は、受信した認証情報に含まれたパスワードと、その1番目のレコードに含まれるパスワードとが一致するかどうか判断する。この場合には、一致するため、認証サーバ2は、認証結果が正当であると判断し、「正当」である旨の認証結果情報を認証装置1に送信する。
認証装置1の認証部21は、その認証結果情報を受信し、その認証結果情報によって認証結果が「正当」である旨が示されるため、認証情報による認証の結果が正当であると判断する(ステップS304)。また、認証部21は、認証の結果が「正当」である旨を制御部23に渡すと共に、認証情報受付部20が受け付けた認証情報に含まれたユーザ識別情報「U001」と、認証の結果が「正当」である旨とを認証履歴情報蓄積部22に渡す。すると、認証履歴情報蓄積部22は、その時点での日時を示す日時情報と、受け取ったユーザ識別情報と、受け取った認証の結果を示す結果情報とを対応付けて図示しない記録媒体に蓄積する(ステップS305)。図12で示される1番目のレコードは、そのようにして蓄積された認証履歴情報である。その1番目のレコードによって、2008年5月30日10時10分に行われた、ユーザ識別情報「U001」で識別されるユーザに関する認証において、「正当」であると認証された旨が示されることになる。
制御部23は、認証部21から「正当」である旨の認証結果を受け取ると(ステップS208)、処理実行部14による処理が実行されるように制御する(ステップS206)。具体的には、制御部23は、処理実行部14に対して処理の実行の停止を指示しないことによって、処理が実行されるように制御するものとする。その結果、処理実行部14によるソフトウェア「SpreadsheetABC」の起動が行われてファイル「Sheet1」が開けられ、そのファイル「Sheet1」に関する処理が継続して実行されることになる。
なお、処理実行部14によってソフトウェア「SpreadsheetABC」が起動され、ファイル「Sheet1」が開けられた時点において、処理履歴情報蓄積部15は、ソフトウェアの起動とファイルを開ける処理が実行されたため、処理履歴情報を蓄積するタイミングであると判断し(ステップS110)、その処理内容を示す情報を処理実行部14から受け取り、その情報と、その時点での日時を示す情報である日時情報とを含む処理履歴情報を蓄積する(ステップS111)。図13で示される1番目のレコードは、そのようにして蓄積された処理履歴情報である。そのレコードに、処理履歴情報の蓄積された日時を示す日時情報と、処理内容を示す処理内容情報とが含まれる。処理内容情報「start_"SpreadsheetABC"_"Sheet1"」は、ソフトウェア「SpreadsheetABC」が起動され、ファイル「Sheet1」が開けられる処理が実行されたことを示している。
次に、ユーザU001が編集後のファイル「Sheet1」を、FTP(File Transfer Protocol)を用いて、IPアドレス「211.132.174.75」のサーバにアップロードしようとしたとする。そのために、ユーザが、FTPの接続コマンドを用いて、IPアドレス「211.132.174.75」のサーバにアクセスする処理を入力したとする(ステップS104,S105)。すると、それに応じて、処理実行部14は、IPアドレス「211.132.174.75」のサーバに接続を行う処理を実行する(ステップS108,S109)。その際に、判断部17は、送信先のアドレスが「192.168.*.*」ではないため、条件ID「C004」で識別される条件が満たされると判断する(ステップS201〜S205)。そして、判断部17は、条件ID「C004」を入力要求情報出力部19に渡す。すると、入力要求情報出力部19は、受け取った条件ID「C004」に対応する認証方法識別情報「Card」を取得する(ステップS301)。その後、入力要求情報出力部19は、図7で示される情報を参照して、取得した認証方法識別情報「Card」に対応する入力要求情報「card.html」を取得し、そのHTMLファイルを解釈・実行して表示する(ステップS302)。その結果、ユーザの社員証を読み取り機にかざす旨を要求する図14で示される表示がなされる。ユーザが、その要求に応じて、社員証のICカードを読み取り機にかざしたとする。そのICカードの有するRFIDには、ユーザ識別情報「U001」と、パスワード「ABCDEF」とが記憶されているものとする。すると、その社員証のICカードに含まれるRFIDから、そのユーザのユーザ識別情報「U001」と、パスワード「ABCDEF」とが読み取り機によって読み出され、認証情報受付部20で受け付けられる(ステップS303)。そして、前述の説明と同様に、認証サーバ2を用いた認証の処理が行われる。この場合にも、前回と同様に正当であると判断されたとする(ステップS304)。すると、認証履歴情報が蓄積される(ステップS305)。また、IPアドレス「211.132.174.75」のサーバにFTPで接続する処理が実行され(ステップS206,S108,S109)、その処理に関する処理履歴情報が蓄積される(ステップS110,S111)。
次に、ユーザU001が複数のウィンドウを開けて処理をしていた状況において、ユーザU001が席を離れた後に、登録認証情報にユーザ識別情報等が登録されていないユーザU123が認証装置1を操作して、タイトルが「Pension(secret)」であるウィンドウの一部をクリックして、そのウィンドウをアクティブにしようとしたとする。すると、その入力が入力受付部13で受け付けられ(ステップS104,S105)、処理実行部14は、そのウィンドウをアクティブにする処理を実行する(ステップS108,S109)。その際に、判断部17は、アクティブになるウィンドウのタイトルが「*secret*」に該当するため、条件ID「C003」で識別される条件が満たされると判断する(ステップS201〜S205)。そして、判断部17は、条件ID「C003」を入力要求情報出力部19に渡す。
すると、入力要求情報出力部19は、受け取った条件ID「C003」に対応する認証方法識別情報「Fingerprint」を取得する(ステップS301)。その後、入力要求情報出力部19は、図7で示される情報を参照して、取得した認証方法識別情報「Fingerprint」に対応する入力要求情報「fingerprint.html」を取得し、そのHTMLファイルを解釈・実行して表示する(ステップS302)。その結果、ユーザ識別情報を入力した上で、指紋を読み取らせる旨を要求する図15で示される表示がなされる。ユーザが、図15で示されるように、その入力要求に応じて、ユーザ識別情報「U123」を入力して「OK」ボタンをクリックし、指紋読み取り機で指紋を読み取らせたとする。すると、そのユーザ識別情報「U123」と、指紋の情報とを含む認証情報が認証情報受付部20で受け付けられる(ステップS303)。そして、前述の説明と同様に、その認証情報が暗号化されて認証サーバ2に送信される。
なお、認証サーバ2が保持している図9で示される登録認証情報には、ユーザ識別情報「U123」で示されるユーザのレコードがなかったとする。すると、認証サーバ2は、「正当でない」と認証し、その結果を示す認証結果情報を認証装置1に送信する。認証装置1の認証部21は、その認証結果情報を受信すると、正当でないと認証する(ステップS304)。また、その認証結果が認証履歴情報蓄積部22によって蓄積される(ステップS305)。その後、制御部23は、処理実行部14に対して、タイトルが「Pension(secret)」であるウィンドウをアクティブにする処理を実行しないように制御する(ステップS208,S209)。具体的には、制御部23は、処理実行部14がアクティブにしたタイトルが「Pension(secret)」であるウィンドウを、アクティブでないようにする処理を実行するように処理実行部14を制御し、その結果、そのウィンドウがアクティブでなくなるようになる。なお、その際に、処理実行部14は、図16で示される、認証の結果が正当でない旨を示す認証結果情報を表示する処理を行ってもよい。
なお、この具体例では、認証の際に、ユーザ識別情報と、パスワードとの組合せ、あるいは、ユーザ識別情報と、特徴情報との組合せがあっている場合には、正当であると認証する場合について説明したが、認証ごとに、正当であると認証されるユーザ識別情報が指定されていてもよい。例えば、図17で示されるように、条件IDと、正当なユーザを識別するユーザ識別情報である正当ユーザ識別情報とを対応付ける情報を用いて、認証が行われてもよい。その認証が行われる場合には、例えば、条件ID「C001」で識別される条件情報の条件が満たされたことに応じて認証の処理が行われる際には、ユーザ識別情報「U001」「U002」で識別されるユーザのみが正当であると判断されうることになる。なお、この図17を用いた認証とは別に、パスワード等を用いた認証が行われることは、前述の説明と同様である。なお、図17で示される情報は、登録認証情報に含まれていてもよく、あるいは、登録認証情報とは別個に管理されていてもよい。
また、この具体例では、特定のウィンドウがアクティブにされた際の認証で、正当でないと判断された場合に、そのウィンドウをアクティブにする処理を取りやめる処理を行う場合について説明したが、そうでなくてもよい。例えば、特定のウィンドウがアクティブにされた際の認証で、正当でないと判断された場合に、そのウィンドウの上に別の画像を表示してマスクすることによって、そのウィンドウの情報が表示されないようにしてもよい。
また、この具体例では、認証部21が認証サーバ2にアクセスして認証を行う場合について説明したが、前述のように、認証部21は、認証サーバ2にアクセスしないで認証の処理を行ってもよい。例えば、図18で示されるように、認証装置1が、認証情報の認証で用いられる情報である登録認証情報の記憶される登録認証情報記憶部31をさらに備え、認証部21は、認証情報受付部20が受け付けた認証情報と、その登録認証情報記憶部31で記憶されている登録認証情報とを用いて認証の処理を行ってもよい。なお、登録認証情報記憶部31に登録認証情報が記憶される過程は問わない。例えば、記録媒体を介して登録認証情報が登録認証情報記憶部31で記憶されるようになってもよく、通信回線等を介して送信された登録認証情報が登録認証情報記憶部31で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された登録認証情報が登録認証情報記憶部31で記憶されるようになってもよい。登録認証情報記憶部31での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。登録認証情報記憶部31は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
また、図示しない記録媒体において、条件情報と、制御対象の処理を特定する情報とを対応付ける情報である制御対象対応情報が記憶されており、制御部23は、その制御対象対応情報を用いて、制御の対象の処理を特定するようにしてもよい。制御対象対応情報は、例えば、条件IDと制御対象の処理を特定する情報(例えば、制御対象の処理の名称等)とを有する情報であってもよい。例えば、制御部23は、条件情報の条件が満たされると判断された場合において、正当であると認証されたときには、その条件が満たされると判断された条件情報に制御対象対応情報を介して対応付けられる制御対象の処理を特定する情報によって特定される処理が実行されるように制御し、正当でないと認証されたときには、その条件情報に制御対象対応情報を介して対応付けられる制御対象の処理を特定する情報によって特定される処理が実行されないように制御してもよい。
以上のように、本実施の形態による認証装置1によれば、条件情報の条件が満たされる際に、認証を行うことができるようになる。したがって、その条件情報を適切に設定することによって、適切なタイミングで認証を行うことができるようになる。例えば、ログイン時の一つのアカウントを用いて、複数のユーザが業務を行うような場合(例えば、銀行などではそのようなことが行われている)にも、個別の認証を行うことができるようになり、セキュリティーを高めることができるようになる。また、ユーザが代わるごとにログインやログアウトを行っていたのでは、操作環境を維持したまま、操作者が入れ替わるような業務を適切に行うことができなくなるが、本実施の形態による認証装置1では、ログインやログアウトを行わなくても認証を行うことができるため、操作環境を維持したまま、操作者が入れ替わるような業務を適切に行うことができるようになる。
また、処理履歴情報や、ユーザ識別情報を有する認証履歴情報を蓄積することによって、処理を指示したユーザを特定することができうる。その結果、不正な処理や、疑いのある処理が実行された場合に、その処理の実行を指示したユーザを特定することが可能となる。
また、従来の認証処理は、アプリケーションやファイルにあらかじめ組み込まれていることが一般的である。そして、例えば、アプリケーションの起動時に、そのアプリケーションの起動の可否を判断する認証が行われたり、ファイルを開ける際に、そのファイルを開ける処理の可否を判断する認証が行われたりする。一方、本実施の形態のように認証を行うタイミングを条件情報で設定できるようにすることによって、認証の処理を拡張的な機能(アドオン)として付加することが可能となり、起動時の認証の処理を行わないアプリケーションや、ファイルを開ける際に認証を行わないファイルに対しても、アプリケーションの起動時や、ファイルを開ける際に認証を行うことができるようにすることができる。また、条件情報の条件が限定されるものではないため、例えば、従来の認証処理では、認証を行っていないようなタイミング、例えば、上記具体例で説明したように、特定のタイトルのウィンドウがアクティブにされたタイミングで認証を行うこともできうる。
なお、本実施の形態では、ログイン認証部12によるログイン認証を行う場合について説明したが、そうでなくてもよい。すなわち、ログイン認証を行わない環境において、本実施の形態による認証の処理を行うようにしてもよい。その場合には、認証装置1は、ログイン認証情報受付部11と、ログイン認証部12とを備えていなくてもよい。
また、本実施の形態では、認証情報受付部20が受け付ける認証情報にユーザ識別情報が含まれる場合について説明したが、そうでなくてもよい。ユーザ識別情報を含まない認証情報、例えば、パスワードや、生体情報のみを含む認証情報を、認証情報受付部20が受け付けるようにしてもよい。
また、本実施の形態では、処理履歴情報と認証履歴情報とが蓄積される場合について説明したが、認証のみを行えばよく、その認証の履歴等を蓄積しなくてもよい場合には、処理履歴情報と認証履歴情報とを蓄積しなくてもよい。処理履歴情報と認証履歴情報とを蓄積しない場合には、認証装置1は、処理履歴情報蓄積部15と、認証履歴情報蓄積部22とを備えていなくてもよい。
また、本実施の形態では、入力要求情報出力部19が、判断部17によって条件が満たされると判断された条件情報に、認証方法対応情報によって対応付けられる認証方法識別情報の識別する認証方法による認証情報の入力を要求する入力要求情報を出力する場合について説明したが、条件が満たされると判断された条件情報に応じて認証方法を変更する必要がないのであれば、入力要求情報出力部19は、条件が満たされると判断された条件情報に関わらず、同じ入力要求情報を出力してもよい。その場合には、認証装置1は、認証方法対応情報記憶部18を備えていなくてもよい。
また、本実施の形態では、判断部17によって、条件情報の条件が満たされると判断された場合に、入力要求情報を出力する入力要求情報出力部19を備える構成について説明したが、認証装置1は、その入力要求情報出力部19を備えなくてもよい。その場合には、制御部23は、条件情報の条件が満たされると判断部17が判断した場合において、入力された認証情報を用いて認証部21によって正当であると認証されたときには、処理実行部14による処理が実行されるように制御し、入力された認証情報を用いて認証部21によって正当でないと認証されたときには、処理実行部14による処理が実行されないように制御してもよい。なお、認証装置1が入力要求情報出力部19を備えない場合であっても、ユーザに対して認証情報を入力させる契機となるように、条件情報の条件が満たされたことを直接的あるいは間接的に示す処理がなされてもよい。すなわち、認証装置1は、条件情報の条件が満たされたことを示す情報を直接的あるいは間接的に示す図示しない構成を備えていてもよい。条件情報の条件が満たされたことを直接的に示す処理とは、例えば、「条件情報の条件が満たされました」というテキストの情報の出力であってもよい。また、条件情報の条件が満たされたことを間接的に示す処理とは、例えば、入力受付部13での入力の受け付けが行われなくなることや、強制的にフリーズの状態となるように制御することであってもよい。
また、認証装置1は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、出力したりしてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、認証装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における認証装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、認証を行う条件を示す情報である条件情報が記憶される条件情報記憶部で記憶されている条件情報の条件が満たされるかどうか判断する判断部と、認証情報を受け付ける認証情報受付部と、前記認証情報受付部が受け付けた認証情報を用いて、正当であるかどうかを認証する認証部と、条件情報の条件が満たされると前記判断部が判断した場合において、入力された認証情報を用いて前記認証部によって正当であると認証されたときには、入力を受け付ける入力受付部が受け付けた入力に応じた処理を実行する処理実行部による処理が実行されるように制御し、入力された認証情報を用いて前記認証部によって正当でないと認証されたときには、前記処理実行部による処理が実行されないように制御する制御部として機能させるためのものである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図19は、上記プログラムを実行して、上記実施の形態による認証装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図19において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図20は、コンピュータシステム900の内部構成を示す図である。図20において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による認証装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による認証装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。