(57)【要約】【課題】  本発明の課題は、複数のアプリケーションプログラムに対してセキュリティ機能を統一して供給するセキュリティ確保支援プログラムを提供することを目的とする。【解決手段】  本発明の課題は、ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するプログラムであって、前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、改ざん検知可能な認証結果を生成する認証結果生成手順と、前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なプログラムによって達成される。【選択図】  図２
2005149121.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、
前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、
改ざん検知可能な認証結果を生成する認証結果生成手順と、
前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項２】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、
前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムへのアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項３】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、
前記アクセス制御判断要求の要求元が正当なシステムであるかどうかを判定する手順と、
前記要求元が正当なシステムである場合にのみ前記アクセス制御判断要求に基づいてアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項４】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断受付手順と、
前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムに対するアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による判断結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する判断結果応答手順と、
前記アクセス制御判断要求の内容と前記判断結果とをログとして記録するログ記録手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項５】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてログ記録要求を受け付けるログ記録要求受付手順と、
前記ログ記録要求に基づいてログを記録するログ記録手順と、
前記ログ記録手順によって記録した結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する記録結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項６】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてログ記録要求を受け付けるログ記録受付手順と、
前記ログ記録要求を送ってきた要求元が正当なシステムであるかどうかを判定する正当性判定手順と、
前記要求元が正当なシステムである場合にのみログ記録要求に基づいてログを記録するログ記録手順と、
記録した結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する記録結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項７】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、
前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、
改ざん検知可能な認証結果を生成する認証結果生成手順と、
前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順と、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、
前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムへのアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項８】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、
前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、
改ざん検知可能な認証結果を生成する認証結果生成手順と、
前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順と、
前記ネットワーク経由で遠隔操作呼び出しの要求としてログ記録要求を受け付けるログ記録要求受付手順と、
前記ログ記録要求に基づいてログを記録するログ記録手順と、
前記ログ記録手順によって記録した結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する記録結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項９】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、
前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムへのアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順と
前記ネットワーク経由で遠隔操作呼び出しの要求としてログ記録要求を受け付けるログ記録要求受付手順と、
前記ログ記録要求に基づいてログを記録するログ記録手順と、
前記ログ記録手順によって記録した結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する記録結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項１０】
ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、
前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、
前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、
改ざん検知可能な認証結果を生成する認証結果生成手順と、
前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順と、
前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、
前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムへのアクセスの許可又は不許可を判断するアクセス判断手順と、
前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順と
前記ネットワーク経由で遠隔操作呼び出しの要求としてログ記録要求を受け付けるログ記録要求受付手順と、
前記ログ記録要求に基づいてログを記録するログ記録手順と、
前記ログ記録手順によって記録した結果を遠隔操作呼び出しの応答としてネットワーク経由で返却する記録結果応答手順とをコンピュータに実行させる特徴とするコンピュータ実行可能なセキュリティ確保支援プログラム。
【請求項１１】
請求項１乃至１０のいずれか一項記載のセキュリティ確保支援プログラムにおいて、
前記ネットワーク経由で行う前記遠隔操作呼び出しが、少なくともＲＰＣ、Ｊａｖａ（登録商標）ＲＭＩ、ＩＩＯＰ、ＤＣＯＭ、ＳＯＡＰのいずれかのプロトコルによって実行可能であることを特徴とするセキュリティ確保支援プログラム。
【請求項１２】
請求項１乃至１０のいずれか一項記載のセキュリティ確保支援プログラムを実行することを特徴とするサーバ装置。
【請求項１３】
請求項１乃至１０のいずれか一項記載のセキュリティ確保支援プログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項１４】
ネットワークに接続されたコンピュータで動作するアプリケーションプログラムであって、
ユーザから認証データを受け取る手順と，
受け取った認証データを用いたユーザ認証要求をネットワーク経由で遠隔操作呼び出しする手順と、
その遠隔操作呼び出しの応答を受け取って認証結果を取得する手順と、
前記ユーザから前記アプリケーションプログラムの管理する情報資産へのアクセス要求を受け取る手順と、
前記アクセス要求に対する許可を問い合わせるアクセス制御判断要求を前記ネットワーク経由で遠隔操作呼び出しする手順と、
前記遠隔操作呼び出しの応答を受け取ってアクセス制御判断結果を取得する手順と、
前記アクセス制御判断結果に基づいて前記情報資産へのアクセスを制御する手順と、
前記アクセスのログを記録する要求を前記ネットワーク経由で遠隔操作呼び出しする手順とを上記コンピュータに実行させることによって、セキュリティを確保できるようにしたことを特徴とするアプリケーションプログラム。
【請求項１５】
請求項１４に記載のアプリケーションプログラムにおいて、
前記ネットワーク経由で行う前記遠隔操作呼び出しが、少なくともＲＰＣ、Ｊａｖａ（登録商標）  ＲＭＩ、ＩＩＯＰ、ＤＣＯＭ、ＳＯＡＰのいずれかのプロトコルによって実行可能でることを特徴とするアプリケーションプログラム。
【請求項１６】
請求項１４又は１５に記載のアプリケーションプログラムを実行するサーバ装置。
【請求項１７】
請求項１４又は１５に記載のアプリケーションプログラムを記録した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションプログラムに対するセキュリティ機能を統一して供給するセキュリティ確保支援プログラムを提供するものである。
【背景技術】
【０００２】
他のコンピュータにあるデータやサービスを呼び出すためのプロトコルとして
Simple Object Access Protocol（ＳＯＡＰ）が開発され、最近ではＨＴＴＰ（Hypertext Transfer Protocol）プロトコル上でＸＭＬにより記述された分散オブジェクトアクセスのためのプロトコルをやり取りする基盤が整いつつある。
【０００３】
ＳＯＡＰでアクセスできるネットワーク上のサービスは、最近ではＷｅｂサービスと呼ばれることが多い。このＷｅｂサービスに関して、Web Services Security（WS-Security）としてセキュリティ規約が検討され始めている。この検討されているＷｅｂサービスのセキュリティは基本的にＷｅｂサービスとセキュアなＳＯＡＰメッセージ交換を行えるようにするためのものである。
【０００４】
Ｗｅｂサービスは様々なアプリケーションプログラムからインターネット（イントラネット）経由で利用されることを想定したサーバプログラムであり、アプリケーションプログラムはセキュリティを確保するためにユーザ認証、アクセス制御、ログ記録を行うのが一般的である。標準的にはこの3つの機能が必要となる。
【０００５】
セキュアなＷｅｂサービスを実現するために、クライアントのアクセス権限をトークンという形でパッケージ化してクライアントに渡しておき、クライアントから提示されたトークンを確認することによりサーバでアクセス制御を行う技術が提案されている（例えば、特許文献１）。
【特許文献１】特開２００３−２２２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、サーバにおける管理コストを低減するのに役立つが、サーバアプリケーションのセキュリティを確保するためにはこの従来技術にあるような仕組みをサーバアプリケーションに組み込まなければならない。
【０００７】
システム全体のセキュリティを確保するという観点において、上記３つの機能は各アプリケーションプログラムにとって必要なセキュリティ機能であるため、セキュリティの一貫性をとるためにも共通に利用できるＷｅｂサービスとしてセキュリティ機能が提供さることが望ましい。しかしながら、上記従来技術では、他のサーバアプリケーションとその仕組みを共有することができないため、複数のアプリケーションプログラムのセキュリティ機能を統一的に供給する、ということができない。
【０００８】
そこで、本発明の課題は、複数のアプリケーションプログラムのセキュリティ機能を統一して供給するセキュリティ確保支援プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、請求項１に記載されるように、ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、前記ネットワーク経由で遠隔操作呼び出しの要求としてユーザ認証要求を受け付けるユーザ認証要求受付手順と、前記ユーザ認証要求に基づいて前記外部のアプリケーションプログラムを利用するユーザを認証するユーザ認証手順と、改ざん検知可能な認証結果を生成する認証結果生成手順と、前記認証結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する認証結果応答手順とをコンピュータに実行させるように構成される。
【００１０】
このようなセキュリティ確保支援プログラムでは、外部のアプリケーションに対するセキュリティを一貫性をもって実現することができる。
【００１１】
また、本発明は、請求項２に記載されるように、ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、前記アクセス制御判断要求に基づいて前記外部のアプリケーションプログラムへのアクセスの許可又は不許可を判断するアクセス判断手順と、前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順とをコンピュータに実行させるように構成される。
【００１２】
このようなセキュリティ確保支援プログラムでは、外部のアプリケーションに対するセキュリティを一貫性をもって実現することができる。
【００１３】
更に、本発明は、請求項３に記載されるように、ネットワーク経由で外部のアプリケーションプログラムのセキュリティ確保を支援するセキュリティ確保支援プログラムであって、前記ネットワーク経由で遠隔操作呼び出しの要求としてアクセス制御判断要求を受け付けるアクセス制御判断要求受付手順と、前記アクセス制御判断要求の要求元が正当なシステムであるかどうかを判定する手順と、前記要求元が正当なシステムである場合にのみ前記アクセス制御判断要求に基づいてアクセスの許可又は不許可を判断するアクセス判断手順と、前記アクセス判断手順による前記判断結果を遠隔操作呼び出しの応答として前記ネットワーク経由で返却する判断結果応答手順とをコンピュータに実行させるように構成される。
【００１４】
このようなセキュリティ確保支援プログラムでは、不栄な利用者による大量なログの記録などによってセキュリティが保たれなくなる問題を防止することができる。従って、外部のアプリケーションに対するセキュリティを一貫性をもって実現することができる。
【００１５】
上記課題を解決するための手段として、本発明は、上記セキュリティ確保支援プログラムを実行するサーバ装置及び上記セキュリティ確保支援プログラムを記録した記録媒体とすることもできる。
【発明の効果】
【００１６】
本発明によれば、アプリケーションプログラムにとって必要なセキュリティ機能を、一貫性をもって共通に利用できるＷｅｂサービスとして提供することができる。このＷｅｂサービスを利用することで、アプリケーションプログラムは標準的なセキュリティの確保を容易に行うことができ、複数のアプリケーションから共通に利用することにより、アプリケーション間で整合の取れたセキュリティ確保ができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１８】
図１は、システム構成を示す図である。図１において、システム１は、ユーザ２によって使用されるクライアント端末３と、複数のサーバ１０と、セキュリティサーバ３０とを有し、ネットワーク９によって接続される。クライアント端末３は、複数接続されていても良い。また、複数のサーバ１０として、例えば、サーバＡ１１、サーバＢ１２、サーバＣ１３、・・・がネットワーク９に接続される。サーバＡ１１はアプリケーションプログラムＡ２１、サーバＢ１２はアプリケーションプログラムＢ２２、サーバＣ１３はアプリケーションプログラムＣ２３を有する。以下、アプリケーションプログラムＡ２１、アプリケーションプログラムＢ２２、アプリケーションプログラムＣ２３を総称してアプリケーションプログラム２０と言う。
【００１９】
セキュリティサーバ３０は、ユーザ２を認証するユーザ認証サービス処理部３１と、アクセス制御を判断するアクセス制御判断サービス処理部３２と、ログを管理するログ管理サービス処理部３３とを有する。
【００２０】
このようなシステム１では、通信制御を例えばＳＯＡＰ（Simple Object Access Protocol）に従って行い、セキュリティサーバ３０の各処理部３１、３２及び３３による実行はＷｅｂサービスとして提供される。
【００２１】
各アプリケーションプログラム２０が、セキュリティサーバ３０に対して、ユーザ２の認証を要求するユーザ認証要求、ユーザ２のアプリケーションプログラム２０に対するアクセス制御の判断を要求するアクセス制御判断要求、又は、ログの記録を要求するログ記録要求を送ると、セキュリティサーバは、その要求を処理した結果をアプリケーションプログラム２０に返す。各アプリケーションプログラム２０は、受け取った結果に基づいてセキュリティ保護しなければならない資産のアクセスをコントロールすると同時に、ログにより後で監査できるようにして、セキュリティを確保する。
【００２２】
このようなアクセス制御は、ユーザ２が各サーバ１０にて直接アプリケーションプログラム２０をアクセスする場合であっても、ユーザ２がネットワーク９を介してクライアント端末３からアクセスする場合であっても同様に実行される。
【００２３】
以下に、システム１において、ユーザ２と、アプリケーションプログラム２０と、セキュリティサーバ３０と実行される処理シーケンスについて図２で説明する。
【００２４】
図２は、システムで実行される処理シーケンスを説明する図である。図２中、呼び出し関係をメソッド名で示している。これらのメソッドをＳＯＡＰにて呼び出し可能なＷｅｂサービスメソッドとして実現すればよい。
【００２５】
図２において、セキュリティサーバ３０のユーザ認証サービス処理部３１は、自身の認証チケット「authTicket」を作成し、「sysLogSession=startSession(authTicket)」による呼び出しによって、ログ管理サービス処理部３３とのセッションを確立する初期処理を行う（ステップＳ１１）。ユーザ認証サービス処理部３１は、ログ管理サービス処理部３３からセッションＩＤ「sysLogSession」を取得する。
【００２６】
セキュリティサーバ３０のログ管理サービス処理部３３は、ユーザ認証サービス処理部３１に対して、「valid=checkticket(authTicket)」による呼び出しを行い、受信した認証チケット「authTicket」が正当な認証チケットであるか否かを問い合わせる（ステップＳ１２）。ユーザ認証サービス処理部３１は、通知された認証チケットの正当性を判断して、その判断結果「valid」を返す。
【００２７】
ネットワーク９を介して、アプリケーションプログラム２０が、「appTicket=authenticate(appSys01,pwdAppSys()」による呼び出しによって、ユーザ認証サービス処理部３１へチケットの発行を要求する（ステップＳ１３）。アプリケーションプログラム２０は、ユーザ認証サービス処理部３１からチケット「appTicket」を取得する。、ユーザ認証サービス処理部３１は、この認証に関するログの記録を「writeLog(sysLogSession,authLog1)」による呼び出しによって、ログ管理サービス処理部３３へ要求する（ステップＳ１４）。ログ管理サービス処理部３３は、認証に関するログの記録を行う。
【００２８】
アプリケーションプログラム２０は、ネットワーク９を介して、ユーザ認証サービス処理部３１からチケット「appTicket」を用いた「appAccSession=startSession(appTicket)」による呼び出しによって、アクセス制御判断サービス処理部３２とのセッションを確立する（ステップＳ１６）。、アクセス制御判断サービス処理部３２は、アプリケーションプログラム２０から通知されたチケット「appTicket」を用いた「valid=checkTicket(appTicket)」による呼び出しをユーザ認証サービス処理部３１に対して行い、アプリケーション２０のユーザ認証を実行する（ステップＳ１５）。アプリケーション２０の認証が成功した場合のみ、アプリケーション２０に対してセッションＩＤを返す。
【００２９】
アプリケーション２０は、ネットワーク９を介して、チケット「appTicket」を用いた「appLogSession=startSession(appTicket)」による呼び出しをログ管理サービス処理部３３に対して行う（ステップＳ１７）。ログ管理サービス処理部３３は、アプリケーション２０から通知されたチケット「appTicket」によるユーザ認証を、「valid=checkTicket(appTicket)」を呼び出すことによってユーザ認証サービス処理部３１に行わせる（ステップＳ１６）。認証が成功した場合のみ、ログ管理サービス処理部３３は、アプリケーションプログラム２０に対して、セッションＩＤ「appLogSession」を返す。
【００３０】
ユーザ２によるアプリケーションプログラム２０へのログインは、「userSession=login(userNae01,pwdUserName01)」の呼び出しによって行い、アプリケーション２０からユーザ用のセッション「userSession」を取得する（ステップＳ１９）。アプリケーションプログラム２０は、ユーザ２から取得したユーザ名とパスワードとを用いて「userTicket=authenticate(userName01,pwdUserName01)」の呼び出しによって、ユーザ認証サービス処理部３１に対してユーザ２の認証を要求する（ステップＳ２０）。ユーザ認証サービス処理部３１は、ユーザ２の認証が成功した場合、ユーザ２用のチケットをアプリケーション２０へ返す。ステップＳ１９において、アプリケーションプログラム２０は、ユーザ認証サービス処理部３１からチケットを取得できた場合のみユーザ用のセッション「userSession」を返す。また、ユーザ認証サービス処理部３１は、ユーザ２の認証に関するログ記録の要求を、「writeLog(sysLogSession,authLog2)」の呼び出しによってログ管理サービス処理部３３に対して行う（ステップＳ２１）。
【００３１】
ユーザ２によるアプリケーションプログラム２０へのアクセスは、「result=access(userSession,objectId,accessType)」の呼び出しによって行い、アプリケーション２０からその処理結果を取得する（ステップＳ２２）。アプリケーションプログラム２０は、アクセス制御判断サービス処理部３２に対して「decision=isAllowed(appAccSession,userId,objected,accessType)」を呼び出すことによって、アクセス制御判断要求を行い、その判断結果を取得する（ステップＳ２３）。アプリケーションプログラム２０は、この判断結果に従って処理を実行した処理結果をステップＳ２２にてユーザ２へ通知する。アプリケーションプログラム２０は、ログ記録サービス処理部３３に対して「writeLog(applogSession,userAccLog)」の呼び出しによって、ユーザ２のセッションとアクセス制御のログを記録する（ステップＳ２４）。
【００３２】
上記よりユーザ認証サービス処理部３１によるアプリケーションプログラム２０及びユーザ２の認証後に、アクセス制御を判断或いはログの記録が可能となるため、不正なアクセス及び不正なログの記録を防ぐことができる。
【００３３】
図３は、図２のステップＳ１１でのユーザ認証サービス処理部における初期処理を詳述する図である。図３において、ユーザ認証サービス処理部３１は、ユーザ認証サービス処理部３１自身の認証チケットauthTicketを作成する（Ｌ０００１）。また、ユーザ認証サービス処理部３１は、authTicketを引数としてログ管理サービス処理部３３のstartSession()メソッドを呼び出し、戻り値としてセッションＩＤを示すsysLogSessionを取得する（Ｌ０００２）。そして、ユーザ認証サービス処理部３１は、sysLogSessionを内部に保持して（Ｌ０００３）、初期処理を終了する。
【００３４】
図４は、認証チケットのデータ構造を示す図である。図４において、認証チケットのデータ構造４は、「Tichet{String user Id; String type; byte[] mac}」を示すコードによって示され、ユーザ認証サービス処理部３１を識別するためのユーザＩＤを文字列で示すuserIDと、タイプを文字列で示すtypeと、ユーザ認証サービス処理部３１のｍａｃを配列ｂｙｔｅ［］で示すｍａｃとで構成される。
【００３５】
userIDには、認証されたユーザのＩＤを示す文字列が格納され、typeには、システム又はユーザかを区別する文字列「SYSTEM」又は「USER」を示す文字列が格納される。macには、「userID」と「type」とを合わせた文字列のハッシュ値っを、例えば、ＳＨＡ−１アルゴリズムで計算し、そのハッシュ値をユーザ認証サービス処理部３１の秘密鍵を用いてＤＥＳアルゴリズムで暗号化したもの（メッセージ認証子と呼ばれる）を格納する。ＳＨＡ−１アルゴリズム及びＤＥＳアルゴリズムは、夫々、他の同様なアルゴリズムでも良い。ｍａｃにメッセージ認証子を格納することによって、userIdやtypeが改ざんされた場合に検出することができる。
【００３６】
図５は、図２のステップＳ１２でのユーザ認証サービス処理部における認証判定処理を詳述する図である。図５において、ユーザ認証サービス処理部３１は、ログ管理サービス処理部３３からのcheckTicket()メソッドの呼び出しによって、引数として設定された認証チケットauthTicketを受け取ると（Ｌ０１０１）、受け取った認証チケットauthTicketのuserIdとtypeとを合わせた文字列のハッシュ値をＳＨＡ−１アルゴリズムで計算し（Ｌ０１０２）、計算したハッシュ値をユーザ認証サービス処理部３１の秘密鍵を用いてＤＥＳアルゴリズムで暗号化する（Ｌ０１０３）。
【００３７】
暗号化した値が引数として設定された認証チケットauthTicketにて指定されたｍａｃと一致するか否かを比較する（Ｌ０１０４）。一致しない場合（Ｌ０１０５）、エラーを示すvalidを返して終了する（Ｌ０１０６及びＬ０１０７）。一方、一致した場合、認証チケットが正当であることを示す判定結果validを返して（Ｌ０１０８）、処理を終了する（Ｌ０１０９）。
【００３８】
図６は、図２のステップＳ１３、Ｓ１５、及びＳ１７でのアプリケーションプログラムにおける初期処理を詳述する図である。図６において、ステップＳ１３での処理は、Ｌ０４０１からＬ０４０５にて詳述され、ステップＳ１５での処理は、Ｌ０４０６からＬ０４０７にて詳述され、ステップＳ１７での処理は、Ｌ０４０８からＬ０４１０にて詳述される。
【００３９】
アプリケーションプログラム２０は、アプリケーションプログラム２０自身が持つユーザＩＤとパスワードを引数として、ユーザ認証サービス処理部３１のauthenticate()メソッドを呼び出す（Ｌ０４０１）。
【００４０】
アプリケーションプログラム２０は、ユーザ認証サービス処理部３１から認証失敗が通知されたか否かを判断する（Ｌ０４０２）。認証失敗が通知された場合、エラーとなり処理を終了する（Ｌ０４０３及びＬ０４０４）。
【００４１】
一方、認証が成功した場合、アプリケーションプログラム２０は、authenticate()の結果として認証チケットappTicketを受け取る（Ｌ０４０５）。そして、アプリケーションプログラム２０は、認証チケットappTicketを引数としてアクセス制御判断サービス処理部のstartSession()メソッドを呼び出し、セッションＩＤを示すappSessionを受け取る（Ｌ０４０６）。そして、アプリケーションプログラム２０は、appSessionをアプリケーションプログラム２０に内部に保持する（Ｌ０４０７）。
【００４２】
アプリケーションプログラム２０は、認証チケットappTicketを引数としてログ管理サービス処理部のstartSession()メソッドを呼び出し、セッションＩＤを示すappLogSessionを受け取る（Ｌ０４０８）。そして、アプリケーションプログラム２０は、appLogSessionを内部に保持し（Ｌ０４０９）、処理を終了する（Ｌ０４１０）
図７は、図２のステップＳ１２、Ｓ１６、及びＳ１８でのログ管理サービス処理部またはアクセス制御判断サービス処理部におけるセッション開始処理を詳述する図である。図７において、ステップＳ１２、Ｓ１６、及びＳ１８の夫々にて、以下に説明する処理が行われる。以下に、ステップＳ１２及びＳ１８でのログ管理サービス処理部でのセッション開始処理について説明するが、ステップＳ１６でのアクセス制御判断サービス処理部３２でのセッション開始処理についても同様である。
【００４３】
ログ管理サービス処理部３３は、startSession()メソッドが実行されることによって、認証チケットを受け取る（Ｌ０３０１）。
【００４４】
ログ管理サービス処理部３３は、受け取った認証チケットのtypeが「SYSTEM」であるか否かを確認する（Ｌ０３０２）。認証チケットのtypeが「SYSTEM」でない場合（Ｌ０３０３）、ログ管理サービス処理部３３は、エラーを返して処理を終了する（Ｌ０３０４及びＬ０３０５）。認証チケットのtypeが「SYSTEM」でない、つまり、普通のユーザである場合、ログを記録できないため、エラーを返すように制御する。
【００４５】
一方、認証チケットのtypeが「SYSTEM」である場合、ログ管理サービス処理部３３は、受け取った認証チケットを引数としてユーザ認証サービス処理部３１のcheckTicket()メソッドを呼び出し、認証チケットが正当であるか否かを確認する（Ｌ０３０６）。
【００４６】
認証チケットが正当でない場合（Ｌ０３０７）、ログ管理サービス処理部３３は、エラーを返して処理を終了する（Ｌ０３０８及びＬ０３０９）。ログ管理サービス処理部３３は、セッションＩＤを生成してセッション管理テーブルに記録し（Ｌ０３１０）、セッションＩＤを返して終了する（Ｌ０３１１）。セッション管理テーブルは、ログの記録をセッション毎に管理するためのテーブルである。セッションの識別は、セッションＩＤによってなされる。
【００４７】
ログ管理サービス処理部３３に対して誰でもログを記録できてしまうと、不正なユーザに偽りのログを大量に記録されてしまうと、事実上後で監査ができなくなる可能性がある。しかしながら、上記したように、ログを記録する前にログ管理サービス処理部３３が、ユーザ認証サービス処理部３１に要求元の正当性を認証させることによって、ログの記録を制御するようにしているため、不正なユーザによる偽りのログの記録を防ぐことができる。
【００４８】
上記した処理が、ログ管理サービス処理部３３とアクセス制御判断サービス処理部３２とで行われることによって、ログ管理サービス処理部３３とアクセス制御判断サービス処理部３２とが正当な要求元にのみ利用可能とすることができる。従って、不正なログの記録要求及び不正なアクセス制御判断要求を拒絶することができる。
【００４９】
図８は、ユーザ認証サービス処理部にて使用されるアカウント管理テーブルの例を示す図である。図８において、アカウント管理テーブル６は、ユーザを識別するためのユーザＩＤを示すuserID、ユーザを認証するためのパスワードを示すpassword、ユーザのタイプを示すtype等の項目を有する。例えば、ユーザＩＤ「appSystemA」で識別されるユーザは、パスワード「pwdAppSystem01」で認証され、タイプ「SYSTEM」であることが示される。また、ユーザＩＤ「userName01」で識別されるユーザは、パスワード「pwduserName01」で認証され、タイプ「user」であることが示される。
【００５０】
本実施例において、アカウント管理テーブル６へのアカウントの登録の方法を特定しない。例えば、アカウント管理テーブル６へのアカウントの登録、削除等の管理機能をＷｅｂサービスのメソッドとして提供するようにしても良い。
【００５１】
また、図８に示すアカウント管理テーブル６では、ユーザＩＤとパスワードによるアカウント管理の例を示しているが、ＰＫＩ（Public Key Infrastructure）や諮問認証等のより厳密な方法を用いたユーザ認証及びアカウント管理を行うようにしても良い。
【００５２】
図９は、図２のステップＳ１３及びＳ２０でのユーザ認証判断サービス処理部におけるユーザ認証処理を詳述する図である。図９において、ユーザ認証判断サービス処理部３１は、アプリケーションプログラム２０によるauthenticate()メソッドの実行によってユーザ認証処理を行う。
【００５３】
ユーザ認証判断サービス処理部３１は、ユーザＩＤとパスワードをアプリケーションプログラム２０から受け取ると（Ｌ０１２１）、受け取ったユーザＩＤに該当するエントリをアカウント管理テーブル６から検索する（Ｌ０１２２）。該当するエントリがない場合、つまり、同一のユーザＩＤが登録されていない場合、ユーザ認証判断サービス処理部３１は、セッションＩＤを示すsysLogSessionと認証失敗を示すログデータを引数としてログ管理サービス処理部３３のwriteLog()メソッドを呼び出し（Ｌ０１２４）、エラーで終了する（Ｌ０１２５及びＬ０１２６）。
【００５４】
一方、該当するエントリがある場合、つまり、同一のユーザＩＤが登録されている場合、受け取ったパスワードが該当するエントリのパスワードと一致するか否かを確認する（Ｌ０１２７）。一致する場合（Ｌ０１２８）、セッションＩＤを示すsysLogSessionと認証失敗を示すログデータを引数としてログ管理サービス処理部３３のwriteLog()メソッドを呼び出し（Ｌ０１２９）、エラーで終了する（Ｌ０１３０及びＬ０１３１）。
【００５５】
一方、一致しない場合、ユーザ認証判断サービス処理部３１は、エントリ情報（userID及びtype）を格納した認証チケットを作成する（Ｌ０１３２）。そして、ユーザ認証判断サービス処理部３１は、セッションＩＤを示すsysLogSessionと認証成功を示すログデータを引数としてログ管理サービス処理部３３のwriteLog()を呼び出し（Ｌ０１３３）、認証チケットを返して処理を終了する（Ｌ０１３４）。
【００５６】
図１０は、図２のステップＳ１４、Ｓ２１、及びＳ２４でのログ管理サービス処理部におけるログ記録処理を詳述する図である。図１０において、ログ管理サービス処理部３３は、ユーザ認証判断サービス処理部３１又はアプリケーションプログラム２０によるwriteLog()メソッドの実行によってログ記録処理を行う。図１０中、要求元は、ユーザ認証判断サービス処理部３１又はアプリケーションプログラム２０を示す。
【００５７】
ログ管理サービス処理部３３は、要求元からセッションＩＤとログデータとを受け取り（Ｌ０３２１）、セッションＩＤがセッション管理テーブルに記録されているか否かを確認する（Ｌ０３２２）。セッションＩＤが記録されていない場合（Ｌ０３２３）、ログ管理サービス処理部３３は、要求元にエラーを返して終了する（Ｌ０３２４及びＬ０３２５）。
【００５８】
一方、セッションＩＤが記録されている場合、ログデータをログ管理サービス処理部３３の内部に記録し（Ｌ０３２６）、処理を終了する（Ｌ０３２７）。
【００５９】
図１１は、図２のステップＳ１９でのアプリケーションプログラムにおけるログイン処理を詳述する図である。図１１において、アプリケーションプログラム２０は、ユーザ１によるlogin()メソッドの実行によってログイン処理を行う。
【００６０】
アプリケーションプログラム２０は、ユーザ１からユーザＩＤとパスワードを受け取り（Ｌ０４２１）、ユーザ１を認証するため、受け取ったユーザＩＤとパスワードとを引数としてユーザ認証サービス処理部３１のauthenticate()メソッドを呼び出す（Ｌ０４２２）。アプリケーションプログラム２０は、ユーザ認証サービス処理部３１からの認証結果が認証の失敗を示す場合（Ｌ０４２３）、ユーザ１に認証失敗を通知して終了する（Ｌ０４２４及びＬ０４２４）。
【００６１】
一方、認証結果が認証の成功を示す場合、アプリケーションプログラム２０は、セッションＩＤを生成し、アプリケーション２０の内部のセッション管理テーブルにユーザ認証サービス処理部３１によるauthenticate()メソッドで帰された認証チケットと関連付けて記録し（Ｌ０４２６）、セッションＩＤを返して終了する（Ｌ０４２７）。
【００６２】
図１２は、図２のステップＳ２２でのアプリケーションプログラムにおけるアクセス処理を詳述する図である。図１２において、アプリケーションプログラム２０は、ユーザ１からセッションＩＤと、アクセス対象のオブジェクトＩＤと、アクセス種別とを受け取る（Ｌ０４３１）。
【００６３】
そして、アプリケーションプログラム２０は、受け取ったセッションＩＤに関連付けられた認証チケットをセッション管理テーブルから取り出す（Ｌ０４３２）。該当するセッションＩＤがない場合（Ｌ０４３３）、アプリケーションプログラム２０は、ユーザ１にエラーを通知して終了する（Ｌ０４３４及びＬ０４３５）。
【００６４】
一方、該当するセッションがある場合、アクセス制御を判断するために、アプリケーションプログラム２０内部で保持しているセッションＩＤを示すappAccSession、認証チケットに含まれているuserID、渡されたオブジェクトＩＤ、サクセス種別などを引数として、アクセス制御判断サービス処理部３２のisAllowed()メソッドを読み出す（Ｌ０４３６）。
【００６５】
アクセス制御判断サービス処理部３２によるisAllowed()メソッドの実行によってエラーが返された場合（Ｌ０４３７）、アプリケーションプログラム２０は、ユーザ１にエラーを通知して終了する（Ｌ０４３８及びＬ０４２９）。
【００６６】
一方、アクセス制御判断サービス処理部３２からisAllowed()メソッドの実行による判断結果として「アクセス不許可」が返された場合（Ｌ０４４０）、アプリケーションプログラム２０は、ユーザ１にアクセスが許可されていないことを通知して終了する（Ｌ０４４１及びＬ０４４２）。
【００６７】
一方、判断結果として「アクセス許可」が返された場合、アプリケーションプログラム２０は、ユーザ１から要求されたアクセスを処理する（Ｌ０４４３）。アプリケーションプログラム２０内部で保持しているセッションＩＤを示すappLogSession及びアクセス処理のログを引数として、ログ管理サービス処理部３２のwriteLog()メソッドを呼び出す（Ｌ０４４４）。
【００６８】
アプリケーションプログラム２０は、ユーザ１から要求されたアクセスの処理結果をユーザ１に返し（Ｌ０４４５）、アクセス処理を終了する（Ｌ０４４６）。
【００６９】
アクセス制御テーブルのデータ構造について図１３及び図１４で説明する。
【００７０】
図１３は、アクセス制御判断サービス処理部にて保持されるアクセス制御テーブルのデータ構造を示す図である。図１４は、図１３に示されるデータ構造の概念を示す図である。図１４中、図１３に示すコードに対応するデータ構造部分を同一符号で示してある。
【００７１】
図１４を参照しつつ、図１３において、アクセス制御テーブルのデータ構造５は、「AccTable{AccEntry[] accEntries;};」を示すコード５aと、「AccEntry{StringobjectId; Acl acl;};」を示すコード５ｂと、「Acl{AccElement[] accElements;};」を示すコード５ｃと、「Accelement{string userId; Boolean read; Boolean write; Boolean execute;};」を示すコード５ｄとによって示される。
【００７２】
コード５aによって、アクセス制御テーブル（AccTable）へのエントリを示すＡｃｃＥｎｔｒｙを配列によって管理する。
【００７３】
コード５ｂによって、各エントリを示すＡｃｃＥｎｔｒｙは、オブジェクトを識別するオブジェクト識別子を文字列で示すobject Idと、そのオブジェクトに対するアクセス制御リストを示すAclとで構成される。
【００７４】
更に、コード５ｅによって、アクセス制御リストAclは、アクセス制御要素を示すAccElementを配列によって示される。コード５ｄによって、アクセス制御要素AccElementは、ユーザ１を識別するユーザＩＤを示すuserIdと、真偽（フラグ）によって読み取り許可／禁止を示すreadと、真偽（フラグ）によって書き込み許可／禁止を示すwriteと、真偽（フラグ）によって実行許可／禁止を示すexecuteとで構成される。read、write、及びexecuteのフラグは、「１」を示す場合にuserIdで指定されるユーザに対してそのアクセスが許可され、「０」を示す場合に禁止されることを示す。
【００７５】
このようなデータ構造５を有するアクセス制御テーブルは、予め設定されていても良いし、或いは、管理するための機能、例えば、アクセス制御のフラグを変更、新しいアクセス制御エントリを追加などの機能を、同様に、Ｗｅｂサービスのメソッドとして提供するようにしても良い。
【００７６】
図１５は、図２のステップＳ２３によるアクセス制御判断サービス処理部でのアクセス許可処理を詳述する図である。図１５において、アクセス制御判断サービス処理部３２は、セッションＩＤと、ユーザＩＤと、オブジェクトＩＤと、アクセス種別とを受け取る（Ｌ０２０１）。
【００７７】
アクセス制御判断サービス処理部３２は、セッションＩＤがセッション管理テーブルに記録されているか否かを確認する（Ｌ０２０２）。記録されていない場合（Ｌ０２０３）、アクセス制御判断サービス処理部３２は、エラーを返して終了する（Ｌ０２０４及びＬ０２０５）。
【００７８】
一方、記録されている場合、アクセス制御判断サービス処理部３２は、アクセス制御テーブルでオブジェクトＩＤに該当するエントリを検索する（Ｌ０２０６）。該当するエントリがない場合（Ｌ０２０７）、アクセス制御判断サービス処理部３２は、エラーを返して終了する（Ｌ０２０８及びＬ０２０９）。
【００７９】
一方、該当するエントリがある場合、アクセス制御判断サービス処理部３２は、エントリを参照してユーザＩＤに対してアクセス種別が許可されているか否かを確認する（Ｌ０２１０）。許可されていない場合（Ｌ０２１１）、アクセス制御判断サービス処理部３２は、許可されていないことを示す判断結果を返し（Ｌ０２１２）、アクセス許可処理を終了する（Ｌ０２１３及びＬ０２１４）。
【００８０】
一方、該当するエントリがない場合、アクセス制御判断サービス処理部３２は、許可されていることを示す判断結果を返し（Ｌ０２１５）、アクセス許可処理を終了する（Ｌ０２１６）。
【００８１】
上記のようにして、セキュリティサーバ３０のユーザ認証サービス処理部３１と、アクセス制御判断サービス処理部３２と、ログ管理サービス処理部３３とを実現することで，複数のアプリケーションプログラム２０に対して共通に利用できるセキュリティを確保のための機能を提供することができる。
【００８２】
ＳＯＡＰ経由で呼び出すためには、例えばユーザ認証サービス処理部３１のauthenticate()メソッドやcheckTicket()メソッド（インタフェースと呼ぶ）をＷＳＤＬ（Web Service Description Language）で記述し、その記述ファイルをＩＢＭ社が提供しているWeb Services Toolkit t（http://www.alphaworks.ibm.com/tech/webservicestoolkit）を用いて処理することにより、ＳＯＡＰ経由で呼び出すためのＪａｖａ（登録商標）クラスライブラリと、ＳＯＡＰ経由で呼び出される側のＪａｖａ（登録商標）クラスライブラリの雛形、を得ることができる。呼び出される側のＪａｖａ（登録商標）クラスライブラリの雛形を用いて上記の各サービスの機能を提供するプログラムを実装する。
Ｓｅｒｖｌｅｔを起動可能なＷｅｂサーバプログラム、例えばＴｏｍｃａｔ（http://jakarta.apache.org/tomcat/index.html）にＳＯＡＰプロトコルをハンドリングしてＪａｖａ（登録商標）クラスライブラリの呼び出しを行うＳｅｒｖｌｅｔ、例えばＡｘｉｓ（http://ws.apache.org/axis/index.html）を稼動させ、実装したプログラムをそのＡｘｉｓから利用できるように組み込めば、呼び出し側のクラスライブラリを用いてメソッドを呼び出せば、ＳＯＡＰ経由でセキュリティサーバのメソッドを呼び出すことができるようになる。
【００８３】
本実施例において、アプリケーションプロトコル２０から各ユーザ認証サービス処理部３１、アクセス制御判断サービス処理部３２、及びログ管理サービス処理部３３のメソッドを呼び出す部分で、アプリケーションプロトコル２０は呼び出し側のＪａｖａ（登録商標）クラスライブラリを使用してメソッド呼び出しを行うようにする。それにより、そのＪａｖａ（登録商標）クラスライブラリがメソッド呼び出しそのものをＳＯＡＰリクエストに変換してネットワーク上に送出し、各サービスからのＳＯＡＰレスポンスを受け取ってメソッドの戻り値としてアプリケーションプロトコル２０に返す。
【００８４】
図１６は、ＳＯＡＰによりＷｅｂサービスを提供するための機能構成を示す図である。図１６において、ＳＯＡＰにより通信制御を行うセキュリティサーバ３０は、ユーザ認証サービス処理部３１と、アクセス制御判断サービス処理部３２と、ログ管理サービス処理部３３と、ユーザアカウント管理テーブル４１と、アクセス制御テーブル４２と、ログデータベース４３と、ＳＯＡＰハンドラ５０とを有する。
【００８５】
ＳＯＡＰアンドラ５０は、受信したＳＯＡＰデータを解析し、ユーザ認証サービス処理部３１、アクセス制御判断サービス３２、ログ管理サービス処理部３３の夫々が提供するＷｅｂサービスの呼び出しを行う。また、ＳＯＡＰアンドラ５０は、そのＷｅｂサービスをＳＯＡＰデータとして送信する。
【００８６】
例えば、ＳＯＡＰアンドラ５０は、受信したＳＯＡＰデータを解析してユーザ認証を要求するＳＯＡＰデータであると判断すると、ticket=authenticate(username, password)によってユーザ認証サービス処理部３１を関数呼び出しし、ユーザ認証サービス処理部３１による処理結果ticketを示すＳＯＡＰデータを作成し、Ｗｅｂサービスとして要求元に提供する。
【００８７】
また、ＳＯＡＰアンドラ５０は、受信したＳＯＡＰデータを解析してアクセス制御判断を要求するＳＯＡＰデータであると解析すると、decisionInfo=isAllowed(ticket, userInfo, docInfo, accessType)によってアクセス制御判断サービス処理部３２を関数呼び出しし、アクセス制御判断サービス処理部３２による処理結果decisionInfoを示すＳＯＡＰデータを作成し、Ｗｅｂサービスとして要求元に提供する。
【００８８】
更に、ＳＯＡＰアンドラ５０は、受信したＳＯＡＰデータを解析してログ記録を要求するＳＯＡＰデータであると解析すると、result=writeLog(ticket, logText)によってログ管理サービス処理部３３を関数呼び出しし、ログ管理サービス処理部３３による処理結果decisionInfoを示すＳＯＡＰデータを作成し、Ｗｅｂサービスとして要求元に提供する。
【００８９】
このように、ユーザ認証、アクセス制御、ログ記録などの機能をＷｅｂサービスとして提供することができ、様々なアプリケーションプログラムがそのＷｅｂサービスを使ってセキュリティを確保することができるようになる。Ｗｅｂサービスとして提供されるため、アプリケーションプログラム側のＯＳや言語などに依存せずに利用することができる。
【００９０】
Ｗｅｂサービスとして提供することによって、誰でもＷｅｂサービスの機能を利用できるようになり、例えば、不正な利用者がログを大量に記録することによってセキュリティが保たれなくなるといった問題を、予め登録された正当なシステムしか利用できないように制限することによってセキュリティを保つようにしている。
【００９１】
上記では、ＳＯＡＰを例にとったが、他の遠隔操作呼び出しプロトコル、例えば、ＲＰＣ（Remote Procedure Call）、Ｊａｖａ（登録商標） RMI(Remote Method invocation)、IIOP(Internet Inter-ORB Protocol)、DCOM(Distributed Component Object Model)などを用いても良い。
【図面の簡単な説明】
【００９２】
【図１】システム構成を示す図である。
【図２】システムで実行される処理シーケンスを説明する図である。
【図３】図２のステップＳ１１での初期処理を詳述する図である。
【図４】認証チケットのデータ構造を示す図である。
【図５】図２のステップＳ１２でのユーザ認証サービス処理部における認証判定処理を詳述する図である。
【図６】図２のステップＳ１３、Ｓ１５、及びＳ１７でのアプリケーションプログラムにおける初期処理を詳述する図である。
【図７】図２のステップＳ１２、Ｓ１６、及びＳ１８でのログ管理サービス処理部またはアクセス制御判断サービス処理部におけるセッション開始処理を詳述する図である。
【図８】ユーザ認証サービス処理部にて使用されるアカウント管理テーブルの例を示す図である。
【図９】図２のステップＳ１３及びＳ２０でのユーザ認証判断サービス処理部におけるユーザ認証処理を詳述する図である。
【図１０】図２のステップＳ１４及びＳ２１でのログ管理サービス処理部におけるログ記録処理を詳述する図である。
【図１１】図２のステップＳ１９でのアプリケーションプログラムにおけるログイン処理を詳述する図である。
【図１２】図２のステップＳ２２でのアプリケーションプログラムにおけるアクセス処理を詳述する図である。
【図１３】アクセス制御判断サービス処理部にて保持されるアクセス制御テーブルのデータ構造を示す図である。
【図１４】図１３に示されるデータ構造の概念を示す図である。
【図１５】図２のステップＳ２３によるアクセス制御判断サービス処理部でのアクセス許可処理を詳述する図である。
【図１６】ＳＯＡＰによりＷｅｂサービスを提供するための機能構成を示す図である。
【符号の説明】
【００９３】
１            システム
２            ユーザ
３            クライアント端末
９            ネットワーク
１０、１１、１２、１３    サーバ
２０、２１、２２、２３    アプリケーションプログラム
３０          セキュリティサーバ
３１          ユーザ認証サービス処理部
３２          アクセス制御判断サービス処理部
３３          ログ管理サービス処理部
【図１】
2005149121.tif 000003
【図２】
2005149121.tif 000004
【図３】
2005149121.tif 000005
【図４】
2005149121.tif 000006
【図５】
2005149121.tif 000007
【図６】
2005149121.tif 000008
【図７】
2005149121.tif 000009
【図８】
2005149121.tif 000010
【図９】
2005149121.tif 000011
【図１０】
2005149121.tif 000012
【図１１】
2005149121.tif 000013
【図１２】
2005149121.tif 000014
【図１３】
2005149121.tif 000015
【図１４】
2005149121.tif 000016
【図１５】
2005149121.tif 000017
【図１６】
2005149121.tif 000018