以下、本発明の一実施形態が適用された利用者の入退室管理および端末のアクセス管理を行うセキュリティシステムについて図面を用いて説明する。なお、以下の説明では、本実施形態のセキュリティシステムをビル内のオフィスに適用した場合を例にするが、特にこれに限定するものではない。例えば、本実施形態をマンションや病院等の施設の入退室管理に利用することも可能である。
図1は、本発明の実施形態が適用されたセキュリティシステムの機能ブロック図である。
図示するように、セキュリティシステムは、認証サーバ100と、認証装置120−aおよび120−bと、を有する。認証サーバ100と各認証装置120−a〜120−bとは、各々、相互にネットワーク110を介して接続されている。なお、図示する説明では、認証装置120−aおよび120−b(以下、「認証装置120」ということもある)が2台の場合を例にしているがこれは例示に過ぎない。本実施形態では、認証装置120の数を特に限定しない。
認証サーバ100は、個人認証を行なうために必要な情報を管理する。認証サーバ100は、認証装置120からの「個人認証を行なうために必要な情報」の送信要求を受付け、要求元の認証装置120に要求された「個人認証を行なうために必要な情報」を送信する。また、認証サーバ100は、認証装置120が送信した認証結果を受信して、記憶する。
認証装置120は、暗証番号等の認証情報の入力を受付け、利用者に対する認証を行なう。具体的には、認証装置120は、認証サーバから「個人認証を行なうために必要な情報」を取得して、取得した「個人認証を行なうために必要な情報」と入力された「認証情報」とを用いて個人認証処理を行う。認証装置120は、認証結果を認証サーバ100に送信する。
ネットワーク110は、ビル(もしくはマンション)やオフィス等の施設内に設けられたネットワークである。ネットワーク110には、例えば、Etherネットワーク等を用いることができる。なお、ネットワーク110は、施設内に閉じたネットワークではなく、インターネット等の施設外部のネットワークを介して接続されていてもよい。
続いて、認証サーバ100および認証装置120の機能構成を説明する。
認証サーバ100は、個人管理データベース(以下、「個人管理DB」という)101、設備管理データベース(以下、「設備管理DB」という)102、認証管理データベース(以下、「認証管理DB」という)103、データベース管理部(DB管理部)105、登録部107、および認証管理部106を有する。
個人管理DB101は、後述する利用者に関する情報を記憶する。個人管理DB101は、個人認証情報テーブル1600(図9)、および個人部署情報テーブル1700(図10)を保持する。そして、利用者に関する情報は、個人認証情報テーブル1600、および個人部署情報テーブル1700に格納される。個人認証情報テーブル1600、および個人部署情報テーブル1700のデータ構成は、後段で詳細に説明する。
設備管理DB102は、後述する認証を行なう認証装置120のアドレスや認証を行なう場所等の設備に関する情報を記憶する。設備管理DB102は、場所テーブル1100(図4)、機器テーブル1200(図5)、および端末テーブル1300(図6)を保持する。そして、設備に関する情報は、場所テーブル1100、機器テーブル1200、および端末テーブル1300に格納される。場所テーブル1100、機器テーブル1200、および端末テーブル1300のデータ構成は、後段で詳細に説明する。
認証管理DB103は、後述する認証に関する情報および認証の履歴を記憶する。認証管理DB103は、認証テーブル1400(図7)、部署テーブル1500(図8)、業務カレンダーテーブル1800(図11)、および認証履歴テーブル1900(図12)を保持する。そして、認証に関する情報は、認証テーブル1400、部署テーブル1500、および業務カレンダーテーブル1800に格納される。認証の履歴は、認証履歴テーブル1900に格納される。認証テーブル1400、部署テーブル1500、業務カレンダーテーブル1800、および認証履歴テーブル1900のデータ構成は、後段で詳細に説明する。
なお、本実施形態では、上記各テーブル(個人認証情報テーブル1600、個人部署情報テーブル1700、場所テーブル1100、機器テーブル1200、端末テーブル1300、認証テーブル1400、部署テーブル1500、業務カレンダーテーブル1800、および認証履歴テーブル1900)を、個人管理DB101、設備管理DB102、および設備管理DB103の3つのデータベースにそれぞれ分類して記憶するようにしたが、特にこれに限定されるものではない。例えば、上記各テーブルを1つのデータベースに記憶するようにしてもよい。また、実際にはこれらのテーブルはどのデータベースに記憶されていても良いし、データベースの数も3つに限定するものではない。
DB管理部105は、個人管理DB101、設備管理DB102、および認証管理DB103のそれぞれに記憶されているデータの入出力を制御する。具体的には、DB管理部105は、SQLのクエリを発行して、SQLのクエリに応じて各データベースの持つデータを取得し、或いは、各データベースの更新を行なう。SQLのクエリは、ネットワークを介して発行されてもよいし、各データベースの提供する関数APIを利用して発行されてもよい。また、これらのデータベースは、認証サーバ100上ではなく、別のサーバ上に搭載される構成も可能である。
認証管理部106は、認証装置120との通信、および通信内容の解釈・処理・応答を行う。また認証管理部106は、必要に応じてDB管理部105に対して情報の取得・登録を要求する。この際、認証管理部106は、DB管理部105を利用せずに、直接各データベースへクエリを発行することも可能である。
登録部107は、利用者が各データベース(個人管理DB101、設備管理DB102、および認証管理DB103)を更新する際のユーザインターフェースを提供する。利用者は、このユーザインターフェースを利用して、新たな機器が設置された場合や、利用者が増えた場合、ビル内の機器構成が変化した場合等の更新データを入力する。登録部107は、利用者が入力した更新データを受付け、その受付けた更新データを用いて、DB管理部105を介して各データベースを更新する。
続いて、認証装置120の機能構成を説明する。認証装置120は、認証操作部121および認証部122を有する。認証操作部121は、認証部122の管理、及び認証サーバ100との通信処理を行う。認証部122は、利用者が入力する情報を受付けてその利用者に対する認証処理を行なう。認証部122には、複数の認証デバイス(例えば生体認証装置)が接続されていて、それぞれの認証デバイスを利用して利用者の認証を行なう。
続いて、本実施形態のハードウェア構成を説明する。
図2は、本実施形態のセキュリティシステムのハードウェア構成を示すブロック図である。
最初に認証装置120のハードウェア構成を説明する。
認証装置120は、EPROM201、CPU202、メインメモリ203、バス204、周辺制御装置205、不揮発性記憶装置206、LANインタフェース(以下、「LANI/F」という)207、カードリーダインタフェース(以下、「カードリーダI/F」という)208、生体認証インタフェース(以下、「生体認証I/F」という)209、電子錠インタフェース(以下、「電子錠I/F」という)210、カードリーダ211、生体認証装置212、電子錠213、およびリアルタイムクロック(以下、「RTC」という)214を有する。
RTC214は、認証装置120が現在時刻を取得する際に利用される。LANI/F207は、ネットワーク110を介して行なうデータの送受信(例えば、認証サーバ100との間で行うデータの送受信)を制御する。EPROM201、CPU202、メインメモリ203、周辺制御装置205は、バス204を介して相互に接続されている。不揮発性記憶装置206、LANI/F207、カードリーダI/F208、生体認証I/F209、電子錠I/F210、RTC214は、それぞれ、周辺制御装置205に接続される。なお、不揮発性記憶装置206は、磁気ディスク装置、フラッシュROM等から構成される。
カードリーダI/F208、生体認証I/F209、電子錠I/F210にはそれぞれ、カードリーダ211、生体認証装置212、電子錠213が接続される。
EPROM201には、ブートプログラムが保存されている。不揮発性記憶装置206には、上述した認証操作部121および認証部122の機能を実現するためのプログラム(認証プログラム)が保存されている。そして、認証装置120が起動するとこのブートプログラムに応じてCPU202が動作する。CPU202は、ブートプログラムにより、不揮発性記憶装置206から認証プログラムをメインメモリ203へロードし、この認証プログラムを開始する。CPU202は、認証プログラムを実行することにより、周辺制御装置205を介して、カードリーダI/F208、生体認証装置I/F209、電子錠I/F210への信号の送受信を行い、カードリーダ211、生体認証装置212、および電子錠213の制御を行う。また、CPU202は、認証プログラムを実行することにより、後述する認証処理を行なう。
なお、ここでは、生体認証装置として指紋認証装置、静脈認証装置、虹彩認証装置等を想定しているが、これらの認証装置に限定されるものではない。また、インタフェースとして、カードリーダI/F208、生体認証装置I/F209、および電子錠I/F210の3つを記載しているが、インタフェースの数はこれらに限定されるものではなく、認証デバイスや制御対象デバイスの数に応じて増減するものである。
続いて、認証サーバ100のハードウェア構造を説明する。
認証サーバ100には、EPROM220、CPU230、メインメモリ240、バス250、周辺制御装置260、不揮発性記憶装置280、およびLANインタフェース(以下、「LANI/F」という)270を有するコンピュータを用いることができる。
EPROM220、CPU230、メインメモリ240、周辺制御装置260は、バス250を介して相互に接続されている。不揮発性記憶装置280、およびLANI/F270は、それぞれ、周辺制御装置260に接続されている。不揮発性記憶装置280は、磁気ディスク装置、フラッシュROM等から構成される。LANI/F270は、ネットワーク110を介して行なうデータの送受信(例えば、認証装置120との間で行うデータの送受信)を制御する。
EPROM220には、ブートプログラムが保存されている。不揮発性記憶装置280には、上述したDB管理部105、認証管理部106、および登録部107の機能を実現するための各プログラム(DB管理プログラム、認証管理プログラム、および登録プログラム)が保存されている。そして、認証サーバ100が起動するとこのブートプログラムに応じてCPU230が動作する。CPU230は、ブートプログラムにより、不揮発性記憶装置280から上記各プログラムをメインメモリ240へロードする。CPU230は、メインメモリ240にロードされた各プログラム(DB管理プログラム、認証管理プログラム、および登録プログラム)を実行することにより、上述したDB管理部105、認証管理部106、および登録部107の機能を実現する。また、上述した個人管理DB101、設備管理DB102、および認証管理DB103は、メインメモリ240および不揮発性記憶装置280に格納される。
続いて、本実施形態のセキュリティシステムが行なう認証処理の概略について、図3を用いて説明する。
図3は、本実施形態のセキュリティシステムが行なう認証処理の概略を説明するための図である。図3には、セキュリティシステムの各DB、各部、および利用者の相互の関係を示している。なお、301、302は利用者を示している。
個人管理DB101、設備管理DB102、および認証管理DB103は、DB管理部105からSQLのクエリ(A3001〜A3003)が発行されるとその内容を処理する。そして、個人管理DB101、設備管理DB102、および認証管理DB103は、それぞれ、処理結果(A3011〜A3013)をDB管理部105へ返信する。
DB管理部105は、TCP/IP上でのHTTPプロトコル等を利用して、認証管理部106からの機器IDや個人IDをキーとしたデータの取得要求(A3021)、および認証結果登録要求(A3022)を受付ける。また、DB管理部105は、登録部107からのDB更新要求(A3023)を受付ける。
DB管理部105は、各要求(A3021〜A3023)を受付けると、これをSQLのクエリへ変換し各DBへクエリ(A3001〜3003)を発行する。また、DB管理部105は、各DBからの応答(A3011〜A3013)を受けると、これらの応答のデータ形式の変換を行い、認証管理部106、もしくは登録部107へ返答する。
認証管理部106は、認証装置120の認証レベルを管理する。ここで認証レベルとは認証の強度を示す値であり、認証レベルが高いほうがより厳重な認証が行われる。認証管理部106は、各認証装置120の認証操作部121からの個人IDおよび機器ID(A3031)を受信すると、DB管理部105を介し各DBへアクセスし、各機器の個人に応じた認証レベルを決定するために必要な情報を取得し、認証レベル決定の後、認証レベル(A3032)を認証操作部121へ返答する。また、認証管理部106は、認証操作部121からの認証結果(A3033)を受信すると、DB管理部105を介して認証結果を認証管理DB103へ登録する。登録部107は利用者302の操作により、更新データが入力されると、DB管理手段105を介してDBの更新を行う。
認証装置120−aおよび認証装置120−bのそれぞれの認証操作部121は、認証部122に対して認証パラメータ(A3042)の設定を行う。認証パラメータは、認証レベルに応じて設定されるパラメータである。認証パラメータとは、例えば指紋認証においては一致すべき特徴点の数のような認証の精度を決定する値や、指紋認証装置に利用者が入力する指紋情報との比較対象である認証用のテンプレートのことをいう。
また、認証操作部121は、認証部122から認証データもしくは認証結果を受信する(A3040〜3041)。認証データは、利用者が認証デバイスに入力した値である。例えば認証デバイスがカードリーダのリーダーの場合、カードに記録されているカードIDがこれに相当する。認証結果は、認証部122で行われた認証の結果である。認証操作部121は、認証部122から受信した認証結果を認証管理部106に送信する(A3033)。また、認証操作部121は、他の認証装置の認証操作部131に受信した認証結果を送信する(A3050)。
認証部122は、利用者301からの認証データの入力を受け付け、認証操作部121により設定された認証パラメータを元に、認証データの処理を行う。認証部122は、認証の処理を行える場合、認証結果を認証操作部121へ送信する。一方、認証部122は、認証の処理を行えない場合、利用者の入力した認証データを認証操作部121へ送信する。この場合は認証操作部121で認証処理を行う。
続いて、本実施形態の認証サーバの各DBに保存されるテーブルのデータ構成について、図4〜12を用いて説明する。
図4は、本実施形態の場所テーブル1100のデータ構成を模擬的に示した図である。
図示するように、場所テーブル1100は、「場所ID」を登録するためのフィールド1101と、「場所名」を登録するためのフィールド1102と、「認証レベル」を登録するためのフィールド1103と、「隣接場所」を登録するためのフィールド1104と、を備えて1つのレコードが構成される。「場所ID」は、オフィスやマンション内の部屋や通路等の各場所(エリア)に対して一意に決められる数値である。「場所名」は、その場所の名称を示す。「認証レベル」は、その場所における認証の強度である数値を示す。「隣接場所」は、その場所とドアや認証装置を挟んで隣接する場所の場所IDを示す。
図5は、本実施形態の機器テーブル1200のデータ構成を模擬的に示した図である。機器テーブル1200は、本実施形態の認証装置120の設置場所やアドレス等の情報を登録するためのテーブルである。
さて、図示するように、機器テーブル1200は、「機器ID」を登録するためのフィールド1201と、「機器名」を登録するためのフィールド1202、「認証タイプ」を登録するためのフィールド1203と、「設置場所」を登録するためのフィールド1204と、「隣接先」を登録するためのフィールド1205と、「アドレス」を登録するためのフィールド1206と、を備えて1つのレコードが構成される。「機器ID」は、オフィスやマンションに設置されているそれぞれの認証装置にたいして一意に決められる数値である。「機器名」は、それぞれの認証装置の名称である。「認証タイプ」は、それぞれの認証装置120に設けられている認証部220の認証手段を識別する認証IDを示す。「設置場所」は、それぞれの認証装置が設置されている場所の場所IDを示す。「隣接先」は、それぞれの認証装置が入場を許可する場所の場所IDを示す。「アドレス」は、それぞれの認証装置のIPアドレスを示す。
図6は、本実施形態の端末テーブル1300のデータ構成を模擬的に示した図である。ここに示す端末(図示しない)とは、利用者301が業務で利用するコンピュータ(PC)などの端末を示し、認証装置120とは異なる。なお、端末は、ネットワーク110に接続されていて、認証装置120が有する認証操作部121および認証部122を有している。
図示するように、端末テーブル1300は、「端末ID」を登録するためのフィールド1301と、「端末名」を登録するためのフィールド1302、「場所」を登録するためのフィールド1303と、「認証タイプ」を登録するためのフィールド1304と、「アドレス」を登録するためのフィールド1305と、を備えて1つのレコードが構成される。
「端末ID」は、それぞれの端末に一意に割り当てられた数値である。「端末名」は、それぞれの端末の名称である。「場所」は、それぞれ端末が設置されている場所の場所IDを示す。「認証タイプ」は、それぞれの端末に設けられている認証部122の認証手段を識別する認証IDを示す。「アドレス」は、その端末のIPアドレスである。ここでは、端末と認証装置との区別を明確にするため、テーブルを分けているが、機器テーブル1200および端末テーブル1300を一つのテーブルとして構成することも可能である。この場合は、端末IDを機器IDに置き換え、数値が重複しないようにする。
図7は、本実施形態の認証テーブル1400のデータ構成を模擬的に示した図である。
図示するように、認証テーブル1400は、「認証ID」を登録するためのフィールド1401と、「認証名」を登録するためのフィールド1402と、「信頼レベル」を登録するためのフィールド1403と、を備えて1つのレコードが構成される。「認証ID」は、それぞれの認証部220に対して一意に決められた数値である。「認証名」は、それぞれの認証部220の名称である。「信頼レベル」は、それぞれの認証部220で認証に成功したときに、認証レベルにおけるどの数値に相当するものかを示す。
図8は、本実施形態の部署テーブル1500のデータ構成を模擬的に示した図である。
図示するように、部署テーブル1500は、「部署ID」を登録するためのフィールド1501と、「部署名」を登録するためのフィールド1502と、「使用場所」を登録するためのフィールド1503と、を備えて1つのレコードが構成される。「部署ID」は、オフィス内に存在する部署に対して一意に決められた数値である。なお、本実施形態をマンションに適用する場合は、部署の単位は居室に相当する。「部署名」は、それぞれの部署の名称である。「使用場所」は、それぞれの部署が利用できる場所を識別する場所IDを示す。
図9は、本実施形態の個人認証情報テーブル1600のデータ構成を模擬的に示した図である。
図示するように、個人認証情報テーブル1600は、「個人ID」を登録するためのフィールド1601と、「カードID」を登録するためのフィールド1602と、「ユーザ名」を登録するためのフィールド1603と、「パスワード」を登録するためのフィールド1604と、「指紋情報」を登録するためのフィールド1605と、「静脈情報」を登録するためのフィールド1606と、「顔情報」を登録するためのフィールド1607と、を備えて1つのレコードが構成される。「個人ID」は、利用者301を識別するために、利用者ごとに一意に決められた数値である。「カードID」は、利用者に配布されたカードに与えられた固有の番号である。「ユーザ名」は、利用者が端末を利用する際のログイン名を示す。「パスワード」は、利用者が端末を使用する際のパスワードを示す。「指紋情報」、「静脈情報」、および「顔情報」は、それぞれ利用者の生体情報を示す。ここでは、生体情報として3つ挙げているが、認証手段が増えた場合には、対応する生体認証情報が付加される。また、各生体情報の欄には文字列を記載しているが、実際にはバイナリデータであったり、認証情報を含むファイル名であったり、認証情報にアクセスするためのアドレスであることも可能である。
図10は、本実施形態の個人部署情報テーブル1700のデータ構成を模擬的に示した図である。
図示するように、個人部署情報テーブル1700は、「個人ID」を登録するためのフィールド1701と、「部署」を登録するためのフィールド1702と、「利用端末」を登録するためのフィールド1703と、「利用場所」を登録するためのフィールド1704と、を備えて1つのレコードが構成される。「個人ID」は、上述した個人認証情報テーブル1600の個人IDと同じである。「部署」は、利用者が所属する部署を識別するための部署IDを示す。「利用端末」は、利用者が使用する端末の端末IDを示す。「利用場所」は、利用者が利用端末を使用できる場所の場所IDを示す。ここで、「利用場所」に利用者が所属する部署で使用する場所だけでなく、関連する部署の場所も登録しておくこととする。このようにするのは、利用者が他の部署へ出入するのを容易にするためである。
図11は、本実施形態の業務カレンダーテーブル1800のデータ構成を模擬的に示した図である。業務カレンダーテーブル1800は、オフィスやビル、マンション毎に設置されるテーブルである。
図示するように、業務カレンダーテーブル1800は、「日付」を登録するためのフィールド1801と、「時間帯」を登録するためのフィールド1802と、「状態」を登録するためのフィールド1803と、「認証モード」を登録するためのフィールド1804と、を備えて1つのレコードが構成される。
「日付」は、以下で示す「状態」および「認証モード」を適用する日付を示す。「時間帯」は、以下で示す「状態」および「認証モード」を適用する開始時刻と終了時刻を示す。「状態」は、オフィスやビルの営業状態を示す。なお、本実施形態をマンションに適用する場合は、フィールド1803がない場合がある。「認証モード」は、認証を行う際の際のモード(認証処理の強弱のレベル)を示す。本実施形態では、「認証モード」として、「通常」、「警戒」、「厳重」、および「開放」の4種類のモードが設けられている場合を例にする。そして、本実施形態のセキュリティシステムは、認証テーブル1900に登録されている「認証モード」に応じて認証処理の際の認証レベルを増加或いは減少させる。例えば、認証モードが「厳重」の場合は、常に認証レベルが最大となるようにし、認証モードが「警戒」の場合は、通常より認証レベルを一定値アップさせる。認証モードが「通常」の場合は、デフォルト値として定められた認証レベルとする。認証モードが「開放」の場合は、通常より認証レベルを一定値ダウンさせる。日付と時刻に応じて認証レベルを増減させることにより、営業状況や生活状況に応じた認証レベルが設定可能となる。
図12は、本実施形態の認証履歴テーブル1900のデータ構成を模擬的に示した図である。
図示するように、認証履歴テーブル1900は、「個人ID」を登録するためのフィールド1901と、「認証機器(認証装置120および端末)」を登録するためのフィールド1902と、「認証時刻」を登録するためのフィールド1903と、「認証結果」を登録するためのフィールド1904と、「場所判定」を登録するためのフィールド1905と、を備えて1つのレコードが構成される。「個人ID」は、認証対象となった利用者の個人IDを示す。「認証機器」は、認証を行った機器の機器IDあるいは端末IDを示す。「認証時刻」は、認証を行った時刻を示す。「認証結果」は、認証の成功か失敗かを示す情報と、認証の際の認証レベルを示す。「場所判定」は、認証を行う際に経路情報に不整合が無かったかどうかの判定結果を示す(経路情報については、後段で説明する)。
続いて、本実施形態のセキュリティシステムが行なう認証処理の流れを説明する。なお、以下では、セキュリティシステムが複数の認証装置120−aおよび120−bを有する場合を例に説明する。また、認証装置120−aおよび120−bは、それぞれ、同じ施設の異なる場所に設置されていることとする。そして、認証装置120−aがある利用者の認証処理を行なった後、続けて、認証装置120−bが同じ利用者に対する認証処理を行なう場合を例にする。
図13は、本実施形態のセキュリティシステムが行なう認証処理のシーケンス図である。
最初に、認証装置120−aは、利用者301が入力する認証情報を受付ける(S4000)。具体的には、利用者301は、カードリーダ211にICカードを接触もしくは近接させたり、指を指紋認証装置や静脈認証装置等の生体認証装置212に接触させたりすることで認証情報を認証装置120−aに入力する。認証装置120−aは、カードリーダ211や生体認証装置212を介して認証情報を受信する。なお、ここでは、利用者301がカードIDを記憶したICカードをカードリーダ211に近接させ、カードIDがカードリーダ211により読み出されることを想定する。
続いて、認証装置120−aは、カードIDを受信すると、受信したカードIDから個人IDを特定する(S4001)。なお、後述するが、認証装置120−a、bには、カードID等の認証情報に個人IDを対応付けたテーブル(以下「個人IDテーブル」という)が登録さている。認証装置120−aは、個人IDテーブルを参照して、受信したカードIDに対応付けられている個人IDを特定する。その後、認証装置120−aは、特定した個人IDおよび認証装置120毎に予め設定されている機器IDを認証サーバ100の認証管理部106へ送信する(S4002)。
認証管理部106は、個人IDおよび機器IDを受信すると、個人IDと機器IDをキーとしてデータベースにアクセスして情報を取得する(S4003〜4004)。ここで取得される情報は、機器テーブル1200(図5)の機器IDに対応付けられた「設置場所」および「隣接先」と、場所テーブル1100(図4)の設置場所に対応付けられた「認証レベル」と、認証履歴テーブル1900(図12)の個人IDに関連した項目(以下「履歴情報ともいう」)と、業務カレンダーテーブル1800(図11)の日付及び時間帯に関連付けられた項目(以下「カレンダー情報」ともいう)である。
より、具体的には、認証管理部106は、機器テーブル1200(図5)に登録されているレコードの中から、フィールド1201に受信した「機器ID」が登録されているレコードを検索する。認証管理部106は、検索されたレコードの「設置場所」を示す場所IDおよび「隣接先」を示す場所IDを取得する。また、認証管理部106は、場所テーブル1100(図4)に登録されているレコードの中から、フィールド1101に取得した「隣接先」を示す場所IDが登録されているレコードを検索する。認証管理部106は、検索されたレコードの「認証レベル」を取得する。また、認証管理部106は、認証履歴テーブル1900(図12)に登録されているレコードの中から、S4002で受信した「個人ID」が登録されているレコードを検索して、検索されたレコードを取得する。さらに、認証管理部106は、RTC214から日付及び時間帯を取得する。認証管理部106は、業務カレンダーテーブル1800(図11)に登録されているレコードの中から、取得した日付及び時間帯が登録されているレコードを検索する。認証管理部106は、検索されたレコードを取得する。
続いて、認証管理部106は、取得した情報を元に認証レベルの計算を行う(S4005)。なお、認証レベルの具体的な計算方法については後述する。認証レベルが決定されると、認証管理部106は、認証装置120−aに認証レベルを送信する(S4006)。
認証装置120−aは、認証レベルを受信すると、この認証レベルに応じた認証処理を行い、利用者301に対して、ドアを開ける等の許可を与える(S4007〜4008)。なお、認証処理の詳細は後で述べる。また、認証装置120−aは、利用者の認証後に、認証結果情報を認証サーバ100の認証管理部106へ送信する(S4009)。認証結果情報には、認証可否と認証結果レベルの組である認証結果、認証を行った時間、個人ID、機器IDが含まれる。
認証管理部106は、認証結果情報を受信すると、その内容をDB管理部1105に送信し、DB内の認証履歴テーブル1900の更新を行う(S4010)。
その後、利用者は、認証装置120−aで認証されると移動して、次に認証装置120−bで認証を受ける。認証装置120−bで行なわれる認証手順は、上述した認証装置120−aでの手順と同様である。すなわち、認証装置120−bは、上述したS4001〜4002と同様の処理を行い、利用者からの認証情報(カードID)を受付けて、個人IDを特定する。認証装置120−bは、特定した個人IDと、予め認証装置120−bに登録されている機器IDとを認証サーバ100に送信する(S4100〜4102)。また、認証サーバ100は、上述したS4003〜4006と同様に認証レベルを決定して、認証装置120−bに決定した認証レベルを送信する(S4102〜4106)。そして、認証装置120−bは、上述したS4007〜4010と同様の認証処理を行なう(S4107〜41010)。
但し、S4100〜S4109の処理が行なわれる際、認証サーバ100の認証履歴TB1900には、認証装置120−aで行なわれた認証結果が登録されている。また、認証装置120−bの設置場所も認証装置120−aと異なるため、認証レベルの値が認証装置120−aでの認証の場合と異なる。例えば、認証機器120−aでの認証に失敗していた場合は、認証レベルが高くなり、認証に成功していた場合は認証レベルが低くなる。ここで、認証機器120−aでの認証に失敗していながら、認証装置120−bで認証を行なう場合とは以下のような場合がある。例えば、利用者自身は、認証装置120−aでの認証処理に失敗したとする。この場合、失敗された認証処理の履歴が認証サーバ100に登録される。その後、利用者は、認証処理を成功した他の利用者が入場する際に友連れで認証装置120−bが設置されているエリアに入場してしまうことがある。
このように、本実施形態では、利用者の過去の認証結果を用いて認証レベルを変更するようにしているため、利用者が目的地へ至る途中で不正を行っていた場合でも、最終的には確実に認証が行われるようにすることが可能である。また、利用者の過去の認証結果を用いて認証レベルを変更するため、例えば、管理部のエリアへの認証を成功した利用者がその後、開発部のエリアに入ろうとした場合、認証レベルを下げることにより、利用者の認証処理の負担を軽減することができる。
また、本実施形態では、認証装置120が設置されている場所に対応付けて認証レベルを定めておいて、その認証レベルを日付および時間により変更するようにしている。すなわち、本実施形態によれば、認証装置120が設置されている場所および日時によりセキュリティレベルを設定できる。そのため、例えば、出入口に設置した認証装置120について、平日の通勤時間帯の認証レベルを下げ、通勤時間帯を過ぎた場合には認証レベルを上げるようにして、通勤時間帯の混雑を低減させることができる。また、人通りが少ない休日については、認証レベルを上げてセキュリティの強化を図ることができる。
続いて、図13で説明した本実施形態の認証処理の変形例について、図14を用いて説明する。本変形例も、上記同様に認証装置120−aがある利用者301の認証処理を行なった後、続けて、同じ利用者301を認証装置120−bが認証処理を行なう場合を例にする。
図14は、本実施形態のセキュリティシステムが行なう認証処理の変形例のシーケンス図である。
さて、本変形例では、認証装置120−aは、認証処理を行なう際に、認証サーバ100からその利用者301のこれから通過する可能性がある経路にある認証装置120に関する経路情報を取得する。認証装置120−aは、経路情報に含まれている認証装置120(以下の例では、認証装置120−b)に対して、自身が行なった認証結果と、経路情報とを送信する。そして、認証装置120−bは、上記の送信された認証結果および経路情報を受信し、その受信した認証結果および経路情報を用いて認証レベルを算出する。このように構成することで、認証装置120−bが認証レベル取得のために認証サーバ100の認証管理部106に毎回アクセスすることがなくなるため、通信トラフィックの軽減が図られる。また、認証レベルの計算を認証サーバの認証管理部106ではなく、各認証装置120で行うことで、計算の負荷の分散を図ることができる。以下において、この処理の流れについて説明する。
最初に、認証装置120−aは、図13で説明したS4000〜4001と同様の処理を行い、利用者301からの認証データを取得して、取得した認証データから個人IDを特定する(S5000〜5001)。
その後、認証装置120−aは、特定した個人IDに関連付けられた後述する経路情報を保持しているか否かを判定する(S5200)。経路情報とは、利用者301の個人ID毎にその利用者301が以前に行なった認証結果と、認証に必要な情報とを関連付けたデータである(経路情報は後述する)。なお、ここでは、認証装置120−aにおいて、利用者301が初めて認証される場合を例にする。すなわち、認証装置120−aは、S5000で受付けた利用者301の経路情報を保持していない。そのため、認証装置120−aは、経路情報を保持していないと判定し、S5002の処理に進む。
S5002では、図13で説明したS4002と同様に、個人IDおよび認証装置120毎に設定されている機器IDを認証サーバ100の認証管理部106に送信する。
認証管理部106は、個人IDおよび機器IDを受信すると、図13のS4003〜4004と同様の情報(「設置場所」、「隣接先」、「認証レベル」、「履歴情報」、および「カレンダー情報」)をDB管理部105から取得する。なお、「設置場所」、「隣接先」、「認証レベル」、「履歴情報」、および「カレンダー情報」を取得する処理は、S4003〜4004と同様であるため、ここでの説明は省略する。さらに、認証管理部106は、取得した「隣接先」を用いて、機器テーブル1200から取得した「隣接先」が「設置場所」となっているレコードを特定する。認証管理部106は、特定したレコードの機器IDを取得する。そして、認証管理部106は、取得した「機器ID」に対応付けられている「設置場所」、「隣接先」、「アドレス」、および「認証レベル」を取得する(S5003〜S5004)。
具体的には、認証管理部106は、機器テーブル1200(図5)に登録されているレコードの中から、取得した「隣接先」の場所IDが登録されているフィールド1204を持つレコードを検索する。認証管理部106は、検索の結果、「隣接先」の場所IDが登録されているフィールド1204を持つレコードを見つけた場合、検索されたレコードの「設置場所」、「隣接先」、「アドレス」を取得する。さらに、認証管理部106は、場所テーブル1100(図4)に登録されているレコードの中から、フィールド1101に取得した「隣接先」が登録されているレコードを検索する。そして、認証管理部106は、検索されたレコードの「認証レベル」を取得する。認証管理部106は、受信した「個人ID」に、取得した「機器ID」、「設置場所」、「隣接先」、「認証レベル」、および「アドレス」を対応付けた隣接先情報を生成する。認証管理部106は、さらに、生成した隣接先情報中に含まれる「隣接先」から上記と同様の手順により再帰的に隣接先情報を生成する。認証管理部106は、これら複数の隣接先情報を集めて経路情報とする。
このように、機器テーブル1200を利用して隣接先に設置されている認証装置120の「機器ID」、「設置場所」、「隣接先」、「認証レベル」、「アドレス」を調べることで、利用者が通過する可能性のある場所に設置されていて、利用者により操作される可能性がある認証装置120の情報を作成することができる。
さらに、認証管理部106は、再帰的に隣接先情報を生成する際、個人部署情報テーブル1700から個人IDに対応する部署を取得し、その部署に対応する使用場所を部署テーブル1500から取得し、隣接先が使用場所に無い場合には、再帰的な隣接先情報の生成を終了するようにしてもよい。また、隣接先情報を生成する際、隣接先が既に経路情報に登録されている場合、隣接先情報の生成を終了するようにしてもよい。隣接先情報を生成する回数を一定回数に定めるようにしてもよい。また、個人部署情報テーブル1700の個人IDに対応した利用場所と隣接先が一致する場合を隣接先情報生成の終了条件としてもよい。
なお、個人IDに対応した利用場所での判定は、利用者301が一度端末での認定を完了した場合にだけ利用できるようにしてもよい。このように構成することにより、利用者が自分の所属する部署に入場した場合にだけ他の部署に入場できるようになる。
認証管理部106は、これらの情報を元に認証レベルの計算を行う(S5005)。計算方法の詳細は、後で述べる。認証レベルが決定されると、認証管理部106は、認証装置120−aに認証レベルと経路情報を送信する(S5006)。
認証装置120−aは、認証レベルと経路情報を受信すると、図13のS4007と同様に、この認証レベルに応じた認証処理を行い(S5007)、利用者301に対してドアを開ける等の許可を与える(S5008)。認証処理の詳細は後で述べる。認証装置120は、利用者の認証後に、認証結果を認証管理部106へ送信する(S5009)。この認証結果には、認証の可否、認証を行った時間、個人ID、機器ID、経路の判定結果が含まれる。
認証管理部106は、認証結果を受信すると、その内容をDB管理部105に送信し、DB内の認証履歴テーブル1900の更新を行う(S5010)。
また、認証装置120−aは、認証管理部106への認証結果を送信した後、S5006で受信した経路情報から自身の機器IDに対応した隣接先情報から隣接先に設置されている認証装置120を特定する。なお、ここでは、隣接先に設置されている装置として、認証装置120−bを特定したこととする。認証装置120−aは、特定した隣接先の認証装置120−bのアドレスに対して認証結果と経路情報を送信する(S5011)。認証装置120−bは、認証結果と経路情報を取得すると、これを自身に保存する。
利用者301は、認証装置120−aで認証されると移動し次に認証装置120−bでの認証を行う。以下、認証装置120−bで行なわれる認証処理を説明する。
認証装置120−bは、上記のS5000〜S5001と同様、利用者301から認証データを取得して、その認証データにより個人IDを決定する(S5100〜5101)。また、認証装置120−bは、上記と同様に、特定した個人IDに関連付けられた後述する経路情報があるか否かの判定を行う(S5200)。なお、ここでは、認証装置120−bは、経路情報を保持しているため、その経路情報を用いて認証レベルを算出する(S5201)。具体的には、認証装置120−bは、保持している経路情報の中から、S5101で特定した個人IDと認証装置120−bの機器IDに対応した隣接地情報を取得する。また、認証装置120−bは、隣接先と、個人IDに対応した認証結果情報を用いて、認証レベルを算出する。
認証装置120−bは、S5201で算出した認証レベルにしたがい利用者301の認証を行う(S5107)。その後、認証装置120−bは、認証結果を認証管理部106へ送信する。また、認証装置120−bは、経路情報いよび認証結果を隣接する認証装置120へ送信する。隣接する認証装置120の判断手順は認証装置120−aの場合と同様である。
続いて、本実施形態のセキュリティシステムの各部が行なう処理について詳細に説明する。
最初に認証サーバ100の認証管理部106が行なう利用者および認証機器に応じた認証レベルを決定する処理について図15を用いて説明する。
図15は、本実施形態の認証サーバ100の認証管理部106が利用者および認証機器に応じた認証レベルを決定する処理のフローを説明するための図である。
まず、認証管理部106は、認証装置120が出力する「個人ID」および「機器ID」の組、もしくは端末が出力する「個人ID」と「端末ID」の組を受信して(S601)、S602の処理に進む。
S602では、認証管理部106は、「場所ID」を取得する処理を行なう。具体的には、認証管理部106は、S601において「機器ID」を受信した場合、機器テーブル1200(図5)から受信した「機器ID」をもつレコードを特定する。認証管理部106は、機器テーブル1200から特定したレコードのフィールド1204に登録されている「場所ID」を取得する。また、認証管理部106は、S601において「端末ID」を受信した場合、端末テーブル1300(図6)から受信した「端末ID」をもつレコードを特定する。認証管理部106は、端末テーブル1300から特定したレコードのフィールド1303に登録されている「場所ID」を取得する。認証管理部106は、「場所ID」を取得後、S603の処理に進む。
S603では、認証管理部106は、S601で受信した「個人ID」を用いて、認証履歴テーブル1900からその「個人ID」に対応する認証履歴を取得する。具体的には、認証管理部106は、認証履歴テーブル1900からS601で受信した「個人ID」をもつレコードを取得する。なお、「個人ID」に対応した認証履歴が複数ある場合は、フィールド1903の登録されている「認証時刻」が最新のものを取得する。
次にS604では、認証管理部106は、S601で「機器ID」を受信している場合、機器テーブル1200から「隣接先(その認証装置120が入場を許可する場所)」を示す「場所ID」を取得する。具体的には、認証管理部106は、機器テーブル1200に登録されているレコードの中から、S602で取得した「場所ID」に対応する「隣接先」を登録するためのフィールド1205から「場所ID」を取得する。なお、S601において認証管理部106が端末IDを受信した場合には、S602で得られた「場所ID」を隣接先の「場所ID」とする。このようにしたのは、端末は、利用者の入場を許可するか否かを判断する装置ではないためである。すなわち、端末には「隣接先(入場を許可する場所)」に相当する場所がない。したがって、端末テーブル1300には、「隣接先」を登録するためのフィールドが設けられていない。
さらに、本ステップにおいて、認証管理部106は、利用者が権限のない場所に入場することを防ぐために以下の処理を行なうようにしてもよい(図示せず)。具体的には、認証管理部106は、個人部署情報テーブル1700(図10)からS601で取得した「個人ID」に対応する利用場所を取得する。認証管理部106は、個人部署情報テーブル1700から取得した「利用場所」の中にS602で取得した「場所ID」が含まれなかった場合、認証レベルを「−1」に設定する。そして、認証管理部106は、S601において情報を送信した認証装置120(或いは端末)の認証操作部121に上記の設定した認証レベルを送信して認証レベルの計算処理を終了する。このようにするのは、利用者が利用できない場所に入ることを防ぐためである。一方、認証管理部106は、個人部署情報テーブル1700から取得した「利用場所」の中にS602で取得した「場所ID」が含まれていた場合、S605の処理に進む。
S605では、認証管理部106は、場所テーブル1100(図4)からS604で取得した「場所ID」に対応する認証レベルを取得する。具体的には、認証管理部106は、場所テーブル1100を参照して、S604で取得した「場所ID」を持つレコードを特定する。認証管理部106は、特定したレコードのフィールド1103に登録されている「認証レベル」の数値を取得する。その後、認証管理部106は、業務カレンダーテーブル1800から現在時刻に対応した認証モードを取得する。認証管理部106は、取得した「認証レベル」および認証モードを用いて認証レベルを算出する。より具体的には、認証管理部105は、認証モードが「開放」だった場合、上記の取得した「認証レベル」を低下させる。認証管理部106は、認証モードが「警戒」だった場合、「認証レベル」を上昇させる。認証管理部106は、認証モードが「厳重」だった場合、「認証レベル」を最大値まで上昇させる。
認証管理部106は、以降のS606〜S614において、利用者の経路、認証履歴等を用いて上記の算出した認証レベルを修正する処理を行なう。
S606では、認証管理部106は、利用者の経路の確認を行なう。具体的には、認証管理部106は、S603で得られた認証履歴の認証機器の機器IDを取得し、機器IDに対応する隣接先の場所IDを機器テーブル1200から取得する。ここで得られた「場所ID」とS602で得られた「場所ID」が一致する場合、経路が正しいと判断して、一致しない場合、経路が正しくないと判断する。そして、認証管理部106は、経路が正しいと判断した場合にS609の処理に進む。一方、認証管理部106は、経路が正しくないと判断した場合にはS607の処理に進む。
経路が正しくないと判断した場合に進むS607では、認証管理部106は、エラー処理を行う。エラー処理は、システム管理者への警告発信やログへの保存を行う。また、データベースに不整合がある場合の修正を試みる。例えば、S601で「端末ID」を受信し、S602で「場所ID」を取得した場合において、その取得した「場所ID」が場所テーブル1100に存在しない値であったとする。このような場合、認証管理部106は、S603で取得した認証履歴のフィールド1905が「OK」であることを確認し、これまでの経路が正しいと判断した後、フィールド1902から「機器ID」を取得する。認証処理部106は、機器テーブル1200から「機器ID」に対応するレコードを特定し、そのレコードのフィールド1205から隣接先の「場所ID」を取得する。この隣接先の「場所ID」が端末の存在している場所を示す。認証管理部106は、端末テーブル1300からS601で受信した「端末ID」を持つレコードを特定する。認証管理部106は、端末テーブル1300の中の特定したレコードのフィールド1303の値を隣接先の「場所ID」で更新する。
これにより、利用者が登録部107を介して端末テーブル1300の場所IDを登録するフィールド1301に無効な値を入れた後に、利用者が端末を利用することで、自動的に端末の場所を設定することが可能となる。認証管理部106は、エラー処理を終了した後、S608の処理に進む。
S608では、認証管理部106は、S605で算出した「認証レベル」を一定値上昇させる。ここで上昇させる値は、特定の値であったり、別のテーブルに保存されている値を引き出したものであったりしてもよい。その際の、テーブルは経路判断や認証時刻判断等と認証場所、認証機器、認証装置等の判断条件と値の組みからなるテーブルである。
続いて、S606において、経路が正しいと判断した場合に進むS609の処理を説明する。
S609では、認証管理部106は、現在時刻、及びS603で得られた認証履歴から認証時刻を確認する。次に認証管理部106は、現在時刻と認証時刻とを比較し、一定時間以上経過していた場合、利用者の行動が正しくないと判断してS610に進む。一方、認証管理部106は、一定時間以上経過していない場合、利用者の行動が正しいと判断してS612の処理に進む。これは、利用者301が経路途中の場所に必要以上に滞在していないかどうか確認するために行う。
S610では、認証管理部106は、エラー処理を行ない、S611の処理に進む。なお、エラー処理の内容は、上述したS607と同様である。S611では、認証管理部106は、認証レベルを上昇させる。上昇させる値は、S610と同様の手順により決定する。
続いて、S609において、利用者の行動が正しいと判断に進むS612の処理について説明する。
S612では、認証管理部106は、前回の認証の結果の確認を行う。認証管理部S612は、S603で取得した認証履歴を示すレコードのフィールド1904および1905に登録された「認証結果」及び「場所判定」を取得する。そして、認証管理部106は、「認証結果」が「OK」であり、かつ「場所判定」が「OK」の場合、S614に進む。S614では、認証管理部106は、認証レベルを減少させる処理を行い、S615に進む。
一方、S612において、上記の「認証結果」および「場所判定」のどちらかがNGであった場合、認証管理部106は、S613に進む。S613では、認証管理部105は、「認証結果」および「場所判定」の状態に応じて認証レベルを上昇させる。
以上で認証レベルが決定され、S615において認証管理部106は、認証装置120(或いは端末)へ認証レベルを送信する。なお、図14で示した経路情報を利用する場合には、認証管理部106は、認証レベルと共に経路情報を送信する。認証管理部106は、認証レベル及び経路情報を送信後、認証履歴テーブル1900に個人IDと機器IDと場所判定として経路の判断結果(S606での判断結果)を登録する。この場合、認証結果の項は空欄となり、認証処理終了後に埋められる。
続いて、認証装置120の認証操作部121が利用者の認証を行なう場合の処理について図16を用いて説明する。
図16は、本実施形態の認証装置の認証操作部121が行なう利用者を認証する処理のフローを説明するための図である。
まず、認証操作部121は、認証部リストを取得する。認証部リストとは、認証装置120で利用可能な認証部122を示すリストであり、認証装置120に予め登録されている。認証部リストは、例えば、認証装置120の不揮発性記憶装置206(図2参照)の所定の領域に格納されている。認証部リストは、各認証部を識別する「認証ID」と、認証部を利用するためのライブラリの関数の「インタフェース」とからなる。「インタフェース」は、関数へのポインタであったり、関数名であったりする。「認証ID」は、認証テーブル1400の認証IDに対応し、リスト内の認証部の数は、機器テーブル1200の認証タイプに対応する。認証操作部121は、認証部リストを取得した後、認証結果レベルを「0」に設定する。
次にS702〜S711で示すループにおいて、認証操作部121は、S701で得られた認証部リストにあるそれぞれの認証部についての認証処理を実行する。
S703において、認証操作部121は、認証装置120内に、利用者301の個人IDが設定されているかどうかを判定する。具体的には、認証装置120の不揮発性記憶装置206の所定の領域には、利用者の「個人ID」に認証情報を対応付けた個人IDテーブルが格納されている。認証操作部121は、利用者から受付けた認証情報(例えばカードID)に対応付けられている個人IDを個人IDテーブルから検索する。認証操作部121は、検索の結果、受付けた認証情報に対応付けられている個人IDを検出できた場合には、「個人ID」が登録されていると判定する。一方、認証操作部121は、上記の受付けた「個人ID」を検出できなかった場合は、「個人ID」が登録されていないと判定する。認証操作部121は、利用者301の個人IDが設定されていないと判定した場合にS705に進み、設定されていると判定した場合にS704の処理に進む。
S705では、認証操作部121は、デフォルトの認証レベルを設定してS707の処理に進む。デフォルトの認証レベルは、予め認証装置120に登録されているものとする。登録されている認証レベルは、機器テーブル1200および場所テーブル1101に登録されている認証装置120が設置されている設置場所の認証レベルに対応しているものとする。なお、デフォルトの認証レベルの設定は、認証装置120を設置する際に予め設定されていても良いし、認証装置120がネットワークに接続された場合に認証管理部106により設定されても良い。また、この値は場所テーブル1100や機器テーブル1200に変更があった場合には認証管理部106により更新される。
続いて、S703において、利用者の個人IDが設定されていると判定した場合に進むS704の処理に進む。
S704では、認証操作部121は、認証レベルを取得済みであるか否かの判定を行う。認証操作部120は、認証レベルを取得済みである場合、S707の処理に進む。認証操作部120は、認証レベルが取得していない場合、S706の処理に進む。
S706では、認証操作部120は、認証レベルを取得する。なお、認証操作部120が行なう認証レベルの取得処理は、図13に示した経路情報を利用しない場合と、図14に示した経路情報を利用する場合とで異なる。
経路情報を利用しない場合、認証操作部120は、図13のS4002およびS4006と同様の処理を行い、認証サーバ100の認証管理部106から認証レベルを取得する。具体的には、認証操作部120は、設定されている個人IDと自身の機器ID(もしくは端末ID)との組を認証管理部106へ送信する。認証管理部106は、認証レベルを計算して、その認証レベルを認証操作部120に送信する。認証操作部106は、認証管理部106が送信した認証レベルを受信する。
経路情報を利用する例では、認証操作部120は、自身が経路情報を保持しているか否かを確認する(図14のS5200)。認証サーバ100は、経路情報を保持していない場合には、図14のS5002およびS5006と同様の処理を行い、認証サーバ100の認証管理部106から認証レベルを取得する。
一方、認証操作部121は、経路情報を保持している場合、図14のS5201と同様の処理を行い認証レベルを算出する。具体的には、認証操作部121は、経路情報を保持している場合、他の認証装置120から受信した設定されていた個人IDに対応した認証結果を用いて、経路情報から自身の機器IDおよび個人IDに対応した隣接先情報と個人IDに対応した認証結果を取得する。認証操作部120は、隣接先情報から隣接先と認証レベルを、認証結果から認証時刻、認証結果、場所判定を取得する。これらの情報を用いて、認証操作部121は、図14で示したS606からS614と同様に認証レベルの計算を行い、認証レベルを設定する。ここで認証レベルが「−1」だった場合には、認証失敗とし、S710の処理へ移る。
なお、認証操作部121は、他の認証装置121から上記の個人IDに対応した認証結果を受信していない場合、図14のS5002およびS5006と同様の処理を行い、認証サーバ100の認証管理部106から認証レベルを取得する。
S707において認証操作部121は、認証部リストが示す認証部122を用いて認証を行い、ここで機器認証結果レベルが設定される。機器認証結果レベルは、認証結果を数値で表したものであり、認証レベルの数値に対応する。認証処理の詳細に関しては後で述べる。
次に、S708において、認証操作部121は、認証結果の判定を行い、認証された場合に、認証結果を設定する。この処理の内容は、後述する図17において述べる。
S709において、認証操作部121は、認証結果が設定されているかどうかの確認を行う。認証結果が設定されていた場合、認証操作部121は、認証部122により正しく認証されたと判断してS710に進む。一方、認証操作部121は、認証結果が設定されていない場合、認証部122により認証されていないと判断してS711に進む。
S710では、認証操作部121は、認証完了処理を行なう。認証完了処理を行なう際、S701で得られた認証部リストの全ての認証部122を利用しないで認証が完了することもありえる。この場合は、利用されなかった認証部122で必要となる認証情報を認証サーバ100の認証管理DB103から取得する必要がなくなるため通信量の軽減が図られる。
S710で行う認証完了処理は、例えば、認証装置120の場合であって、かつドアに付属して設置されている場合には、ドアのオープンを行う。認証装置120単体で設置されている場合は、特に何もしない。これは、認証のみを行う機器であり、ここでの認証結果が、次に利用者301が別の認証装置120で認証する場合の認証レベルに反映される。これを利用して、認証部122の機能を持たない機器の代わりに認証を行うことが可能となる。認証を行った機器が端末だった場合には、端末へのログインや、特定のサーバへのアクセス等、適切なサービスが利用者に提供される。
S711では、認証操作部121は、S701で得られた認証部リストにある全ての認証部121による認証処理が終了しているか否かを判定し、まだ認証処理を行なっていない認証部122が在る場合には、S702に戻り、認証処理を行なっていない認証部122に認証処理を行なわせる。一方、認証操作部121は、S701で得られた認証部リストにある全ての認証部121による認証処理が終了している場合(すなわち、全ての認証部120の実行の後に認証されなかった場合)、S712の処理に進む。
S712では、認証操作部121は、S710或いはS711による認証結果情報を認証管理部106に送信する。また、経路情報が存在する場合は、経路情報から自身の機器IDに対応した隣接先情報を取得し、その隣接先に対して経路情報と認証結果情報を送信する。認証管理部106は、認証結果情報を受信すると、認証履歴テーブル1900から個人IDと認証機器の項の機器IDに対応した欄の確認を行い、認証結果が空欄の場合に、この欄の更新を行う。
続いて、認証操作部121が行なう上述のS708の処理について図17を用いて説明する。
図17は、本実施形態の認証操作部121が行なう認証結果判定処理のフローを説明するための図である。
先ず、認証操作部121は、認証部121が設定した機器認証設定レベルを取得して(S801)、S802の処理に進む。S802では、認証操作部121は、保存されている認証結果レベルを取得し、S803に進む。
S803では、認証操作部121は、S801およびS802において取得した機器認証設定レベルおよび認証結果レベルを用いて、新たに認証結果レベルを計算する。新たに計算する認証結果レベルの計算手順については、特に限定しない。ここでは、認証部122の認証IDに対応する信頼レベルとS802で得られた機器認証結果レベルを乗じ、S802で得られた認証結果レベルに加算するものとする。
信頼レベルは、認証テーブル1400の機器IDに対応した欄の値に相当する。この値は、認証装置120の設置の際に予め設定されていても良いし、認証装置120がネットワークに接続された場合に認証管理部106により設定されても良い。また、認証テーブル1400に変更があった場合には認証管理部106により更新される。
次に、S804において、認証操作部121は、S803で計算された認証結果レベルを認証装置120に保存し(メインメモリ203および不揮発性記憶装置206の所定に領域に格納する)、S805の処理に進む。
S805では、認証操作部121は、S804で保存された認証結果レベルがS705(図16)或いはS706で設定された認証レベルより大きいか否かを判定する。認証操作部121は、S804で保存された認証結果レベルがS705で設定された認証レベルより大きい場合、或いは、上記の認証結果レベルがS706で設定された認証レベルより大きい場合に認証が成功したと判断し、S806の処理に進む。一方、認証操作部121は、保存された認証結果レベルがS705で設定された認証レベルより小さい場合、或いは、上記の認証結果レベルがS706で設定された認証レベルより小さい場合に認証が失敗したと判断し、処理を終了する。
認証が成功したと判断した場合に進むS806では、認証操作部121は、認証結果を設定する。
なお、認証操作部121は、S805において、認証に失敗したと判断した場合であっても、S804で保存された認証結果レベルとS705またはS706で設定された認証レベルとの差が一定値以内の場合には認証結果を設定する。この場合認証結果に「NG」が入るが、認証操作部121は、認証完了処理を行うことになる。この場合は、次の認証の際に認証レベルが上昇することになる。但し、認証が端末での処理の場合、或いは、マンションに適用した場合で認証装置120の隣接先が居室内であった場合には、この処理は行わない。これは、この認証より先に認証装置が設置されていない事が考えられるため、その場合に後で代理の認証を行えないためである。
続いて、本実施形態の認証装置120が行なう認証処理の処理について、カード認証を行なう場合と、生体認証を行なう場合とを例に挙げて説明する。
最初にカード認証を行なう場合の例を図18を用いて説明する。
図18は、本実施形態の認証装置120がカード認証を行なう際の認証部122の処理のフローを説明するための図である。ここで、認証部122は、カード(例えばICカード)に記憶されている情報を読み出すカードリーダ211(図2参照)に接続されていることとする。また、カードには、カードを識別するために一意に割り当てられているカードIDが記憶されている。なお、本実施形態では、カードリーダ211の具体的な構成について特に限定しない。例えば、カードリーダ211は、非接触タイプのものでもいいし、接触タイプのものでもいい。
まず、認証部122は、カードがカードリーダ211に近接されるか、或いは、カードリーダに挿入されるのを待つ(S901)。カードリーダ211にカードが近接もしくは挿入されると、認証部122は、カードリーダ211を介して、カードに記憶されているカードIDを読込む(S902)。具体的には、カードリーダ211がカードに記憶されたカードIDを読み出し、認証部122に送信する。認証部122は、カードリーダ211が送信したカードIDを受信する。
続いて、認証部122は、S902でのカードIDの読み込み処理が成功したかどうかの判定を行なう。認証部122は、読み込みに失敗していた場合にS907に進み、読み込みに成功していた場合にS904の処理に進む(S903)。
S907では、認証部122は、機器認証結果レベルを「0.3」に設定して処理を終了する。なお、ここでは、機器認証結果レベルを「0」から「1」の範囲の値とする場合を例にする。認証部122は、この機器認証結果レベルと認証部122に予め設定されている「信頼レベル」とを乗ずることにより、どれくらいの認証レベルに相当するかを判断する。また、機器認証結果レベルは、特定の値を設定しているが、この値は別に保存されているテーブルから取得してもよい。このテーブルは、認証サーバ100の認証管理部106により書き換え可能とすることにより、機器認証結果レベルを後から変更することができる。
続いて、S903において、カードIDの読み込みに成功した場合に進むS904の処理を説明する。S904では、認証部122は、読み込んだカードIDに対応した個人IDの検索を行う。具体的には、認証部122は、上述した個人IDテーブルから読み込んだカードIDに対応付けられている個人IDを検索する。検索の結果、読み込んだカードIDに対応付けられている「個人ID」が存在しなかった場合、認証部122は、認証管理部106にカードIDと自身の認証IDの組を送信し個人IDを問い合わせる。認証管理部106は、認証部122からの問い合わせを受けると、認証テーブル1400(図7)の認証IDに対応する認証名を取得する。認証管理部106は、個人認証情報テーブル1600(図9)に登録されているレコードに中から受信したカードIDを持つレコードを特定して、その特定したレコードの認証名と個人IDに対応する情報を取得する。例えば、認証管理部122は、上記の取得した認証名が「パスワード」の場合、特定したレコードの個人IDおよびパスワードを示す情報を取得する。認証管理部106は、取得した上記の特定したレコードの認証名と個人IDに対応する情報を認証部122に送信する。
認証部122は、個人IDを取得すると、個人IDとカードIDの組を認証装置120の不揮発性記憶装置206の個人IDテーブルに保存する。なお、認証管理部106は、送信されたカードIDおよび認証IDから認証名と個人IDに対応する情報を検索できなかった場合には、その旨を認証部122に送信する。
S905において、認証部122は、個人IDが取得できたかどうかの判定を行い、発見できなかった場合にはS908において機器認証結果レベルを「0.6」に設定する。個人IDを発見できた場合には、個人IDを認証装置120に設定し、認証結果レベルを「1.0」に設定する。
このように、本実施形態では、カード(ICカード)からのデータの読み込みに失敗した場合や、カードから読み込んだカードIDでは認証ができなかった場合においてもその段階で認証処理の失敗と判定しないで所定の認証結果レベルを与えるようにしている(S907、S908)。そのため、認証装置120の設置された場所(エリア)、認証処理を行なった時間等によっては、「カードIDの読み込みに失敗した」場合や「個人IDを発見できなかった」場合であっても利用者を認証することもある。このようにしておくことで、例えば、通勤時間帯のように同時に多くの人が認証処理を行なう場合において、認証処理の失敗により生じる混雑を低減させることができる。この場合においても、高いセキュリティレベルが要求される場所(エリア)への入場に対する認証処理に際し、認証レベルを高く設定することにより、所定のセキュリティレベルを確保することができる。
続いて、生体認証を行なう場合の例を図19を用いて説明する。
図19は、本実施形態の認証装置120が生体認証を行なう際の認証部122の処理のフローを説明するための図である。ここで、認証部122は、生体認証装置212に接続されているものとする。
先ず、認証部122は、認証パラメータを設定する処理を行う(S1001)。なお、認証パラメータは、図16で示したS705或いはS706設定された認証レベルの小数点の部分の値から認証部122にあわせて変換される。
S1002では、認証部122は、個人IDが設定されているか否かの判定を行う。認証部122は、個人IDが設定されていた場合、S1003以降の処理を行なう。S1003以降の処理では、認証装置122は、個人IDに対応した認証情報を元に認証処理を行う。一方、認証部122は、個人IDが設定されていない場合、S1011以降の処理を行なう。S1011以降の処理では、認証部122は、認証装置120に保存されている認証情報を用いて認証処理を行う。以下、S1003以降の処理と、S1011以降の処理とを分けて説明する。
S1003以降の処理では、まずS1003において、認証部122は、生体認証の際の認証情報であるテンプレートを検索する。テンプレートの検索は、まず認証装置120内に保存されている個人IDとテンプレートの対応するテーブルから検索する。認証部122は、認証装置120内にテンプレートが存在しなかった場合には認証管理部106に個人IDと自身の認証IDの組を送信しテンプレートを問い合わせる。認証管理部106は、認証部122からの問い合わせを受けると、認証テーブル1400の認証IDに対応する認証名を取得する。認証管理部106は、受信した個人IDおよび取得した認証名を用いて、個人認証情報テーブル1600から認証名と個人IDに対応する情報を取得する。具体的には、認証管理部106は、個人認証情報テーブル1600(図9)に登録されているレコードに中から受信した「個人ID」を持つレコードを特定し、その特定したレコードの「認証名」に対応する情報を取得する。例えば、認証管理部122は、上記の取得した認証名が「指紋」の場合、特定したレコードの指紋情報を示すテンプレートを取得する。認証管理部106は、取得した上記の特定したレコードの認証名と個人IDに対応する情報を認証部122に返信する。
認証部122は、認証名と個人IDに対応する情報(テンプレート)を受信して、個人IDとテンプレートの組を認証装置120に保存する。例えば、認証装置120のメインメモリ203および不揮発性記憶装置206の所定領域に格納する。
S1004では、認証部122は、テンプレートが発見されたか否かの判定を行う。認証部122は、テンプレートを発見していない場合にS1007に進む。S1007では、認証部122は、機器認証結果レベルを「0.2」に設定して処理を終了する。一方、認証部122は、テンプレートを発見した場合S1005に進む。
S1005では、認証部122は、利用者301から得られた情報とテンプレートのマッチングを行う。このマッチングの際にはS1001で設定された認証パラメータが反映される。
S1006では、認証部122は、マッチングが成功したかどうかの判定を行行なう。認証部122は、マッチングに失敗したと判定した場合S1008に進み、成功したと判定した場合にはS1009の処理に進む。
S1008では、認証部122は、機器認証結果レベルを「0.8」に設定して処理を終了する。一方、マッチングが成功したと判定した場合に進むS1009では、認証部122は、機器認証結果レベルを「1.0」に設定して処理を終了する。
続いて、S1002において、個人IDが設定済みではないと判定された場合に進むS1011以降の処理について説明する。
S1011では、認証部122は、認証装置120に保存されているテンプレートをリストとして取得する。次にS1012で認証部122は、認証レベルが上昇するように認証パラメータの変更を行う。これは、認証レベルが低い場合に他人のテンプレートとマッチングすることを減らすためである。
次に認証部122は、リストのテンプレートそれぞれについて、S1013〜S1015、S1018で示すループの処理を行う。
S1014において、利用者から得られた情報とテンプレートのマッチングを行う。ここでのマッチング処理の際、S1012で設定された認証パラメータが反映される。次にS1015においてマッチングが成功したかどうかの判定を行う。マッチングに成功した場合は、S1016において機器認証結果レベルを「0.8」に設定する。マッチングに失敗した場合は、S1013〜S1015、S1018のループの処理を続ける。S1013のループの処理終了までにマッチングが成功しなかった場合には、S1017において機器認証結果レベルを「0.4」に設定する。
なお、端末におけるパスワード認証の場合は、認証部122は、利用者がキーボード等の入力装置を介して入力する「ユーザ名」および「パスワード」を受信する。認証部122は、その受信した「ユーザ名」および「パスワード」の組が個人認証テーブル1600から認証管理部106を介して取得されたユーザ名およびパスワードに一致する場合か、もしくは認証部122に保存されているユーザ名およびパスワードの組みに一致する場合に、認証成功と判断し機器認証結果レベルを「1.0」に設定する。失敗した場合は認証結果レベル「0・0」に設定する。
以上、カード認証の場合と、生体認証の場合とパスワード認証の場合の処理を説明したが、顔認証や虹彩認証等のその他の認証手段においても同様の処理を行う。
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、認証装置120は、利用者が認証処理を失敗と判定した場合についてもその利用者に対して入場を許可するようにしてもよい。そして、その利用者が施設内の他の認証装置120で認証を行なう場合に認証レベルを厳しく設定するようにする。このように構成することで、通勤時間帯のように一時に利用者が集中するような施設の出入口(玄関部)等において、利用者が認証処理を繰り返すことで生じる混雑を緩和させることができる。また、その利用者は、次の認証処理を行なう場合には、厳しい認証レベルで認証処理が行なわれるためセキュリティを確保することができる。
また、認証装置120の設置場所には、他の認証装置120により入場を許可されないと入れないエリアも在る。このようなエリアに認証装置120が設置されている場合、認証レベルを設定する際に、利用者の認証履歴を確認して、認証履歴が存在しない場合には、認証レベルを高い値に設定するようにしてもよい。
100…認証サーバ、101…個人管理DB、102…設備管理DB、103…認証管理DB、105…DB管理部、106…認証管理部、107…登録部、110…ネットワーク、120…認証装置、121…認証操作部、122…認証部、201…EEPROM、202…CPU、203…メインメモリ、204…バス、205…周辺制御装置、206…不揮発性記憶装置、207…LANI/F、208…カードリーダI/F、209…生体認証I/F、210…電子錠I/F、211…カードリーダ、212…生体認証装置、213…電子錠、220…EEPROM、230…CPU、240…メインメモリ、250…バス、260…周辺制御装置、270…LANI/F、280…不揮発性記憶装置