(57)【特許請求の範囲】
【請求項１】
各々データを保存する複数のサーバが連携して動作しかつ外部システムとの間でネットワークを介して通信可能な情報システムにおいて、
前記外部システムと情報システムとの間で真正性が担保されたシステム識別情報を保持する手段と、
前記外部システムから当該外部システムのシステム識別情報を含む最初のデータ操作要求が送られた場合に、当該データ操作要求に含まれるシステム識別情報を前記保持されているシステム識別情報と照合することにより擬似的な認証処理を実行し、この擬似的な認証処理により前記要求元の外部システムの正当性が確認された場合にその認証結果を表す認証状態識別子を発行する擬似認証手段と、
前記発行された認証状態識別子を保存し、当該認証状態識別子の有効期間内に前記外部システムから２回目以降のデータ操作要求が送られた場合に、当該データ操作要求に応じて起動されたスレッドに対し前記保存されている認証状態識別子を割り当てる認証状態保持手段と、
前記割り当てられた認証状態識別子を前記外部システムから送られたデータ操作要求と共にデータ操作先となるサーバに転送し、当該サーバに保存されているデータに対するデータ操作を実行させる中継手段と
を具備し、
前記認証状態保持手段は、１つの外部システムに対し発行される認証状態識別子の数に上限値を設定し、同一の外部システムからのデータ操作要求に応じて複数のスレッドを起動しようとした場合には、これらのスレッドに対し前記設定された上限値を超えない範囲で前記認証状態識別子を割り当てることを特徴とする情報システム。
【請求項２】
前記割り当てられた認証状態識別子が有効か無効かを判定し、無効と判定された場合には前記擬似認証手段に対し擬似的な認証処理を要求して、新たな認証状態識別子を発行させる手段を、さらに具備することを特徴とする請求項１記載の情報システム。
【請求項３】
各々データを保存する複数のサーバが連携して動作しかつ外部システムとの間でネットワークを介して通信可能な情報システムにおいて実行される認証状態管理方法であって、
前記情報システムが、当該情報システムと前記外部システムとの間で真正性が担保されたシステム識別情報を保持する過程と、
前記情報システムが、前記外部システムから当該外部システムのシステム識別情報を含む最初のデータ操作要求が送られた場合に、当該データ操作要求に含まれるシステム識別情報を前記保持されているシステム識別情報と照合することにより擬似的な認証処理を実行し、この擬似的な認証処理により前記要求元の外部システムの正当性が確認された場合にその認証結果を表す認証状態識別子を発行する過程と、
前記情報システムが、前記発行された認証状態識別子を保存し、当該認証状態識別子の有効期間内に前記外部システムから２回目以降のデータ操作要求が送られた場合に、当該データ操作要求に応じて起動されたスレッドに対し前記保存されている認証状態識別子を割り当てる過程と、
前記情報システムが、前記割り当てられた認証状態識別子を前記外部システムから送られたデータ操作要求と共にデータ操作先となるサーバに与え、当該サーバに保存されているデータに対するデータ操作を実行させる過程と
を具備し、
前記認証状態識別子を割り当てる過程は、１つの外部システムに対し発行される認証状態識別子の数に上限値を設定し、同一の外部システムからのデータ操作要求に応じて複数のスレッドを起動しようとした場合には、これらのスレッドに対し前記設定された上限値を超えない範囲で前記認証状態識別子を割り当てることを特徴とする認証状態管理方法。
【請求項４】
前記割り当てられた認証状態識別子が有効か無効かを判定し、無効と判定された場合には前記擬似的な認証処理を再度実行して新たな認証状態識別子を発行する過程を、さらに具備することを特徴とする請求項３記載の認証状態管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のサーバが連携して動作する情報システムと、この情報システムで使用される認証状態管理方法に関する。
【背景技術】
【０００２】
複数のサーバが連携して動作する情報システムの各サーバに対し、ユーザ登録／更新やデータ登録といったデータ操作を行うには、それぞれのサーバに対して認証を行い、操作を行うシステム利用者が正当なアクセス権限を持つことを確認する必要がある。この場合、システム内の全てのサーバとの間で個別に認証手順を行うことは、システム利用者にとって非常に不便である。
【０００３】
そこで、一度の認証手順によって情報システム内の全てのサーバに対して一元的にシステム利用者の認証状態を通知できるようにした、シングルサインオンと呼ばれる技術が導入されている。シングルサインオンは、例えばＳＡＭＬ（Security Assertion Markup Language）やＯｐｅｎＩＤにより定義され、システム内のサーバ間で予め必要な認証・承認情報の属性や処理について合意しておく。そして、例えばシステム利用者がサーバＡから認証を受けると、この認証された証明書をSOAP／HTTPメッセージ部分に挿入してサーバＢに転送するようにしたものである。このシングルサインオンを使用すると、システム利用者がシステム内のいずれかのサーバから認証されると、以後は面倒な認証手続きを繰り返すことなくシステム内の他のサーバに対しアクセスすることが可能となり、大変便利である（例えば非特許文献１又は２を参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】スタンダードコーナー：ＯＡＳＩＳ規格解説「ＳＡＭＬ」、株式会社日本ユニテック、［平成２３年１０月３１日検索］、インターネット＜URL: http://www.utj.co.jp/xml/sta/saml.html＞
【非特許文献２】ｇｉｈｙｏ．ｊｐ  ＤＥＶＥＬＯＰＥＲ  ＳＴＡＧＥ  特集「いますぐ使えるＯｐｅｎＩＤ  第１回ＯｐｅｎＩＤサービスを利用して、ＯｐｅｎＩＤの仕組みを理解する」、［平成２３年１０月３１日検索］、インターネット＜URL: http://gihyo.jp/dev/feature/01/openid/0001＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、情報システムを管理ポリシーが異なる外部システムと連携させ、システム利用者に代わって外部システムから情報システム内のデータ操作を実施しようとした場合には、以下のような解決すべき課題がある。  
（１）データ操作元がシステム利用者の場合には、ＩＤ／パスワードやＩＣカード等を用いた認証手順により、能動的に認証操作を実施させることができる。しかし、データ操作元が外部システムの場合には、ＩＤ／パスワードやＩＣカード等を用いた個人用の認証手順を使用できない。このため、何らかの方法で、外部システムからのデータ操作のためのアクセスを正当に認証されたものと認識させる必要がある。
【０００６】
（２）外部システムからのアクセスは、個人であるシステム利用者からのアクセスと異なり、処理を多重に実施することが可能であり、性能向上の観点から複数のスレッドを同時に起動して処理が行われる。この場合、複数のスレッドで同一の証明書を共用すると、証明書の有効期限が切れた場合に処理中の複数のスレッドに対するセッションが同時に無効となってしまう可能性がある。
【０００７】
（３）（２）で述べた課題を解決するためにスレッド単位に証明書を発行すると、その都度認証手順を実行しなくてはならなくなり、データ操作に要する処理時間が長くなる。また、複数の外部システムからのアクセスが発生した場合に、特定の外部システムからのアクセスがスレッドと証明書を占有してしまうことがあり、外部システム間の公正性が保たれない。
【０００８】
この発明は上記事情に着目してなされたもので、その目的とするところは、個人用の認証手順を使用できない外部システムからのアクセスに対しても認証処理が適切に行われるようにし、かつ１回の認証処理により複数のサーバに対しアクセス可能とした情報システム及びその認証状態管理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するためにこの発明の１つの観点は、各々データを保存する複数のサーバが連携して動作しかつ外部システムとの間でネットワークを介して通信可能な情報システムにあって、情報システムと外部システムとの間で真正性が担保されたシステム識別情報を予め保持しておき、外部システムから当該外部システムのシステム識別情報を含む最初のデータ操作要求が送られた場合に、当該データ操作要求に含まれるシステム識別情報を上記保持されているシステム識別情報と照合することにより擬似的な認証処理を実行し、この擬似的な認証処理により上記要求元の外部システムの正当性が確認された場合に、その認証結果を表す認証状態識別子を発行する。そして、この発行された認証状態識別子を保存し、当該認証状態識別子の有効期間内に上記外部システムから２回目以降のデータ操作要求が送られた場合に、当該データ操作要求に応じて起動されたスレッドに対し上記保存されている認証状態識別子を割り当て、この割り当てられた認証状態識別子を上記外部システムから送られたデータ操作要求と共にデータ操作先となるサーバに与えることで、当該サーバに保存されているデータに対し操作を実行させるようにしたものである。
さらにこの発明の第１の観点は、認証状態識別子を割り当てる際に、１つの外部システムに対し発行される認証状態識別子の数に上限値を設定し、同一の外部システムからのデータ操作要求に応じて複数のスレッドが用意された場合には、これらのスレッドに対し上記設定された上限値を超えない範囲で上記認証状態識別子を割り当てるようにしたものである。
【００１０】
したがって、情報システムと外部システムとの間で真正性が担保されたシステム識別情報を予め定義したことで、ＩＤ／パスワードやＩＣカード等を用いた個人用の認証手順を使用できない外部システムからのアクセスに対しても、当該システム識別情報を担保にして擬似的な認証処理を行うことが可能となる。また、この擬似的な認証処理により発行された認証状態識別子を保存し、以後同一の外部システムからデータ操作要求が送られた場合に、上記保存されている認証状態識別子をスレッドに割り当ててデータ操作を実行することで、シングルサインオンと同一の仕組みで認証状態を管理することができる。
さらに、スレッドに対し予め設定された上限値を超えない範囲で認証状態識別子が割り当てられるので、１つの外部システムが同時に使用可能なスレッド数が制限されることになる。このため、１つの外部システムにより情報システムが占有される不具合を防止して、複数の外部システムからのデータ操作要求に対し外部システム間の公平性を保つことが可能となる。
【００１１】
また、この発明の１つの観点は以下のような態様を備えることも特徴とする。  
第１の態様は、上記割り当てられた認証状態識別子が有効か無効かを判定し、無効と判定された場合には上記擬似的な認証処理を再度実行して新たな認証状態識別子を発行するようにしたものである。  
このようにすれば、認証状態識別子に有効期限などの付加的な認証条件を設定することが可能となり、これにより認証状態識別子の信頼性をさらに高めることが可能となる。
【発明の効果】
【００１３】
すなわちこの発明によれば、個人用の認証手順を使用できない外部システムからのアクセスに対しても認証処理が適切に行われるようにし、かつ１回の認証処理により複数のサーバに対しアクセス可能とした情報システム及びその認証状態管理方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】この発明の第１の実施形態に係る情報システムと外部システムの機能構成を示すブロック図。
【図２】図１に示した情報システムにおける認証状態管理の処理手順とその処理内容を示すフローチャート。
【図３】図１に示した情報システムの中継サーバによる認証状態管理処理の内容を説明するための図。
【図４】この発明の第２の実施形態に係る情報システムとこの情報システムに対しアクセスする外部システムの機能構成を示すブロック図。
【図５】図４に示した情報システムの中継サーバによる認証状態管理処理の内容を説明するための図。
【発明を実施するための形態】
【００１５】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
［第１の実施形態］
（構成）
図１は、この発明の第１の実施形態に係る情報システムと外部システムの機能構成を示すブロック図である。情報システムＳＳと外部システムＥＳは、ネットワークＮＷを介して通信可能となっている。ネットワークＮＷとしてはＩＰ（Internet Protocol）網が用いられる。
【００１６】
情報システムＳＳは、何れもＷｅｂサーバからなる複数のサービスサーバＳＶＳ、中継サーバＳＶＲ及び認証サーバＳＶＡ１を備えている。なお、図１では図示の簡単のためサービスサーバＳＶＳは１つのみ示している。  
複数のサービスサーバＳＶＳは何れもデータの操作先となるサーバであり、個人情報等のデータを記憶する操作先データ記憶部４２と、この操作先データ記憶部４２に対するデータの登録、変更及び削除を行うデータ操作部４１を有している。
【００１７】
中継サーバＳＶＲは、認証状態保持部２２と、データ操作中継部２１を備えている。
データ操作中継部２１は以下の処理機能を有する。  
(1) 外部システムＥＳから送信されたデータ操作要求を受信した場合に、当該データ操作要求に含まれるシステム識別情報をもとに要求元の外部システムＥＳを確認したのちスレッドを用意し、認証状態保持部２２に対し認証結果を表す認証状態識別子の割り当てを要求する処理。
【００１８】
(2) 上記割り当て要求に対し認証状態保持部２２から認証状態識別子が割り当てられた場合に、当該認証状態識別子をもとに認証状態が認証済でかつ有効期限内であるか否かを判定する処理。
【００１９】
(3) 認証状態が認証済でかつ有効期限内であると判定された場合には、上記用意しておいたスレッドに上記認証状態識別子を割り当てて当該スレッドを起動し、先に受信したデータ操作要求を上記認証状態識別子と共にサービスサーバＳＶＳへ転送し、データ操作を実行させる処理。
【００２０】
(4) 認証状態が未認証又は有効期限切れであると判定された場合には、認証サーバＳＶＡ１に対し擬似的な認証を要求して新たな認証状態識別子を受け取り、この受け取った新たな認証状態識別子を認証状態保持部２２に保存させる。そして、上記用意しておいたスレッドに上記新たな認証状態識別子を割り当てて当該スレッドを起動し、先に受信したデータ操作要求と共にサービスサーバＳＶＳへ転送し、データ操作を実行させる処理。
【００２１】
認証状態保持部２２は、上記データ操作中継部２１から転送された認証状態識別子をメモリに保存する。そして、上記データ操作中継部２１から認証状態識別子の割り当て要求が送られた場合に、上記保存されている認証状態識別子を予め定められた数を上限として割り当てを行う。
【００２２】
認証サーバＳＶＡ１は、認証データ記憶部３２と、擬似認証部３１を有している。  
認証データ記憶部３２には、システム利用者及び外部システムＥＳの認証を行うために必要な情報が予め記憶されている。システム利用者の認証を行うために必要な情報としては、例えばシステム利用者のＩＤ及びパスワードが用いられる。また、外部システムＥＳの認証を行うために必要な情報としては、外部システムＥＳのシステム識別情報が用いられる。このシステム識別情報は、技術的又は運用対処により外部システムを一意に示すことが担保された情報であり、例えばＩＰアドレスやサーバ証明書が使用される。
【００２３】
擬似認証部３１は、上記中継サーバＳＶＲから外部システムＥＳについての認証要求が送られた場合に、この認証要求に含まれるシステム識別情報を上記認証データ記憶部３２に記憶されたシステム識別情報と照合することにより擬似的な認証処理を行う。そして、外部システムＥＳの正当性が確認された場合に、当該外部システムＥＳ用の認証状態識別子を発行して要求元の中継サーバＳＶＲに返送する処理を行う。認証状態識別子としては、例えばCookieが用いられる。
【００２４】
外部システムＥＳは、例えば自治体が所有するＷｅｂサーバからなり、データ操作要求部１１と、操作元データ記憶部１２を備えている。  
操作元データ記憶部１２には、情報システムＳＳに登録すべき個人情報等のデータが記憶されている。データ操作要求部１１は、例えば定期的又はオペレータの操作に応じて、上記操作元データ記憶部１２に記憶されたデータをもとに、当該データの操作要求を情報システムＳＳへ送信する処理を行う。このとき、データ操作要求には外部システムＥＳのシステム識別情報を付加する。
【００２５】
（動作）
次に、以上のように構成された情報システムによる認証状態管理動作を説明する。図２はその処理手順と処理内容を示すフローチャートである。  
なお、ここでは自治体等のように独立して個人情報を取り扱う組織が、自己が運用する外部システムＥＳを用いて情報システムＳＳに対しデータ操作を要求し、これにより情報システム内のサービスサーバに対しユーザデータの登録、更新又は削除を行う場合を例にとって説明を行う。
【００２６】
情報システムＳＳにおける認証サーバＳＶＡ１の認証データ記憶部３２には、当該情報システムＳＳと外部システムＥＳとの間で真正性が担保されたシステム識別情報、例えば外部システムＥＳのＩＰアドレスやサーバ証明書が保存される。なお、図１では図示の簡単化のため外部システムＥＳを１つしか図示していないが、実際には複数の外部システムが存在する。この場合、認証データ記憶部３２には、上記複数の外部システムのそれぞれについてそのシステム識別情報が保存される。
【００２７】
外部システムＥＳがデータ操作要求を送信すると、このデータ操作要求は情報システムＳＳの中継サーバＳＶＲにより受信される。中継サーバＳＶＲは、データ操作中継部２１の制御の下、先ず上記受信されたデータ操作要求に含まれるシステム識別情報、例えばＩＰアドレスやサーバ証明書をもとに要求元の外部システムＥＳを確認する（ステップＳ１）。そして、その確認結果に基づいて、要求元の外部システムＥＳに対応するスレッドをステップＳ２で用意し、認証状態保持部２２に対し認証状態識別子の割り当てを要求する。
【００２８】
認証状態保持部２２は、上記割り当て要求を受け取ると、先ず当該割り当て要求に含まれるシステム識別情報をもとに該当する外部システムＥＳに対応する認証状態識別子（例えばcookie）を選択し、この認証状態識別子の割り当て数が既に予め設定された上限値に達しているか否かをステップＳ３で判定する。この判定の結果、認証状態識別子の割り当て数が上限値に達していなければ、保存されている認証状態識別子を１つ読み出して要求元のデータ操作中継部２１に返送する（ステップＳ４）。なお、割り当て済（使用中）の認証状態識別子の数が上限値に達している場合には、使用中の認証状態識別子が解放されるまで待機する。
【００２９】
データ操作中継部２１は、上記認証状態保持部２２から返送された認証状態識別子に記載された認証状態をもとに、当該認証状態識別子が認証済でかつ有効期間中であるか否かを判定する。そして、認証状態が認証済でかつ有効期間中であれば、上記用意しておいたスレッドを起動し、先に外部システムＥＳから受信されたデータ操作要求に当該認証状態識別子を付加して、このデータ操作要求及び認証状態識別子を操作先となる各サービスサーバＳＶＳへ転送する。
【００３０】
以上の認証状態保持部２２及びデータ操作中継部２１の動作をより具体的に説明する。図３はこの動作を示す図である。いま、外部システムＥＳに対し５つのスレッドＴＨ１〜ＴＨ５が用意され、かつ認証状態識別子として最大４個のCookieＣ１〜Ｃ４が割り当て可能であるとする。この場合、スレッドＴＨ１〜ＴＨ４に対しては、その起動順に上記保存中のCookieが１つずつ選択されて割り当てられ、この結果スレッドＴＨ１〜ＴＨ４は起動する。しかし、スレッドＴＨ５に対しては、既に外部システムＥＳ用のCookieＣ１〜Ｃ４が全て割り当て済であるため割り当てが行われない。このため、スレッドＴＨ５は起動しない。  
データ操作中継部２１は、上記起動されたスレッドＴＨ１〜ＴＨ４を用いて、それぞれ異なるサービスサーバＳＶＳに対しデータ操作要求及び認証状態識別子を転送する。
【００３１】
一方、認証状態保持部２２に外部システムＥＳ用の認証状態識別子（Cookie）がまだ保存されていないか、或いは保存されていても当該認証状態識別子（Cookie）に記載された認証状態が未認証或いは有効期限切れだったとする。この場合データ操作中継部２１は、図２に示すように認証サーバＳＶＡ１に対し認証要求を送る。この認証要求には、外部システムＥＳのシステム識別情報を含める。
【００３２】
上記認証要求受け取ると認証サーバＳＶＡ１は、擬似認証部３１の制御の下で、ステップＳ６において、上記受け取った認証要求に含まれるシステム識別情報を認証データ記憶部３２に予め記憶されているシステム識別情報と照合することにより認証を行う。すなわち、情報システムＳＳと外部システムＥＳとの間で真正性が保証されたシステム識別情報を担保にして、外部システムＥＳに対する擬似的な認証処理が行われる。そして、この擬似的な認証処理により外部システムＥＳの正当性が確認された場合に、当該外部システムＥＳ用の認証状態識別子（Cookie）を再発行して要求元の中継サーバＳＶＲに返送する。
【００３３】
中継サーバＳＶＲのデータ操作中継部２１は、上記返送された認証状態識別子（Cookie）を認証状態保持部２２に保存させると共に、当該再発行された認証状態識別子（Cookie）を外部システムＥＳから受信されたデータ操作要求に付加し、操作先となるサービスサーバＳＶＳへ転送する。
【００３４】
サービスサーバＳＶＳは、上記中継サーバＳＶＲからデータ操作要求が送られると、当該データ操作要求と共に送られた認証状態識別子（Cookie）をもとに、当該データ操作要求が承認されたものか否かをステップＳ７で判定し、承認されたものであればステップＳ８において上記データ操作要求の指示内容に従い操作先データ記憶部４２に対しユーザデータの登録、変更又は削除を行う。そして、データ操作が終了すると、その操作結果を表す情報を中継サーバＳＶＲに返送する。
【００３５】
中継サーバＳＶＲは、上記操作結果を表す情報を受信すると、データ操作中継部２１の制御の下で、ステップＳ８において上記データ操作に対応するスレッドを終了すると共に、当該スレッドに割り当てられていた認証状態識別子（Cookie）を認証状態保持部２２に返却する。認証状態保持部２２は、この返却された認証状態識別子（Cookie）を空きの認証状態識別子として保存する。また、上記操作結果を表す情報はデータ操作中継部２１からネットワークＮＷを介して要求元の外部システムＥＳへ返送される。
【００３６】
（第１の実施形態の効果）
以上詳述したように第１の実施形態では、認証サーバＳＶＡ１において、情報システムＳＳと外部システムＥＳとの間で真正性が保証されたシステム識別情報を担保にして外部システムＥＳに対する擬似的な認証処理を行い、その認証結果を表す認証状態識別子（Cookie）を発行する。そして、中継サーバＳＶＲにおいて、外部システムＥＳから送信されたデータ操作要求を受信した場合に、スレッドを用意し、認証状態保持部２２で保持されている外部システムＥＳ用の認証状態識別子（Cookie）を、認証済でかつ有効期限内であるかどうかを確認したのち上記スレッドに割り当てることで当該スレッドを起動し、上記データ操作要求を当該認証状態識別子（Cookie）と共にサービスサーバＳＶＳへ転送してデータ操作を実行させるようにしている。
【００３７】
したがって、ＩＤ／パスワードやＩＣカード等を用いた個人用の認証手順を使用できない外部システムＥＳからのアクセスに対しても、当該システム識別情報を担保にして擬似的な認証処理を行うことが可能となる。また、この擬似的な認証処理により発行された認証状態識別子（Cookie）を保存し、以後同一の外部システムＥＳからデータ操作要求が送られた場合に、上記保存されている認証状態識別子（Cookie）をスレッドに割り当ててデータ操作を実行することで、シングルサインオンと同一の仕組みで認証状態を管理することができる。
【００３８】
また、認証状態保持部２２に外部システムＥＳ用の認証状態識別子（Cookie）がまだ保存されていない場合や、保存されていても当該認証状態識別子（Cookie）に記載された認証状態が未認証或いは有効期限切れだった場合には、認証サーバＳＶＡ１において上記擬似的な認証を行って認証状態識別子を再発行するようにしている。したがって、認証状態識別子に有効期限等の付加的な認証条件を設定することが可能となり、これにより認証状態識別子の信頼性をさらに高めることが可能となる。
【００３９】
さらに、認証状態識別子（Cookie）を割り当てる際に、１つの外部システムＥＳに対し割り当てる認証状態識別子の数に上限値を設定し、同一の外部システムＥＳからのデータ操作要求に応じて複数のスレッドが起動された場合には、これらのスレッドに対し上記設定された上限値を超えない範囲で認証状態識別子（Cookie）を割り当てるようにしている。
【００４０】
このようにすると、１つの外部システムＥＳが同時に使用可能なスレッド数が制限されることになり、その結果１つの外部システムＥＳにより情報システムＳＳに対するアクセスが占有される不具合は防止される。
【００４１】
［第２の実施形態］
図４は、この発明の第２の実施形態に係る情報システムとこの情報システムに対しアクセスする外部システムの機能構成を示すブロック図である。なお、同図において前記図１と同一部分には同一符号を付して詳しい説明は省略する。
【００４２】
情報システムＳＳには、複数（同図では２つの場合を例示）の外部システムＥＳ１，ＥＳ２がネットワークＮＷを介して接続可能となっている。また情報システムＳＳには、当該システムの運用担当者が使用する運用担当者端末ＭＴがネットワークＮＷを介して、或いは直接接続可能となっている。
【００４３】
外部システムＥＳ１，ＥＳ２は、例えば異なる自治体或いは１つの自治体の異なる部署が運用するＷｅｂサーバからなり、それぞれデータ操作要求部１１１，１１２と、操作元データ記憶部１２１，１２２を備えている。これらのデータ操作要求部１１１，１１２及び操作元データ記憶部１２１，１２２の機能は、図１で述べたデータ操作要求部１１及び操作元データ記憶部１２と同じである。
【００４４】
一方、情報システムＳＳの認証サーバＳＶＡ２は、擬似認証部３１及び認証データ記憶部３２に加え、正規の認証部３３を備えている。  
正規の認証部３３は、運用担当者端末ＭＴから送信された運用担当者のＩＤ及びパスワードを含む認証要求が、中継サーバＳＶＲのデータ操作中継部２１から転送された場合に、この認証要求に含まれるＩＤ及びパスワードを上記認証データ記憶部３２に記憶されたＩＤ及びパスワードと照合することにより運用担当者の認証を行う。そして、運用担当者の正当性が確認された場合に、当該運用担当者用の認証状態識別子を発行する。この場合も認証状態識別子としてはCookieが用いられる。上記発行された認証状態識別子（Cookie）は、運用担当者端末ＭＴ上のブラウザに格納される。
【００４５】
中継サーバＳＶＲの認証状態保持部２２は、複数の外部システムＥＳ１，ＥＳ２の各々に対し認証状態識別子の割り当て上限数を設定している。そして、外部システムＥＳ１，ＥＳ２ごとに、上記設定された上限数を超えないように認証状態識別子の割り当てを行っている。
【００４６】
次に、以上のように構成された情報システムＳＳによる認証状態の管理動作を説明する。図５はその動作内容を説明するための図である。  
例えば、外部システムＥＳ１，ＥＳ２がそれぞれ使用可能な認証状態識別子（Cookie）の上限数を“３”、中継サーバＳＶＲで起動可能なスレッド数を“４”に設定したとする。この状態で、いま外部システムＥＳ１からデータ操作要求が到来し、この要求に応じて中継サーバＳＶＲのデータ操作中継部２１が４個のスレッドＴＨ１〜ＴＨ４を起動しようとしたとする。しかし、このとき中継サーバＳＶＲの認証状態保持部２２は、外部システムＥＳ１が使用可能なCookieの上限数が“３”に設定されているため、上記４個のスレッドＴＨ１〜ＴＨ４のうちの３個のスレッドＴＨ１〜ＴＨ３に対してのみ、上記外部システムＥＳ１用の３個の CookieＣ１−１〜Ｃ１−３を割り当てる。この結果、上記４個のスレッドＴＨ１〜ＴＨ４のうち３個のスレッドＴＨ１〜ＴＨ３のみが起動する。
【００４７】
なお、この割り当てに際しデータ操作中継部２１は、CookieＣ１−１〜Ｃ１−３ごとに当該Cookieに記載された認証状態を表す情報により上記CookieＣ１−１〜Ｃ１−３が認証済でかつ有効期限内であるか否かを判定する。そして、認証済でかつ有効期限内であると判定された場合にのみ、当該CookieＣ１−１〜Ｃ１−３をスレッドＴＨ１〜ＴＨ３に割り当てる。
【００４８】
また、この状態で外部システムＥＳ２からデータ操作要求が到来したとする。そうすると、中継サーバＳＶＲのデータ操作中継部２１は、中継サーバＳＶＲで起動可能なスレッド数の上限値が“４”に設定され、このうちの３個が既に上記外部システムＥＳ１用として起動しているため、残りの１個のスレッドＴＨ４を上記外部システムＥＳ２用として用意する。そして、認証状態保持部２２が、外部システムＥＳ２が使用可能なCookieＣ２−１〜Ｃ２−３のうちの１つを上記データ操作中継部２１に通知し、データ操作中継部２１がこの通知されたCookieＣ２−１を、当該CookieＣ２−１に記載された認証状態により認証済でかつ有効期限内であることを確認したのち、上記起動されたスレッドＴＨ４に割り当てる。この結果、上記スレッドＴＨ４は上記外部システムＥＳ２用として起動する。
【００４９】
一方、運用担当者が自身の端末ＭＴを使用して情報システムＳＳのデータ操作を行う場合には、データ操作要求に担当者ＩＤとパスワードを含めて送信する。そうすると情報システムＳＳでは、上記データ操作要求に含まれる担当者ＩＤ及びパスワードが中継サーバＳＶＲから認証サーバＳＶＡに転送される。
【００５０】
認証サーバＳＶＡでは、正規の認証部３３により、上記運用担当者端末ＭＴから送信された運用担当者のＩＤ及びパスワードが認証データ記憶部３２に記憶されたＩＤ及びパスワードと照合され、これにより運用担当者の認証が行われる。そして、運用担当者の正当性が確認されると、当該運用担当者用の認証状態識別子（Cookie）が発行され、この認証状態識別子（Cookie）が運用担当者端末ＭＴ上のブラウザに格納される。
【００５１】
したがって、以後運用担当者端末ＭＴにおいて情報システムＳＳ内のサービスサーバＳＶＳまたは他のサーバに対するデータ操作が行われると、当該運用担当者端末ＭＴからは上記データ操作の要求とブラウザに格納されている認証状態識別子（Cookie）が情報システムＳＳへ送信される。これに対し情報システムＳＳでは、上記データ操作要求及び認証状態識別子（Cookie）は中継サーバＳＶＲを経由することなくアクセス先のサービスサーバＳＶＳに対し直接転送される。このデータ操作要求を受信するとサービスサーバＳＶＳは、認証サーバＳＶＡに対し認証状態識別子（Cookie）の問い合わせを行い、この結果受信した認証状態識別子（Cookie）と認証サーバＳＶＡで管理されている認証状態識別子（Cookie）とが対応すれば、データ操作を実行する。そして、その操作結果を表す情報を要求元の運用担当者端末ＭＴに返送する。
【００５２】
なお、情報システムＳＳ内に複数のサービスサーバが存在し、運用担当者端末ＭＴから上記複数のサービスサーバに対しデータ操作要求が送られた場合には、これらのサービスサーバはそれぞれ認証サーバＳＶＡとの間で認証状態識別子（Cookie）の承認処理を行い、承認されれば要求内容に応じてデータ操作を実行し、その結果を表す情報を要求元の運用担当者端末ＭＴに返送する。すなわち、運用担当者は情報システムＳＳ内の複数のサービスサーバに対しそれぞれ認証手順を実行することなく、かつ並行してデータ操作を行うことができる。
【００５３】
以上述べたように第２の実施形態によれば、外部システムＥＳ１，ＥＳ２からのデータ操作要求に対し、中継サーバＳＶＲが同時に起動可能なスレッド数（４個）の範囲でスレッドが起動し、かつこの起動したスレッドに対し予め設定されたCookieの割り当て数の上限（３個）を超えないようにCookieが割り当てられる。このため、外部システムＥＳ１，ＥＳ２ごとに、同時に使用可能なスレッド数がCookieの上限数により制限され、１つの外部システムが全てのスレッドを占有する不具合は防止される。したがって、情報システムＳＳに対しデータ操作を行う際の、外部システムＥＳ１，ＥＳ２間の公平性を最低限保つことが可能となる。
【００５４】
［他の実施形態］
前記各実施形態では情報システムＳＳに１つのサービスサーバＳＶＳが配置された場合を例にとって説明したが、複数のサービスサーバが配置されている場合でもこの発明を適用可能である。また、中継サーバＳＶＲが起動可能なスレッド数及び１つの外部システムＥＳ１，ＥＳ２に対し割り当てられる認証状態識別子の上限数については、それぞれ“４”、“３”に限らず、スレッド数の上限数より認証状態識別子の上限数が小さければ、それ以外の数に設定してもよい。
【００５５】
その他、情報システムや外部システムの構成、情報システムによる認証状態管理の処理手順とその処理内容、操作対象となるデータの種類、ネットワークの種類等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００５６】
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００５７】
ＳＳ…情報システム、ＥＳ…外部システム、ＮＷ…ネットワーク、ＳＶＲ…中継サーバ、ＳＶＡ１，ＳＶＡ２…認証サーバ、ＳＶＳ…サービスサーバ（操作先サーバ）、１１…データ操作要求部、１２…操作元データ記憶部、２１…データ操作中継部、２２…認証状態保持部、３１…疑似認証部、３２…認証データ記憶部、３３…認証部、４１…データ操作部、４２…操作先データ記憶部。
【図１】
0005478591.tif 000002
【図２】
0005478591.tif 000003
【図３】
0005478591.tif 000004
【図４】
0005478591.tif 000005
【図５】
0005478591.tif 000006