(57)【要約】【課題】  複数のアプリケーションサーバに対するユーザの認証を一括して行えるようにするシングルサインオンの機能をユーザに提供するに際し、そのユーザの認証情報を容易に管理することができるようにする。【解決手段】  それぞれ異なるサービスを提供する複数のＷｅｂアプリケーションサーバ１００２、１００４は、ユーザ情報データベース１００３、１００５を用いて、各々のサービスの利用者を管理する。一方、各Ｗｅｂアプリケーションサーバ１００２、１００４の利用者の認証を中継する認証サーバ１００６は、識別情報管理データベース１００７を用いて複数のＷｅｂアプリケーションサーバ１００２、１００４間でユーザを一意に識別し、各Ｗｅｂアプリケーションサーバ１００２、１００４の利用者の認証処理を中継するとともにシングルサインオン（ＳＳＯ）を利用者に提供する。【選択図】  図２
2005346570.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末にサービスを提供する複数のアプリケーションサーバと、
前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを有し、
前記認証サーバは、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理手段を有し、
前記複数のアプリケーションサーバは、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理手段を有することを特徴とする認証システム。
【請求項２】
クライアント端末と、前記クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを有する認証システムであって、
前記複数のアプリケーションサーバに個別に接続され、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を格納する複数のユーザ情報データベースと、
前記認証サーバに接続され、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を格納する識別情報管理データベースとを有し、
前記複数のアプリケーションサーバの各々は、前記ユーザ認証情報を含むユーザ情報を、前記ユーザ情報データベースを用いて管理する認証情報管理手段と、
前記認証サーバからの認証要求に基づいて、前記ユーザ情報データベースに登録されているユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証手段と、
前記識別情報に含まれているユーザ識別子を前記認証サーバから取得して、前記クライアント端末のユーザを識別するユーザ識別手段とを有し、
前記認証サーバは、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に前記識別情報管理ベースに登録された前記ユーザ識別子とを紐付け、その紐付けた情報を前記識別情報として管理する識別情報管理手段と、
前記アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と、前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示す前記アプリケーションサーバに行う中継認証手段と、
前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知手段とを有することを特徴とする認証システム。
【請求項３】
前記ユーザ認証情報は、前記ユーザ識別子と、前記ユーザのパスワードとを含んでいることを特徴とする請求項２に記載の認証システム。
【請求項４】
前記識別情報は、前記アプリケーションサーバに対して登録されたユーザを一意に識別するためのユニークな識別子と、前記ユーザを識別するためのユーザ識別子と、前記アプリケーションサーバを識別するためのサーバ識別子とを含んでいることを特徴とする請求項２又は３に記載の認証システム。
【請求項５】
前記識別情報管理手段が、前記ユーザ識別子と前記サーバ識別子との対に、前記ユニークな識別子を紐付け、その紐付けた情報を前記識別情報として管理することにより、前記複数のアプリケーションサーバ間において、前記クライアント端末の利用者が一意に識別されるようにしたことを特徴とする請求項４に記載の認証システム。
【請求項６】
前記中継認証手段は、前記受け付けた認証情報を検証し、
前記識別情報管理手段は、前記中継認証手段により検証された結果に基づいて、前記識別情報を生成することを特徴とする請求項４又は５に記載の認証システム。
【請求項７】
前記ユーザ識別子通知手段は、前記特定のアプリケーションサーバを利用する特定のユーザが前記中継認証手段を用いて認証された際に、そのユーザを識別するためのユーザ識別子に紐付けられているユニークな識別子を、そのユーザが利用するユーザエージェントを識別するためのエージェント識別子に関連付け、
前記特定のアプリケーションサーバとは異なる第二のアプリケーションサーバの前記ユーザ識別手段は、前記特定のユーザを識別する際に、前記第二のアプリケーションサーバを識別するためのサーバ識別子を、前記クライアント端末を介して前記認証サーバに転送し、
前記認証サーバの前記ユーザ識別子通知手段は、前記エージェント識別子に関連付けられたユニークな識別子と、前記転送されたサーバ識別子とに基づいて、前記識別情報管理データベースからユーザ識別子を取得することを特徴とする請求項５又は６に記載の認証システム。
【請求項８】
前記ユーザ識別子通知手段は、前記ユニークな識別子と、前記転送されたサーバ識別子とに基づいて取得されたユーザ識別子に紐付くユーザ確認情報を生成し、生成したユーザ確認情報を、前記第二のアプリケーションサーバの前記ユーザ識別手段に、前記クライアント端末を介して転送し、
前記第二のアプリケーションサーバの前記ユーザ識別手段は、前記認証サーバの前記ユーザ識別子通知手段から前記ユーザ確認情報に対応するユーザ識別子を取得することを特徴とする請求項７に記載の認証システム。
【請求項９】
前記第二のアプリケーションサーバの前記ユーザ識別手段は、前記クライアント端末のユーザを識別する際に、ユーザエージェントを前記認証サーバに転送し、
前記認証サーバの前記ユーザ識別子通知手段は、前記ユーザ識別手段によりユーザエージェントが転送された際に、前記エージェント識別子に関連付けられるユニークな識別子が取得されない場合には、前記クライアント端末から認証情報を取得することを特徴とする請求項７に記載の認証システム。
【請求項１０】
前記第二のアプリケーションサーバの前記ユーザ識別手段は、前記クライアント端末のユーザを識別する際に、ユーザエージェントを前記認証サーバに転送し、
前記認証サーバの前記ユーザ識別子通知手段は、前記ユーザ識別手段によりユーザエージュントが転送された際に、前記エージェント識別子に関連付けられるユニークな識別子と、前記サーバ識別子とから、前記第二のアプリケーションサーバにおけるユーザのユーザ識別子が取得されない場合には、前記クライアント端末から前記第二のアプリケーションサーバにおける認証情報を取得することを特徴とする請求項７に記載の認証システム。
【請求項１１】
前記ユーザ識別子通知手段は、前記取得した認証情報が、前記エージェント識別子に関連付けられた前記ユニークな識別子とは異なるユニークな識別子と関連付けられている場合には、前記異なるユニークな識別子を前記エージェント識別子に関連付けられた前記ユニークな識別子に置き換えることを特徴とする請求項１０に記載の認証システム。
【請求項１２】
前記認証サーバは、前記ユーザエージェントを前記アプリケーションサーバに転送し、
前記アプリケーションサーバは、前記ユーザエージェントが前記認証サーバから転送された後に、前記アプリケーションサーバを示す前記サーバ識別子が記載された、前記認証情報を入力するための認証フォームを前記クライアント端末に送信し、
前記認証サーバの中継認証手段は、前記認証フォームに記載された前記サーバ識別子と前記認証フォームに入力された前記認証情報を前記クライアント端末から取得することを特徴とする請求項２〜１１の何れか１項に記載の認証システム。
【請求項１３】
前記複数のアプリケーションサーバのうち、特定のアプリケーションサーバの前記認証情報管理手段により、特定のユーザのユーザ認証情報が削除された場合、前記認証サーバの前記識別情報管理手段は、その特定のユーザの識別情報を前記識別情報管理データベースから削除することを特徴とする請求項２〜１２の何れか１項に記載の認証システム。
【請求項１４】
前記複数のアプリケーションサーバのうち、特定のアプリケーションサーバの前記認証情報管理手段により、特定のユーザのユーザ認証情報が変更された場合、前記認証サーバの前記識別情報管理手段は、その変更に合わせて、前記識別情報管理データベースに登録されている、その特定のユーザの識別情報を変更することを特徴とする請求項２〜１３の何れか１項に記載の認証システム。
【請求項１５】
クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証する認証方法であって、
前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理ステップを行い、
前記複数のアプリケーションサーバが、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理ステップを行うことを特徴とする認証方法。
【請求項１６】
クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証する認証方法であって、
前記複数のアプリケーションサーバの各々が、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を管理する認証情報管理ステップと、
前記認証サーバが、前記アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示すアプリケーションサーバに行う中継認証ステップと、
前記認証サーバからの認証要求に基づいて、その認証要求を受けたアプリケーションサーバが、前記ユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証ステップと、
前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に登録された前記ユーザ識別子とを紐付け、その紐付けた情報を識別情報として管理する識別情報管理ステップと、
前記認証サーバが、前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知ステップと、
前記アプリケーションサーバが、前記認証サーバから通知された前記ユーザ識別子を取得して、前記クライアント端末のユーザを識別するユーザ識別ステップとを有することを特徴とする認証方法。
【請求項１７】
前記ユーザ認証情報は、前記ユーザ識別子と、前記ユーザのパスワードとを含んでいることを特徴とする請求項１６に記載の認証方法。
【請求項１８】
前記識別情報は、前記アプリケーションサーバに対して登録されたユーザを一意に識別するためのユニークな識別子と、前記ユーザを識別するためのユーザ識別子と、前記アプリケーションサーバを識別するためのサーバ識別子とを含んでいることを特徴とする請求項１６又は１７に記載の認証方法。
【請求項１９】
前記識別情報管理ステップは、前記ユーザ識別子と前記サーバ識別子との対に、前記ユニークな識別子を紐付け、その紐付けた情報を前記識別情報として管理することにより、前記複数のアプリケーションサーバ間において、前記クライアント端末の利用者が一意に識別されるようにしたことを特徴とする請求項１８に記載の認証方法。
【請求項２０】
前記中継認証ステップは、前記受け付けた認証情報を検証し、
前記識別情報管理ステップは、前記中継認証ステップにより検証された結果に基づいて、前記識別情報を生成することを特徴とする請求項１８又は１９に記載の認証方法。
【請求項２１】
前記認証サーバが、前記特定のアプリケーションサーバを利用する特定のユーザが認証された際に、そのユーザを識別するためのユーザ識別子に紐付けられているユニークな識別子を、そのユーザが利用するユーザエージェントを識別するためのエージェント識別子に関連付けるエージェント識別子関連付けステップと、
前記特定のアプリケーションサーバとは異なる第二のアプリケーションサーバが、前記第二のアプリケーションサーバを識別するためのサーバ識別子を、前記クライアント端末を介して前記認証サーバに転送するサーバ識別子転送ステップと、
前記認証サーバが、前記エージェント識別子に関連付けられたユニークな識別子と、前記転送されたサーバ識別子とに基づいて、前記ユーザ識別子を取得するユーザ識別子取得ステップとを有することを特徴とする請求項１９又は２０に記載の認証方法。
【請求項２２】
前記認証サーバが、前記ユニークな識別子と、前記転送されたサーバ識別子とに基づいて取得したユーザ識別子に紐付くユーザ確認情報を生成し、生成したユーザ確認情報を、前記第二のアプリケーションサーバに、前記クライアント端末を介して転送するユーザ確認情報転送ステップと、
前記第二のアプリケーションサーバが、前記認証サーバから前記ユーザ確認情報に対応するユーザ識別子を取得する第２のユーザ識別子取得ステップとを有することを特徴とする請求項２１に記載の認証方法。
【請求項２３】
前記第二のアプリケーションサーバが、前記クライアント端末のユーザを識別する際に、ユーザエージェントを前記認証サーバに転送するユーザエージェント転送ステップと、
前記認証サーバが、前記第二のアプリケーションサーバから前記ユーザエージェントが転送された際に、前記エージェント識別子に関連付けられるユニークな識別子が取得されない場合には、前記クライアント端末から認証情報を取得する認証情報取得ステップとを有することを特徴とする請求項２１に記載の認証方法。
【請求項２４】
前記第二のアプリケーションサーバが、前記クライアント端末のユーザを識別する際に、ユーザエージェントを前記認証サーバに転送するユーザエージェント転送ステップと、
前記認証サーバが、前記第二のアプリケーションサーバから前記ユーザエージュントが転送された際に、前記エージェント識別子に関連付けられるユニークな識別子と、前記サーバ識別子とから、前記第二のアプリケーションサーバにおけるユーザのユーザ識別子が取得されない場合には、前記クライアント端末から前記第二のアプリケーションサーバにおける認証情報を取得する認証情報取得ステップとを有することを特徴とする請求項２１に記載の認証方法。
【請求項２５】
前記認証サーバが、前記エージェント識別子に関連付けられた前記ユニークな識別子とは異なるユニークな識別子と前記取得した認証情報とが関連付けられている場合には、前記異なるユニークな識別子を前記エージェント識別子に関連付けられた前記ユニークな識別子に置き換える識別子置き換えステップを有することを特徴とする請求項２４に記載の認証方法。
【請求項２６】
前記認証サーバが、前記ユーザエージェントを前記アプリケーションサーバに転送する第２のユーザエージェント転送ステップと、
前記アプリケーションサーバが、前記ユーザエージェントが前記認証サーバから転送された後に、前記アプリケーションサーバを示す前期サーバ識別子が記載された、前記認証情報を入力するための認証フォームを前記クライアント端末に送信する認証フォーム送信ステップと、
前記認証サーバが、前記認証フォームに記載された前記サーバ識別子と前記認証フォームに入力された前記認証情報を前記クライアント端末から取得する第２の認証情報取得ステップとを有することを特徴とする請求項１６〜２５の何れか１項に記載の認証方法。
【請求項２７】
前記認証サーバが、特定のアプリケーションサーバによって、特定のユーザのユーザ認証情報が削除された場合、その特定のユーザの識別情報を削除するユーザ識別情報削除ステップを有することを特徴とする請求項１６〜２６の何れか１項に記載の認証方法。
【請求項２８】
前記認証サーバが、特定のアプリケーションサーバによって、特定のユーザのユーザ認証情報が変更された場合、その変更に合わせて、その特定のユーザのユーザ識別情報を変更することを特徴とする請求項１６〜２７の何れか１項に記載の認証方法。
【請求項２９】
クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、
前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理ステップを行い、
前記複数のアプリケーションサーバが、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理ステップを行うことをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項３０】
クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、
前記複数のアプリケーションサーバの各々が、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を管理する認証情報管理ステップと、
前記認証サーバが、アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示すアプリケーションサーバに行う中継認証ステップと、
前記認証サーバからの認証要求に基づいて、その認証要求を受けたアプリケーションサーバが、前記ユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証ステップと、
前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に登録された前記ユーザ識別子とを紐付け、その紐付けた情報を識別情報として管理する識別情報管理ステップと、
前記認証サーバが、前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知ステップと、
前記アプリケーションサーバが、前記認証サーバから通知された前記ユーザ識別子を取得して、前記クライアント端末のユーザを識別するユーザ識別ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、認証方法及びコンピュータプログラムに関し、特に、アプリケーションの利用者を、ネットワークを介して認証するために用いて好適なものである。
【背景技術】
【０００２】
従来、利用者が、Ｗｅｂアプリケーションサーバにログインするときには、Ｗｅｂアプリケーションサーバは、あらかじめ利用者に対して発行したユーザＩＤ及びパスワードと、前記ログイン時に利用者端末から送信されたユーザＩＤ及びパスワードとが一致するかどうかを検証し、一致すれば利用者を認証し、そのログインを許可していた。
【０００３】
また、利用者が、複数のＷｅｂアプリケーションサーバを利用するときに、それらのうちの一つにログインが許可されることで他のＷｅｂアプリケーションサーバにも自動的にログインが許可されるＳＳＯ（シングルサインオン）と呼ばれる機能がある。
【０００４】
特許文献１に記載されているように、一般的に、前記ＳＳＯを実現するためには、ユーザＩＤ及びパスワードを集約的に管理し、一元的に利用者を認証する認証サーバが用いられている。そして、各アプリケーションサーバは、ユーザＩＤ及びパスワード以外の利用者情報（例えば、氏名、住所、電話番号など）を管理していた。
【０００５】
【特許文献１】特開平０９−０８１５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述したように、従来の技術では、認証サーバが認証情報を集約的に管理している。したがって、既存のアプリケーションサーバが新たにＳＳＯ（シングルサインオン）に参加する際には、そのアプリケーションサーバが予め保持していたユーザＩＤ及びパスワードなどの認証情報を認証サーバが管理する認証情報へ移行する必要があり多くの時間と手間がかかる。
また、前記ＳＳＯ（シングルサインオン）に参加するアプリケーションサーバで提供されるサービス毎にサービスの提供者が異なったり、提供されるサービスのセキュリティレベルも様々であったりする。したがって、全てのアプリケーションサーバの利用者の認証情報を、ある特定の認証サーバで集約的に管理することは、非常に困難なことである。
【０００７】
一方、前記ＳＳＯ（シングルサインオン）の標準規格策定団体として、「Ｌｉｂｅｒｔｙ  Ａｌｌｉａｎｃｅ  Ｐｒｏｊｅｃｔ」が知られている（ｈｔｔｐ：／／ｗｗｗ．ｐｒｏｊｅｃｔｌｉｂｅｒｔｙ．ｏｒｇ／）。この「Ｌｉｂｅｒｔｙ  Ａｌｌｉａｎｃｅ」によると、認証サーバにあたるアイデンティティプロバイダ（Ｉｄｅｎｔｉｔｙ  Ｐｒｏｖｉｄｅｒ；ＩｄＰ）と、アプリケーションサーバにあたるサービスプロバイダ（Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅ；ＳＰ）との間で認証情報の授受を行うことで前記ＳＳＯ（シングルサインオン）を実現する。また、この「Ｌｉｂｅｒｔｙ  Ａｌｌｉａｎｃｅ」の仕様によると、前記ＳＳＯ（シングルサインオン）を利用する利用者は、一旦、前記ＩｄＰ（アイデンティティプロバイダ）にログインすることで、複数のアプリケーションサーバに対するＳＳＯ（シングルサインオン）が可能になる。即ち、前記ＩｄＰ（アイデンティティプロバイダ）は、独立したアプリケーションサービスとして認証情報を持つことが必要であった。
【０００８】
本発明は、前述の問題点に鑑みてなされたものであり、複数のアプリケーションサーバに対するユーザの認証を一括して行えるようにするシングルサインオンの機能をユーザに提供するに際し、そのユーザの認証情報を容易に管理することができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の認証システムは、クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを有し、前記認証サーバは、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理手段を有し、前記複数のアプリケーションサーバは、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理手段を有することを特徴とする。
また、本発明の他の特徴とするところは、クライアント端末と、前記クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを有する認証システムであって、前記複数のアプリケーションサーバに個別に接続され、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を格納する複数のユーザ情報データベースと、前記認証サーバに接続され、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を格納する識別情報管理データベースとを有し、前記複数のアプリケーションサーバの各々は、前記ユーザ認証情報を含むユーザ情報を、前記ユーザ情報データベースを用いて管理する認証情報管理手段と、前記認証サーバからの認証要求に基づいて、前記ユーザ情報データベースに登録されているユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証手段と、前記識別情報に含まれているユーザ識別子を前記認証サーバから取得して、前記クライアント端末のユーザを識別するユーザ識別手段とを有し、前記認証サーバは、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に前記識別情報管理ベースに登録された前記ユーザ識別子とを紐付け、その紐付けた情報を前記識別情報として管理する識別情報管理手段と、前記アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と、前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示す前記アプリケーションサーバに行う中継認証手段と、前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知手段とを有することを特徴とする。
【００１０】
本発明の認証方法は、クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証する認証方法であって、前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理ステップを行い、前記複数のアプリケーションサーバが、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理ステップを行うことを特徴とする。
また、本発明の他の特徴とするところは、クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証する認証方法であって、前記複数のアプリケーションサーバの各々が、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を管理する認証情報管理ステップと、前記認証サーバが、前記アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示すアプリケーションサーバに行う中継認証ステップと、前記認証サーバからの認証要求に基づいて、その認証要求を受けたアプリケーションサーバが、前記ユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証ステップと、前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に登録された前記ユーザ識別子とを紐付け、その紐付けた情報を識別情報として管理する識別情報管理ステップと、前記認証サーバが、前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知ステップと、前記アプリケーションサーバが、前記認証サーバから通知された前記ユーザ識別子を取得して、前記クライアント端末のユーザを識別するユーザ識別ステップとを有することを特徴とする。
【００１１】
本発明のコンピュータプログラムは、クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理する識別情報管理ステップを行い、前記複数のアプリケーションサーバが、前記クライアント端末のユーザを認証するための認証情報を管理する認証情報管理ステップを行うことをコンピュータに実行させることを特徴とする。
また、本発明の他の特徴とするところは、クライアント端末にサービスを提供する複数のアプリケーションサーバと、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバとを用いて、前記クライアント端末のユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、前記複数のアプリケーションサーバの各々が、前記クライアント端末のユーザを認証するためのユーザ認証情報を含むユーザ情報を管理する認証情報管理ステップと、前記認証サーバが、アプリケーションサーバを介して前記クライアント端末からユーザ認証情報と前記アプリケーションサーバを識別するためのサーバ識別子を受け付け、受け付けたユーザ認証情報の認証要求を前記サーバ識別子が示すアプリケーションサーバに行う中継認証ステップと、前記認証サーバからの認証要求に基づいて、その認証要求を受けたアプリケーションサーバが、前記ユーザ認証情報を取得して、前記クライアント端末のユーザを認証する認証ステップと、前記認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするためのユニークな識別子と、前記複数のアプリケーションサーバ毎に登録された前記ユーザ識別子とを紐付け、その紐付けた情報を識別情報として管理する識別情報管理ステップと、前記認証サーバが、前記複数のアプリケーションサーバの何れかから、前記ユーザ識別子の取得要求があった場合には、その取得要求元であるアプリケーションサーバに対して登録されているユニークな識別子に紐付けられたユーザ識別子を、そのユーザ識別子の取得要求元であるアプリケーションサーバに通知するユーザ識別子通知ステップと、前記アプリケーションサーバが、前記認証サーバから通知された前記ユーザ識別子を取得して、前記クライアント端末のユーザを識別するユーザ識別ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、クライアント端末にサービスを提供する複数のアプリケーションサーバが、前記クライアント端末のユーザを認証するための認証情報を管理し、前記クライアント端末のユーザの前記複数のアプリケーションサーバに対する認証を一括して行うようにするための認証サーバが、前記複数のアプリケーションサーバ間において、前記クライアント端末のユーザが一意に識別されるようにするための識別情報を管理するようにしたので、シングルサイトオン（ＳＳＯ）の対象となる全てのアプリケーションサーバが持つユーザの認証情報を統一化したり、特定の認証サーバで管理したりすることなく、ＳＳＯの機能をクライアント端末のユーザに提供することができるようになる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明の一実施形態を、図面に基づいて説明する。
図１は、本発明の実施形態を示し、インターネットを用いた認証システムの構成の一例を表した図である。
図１において、インターネット１００８上には、インターネットサービスプロバイダー（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ；  ＩＳＰ）などの接続手段を用いて世界的規模でコンピュータが相互に通信可能に接続される。各コンピュータは、ＴＣＰ／ＩＰなどの接続プロトコルで相互に通信可能である。このような構成のシステムにおいて、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いたＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サービスは、多くの利用者に利用されている。
【００１４】
図１は、以上のようにしてインターネット１００８上に接続されたクライアントコンピュータ１００１と、クライアントコンピュータ１００１を利用する利用者が利用できる複数のＷｅｂアプリケーションサーバ１００２、１００４とが、インターネット１００８を介して相互に接続されている様子を表す。Ｗｅｂアプリケーションサーバ１００２、１００４には、それぞれ、各Ｗｅｂアプリケーションサーバ１００２、１００４からサービスの提供を受ける利用者の情報（ユーザ情報）が登録されるユーザ情報データベース１００３、１００５が接続されている。
【００１５】
また、図１の認証サーバ１００６は、前述した複数のＷｅｂアプリケーションサーバ１００２、１００４における利用者の認証を仲介するサーバである。認証サーバ１００６には、利用者の識別情報が登録される識別情報管理データベース１００７が接続されている。
【００１６】
図２は、図１に示した本実施形態の認証システムの更に詳細な構成の一例を示す図である。なお、図２では、１台のＷｅｂアプリケーションサーバ１００２だけを示しているが、図１に示したＷｅｂアプリケーションサーバ１００４もＷｅｂアプリケーションサーバ１００２と同様の構成を有している。さらに、図２では、ユーザ情報データベース１００３だけを示しているが、図１に示したユーザ情報データベース１００５もユーザ情報データベース１００３と同様の構成を有している。
【００１７】
図２において、クライアントコンピュータ１００１には、ユーザエージェント２００２が導入されている。ユーザエージェント２００２としては、Ｎｅｔｓｃａｐｅ（登録商標）や、Ｍｏｚｉｌｌａ（登録商標）など、一般的に入手可能なものを利用することができる。ユーザエージェント２００２は、利用者が利用を所望するＷｅｂアプリケーションサーバ１００２、１００４に、前記ＨＴＴＰを主としたプロトコルで接続を行う。
【００１８】
Ｗｅｂアプリケーションサーバ１００２、１００４は、Ｗｅｂサーバ部２００４と、利用者の認証を行う認証エージェント２００５と、Ｗｅｂアプリケーション本体２００６とを備えて構成される。ユーザエージェント２００２から発せられたＨＴＴＰ要求は、Ｗｅｂサーバ部２００４によって受信される。そうすると、Ｗｅｂサーバ部２００４は、受信したＨＴＴＰ要求の内容を解析する。
【００１９】
このようにしてＷｅｂサーバ部２００４によって内容が解析されたＨＴＴＰ要求は、認証エージェント２００５において行われる認証処理を経てはじめて、Ｗｅｂアプリケーション本体２００６に転送される。
【００２０】
認証エージェント２００５は、認証情報管理部２００５ａ、認証処理部２００５ｂ、及びユーザ識別部２００５ｃを備えて構成される。
一般的に、Ｗｅｂアプリケーションサーバ１００２、１００４には、利用者を登録するために、アプリケーション毎に用意されたユーザ情報データベース１００３、１００５が接続される。本実施形態のユーザ情報データベース１００３、１００５は、市販あるいは無料で手に入れることができるリレーショナルデータベース管理サーバ上に配置される。また、ユーザ情報データベース１００３、１００５は、データベースベンダーの独自プロトコル、あるいはＪＤＢＣなど標準技術を用いた接続方式により、Ｗｅｂアプリケーションサーバ１００２、１００４に接続される。
【００２１】
認証情報管理部２００５ａは、ユーザ情報を取得、追加、変更、削除するために、ユーザ情報データベース１００３に接続される。
また、認証情報管理部２００５ａは、特定のユーザが登録したユーザ情報の中のユーザを識別するためのユーザ識別子（以下、ユーザＩＤと称する）が変更又は削除された場合には、後述する認証サーバ１００６の識別情報管理部２０１２に識別情報変更要求を送信する。
【００２２】
認証サーバ１００６の識別情報管理部２０１２は、前記送信された識別情報変更要求に基づいて、識別情報管理データベース１００７中に、前記変更又は削除されたユーザＩＤを含む識別情報が存在するか否かを判断する。この判断の結果、識別情報管理データベース１００７中に、前記変更又は削除されたユーザＩＤを含む識別情報が存在する場合、その識別情報を、前記送信された識別情報変更要求に応じて変更又は削除する。
【００２３】
認証処理部２００５ｂは、主に利用者が入力したユーザＩＤとパスワードとをユーザ情報データベース１００３、１００５に問合せ、前記利用者を認証する機能を有する。本実施形態においては、認証処理部２００５ｂは、後述する認証サーバ１００６の中継認証処理部２０１１から送信された中継認証要求を受信し、受信した中継認証要求に基づいて、ユーザＩＤや、パスワード等の認証情報をユーザ情報データベース１００３、１００５から受け取り、利用者を認証する。
【００２４】
ユーザ識別部２００５ｃは、利用者を識別するための後述する認証フォームをクライアントコンピュータ１００１に送信する。
【００２５】
具体的に説明すると、この認証フォームは、ユーザエージェント２００２を介して利用者に対して送信される。そして、利用者は、ユーザＩＤや、パスワード等の認証情報を認証フォームに入力する。認証フォームに入力された認証情報は、認証サーバ１００６へ送信される。
【００２６】
一方、ユーザ識別部２００５ｃは、認証サーバ１００６からユーザ確認情報を受け取った場合には、後述する認証サーバ１００６のユーザ識別子通知部２０１０にユーザ確認情報を送信する。そして、ユーザ認識部２００５ｃは、そのユーザ確認情報に基づくユーザＩＤを認証サーバ１００６のユーザ識別子通知部２０１０から取得する。
前記ユーザ確認情報は、後述する認証サーバ１００６のユーザ識別子通知部２０１０が、ある特定のユーザの各アプリケーションサーバ１００２、１００４上のユーザＩＤを通知するために、ユーザＩＤと紐付けられた短ストリングとして生成される。
【００２７】
本実施形態においては、前記ユーザ確認情報は、認証サーバ１００６からユーザエージェント２００２を介してＷｅｂアプリケーションサーバ１００２、１００４にＨＴＴＰリダイレクトすることによりユーザ識別部２００５ｃで受け取られる。このようにすることにより、後述する認証フォームを送信することなくユーザエージェントを利用する利用者を（ユーザ確認情報により）識別することができる。なお、前記ＨＴＴＰリダイレクトとは、ＷＷＷでデータの送受信に使われるＨＴＴＰにおけるサーバからの応答の種類の一つで、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が変更されたことを知らせることをいう。
【００２８】
認証情報管理部２００５ａと認証サーバ１００６の識別情報管理部２０１２との間、認証処理部２００５ｂと認証サーバ１００６の中間認証処理部２０１１との間、及びユーザ識別部２００５ｃと認証サーバ１００６のユーザ識別子通知部２０１０との間の接続は、例えば、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）が定めるＳＯＡＰ１．１（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ１．１）によるＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｄｕｃｅ  Ｃａｌｌ）によって行われる。
【００２９】
ユーザ情報データベース１００３、１００５は、ユーザＩＤや、パスワードをはじめとした、利用者に固有の情報を格納するテーブルとして実現される。このユーザ情報データベース１００３は、リレーショナルデータベース管理サーバに対してＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）などの問合せ言語を発行することによって、所望のユーザＩＤを持つ利用者のユーザ情報を取得、変更、削除することができるように構成されている。
【００３０】
認証サーバ１００６は、各Ｗｅｂアプリケーションサーバ１００２、１００４に対して、利用者の認証を中継するものである。
認証サーバ１００６は、Ｗｅｂサーバ部２００９、ユーザ識別子通知部２０１０、中継認証処理部２０１１、及び識別情報管理部２０１２を備えて構成される。
【００３１】
認証サーバ１００６に対して、ユーザエージェント２００２からユーザの認証要求が行われた場合、Ｗｅｂサーバ部２００９によって、その認証要求が受信される。受信された認証要求は、Ｗｅｂサーバ部２００９でその内容が解析され、中継認証処理部２０１１に転送される。
【００３２】
本実施形態の認証システムにおける特徴の一つは、認証サーバ１００６がユーザ情報データベースを持たないことである。認証サーバ１００６は、中継認証処理部２０１１により、対象となるＷｅｂアプリケーションサーバ１００２、１００４の認証エージェント２００５に認証を依頼する。本実施形態では、中継認証処理部２０１１は、受け取ったユーザの認証情報を、前述したＳＯＡＰによるＲＰＣにより、認証エージェント２００５内の認証処理部２００５ｂに送信してユーザの認証要求を行う。
【００３３】
ユーザ識別子通知部２０１０は、Ｗｅｂアプリケーションサーバ１００２、１００４のユーザ識別部２００５ｃから送信されたユーザ確認情報によるユーザＩＤの取得要求を受け付け、ユーザ確認情報に基づくユーザＩＤをＷｅｂアプリケーションサーバ１００２、１００４のユーザ識別部２００５ｃに送信する。
【００３４】
また、ユーザ識別子通知部２０１０は、利用者が、中継認証処理部２０１１を介して特定のＷｅｂアプリケーションサーバ１００２、１００４によって認証された場合に、ユーザ確認情報を生成する。
また、ユーザ識別子通知部２０１０は、利用者が、中継認証処理部２０１１を介して特定のＷｅｂアプリケーションサーバ１００２によって認証された後に、その特定のＷｅｂアプリケーションサーバ１００２とは異なるＷｅｂアプリケーションサーバ１００４に接続する際にも、ユーザ確認情報を生成する。
そして、ユーザ識別子通知部２０１０は、ＨＴＴＰリダイレクトによりユーザエージェント２００２を介して利用者が接続しようとするＷｅｂアプリケーションサーバ１００４に、前記生成したユーザ確認情報を送信する。
識別情報管理部２０１２は、識別情報管理データベース１００７に対して利用者の識別情報（ユーザ識別情報）を生成、変更、削除する処理を担う。
【００３５】
識別情報管理データベース１００７は、認証サーバ１００６において、後述する利用者の識別情報を格納するためのテーブルとして実現される。この利用者の識別情報は、リレーショナルデータベース管理サーバに対してＳＱＬなどの問合せ言語を発行することによって取得、変更、削除することができるようになっている。
【００３６】
図３は、ユーザ情報データベース１００３、１００５で管理される、ユーザ情報テーブルの登録内容の一例を概念的に示す図である。
認証情報管理部２００５ａは、利用者を識別するためのユーザＩＤや、パスワード等の認証情報を含む利用者に固有の情報を、このユーザ情報テーブル３００１を用いることにより管理することができるが、本実施形態においては、ユーザ情報テーブル３００１により、ユーザＩＤとパスワードとを管理する場合を例に挙げて説明する。なお、Ｗｅｂアプリケーション１００２、１００４を識別するためのサービスＩＤなども、このユーザ情報テーブル３００１を用いて管理することができる。
【００３７】
ユーザ情報データベース１００３、１００５は、各Ｗｅｂアプリケーションサーバ１００２、１００４で個別に管理されるため、同一の利用者でもＷｅｂアプリケーションサーバ１００２、１００４が異なるとユーザＩＤが異なる場合がある。
【００３８】
図４は、識別情報管理データベース１００７で管理される、識別情報管理テーブルの登録内容の一例を概念的に示す図である。本実施形態においては、識別情報管理テーブル４０００に登録される識別情報は、複数のＷｅｂアプリケーションサーバ１００２、１００４に登録された特定の利用者を一意に識別するためのユニーク識別子（以下、ＳＳＯＩＤと称する）４００１と、Ｗｅｂアプリケーションサーバ１００２、１００４を利用する利用者のユーザＩＤ４００２と、Ｗｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤ（ＳｅｒｖｉｃｅＩＤ）４００３とにより構成される。
【００３９】
図４に示す識別情報管理テーブル４０００おいて、一行目は、ある利用者が、サービスＩＤが“ｓｅｒｖｉｃｅＡ”で識別されるＷｅｂアプリケーションサーバ１００２において、ユーザＩＤを“ｉｃｈｉｒｏ”で登録していることを示す。同様に２行目は、サービスＩＤが“ｓｅｒｖｉｃｅＢ”で識別されるＷｅｂアプリケーションサーバ１００４において、ユーザＩＤを“ｙ−ｉｃｈｉｒｏ”で登録していることを示す。これら二つのユーザＩＤ（“ｉｃｈｉｒｏ”、“ｙ−ｉｃｈｉｒｏ”）が同一のＳＳＯＩＤ（“ｓｓｏｉｄ０１”）に紐付けられて管理されることで、認証サーバ１００６において、ユーザＩＤが“ｉｃｈｉｒｏ”である利用者と、ユーザＩＤが“ｙ−ｉｃｈｉｒｏ”である利用者とは同一の利用者であると判断される。
【００４０】
図５は、Ｗｅｂアプリケーションサーバ１００２、１００４が利用者を認証する際にユーザエージェント２００２に送信される認証フォームの一例を示した図である。
利用者は、図５に示す認証フォームに従い、ユーザＩＤやパスワードといったＷｅｂアプリケーションサーバ１００２、１００４へ接続するための認証情報を入力する。
図５（ａ）は、認証フォームを生成するスクリプトであるＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５０００ａの一例を示す。また、図５（ｂ）は、図５（ａ）のＨＴＭＬ５０００ａにより生成された認証フォームの認証画面５０００ｂの一例を示す。この認証画面５０００ｂは、ユーザエージェント２００２によりクライアントコンピュータ１００１のディスプレイに表示される。
【００４１】
図５（ａ）に示すＨＴＭＬ５０００ａにおいて、５００１は、認証サーバ１００６へ認証情報を送信するためのフォーム送信先アドレス（ＵＲＬ）である。認証フォームに入力された認証情報は、利用者が、クライアントコンピュータ１００１のマウス等を操作して、認証画面５０００ｂの“Ｓｕｂｍｉｔ”ボタン５０１１を押すことにより、認証サーバ１００６へ送信される。送信された認証情報は、認証サーバ１００６のＷｅｂサーバ部２００９を介して、中継認証処理部２０１１が受信する。そして、中継認証処理部２０１１は、受信した認証情報を、認証エージェント２００５内の認証処理部２００５ｂに送信してユーザの認証要求を行う。
【００４２】
５００２は、利用者が入力する認証情報を定義するためのスクリプトである。本実施形態においては、ユーザＩＤとパスワードとが、認証情報として定義される。
５００３は、認証サーバ１００６において、クライアントコンピュータ１００１から受信した認証情報により利用者が正常に認証された場合のＷｅｂアプリケーションサーバ１００２、１００４のリダイレクト先を示すスクリプトである。
５００４は、認証サーバ１００６において、クライアントコンピュータ１００１から受信した認証情報により利用者が正常に認証されなかった場合のＷｅｂアプリケーションサーバ１００２、１００４のリダイレクト先を示すスクリプトである。
５００５は、認証フォームを生成したＷｅｂアプリケーションサーバ１００２、１００４を識別するためのサービスＩＤを示すスクリプトである。
【００４３】
認証サーバ１００６の中継認証処理部２０１１は、図６に示すサービス情報テーブル６０００を記述した構成情報記述ファイルを読み込むことにより、各Ｗｅｂアプリケーションサーバ１００２、１００４の認証処理部２００５ｂのアクセス先を取得する。このサービス情報テーブル６０００は、各Ｗｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤ６００１と、そのＷｅｂアプリケーションサーバ１００２、１００４に対応する認証処理部２００５ｂのアクセス先（ＳＯＡＰ  Ｅｎｄ  Ｐｏｉｎｔ）６００２とにより構成される。
【００４４】
次に、本実施形態における認証システムにおいて、認証サーバ１００６を介してＷｅｂアプリケーションサーバ１００２、１００４へ接続する利用者の認証を行う方法と、Ｗｅｂアプリケーションサーバ１００２、１００４にアクセスする利用者を識別する方法とを、図７〜図１０のフローチャートを用いて説明する。
【００４５】
図７は、利用者が、ユーザエージェント２００２を介してＷｅｂアプリケーションサーバ１００２、１００４に接続した場合に、Ｗｅｂアプリケーションサーバ１００２、１００４が、認証サーバ１００６を介して、その利用者を識別する際の認証システムの動作の一例を説明するフローチャートである。
【００４６】
まず、クライアントコンピュータ１００１に配設されたマウスやキーボードなどを用いて利用者が所定の操作を行うと、クライアントコンピュータ１００１にインストールされたユーザエージェント２００２は、Ｗｅｂアプリケーションサーバ１００２、１００４に接続要求（リクエスト）を行う（ステップＳ７００１）。
【００４７】
この接続要求は、主として、利用者がクライアントコンピュータ１００１のマウスやキーボードなどを操作して、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をユーザエージェント２００２に対して入力することによって行なわれる。ユーザエージェント２００２から送信された接続要求は、Ｗｅｂアプリケーションサーバ１００２、１００４のＷｅｂサーバ部２００４によって受信され、認証エージェント２００５内のユーザ識別部２００５ｃに転送される。
【００４８】
ユーザ識別部２００５ｃは、ユーザエージェント２００２からの接続要求を受信すると、まず接続要求が認証処理を行うためのログインページへの接続要求であるか否かを判断する（ステップＳ７００２）。
このステップＳ７００２において、ユーザエージェント２００２からの接続要求がログインページへの接続要求であれば、利用者に認証情報を要求する必要があるため、後述するステップＳ７０１２に処理を進める。
【００４９】
一方、ステップＳ７００２において、ユーザエージェント２００２からの接続要求がログインページへの接続要求でない場合は、ユーザ識別部２００５ｃは、利用者が既に認証済みであるか否かの判断、即ち、ログインページを表示せずにＷｅｂアプリケーションサーバ１００２、１００４を利用させて良いか否かの判断を、すでに接続されたセッションが存在するか否かで判断する（ステップＳ７００３）。
【００５０】
本実施形態においては、有効なセッションの存在確認は、Ｃｏｏｋｉｅと呼ばれる技術を使用することで実現する。Ｃｏｏｋｉｅは、Ｗｅｂサーバ部２００４とユーザエージェント２００２との間で、前回の接続状態を持続的に保持するための技術として広く用いられているものである。本実施形態では、セッションを識別するユーザエージェント識別子（以下、セッションＩＤと称する）をセッションＣｏｏｋｉｅとして保持する。セッションＣｏｏｋｉｅとして保持されるセッションＩＤは、Ｗｅｂアプリケーションサーバ１００２、１００４とユーザエージェント２００２との間に確立したセッションに対して１対１に生成されるセッションオブジェクトを一意に識別できる識別子である。
【００５１】
セッションＣｏｏｋｉｅは、ユーザエージェント２００２が起動して初めてＷｅｂアプリケーションサーバ１００２、１００４にアクセスした際の応答に対して発行される。一般に、Ｗｅｂアプリケーションサーバ１００２、１００４には、利用者が操作するためのログアウトボタンが設けられており、利用者がこのログアウトボタンを押すことで、セッションを終了することができる。そして、このセッションの終了に伴って、Ｗｅｂアプリケーションサーバ１００２、１００４におけるセッションオブジェクトも破棄される。
【００５２】
ステップＳ７００３において、有効なセッションＩＤが確認された場合には、ユーザ識別部２００５ｃは、すでに認証済みの利用者であると判断して、認証エージェントの処理を終了し、Ｗｅｂアプリケーション本体２００６へ処理要求を転送する（ステップＳ７００４）。
【００５３】
一方、ステップＳ７００３において有効なセッションＩＤが確認されない場合には、ユーザ識別部２００５ｃは、ユーザエージェント２００２からの接続要求にユーザ確認情報が含まれるか否かを判断する（ステップＳ７００５）。
【００５４】
このステップＳ７００５において、ユーザ確認情報が含まれていないと判断された場合には、ユーザ識別部２００５ｃは、利用者の認証状況を確認するために認証サーバ１００６へユーザエージェントを転送し（ＨＴＴＰリダイレクトを行い）、ユーザ認証の確認要求を行う。ユーザエージェントを認証サーバ２００８へ転送する際には、転送元であるＷｅｂアプリケーションサーバ１００２、１００４を示すサービスＩＤがＵＲＬパラメータとして付加される（ステップＳ７００９）。
【００５５】
ユーザ認証の確認要求は、認証サーバ１００６のＷｅｂサーバ部２００９を介してユーザ識別子通知部２０１０が受け取る。ユーザ識別子通知部２０１０は、認証サーバ１００６と転送されたユーザエージェントとの間におけるセッション情報を、セッションＩＤを取得することにより確認する（ステップＳ７０１０）。ここで取得されるセッションＩＤは、認証サーバ１００６とユーザエージェントとの間に確立したセッションに対して１対１に生成されるセッションオブジェクトを一意に識別できる識別子である。
【００５６】
セッションＣｏｏｋｉｅは、ユーザエージェント２００２が起動して初めて認証サーバ１００６を介してＷｅｂアプリケーションサーバ１００２、１００４に認証された際に発行される。
そして、ステップＳ７０１０において、有効なセッションＩＤが取得された場合には、ユーザ確認情報（ユーザＩＤ）を取得する際の認証システムの動作の一例を説明するフローチャート（図８）に進む。
【００５７】
一方、ステップＳ７０１０において、有効なセッションＩＤが取得されない場合には、ユーザ識別子通知部２０１０は、Ｗｅｂアプリケーションサーバ１００２、１００４のログインページにユーザエージェントを転送する（ステップＳ７０１１）。
ユーザエージェントがログインページに転送されると、ユーザ識別部２００５ｃは、図５に示した認証フォームに基づいてログインページを生成し（ステップＳ７０１２）、生成したログインページを、Ｗｅｂサーバ部２００４を介してユーザエージェント２００２に送信する（ステップＳ７０１３）。
ユーザエージェント２００２がログインページを受信すると、中継認証を行う際の認証システムの動作の一例を説明するフローチャート（図９）に進む。
【００５８】
前記ステップＳ７００５において、ユーザ確認情報が取得された場合には、ユーザ識別部２００５ｃは、認証サーバ１００６のユーザ識別子通知部２０１０に、ユーザ確認情報に従うユーザＩＤを取得するため、ユーザ確認情報を送信し、ユーザＩＤの通知要求を行う。
ユーザＩＤの通知要求を受信した認証サーバ１００６の識別子通知部２０１０は、ユーザＩＤの通知要求内のユーザ確認情報に対応するユーザＩＤを要求元のユーザ識別部２００５ｃに通知する（ステップＳ７００６）。
【００５９】
ユーザ識別部２００５ｃは、認証サーバ１００６から利用者のユーザＩＤを受信する（ステップＳ７００７）。そして、認証フォームを掲示することなく利用者を識別して、Ｗｅｂアプリケーション本体２００６へのアクセスを許可する。そして、利用者が利用するユーザエージェント２００２との間にセッションＩＤを生成して新しいセッションを開始する（ステップＳ７００８）。
【００６０】
図８は、Ｗｅｂアプリケーションサーバ１００２、１００４がユーザエージェント２００２を利用する利用者を識別するために、認証サーバ１００６にユーザエージェントを転送し、ユーザ認証の確認要求を行い、利用者のユーザ確認情報を取得するまでの認証システムの動作の一例を説明するフローチャートである。
図７のステップＳ７０１０において、ユーザ認証の確認要求を行うＷｅｂアプリケーションサーバ１００２、１００４からユーザエージェントが認証サーバ１００６に転送され、ユーザ識別子通知部２０１０により有効なセッションＩＤが取得された場合、ユーザ識別子通知部１０１０は、そのセッションＩＤに対応するセッションオブジェクトからＳＳＯＩＤを取得する（ステップＳ８００１）。
【００６１】
後述する通り、認証サーバ１００６において、ユーザエージェント２００２から送信された認証情報により利用者を認証した際に、その認証情報のユーザＩＤと認証先のＷｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤに紐付けられているＳＳＯＩＤがセッションオブジェクトに付加される。
【００６２】
ユーザ識別子通知部２０１０は、識別情報管理部２０１２を介して取得したＳＳＯＩＤと、認証確認要求に含まれる要求元のＷｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤとが紐付けられている識別情報を、識別情報管理データベース１００７で管理される識別情報管理テーブル４０００から取得し、取得した識別情報内のユーザＩＤを得る（ステップＳ８００２）。
【００６３】
このステップＳ８００２において、ユーザＩＤが得られない場合には、ユーザ識別子通知部２０１０は、Ｗｅｂアプリケーションサーバ１００２、１００４のログインページにユーザエージェントを転送する。ユーザエージェントがログインページに転送されると、ユーザ識別部２００５ｃは、図５に示した認証フォームに基づいたログインページを生成し（ステップＳ８００３）、生成したログインページを、Ｗｅｂサーバ部２００４を介してユーザエージェント２００２に送信する（ステップＳ８００４）。
【００６４】
ユーザエージェント２００２がログインページを受信すると、中継認証を行う際の認証システムの動作の一例を説明するフローチャート（図９）に進む。
【００６５】
一方、ステップＳ８００２において、ユーザＩＤが得られた場合には、ユーザ識別子通知部２０１０は、得られたユーザＩＤに対応するユーザ確認情報を生成する（ステップＳ８００５）。
ユーザ確認情報を生成すると、ユーザ識別子通知部２０１０は、ユーザ確認情報をＵＲＬパラメータとしてユーザエージェント２００２へ転送する（ステップＳ８００６）。
以降、図７に示すように、ステップＳ８００６で転送されたユーザ確認情報をもってユーザエージェント２００２がアプリケーションサーバ１００２、１００４にリクエスト（接続要求）を送信するため、図７のステップＳ７００７において、Ｗｅｂアプリケーションサーバ１００２、１００４は、ユーザエージェント２００２を利用する利用者を識別することができる。
【００６６】
図９は、図７及び図８のフローチャートでユーザエージェント２００２にログインページが送信された後に、ログインページに従った利用者の認証情報を認証サーバ１００６が受け取って、利用者を認証する際の認証システムの動作の一例を説明するフローチャートである。
まず、ログインページをユーザエージェント２００２が受け取ると、図５（ｂ）に示すような認証画面５０００ｂが、クライアントコンピュータ１００１のディスプレイに表示される。利用者は、認証画面５０００ｂに従い、接続しようとするＷｅｂアプリケーションサーバ１００２、１００３に対する認証情報を入力し、Ｓｕｂｍｉｔボタン５０１１を押す。
【００６７】
ここで、認証情報は、事前に利用者によりアプリケーションサーバ１００２、１００４に登録されているものである。本実施形態においては、認証情報は、ユーザＩＤとパスワードとにより構成される。
【００６８】
利用者により認証情報が入力され、Ｓｕｂｍｉｔボタン５０１１が押されると、図５（ａ）に示したように、認証情報及びログインページを生成し、ログインページを送信したＷｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤが認証サーバ１００６に送信される（ステップＳ９００１）。
【００６９】
認証サーバ１００６に送信された認証情報は、Ｗｅｂサーバ部２００９を介して中継認証処理部２０１１が受け取る。
中継認証処理部２０１１は、受け取ったサービスＩＤに対応するＷｅｂアプリケーションサーバ１００２、１００４の認証処理部２００５ｂのアクセス先を図６に示したサービス情報テーブル６０００から取得し、受け取った認証情報中のユーザＩＤを、取得したアクセス先に送信し、認証要求を行う（ステップＳ９００２）。
認証要求を受け取ったＷｅｂアプリケーションサーバ１００２、１００４の認証処理部２００５ｂは、認証要求を解析しユーザＩＤを取得する（ステップＳ９００３）。
【００７０】
アプリケーションサーバ１００２、１００４の認証処理部２００５ｂと認証サーバ１００６の中継認証処理部２０１１は、前述したとおり、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）が定めるＳＯＡＰ１．１によるＲＰＣによって接続される。
【００７１】
ユーザＩＤを取得した認証処理部２００５ｂは、そのユーザＩＤに紐付けられている認証情報をユーザ情報データベース１００３、１００５から取得し、認証サーバ１００６の中継認証処理部２０１１に送信する（ステップＳ９００４）。
中継認証処理部２０１１は、アプリケーションサーバ１００２、１００４の認証処理部２００５ｂから受け取った認証情報と、ユーザエージェント２００２から取得した認証情報とが一致するかどうかを判断する。本実施形態においては、双方から受け取ったパスワードが一致するかどうかを判断して、認証情報が一致するかどうかを判断する（ステップＳ９００５）。
【００７２】
このステップＳ９００５において、認証情報が一致しなかった場合、中継認証処理部２０１１は、認証情報を送信したユーザエージェント２００２をログインページの認証フォームで指定されている認証失敗時のＵＲＬ（図５（ａ）スクリプト５００４に記述されているＵＲＬ）へ転送する（ステップＳ９００６）。
一方、ステップＳ９００５において、認証情報が一致した場合、ＳＳＯＩＤを生成する際の認証システムの動作の一例を説明するフローチャート（図１０）に進む。
【００７３】
図１０は、図９のステップＳ９００５において、認証情報が一致した場合、複数のＷｅｂアプリケーションサーバ１００２、１００４間で、利用者を一意に特定するためのＳＳＯＩＤを取得、もしくは生成するとともに、ログインページを送信し利用者を認証しようとするＷｅｂアプリケーションサーバ１００２、１００４に利用者のユーザＩＤを通知するためのユーザ確認情報を生成して、ユーザエージェント２００２へ送信する際の認証システムの動作の一例を説明するフローチャートである。
【００７４】
図９のステップＳ９００５において、認証サーバ１００６の中継認証処理部２０１１により、ユーザエージェント２００２を介して利用者から受け取った認証情報が正しいと判断された場合、中継認証処理部２０１１は、ユーザＩＤとサービスＩＤとをユーザ識別子通知部２０１０に転送する。ユーザ識別子通知部２０１０は、ユーザＩＤとサービスＩＤとをキーにして、識別情報管理部２０１２を介して識別情報管理データベース１００７から識別情報を検索し、ＳＳＯＩＤ（１）を取得する（ステップＳ１１０１）。
【００７５】
このステップＳ１１０１において、識別情報が検索されずＳＳＯＩＤ（１）が取得できない場合には、ユーザ識別子通知部２０１０は、新規にＳＳＯＩＤを発行し、ユーザＩＤとサービスＩＤとに紐付けて、識別情報管理データベース１００７内の識別情報管理テーブル４０００に、識別情報を新規に登録しステップＳ１１０７に進む（ステップＳ１１０２）。
【００７６】
一方、ステップＳ１１０１において、識別情報が検索されＳＳＯＩＤ（１）が取得された場合には、ユーザ識別子通知部２０１０は、認証情報を送信したユーザエージェント２００２と認証サーバ１００６との間に有効なセッションが確立されているか否かを判断する（ステップＳ１１０３）。この判断の結果、有効なセッションが確立されていない場合には、後述するステップＳ１１０７に進む。
【００７７】
一方、ステップＳ１１０３において、有効なセッションが確立されていると判断された場合には、ユーザ識別子通知部２０１０は、セッション情報からＳＳＯＩＤ（２）を取得する（ステップＳ１１０４）。
【００７８】
次に、ユーザ識別子通知部２０１０は、識別情報管理データベース１００７から取得したＳＳＯＩＤ（１）と、セッション情報から取得したＳＳＯＩＤ（２）とが同一のものか否かを判断する（ステップＳ１１０５）。この判断の結果、二つのＳＳＯＩＤが同一のものであればステップＳ１１０７に進む。
【００７９】
一方、ステップＳ１１０５において、ＳＳＯＩＤ（１）とＳＳＯＩＤ（２）とが異なる場合、ＳＳＯＩＤ（１）を含む、識別情報管理データベース１００７内の識別情報管理テーブル４０００に登録されているすべての識別情報のＳＳＯＩＤをＳＳＯＩＤ（２）に変更し、ＳＳＯＩＤ（１）を含む全ての識別情報を識別情報管理テーブル４０００から削除する（ステップＳ１１０６）。
なお、ある利用者が、複数のＷｅｂアプリケーションサーバ１００２、１００４においてそれぞれはじめて認証される際に、認証時のユーザエージェント２００２と認証サーバ１００６との間で確立されるセッションＩＤが異なる場合、認証サーバ１００６のユーザ識別子通知部２０１０においては、ＳＳＯＩＤに紐付けられる認証情報（ユーザＩＤ）とサービスＩＤとがそれぞれ異なるように識別情報が生成される。
【００８０】
ここで、各識別情報が生成された後、認証サーバ１００６とユーザエージェント２００２との間でセッションが確立している最中に、複数のＷｅｂアプリケーションサーバ１００２、１００４にアクセスした際には、ＳＳＯＩＤが異なる利用者の識別情報を特定のＳＳＯＩＤに統一するようにしている。このようにして、複数のＷｅｂアプリケーションサーバ１００２、１００４間で利用者を一意に特定するための識別情報を自動生成することが本実施形態の認証システムの特徴の一つである。
【００８１】
以上のようにしてＳＳＯＩＤの取得処理及び生成処理が終了すると、ユーザ識別子通知部２０１０は、認証サーバ１００６とユーザエージェント２００２との間のセッション情報にＳＳＯＩＤを付加し、ユーザ確認情報を生成する（ステップＳ１１０７）。なお、セッション情報が既に存在する場合にはそのセッション情報を利用し、存在しない場合には新たにセッション情報を生成する。
【００８２】
ステップＳ１１０７において、ユーザ確認情報が生成され、有効なセッションが確立されると、ユーザ識別子通知部２０１０は、認証確認の要求元であるＷｅｂアプリケーションサーバ１００２、１００４へユーザ確認情報をＵＲＬパラメータとしてユーザエージェント２００２へ転送する（ステップＳ１１００８）。
なお、ユーザ確認情報の転送先は、図５（ａ）に示したＨＴＭＬ５０００ａのスクリプト５００３で指定されている認証成功時のＵＲＬである。
【００８３】
以上、図７〜図１０を用いて本実施形態の認証システムにおける利用者の認証方法、識別方法、及び識別子生成方法を説明した。本実施形態では、Ｗｅｂアプリケーションサーバ１００２、１００４が、利用者のユーザ識別子（ユーザＩＤ）を取得するためにユーザ確認情報を用いて行っているが、このユーザ識別子の取得方法は、標準化団体であるＯＡＳＩＳ（Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  ｔｈｅ  Ａｄｖａｎｃｅｍｅｎｔ  ｏｆ  Ｓｔｒｕｃｔｕｒｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔａｎｄａｒｄｓ）が策定しているＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を採用することが望ましい（ｈｔｔｐ：／／ｗｗｗ．ｏａｓｉｓ−ｏｐｅｎ．ｏｒｇ）。
【００８４】
このＳＡＭＬによれば、利用者の認証情報など、機密性の高い情報を安全にＷｅｂアプリケーションサーバ１００２、１００４に転送することができる。前記ＳＡＭＬの詳細に関しては、ＯＡＳＩＳが発行する標準仕様書Ａｓｓｅｒｔｉｏｎｓ  ａｎｄ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ｔｈｅ  ＯＡＳＩＳ  Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  （ＳＡＭＬ）  Ｖ１．１、及びＢｉｎｄｉｎｇｓ  ａｎｄ  Ｐｒｏｆｉｌｅｓ  ｆｏｒ  ＯＡＳＩＳ  Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  （ＳＡＭＬ）  Ｖ１．１で詳細に述べられている。ユーザ識別子の取得方法は、ＳＡＭＬの仕様の中でもＳＡＭＬ  Ａｒｔｉｆａｃｔ／Ｂｒｏｗｓｅｒ  Ｐｒｏｆｉｌｅと呼ばれる、認証サーバ１００６が認証した利用者の認証情報をＷｅｂアプリケーションサーバ１００２、１００４に対して通知する技術を採用することができる。
【００８５】
次に、図１１のフローチャートを用いて、Ｗｅｂアプリケーションサーバ１００２、１００４のユーザ情報データベース１００３、１００５に登録されている利用者の認証情報が変更される場合に、その変更内容を認証サーバ１００６の識別情報管理データベース１００７に登録されている関連する識別情報に反映させる際の認証システムの動作の一例を説明する。
【００８６】
利用者は、Ｗｅｂアプリケーションサーバ１００２、１００３に登録した認証情報を変更する場合、クライアントコンピュータ１００１のマウスやキーボードなどを操作子、ユーザエージェント２００２を介してＷｅｂアプリケーションサーバ１００２、１００４に認証情報変更要求を送信する（ステップＳ１１１１）。
本実施形態においては、利用者がＷｅｂアプリケーションサーバ１００２、１００４の利用を解約して認証情報を含むユーザ情報を削除する場合と、利用者が使用するユーザＩＤを変更する場合に認証情報変更要求がＷｅｂアプリケーションサーバ１００２、１００３に送信されるようにしている。
【００８７】
認証情報変更要求は、Ｗｅｂアプリケーションサーバ１００２、１００４のＷｅｂサーバ部２００４を介して認証情報管理部２００５ａで受け取られる。認証管理情報管理部２００５ａは、受け取った認証情報変更要求に合わせてユーザ情報データベース１００３に登録されている識別情報を変更するための認証情報変更処理を実行する（ステップＳ１１１２）。
【００８８】
そして、認証情報管理部２００５ａは、ユーザ情報データベース１００３、１００５に登録されている識別情報を変更でき、前記受け取った認証情報変更要求の内容がユーザ情報データベース１００３、１００５に登録されている識別情報に正常に反映されたか否かを判断する（ステップＳ１１１３）。
この判断の結果、前記認証情報変更要求の内容がユーザ情報データベース１００３、１００５に正常に反映されなかった場合は、認証情報管理部２００５ａは、Ｗｅｂサーバ部２００４を介してユーザエージェント２００２にエラーページを送信する（ステップＳ１１１４）。
一方、前記認証情報変更要求の内容がユーザ情報データベース１００３に正常に反映された場合には、認証情報管理部２００５ａは、認証サーバ１００６へ、変更前の認証情報、変更後の認証情報、及び送信元であるＷｅｂアプリケーションサーバ１００２、１００４を識別するサービスＩＤを送信し、識別情報変更要求を行う（ステップＳ１１１５）。
【００８９】
前記識別情報変更要求は、認証サーバ２００８の識別情報管理部２０１２で受け取られる（ステップＳ１１１６）。
なお、Ｗｅｂアプリケーションサーバ１００２、１００４の認証情報管理部２００５ａと認証サーバ１００６の識別情報管理部２０１２との間は、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）が定めるＳＯＡＰ１．１によるＲＰＣによって接続されている。
【００９０】
識別情報管理部２０１２は、変更前の認証情報のユーザＩＤと、サービスＩＤとをキーに、変更対象となる識別情報が識別情報管理データベース１００７に登録されているか否かを判断する（ステップＳ１１１７）。この判断の結果、変更対象となる識別情報が識別情報管理データベース１００７に登録されていない場合には、そのまま処理を終了する。
一方、変更対象となる識別情報が識別情報管理データベース１００７に登録されている場合には、識別情報管理部２０１２は、その識別情報を取得し、前記受け取った変更後の認証情報に合わせて前記取得した識別情報を更新する（ステップＳ１１１８）。具体的に説明すると、変更後の認証情報がユーザＩＤを変更するものであれば、取得した識別情報のユーザＩＤを書き換える。また、変更後の認証情報が識別情報を削除するものであれば、取得した識別情報を識別情報管理データベース１００７から削除する。
【００９１】
以上のように本実施形態では、それぞれ異なるサービスを提供する複数のＷｅｂアプリケーションサーバ１００２、１００４は、ユーザ情報データベース１００３、１００５を用いて、各々のサービスの利用者を管理する。一方、各Ｗｅｂアプリケーションサーバ１００２、１００４の利用者の認証を中継する認証サーバ１００６は、識別情報管理データベース１００７を用いて複数のＷｅｂアプリケーションサーバ１００２、１００４間で利用者を一意に識別することで、各Ｗｅｂアプリケーションサーバ１００２、１００４の利用者の認証処理を中継するとともにシングルサインオン（ＳＳＯ）を利用者に提供する。以上のようにすることで、各Ｗｅｂアプリケーションサーバ１００２、１００４が、利用者を認証するための認証情報を独自に管理することができるとともに、複数のＷｅｂアプリケーションサーバ１００２、１００４からサービスの提供を受ける同一の利用者を認証サーバ１００６で管理することができる。これにより、ＳＳＯの対象となる全てのアプリケーションサーバが持つユーザ情報（認証情報）を統一化したり、特定の認証サーバで管理したりすることなくＳＳＯ機能を実現したシステムを容易に実現できる。
さらに、認証サーバ１００６が管理する識別情報は、各Ｗｅｂアプリケーションサーバ１００２、１００４において、利用者が認証サーバ１００６を介して中継認証される際に自動生成されるようにするとともに、ユーザ情報中の認証情報が変更された際には、認証サーバ１００６が管理する識別情報にその変更された内容が反映されるようにした。これにより、認証サーバ１００６の運用コストを低減させることができる。
【００９２】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００９３】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９４】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００９５】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施形態を示し、認証システムの構成の一例を表した図である。
【図２】本発明の実施形態を示し、認証システムの更に詳細な構成の一例を示す図である。
【図３】本発明の実施形態を示し、ユーザ情報テーブルの登録内容の一例を概念的に示す図である。
【図４】本発明の実施形態を示し、識別情報管理テーブルの登録内容の一例を概念的に示す図である。
【図５】本発明の実施形態を示し、認証フォームの一例を示した図である。
【図６】本発明の実施形態を示し、サービス情報テーブルの登録内容の一例を概念的に示す図である。
【図７】本発明の実施形態を示し、アプリケーションサーバに接続した利用者を識別する際の認証システムの動作の一例を説明するフローチャートである。
【図８】本発明の実施形態を示し、ユーザ確認情報を取得する際の認証システムの動作の一例を説明するフローチャートである。
【図９】本発明の実施形態を示し、中継認証を行う際の認証システムの動作の一例を説明するフローチャートである。
【図１０】本発明の実施形態を示し、ＳＳＯＩＤを生成する際の認証システムの動作の一例を説明するフローチャートである。
【図１１】本発明の実施形態を示し、Ｗｅｂアプリケーションサーバのユーザ情報データベースに登録されている利用者の認証情報が変更される場合に、その変更内容を認証サーバに反映させる際の認証システムの動作の一例を説明するフローチャートである。
【符号の説明】
【００９７】
１００１  クライアントコンピュータ
１００２、１００４  Ｗｅｂアプリケーションサーバ
１００３、１００５  ユーザ情報データベース
１００６  認証サーバ
１００７  識別情報管理データベース
１００８  インターネット
２００２  ユーザエージェント
２００３  Ｗｅｂアプリケーションサーバ
２００４  Ｗｅｂサーバ部
２００５  認証エージェント
２００５ａ  認証情報管理部
２００５ｂ  認証処理部
２００５ｃ  ユーザ識別部
２００６  Ｗｅｂアプリケーション本体
２００９  Ｗｅｂサーバ部
２０１０  ユーザ識別子通知部
２０１１  中継認証処理部
２０１２  識別情報管理部
４０００  識別情報管理テーブル
４００１  ＳＳＯＩＤ
４００２  ユーザＩＤ
４００３  サービスＩＤ
【図１】
2005346570.tif 000003
【図２】
2005346570.tif 000004
【図３】
2005346570.tif 000005
【図４】
2005346570.tif 000006
【図５】
2005346570.tif 000007
【図６】
2005346570.tif 000008
【図７】
2005346570.tif 000009
【図８】
2005346570.tif 000010
【図９】
2005346570.tif 000011
【図１０】
2005346570.tif 000012
【図１１】
2005346570.tif 000013