(57)【要約】【課題】ユーザのＩＤ及びＰＷ等の認証データの追加、削除又は変更を行う際に、ユーザに提供する通信サービスの中断を抑制する。【解決手段】認証システム１０Ｂは、ＦＰＧＡ＃１〜＃３を有するＦＰＧＡ装置１６Ｂ１〜１６Ｂ３を複数備え、認証データ毎に、少なくとも異なる２つのＦＰＧＡ装置（例えばＦＰＧＡ装置１６Ｂ１，１６Ｂ３）が対応付けられた振分用ＤＢ１５ｂを有する認証サーバ１５Ｂを備える。認証サーバ１５Ｂは、端末機１１からのユーザの認証データを受信した際に、振分用ＤＢ１５ｂを参照して、その受信した認証データを認証するための１つのＦＰＧＡ装置１６Ｂ１を選択し、この選択したＦＰＧＡ装置１６Ｂ１に電子回路として保持された認証データと、受信した認証データとを比較して認証を行う構成とした。【選択図】図１０
2020109699.tif 000002
【特許請求の範囲】
【請求項１】
固有の認証データを電子回路に置換して保持するプログラマブルデバイス装置によって、端末機から送信されてきたユーザ固有の認証データを、前記電子回路として保持された認証データと比較して認証を行うプログラマブルデバイス適用認証システムであって、
前記プログラマブルデバイス装置を複数備え、
前記認証データ毎に、少なくとも異なる２つの前記プログラマブルデバイス装置が対応付けられたデータベースを有する認証サーバ
を備え、
前記認証サーバは、前記端末機からのユーザの認証データを受信した際に、前記データベースを参照して、当該受信した認証データを認証するための１つのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置に電子回路として保持された認証データと、前記受信した認証データとを比較して認証を行う
ことを特徴とするプログラマブルデバイス適用認証システム。
【請求項２】
前記認証サーバは、
前記端末機からのユーザ追加のリクエスト時に、その追加対象である追加ユーザの認証データが未登録の場合に、前記データベースを参照して、前記追加ユーザの認証データを追加するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記追加ユーザの認証データを含む全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除する
ことを特徴とする請求項１に記載のプログラマブルデバイス適用認証システム。
【請求項３】
前記認証サーバは、
前記端末機からのユーザ削除のリクエスト時に、その削除対象である削除ユーザの認証データが登録有りの場合に、当該登録された削除ユーザの認証データを削除した後、前記データベースを参照して、前記削除を反映するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記削除が反映された全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除する
ことを特徴とする請求項１に記載のプログラマブルデバイス適用認証システム。
【請求項４】
前記認証サーバは、
前記端末機からのユーザ認証データ変更のリクエスト時に、その変更対象の認証データが登録有りの場合に、当該登録された認証データを変更した後、前記データベースを参照して、前記変更を反映するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記変更が反映された全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除する
ことを特徴とする請求項１に記載のプログラマブルデバイス適用認証システム。
【請求項５】
固有の認証データを電子回路に置換して保持するプログラマブルデバイス装置によって、端末機から送信されてきたユーザ固有の認証データを、前記電子回路として保持された認証データと比較して認証を行うプログラマブルデバイス適用認証システムの認証方法であって、
前記プログラマブルデバイス適用認証システムは、
前記プログラマブルデバイス装置を複数備えると共に、
前記認証データ毎に、少なくとも異なる２つの前記プログラマブルデバイス装置が対応付けられたデータベースを有する認証サーバを備え、
前記認証サーバは、前記端末機からのユーザの認証データを受信した際に、前記データベースを参照して、当該受信した認証データを認証するための１つのプログラマブルデバイス装置を選択するステップと、
前記選択したプログラマブルデバイス装置に電子回路として保持された認証データと、前記受信した認証データとを比較して認証を行うステップと
を実行することを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データが書き換え自在なプログラマブルデバイスを用いて、ユーザの固有情報である認証データの認証を行うプログラマブルデバイス適用認証システム及び認証方法に関する。
【背景技術】
【０００２】
従来、ユーザのＩＤ(Identification)やＰＷ(Password)等の固有情報である認証データの認証を行う場合、所望データを電子回路に書き換え自在に置換して保持するＦＰＧＡ(Field-Programmable Gate Array)等のプログラマブルデバイスを適用する。このプログラマブルデバイスを適用したプログラマブルデバイス適用認証システムは、ユーザの認証データとしてのＩＤやＰＷを、コンピュータがアクセスするＤＢ（データベース）に保存するのではなく、例えばＦＰＧＡのハードウェア上に電子回路（回路ともいう）として保存する。そして、クライアント端末機からサーバを介して送信されてきたＩＤ及びＰＷを、ＦＰＧＡに保存されたＩＤ及びＰＷとアンドを取り、一致すればＯＫ、不一致でＮＧ(No Good)とする認証を行う。
【０００３】
この種のＦＰＧＡに係るＦＰＧＡの適用例として非特許文献１，２の技術がある。非特許文献１は、ＦＰＧＡを用いてソフトウェアの一部処理をオフロードして全体の処理を高速化する技術内容が記載されている。非特許文献２は、ＦＰＧＡの書き換え時間についての技術内容が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】羽田野孝裕、他２名、「ネットワーク仮想化時代のソフト・ハード協調設計技術」、ＮＴＴ技術ジャーナル、２０１５．１１、ｐ．３７−４１，［online］，［平成２９年２月１３日検索］、インターネット〈URL: http://webcache.googleusercontent.com/search?q=cache:vb3cl4yUaDsJ:www.ntt.co.jp/journal/1511/files/jn201511037.pdf+&cd=1&hl=ja&ct=clnk&gl=jp〉
【非特許文献２】Arthur Yang、「ＳＰＩフラッシュを使用した７シリーズＦＰＧＡのコンフィギュレーション」、XAPP586 (v1.0) ２０１２年５月３０日，［online］，［平成２９年２月１３日検索］、インターネット〈URL: https://webcache.googleusercontent.com/search?q=cache:bh_wWjxEzqcJ:https://japan.xilinx.com/support/documentation/application_notes/j_xapp586-spi-flash.pdf+&cd=1&hl=ja&ct=clnk&gl=jp〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ユーザがＩＤ及びＰＷ等の認証データの追加、削除又は変更を行う場合、これらの処理を実行するための新しいＩＤやＰＷをＦＰＧＡに設定して回路化するコンフィギュレーションデータ（コンフィグデータという）をバイナリビットで生成する。この生成したコンフィグデータでＦＰＧＡの全回路を書き換える必要がある。この書き換え処理時には、ユーザへ提供する通信サービスを書き換え完了まで中断する必要がある。この中断のため、ＩＤやＰＷの変更等の頻度が高い程にサービス中断が増えるという問題がある。サービス中断が増えると実用的なサービス運用が行えなくなってしまう。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、ユーザのＩＤ及びＰＷ等の認証データの追加、削除又は変更を行う際に、ユーザに提供する通信サービスの中断を抑制することができるプログラマブルデバイス適用認証システム及び認証方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための手段として、請求項１に係る発明は、固有の認証データを電子回路に置換して保持するプログラマブルデバイス装置によって、端末機から送信されてきたユーザ固有の認証データを、前記電子回路として保持された認証データと比較して認証を行うプログラマブルデバイス適用認証システムであって、前記プログラマブルデバイス装置を複数備え、前記認証データ毎に、少なくとも異なる２つの前記プログラマブルデバイス装置が対応付けられたデータベースを有する認証サーバを備え、前記認証サーバは、前記端末機からのユーザの認証データを受信した際に、前記データベースを参照して、当該受信した認証データを認証するための１つのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置に電子回路として保持された認証データと、前記受信した認証データとを比較して認証を行うことを特徴とするプログラマブルデバイス適用認証システムである。
【０００８】
請求項５に係る発明は、固有の認証データを電子回路に置換して保持するプログラマブルデバイス装置によって、端末機から送信されてきたユーザ固有の認証データを、前記電子回路として保持された認証データと比較して認証を行うプログラマブルデバイス適用認証システムの認証方法であって、前記プログラマブルデバイス適用認証システムは、前記プログラマブルデバイス装置を複数備えると共に、前記認証データ毎に、少なくとも異なる２つの前記プログラマブルデバイス装置が対応付けられたデータベースを有する認証サーバを備え、前記認証サーバは、前記端末機からのユーザの認証データを受信した際に、前記データベースを参照して、当該受信した認証データを認証するための１つのプログラマブルデバイス装置を選択するステップと、前記選択したプログラマブルデバイス装置に電子回路として保持された認証データと、前記受信した認証データとを比較して認証を行うステップとを実行することを特徴とする認証方法である。
【０００９】
上記請求項１の構成及び請求項５の方法によれば、端末機から受信したユーザの認証データを、複数のプログラマブルデバイス装置の内の選択した１つのプログラマブルデバイス装置に保持された認証データで認証する。このため、認証処理を分散させることができるので、多くの認証を短時間で行うことができる。また、あるプログラマブルデバイス装置に障害が発生した場合や、ユーザ認証データの追加、削除又は変更の際のプログラマブルデバイス装置の書き換えを実行する場合に、他のプログラマブルデバイス装置で認証を行うことができる。これによって、認証機能の強化を図ることができる。
【００１０】
請求項２に係る発明は、前記認証サーバが、前記端末機からのユーザ追加のリクエスト時に、その追加対象である追加ユーザの認証データが未登録の場合に、前記データベースを参照して、前記追加ユーザの認証データを追加するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記追加ユーザの認証データを含む全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除することを特徴とする請求項１に記載のプログラマブルデバイス適用認証システムである。
【００１１】
この構成によれば、選択したプログラマブルデバイス装置に追加ユーザの認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のプログラマブルデバイス装置で実行することができる。このため、ユーザの端末機へのサービスを中断しないように、追加ユーザの認証データをプログラマブルデバイス装置に反映させて書き込むことができる。
【００１２】
請求項３に係る発明は、前記認証サーバが、前記端末機からのユーザ削除のリクエスト時に、その削除対象である削除ユーザの認証データが登録有りの場合に、当該登録された削除ユーザの認証データを削除した後、前記データベースを参照して、前記削除を反映するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記削除が反映された全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除することを特徴とする請求項１に記載のプログラマブルデバイス適用認証システムである。
【００１３】
この構成によれば、選択したプログラマブルデバイス装置に削除ユーザの認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のプログラマブルデバイス装置で実行することができる。このため、ユーザの端末機へのサービスを中断しないように、削除ユーザの認証データをプログラマブルデバイス装置に反映させて書き込むことができる。
【００１４】
請求項４に係る発明は、前記認証サーバが、前記端末機からのユーザ認証データ変更のリクエスト時に、その変更対象の認証データが登録有りの場合に、当該登録された認証データを変更した後、前記データベースを参照して、前記変更を反映するためのプログラマブルデバイス装置を選択し、この選択したプログラマブルデバイス装置がその後のリクエストに応じて選択されないように設定した後、前記変更が反映された全ユーザの認証データが前記選択したプログラマブルデバイス装置に電子回路として保持された後に、前記設定を解除することを特徴とする請求項１に記載のプログラマブルデバイス適用認証システムである。
【００１５】
この構成によれば、選択したプログラマブルデバイス装置に変更の認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のプログラマブルデバイス装置で実行することができる。このため、ユーザの端末機へのサービスを中断しないように、変更した認証データをプログラマブルデバイス装置に反映させて書き込むことができる。
【発明の効果】
【００１６】
本発明によれば、ユーザのＩＤ及びＰＷ等の認証データの追加、削除又は変更を行う際に、ユーザに提供する通信サービスの中断を抑制するプログラマブルデバイス適用認証システム及び認証方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。
【図２】第１実施形態の特徴構成を説明するためのブロック図である。
【図３】第１実施形態のプログラマブルデバイス適用認証システムの認証サーバ及びＦＰＧＡ装置の構成を示すブロック図である。
【図４】第１実施形態の認証サーバのユーザリスト用ＤＢに保存されるユーザリストテーブルの構成例を示す図である。
【図５】第１実施形態の認証サーバのキャッシュ用ＤＢに保存されるキャッシュテーブルの構成例を示す図である。
【図６】第１実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの認証動作を説明するためのフローチャートである。
【図７】第１実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの追加動作を説明するためのフローチャートである。
【図８】第１実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの削除動作を説明するためのフローチャートである。
【図９】第１実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの変更動作を説明するためのフローチャートである。
【図１０】本発明の第２実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。
【図１１】第２実施形態のプログラマブルデバイス適用認証システムの認証サーバ及びＦＰＧＡ装置の構成を示すブロック図である。
【図１２】第２実施形態の認証サーバの振分用ＤＢに保存される振分テーブルの構成例を示す図である。
【図１３】第２実施形態の特徴構成を説明するためのブロック図である。
【図１４】第２実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの認証動作を説明するためのフローチャートである。
【図１５】第２実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの追加動作を説明するためのフローチャートである。
【図１６】第２実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの削除動作を説明するためのフローチャートである。
【図１７】第２実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの変更動作を説明するためのフローチャートである。
【図１８】本発明の第３実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。
【図１９】第３実施形態の認証サーバの第１認証用ＤＢに保存される第１認証テーブルの構成例を示す図である。
【図２０】第３実施形態の特徴構成を説明するためのブロック図である。
【図２１】第３実施形態のプログラマブルデバイス適用認証システムの認証サーバ及びＦＰＧＡ装置の構成を示すブロック図である。
【図２２】第３実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの認証動作を説明するためのフローチャートである。
【図２３】第３実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの追加動作を説明するためのフローチャートである。
【図２４】第３実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの削除動作を説明するためのフローチャートである。
【図２５】第３実施形態のプログラマブルデバイス適用認証システムによるユーザの認証データの変更動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を、図面を参照して説明する。
＜第１実施形態の構成＞
図１は、本発明の第１実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。
【００１９】
図１に示すプログラマブルデバイス適用認証システム（認証システムともいう）１０Ａは、パーソナルコンピュータ等のクライアント端末機（端末機ともいう）１１と、端末機１１にインターネット１２及び社内ＮＷ（ネットワーク）１３を介して接続されたＡＰ(Application Server)サーバ１４と、キャッシュ用ＤＢ（データベース）１５ａを有する認証サーバ１５Ａと、ＦＰＧＡ装置１６Ａとを備えて構成されている。認証サーバ１５Ａは、ＡＰサーバ１４にＮＷ接続されると共に、プライベートＮＷ１７を介してＦＰＧＡ装置１６Ａに接続されている。なお、ＡＰサーバ１４の台数や社内ＮＷ１３の構成は適宜変更可能となっている。キャッシュ用ＤＢ１５ａは、ＤＢ１５ａとも称す。
【００２０】
端末機１１は、ユーザがＩＤやＰＷ等の認証データの認証や、認証データの追加、削除又は変更を行う際に、そのリクエストを認証データと共にインターネット１２へ送信する。この送信されたリクエスト及び認証データは、更に、社内ＮＷ１３を介してＡＰサーバ１４の中継の基に認証サーバ１５Ａへ送信される。
【００２１】
認証サーバ１５Ａは、キャッシュ用ＤＢ１５ａやＦＰＧＡ装置１６Ａと連携して認証データの認証や、認証データの追加、削除又は変更を行い、これらの結果をＡＰサーバ１４を経由し、更に社内ＮＷ１３及びインターネット１２を介して端末機１１へ応答（返信）する。また、ＡＰサーバ１４及び認証サーバ１５Ａは、端末機１１との間で、上記通信経路にて所定の通信サービスを提供する。
【００２２】
ここで、第１実施形態の特徴について説明する。図２に示すように、ユーザが認証データの追加、削除又は変更を行う際に、端末機１１から矢印Ｙ１で示すように、ＩＤ＝「ｕｓｅｒ１」，ＰＷ＝「ａａａ」の認証データを認証サーバ１５Ａへ送信し、認証サーバ１５Ａがその認証データをＤＢ１５ａに一時的にキャッシュする。このキャッシュ後、ユーザが端末機１１から認証データの変更等をリクエストしてきた場合、認証サーバ１５Ａは、ユーザからの認証データと、ＤＢ１５ａにキャッシュされた認証データと比較し、一致すればＯＫ、不一致でＮＧとする認証を行う。この認証結果のＯＫ／ＮＧ（ＯＫ又はＮＧ）を矢印Ｙ２で示すように、端末機１１へ応答する。
【００２３】
つまり、ユーザの認証データの変更等のリクエスト時に、認証サーバ１５Ａに送信されてきた認証データを、ＤＢ１５ａに認証用のものとして一時的にキャッシュし、このキャッシュされた認証データで、ＦＰＧＡ装置１６Ａの代わりに認証を行う。通常は、認証データ変更等のリクエストの都度、ＦＰＧＡ装置１６Ａの認証データに対応する全ての電子回路（回路ともいう）を書き換える必要がある。しかし、本実施形態では、一時的にキャッシュされた認証データで認証を行い、この一時的なキャッシュ時にはＦＰＧＡ装置１６Ａの回路の書き換えは行わないので、ＦＰＧＡ装置１６Ａのリクエストに応じた回路の頻繁な書き換えを防止可能となっている。
【００２４】
次に、認証サーバ１５Ａは、上記キャッシュされた全ての認証データを、ユーザからのアクセスが少ない夜間等の所定時刻に、矢印Ｙ３に示すように、バッチ処理でＦＰＧＡ装置１６Ａへ送信する。バッチ処理は、予め定められた時刻時や、キャッシュされたデータが例えば１００件を超える等のイベント発生時に行われるようになっている。ＦＰＧＡ装置１６Ａは、その送信された認証データに対応するように回路を書き換える。この書き換えられた回路の認証データは、ＤＢ１５ａから削除される。ＦＰＧＡ装置１６Ａへの書き換え後は、ＦＰＧＡ装置１６Ａで認証データの認証を行い、この結果のＯＫ／ＮＧを矢印Ｙ４，Ｙ２で示すように、認証サーバ１５Ａを介して端末機１１へ返信する。
【００２５】
このようにバッチ処理で、ＤＢ１５ａにキャッシュされた全ての認証データを纏めてＦＰＧＡ装置１６Ａへ転送して反映することで、ユーザ当たりの更新オーバーヘッドの時間を削ることが可能となっている。また、認証データを纏めて更新できるので、認証データが１ユーザでも実行される更新時の通信一時中断の回数が少なくて済む。つまり、ユーザへの提供サービスの中断を抑制することが可能となっている。
【００２６】
次に、認証サーバ１５Ａ及びＦＰＧＡ装置１６Ａの構成を説明する。図３に示すように、認証サーバ１５Ａは、ＡＰ認証部２１及び認証制御部２２を備えて構成されている。ＡＰ認証部２１は、上述したキャッシュ用ＤＢ１５ａの他に、認証連携部２１ａと、ユーザ管理部２１ｂと、ユーザリスト用ＤＢ２１ｃとを備えて構成されている。
【００２７】
認証制御部２２は、認証サーバ１５Ａの外部のＨＤＬ（Hardware Description Language：ハードウェア記述言語）用ＤＢ２２ｂが接続されたＨＤＬ生成部２２ａと、コンフィグデータ生成部２２ｃと、ＦＰＧＡ再起動部２２ｄとを備えて構成されている。
【００２８】
ＦＰＧＡ装置１６Ａは、ＦＰＧＡ２５と、このＦＰＧＡ２５と一対で設けられるハード制御部２６とを備えて構成されている。ＦＰＧＡ２５は、受付回路２７ａ及び認証回路２７ｂを有する認証部２７を備えている。ハード制御部２６は、ＦＰＧＡ書換部２６ａと、コンフィグデータ用ＤＢ２６ｂと、ＦＰＧＡ電源部２６ｃとを備えて構成されている。
【００２９】
ユーザリスト用ＤＢ２１ｃは、図４に示すユーザリストテーブルＴ１（ユーザリストＴ１ともいう）を保持している。このユーザリストＴ１には、例えば、ユーザ１のＩＤとして「ｕｓｅｒ１」、ＩＤの登録の状態として「登録済み」の情報が書き込まれている。更に、ユーザ２のＩＤ＝「ｕｓｅｒ２」、状態＝「登録済み」の情報が書き込まれ、ユーザ３のＩＤ＝「ｕｓｅｒ３」、状態＝「削除済み」の情報が書き込まれている。
【００３０】
キャッシュ用ＤＢ１５ａは、図５に示すキャッシュテーブルＴ２（キャッシュＴ２ともいう）をキャッシュしている。このキャッシュＴ２には、例えば、ユーザ１のＩＤとして「ｕｓｅｒ１」、ＰＷとして「ａａａ」の情報が書き込まれている。更に、ユーザ２のＩＤ＝「ｕｓｅｒ２」、ＰＷ＝「ｂｂｂ」の情報が書き込まれ、ユーザ３のＩＤ＝「ｕｓｅｒ３」、ＰＷ＝「ｃｃｃ」の情報が書き込まれている。
【００３１】
なお、上述したユーザリスト用ＤＢ２１ｃ、ＨＤＬ用ＤＢ２２ｂ、コンフィグデータ用ＤＢ２６ｂを、単に、ＤＢ２１ｃ、ＤＢ２２ｂ、ＤＢ２６ｂとも称す。
【００３２】
＜第１実施形態の認証構成＞
図３に示す認証連携部２１ａは、ＡＰサーバ１４を経由した端末機１１（図１）からの認証リクエストを認証データと共に受信する。ユーザ管理部２１ｂは、その受信された認証データを、ＤＢ２１ｃに保存されたユーザリストＴ１から検索する。この結果、例えば、ユーザ３の認証データが受信された場合、ユーザリストＴ１には、ユーザ３のＩＤ＝「ｕｓｅｒ３」（図４）が「削除済み」となってユーザ３のＩＤが無いので、ユーザ管理部２１ｂはユーザ３の登録が無いと判定する。この判定結果、認証連携部２１ａは、ユーザ３の端末機１１への応答を行わない、又は、未登録案内をＡＰサーバ１４を介してその端末機１１へ応答（返信）する。
【００３３】
一方、ユーザリストＴ１にユーザ３の認証データが登録済みであれば、ユーザ管理部２１ｂがＤＢ１５ａのキャッシュＴ２を検索する。この検索結果、例えば、キャッシュテーブルＴ２（図５）に示すように、ユーザ３のＩＤ＝「ｕｓｅｒ３」及びＰＷ＝「ｃｃｃ」の認証データがキャッシュされていれば、ユーザ管理部２１ｂは、そのキャッシュされた認証データと、認証連携部２１ａで受信された認証データとを比較し、一致すればＯＫ、不一致でＮＧとする認証を行う。その認証結果のＯＫ／ＮＧ（ＯＫ又はＮＧ）を、認証連携部２１ａが、ＡＰサーバ１４を介してユーザ３の端末機１１へ返信する。
【００３４】
一方、キャッシュＴ２に、ユーザ３の認証データがキャッシュされていなければ、認証連携部２１ａが、ユーザ３の認証データを、ＦＰＧＡ装置１６Ａの受付回路２７ａへ送信する。受付回路２７ａがユーザ３の認証データを受け付けると、認証回路２７ｂが、その受け付けられたユーザ３の認証データと、ＦＰＧＡ２５に電子回路として形成されているユーザ３の認証データとを、アンドを取って認証する。この認証結果（ＯＫ／ＮＧ）は、受付回路２７ａを介して認証連携部２１ａへ返信され、更に、認証連携部２１ａからＡＰサーバ１４を介してユーザ３の端末機１１へ返信（応答）される。
【００３５】
＜第１実施形態のユーザ追加構成＞
図３に示す認証連携部２１ａは、端末機１１からのユーザ追加リクエストと共に認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤを、ＤＢ２１ｃに保存されたユーザリストＴ１から検索する。この結果、例えば、追加対象ユーザ４のＩＤが登録済みであれば、ユーザ管理部２１ｂは、ユーザ４が登録済みであることを認証連携部２１ａへ通知し、認証連携部２１ａが、ユーザ４のＩＤが登録済みであることを、その端末機１１へ返信（応答）する。
【００３６】
一方、ユーザリストＴ１にユーザ４のＩＤ登録が無ければ、ユーザ管理部２１ｂは、ＤＢ１５ａのキャッシュＴ２に、追加対象ユーザ４のＩＤ及びＰＷの認証データをキャッシュする。更に、ユーザ管理部２１ｂは、ＤＢ２１ｃのユーザリストＴ１に、追加対象ユーザ４のＩＤを追加して更新する。上記キャッシュされた認証データは、認証制御部２２の制御によって、例えば夜間等の所定の時刻に、バッチ処理でＦＰＧＡ装置１６Ａに転送される。なお、バッチ処理を行うタイミングを、バッチタイミングと称す。
【００３７】
認証連携部２１ａは、上記ユーザリストＴ１への認証データのＩＤの追加後、バッチタイミングとなった時点で、通信サービスを一時中断してユーザからのリクエストを受け付けないようにする。この後、認証連携部２１ａは、追加対象ユーザ４の認証データをＨＤＬ生成部２２ａに出力する。ＨＤＬ生成部２２ａは、ＨＤＬ用ＤＢ２２ｂから現在保持されているＨＤＬ（ハードウェア記述言語）によるユーザの認証データを取得する。このＨＤＬによるユーザの認証データをＨＤＬデータと称す。
【００３８】
ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、追加対象ユーザ４の認証データを追加して更新を行い、この更新されたＨＤＬデータを生成すると共に、生成ＨＤＬデータをＤＢ２２ｂに上書きする。ＨＤＬ用ＤＢ２２ｂは、不正なアクセスを防止のため認証サーバ１５Ａの外部に配置されており、ＦＰＧＡ２５に回路で実現される全ユーザの認証データのＨＤＬデータを保持している。なお、ＤＢ２２ｂを、認証サーバ１５Ａ内に配備することも可能である。
【００３９】
コンフィグデータ生成部２２ｃは、ＨＤＬ生成部２２ａで生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをＦＰＧＡ装置１６ＡのＦＰＧＡ書換部２６ａへ送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを書き換える。これによって、追加対象ユーザ４の認証データが反映されたコンフィグデータがＤＢ２６ｂに上書きされて保持される。
【００４０】
上記コンフィグデータの書き換え後、ＦＰＧＡ電源部２６ｃがＦＰＧＡ２５を再起動又は自動再起動することにより、ＦＰＧＡ２５の回路が、その書き換え後のコンフィグデータに対応する回路に書き換わる。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ａのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知される。通知を受けたユーザ管理部２１ｂは、その回路の書換情報に対応するＤＢ１５ａにキャッシュされた認証データを削除する。この削除後、認証連携部２１ａは、ユーザ４の端末機１１へ認証データが追加されたことを返信する。
【００４１】
＜第１実施形態のユーザ削除構成＞
図３に示す認証連携部２１ａは、端末機１１からのユーザ削除リクエストと共に認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤをユーザリストＴ１から検索する。この結果、例えば、削除対象ユーザ３のＩＤの登録が無ければ削除の必要が無いので、ユーザ管理部２１ｂは、ユーザ３のＩＤが未登録ユーザであることを認証連携部２１ａへ通知する。この通知に応じて認証連携部２１ａは、ユーザ３の端末機１１への応答を行わない、又は、削除対象ユーザ３のＩＤが未登録であることを、その端末機１１へ応答（返信）する。
【００４２】
一方、ユーザ３のＩＤの登録が有れば、ＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、ＤＢ２１ｃのユーザリストＴ１に登録された削除対象のユーザ３のＩＤを削除し、この削除されたユーザ３のＩＤが存在しないユーザリストＴ１に更新する。更に、ユーザ管理部２１ｂは、ＤＢ１５ａのキャッシュＴ２にキャッシュされた削除対象ユーザ３のＩＤ及びＰＷの認証データが有れば削除して更新する。
【００４３】
認証連携部２１ａは、上記ユーザリストＴ１からのユーザ３のＩＤの削除後に、或いは、削除対象ユーザ３の認証データがキャッシュされていない場合に、バッチタイミングとなった時点で、通信サービスを一時中断する。この後、認証連携部２１ａは、上記ユーザ３の認証データ削除が反映されたキャッシュ中の他のユーザの認証データを、ＨＤＬ生成部２２ａに出力する。ＨＤＬ生成部２２ａは、ＤＢ２２ｂから現在保持中のＨＤＬデータを取得する。ＨＤＬ生成部２２ａは、その取得したＨＤＬデータを、上記削除が反映された他のユーザの認証データに基づき更新し、この更新されたＨＤＬデータをコンフィグデータ生成部２２ｃへ出力すると共に、ＤＢ２２ｂに上書きする。
【００４４】
コンフィグデータ生成部２２ｃは、上記更新されたＨＤＬデータに基づきコンフィグデータを生成して送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じてＤＢ２６ｂに保持されたコンフィグデータを書き換える（上書きする）。これによって、削除対象ユーザ３の認証データの削除が反映されたコンフィグデータがＤＢ２６ｂに上書きされて保持される。
【００４５】
上記コンフィグデータの書き換え後（上書き後）、ＦＰＧＡ電源部２６ｃがＦＰＧＡ２５を再起動又は自動再起動することにより、ＦＰＧＡ２５の回路が、その書き換え後のコンフィグデータに対応する回路に書き換えられる。この回路の書換情報が、ＦＰＧＡ書換部２６ａから認証サーバ１５Ａのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知されると、ユーザ管理部２１ｂが、その回路の書換情報に対応するＤＢ１５ａにキャッシュされた認証データを削除する。この削除後、認証連携部２１ａは、ユーザ３の端末機１１へ認証データが削除されたことを返信する。
【００４６】
＜第１実施形態のユーザ認証データ変更構成＞
図３に示す認証連携部２１ａは、端末機１１からのユーザ認証データ変更リクエストと共に認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤをユーザリストＴ１から検索する。この結果、例えば、変更対象ユーザ３のＩＤの登録が無ければ、ユーザ管理部２１ｂは、未登録ユーザであることを認証連携部２１ａへ通知する。この通知に応じて認証連携部２１ａは、ユーザ３の端末機１１への応答を行わない、又は、ユーザ３のＩＤが未登録であることを、その端末機１１へ返信する。
【００４７】
一方、変更対象ユーザ３のＩＤの登録が有れば、ＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、ＤＢ１５ａのキャッシュＴ２に変更対象ユーザ３のＩＤ及びＰＷの認証データがキャッシュされているか否かを判定する。この結果、キャッシュされていれば、ユーザ管理部２１ｂは、キャッシュされた変更対象ユーザ３の認証データを変更する。一方、キャッシュされていなければ、ＤＢ１５ａに、端末機１１から受信した変更対象ユーザ３のＩＤ及びＰＷの認証データを追加キャッシュする。
【００４８】
認証連携部２１ａは、上記キャッシュされた認証データの変更後、又は上記認証データの追加キャッシュ後、バッチタイミングとなった時点で、通信サービスを一時中断する。この後、認証連携部２１ａは、変更対象ユーザ３のキャッシュ中の認証データをＨＤＬ生成部２２ａに出力する。ＨＤＬ生成部２２ａは、ＤＢ２２ｂから現在保持中のＨＤＬデータを取得する。この取得したＨＤＬデータを、上記キャッシュ中の認証データに基づき更新し、この更新されたＨＤＬデータを生成すると共に、生成ＨＤＬデータをＤＢ２２ｂに上書きする。
【００４９】
コンフィグデータ生成部２２ｃは、上記生成されたＨＤＬデータに基づきコンフィグデータを生成してＦＰＧＡ書換部２６ａへ送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じてＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。これによって、更新対象ユーザ３の認証データの更新が反映されたコンフィグデータがＤＢ２６ｂに保持される。
【００５０】
上記コンフィグデータの書き換え後（上書き後）、ＦＰＧＡ電源部２６ｃがＦＰＧＡ２５を再起動又は自動再起動することにより、ＦＰＧＡ２５の回路が、その書き換え後のコンフィグデータに対応する回路に書き換えられる。この回路の書換情報が、ＦＰＧＡ書換部２６ａから認証サーバ１５Ａのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知されると、ユーザ管理部２１ｂが、その回路の書換情報に対応するＤＢ１５ａにキャッシュされた認証データを削除する。
【００５１】
このキャッシュ削除後、認証データの変更がＰＷのみの変更であれば、認証連携部２１ａが、ユーザ３の端末機１１へＰＷが変更されたことを返信する。一方、認証データの変更がＩＤの変更であれば、ユーザ管理部２１ｂが、上記キャッシュ削除後、ＤＢ２１ｃのユーザリストＴ１において、未だ変更されていない変更対象ユーザ３のＩＤを変更して更新する。このＩＤの更新も、ユーザ３の端末機１１へ返信される。
【００５２】
＜第１実施形態の認証動作＞
次に、認証システム１０Ａによるユーザの認証データの認証動作を、図６に示すフローチャートを参照して説明する。
前提条件として、図１に示す例えばユーザ１の端末機１１からインターネット１２及び社内ＮＷ１３を介してＡＰサーバ１４を経由し認証サーバ１５Ａへ、ユーザ１の認証リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」及びＰＷ＝「ａａａ」と共に送信されたとする。
【００５３】
図６に示すステップＳ１において、認証サーバ１５Ａ（図３）の認証連携部２１ａが、端末機１１からのユーザ１の認証リクエストをＩＤ及びＰＷと共に受信する。ステップＳ２において、ユーザ管理部２１ｂは、受信されたユーザ１のＩＤが、ＤＢ２１ｃに保存されたユーザリストＴ１に登録済みか否かを判定する。この結果、登録無し（Ｎｏ）の場合、ステップＳ３において、ユーザ管理部２１ｂは未登録ユーザ対応の処理を行う。即ち、ユーザ１のＩＤの未登録案内を作成する。ステップＳ４において、認証連携部２１ａが、対応結果としての未登録案内をＡＰサーバ１４を介してユーザ１の端末機１１へ応答（返信）する。
【００５４】
一方、上記ステップＳ２において、ユーザリストＴ１にユーザ１の認証データが登録済み（Ｙｅｓ）であれば、ステップＳ５において、ユーザ管理部２１ｂが、ＤＢ１５ａ（ＤＢ１５ａのキャッシュＴ２）にユーザ１のＩＤ及びＰＷがキャッシュされているか否かを判定する。この結果、キャッシュされ、且つ追加フラグが付与されていれば（Ｙｅｓ）、ステップＳ６において、ユーザ管理部２１ｂがキャッシュされたＩＤ及びＰＷと、上記受信されたＩＤ及びＰＷとを比較し、一致すればＯＫ、不一致でＮＧとする認証を行う。このＯＫ／ＮＧの認証結果が、ステップＳ８において、認証連携部２１ａからユーザ１の端末機１１へ応答される。
【００５５】
一方、上記ステップＳ５において、ユーザ１のＩＤ及びＰＷがキャッシュされていなければ（Ｎｏ）、ステップＳ７において、認証連携部２１ａが、ユーザ１のＩＤ及びＰＷを、ＦＰＧＡ装置１６Ａの受付回路２７ａへ送信し、受付回路２７ａが次のように認証を行う。即ち、認証回路２７ｂが、受け付けたユーザ１のＩＤ及びＰＷと、ＦＰＧＡ２５に電子回路として形成されているユーザ１のＩＤ及びＰＷとを、アンドを取って認証する。このＯＫ／ＮＧの認証結果は、ステップＳ８において、ユーザ１の端末機１１へ応答される。
【００５６】
＜第１実施形態のユーザ追加動作＞
次に、認証システム１０Ａによるユーザの認証データの追加動作を、図７に示すフローチャートを参照して説明する。
前提条件として、図１に示す例えばユーザ４の端末機１１から認証サーバ１５Ａへ、ユーザ４の追加リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ４」及びＰＷ＝「ｄｄｄ」と共に送信されたとする。
【００５７】
図７に示すステップＳ１１において、認証サーバ１５Ａの認証連携部２１ａが、端末機１１からのユーザ４の追加リクエストをＩＤ及びＰＷと共に受信する。ステップＳ１２において、ユーザ管理部２１ｂは、受信されたユーザ４のＩＤが、ユーザリストＴ１に登録済みか否かを判定する。この結果、登録有り（Ｙｅｓ）の場合、ステップＳ１３において、ユーザ管理部２１ｂは登録済みユーザ対応の処理を行う。即ち、ユーザ４のＩＤが登録済みであることを案内する登録有りの案内を作成する。ステップＳ１４において、認証連携部２１ａが、対応結果としての登録有りの案内をユーザ４の端末機１１へ応答する。
【００５８】
一方、上記ステップＳ１２において、ユーザリストＴ１にユーザ４のＩＤ登録が無ければ（Ｎｏ）、ステップＳ１５において、ユーザ管理部２１ｂは、ＤＢ１５ａに、上記受信したユーザ４のＩＤ及びＰＷをキャッシュする。更に、ステップＳ１６において、ユーザ管理部２１ｂは、ユーザリストＴ１に、ユーザ４のＩＤを追加して更新する。
【００５９】
ステップＳ１７において、認証連携部２１ａは、上記ステップＳ１６のＩＤ追加後、バッチタイミングとなったか否かを判定し、バッチタイミングとなった時（Ｙｅｓ）に、ステップＳ１８において、通信サービスを中断する。この中断によって、他のユーザからのリクエストを受け付けないようになる。この後、認証連携部２１ａは、ユーザ４のＩＤ及びＰＷをＨＤＬ生成部２２ａに出力する。
【００６０】
ステップＳ１９において、ＨＤＬ生成部２２ａは、認証連携部２１ａからユーザ４のＩＤ及びＰＷを受信すると、ＤＢ２２ｂに現在保持されている更新前のＨＤＬデータ（ＨＤＬによるユーザのＩＤ及びＰＷのデータ）を取得する。この取得されたＨＤＬデータには、追加対象のユーザ４のＩＤ及びＰＷは含まれていない。ステップＳ２０において、ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、ユーザ４のＩＤ及びＰＷのデータを追加して更新を行う。この更新されたＨＤＬデータをＤＢ２２ｂに上書きする。
【００６１】
次に、ステップＳ２１において、コンフィグデータ生成部２２ｃは、上記生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをＦＰＧＡ装置１６ＡのＦＰＧＡ書換部２６ａへ送信する。
【００６２】
ステップＳ２２において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。これによって、追加対象ユーザ４のＩＤ及びＰＷが反映されたコンフィグデータがＤＢ２６ｂに保持される。
【００６３】
上記コンフィグデータの書き換え後、ステップＳ２３において、ＦＰＧＡ電源部２６ｃがＦＰＧＡ２５を再起動又は自動再起動する。これにより、ＦＰＧＡ２５の回路が、その書き換え後のコンフィグデータに対応する回路に書き換わる。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ａのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知される。
【００６４】
その通知を受けたユーザ管理部２１ｂは、その回路の書換情報に対応するＤＢ１５ａにキャッシュされたＩＤ及びＰＷを削除する。この削除後、ステップＳ２５において、認証連携部２１ａは端末機１１へ提供する通信サービスを再開する。この再開後、ステップＳ２６において、認証連携部２１ａは、端末機１１へユーザ４のＩＤ及びＰＷが追加されたことを応答する。
【００６５】
＜第１実施形態のユーザ削除動作＞
次に、認証システム１０Ａによるユーザの認証データの削除動作を、図８に示すフローチャートを参照して説明する。但し、図８において、図６及び図７と同一ステップには（）内に同一ステップの符号を付し、その説明を適宜省略する。
前提条件として、図１に示す例えばユーザ１の端末機１１から認証サーバ１５Ａへ、ユーザ１の削除リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」及びＰＷ＝「ａａａ」と共に送信されたとする。
【００６６】
図８に示すステップＳ３１において、認証サーバ１５Ａの認証連携部２１ａが、端末機１１からのユーザ１の削除リクエストをＩＤ及びＰＷと共に受信する。この後、上述したように、ステップＳ３２（図６のＳ２）において、受信ユーザ１のＩＤがユーザリストＴ１に登録済みか否かが判定され、登録が無ければ（Ｎｏ）ステップＳ３３（Ｓ３）において、未登録ユーザ対応の処理としてユーザ１のＩＤの未登録案内が作成される。ステップＳ３４（Ｓ４）において、対応結果としての未登録案内がユーザ１の端末機１１へ応答される。
【００６７】
一方、上記ステップＳ３２において、ユーザ１のＩＤ登録が有れば（Ｙｅｓ）、ステップＳ３２ａにおいて、図６の認証処理でＰＷ認証を行う。この認証がＯＫであれば、ステップＳ３５において、ユーザ管理部２１ｂは、ユーザリストＴ１に登録された削除対象のユーザ１のＩＤを削除し、この削除されたユーザ１のＩＤが存在しないユーザリストＴ１に更新する。この後、ステップＳ３６（Ｓ５）において、ＤＢ１５ａにユーザ１のＩＤ及びＰＷがキャッシュされているか否かが判定される。この結果、キャッシュされていれば（Ｙｅｓ）、ステップＳ３７において、ユーザ管理部２１ｂが、ＤＢ１５ａにキャッシュされた削除対象ユーザ１の状態フラグを削除に変更する。一方、キャッシュされていなければ（Ｎｏ）、ステップＳ３６ａにおいて、削除対象ユーザ１のＩＤ及びＰＷを追加キャッシュすると共に、この状態フラグを削除とする。
【００６８】
上記ステップＳ３７又はＳ３６ａの処理後、認証連携部２１ａは、ステップＳ３８（図７のＳ１７）において、バッチタイミングとなった（Ｙｅｓ）時点で、ステップＳ３９（Ｓ１８）において、通信サービスを一時中断する。この後、認証連携部２１ａが、削除フラグが設定された上記ユーザ１のＩＤ及びＰＷの削除が反映されたキャッシュ中のＩＤ及びＰＷを、ＨＤＬ生成部２２ａに出力する。
【００６９】
ステップＳ４０（Ｓ１９）において、ＨＤＬ生成部２２ａが、ＤＢ２２ｂから現在保持中のＨＤＬデータを取得する。この取得したＨＤＬデータを、ステップＳ４１において、ＨＤＬ生成部２２ａが、上記削除が反映された他のユーザのＩＤ及びＰＷに基づき更新し、この更新されたＨＤＬデータを、コンフィグデータ生成部２２ｃへ出力すると共にＤＢ２２ｂに上書きする。その更新されたＨＤＬデータはユーザ１のＩＤ及びＰＷが存在しないデータとなる。
【００７０】
ステップＳ４２において、コンフィグデータ生成部２２ｃは、上記更新されたＨＤＬデータに基づきコンフィグデータを生成してＦＰＧＡ書換部２６ａへ送信する。ステップＳ４３において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じてＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。この書き換えられたデータは、上記ユーザ１の削除が反映されたコンフィグデータとなる。
【００７１】
その書き換え後、ステップＳ４４（Ｓ２３）において、ＦＰＧＡ２５が再起動又は自動再起動される。これにより、ＦＰＧＡ２５の回路が、上記ユーザ１の削除が反映されたコンフィグデータに対応する回路に書き換えられる。この書き換え後、ステップＳ４４ａにおいて、キャッシュ中の削除フラグが付いたユーザ１のＩＤ及びＰＷを削除した後、ステップＳ４５（Ｓ２５）において、認証連携部２１ａが端末機１１へ提供する通信サービスを再開する。この再開後、ステップＳ４６において、認証連携部２１ａが、端末機１１へユーザ１のＩＤ及びＰＷが削除されたことを応答する。
【００７２】
＜第１実施形態のユーザ認証データ変更動作＞
次に、認証システム１０Ａによるユーザの認証データの変更動作を、図９に示すフローチャートを参照して説明する。但し、図９において、図６及び図７と同一ステップには（）内に同一ステップの符号を付し、その説明を適宜省略する。
前提条件として、図１に示す例えばユーザ１の端末機１１から認証サーバ１５Ａへ、ユーザ１のＰＷの変更リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」、変更前のＰＷ（変更前ＰＷ）＝「ａａａ」及び変更後のＰＷ（変更ＰＷ）＝「ａａａ１」と共に送信されたとする。
【００７３】
図９に示すステップＳ５１において、認証サーバ１５Ａの認証連携部２１ａが、端末機１１からのユーザ１のＰＷの変更リクエストをＩＤ及びＰＷと共に受信する。この後、上述したように、ステップＳ５２（図６のＳ２）において、受信ユーザ１のＩＤがユーザリストＴ１に登録済みか否かが判定され、この結果がＮｏの場合のステップＳ５３（Ｓ３）において、未登録ユーザ対応の処理としてユーザ１のＩＤの未登録案内が作成される。ステップＳ５４（Ｓ４）において、対応結果としての未登録案内がユーザ１の端末機１１へ応答される。
【００７４】
一方、上記ステップＳ５２において、ユーザ１のＩＤ登録が有れば（Ｙｅｓ）、ステップＳ５２ａにおいて、図６の認証処理でＰＷ認証を行う。この認証がＯＫであれば、ステップＳ５５において、ＤＢ１５ａにユーザ１のＩＤ及びＰＷがキャッシュされているか否かが判定される。この結果、キャッシュされていれば（Ｙｅｓ）、ステップＳ５６において、ユーザ管理部２１ｂが、キャッシュされたユーザ１のＰＷを「ａａａ１」に変更する。一方、キャッシュされていなければ（Ｎｏ）、ステップＳ５７において、ユーザ管理部２１ｂが、ＤＢ１５ａに、上記受信したユーザ１の変更ＰＷ＝「ａａａ１」をＩＤと共に追加フラグをつけてキャッシュし、変更前ＰＷ＝「ａａａ」をＩＤと共に削除フラグをつけてキャッシュする。
【００７５】
上記ＰＷ変更後、又は上記ＰＷ追加キャッシュ後に、認証連携部２１ａは、ステップＳ５８（図７のＳ１７）において、バッチタイミングとなった（Ｙｅｓ）時点で、ステップＳ５９（Ｓ１８）において、通信サービスを一時中断する。この後、認証連携部２１ａが、上記ユーザ１のＰＷ変更が反映されたキャッシュ中のＩＤ及びＰＷを、ＨＤＬ生成部２２ａに出力する。
【００７６】
ステップＳ６０（Ｓ１９）において、ＨＤＬ生成部２２ａが、ＤＢ２２ｂから現在保持中のＨＤＬデータを取得する。この取得したＨＤＬデータを、ステップＳ６１において、ＨＤＬ生成部２２ａが、上記ＰＷ変更＝「ａａａ１」が反映されたＩＤ及びＰＷに基づきＨＤＬデータを更新し、この更新されたＨＤＬデータを、コンフィグデータ生成部２２ｃへ出力すると共にＤＢ２２ｂに上書きする。
【００７７】
ステップＳ６２において、コンフィグデータ生成部２２ｃは、上記更新されたＨＤＬデータに基づきコンフィグデータを生成してＦＰＧＡ書換部２６ａへ送信する。ステップＳ６３において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じてＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。この書き換えられたデータは、上記ユーザ１のＰＷ変更が反映されたコンフィグデータとなる。
【００７８】
その書き換え後、ステップＳ６４（Ｓ２３）において、ＦＰＧＡ２５が再起動又は自動再起動される。これにより、ＦＰＧＡ２５の回路が、上記ユーザ１のＰＷ変更＝「ａａａ１」が反映されたコンフィグデータに対応する回路に書き換えられる。ステップＳ６５において、その回路の書換情報が、ＦＰＧＡ書換部２６ａから認証サーバ１５Ａのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知され、このユーザ管理部２１ｂが、その回路の書換情報に対応するＤＢ１５ａにキャッシュされたユーザ１のＰＷを削除する。
【００７９】
この削除後、ステップＳ６６（Ｓ２５）において、認証連携部２１ａが端末機１１へ提供する通信サービスを再開する。この再開後、ステップＳ６７において、認証連携部２１ａが、端末機１１へユーザ１のＰＷが変更されたことを応答する。
【００８０】
以上はユーザ１のＰＷ変更の処理であるが、ＩＤを変更する場合、例えば、ＩＤ＝「ｕｓｅｒ１１」に変更する場合は、上記ステップＳ５１〜Ｓ６５において、ＩＤについてＰＷと同様の処理を行う。この後、ステップＳ６５ａにおいて、ユーザ管理部２１ｂが、ユーザリストＴ１において、未だ変更されていない変更対象ユーザ１のＩＤを、ＩＤ＝「ｕｓｅｒ１１」に変更する。このＩＤの変更結果も、ステップＳ６６，Ｓ６７の処理において、ユーザ１の端末機１１へ応答される。
【００８１】
＜第１実施形態の効果＞
以上説明したように、第１実施形態の認証システム１０Ａは、固有の認証データを電子回路に書き換え自在に置換して保持するプログラマブルデバイス装置としてのＦＰＧＡ装置１６Ａによって、端末機１１から送信されてきたユーザ固有の認証データを、電子回路として保持された認証データと比較し、一致又は不一致の認証を行うものであり、次のような特徴構成とした。
【００８２】
（１）ユーザ固有の認証データをキャッシュするキャッシュ用ＤＢ１５ａを有し、当該ＤＢ１５ａにキャッシュされた認証データを、バッチ処理でＦＰＧＡ装置１６Ａに電子回路への置換を行わせるための転送を行い、この転送後にキャッシュされた認証データを削除する認証サーバ１５Ａを備える。認証サーバ１５Ａは、端末機１１からのユーザの認証データを受信した際に、ＤＢ１５ａに同ユーザの認証データがキャッシュされていれば、当該受信した認証データを、当該キャッシュされた認証データと比較して認証を行い、キャッシュされていなければＦＰＧＡ装置１６Ａに電子回路として保持された認証データと比較して認証を行わせる構成とした。
【００８３】
この構成によれば、認証サーバ１５Ａが、端末機１１からのユーザ固有の認証データを受信した際に、受信した認証データの認証を、キャッシュ用ＤＢ１５ａに該当ユーザの認証データがキャッシュされていれば、このキャッシュ中の認証データとの比較で認証を行う。キャッシュ中の認証データは、バッチ処理で転送されるため、このバッチ処理を行わなければ、ＦＰＧＡ装置１６Ａへは転送されず、電子回路の書き換えも行われない。このため、従来のような端末機１１からの認証データの追加、削除又は変更の都度行われる電子回路の頻繁な書き換えを防止することができる。電子回路の書き換え時には、ユーザへ提供される通信サービスが書き換え完了まで中断されるので、従来であれば頻繁に通信サービスが中断されていたが、本実施形態では、バッチタイミングのみに通信サービスが中断されるので、通信サービスの中断を抑制することができる。
【００８４】
つまり、バッチ処理でキャッシュされた全ての認証データを纏めてＦＰＧＡ装置１６Ａへ転送して反映することで、ユーザ当たりの更新オーバーヘッドの時間を削ることが可能となっている。また、認証データを纏めて更新できるので、認証データが１ユーザでも実行される更新時の通信一時中断の回数が少なくて済む。つまり、ユーザへの提供サービスの中断を抑制することができる。
【００８５】
（２）認証サーバ１５Ａは、端末機１１からのユーザ追加のリクエスト時に、当該追加対象である追加ユーザの認証データが未登録の場合に、キャッシュ用ＤＢ１５ａに当該追加ユーザの認証データを追加してキャッシュし、このキャッシュされた認証データを含む全ユーザの認証データを、バッチ処理でＦＰＧＡ装置１６Ａへ転送して書き換えさせる。ＦＰＧＡ装置１６Ａは、転送されてきた追加ユーザの認証データを含む全ユーザの認証データを、電子回路に置換して保持する構成とした。
【００８６】
この構成によれば、端末機１１からのユーザ追加のリクエスト時に、認証サーバ１５Ａのキャッシュ用ＤＢ１５ａに当該追加ユーザの認証データを追加してキャッシュする。その後、認証サーバ１５Ａは、バッチ処理によって、上記キャッシュされた認証データを含む全ユーザの認証データをＦＰＧＡ装置１６Ａへ転送して書き換えさせる。このため、ユーザ追加の都度行われるＦＰＧＡ装置１６Ａへの頻繁な回路書き換えを防止し、頻繁な通信サービスの中断を抑制することができる。
【００８７】
（３）認証サーバ１５Ａは、端末機１１からのユーザ削除のリクエスト時に、当該削除対象である削除ユーザの認証データが登録有りの場合に、キャッシュ用ＤＢ１５ａに削除ユーザの認証データがキャッシュされていれば、このキャッシュされた認証データの状態フラグを削除に変更し、この削除が反映された全ユーザの認証データを、バッチ処理でＦＰＧＡ装置１６Ａへ転送する。ＦＰＧＡ装置１６Ａは、転送されてきた削除が反映された全ユーザの認証データを、電子回路に置換して保持する構成とした。
【００８８】
この構成によれば、端末機１１からのユーザ削除のリクエスト時に、認証サーバ１５Ａのキャッシュ用ＤＢ１５ａに当該削除ユーザの認証データのキャッシュがあればこの認証データの状態フラグを削除に変更する。その後、認証サーバ１５Ａは、バッチ処理によって、上記削除が反映された全ユーザの認証データをＦＰＧＡ装置１６Ａへ転送して書き換えさせる。このため、ユーザ削除の都度行われるＦＰＧＡ装置１６Ａへの頻繁な回路書き換えを防止し、頻繁な通信サービスの中断を抑制することができる。
【００８９】
（４）認証サーバ１５Ａは、端末機１１からのユーザ認証データ変更のリクエスト時に、当該変更対象の変更ユーザの認証データが登録有りの場合に、キャッシュ用ＤＢ１５ａに当該変更ユーザの認証データがキャッシュされていれば、当該キャッシュされた認証データを変更し、この変更が反映された全ユーザの認証データを、バッチ処理でＦＰＧＡ装置１６Ａへ転送する。ＦＰＧＡ装置１６Ａは、転送されてきた変更が反映された全ユーザの認証データを、電子回路に置換して保持する構成とした。
【００９０】
この構成によれば、端末機１１からのユーザ認証データ変更のリクエスト時に、認証サーバ１５Ａのキャッシュ用ＤＢ１５ａに当該変更ユーザの認証データのキャッシュがあればこの認証データを変更する。その後、認証サーバ１５Ａは、バッチ処理によって、上記変更が反映された全ユーザの認証データをＦＰＧＡ装置１６Ａへ転送して書き換えさせる。このため、ユーザ認証データ変更の都度行われるＦＰＧＡ装置１６Ａへの頻繁な回路書き換えを防止し、頻繁な通信サービスの中断を抑制することができる。
【００９１】
＜第２実施形態の構成＞
図１０は、本発明の第２実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。この図１０に示す認証システム１０Ｂにおいて、図１に示した認証システム１０Ａと同一部分には同一符号を付し、その説明を省略する。
【００９２】
図１０に示す第２実施形態の認証システム１０Ｂは、端末機１１と、端末機１１にインターネット１２及び社内ＮＷ１３を介して接続されたＡＰサーバ１４と、振分用ＤＢ１５ｂを有する認証サーバ１５Ｂと、複数（ここでは３つ）のＦＰＧＡ装置１６Ｂ１，１６Ｂ２，１６Ｂ３を備えて構成されている。ＦＰＧＡ装置１６Ｂ１は、ハード制御部２６（図１１）と１対に設けられるＦＰＧＡ２５ａ（＃１）を備え、ＦＰＧＡ装置１６Ｂ２は、ハード制御部２６と１対に設けられるＦＰＧＡ２５ｂ（＃２）を備え、ＦＰＧＡ装置１６Ｂ３は、ハード制御部２６と１対に設けられるＦＰＧＡ２５ｃ（＃３）を備える。ＦＰＧＡ２５ａ（＃１）はＦＰＧＡ＃１とも称し、ＦＰＧＡ２５ｂ（＃２）はＦＰＧＡ＃２、ＦＰＧＡ２５ｃ（＃３）はＦＰＧＡ＃３とも称す。
【００９３】
次に、図１１に示すように、認証サーバ１５Ｂが第１実施形態の認証サーバ１５Ａ（図３）と異なる点は、ＡＰ認証部２１が、キャッシュ用ＤＢ１５ａ（図３）に代え、振分用ＤＢ１５ｂを備えることにある。
振分用ＤＢ１５ｂには、図１２に示す振分テーブルＴ３を保持している。この振分テーブルＴ３には、例えば、ユーザ１のＩＤとして「ｕｓｅｒ１」と、このＩＤに対応付けられたＦＰＧＡ＃１，＃２の情報が書き込まれている。更に、ユーザ２のＩＤ＝「ｕｓｅｒ２」と、このＩＤに対応付けられたＦＰＧＡ＃２，＃３の情報が書き込まれ、ユーザ３のＩＤ＝「ｕｓｅｒ３」と、このＩＤに対応付けられたＦＰＧＡ＃１，＃３の情報が書き込まれている。各ＦＰＧＡ＃１〜＃３には、対応するユーザの認証データが電子回路として書き込まれている。
【００９４】
各ユーザ１〜３のＩＤと複数のＦＰＧＡ＃１〜＃３との対応関係は、各ユーザ１〜３のＩＤ毎に、少なくとも異なる２つのＦＰＧＡが対応付けられ、ユーザ１〜３毎のＦＰＧＡの組合せが異なって対応付けられている。この対応付けにより、例えば、ＩＤ＝「ｕｓｅｒ１」のユーザ１がＰＷ変更リクエストによって、ＦＰＧＡ＃１のＰＷを書き換え中でも、他のＦＰＧＡ＃２を選択して、通信サービスを中断することなく他のリクエストの処理を行うことが可能となっている。
【００９５】
ここで、第２実施形態の特徴について説明する。図１３に示すように、ユーザが認証データの認証を行う際に、端末機１１から矢印Ｙ１１で示すように、ＩＤ＝「ｕｓｅｒ１」，ＰＷ＝「ａａａ」の認証データを認証サーバ１５Ｂへ送信する。認証サーバ１５Ｂは、その認証データのＩＤ＝「ｕｓｅｒ１」を、振分用ＤＢ１５ｂの振分テーブルＴ３に保存された各ユーザのＩＤと比較する。この結果の一致するＩＤが未登録であれば、矢印Ｙ１２で示すＯＫ／ＮＧの内のＮＧの結果を、ユーザ１の端末機１１へ応答する。又は応答しない。
【００９６】
認証サーバ１５Ｂは、上記一致するＩＤが登録されている場合に、振分用ＤＢ１５ｂに保持された該当ＩＤに対応付けられた振分先のＦＰＧＡ（例えばＦＰＧＡ＃１）を特定（選択）する。この特定されたＦＰＧＡ＃１に、矢印Ｙ１３に示すように、上記受信したユーザ１の認証データを送信する。ＦＰＧＡ＃１は、その送信されてきた認証データを回路で認証し、この結果のＯＫ／ＮＧを矢印Ｙ１４，Ｙ１２で示すように、端末機１１へ送信する。
【００９７】
この他、特定されたＦＰＧＡ＃１にＰＷの書き換えを行う場合、ＦＰＧＡ＃１は一旦電源断とされるが、この際、ユーザ１のＩＤにＦＰＧＡ＃１と共に対応付けられた他方の特定ＦＰＧＡ＃２で、ユーザ１の端末機１１への通信サービスを提供すると共に、他のユーザ２，３に対してもＦＰＧＡ＃２，＃３で、端末機１１への通信サービスを提供する。ＦＰＧＡ＃１の書き換え完了後は、ＦＰＧＡ＃２の書き換えを行い、この際に、上記同様に、ユーザ１や他のユーザ２，３の端末機１１への通信サービスを提供可能となっている。つまり、各ユーザとの通信サービスを中断せずに、各ユーザのＩＤに対応付けられた複数のＦＰＧＡ＃１〜＃３を１つずつ書き換えることが可能となっている。
【００９８】
＜第２実施形態の認証構成＞
図１１に示す認証連携部２１ａは、端末機１１からの認証リクエストを認証データと共に受信する。ユーザ管理部２１ｂは、その受信された例えばユーザ１の認証データのＩＤが、ＤＢ２１ｃのユーザリストＴ１に登録されてなければ、端末機１１への応答を行わない、又は、未登録案内をユーザ１の端末機１１へ応答する。
【００９９】
一方、ユーザリストＴ１に認証データの登録が有れば、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂから、上記受信されたユーザ１の認証データのＩＤに対応付けられた振分先のＦＰＧＡ（例えばＦＰＧＡ＃１）を特定する。
【０１００】
認証連携部２１ａは、その特定されたＦＰＧＡ＃１の受付回路２７ａへ、受信ユーザ１の認証データを送信する。受付回路２７ａは、ユーザ１の認証データを受け付けると、認証回路２７ｂが、そのユーザ１の認証データと、ＦＰＧＡ＃１に電子回路として形成されているユーザ１の認証データとを、アンドを取って認証する。この認証結果（ＯＫ／ＮＧ）が、ＦＰＧＡ書換部２６ａから認証サーバ１５Ｂのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ１の端末機１１へ返信される。
【０１０１】
＜第２実施形態のユーザ追加構成＞
図１１に示す認証連携部２１ａは、端末機１１からのユーザ追加リクエストと共に認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤを、ＤＢ２１ｃに保存されたユーザリストＴ１から検索する。この結果、例えば、追加対象ユーザ４のＩＤが登録済みであれば、認証連携部２１ａが、ユーザ４が登録済みであることを端末機１１へ応答する。
【０１０２】
一方、ユーザリストＴ１にユーザ４のＩＤ登録が無ければ、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂの振分テーブルＴ３から、追加対象ユーザ４の認証データを追加して書き換えるためのＦＰＧＡ（例えば＃１）を決定する。この決定後、ユーザ管理部２１ｂは、決定されたＦＰＧＡ＃１への認証や認証データ書き換えのための特定がその後行われないように、ＦＰＧＡ＃１を特定対象から除外する。
【０１０３】
この除外後、認証連携部２１ａは、追加対象ユーザ４の認証データをＨＤＬ生成部２２ａに出力する。ＨＤＬ生成部２２ａは、ＨＤＬ用ＤＢ２２ｂから現在保持されているＨＤＬデータを取得する。
【０１０４】
ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、追加対象ユーザ４の認証データを追加して更新を行い、この更新されたＨＤＬデータを生成すると共に、生成ＨＤＬデータをＤＢ２２ｂに上書きする。
【０１０５】
コンフィグデータ生成部２２ｃは、ＨＤＬ生成部２２ａで生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを書き換える。これによって、追加対象ユーザ４の認証データが反映されたコンフィグデータがＤＢ２６ｂに上書きされて保持される。
【０１０６】
上記コンフィグデータの書き換え後、ＦＰＧＡ電源部２６ｃがＦＰＧＡ＃１を再起動又は自動再起動することにより、ＦＰＧＡ＃１の回路が、その書き換え後のコンフィグデータに対応する回路に書き換わる。この完了後、残りのＦＰＧＡ（例えばＦＰＧＡ＃２）についても同様に追加対象ユーザ４の認証データを追加する回路書き換えを行う。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ｂのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ４の端末機１１へ認証データが追加されたことを返信する。
【０１０７】
＜第２実施形態のユーザ削除構成＞
図１１に示す認証連携部２１ａは、端末機１１からのユーザ削除リクエストと共に認証データを受信する。ユーザ管理部２１ｂが、その受信された認証データのＩＤをユーザリストＴ１から検索する。この結果、例えば、ユーザリストＴ１に、削除対象ユーザ１のＩＤの登録が無ければ削除の必要が無いので、認証連携部２１ａが、ユーザ１のＩＤが未登録ユーザであることを端末機１１へ応答する。又は、端末機１１への応答を行わない。
【０１０８】
一方、ユーザ１のＩＤの登録が有れば、上記認証処理でＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、ＤＢ２１ｃのユーザリストＴ１に登録された削除対象のユーザ１のＩＤを削除し、この削除されたユーザ１のＩＤが存在しないユーザリストＴ１に更新する。更に、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂの振分テーブルＴ３から、削除対象ユーザ１の認証データを削除して書き換えるためのＦＰＧＡ（例えば＃１）を特定する。この特定後、ユーザ管理部２１ｂは、特定されたＦＰＧＡ＃１を特定対象から除外する。
【０１０９】
この除外後、認証連携部２１ａは、削除対象ユーザ１の認証データをＨＤＬ生成部２２ａに出力し、ＨＤＬ生成部２２ａは、ＨＤＬ用ＤＢ２２ｂから現在保持されているＨＤＬデータを取得する。
【０１１０】
ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、削除対象ユーザ１の認証データを削除して更新を行い、更新されたＨＤＬデータを生成すると共に、生成ＨＤＬデータをＤＢ２２ｂに上書きする。
【０１１１】
コンフィグデータ生成部２２ｃは、ＨＤＬ生成部２２ａで生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを書き換える。これによって、削除対象ユーザ１の認証データが反映されたコンフィグデータがＤＢ２６ｂに上書きされて保持される。
【０１１２】
上記コンフィグデータの書き換え後、ＦＰＧＡ電源部２６ｃがＦＰＧＡ＃１を再起動又は自動再起動することにより、ＦＰＧＡ＃１の回路が、その書き換え後のコンフィグデータに対応する回路に書き換わる。この完了後、対応ＦＰＧＡ＃２，＃３についても同様に削除対象ユーザ１の認証データを削除する回路書き換えを行う。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ｂのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ１の端末機１１へ認証データが削除されたことを返信する。
【０１１３】
＜第２実施形態のユーザ認証データ変更構成＞
図１１に示す認証連携部２１ａは、端末機１１からのユーザ認証データ変更リクエストと共に認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤをユーザリストＴ１から検索する。この結果、例えば、変更対象ユーザ１のＩＤの登録が無ければ、認証連携部２１ａが、ユーザ１が未登録ユーザであることを端末機１１へ応答する。又は、端末機１１への応答を行わない。
【０１１４】
一方、変更対象ユーザ１のＩＤの登録が有れば、上記認証処理でＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂの振分テーブルＴ３から、変更対象ユーザ１のＩＤに対応付けられたＦＰＧＡ（例えば＃１）を特定する。この特定後、ユーザ管理部２１ｂは、特定されたＦＰＧＡ＃１を特定対象から除外する。
【０１１５】
この除外後、認証連携部２１ａは、変更対象ユーザ１の認証データをＨＤＬ生成部２２ａに出力し、ＨＤＬ生成部２２ａは、ＨＤＬ用ＤＢ２２ｂから現在保持されているＨＤＬデータを取得する。
【０１１６】
ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、変更対象ユーザ１の認証データを変更して更新を行い、更新されたＨＤＬデータを生成すると共に、生成ＨＤＬデータをＤＢ２２ｂに上書きする。
【０１１７】
コンフィグデータ生成部２２ｃは、ＨＤＬ生成部２２ａで生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを書き換える。これによって、変更対象ユーザ３の認証データが反映されたコンフィグデータがＤＢ２６ｂに上書きされて保持される。
【０１１８】
上記コンフィグデータの書き換え後、ＦＰＧＡ電源部２６ｃがＦＰＧＡ＃１を再起動又は自動再起動することにより、ＦＰＧＡ＃１の回路が、認証データを変更する書き換え後のコンフィグデータに対応する回路に書き換わる。この完了後、対応ＦＰＧＡ＃２，＃３についても同様に変更対象ユーザ１の認証データを変更する回路書き換えを行う。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ｂのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ１の端末機１１へ認証データが変更されたことを返信する。
【０１１９】
＜第２実施形態の認証動作＞
次に、認証システム１０Ｂによるユーザの認証データの認証動作を、図１４に示すフローチャートを参照して説明する。但し、図１４において、第１実施形態の図６と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、図１１に示す例えばユーザ１の端末機１１から認証サーバ１５Ｂへ、ユーザ１の認証リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」及びＰＷ＝「ａａａ」と共に送信されたとする。
【０１２０】
この際の図１４に示すステップＳ１〜Ｓ４の処理は、第１実施形態の図６の説明と同様である。図１４に示すステップＳ２の判定において、ユーザリストＴ１にユーザ１のＩＤが登録済み（Ｙｅｓ）であれば、ステップＳ７１において、ユーザ管理部２１ｂが、振分用ＤＢ１５ｂから、上記ステップＳ１で受信されたユーザ１のＩＤに対応付けられた振分先のＦＰＧＡ（例えばＦＰＧＡ＃１）を特定する。
【０１２１】
次に、ステップＳ７２において、認証連携部２１ａが、ユーザ１のＩＤ及びＰＷを、特定されたＦＰＧＡ＃１へ送信し、受付回路２７ａが、そのユーザ１のＩＤ及びＰＷと、ＦＰＧＡ＃１に電子回路として形成されているユーザ１のＩＤ及びＰＷとを、アンドを取って認証する。このＯＫ／ＮＧの認証結果が、ステップＳ８において、ユーザ１の端末機１１へ応答される。
【０１２２】
＜第２実施形態のユーザ追加動作＞
次に、認証システム１０Ｂによるユーザの認証データの追加動作を、図１５に示すフローチャートを参照して説明する。但し、図１５において、第１実施形態の図７と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、図１１に示す例えばユーザ４の端末機１１から認証サーバ１５Ｂへ、ユーザ１の追加リクエストが、認証データとしての図示せぬＩＤ＝「ｕｓｅｒ４」及びＰＷ＝「ｄｄｄ」と共に送信されたとする。
【０１２３】
図１５に示すステップＳ１１〜Ｓ１４の処理は、第１実施形態の図７の説明と同様である。図１５に示すステップＳ１２の判定において、ユーザリストＴ１にユーザ４のＩＤ登録が無ければ（Ｎｏ）、ステップＳ７４において、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂから、追加対象ユーザ４の認証データであるＩＤ及びＰＷを追加して書き換えるためのＦＰＧＡ（例えば＃１）を決定する。この決定後、ステップＳ７５において、ユーザ管理部２１ｂは、決定されたＦＰＧＡ＃１への認証やＩＤ及びＰＷの書き換えのための特定がその後行われないように、ＦＰＧＡ＃１を特定対象から除外する。この除外後、認証連携部２１ａは、ユーザ４の認証データをＨＤＬ生成部２２ａに出力する。
【０１２４】
ステップＳ１９において、ＨＤＬ生成部２２ａは、認証連携部２１ａからユーザ４のＩＤ及びＰＷを受信すると、ＤＢ２２ｂに現在保持されている更新前のユーザ４の認証データが含まれていないＨＤＬデータを取得する。ステップＳ２０において、ＨＤＬ生成部２２ａは、その取得したＨＤＬデータに、ユーザ４のＩＤ及びＰＷのデータを追加して更新を行う。この更新されたＨＤＬデータをＤＢ２２ｂに上書きする。
【０１２５】
次に、ステップＳ２１において、コンフィグデータ生成部２２ｃは、上記生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。
【０１２６】
ステップＳ２２において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。これによって、追加対象ユーザ４のＩＤ及びＰＷが反映されたコンフィグデータがＤＢ２６ｂに保持される。
【０１２７】
上記コンフィグデータの書き換え後、ステップＳ２３において、ＦＰＧＡ電源部２６ｃがＦＰＧＡ＃１を再起動又は自動再起動する。これにより、ＦＰＧＡ＃１の回路が、その書き換え後のユーザ４のＩＤ及びＰＷを含む回路に書き換わる。この回路の書換情報は、ＦＰＧＡ書換部２６ａから認証サーバ１５Ｂのコンフィグデータ生成部２２ｃ及びＨＤＬ生成部２２ａを経由し、更に認証連携部２１ａを介してユーザ管理部２１ｂへ通知される。
【０１２８】
その通知を受けたユーザ管理部２１ｂは、ステップＳ７６において、上記ステップＳ７５で除外されたＦＰＧＡ＃１の特定の除外を復旧する。これによりＦＰＧＡ＃１を認証や書き換え対象として特定可能となる。
【０１２９】
次に、ステップＳ７７において、ユーザ管理部２１ｂは、ユーザ４のＩＤ及びＰＷを含む認証データへの書き換えが、対応ＦＰＧＡ＃１〜＃３において完了したか否かを判定する。この結果、全ての書き換えが完了していない（Ｎｏ）と判定された場合、上記ステップＳ７５に戻って、対応ＦＰＧＡ＃２，＃３へのユーザ４のＩＤ及びＰＷを含む認証データの書き換えを行う。
【０１３０】
一方、全ての書き換えが完了した（Ｙｅｓ）と判定された場合、ステップＳ７７ａにおいて、振分用ＤＢ１５ｂにユーザ４を追加して更新し、ステップＳ７８において、ユーザ管理部２１ｂは、ＤＢ２１ｃのユーザリストＴ１へユーザ４のＩＤの登録を行って更新する。この更新後、ステップＳ２６において、認証連携部２１ａは、端末機１１へユーザ４のＩＤ及びＰＷが追加されたことを応答する。
【０１３１】
＜第２実施形態のユーザ削除動作＞
次に、認証システム１０Ｂによるユーザの認証データの削除動作を、図１６に示すフローチャートを参照して説明する。但し、図１６において、図８と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、図１に示す例えばユーザ１の端末機１１から認証サーバ１５Ｂへ、ユーザ１の削除リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」及びＰＷ＝「ａａａ」と共に送信されたとする。
【０１３２】
図１６に示すステップＳ３１〜Ｓ３５の処理は、第１実施形態の図８の説明と同様である。図１６に示すステップＳ３５のユーザリストＴ１に登録されたユーザ１のＩＤの削除による更新後、ステップＳ３５ａにおいて、振分用ＤＢ１５ｂにユーザ１を削除して更新し、ステップＳ８０において、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂから、削除対象ユーザ１のＩＤ及びＰＷを削除して書き換えるためのＦＰＧＡ（例えば＃１）を特定する。この特定後、ステップＳ８１において、ユーザ管理部２１ｂは、決定されたＦＰＧＡ＃１への認証やＩＤ及びＰＷの書き換えのための特定がその後行われないように、ＦＰＧＡ＃１を特定対象から除外する。この除外後、認証連携部２１ａは、ユーザ１のＩＤ及びＰＷをＨＤＬ生成部２２ａに出力する。
【０１３３】
ステップＳ４０において、ＨＤＬ生成部２２ａは、認証連携部２１ａからユーザ１のＩＤ及びＰＷを受信すると、ＤＢ２２ｂに現在保持されている更新前のユーザ１の認証データが含まれたＨＤＬデータを取得する。ステップＳ４１において、ＨＤＬ生成部２２ａは、その取得したＨＤＬデータから、ユーザ１のＩＤ及びＰＷを削除して更新を行う。この更新されたＨＤＬデータをＤＢ２２ｂに上書きする。
【０１３４】
次に、ステップＳ４２において、コンフィグデータ生成部２２ｃは、上記生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。
【０１３５】
ステップＳ４３において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。これによって、ユーザ１のＩＤ及びＰＷの削除が反映されたコンフィグデータがＤＢ２６ｂに保持される。
【０１３６】
上記コンフィグデータの書き換え後、ステップＳ４４において、ＦＰＧＡ＃１の再起動又は自動再起動により、ＦＰＧＡ＃１の回路が、書き換え後のユーザ１のＩＤ及びＰＷを含まない回路に書き換わる。この回路の書換情報の通知を受けたユーザ管理部２１ｂは、ステップＳ８２において、上記ステップＳ８１で除外されたＦＰＧＡ＃１の特定の除外を復旧する。これによりＦＰＧＡ＃１を認証や書き換え対象として特定可能となる。
【０１３７】
次に、ステップＳ８３において、ユーザ管理部２１ｂは、ユーザ１のＩＤ及びＰＷの削除が反映された認証データへの書き換えが、対応ＦＰＧＡ＃１〜＃３において完了したか否かを判定する。この結果、全ての書き換えが完了していない（Ｎｏ）と判定された場合、上記ステップＳ８１に戻って、対応ＦＰＧＡ＃２，＃３へのユーザ１のＩＤ及びＰＷを含む認証データの書き換えを行う。
【０１３８】
一方、全ての書き換えが完了した（Ｙｅｓ）と判定された場合、ステップＳ４６において、認証連携部２１ａは、端末機１１へユーザ１のＩＤ及びＰＷが削除されたことを応答する。
【０１３９】
＜第２実施形態のユーザ認証データ変更動作＞
次に、認証システム１０Ｂによるユーザの認証データの変更動作を、図１７に示すフローチャートを参照して説明する。但し、図１７において、図９と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、図１７に示す例えばユーザ１の端末機１１から認証サーバ１５Ｂへ、ユーザ１のＰＷの変更リクエストが、認証データとしてのＩＤ＝「ｕｓｅｒ１」、変更前のＰＷ（変更前ＰＷ）＝「ａａａ」及び変更後のＰＷ（変更ＰＷ）＝「ａａａ１」（図示せず）と共に送信されたとする。
【０１４０】
図１７に示すステップＳ５１〜Ｓ５４の処理は、第１実施形態の図９の説明と同様である。図１７に示すステップＳ５２の判定において、ユーザリストＴ１にユーザ１のＩＤ登録が有れば（Ｙｅｓ）、ステップＳ５２ａにおいて、図１４の認証処理でＰＷ認証を行う。この認証がＯＫであれば、ステップＳ８５において、ユーザ管理部２１ｂは、振分用ＤＢ１５ｂから、変更対象ユーザ１のＰＷを変更して書き換えるためのＦＰＧＡ（例えば＃１）を特定する。この特定後、ステップＳ８６において、ユーザ管理部２１ｂは、特定されたＦＰＧＡ＃１を特定対象から除外する。この除外後、認証連携部２１ａは、ユーザ１のＩＤ及び変更ＰＷ＝「ａａａ１」をＨＤＬ生成部２２ａに出力する。
【０１４１】
ステップＳ６０において、ＨＤＬ生成部２２ａは、認証連携部２１ａからユーザ１のＩＤ及び変更ＰＷを受信すると、ＤＢ２２ｂに現在保持されている変更前のユーザ１のＩＤ及びＰＷが含まれたＨＤＬデータを取得する。ステップＳ６１において、ＨＤＬ生成部２２ａは、その取得したＨＤＬデータから、ユーザ１のＰＷを「ａａａ１」に変更して更新を行う。この更新されたＨＤＬデータをＤＢ２２ｂに上書きする。
【０１４２】
次に、ステップＳ６２において、コンフィグデータ生成部２２ｃは、上記生成されたＨＤＬデータに基づきコンフィグデータを生成し、このコンフィグデータをハード制御部２６＃１のＦＰＧＡ書換部２６ａへ送信する。
【０１４３】
ステップＳ６３において、ＦＰＧＡ書換部２６ａは、その送信されてきたコンフィグデータに応じて、ＤＢ２６ｂに保持されたコンフィグデータを上書きして書き換える。これによって、ユーザ１の変更後のＰＷ＝「ａａａ１」が反映されたコンフィグデータがＤＢ２６ｂに保持される。
【０１４４】
上記コンフィグデータの書き換え後、ステップＳ６４において、ＦＰＧＡ＃１の再起動又は自動再起動により、ＦＰＧＡ＃１の回路が、変更後のＰＷ＝「ａａａ１」が反映された回路に書き換わる。この回路の書換情報の通知を受けたユーザ管理部２１ｂは、ステップＳ８７において、上記ステップＳ８６で除外されたＦＰＧＡ＃１の特定の除外を復旧する。これによりＦＰＧＡ＃１を認証や書き換え対象として特定可能となる。
【０１４５】
次に、ステップＳ８８において、ユーザ管理部２１ｂは、ユーザ１の変更後のＰＷ＝「ａａａ１」含む認証データへの書き換えが、対応ＦＰＧＡ＃１〜＃３において完了したか否かを判定する。この結果、全ての書き換えが完了していない（Ｎｏ）と判定された場合、上記ステップＳ８６に戻って、対応ＦＰＧＡ＃２，＃３へのユーザ１のＩＤ及びＰＷを含む認証データの書き換えを行う。
【０１４６】
一方、全ての書き換えが完了した（Ｙｅｓ）と判定された場合、ステップＳ６７において、認証連携部２１ａは、端末機１１へユーザ１のＰＷが変更されたことを応答する。
【０１４７】
以上はユーザ１のＰＷ変更の処理であるが、ＩＤを変更する場合、例えば、ＩＤ＝「ｕｓｅｒ１１」に変更する場合は、上記ステップＳ５１〜Ｓ８８において、ＩＤについてＰＷと同様の処理を行う。この後、ステップＳ６５ａにおいて、ユーザ管理部２１ｂが、ユーザリストＴ１において、未だ変更されていない変更対象ユーザ１のＩＤを、ＩＤ＝「ｕｓｅｒ１１」に更新する。また、ステップＳ６５ｂにおいて、振分用ＤＢ１５ｂを更新する。このＩＤの変更結果も、ステップＳ６７の処理において、ユーザ１の端末機１１へ応答される。
【０１４８】
＜第２実施形態の効果＞
以上説明したように、第２実施形態の認証システム１０Ｂは、次のような特徴構成とした。
【０１４９】
（１）ＦＰＧＡ＃１〜＃３を有するＦＰＧＡ装置１６Ｂ１〜１６Ｂ３を複数備え、認証データ毎に、少なくとも異なる２つのＦＰＧＡ装置（例えばＦＰＧＡ装置１６Ｂ１，１６Ｂ３）が対応付けられた振分用ＤＢ１５ｂを有する認証サーバ１５Ｂを備える。認証サーバ１５Ｂは、端末機１１からのユーザの認証データを受信した際に、振分用ＤＢ１５ｂを参照して、その受信した認証データを認証するための１つのＦＰＧＡ装置１６Ｂ１を選択し、この選択したＦＰＧＡ装置１６Ｂ１に電子回路として保持された認証データと、受信した認証データとを比較して認証を行う構成とした。
【０１５０】
この構成によれば、端末機１１から受信したユーザの認証データを、複数のＦＰＧＡ装置１６Ｂ１〜１６Ｂ３の内の１つを選択したＦＰＧＡ装置１６Ｂ１に保持された認証データで認証する。このため、認証処理を分散（負荷を分散）させることができるので、多くの認証を短時間で行うことができる。また、あるＦＰＧＡ装置１６Ｂ１に障害又は書き換えが発生した場合に、他のＦＰＧＡ装置１６Ｂ２で認証を行うことができる。これによって、認証機能の強化を図ることができる。
【０１５１】
（２）認証サーバ１５Ｂは、端末機１１からのユーザ追加のリクエスト時に、当該追加対象である追加ユーザの認証データが未登録の場合に、振分用ＤＢ１５ｂを参照して、追加ユーザの認証データを追加するためのＦＰＧＡ装置１６Ｂ１を選択する。この選択したＦＰＧＡ装置１６Ｂ１がその後のリクエストに応じて選択されないように設定した後、追加ユーザの認証データを含む全ユーザの認証データが選択したＦＰＧＡ装置１６Ｂ１に電子回路として保持された後に、設定を解除する構成とした。
【０１５２】
この構成によれば、選択したＦＰＧＡ装置１６Ｂ１に追加ユーザの認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のＦＰＧＡ装置１６Ｂ２，１６Ｂ３で実行することができる。このため、ユーザの端末機１１へのサービスを中断しないように、追加ユーザの認証データをＦＰＧＡ装置１６Ｂ１に反映させて書き込むことができる。
【０１５３】
（３）認証サーバ１５Ｂは、端末機１１からのユーザ削除のリクエスト時に、当該削除対象である削除ユーザの認証データが登録有りの場合に、当該登録された削除ユーザの認証データを削除した後、振分用ＤＢ１５ｂを参照して、削除を反映するためのＦＰＧＡ装置１６Ｂ１を選択する。この選択したＦＰＧＡ装置１６Ｂ１がその後のリクエストに応じて選択されないように設定した後、削除が反映された全ユーザの認証データが選択したＦＰＧＡ装置１６Ｂ１に電子回路として保持された後に、上記設定を解除する構成とした。
【０１５４】
この構成によれば、選択したＦＰＧＡ装置１６Ｂ１に削除ユーザの認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のＦＰＧＡ装置１６Ｂ２，１６Ｂ３で実行することができる。このため、ユーザの端末機１１へのサービスを中断しないように、削除ユーザの認証データをＦＰＧＡ装置１６Ｂ１に反映させて書き込むことができる。
【０１５５】
（４）認証サーバ１５Ｂは、端末機１１からのユーザ認証データ変更のリクエスト時に、当該変更対象の認証データが登録有りの場合に、当該登録された認証データを変更した後、振分用ＤＢ１５ｂを参照して、変更を反映するためのＦＰＧＡ装置１６Ｂ１を選択し、この選択したＦＰＧＡ装置１６Ｂ１がその後のリクエストに応じて選択されないように設定した後、変更が反映された全ユーザの認証データが選択したＦＰＧＡ装置１６Ｂ１に電子回路として保持された後に、上記設定を解除する構成とした。
【０１５６】
この構成によれば、選択したＦＰＧＡ装置１６Ｂ１に変更の認証データが反映される書き換え中でも、他のリクエストに応じたサービスを、未選択のＦＰＧＡ装置１６Ｂ２，１６Ｂ３で実行することができる。このため、ユーザの端末機１１へのサービスを中断しないように、変更した認証データをＦＰＧＡ装置１６Ｂ１に反映させて書き込むことができる。
【０１５７】
＜第３実施形態の構成＞
図１８は、本発明の第３実施形態に係るプログラマブルデバイス適用認証システムの構成を示すブロック図である。図１８に示す認証システム１０Ｃにおいて、図１に示した認証システム１０Ａと同一部分には同一符号を付し、その説明を省略する。
【０１５８】
図１８に示す第３実施形態の認証システム１０Ｃは、端末機１１と、端末機１１にインターネット１２及び社内ＮＷ１３を介して接続されたＡＰサーバ１４と、第１認証用ＤＢ１５ｃを有する認証サーバ１５Ｃと、ＦＰＧＡ装置１６Ａとを備えて構成されている。
【０１５９】
第１認証用ＤＢ１５ｃは、図１９に示す第１認証テーブルＴ４を保持している。この第１認証用ＤＢ１５ｃには、認証データとして、例えば、ユーザ１の第１固有データであるＩＤ１＝「ｕｓｅｒ１」に、第１パスワードであるＰＷ１＝「ａａａ」が対応付けられている。更に、ユーザ１の第２固有データであるＩＤ２＝「１」に、ＩＤ２の使用状況（使用中か否か）を表す「ｕｓｅｄ」又は「ｕｎｕｓｅｄ」が対応付けられている。つまり、ユーザ１のＩＤ２と、使用状況と、ＩＤ１と、ＰＷ１とが相互に対応付けられている。
【０１６０】
同様に、ユーザ２のＩＤ１＝「ｕｓｅｒ２」に、ＰＷ１＝「ｂｂｂ」が対応付けられ、更に、ＩＤ２＝「２」に「ｕｎｕｓｅｄ」が対応付けられている。ユーザ３のＩＤ１＝「ｕｓｅｒ３」に、ＰＷ１＝「ｃｃｃ」が対応付けられ、更に、ＩＤ２＝「３」に「ｕｓｅｄ」が対応付けられている。また、ユーザ２のＩＤ２には、第２パスワードであるＰＷ２の「ｘｘｘ」、「ｙｙｙ」、「ｚｚｚ」が対応付けられる。図１９の第１認証テーブルＴ４の例では、ユーザ１が使用状況「ｕｓｅｄ」のため、ＰＷ２の欄には何も対応付けられていない。ユーザ２は「ｕｎｕｓｅｄ」のため、ＰＷ２の欄には「ｙｙｙ」が対応付けられ、ユーザ３は「ｕｓｅｄ」のため、ＰＷ２の欄には何も対応付けられていない。何も対応付けられていないのは、後述のように、ユーザ追加時に、ユーザへのＰＷ２の端末機１１への通知後、削除する例示を行っているためである。
【０１６１】
図２０の右隅部分に破線枠で示すように、ＩＤ２は、第２パスワードであるＰＷ２と対応付けられて、矢印Ｙ３０で示すようにＦＰＧＡ装置１６ＡのＦＰＧＡ２５（図２１）に電子回路として書き込まれている。ＩＤ２及びＰＷ２は、ＦＰＧＡ装置１６Ａに予めＩＤ２に対応付けられて固定的に記憶されており、システム管理者以外のユーザ等が変更不可能となっている。
【０１６２】
ＰＷ２は、ユーザがＩＤ１及びＰＷ１を認証サーバ１５Ｃに新規に登録してＩＤ２が使用中「ｕｓｅｄ」となった際に、認証サーバ１５Ｃからユーザの端末機１１へ通知されるようになっている。ＦＰＧＡ装置１６Ａには、ＩＤ２＝「１」にＰＷ２＝「ｘｘｘ」が対応付けられ、ＩＤ２＝「２」にＰＷ２＝「ｙｙｙ」が、ＩＤ２＝「３」にＰＷ２＝「ｚｚｚ」が対応付けられて保持されている。
【０１６３】
次に、図２０を参照して、第３実施形態の特徴について説明する。ユーザ（例えば、ユーザ１）が認証データの認証を行う際に、端末機１１から矢印Ｙ２１で示すように、ＩＤ１＝「ｕｓｅｒ１」，ＰＷ１＝「ａａａ」，ＰＷ２＝「ｘｘｘ」の認証データを認証サーバ１５Ｃへ送信する。
【０１６４】
認証サーバ１５Ｃの第１認証用ＤＢ１５ｃには、上述した認証データを保持する第１認証テーブルＴ４が保存されており、端末機１１から送信されてきたユーザ１の認証データであるＩＤ１及びＰＷ１と、第１認証テーブルＴ４のＩＤ１及びＰＷ１とを比較して一致又は不一致の第１認証を行う。この認証結果が不一致の場合は、ＮＧを矢印Ｙ２２で示すように、端末機１１へ応答する。
【０１６５】
一方、第１認証がＯＫであれば、第２認証を行う。この第２認証は、第１認証用ＤＢ１５ｃに保持されたユーザ１のＩＤ２＝「１」をＰＷ２＝「ａａａ」と共に、矢印Ｙ２３で示すように、ＦＰＧＡ装置１６Ａへ送信する。ＦＰＧＡ装置１６Ａは、その送信されてきたユーザ１のＩＤ２＝「１」及びＰＷ２＝「ａａａ」と、ＦＰＧＡ装置１６Ａに保持されたＩＤ２＝「１」及びＰＷ２＝「ａａａ」を含む認証データとを比較し、一致又は不一致の第２認証を行う。この第２認証の結果は、矢印Ｙ２４，Ｙ２２で示すように認証サーバ１５を介してユーザ１の端末機１１へ応答される。
【０１６６】
このように２段階で認証を行う構成は、ユーザが変更可能なＰＷ１及びＩＤ１の追加、削除又は変更は認証サーバ１５Ｃで行い、ＰＷ２はＦＰＧＡ装置１６Ａに変更不可能に固定的に保存された構成となっている。このため、ユーザが変更可能なＰＷ１の追加、削除又は変更は認証サーバ１５Ｃのみで行うので、ＦＰＧＡ装置１６Ａでの認証データの書き換え処理が発生しないため、ユーザへの通信サービスの中断を抑制することが可能となっている。
【０１６７】
＜第３実施形態の認証構成＞
図２１に示す認証連携部２１ａは、端末機１１からの認証リクエストを、ＩＤ１，ＰＷ１，ＰＷ２の認証データと共に受信する。ユーザ管理部２１ｂは、その受信されたＩＤ１が、ユーザリスト用ＤＢ２１ｃのユーザリストＴ１に登録されていなければ、端末機１１への応答を行わない、又は、未登録案内をユーザ１の端末機１１へ応答する。但し、ユーザリストＴ１は、図４に示したように「ＩＤ」を登録しているが、認証システム１０Ｃの構成では、「ＩＤ」に代え、「ＩＤ１」を登録しているとする。
【０１６８】
一方、ＩＤ１の登録が有れば、図２１に示すユーザ管理部２１ｂは、上記受信されたユーザ１のＩＤ１，ＰＷ１を、第１認証用ＤＢ１５ｃに保持されたＩＤ１，ＰＷ１と比較して、一致又は不一致の第１認証を行う。この第１認証の結果がＮＧであれば、認証連携部２１ａは、ＮＧ結果を端末機１１へ応答する。
【０１６９】
第１認証の結果がＯＫであれば、認証連携部２１ａは、第１認証用ＤＢ１５ｃに保持されたユーザ１のＩＤ２をＰＷ２と共に、ＦＰＧＡ装置１６Ａへ送信する。ＦＰＧＡ装置１６Ａは、その送信されてきたユーザ１のＩＤ２，ＰＷ２と、ＦＰＧＡ２５に回路として保持された認証データとを比較し、一致又は不一致の第２認証を行う。この第２認証の結果は、ユーザ１の端末機１１へ応答される。
【０１７０】
＜第３実施形態のユーザ追加構成＞
図２１に示す認証連携部２１ａは、端末機１１からのユーザ追加リクエストと共にＩＤ１，ＰＷ１の認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤ１をユーザリストＴ１から検索する。この結果、例えば、追加対象ユーザ２のＩＤ１が登録済みであれば、認証連携部２１ａが、ユーザ２が登録済みであることを端末機１１へ応答する。
【０１７１】
一方、ユーザリストＴ１にユーザ２のＩＤ１の登録が無ければ、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃに、第１認証データとしてのユーザ２のＩＤ１,ＰＷ１を、ユーザが未使用（ｕｎｕｓｅｄ）のＩＤ２に対応付けて追加保持する。この追加により、ＩＤ２は使用中（ｕｓｅｄ）となる。ユーザ管理部２１ｂは、その使用中となったＩＤ２に対応付けられた第１認証テーブルＴ４（図１９）のＰＷ２を、追加ユーザの端末機１１へ通知する。この通知後、ＰＷ２は第１認証テーブルＴ４から削除されるようになっている。また、ユーザ管理部２１ｂは、ユーザリストＴ１にユーザ２のＩＤ１を追加する。
【０１７２】
＜第３実施形態のユーザ削除構成＞
図２１に示す認証連携部２１ａは、端末機１１からのユーザ削除リクエストと共にＩＤ１，ＰＷ１，ＰＷ２の認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤ１をユーザリストＴ１から検索する。この結果、例えば、ユーザリストＴ１に、削除対象ユーザ１のＩＤ１の登録が無ければ削除の必要が無いので、認証連携部２１ａが、ユーザ１のＩＤ１が未登録ユーザであることを端末機１１へ応答する。又は、端末機１１への応答を行わない。
【０１７３】
一方、ユーザ１のＩＤ１の登録が有れば、ＩＤ１とＰＷ１の組合せでＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、ＤＢ２１ｃのユーザリストＴ１に登録された削除対象のユーザ１のＩＤ１を削除し、この削除されたユーザ１のＩＤ１が存在しないユーザリストＴ１に更新する。更に、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃから、削除対象ユーザ１の認証データを削除する。この削除結果は、認証連携部２１ａからユーザ１の端末機１１へ応答される。
【０１７４】
＜第３実施形態のユーザ認証データ変更構成＞
図２１に示す認証連携部２１ａは、端末機１１からのユーザ認証データ変更リクエストと共にＩＤ１，ＰＷ１，ＰＷ２の認証データを受信する。ユーザ管理部２１ｂは、その受信された認証データのＩＤ１をユーザリストＴ１から検索する。この結果、例えば、変更対象ユーザ１のＩＤ１の登録が無ければ、認証連携部２１ａが、ユーザ１が未登録ユーザであることを端末機１１へ応答する。又は、端末機１１への応答を行わない。
【０１７５】
一方、変更対象ユーザ１のＩＤ１の登録が有れば、ＩＤ１とＰＷ１の組合せでＰＷ認証を行う。この認証がＯＫであれば、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃに保存されたユーザ１のＩＤ１，ＰＷ１を変更して更新する。
【０１７６】
＜第３実施形態の認証動作＞
次に、認証システム１０Ｃによるユーザの認証データの認証動作を、図２２に示すフローチャートを参照して説明する。但し、図２２において、第１実施形態の図６と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、例えばユーザ１の端末機１１から認証サーバ１５Ｃへ、ユーザ１の認証リクエストが、認証データとしての図１９に示すユーザ１のＩＤ１＝「ｕｓｅｒ１」，ＰＷ１＝「ａａａ」と、ＰＷ２＝「ｘｘｘ」と共に送信されたとする。
【０１７７】
この際の図２２に示すステップＳ１〜Ｓ４の処理は、第１実施形態の図６の説明と同様である。図２２に示すステップＳ２の判定において、ユーザリストＴ１にユーザ１のＩＤ１が登録済み（Ｙｅｓ）であれば、ステップＳ９０において、ユーザ管理部２１ｂが、振分用ＤＢ１５ｂから、上記受信されたユーザ１のＩＤ１，ＰＷ１を、第１認証用ＤＢ１５ｃに保持されたＩＤ１，ＰＷ１と比較し、一致又は不一致の第１認証を行う。つまり、ステップＳ９１において、第１認証がＯＫか否か（一致又は不一致か）を判定する。
【０１７８】
第１認証の結果がＯＫでないＮＧであれば（Ｎｏ）、ステップＳ８において、ＮＧ結果が端末機１１へ応答される。一方、第１認証の結果がＯＫであれば（Ｙｅｓ）、ステップＳ９２において、第２認証が行われる。即ち、認証連携部２１ａが、第１認証用ＤＢ１５ｃに保持されたユーザ１のＩＤ２をＰＷ２と共に、ＦＰＧＡ装置１６Ａへ送信し、ＦＰＧＡ装置１６Ａが、その送信されてきたユーザ１のＩＤ２，ＰＷ２と、ＦＰＧＡ２５に電子回路（認証回路）として保持された認証データとを比較し、一致又は不一致の第２認証を行う。この第２認証の結果は、ステップＳ８において、ユーザ１の端末機１１へ応答される。
【０１７９】
＜第３実施形態のユーザ追加動作＞
次に、認証システム１０Ｃによるユーザの認証データの追加動作を、図２３に示すフローチャートを参照して説明する。但し、図２３において、第１実施形態の図７と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、例えばユーザ２の端末機１１から認証サーバ１５へ、ユーザ２の追加リクエストが、認証データとしての図１９に示すユーザ２のＩＤ１＝「ｕｓｅｒ２」，ＰＷ１＝「ｂｂｂ」と共に送信されたとする。
【０１８０】
図２３に示すステップＳ１１〜Ｓ１４の処理は、第１実施形態の図７の説明と同様である。図２３に示すステップＳ１２の判定において、ユーザリストＴ１にユーザ２のＩＤ１の登録が無ければ（Ｎｏ）、ステップＳ９４において、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃに、第１認証データとしてのユーザ２のＩＤ１,ＰＷ１を、ユーザが未使用（ｕｎｕｓｅｄ）のＩＤ２に対応付けて追加保持する。この追加により、ＩＤ２は使用中（ｕｓｅｄ）となる。
【０１８１】
この際、ステップＳ９４ａにおいて、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃにおいて、その使用中となったＩＤ２に対応付けられたＰＷ２を、認証連携部２１ａから追加ユーザの端末機１１へ通知する。この通知後にＰＷ２を第１認証用ＤＢ１５ｃから削除する。また、上記ステップＳ９４の処理後、ステップＳ１６において、ユーザ管理部２１ｂは、ユーザリストＴ１にユーザ２のＩＤ１を追加する。この追加結果は、ステップＳ２６において、ユーザ２の端末機１１へ応答される。
【０１８２】
＜第３実施形態のユーザ削除動作＞
次に、認証システム１０Ｃによるユーザの認証データの削除動作を、図２４に示すフローチャートを参照して説明する。但し、図２４において、図８と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、例えばユーザ１の端末機１１から認証サーバ１５へ、ユーザ１の削除リクエストが、認証データとしての図１９に示すユーザ１のＩＤ１＝「ｕｓｅｒ１」，ＰＷ１＝「ａａａ」と共に送信されたとする。
【０１８３】
図２４に示すステップＳ３１〜Ｓ３５の処理は、第１実施形態の図８の説明と同様である。図２４に示すステップＳ３５のユーザリストＴ１に登録されたユーザ１のＩＤ１の削除による更新後、ステップＳ９６において、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃから、削除対象ユーザ１の状態フラグを「ｕｎｕｓｅｄ」に変更する。この削除結果は、ステップＳ４６において、ユーザ１の端末機１１へ応答される。
【０１８４】
＜第３実施形態のユーザ認証データ変更動作＞
次に、認証システム１０Ｃによるユーザの認証データの変更動作を、図２５に示すフローチャートを参照して説明する。但し、図２５において、図９と同一ステップには同一符号を付し、その説明を適宜省略する。
前提条件として、例えばユーザ１の端末機１１から認証サーバ１５へ、ユーザ１のＰＷの変更リクエストが、認証データとしての図１９に示すユーザ１のＩＤ１＝「ｕｓｅｒ１」，変更前のＰＷ１（変更前ＰＷ）＝「ａａａ」，変更後のＰＷ１（変更ＰＷ１）＝「ａａａ１」（図示せず）と共に送信されたとする。
【０１８５】
図２５に示すステップＳ５１〜Ｓ５４の処理は、第１実施形態の図９の説明と同様である。図２５に示すステップＳ５２の判定において、ユーザリストＴ１にユーザ１のＩＤ１の登録が有れば（Ｙｅｓ）、ステップＳ５２ａにおいて、図２２の認証処理でＰＷ認証を行う。この認証がＯＫであれば、ステップＳ９８において、ユーザ管理部２１ｂは、第１認証用ＤＢ１５ｃに保存されたユーザ１のＰＷ１を「ａａａ１」に変更して更新する。この後、ステップＳ６７において、その変更結果がユーザ１の端末機１１へ送信される。
【０１８６】
上記はユーザ１のＰＷ１の変更の処理であるが、ＩＤ１も変更、例えば、ＩＤ１＝「ｕｓｅｒ１１」（図示せず）に変更する場合は、上記ステップＳ５１〜５４，Ｓ９８において、ＩＤ１についてＰＷ１と同様の処理を行う。この後、ステップＳ９８ａにおいて、ユーザ管理部２１ｂが、ユーザリストＴ１において、未だ変更されていない変更対象ユーザ１のＩＤ１を、ＩＤ１＝「ｕｓｅｒ１１」に変更する。このＩＤ１の変更結果も、ステップＳ６７において、ユーザ１の端末機１１へ応答される。
【０１８７】
＜第３実施形態の効果＞
以上説明したように、第３実施形態の認証システム１０Ｃは、次のような特徴構成とした。
【０１８８】
（１）認証データとして、ユーザが変更可能なＩＤ１及びＰＷ１と、変更不可能なＰＷ２に対応付けられるＩＤ２と、を保持する第１認証用ＤＢ１５ｃを有する認証サーバ１５Ｃを備える。ＦＰＧＡ装置１６Ａは、ＩＤ２及びＰＷ２の対を複数、電子回路で置換して保持している。認証サーバ１５Ｃは、端末機１１から受信したＩＤ１及びＰＷ１を、第１認証用ＤＢ１５ｃに保持されたＩＤ１及びＰＷ１と比較して一致又は不一致で認証する第１認証を行う。認証サーバ１５Ｃは、その第１認証が一致の場合に、この一致したＰＷ１に第１認証用ＤＢ１５ｃに対応付けられたＩＤ２と、端末機１１からＩＤ１と共に受信したＰＷ２とを対にしてＦＰＧＡ装置１６Ａへ送信する。ＦＰＧＡ装置１６Ａは、送信されてきた対のＩＤ２及びＰＷ２を、ＦＰＧＡ装置１６Ａに保持されたＩＤ２及びＰＷ２と比較して認証する第２認証を行う構成とした。
【０１８９】
この構成によれば、ユーザが変更可能なＩＤ１及びＰＷ１の認証データは認証サーバ１５Ｃの第１認証用ＤＢ１５ｃに保持され、変更不可能なＩＤ２及びＰＷ２の認証データはＦＰＧＡ装置１６Ａに電子回路で置換されて保持されている。このため、ユーザが変更可能な認証データの追加、削除又は変更等は、認証サーバ１５Ｃのみで行うことができるので、ＦＰＧＡ装置１６Ａでは認証データの書き換え処理が発生しない。これにより、ユーザへの通信サービスの中断を抑制することができる。
【０１９０】
（２）認証サーバ１５Ｃは、端末機１１からのユーザ追加のリクエスト時に、当該追加対象である追加ユーザのＩＤ１及びＰＷ１が未登録の場合に、当該追加ユーザのＩＤ１及びＰＷ１を第１認証用ＤＢ１５ｃに、未使用中のＩＤ２に対応付けて保存し、この保持により使用中となったＩＤ２に対応付けられたＰＷ２を、追加ユーザの端末機１１へ通知する構成とした。
【０１９１】
この構成によれば、認証サーバ１５Ｃにユーザの認証データの追加を行った際に、その後、ユーザが認証データの認証等を行う際に必要なＰＷ２を安全に得ることができる。
【０１９２】
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【０１９３】
１０Ａ，１０Ｂ，１０Ｃ  プログラマブルデバイス適用認証システム
１１  クライアント端末機（端末機）
１２  インターネット
１３  社内ＮＷ
１４  ＡＰサーバ
１５Ａ，１５Ｂ，１５Ｃ  認証サーバ
１５ａ  キャッシュ用ＤＢ（データベース）
１５ｂ  振分用ＤＢ（データベース）
１５ｃ  第１認証用ＤＢ（データベース）
１６Ａ，１６Ｂ  ＦＰＧＡ装置（プログラマブルデバイス装置）
１７  プライベートＮＷ
２１  ＡＰ認証部
２１ａ  認証連携部
２１ｂ  ユーザ管理部
２１ｃ  ユーザリスト用ＤＢ
２２  認証制御部
２２ａ  ＨＤＬ生成部
２２ｂ  ＨＤＬ用ＤＢ
２２ｃ  コンフィグデータ生成部
２２ｄ  ＦＰＧＡ再起動部
２５，２５ａ，２５ｂ，２５ｃ  ＦＰＧＡ
２６  ハード制御部
２６ａ  ＦＰＧＡ書換部
２６ｂ  コンフィグデータ用ＤＢ
２６ｃ  ＦＰＧＡ電源部
２７  認証部
２７ａ  受付回路
２７ｂ  認証回路
【図１】
2020109699.tif 000003
【図２】
2020109699.tif 000004
【図３】
2020109699.tif 000005
【図４】
2020109699.tif 000006
【図５】
2020109699.tif 000007
【図６】
2020109699.tif 000008
【図７】
2020109699.tif 000009
【図８】
2020109699.tif 000010
【図９】
2020109699.tif 000011
【図１０】
2020109699.tif 000012
【図１１】
2020109699.tif 000013
【図１２】
2020109699.tif 000014
【図１３】
2020109699.tif 000015
【図１４】
2020109699.tif 000016
【図１５】
2020109699.tif 000017
【図１６】
2020109699.tif 000018
【図１７】
2020109699.tif 000019
【図１８】
2020109699.tif 000020
【図１９】
2020109699.tif 000021
【図２０】
2020109699.tif 000022
【図２１】
2020109699.tif 000023
【図２２】
2020109699.tif 000024
【図２３】
2020109699.tif 000025
【図２４】
2020109699.tif 000026
【図２５】
2020109699.tif 000027