(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】認証システム、認証装置、認証方法、および認証プログラム
(51)【国際特許分類】
G06F 21/31 20130101AFI20231212BHJP
【FI】
G06F21/31
(21)【出願番号】P 2022507048
(86)(22)【出願日】2020-03-10
(86)【国際出願番号】 JP2020010330
(87)【国際公開番号】W WO2021181523
(87)【国際公開日】2021-09-16
【審査請求日】2022-07-12
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】高井 真人
【審査官】上島 拓也
(56)【参考文献】
【文献】特開2001-266202(JP,A)
【文献】特開2008-250508(JP,A)
【文献】国際公開第2011/136767(WO,A1)
【文献】米国特許第08499355(US,B1)
【文献】特開2018-055138(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
中央管理装置と、
複数のユーザの識別情報を各々が読み取る複数の認証装置と、
を備え、
前記中央管理装置は、
前記複数の認証装置の各々について、前記複数のユーザのうち当該認証装置についての認証可能ユーザの識別情報を記憶するユーザ情報記憶部と、
前記複数の認証装置の各々について、当該認証装置についての認証可能ユーザの識別情報に基づくブルームフィルタを生成するフィルタ生成部と、
識別情報を読み取ったユーザが認証可能ユーザであるかの前記複数の認証装置の各々からの問い合わせに応答し、前記複数の認証装置の各々について前記フィルタ生成部が生成した前記ブルームフィルタを当該認証装置に配信する通信部と、
を備え、
前記複数の認証装置の各々は、
前記通信部から配信される前記ブルームフィルタを記憶するフィルタ記憶部と、
配信された前記ブルームフィルタを前記フィルタ記憶部が記憶した後に識別情報を読み取られたユーザが当該ブルームフィルタに基づいて認証不可ユーザであると判定されるときに、前記中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理部と、
を備える認証システムであり、
前記フィルタ生成部は、有効期間を含めて前記ブルームフィルタを生成し、
前記フィルタ記憶部は、前記有効期間を含めて前記ブルームフィルタを記憶し、
前記認証処理部は、現在の時刻が前記ブルームフィルタの前記有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する
認証システム。
【請求項2】
前記中央管理装置は、
前記複数の認証装置の各々について、当該認証装置についての少なくとも一部の認証可能ユーザの識別情報を含むキャッシュデータを生成するキャッシュ生成部
を備え、
前記複数の認証装置の各々は、
前記キャッシュデータを記憶するキャッシュ記憶部
を備え、
前記通信部は、前記複数の認証装置の各々について前記キャッシュ生成部が生成した前記キャッシュデータを当該認証装置からの問い合わせの有無によらずに当該認証装置に配信する
請求項1に記載の認証システム。
【請求項3】
前記認証処理部は、前記ブルームフィルタに基づく判定において認証不可ユーザであると判定されなかったユーザの識別情報を前記キャッシュ記憶部に記憶される前記キャッシュデータが含む場合に、当該キャッシュデータに基づいて当該ユーザの認証可否の判定を前記中央管理装置に問い合わせることなく行い、当該ユーザの識別情報を当該キャッシュデータが含まない場合に、当該ユーザが認証可能ユーザであるかを前記中央管理装置に問い合わせることで判定する
請求項2に記載の認証システム。
【請求項4】
前記中央管理装置は、
前記複数の認証装置における前記複数のユーザの認証の認証パターンを学習する学習部
を備え、
前記キャッシュ生成部は、前記学習部が学習した前記認証パターンに基づいて前記キャッシュデータを生成する
請求項2または請求項3に記載の認証システム。
【請求項5】
前記学習部は、前記複数の認証装置の各々における前記複数のユーザの各々の時間帯ごとの認証頻度を前記認証パターンとして学習し、
前記キャッシュ生成部は、認証可能ユーザの識別情報を認証頻度が高いほど優先して含むように時間帯ごとの前記キャッシュデータを生成する
請求項4に記載の認証システム。
【請求項6】
前記学習部は、前記複数のユーザの各々について前記複数の認証装置の各々の認証順序を前記認証パターンとして学習し、
前記キャッシュ生成部は、識別情報を読み取ったユーザが認証可能ユーザであるかの問い合わせを前記複数の認証装置のうちの第1認証装置から前記通信部が受けるときに、前記認証パターンにおいて前記第1認証装置の後に当該ユーザの認証処理が行われる第2認証装置についてのキャッシュデータを当該ユーザの識別情報を含むように生成し、
前記通信部は、前記第2認証装置が当該ユーザの識別情報を読み取る前に前記キャッシュデータを前記第2認証装置に配信する
請求項4または請求項5に記載の認証システム。
【請求項7】
複数のユーザの各々の識別情報を読み取る読取部と、
前記複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶部と、
配信された前記ブルームフィルタを前記フィルタ記憶部が記憶した後に識別情報を前記読取部に読み取られたユーザが当該ブルームフィルタに基づいて認証不可ユーザであると判定されるときに、前記中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理部と、
を備え、
前記フィルタ記憶部は、有効期間を含めて前記ブルームフィルタを記憶し、
前記認証処理部は、現在の時刻が前記ブルームフィルタの前記有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する
認証装置。
【請求項8】
少なくとも一部の認証可能ユーザの識別情報を含み前記認証処理部からの問い合わせの有無によらずに前記中央管理装置から配信されるキャッシュデータを記憶するキャッシュ記憶部
を備える
請求項7に記載の認証装置。
【請求項9】
前記認証処理部は、前記ブルームフィルタに基づく判定において認証不可ユーザであると判定されなかったユーザの識別情報を前記キャッシュ記憶部に記憶される前記キャッシュデータが含む場合に、当該キャッシュデータに基づいて当該ユーザの認証可否の判定を前記中央管理装置に問い合わせることなく行い、当該ユーザの識別情報を当該キャッシュデータが含まない場合に、当該ユーザが認証可能ユーザであるかを前記中央管理装置に問い合わせることで判定する
請求項8に記載の認証装置。
【請求項10】
コンピュータが、
複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶ステップと、
前記フィルタ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を読み取る読取ステップと、
前記読取ステップにおいて識別情報を読み取られたユーザが前記フィルタ記憶ステップにおいて記憶されたブルームフィルタに基づいて認証不可ユーザであると判定されるときに、前記中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理ステップと、
を
実行する認証方法であり、
前記フィルタ記憶ステップにおいて、前記ブルームフィルタは有効期間を含めて記憶され、
前記認証処理ステップにおいて、現在の時刻が前記ブルームフィルタの前記有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定が省略される
認証方法。
【請求項11】
複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶ステップと、
前記フィルタ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を読み取る読取ステップと、
前記読取ステップにおいて識別情報を読み取られたユーザが前記フィルタ記憶ステップにおいて記憶されたブルームフィルタに基づいて認証不可ユーザであると判定されるときに、前記中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理ステップと、
を認証装置に実行させ、
前記フィルタ記憶ステップにおいて、有効期間を含めて前記ブルームフィルタを前記認証装置に記憶させ、
前記認証処理ステップにおいて、現在の時刻が前記ブルームフィルタの前記有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を前記認証装置に省略させる
認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、認証システム、中央管理装置、認証装置、認証方法、認証プログラム、およびデータ構造に関する。
【背景技術】
【0002】
特許文献1は、認証システムの例を開示する。認証システムは、読取装置と、中央管理装置と、を備える。読取装置は、ユーザの識別情報を読み取る。読取装置は、読み取った識別情報を中央管理装置に通知する。中央管理装置は、識別情報に基づいてユーザが認証できるか否かを判定する。中央管理装置は、判定結果を読取装置に通知する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の認証システムにおいて、認証のたびに読取装置および中央管理装置との間の通信が行われる。このため、ユーザの認証速度は、読取装置および中央管理装置との間の通信の遅延の影響を受けやすい。
【0005】
本開示は、このような課題の解決に係るものである。本開示は、ユーザの認証速度が通信の遅延の影響を受けにくい認証システム、中央管理装置、認証装置、認証方法、認証プログラム、およびデータ構造を提供する。
【課題を解決するための手段】
【0006】
本開示に係る認証システムは、中央管理装置と、複数のユーザの識別情報を各々が読み取る複数の認証装置と、を備え、中央管理装置は、複数の認証装置の各々について、複数のユーザのうち当該認証装置についての認証可能ユーザの識別情報を記憶するユーザ情報記憶部と、複数の認証装置の各々について、当該認証装置についての認証可能ユーザの識別情報に基づくブルームフィルタを生成するフィルタ生成部と、識別情報を読み取ったユーザが認証可能ユーザであるかの複数の認証装置の各々からの問い合わせに応答し、複数の認証装置の各々についてフィルタ生成部が生成したブルームフィルタを当該認証装置に配信する通信部と、を備え、複数の認証装置の各々は、通信部から配信されるブルームフィルタを記憶するフィルタ記憶部と、配信されたブルームフィルタをフィルタ記憶部が記憶した後に識別情報を読み取られたユーザが当該ブルームフィルタに基づいて認証不可ユーザであると判定されるときに、中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理部と、を備える認証システムであり、フィルタ生成部は、有効期間を含めてブルームフィルタを生成し、フィルタ記憶部は、有効期間を含めてブルームフィルタを記憶し、認証処理部は、現在の時刻がブルームフィルタの有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する。
【0010】
本開示に係る認証装置は、複数のユーザの各々の識別情報を読み取る読取部と、複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶部と、配信されたブルームフィルタをフィルタ記憶部が記憶した後に識別情報を読取部に読み取られたユーザが当該ブルームフィルタに基づいて認証不可ユーザであると判定されるときに、中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理部と、を備え、フィルタ記憶部は、有効期間を含めてブルームフィルタを記憶し、認証処理部は、現在の時刻がブルームフィルタの有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する。
【0012】
本開示に係る認証方法は、コンピュータが、複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶ステップと、フィルタ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を読み取る読取ステップと、読取ステップにおいて識別情報を読み取られたユーザがフィルタ記憶ステップにおいて記憶されたブルームフィルタに基づいて認証不可ユーザであると判定されるときに、中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理ステップと、を実行する認証方法であり、フィルタ記憶ステップにおいて、ブルームフィルタは有効期間を含めて記憶され、認証処理ステップにおいて、現在の時刻がブルームフィルタの有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定が省略される。
【0014】
本開示に係る認証プログラムは、複数のユーザのうち認証可能ユーザの識別情報を登録する中央管理装置から配信される認証可能ユーザの識別情報に基づいて生成されたブルームフィルタを記憶するフィルタ記憶ステップと、フィルタ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を読み取る読取ステップと、読取ステップにおいて識別情報を読み取られたユーザがフィルタ記憶ステップにおいて記憶されたブルームフィルタに基づいて認証不可ユーザであると判定されるときに、中央管理装置に問い合わせることなく当該ユーザの認証を拒否する認証処理ステップと、を認証装置に実行させ、フィルタ記憶ステップにおいて、有効期間を含めてブルームフィルタを認証装置に記憶させ、認証処理ステップにおいて、現在の時刻がブルームフィルタの有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を認証装置に省略させる。
【発明の効果】
【0017】
本開示に係る認証システム、中央管理装置、認証装置、認証方法、認証プログラム、またはデータ構造であれば、ユーザの認証速度が通信の遅延の影響を受けにくくなる。
【図面の簡単な説明】
【0018】
【
図1】実施の形態1に係る認証システムの構成図である。
【
図2】実施の形態1に係る認証システムにおける登録データの例を示す図である。
【
図3】実施の形態1に係るブルームフィルタの生成の例を示す図である。
【
図4】実施の形態1に係るブルームフィルタによる認証処理の例を示す図である。
【
図5】実施の形態1に係る認証システムにおけるユーザの認証の例を示すシーケンス図である。
【
図6】実施の形態1に係る認証システムにおけるユーザの認証の例を示すシーケンス図である。
【
図7】実施の形態1に係る認証システムの動作の例を示すフローチャートである。
【
図8】実施の形態1に係る認証システムの動作の例を示すフローチャートである。
【
図9】実施の形態1に係る認証システムの主要部のハードウェア構成図である。
【発明を実施するための形態】
【0019】
本開示を実施するための形態について添付の図面を参照しながら説明する。各図において、同一または相当する部分には同一の符号を付して、重複する説明は適宜に簡略化または省略する。
【0020】
実施の形態1.
図1は、実施の形態1に係る認証システムの構成図である。
【0021】
認証システム1は、ユーザを認証するシステムである。この例において、認証システム1は、通行管理システムに適用される。通行管理システムは、管理対象の領域におけるユーザの通行を管理するシステムである。認証システム1のユーザは、例えば通行管理システムの管理対象の領域を通行する人物などである。認証システム1は、複数のユーザ端末2と、複数の制御対象機器3と、複数の認証装置4と、中央管理装置5と、管理端末6と、を備える。
【0022】
各々のユーザ端末2は、ユーザに所持される端末装置である。ユーザ端末2は、所持しているユーザの識別情報を保持する。ユーザ端末2は、例えばスマートフォンなどの可搬な汎用の情報端末であってもよい。ユーザ端末2は、ユーザが所有していてもよい。ユーザ端末2は、無線タグ、または認証カードなどの認証システム1の管理者などからユーザに配布される機器などであってもよい。
【0023】
各々の制御対象機器3は、例えばユーザが認証されるときに作動する機器である。この例において、制御対象機器3は、管理対象の領域において経路の通行を制御するゲートまたはドアなどである。制御対象機器3の例であるゲートは、通常時において閉じている。ユーザが認証されるときに、ゲートは、当該ユーザが経路を通行しうるように開く。
【0024】
各々の認証装置4は、いずれかの制御対象機器3に対応する。認証装置4は、対応する制御対象機器3を利用するユーザを認証する装置である。認証装置4は、例えば対応する制御対象機器3に隣接して設けられる。認証装置4は、対応する制御対象機器3自体に設けられていてもよい。各々の認証装置4の動作は、例えばインストールされている認証プログラムに基づいて実行される。各々の認証装置4は、読取部7と、第1通信部8と、認証処理部9と、フィルタ記憶部10と、キャッシュ記憶部11と、を備える。
【0025】
読取部7は、ユーザの識別情報を読み取る部分である。識別情報は、例えば各々のユーザに付与されるID番号(ID:IDentification)などである。読取部7は、例えばユーザ端末2から識別情報を読み取る近距離無線通信などの通信機能を搭載する。読取部7は、例えばユーザによってユーザ端末2がかざされたときなどに、当該ユーザ端末2から識別情報を読み取る。あるいは、読取部7は、一次元バーコードまたは二次元コードなどの符号化画像によってユーザ端末2から識別情報を読み取る機能を搭載していてもよい。
【0026】
第1通信部8は、中央管理装置5との間の通信を行う部分である。第1通信部8は、ネットワーク12を通じて中央管理装置5に接続される。ネットワーク12は、例えばインターネットなどの広域なネットワークであってもよい。あるいは、ネットワーク12は、LAN(Local Area Network)などの局所的なネットワークであってもよい。
【0027】
認証処理部9は、読取部7が識別情報を読み取ったユーザの認証処理を行う部分である。認証処理は、ユーザが認証可能ユーザであるか、または、ユーザが認証不可ユーザであるか、などを判定する処理である。この例において、認証可能ユーザでないユーザは、認証不可ユーザである。認証可能ユーザの識別情報は、中央管理装置5において登録されている。中央管理装置5は、例えば認証可能ユーザの登録データを登録する。登録データは、例えば識別情報を含むデータである。認証処理部9は、中央管理装置5への問い合わせなどによって例えば次のように認証処理を行う。
【0028】
読取部7がユーザの識別情報を読み取ったときに、認証処理部9は、当該ユーザが認証可能ユーザとして登録されているかを中央管理装置5に問い合わせる。このとき、認証処理部9は、第1通信部8を通じて当該ユーザの識別情報を中央管理装置5に送信する。中央管理装置5は、登録されている内容に基づいて、認証装置4からの問い合わせに応答する。このとき、認証処理部9は、第1通信部8を通じて応答結果を受け付ける。認証処理部9は、受け付けた応答結果に基づいて、識別情報を読み取られたユーザが認証可能ユーザであるかを判定する。
【0029】
フィルタ記憶部10は、中央管理装置5から配信されるブルームフィルタを記憶する部分である。ブルームフィルタは、与えられた要素が集合の要素であるか否かの判定に用いられる確率的データ構造である。フィルタ記憶部10が記憶しているブルームフィルタは、認証処理部9における認証処理に用いられる。ここで、ブルームフィルタは、与えられた識別情報が、認証可能ユーザの識別情報を要素とする集合に含まれるかの判定に用いられる。
【0030】
キャッシュ記憶部11は、中央管理装置5から配信されるキャッシュデータを記憶する部分である。キャッシュデータは、1または複数の認証可能ユーザの識別情報を含む。キャッシュ記憶部11が記憶しているキャッシュデータは、認証処理部9における認証処理に用いられる。キャッシュデータは、認証可能ユーザの情報を例えば登録データとして含む。
【0031】
中央管理装置5は、各々の認証装置4におけるユーザの認証を管理する装置である。中央管理装置5は、例えばサーバコンピュータである。中央管理装置5は、例えば単一のハードウェアによって構成されていてもよい。あるいは、中央管理装置5は、複数のハードウェアによって構成されていてもよい。中央管理装置5の一部または全部は、クラウドサービスなどによって構成される仮想的なサーバであってもよい。中央管理装置5の動作は、例えばインストールされているプログラムに基づいて実行される。中央管理装置5は、ユーザ情報記憶部13と、第2通信部14と、学習部15と、フィルタ生成部16と、キャッシュ生成部17と、を備える。
【0032】
ユーザ情報記憶部13は、各々の認証装置4についての認証可能ユーザの識別情報を記憶する部分である。各々の認証装置4について、1または複数の認証可能ユーザが登録される。各々の認証装置4に登録される認証可能ユーザは、互いに異なっていてもよい。ユーザ情報記憶部13は、認証可能ユーザの情報を例えば登録データとして記憶する。
【0033】
第2通信部14は、各々の認証装置4との間の通信を行う部分である。第2通信部14は、ネットワーク12を通じて各々の認証装置4の第1通信部8に接続される。第2通信部14は、各々の認証装置4から問い合わせがあるときに、識別情報を受信する。第2通信部14は、各々の認証装置4からの問い合わせに応答するときに、応答結果を送信する。
【0034】
学習部15は、複数の認証装置4における各々のユーザの認証パターンを学習する部分である。各々のユーザの認証パターンは、例えば、各々の認証装置4における当該ユーザの時間帯ごとの認証頻度の情報を含む。各々のユーザの認証パターンは、例えば、各々の認証装置4についての当該ユーザの認証順序の情報を含む。学習部15は、例えば各々の認証装置4における認証履歴に基づいて認証パターンを学習する。
【0035】
フィルタ生成部16は、各々の認証装置4に配信するブルームフィルタを生成する部分である。ブルームフィルタは、例えばユーザ情報記憶部13が記憶している情報に基づいて生成される。
【0036】
キャッシュ生成部17は、各々の認証装置4に配信するキャッシュデータを生成する部分である。キャッシュデータは、例えばユーザ情報記憶部13が記憶している情報に基づいて生成される。この例において、キャッシュデータは、配信される認証装置4についての少なくとも一部の認証可能ユーザの識別情報を含む。キャッシュ生成部17は、例えば次のようにキャッシュデータを生成する。
【0037】
キャッシュ生成部17は、学習部15が学習した認証パターンに基づいてキャッシュデータを生成してもよい。例えば認証パターンとして各々の認証装置4における各々のユーザの時間帯ごとの認証頻度を学習部15が学習している場合に、キャッシュ生成部17は、認証可能ユーザの識別情報を認証頻度が高いほど優先して含むようにキャッシュデータを生成する。このとき、キャッシュ生成部17は、認証パターンにおける時間帯ごとのキャッシュデータを生成する。認証パターンにおける時間帯は、例えば認証システム1がオフィスビルなどの建物の通行管理システムに適用される場合に、出勤時間帯、退勤時間帯、または昼食時間帯などである。いずれかの時間帯について生成されたキャッシュデータは、当該時間帯において認証頻度が高い認証可能ユーザの識別情報を多く含む。キャッシュ生成部17は、例えば、認証パターンにおける時間帯の開始時刻の前に、当該時間帯のキャッシュデータを生成する。あるいは、キャッシュ生成部17は、例えば、予め設定された周期でキャッシュデータを生成してもよい。
【0038】
また、例えば認証パターンとして各々の認証装置4についての各々のユーザの認証順序を学習部15が学習している場合に、キャッシュ生成部17は、認証順序に基づいてキャッシュデータを生成する。ここで、認証システム1がオフィスビルなどの建物の通行管理システムに適用されている場合を例として説明する。この例において、図示されないユーザAは、建物の5階の事務所において勤務している。ユーザAは、出勤する時に、建物の玄関に設けられる認証装置4aに自身を認証させる。その後、ユーザAは、5階の事務所の入り口に設けられる認証装置4bに自身を認証させる。この場合に、学習部15は、ユーザAの認証パターンとして、認証装置4aの後に認証装置4bで認証処理が行われる認証順序を学習する。このように認証パターンが学習された後に、ユーザAが認証可能ユーザであるかの問い合わせを認証装置4aから中央管理装置5が受けるときに、キャッシュ生成部17は、ユーザAの認証順序に基づいてキャッシュデータを生成する。ユーザAの認証順序において認証装置4aの後に認証処理が行われる装置は認証装置4bなので、キャッシュ生成部17は、ユーザAの識別情報を含めて認証装置4bについてのキャッシュデータを生成する。ここで生成されたキャッシュデータは、認証装置4bにおいてユーザAの認証処理が開始される前に認証装置4bに配信される。なお、認証パターンの認証順序において、認証装置4aおよび認証装置4bの間に認証処理が行われる他の認証装置4が含まれていてもよい。
【0039】
なお、学習部15は、認証順序をグラフ構造のデータとして学習してもよい。グラフ構造のノードは、例えば各々の認証装置4を表す。グラフ構造は、例えば始点のノードの認証装置4の次に終点のノードの認証装置4において認証処理が行われる確率で重みづけられたエッジを有する有効グラフであってもよい。当該確率は、例えば認証履歴に基づいて学習される。
【0040】
このように、キャッシュ生成部17は、認証装置4からの中央管理装置5への問い合わせの有無によらずに、当該認証装置4のキャッシュデータを生成する。
【0041】
管理端末6は、認証システム1の管理の操作を行う情報端末である。認証装置4の管理は、例えば認証可能ユーザの登録などを含む。管理端末6は、例えばパーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどである。管理端末6は、例えばネットワーク12を通じて中央管理装置5に接続される。あるいは、管理端末6は、中央管理装置5に直接接続されてもよい。
【0042】
続いて、
図2を用いて、認証システム1における登録データの例を説明する。
図2は、実施の形態1に係る認証システムにおける登録データの例を示す図である。
図2において、JSON(JavaScript Object Notation)フォーマットによる登録データの例が示される。
【0043】
認証可能ユーザの登録は、例えば管理端末6を通じて行われる。認証可能ユーザを登録するときに、管理端末6から中央管理装置5に登録データが送信される。登録データは、例えば識別情報と、固有情報と、署名情報と、登録内容と、を含む。登録データは、この他の情報を含んでいてもよい。
【0044】
識別情報は、認証可能ユーザとして登録するユーザの識別情報である。この例において、識別情報は、キー「user_id」の値として登録データに含まれる。固有情報は、当該ユーザを認証可能ユーザとして登録する対象の認証装置4に固有の情報である。固有情報は、例えば認証システム1において付与される各々の認証装置4の識別番号などである。この例において、固有情報は、キー「target」の値として登録データに含まれる。署名情報は、例えば登録データの正当性を示すための管理端末6の電子署名などである。この例において、署名情報は、キー「certification」の値として登録データに含まれる。登録内容は、例えば許可事項と、許可期間と、を含む。
【0045】
許可事項は、登録されるユーザに許可される事項である。許可事項は、例えば認証装置4が経路に設けられる制御機器としてのゲートに対応するときに、当該経路の通行が許可されるか否かの情報である。許可期間は、登録されるユーザに許可事項が許可されている期間である。許可期間は、例えば開始時刻と終了時刻とによって表される。この例において、登録内容は、キー「actions」の値のオブジェクトとして登録データに含まれる。経路の通行に係る許可事項は、キー「Pass」の値として、登録内容のオブジェクトに含まれる。ここで、経路の通行に係る許可事項の値である「Allow」は、認証可能であることを表す。なお、許可事項の値は、認証不可であることを表す「Deny」などであってもよい。許可期間の開始時刻は、キー「start」の値として、登録内容のオブジェクトに含まれる。許可期間の終了時刻は、キー「end」の値として、登録内容のオブジェクトに含まれる。
【0046】
登録データが管理端末6から送信されたときに、中央管理装置5のユーザ情報記憶部13は、登録データの内容に基づいて記憶している認証可能ユーザの情報を更新する。また、フィルタ生成部16は、更新された認証可能ユーザの情報に基づいて、ブルームフィルタの生成を開始する。フィルタ生成部16は、例えば、認証可能ユーザが新たに登録されるたびにブルームフィルタの生成を開始する。生成されたブルームフィルタは、第2通信部14によって認証装置4に配信される。
【0047】
続いて、
図3および
図4を用いて、認証システム1におけるブルームフィルタの例を説明する。
図3は、実施の形態1に係るブルームフィルタの生成の例を示す図である。
図4は、実施の形態1に係るブルームフィルタによる認証処理の例を示す図である。
【0048】
図3において、認証可能ユーザとしてユーザA、ユーザB、およびユーザCが登録されている認証装置4についてのブルームフィルタの生成の例が示される。
【0049】
この例において、フィルタ生成部16は、ハッシュ生成器18を備える。ハッシュ生成器18は、識別情報を入力とし、ハッシュ関数によってビット列を出力する。ハッシュ生成器18は、例えばmビットのビット列を出力する。出力されたビット列において、いずれかk個のビットの値が「1」となっている。出力されたビット列において、他のビットの値が「0」となっている。
図3において、m=10,k=2の例が示される。
【0050】
フィルタ生成部16は、ブルームフィルタを生成する認証装置4について認証可能ユーザとして登録されている全てのユーザの識別情報を、それぞれハッシュ生成器18に入力する。この例において、ユーザA、ユーザB、およびユーザCの識別情報がそれぞれハッシュ生成器18に入力される。この例において、ユーザAの識別情報に対する出力は、第0ビットおよび第7ビットが「1」のビット列である。ユーザBの識別情報に対する出力は、第2ビットおよび第3ビットが「1」のビット列である。ユーザCの識別情報に対する出力は、第3ビットおよび第8ビットが「1」のビット列である。
【0051】
フィルタ生成部16は、ハッシュ生成器18が出力した全てのビット列を、各々のビットに対するOR演算を行うことで1つのビット列に統合する。フィルタ生成部16は、統合したビット列をブルームフィルタのビット列とする。この例において、全てのユーザの出力のビット列において第1ビットが「0」であるので、ブルームフィルタの第1ビットは「0」となる。ユーザBの出力のビット列において第2ビットが「1」であるので、ブルームフィルタの第2ビットは「1」となる。ユーザBおよびユーザCの出力のビット列において第3ビットが「1」であるので、ブルームフィルタの第3ビットは「1」となる。
【0052】
このように生成されたブルームフィルタは、第2通信部14によって対応する認証装置4に配信される。認証装置4に配信されたブルームフィルタは、当該認証装置4のフィルタ記憶部10に記憶される。
【0053】
ここで、認証可能ユーザの登録に許可期間が設定されている場合に、フィルタ生成部16は、ブルームフィルタの有効期間を設定する。この例において、ブルームフィルタの有効期間は、開始時刻または終了時刻の一方または両方を含む。ブルームフィルタの有効期間は、登録されている認証可能ユーザの許可期間に基づいて設定される。
【0054】
ブルームフィルタに有効期間が設定されるときに、第2通信部14は、有効期間を含めてブルームフィルタを認証装置4に配信する。認証装置4に配信されたブルームフィルタは、当該認証装置4のフィルタ記憶部10に、有効期間とともに記憶される。
【0055】
図4において、認証不可ユーザであるユーザDまたはユーザEについてのブルームフィルタによる認証処理の例が示される。
【0056】
この例において、認証処理部9は、ハッシュ生成器18を備える。認証処理部9のハッシュ生成器18は、フィルタ生成部16のハッシュ生成器18と同様に構成される。すなわち、同一の識別情報に対して、認証処理部9のハッシュ生成器18およびフィルタ生成部16のハッシュ生成器18は、互いに同一のビット列を出力する。
【0057】
認証処理部9は、認証処理を行うユーザの識別情報をハッシュ生成器18に入力する。すなわち、ユーザDについての認証処理が行われるときに、ユーザDの識別情報がハッシュ生成器18に入力される。あるいは、ユーザEについての認証処理が行われるときに、ユーザEの識別情報がハッシュ生成器18に入力される。この例において、ユーザDの識別情報に対する出力は、第3ビットおよび第5ビットが「1」のビット列である。ユーザEの識別情報に対する出力は、第7ビットおよび第8ビットが「1」のビット列である。
【0058】
認証処理部9は、ハッシュ生成器18が出力したビット列とブルームフィルタのビット列とを比較する。認証処理部9は、出力されたビット列において値が「1」であるビットのうち、ブルームフィルタのビット列において値が「0」であるビットがあるかを判定する。値が「0」であるビットがある場合に、認証処理部9は、ユーザが認証不可ユーザであると判定する。いずれかの認証可能ユーザの識別情報の出力において値が「1」であるビットはブルームフィルタのビット列においても「1」となるので、認証可能ユーザは、認証不可ユーザであると判定されない。すなわち、ブルームフィルタによる認証処理において、認証可能ユーザの識別情報を要素とする集合に認証可能ユーザの識別情報が含まれないと判定する偽陽性の過誤は生じない。
【0059】
例えば、ユーザDについての認証処理が行われるときに、認証処理部9は、第3ビットおよび第5ビットのうち、ブルームフィルタのビット列において値が「0」であるビットがあるかを判定する。第5ビットが0であるので、認証処理部9は、ユーザDを認証不可ユーザであると判定する。
【0060】
一方、ユーザEについての認証処理が行われるときに、認証処理部9は、第7ビットおよび第8ビットのうち、ブルームフィルタのビット列において値が「0」であるビットがあるかを判定する。ここで、第7ビットおよび第8ビットがともに「1」であるので、認証処理部9は、ユーザEを認証不可ユーザであると判定できない。
【0061】
ここで、ユーザEについて出力されたビット列の第7ビットは、ユーザAについて出力されたビット列の第7ビットに偶然に一致している。また、ユーザEについて出力されたビット列の第8ビットは、ユーザCについて出力されたビット列の第8ビットに偶然に一致している。このように、認証可能ユーザの組み合わせによって、認証不可ユーザの識別情報から出力されるビット列が確率的データ構造であるブルームフィルタのビット列に偶然に整合する場合がある。すなわち、ブルームフィルタによる認証処理において、認証可能ユーザの識別情報を要素とする集合に認証不可ユーザの識別情報が含まれると判定する偽陽性の過誤は生じうる。このため、認証処理部9は、ブルームフィルタによる認証処理の後段に、キャッシュデータによる認証処理または中央管理装置5への問い合わせによる認証処理などを行う。
【0062】
続いて、
図5および
図6を用いて、認証システム1におけるユーザの認証の例を説明する。
図5および
図6は、実施の形態1に係る認証システムにおけるユーザの認証の例を示すシーケンス図である。
【0063】
図5において、認証システム1におけるユーザの認証の全体のシーケンスの例が示される。
【0064】
中央管理装置5のフィルタ生成部16は、各々の認証装置4について、ブルームフィルタを生成する。第2通信部14は、各々の認証装置4の第1通信部8にブルームフィルタを配信する。各々の認証装置4において、フィルタ記憶部10は、配信されたブルームフィルタを記憶する。
【0065】
中央管理装置5のキャッシュ生成部17は、各々の認証装置4について、キャッシュデータを生成する。第2通信部14は、各々の認証装置4の第1通信部8にキャッシュデータを配信する。各々の認証装置4において、キャッシュ記憶部11は、配信されたキャッシュデータを記憶する。
【0066】
その後、いずれかの認証装置4の読取部7は、ユーザ端末2からユーザの識別情報を読み取る。認証処理部9は、中央管理装置5から配信されたブルームフィルタおよびキャッシュデータを用いて、識別情報を読み取ったユーザの認証処理を行う。
【0067】
認証処理部9は、認証処理において当該ユーザが認証可能ユーザであると判定するときに、当該ユーザの認証を承認する。このとき、認証処理部9は、承認を表す信号を対応する制御対象機器3に出力する。制御対象機器3は、入力された信号に基づいて動作する。例えば制御対象機器3がゲートである場合に、承認を表す信号が入力されたゲートは開く。また、認証処理部9は、承認を表す認証応答の信号をユーザ端末2に通知する。
【0068】
一方、認証処理部9は、認証処理において当該ユーザが認証不可ユーザであると判定するときに、当該ユーザの認証を否認する。このとき、認証処理部9は、否認を表す信号を対応する制御対象機器3に出力する。制御対象機器3は、入力された信号に基づいて動作する。例えば制御対象機器3がゲートである場合に、否認を表す信号が入力されたゲートは、閉じた状態を維持する。また、認証処理部9は、否認を表す認証応答の信号をユーザ端末2に通知する。
【0069】
その後、認証処理部9は、第1通信部8を通じて中央管理装置5に認証履歴を送信する。認証履歴は、例えば認証装置4の固有情報と、認証処理が行われた時刻と、認証処理を行ったユーザの識別情報と、認証処理における判定結果と、の情報を含む。なお、認証履歴は、認証処理が行われた直後に送信されなくてもよい。例えば認証装置4および中央管理装置5の間の通信が混雑しているときに、認証処理部9は、認証履歴の送信を混雑が解消するまで保留してもよい。また、認証処理部9は、複数の認証履歴をまとめて中央管理装置5に送信してもよい。
【0070】
その後、中央管理装置5の学習部15は、第2通信部14を通じて認証履歴を取得する。学習部15は、取得した認証履歴に基づいて認証パターンを学習する。
【0071】
登録データが管理端末6から送信されたときに、中央管理装置5のユーザ情報記憶部13は、登録データの内容に基づいて認証可能ユーザの情報を更新する。フィルタ生成部16は、更新された認証可能ユーザの情報に基づいて、各々の認証装置4についてブルームフィルタを生成する。各々の認証装置4について生成されたブルームフィルタは、第2通信部14によって当該認証装置4に配信される。
【0072】
その後、いずれかの認証装置4の読取部7は、ユーザ端末2からユーザの識別情報を読み取る。認証処理部9は、中央管理装置5から新たに配信されたブルームフィルタなどを用いて、識別情報を読み取ったユーザの認証処理を行う。
【0073】
図6において、認証処理部9におけるユーザの認証処理の詳細のシーケンスの例が示される。
【0074】
読取部7は、ユーザ端末2からユーザの識別情報を読み取る。このとき、認証処理部9は、認証処理を開始する。
【0075】
認証処理部9は、ブルームフィルタによる認証処理を行う。認証処理部9は、読取部7に読み取られた識別情報が認証可能ユーザの識別情報を要素とする集合に含まれるかをブルームフィルタに基づいて判定する。なお、認証処理部9は、現在の時刻がブルームフィルタの有効期間に含まれないときに、ブルームフィルタによる認証処理を省略してもよい。
【0076】
認証可能ユーザの集合に含まれないと判定するときに、ブルームフィルタによる認証処理において偽陰性の過誤は生じないので、認証処理部9は、読取部7が識別情報を読み取ったユーザを認証不可ユーザであるとして認証を否認する。このとき、認証処理部9は、中央管理装置5に問い合わせを行わない。
【0077】
一方、認証可能ユーザの集合に含まれると判定する時に、ブルームフィルタによる認証処理において偽陽性の過誤は生じうるので、認証処理部9は、キャッシュデータによる認証を行う。認証処理部9は、読取部7に読み取られた識別情報がキャッシュ記憶部11に記憶されるキャッシュデータに含まれるかを判定する。
【0078】
識別情報がキャッシュデータに含まれるときに、認証処理部9は、当該キャッシュデータに基づいて認証処理を行う。このとき、認証処理部9は、中央管理装置5に問い合わせを行わない。例えば、当該キャッシュデータが識別情報を認証可能ユーザの識別情報として含んでいる場合に、認証処理部9は、読取部7が識別情報を読み取ったユーザの認証を承認する。なお、キャッシュデータは、認証不可ユーザの識別情報を含んでいてもよい。キャッシュデータが識別情報を認証不可ユーザの識別情報として含んでいる場合に、認証処理部9は、読取部7が識別情報を読み取ったユーザの認証を否認する。
【0079】
一方、識別情報がキャッシュデータに含まれないときに、認証処理部9は、中央管理装置5への問い合わせによる認証処理を行う。認証処理部9は、読み取られた識別情報を中央管理装置5に第1通信部8を通じて送信する。
【0080】
中央管理装置5の第2通信部14は、認証装置4から識別情報を受信する。中央管理装置5は、当該識別情報に識別されるユーザの情報をユーザ情報記憶部13から参照する。第2通信部14は、参照した情報を例えば登録データとして当該認証装置4に返送することで問い合わせに応答する。
【0081】
認証装置4の認証処理部9は、第1通信部8を通じて、中央管理装置5から返送された登録データを取得する。認証処理部9は、取得した登録データに基づいて認証処理を行う。このとき、認証装置4は、キャッシュ記憶部11に登録データを記憶してもよい。キャッシュ記憶部11は、配信されたキャッシュデータとともに当該登録データを記憶してもよい。あるいは、キャッシュ記憶部11は、配信されたキャッシュデータと区別して当該登録データを記憶してもよい。例えば、登録データが認証可能であることを表す場合に、認証処理部9は、読取部7が識別情報を読み取ったユーザの認証を承認する。一方、登録データが認証不可であることを表す場合に、認証処理部9は、読取部7が識別情報を読み取ったユーザの認証を否認する。
【0082】
続いて、
図7および
図8を用いて、認証システム1の動作の例を説明する。
図7および
図8は、実施の形態1に係る認証システムの動作の例を示すフローチャートである。
【0083】
図7において、ユーザの登録に係る中央管理装置5の動作の例が示される。
【0084】
ステップS11において、中央管理装置5は、管理端末6からユーザ登録を受け付けたかを判定する。判定結果がYesの場合に、ユーザの登録に係る認証システム1の動作は、ステップS12に進む。一方、判定結果がNoの場合に、ユーザの登録に係る中央管理装置5の動作は、終了する。
【0085】
ステップS12において、フィルタ生成部16は、ブルームフィルタを生成する。その後、ユーザの登録に係る中央管理装置5の動作は、ステップS13に進む。
【0086】
ステップS13において、第2通信部14は、ブルームフィルタを認証装置4に配信する。その後、ユーザの登録に係る中央管理装置5の動作は、終了する。
【0087】
図8において、ユーザの認証処理に係る認証装置4の動作の例が示される。
【0088】
ステップS21において、認証装置4は、読取部7がユーザの識別情報を読み取ったかを判定する。判定結果がYesの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS22に進む。一方、判定結果がNoの場合に、ユーザの認証処理に係る認証装置4の動作は、終了する。
【0089】
ステップS22において、認証処理部9は、フィルタ記憶部10が記憶しているブルームフィルタに基づいて、識別情報が読み取られたユーザが認証不可ユーザであるかを判定する。判定結果がYesの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS23に進む。一方、判定結果がNoの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS24に進む。
【0090】
ステップS23において、認証処理部9は、識別情報が読み取られたユーザの認証を否認する。その後、ユーザの認証処理に係る認証装置4の動作は、終了する。
【0091】
ステップS24において、認証処理部9は、キャッシュ記憶部11が記憶しているキャッシュデータに読み取られた識別情報が含まれるかを判定する。判定結果がYesの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS25に進む。一方、判定結果がNoの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS26に進む。
【0092】
ステップS25において、認証処理部9は、キャッシュ記憶部11が記憶しているキャッシュデータに基づいて、識別情報が読み取られたユーザが認証可能ユーザであるかを判定する。判定結果がNoの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS23に進む。一方、判定結果がYesの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS28に進む。
【0093】
ステップS26において、認証処理部9は、識別情報が読み取られたユーザが認証可能ユーザであるかを中央管理装置5に第1通信部8を通じて問い合わせる。その後、ユーザの認証処理に係る認証装置4の動作は、ステップS27に進む。
【0094】
ステップS27において、認証処理部9は、中央管理装置5からの応答に基づいて、識別情報が読み取られたユーザが認証可能ユーザであるかを判定する。判定結果がNoの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS23に進む。一方、判定結果がYesの場合に、ユーザの認証処理に係る認証装置4の動作は、ステップS28に進む。
【0095】
ステップS28において、認証処理部9は、識別情報が読み取られたユーザの認証を承認する。その後、ユーザの認証処理に係る認証装置4の動作は、終了する。
【0096】
以上に説明したように、実施の形態1に係る認証システム1は、中央管理装置5と、認証装置4と、を備える。中央管理装置5は、ユーザ情報記憶部13と、第2通信部14と、を備える。ユーザ情報記憶部13は、複数のユーザのうちの認証可能ユーザの識別情報を記憶する。第2通信部14は、識別情報を読み取ったユーザが認証可能ユーザであるかの各々の認証装置4からの問い合わせに応答する。第2通信部14は、ユーザ情報記憶部13に登録されている情報に基づいて各々の認証装置4について生成されたデータを、当該認証装置4に配信する。各々の認証装置4は、中央管理装置5から配信されたデータを記憶する。各々の認証装置4は、読取部7と、認証処理部9と、を備える。読取部7は、各々のユーザの識別情報を読み取る。認証処理部9は、中央管理装置5からデータが配信された後に読取部7が読み取った識別情報について、当該データに基づいて中央管理装置5に問い合わせる前に認証処理を行う。
【0097】
認証システム1において、各々の認証装置4において記憶されているデータに基づく認証処理が中央管理装置5への問い合わせの前に行われる。このような認証処理においてユーザの認証の可否が判定される場合に、認証装置4および中央管理装置5の間の通信が省略される。ユーザの認証処理において問い合わせのための通信を必要とすることが少なくなるので、ユーザの認証速度が通信の遅延の影響を受けにくくなる。
【0098】
また、中央管理装置5は、フィルタ生成部16を備える。フィルタ生成部16は、各々の認証装置4について、認証可能ユーザの識別情報に基づくブルームフィルタを生成する。第2通信部14は、各々の認証装置4についてフィルタ生成部16が生成したブルームフィルタを当該認証装置4に配信する。各々の認証装置4は、フィルタ記憶部10を備える。フィルタ記憶部10は、中央管理装置5の第2通信部14から配信されるブルームフィルタを記憶する。各々の認証装置4において、認証処理部9は、配信されたブルームフィルタをフィルタ記憶部10が記憶した後に識別情報を読み取られたユーザが認証不可ユーザであるかを当該ブルームフィルタに基づいて判定する。認証不可ユーザであると判定するときに、認証処理部9は、中央管理装置5に問い合わせることなく当該ユーザの認証を拒否する。
また、実施の形態1に係る認証方法は、フィルタ記憶ステップと、読取ステップと、認証処理ステップと、を備える。フィルタ記憶ステップは、中央管理装置5から配信されるブルームフィルタを記憶するステップである。読取ステップは、フィルタ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を読み取るステップである。認証処理ステップは、読取ステップにおいて識別情報を読み取られたユーザが認証不可ユーザであると判定されるときに、中央管理装置5に問い合わせることなく当該ユーザの認証を拒否するステップである。このときの判定は、フィルタ記憶ステップにおいて記憶されたブルームフィルタに基づいて行われる。
また、実施の形態1に係る認証プログラムは、フィルタ記憶ステップと、読取ステップと、認証処理ステップと、を認証装置4に実行させる。
また、実施の形態1に係るデータ構造は、中央管理装置5が生成するブルームフィルタを含む。ブルームフィルタは、認証装置4について、複数のユーザのうち認証可能ユーザの識別情報に基づいて生成される。このデータ構造は、認証装置4による認証処理に用いられる。このときの認証処理は、認証装置4に識別情報を読み取られたユーザがブルームフィルタに基づいて認証不可ユーザであると判定されるときに、中央管理装置5に問い合わせることなく当該ユーザの認証を拒否する処理である。
【0099】
認証システム1において、各々の認証装置4においてブルームフィルタによる判定処理が中央管理装置5への問い合わせの前に行われる。ブルームフィルタによる判定処理において偽陰性の過誤は生じないので、認証不可ユーザによる認証を即時に否認できる。このとき、中央管理装置5への問い合わせを必要としないので、ユーザの認証速度が通信の遅延の影響を受けにくくなる。また、認証装置4はブルームフィルタを記憶していればよいので、全ての認証可能ユーザの情報を記憶しておく必要がない。このため、認証装置4を簡易なハードウェアで構成しうるようになる。また、認証不可ユーザが認証不可ユーザであることを確認するための問い合わせが削減されるため、このような問い合わせによって通信の容量が浪費されることが抑えられる。なお、複数の認証装置4の一部または全部は、キャッシュ記憶部11を備えていなくてもよい。このとき、当該認証装置4において、認証処理部9は、キャッシュデータによる認証処理を行わなくてもよい。また、中央管理装置5は、キャッシュ生成部17を備えていなくてもよい。
【0100】
また、中央管理装置5は、キャッシュ生成部17を備える。キャッシュ生成部17は、各々の認証装置4についての少なくとも一部の認証可能ユーザの識別情報を含むキャッシュデータを生成する。第2通信部14は、各々の認証装置4についてキャッシュ生成部17が生成したキャッシュデータを、対応する認証装置4に配信する。各々の認証装置4に配信されるキャッシュデータは、その認証装置4からの問い合わせの有無によらずに配信される。各々の認証装置4は、キャッシュ記憶部11を備える。キャッシュ記憶部11は、第2通信部14から配信されるキャッシュデータを記憶する。各々の認証装置4において、認証処理部9は、キャッシュデータをキャッシュ記憶部11が記憶した後に読み取られた識別情報を当該キャッシュデータが含むかを判定する。当該識別情報を当該キャッシュデータが含む場合に、認証処理部9は、当該識別情報が読み取られたユーザの認証可否の判定を当該キャッシュデータに基づいて中央管理装置5に問い合わせることなく行う。当該ユーザの識別情報を当該キャッシュデータが含まない場合に、認証処理部9は、当該ユーザが認証可能ユーザであるかを中央管理装置5に問い合わせることで判定する。
また、実施の形態1に係る認証方法は、キャッシュ記憶ステップと、読取ステップと、認証処理ステップと、を備える。キャッシュ記憶ステップは、中央管理装置5が認証装置4から問い合わせを受けたか否かによらずに当該認証装置4に配信するキャッシュデータを記憶するステップである。読取ステップは、キャッシュ記憶ステップの後に、複数のユーザのうちのいずれかのユーザの識別情報を認証装置4において読み取るステップである。認証処理ステップにおいて、読取ステップにおいて読み取られた識別情報をキャッシュ記憶ステップにおいて記憶されたキャッシュデータが含むか否かが判定される。認証処理ステップにおいて、当該識別情報を当該キャッシュデータが含む場合に、当該識別情報が読み取られたユーザの認証可否の判定は、当該キャッシュデータに基づいて中央管理装置5に問い合わせることなく行われる。認証処理ステップにおいて、当該ユーザの識別情報を当該キャッシュデータが含まない場合に、当該ユーザが認証可能ユーザであるかは、中央管理装置5に問い合わせることで判定される。
また、実施の形態1に係る認証プログラムは、キャッシュ記憶ステップと、読取ステップと、認証処理ステップと、を認証装置4に実行させる。
【0101】
認証システム1において、各々の認証装置4においてキャッシュデータによる判定処理が中央管理装置5への問い合わせの前に行われる。認証装置4に配信されるキャッシュデータは、当該認証装置4からの問い合わせの有無に関わらずに中央管理装置5において生成される。事前に配信されたキャッシュデータが認証装置4に読み取られた識別情報を含むときに、認証装置4は中央管理装置5への問い合わせを必要としないので、ユーザの認証速度が通信の遅延の影響を受けにくくなる。なお、複数の認証装置4の一部または全部は、フィルタ記憶部10を備えていなくてもよい。このとき、当該認証装置4において、認証処理部9は、ブルームフィルタによる認証処理を行わなくてもよい。また、中央管理装置5は、フィルタ生成部16を備えていなくてもよい。
【0102】
また、複数の認証装置4の一部および全部は、フィルタ記憶部10およびキャッシュ記憶部11の両方を備えていてもよい。このとき、当該認証装置4において、認証処理部9は、ブルームフィルタによる認証処理およびキャッシュデータによる認証処理の両方を行ってもよい。また、中央管理装置5は、フィルタ生成部16およびキャッシュ生成部17の両方を備えてもよい。
【0103】
また、認証処理部9は、ブルームフィルタに基づく判定において認証不可ユーザであると判定されなかったユーザの識別情報をキャッシュ記憶部11に記憶されるキャッシュデータが含むかを判定する。当該ユーザの識別情報を当該キャッシュデータが含む場合に、認証処理部9は、当該キャッシュデータに基づいて当該ユーザの認証可否の判定を中央管理装置5に問い合わせることなく行う。当該ユーザの識別情報を当該キャッシュデータが含まない場合に、認証処理部9は、当該ユーザが認証可能ユーザであるかを中央管理装置5に問い合わせることで判定する。
【0104】
これにより、認証システム1において、ブルームフィルタによる認証処理およびキャッシュデータによる認証処理の両方において認証可否が確定しない場合に中央管理装置5への問い合わせが行われる。このため、ユーザの認証速度が通信の遅延の影響をより受けにくくなる。
【0105】
また、フィルタ生成部16は、有効期間を含めてブルームフィルタを生成する。フィルタ記憶部10は、有効期間を含めてブルームフィルタを記憶する。認証処理部9は、現在の時刻がブルームフィルタの有効期間に含まれないときに、当該ブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する。
また、認証装置4が認証処理に用いるデータ構造は、ブルームフィルタの有効期間を含む。当該データ構造は、現在の時刻が有効期間に含まれないときにブルームフィルタに基づく認証不可ユーザであるか否かの判定を省略する認証装置4の処理に用いられる。
【0106】
有効期間によって、既に登録されていない認証不可ユーザが認証不可ユーザであることを確認するための問い合わせが削減されるため、このような問い合わせによって通信の容量が浪費されることが抑えられる。また、有効期間を含むことにより、ブルームフィルタの配信のタイミングの自由度を高められる。例えばユーザに設定されている許可期間が複数の認証装置4において同時に開始または終了する場合に、第2通信部14は、各々の認証装置4にタイミングをずらして配信できる。第2通信部14は、通信が混雑する時間帯を避けてブルームフィルタを配信してもよい。これにより、ブルームフィルタの配信による通信の混雑を回避できる。また、一時的に許可事項が設定されているゲストユーザなどがいる場合においても、当該ゲストユーザの許可期間に応じた適切な認証処理が行われる。
【0107】
また、中央管理装置5は、学習部15を備える。学習部15は、複数の認証装置4における複数のユーザの認証の認証パターンを学習する。キャッシュ生成部17は、学習部15が学習した認証パターンに基づいてキャッシュデータを生成する。
【0108】
キャッシュ生成部17は、認証パターンに基づいてヒット率の高い効率的なキャッシュデータを生成できる。これにより、ユーザの認証速度が通信の遅延の影響をより受けにくくなる。学習部15は、例えば機械学習などの方法によって認証パターンを学習してもよい。このとき、学習部15は、例えば認証履歴を教師情報として用いてもよい。学習部15は、ユーザの属性に基づいて認証パターンを学習してもよい。ユーザの属性は、例えばユーザが所属する組織などであってもよい。
【0109】
また、学習部15は、各々の認証装置4における各々のユーザの時間帯ごとの認証頻度を認証パターンとして学習する。キャッシュ生成部17は、認証可能ユーザの識別情報を認証頻度が高いほど優先して含むように時間帯ごとのキャッシュデータを生成する。
【0110】
これにより、時間帯に応じて効率的なキャッシュデータが生成される。一般に、LRU(Least Recently Used)キャッシュにおいて、短時間に多数のユーザが一度だけ認証を行う場合などに、すぐに再利用されない情報でキャッシュが埋め尽くされる場合がある。例えば玄関ゲートに設けられる認証装置4などにおいて、出勤時間帯または退勤時間帯において多数のユーザの認証が一度だけ行われる。このような場合においても、利用頻度の高いユーザの識別情報が事前にキャッシュデータとして配信されるので、キャッシュデータのヒット率が向上する。これにより、ユーザの認証速度が通信の遅延の影響をより受けにくくなる。
【0111】
また、学習部15は、各々のユーザについて各々の認証装置4の認証順序を認証パターンとして学習する。キャッシュ生成部17は、識別情報を読み取ったユーザが認証可能ユーザであるかの問い合わせを第1認証装置から第2通信部14が受けるときに、第2認証装置についてのキャッシュデータを当該ユーザの識別情報を含むように生成する。第1認証装置および第2認証装置は、複数の認証装置4に含まれる。第2認証装置は、当該ユーザの認証パターンにおいて、第1認証装置の後に認証処理が行われる認証装置4である。第2通信部14は、第2認証装置が当該ユーザの識別情報を読み取る前にキャッシュデータを第2認証装置に配信する。
【0112】
これにより、認証順序に応じて効率的なキャッシュデータが生成される。例えば通行管理システムにおいて、通行経路に複数の認証装置4が設けられる場合に、認証順序が予測可能なことがある。このような場合に、学習された認証順序に基づいて、予測されるユーザの識別情報が予測される認証装置4にキャッシュデータとして事前に配信されるので、キャッシュデータのヒット率が向上する。これにより、ユーザの認証速度が通信の遅延の影響をより受けにくくなる。
【0113】
なお、ユーザ端末2は、例えば人物であるユーザが乗車しているモビリティなどであってもよい。また、認証システム1のユーザは、例えば自律移動体であってもよい。このとき、認証装置4は、ユーザである自律移動体そのものから識別情報を読み取ってもよい。
【0114】
また、認証システム1は、例えば入退管理システムに適用されてもよい。入退管理システムは、管理対象の領域におけるユーザの入退域を管理するシステムである。このとき、制御対象機器3および認証装置4は、例えば管理対象の領域の境界に設けられる。制御対象機器3は、例えばドアに設けられる電気錠などであってもよい。
【0115】
また、認証システム1は、例えばエレベーターシステムに適用されてもよい。エレベーターシステムは、登録された呼びに応答して鉛直方向に走行するかごによって、利用者を建物の複数の階床の間で輸送するシステムである。例えば、エレベーターシステムにおいて、ユーザが認証されるときに、当該ユーザの呼びが登録される。
【0116】
また、認証システム1は、例えば利用管理システムに適用されてもよい。利用管理システムは、ユーザによる管理対象の機器の利用を管理するシステムである。例えば、利用管理システムにおいて、ユーザが認証されるときに、当該ユーザによる管理対象の機器の利用が許可される。管理対象の機器は、例えば固定して設けられる装置、もしくは移動可能な装置、または、自動車、もしくはモビリティなどであってもよい。
【0117】
また、識別情報は、1のユーザに対して複数の種類が設定されていてもよい。複数の認証装置4において、互いに異なる種類の識別情報が認証に用いられてもよい。識別情報は、例えばユーザの生体情報であってもよい。ユーザの生体情報は、例えばユーザである人物の指紋、顔、虹彩、または静脈などの情報であってもよい。また、識別情報は、ユーザである人物の声紋などであってもよい。また、識別情報は、ユーザである人物の筆跡であってもよい。また、識別情報は、ユーザの属性を識別する情報であってもよい。識別情報は、例えばユーザが所属する組織に固有の情報であってもよい。識別情報は、暗証情報であってもよい。
【0118】
また、認証システム1は、複数の管理端末6を備えていてもよい。また、中央管理装置5が認証システム1の管理の操作を受け付ける機能を有しているときに、認証システム1は、管理端末を備えていなくてもよい。
【0119】
また、フィルタ生成部16は、例えば、認証可能ユーザの許可期間の開始時刻または終了時刻においてブルームフィルタの生成を開始してもよい。例えば、許可期間が設定される認証可能ユーザが1または少数である場合、または、許可期間が複数の認証可能ユーザについて共通している場合などに、ブルームフィルタに設定される有効期間は、当該許可期間であってもよい。
【0120】
あるいは、ブルームフィルタの有効期間は、予め設定された期間であってもよい。例えば、フィルタ生成部16は、予め設定されたブルームフィルタの有効期間に応じて、識別情報から出力されたビット列がブルームフィルタに統合される認証可能ユーザを、登録の許可時間に基づいて選択してもよい。例えば認証可能ユーザの登録に設定された許可期間の少なくとも一部がブルームフィルタの有効期間に重複する場合に、フィルタ生成部16は、該当する全ての認証可能ユーザの識別情報から出力されるビット列をブルームフィルタのビット列に統合する。
【0121】
あるいは、ブルームフィルタの有効期間は、互いに異なる複数の認証可能ユーザの登録に設定されている許可時間に基づいて設定されてもよい。例えば、フィルタ生成部16は、認証可能ユーザの登録に設定されている許可期間の開始時刻のうち最も早い時刻を有効期間の開始時刻としてもよい。また、フィルタ生成部16は、認証可能ユーザの登録に設定されている許可期間の終了時刻のうち最も遅い時刻を有効期間の終了時刻としてもよい。なお、例えば許可期間の開始時刻または終了時刻と現在の時刻との時間差が予め設定された時間差より大きい場合に、フィルタ生成部16は、当該許可期間を有効期間の設定において考慮しなくてもよい。この例において、出力されたビット列がブルームフィルタに統合される識別情報に、少数の許可期間外の識別情報が含まれていてもよい。
【0122】
また、認証システム1におけるブルームフィルタは、上記において例示したデータ構造に限定されない。ブルームフィルタは、与えられた要素が集合の要素であるか否かの判定に用いられる確率的データ構造であれば、例えばCounting Bloom Filter、Compressed Bloom Filter、Deletable Bloom Filter、Hierarchical Bloom Filter、Stable Bloom Filter、Adaptive Bloom Filter、Scalable Bloom Filter、Generalized Bloom Filter、またはDynamic Bloom Filterなど、各種の実装またはバリエーションのいずれであってもよい。
【0123】
続いて、
図9を用いて、認証システム1の主要部のハードウェア構成の例について説明する。
図9は、実施の形態1に係る認証システムの主要部のハードウェア構成図である。
【0124】
認証システム1の各機能は、処理回路により実現し得る。処理回路は、少なくとも1つのプロセッサ200aと少なくとも1つのメモリ200bとを備える。処理回路は、プロセッサ200aおよびメモリ200bと共に、あるいはそれらの代用として、少なくとも1つの専用のハードウェア100を備えてもよい。
【0125】
処理回路がプロセッサ200aとメモリ200bとを備える場合、認証システム1の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせで実現される。ソフトウェアおよびファームウェアの少なくとも一方は、プログラムとして記述される。そのプログラムはメモリ200bに格納される。プロセッサ200aは、メモリ200bに記憶されたプログラムを読み出して実行することにより、認証システム1の各機能を実現する。
【0126】
プロセッサ200aは、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSPともいう。メモリ200bは、例えば、RAM、ROM、フラッシュメモリ、EPROM、EEPROMなどの、不揮発性または揮発性の半導体メモリなどにより構成される。
【0127】
処理回路が専用のハードウェア100を備える場合、処理回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、またはこれらの組み合わせで実現される。
【0128】
認証システム1の各機能は、それぞれ処理回路で実現することができる。あるいは、認証システム1の各機能は、まとめて処理回路で実現することもできる。認証システム1の各機能について、一部を専用のハードウェア100で実現し、他部をソフトウェアまたはファームウェアで実現してもよい。このように、処理回路は、専用のハードウェア100、ソフトウェア、ファームウェア、またはこれらの組み合わせで認証システム1の各機能を実現する。
【産業上の利用可能性】
【0129】
本開示に係る認証システムは、例えば通行管理システム、入退管理システム、エレベーターシステム、または利用管理システムなどのユーザを認証するシステムに適用できる。本開示に係る中央管理装置および認証装置は、当該認証システムに適用できる。本開示に係る認証方法は、当該認証システムに適用できる。本開示に係る認証プログラムおよびデータ構造は、当該認証システムに適用できる。
【符号の説明】
【0130】
1 認証システム、 2 ユーザ端末、 3 制御対象機器、 4、4a、4b 認証装置、 5 中央管理装置、 6 管理端末、 7 読取部、 8 第1通信部、 9 認証処理部、 10 フィルタ記憶部、 11 キャッシュ記憶部、 12 ネットワーク、 13 ユーザ情報記憶部、 14 第2通信部、 15 学習部、 16 フィルタ生成部、 17 キャッシュ生成部、 18 ハッシュ生成器、 100 専用のハードウェア、 200a プロセッサ、 200b メモリ