(57)【要約】【課題】統合認証のためのシステム、方法およびプログラム製品を提供する。【解決手段】第１のコンピュータが、アプリケーションにアクセスするために、第２のコンピュータへリクエストを送信する。それに応答して、第２のコンピュータは、ユーザがアプリケーションに対してまだ認証されていないと判断する。それに応答して、第２のコンピュータは、リクエストを第３のコンピュータへリダイレクトする。それに応答して、第３のコンピュータは、ユーザが第３のコンピュータに対して認証されていると判断する。それに応答して、第３のコンピュータは、アプリケーションに対してユーザ認証を行う。それに応答して、第２のコンピュータは、アプリケーションと、ユーザとの間のセッションのセッション・キーを第３のコンピュータへ返送する。セッションは、第２のコンピュータまたはアプリケーションのスコープを有するが、ドメインのスコープは有しない。第２のアプリケーションに対してユーザが認証されること、およびユーザと、第２のコンピュータまたはアプリケーションとの間のセッションのセッション・キーが、第３のコンピュータによって第２のコンピュータから受信されることに応答して、第３のコンピュータは、ドメインのスコープを備える別のセッション・キーを生成し、ドメイン・スコープ・セッション・キーを、第１のコンピュータへ送信する。第１のコンピュータは、ドメイン・スコープ・セッション・キーとともに、別のリクエストをアプリケーションへ送信する。【選択図】図１
2011522307.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行う方法であって、前記方法は、
前記第１のコンピュータが、前記第１のアプリケーションにアクセスするために、前記第２のコンピュータへリクエストを送信するステップと、それに応答して、前記第２のコンピュータが、前記ユーザは、前記第１のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第２のコンピュータが、前記リクエストを第３のコンピュータへリダイレクトするステップと、それに応答して、前記第３のコンピュータが、前記ユーザは前記第３のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第３のコンピュータが、前記第１のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第２のコンピュータが、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第３のコンピュータへ返送するステップであって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記ステップと、
前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記第３のコンピュータが、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを、前記第１のコンピュータへ送信するステップと、
前記第１のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第１のアプリケーションへ送信するステップと、それに応答して、前記第１のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のコンピュータに応答するステップと、
を含む方法であって、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループであり、これらは、同じエンティティによって所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有する、方法。
【請求項２】
前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって、前記第３のコンピュータに登録するステップをさらに含む、請求項１に記載の方法。
【請求項３】
以下の後続ステップ：
前記第１のコンピュータが、前記ドメイン内の第４のコンピュータ内の第２のアプリケーションにアクセスするために、前記第４のコンピュータへ第３のリクエストを送信するステップと、それに応答して、前記第４のコンピュータが、前記ユーザは、前記第２のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第４のコンピュータが、前記第３のリクエストを前記第３のコンピュータへリダイレクトするステップと、それに応答して、前記第３のコンピュータが、前記ユーザは前記第３のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第３のコンピュータが、前記第２のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第４のコンピュータが、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第３のコンピュータへ返送するステップであって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記ステップと、
前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記第３のコンピュータが、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを前記第１のコンピュータへ送信するステップと、
前記第１のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第２のアプリケーションへ送信するステップと、それに応答して、前記第２のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識して、前記第２のアプリケーションに対して送信された前記別のリクエストに応じて前記第１のコンピュータに応答するステップと、
をさらに含む、上記請求項のうちのいずれかに記載の方法。
【請求項４】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行うためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、
コンピュータ可読媒体と、
前記第２のコンピュータにおいて実行される第１のプログラム命令であって、前記第１のアプリケーションにアクセスするための前記第１のコンピュータからのリクエストに応答して、前記ユーザが前記第１のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第３のコンピュータへリダイレクトする、前記第１のプログラム命令と、
前記第３のコンピュータにおいて実行される第２のプログラム命令であって、前記第３のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第１のアプリケーションに対して前記ユーザの認証を行う、前記第２のプログラム命令と、
前記第２のコンピュータにおいて実行される第３のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第３のプログラム命令であって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第３のプログラム命令と、
前記第３のコンピュータにおいて実行される第４のプログラム命令であって、前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始する、前記第４のプログラム命令と、
前記第２のコンピュータにおいて実行される第５のプログラム命令であって、前記第１のアプリケーションにアクセスするための、前記第１のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のアプリケーションによる前記第１のコンピュータへの応答を開始する、前記第５のプログラム命令と、
を含み、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有し、
前記第１、第２、第３、第４、および第５のプログラム命令は、前記コンピュータ可読記憶媒体に記憶されている、コンピュータ・プログラム製品。
【請求項５】
前記第３のコンピュータにおいて実行される第７のプログラム命令であって、前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって前記第３のコンピュータに登録できるようにする、前記第７のプログラム命令であって、前記コンピュータ可読記憶媒体に記憶されている、前記第７のプログラム命令をさらに含む、請求項４に記載のコンピュータ・プログラム製品。
【請求項６】
前記コンピュータ・プログラム製品は、
前記ドメイン内の第４のコンピュータにおいて実行される第７のプログラム命令であって、前記第１のコンピュータから、前記第４のコンピュータ内の第２のアプリケーションにアクセスするための第３のリクエストを受信し、それに応答して、前記ユーザが、前記第２のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第３のリクエストを前記第３のコンピュータへリダイレクトする、前記第７のプログラム命令
をさらに含み、
前記第２のプログラム命令は、前記リダイレクトされた第３のリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第２のアプリケーションに対して前記ユーザの認証を行い、
前記コンピュータ・プログラム製品は、
前記第４のコンピュータにおいて実行される第８のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第８のプログラム命令であって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第８のプログラム命令
をさらに含み、
前記第４のプログラム命令は、前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始し、
前記第７のプログラム命令は、前記第１のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第２のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識し、前記第２のアプリケーションへ送信された前記別のリクエストに応じて前記第１のコンピュータに応答し、
前記第７および第８のプログラム命令は、前記コンピュータ可読記憶媒体に記憶されている、請求項４に記載のコンピュータ・プログラム製品。
【請求項７】
前記第７および第８のプログラム命令は、前記第２のアプリケーションの一部である、請求項６に記載のコンピュータ・プログラム製品。
【請求項８】
前記第１、第３、および第５のプログラム命令は、前記第１のアプリケーションの一部である、請求項４〜７のいずれかに記載のコンピュータ・プログラム製品。
【請求項９】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行うコンピュータ・システムであって、前記コンピュータ・システムは、
第１の中央処理ユニットを備えた前記第２のコンピュータと、
第２の中央処理ユニットを備えた第３のコンピュータと、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第１のプログラム命令であって、前記第１のアプリケーションにアクセスするための前記第１のコンピュータからのリクエストに応答して、前記ユーザが前記第１のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第３のコンピュータへリダイレクトする、前記第１のプログラム命令と、
前記第２の中央処理ユニットによって実行されるよう前記第３のコンピュータに記憶されている第２のプログラム命令であって、前記第３のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第１のアプリケーションに対して前記ユーザの認証を行う、前記第２のプログラム命令と、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第３のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第３のプログラム命令であって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第３のプログラム命令と、
前記第２の中央処理ユニットによって実行されるよう前記第３のコンピュータに記憶されている第４のプログラム命令であって、前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始する、前記第４のプログラム命令と、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第５のプログラム命令であって、前記第１のアプリケーションにアクセスするための、前記第１のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のアプリケーションによる前記第１のコンピュータへの応答を開始する、前記第５のプログラム命令と、
を含み、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有する、コンピュータ・システム。
【請求項１０】
前記第２の処理ユニットによって実行されるよう、前記第３のコンピュータに記憶されている第７のプログラム命令であって、前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって前記第３のコンピュータに登録できるようにする、前記第７のプログラム命令をさらに含む、請求項９に記載のコンピュータ・システム。
【請求項１１】
前記コンピュータ・システムは、
前記ドメイン内にあり、第３の中央処理ユニットを備える第４のコンピュータと、
前記第３の中央処理ユニットによって実行されるよう前記第４のコンピュータに記憶されている第７のプログラム命令であって、前記第１のコンピュータから、前記第４のコンピュータ内の第２のアプリケーションにアクセスするための第３のリクエストを受信し、それに応答して、前記ユーザが、前記第２のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第３のリクエストを前記第３のコンピュータへリダイレクトする、前記第７のプログラム命令と、
をさらに含み、
前記第２のプログラム命令は、前記リダイレクトされた第３のリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第２のアプリケーションに対して前記ユーザの認証を行い、
前記コンピュータ・システムは、
前記第３の中央処理ユニットによって実行されるよう前記第４のコンピュータに記憶されている第８のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第８のプログラム命令であって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第８のプログラム命令
をさらに含み、
前記第４のプログラム命令は、前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始し、
前記第７のプログラム命令は、前記第１のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第２のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識し、前記第２のアプリケーションへ送信された前記別のリクエストに応じて前記第１のコンピュータに応答する、
請求項９に記載のコンピュータ・システム。
【請求項１２】
前記第７および第８のプログラム命令は、前記第２のアプリケーションの一部である、請求項１１に記載のコンピュータ・システム。
【請求項１３】
前記第１、第３、および第５のプログラム命令は、前記第１のアプリケーションの一部である、請求項９〜１２のいずれかに記載のコンピュータ・システム。
【請求項１４】
請求項１〜３のいずれかに記載の方法の前記ステップを実行するためのコンピュータ実装可能命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、コンピュータ・プログラムに対するユーザ認証に関し、特に、１つ以上のアプリケーション・サーバにある１つ以上のアプリケーションに対する、クライアント・コンピュータのユーザの統合認証（ｃｏｎｓｏｌｉｄａｔｅｄ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ）に関する。
【背景技術】
【０００２】
機密性の高いアプリケーション、または機密性の高いデータを管理するアプリケーションが、アプリケーションまたはそのデータに対するユーザ・アクセスを承諾する前にユーザ認証を要求することは一般的である。認証は、権限のないユーザまたは未知のユーザが、アプリケーションの恩恵を受けること、アプリケーションを攻撃すること、またはアプリケーションにより管理されているデータに攻撃をすること、もしくはそれを利用することを防ぐ。認証は通常、ユーザ識別子（ｕｓｅｒＩＤ：ｕｓｅｒ  ｉｄｅｎｔｉｆｉｅｒ）に対する有効なパスワードを要求する。
【０００３】
ユーザ認証を行うウェブ・アプリケーションに関して、「セッション・クッキー」を生成し、セッション・クッキーを記録し、セッション・クッキーを、それが記憶されるユーザのコンピュータのウェブ・ブラウザへ送信することは周知のことであった。セッション・クッキーは、セッションおよびそのセッションが有効であるアプリケーションの識別子を含む。ウェブ・ブラウザは、セッション・クッキーを、後続のリクエストとともにウェブ・アプリケーションへ送信して、同セッションにおいてユーザが既にウェブ・アプリケーションに対し認証済みであることをウェブ・アプリケーションに通知する。セッション・クッキーが、そのセッションを確立した同じアプリケーションに対するリクエストとともに送信されれば、アプリケーションは、そのセッションを認識し、そのユーザの認証情報を再びリクエストすることはない。ウェブ・ブラウザはさらに、このセッション・クッキーを、別のウェブ・アプリケーションに対する後からのリクエストとともに送信することもできる。しかし、この別のウェブ・アプリケーションは、そのセッションのいかなるレコードも有しないため、この別のウェブ・アプリケーションと最新のセッションを確立するようユーザの認証情報をリクエストする。ウェブ・ブラウザが、リクエストとともにいかなるセッション・クッキーも含めていなければ、その結果、この別のウェブ・アプリケーションは、この別のウェブ・アプリケーションと最新のセッションを確立するようユーザの認証情報をリクエストする。セッション・クッキーは、セッションの終わりに有効期限が切れ、そのセッションおよびセッション・クッキーを確立したアプリケーションは、セッションの識別子を削除または無効化する。
【０００４】
一部の企業は、複数の内部および外部ウェブサイトを有し、複数のウェブ・サーバが種々のアプリケーションを実行している。セッションの始まりに、ユーザがアクセスしたい企業内の各アプリケーションに対して別々に自分のｕｓｅｒＩＤおよびパスワードを与えるようユーザに要求することは周知のことであった。そのようなシナリオでは、各アプリケーションは、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせのリストを保持すること、または中央ディレクトリの当該リストにアクセスして、有効な組み合わせのリストと、リクエスタによって提示された組み合わせとを比較することができる。このシナリオでは、ユーザは、すべてのアプリケーションにアクセスするためにユーザ認証を行う必要はない。
【０００５】
既知のシングル・サインオン（ｓｉｎｇｌｅ  ｓｉｇｎ−ｏｎ）技術は、ＩＢＭ（Ｒ）Ｔｉｖｏｌｉ（Ｒ）Ａｃｃｅｓｓ  ＭａｎａｇｅｒプロキシまたはＣＡ  ｅＴｒｕｓｔ（Ｒ）ＳｉｔｅＭｉｎｄｅｒ（Ｒ）プロキシなどのプロキシ・サーバを使用する。（ＩＢＭおよびＴｉｖｏｌｉは、米国、その他の国々、または両方におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの商標である。）プロキシ・サーバは、ユーザ・コンピュータと、同じ企業の１つ以上のウェブ・サーバに常駐する関連アプリケーションすべてとの間に置かれる。プロキシ・サーバによるリクエストがあると、各ユーザは、プロキシ・サーバとのセッションごとに１度、認証情報をプロキシ・サーバに提供する。同じ認証情報、つまりｕｓｅｒＩＤおよびパスワードが、プロキシ・サーバとの同一ユーザ・セッションの間、すべての関連アプリケーションのユーザ・リクエストすべてに有効となる。その結果、プロキシ・サーバが、関連アプリケーションに対する認証を管理する。ユーザは、関連アプリケーションにアクセスしてそれを使用するためのリクエストをすべて、プロキシ・サーバを介して行う。したがって、ユーザが、プロキシ・サーバとの同一セッションの間に、関連アプリケーションのいずれかに対するアクセスをリクエストすると、プロキシ・サーバはユーザの認証情報（ｕｓｅｒＩＤおよびパスワード）を当該アプリケーションに与える。プロキシ・サーバはさらに、プロキシ・サーバとの同一セッションの間、ユーザによる、アプリケーションに対する後続のリクエストをすべて中継する。前述のシングル・サインオン技術は、ユーザの認証負担を軽減するが、すべてのユーザのワークステーションと、すべてのアプリケーション・サーバとの間にプロキシ・サーバが置かれることを要求する。プロキシ・サーバは、大量のユーザ・リクエストおよびアプリケーション・レスポンスを処理しなければならない。プロキシ・サーバは、「トランスペアレント」であることもあり（「リバース」プロキシ・サーバと呼ばれることもある）、その場合、ユーザおよびクライアント・コンピュータはプロキシ・サーバを認識する必要がない。トランスペアレント・プロキシ・サーバの場合、クライアント・コンピュータは、リクエストをウェブ・アプリケーション・サーバにアドレス指定する。しかし、ドメイン名サーバが、ユーザ・リクエストがウェブ・アプリケーション・サーバではなくプロキシ・サーバへ直接行くように、そのユーザ・リクエストに関してプロキシ・サーバのアドレスを代用する。プロキシ・サーバが「可視」であれば（「フォワード」プロキシ・サーバと呼ばれることもある）、クライアント・コンピュータは、プロキシ・サーバを「認識」しており、ウェブ・アプリケーション・リクエストを、ウェブ・アプリケーション・サーバではなくプロキシ・サーバへ直接アドレス指定するよう再設定される。
【０００６】
ＩＢＭ  Ｔｉｖｏｌｉ  Ｆｅｄｅｒａｔｅｄ  Ｉｄｅｎｔｉｔｙ  Ｍａｎａｇｅｒソフトウェアは、異なる複数ドメインが、１つまたは多数のアイデンティティ・プロバイダからのアイデンティティ情報を共有できるようにする。そのようなアイデンティティ連合戦略（ｉｄｅｎｔｉｔｙ  ｆｅｄｅｒａｔｉｏｎ  ｓｔｒａｔｅｇｉｅｓ）は、ＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒなどの既存のシングル・サインオン・ドメインに、サービスとアイデンティティ・プロバイダとの間の信頼確立を統合すること、ならびに追加のハードウェアおよびソフトウェア・コンポーネントが既存のアプリケーション・ホスティング環境に統合されることを要求する。このシナリオでは、クライアント・リクエストのフローは、プロキシがクライアントのアイデンティティを認証して、リクエスト内のコンテンツに対するアクセスを許可する方法を除けば、上述のＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒソリューションと同じであると考えられる。上記のシナリオでは、プロキシがユーザを認証して特定のリクエストに関しリソースに対する許可を得るが、これはすべてローカルＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒドメインのスコープ（ｓｃｏｐｅ）内である。ＩＢＭ  Ｆｅｄｅｒａｔｅｄ  Ｉｄｅｎｔｉｔｙ  Ｍａｎａｇｅｒアーキテクチャでは、アプリケーションが存在するＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒドメインのプロキシ・コンポーネントが、その同じドメイン内かまたは別のＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒドメイン内のいずれかにある集中アイデンティティ・プロバイダ（ｃｅｎｔｒａｌｉｚｅｄ  ｉｄｅｎｔｉｔｙ  ｐｒｏｖｉｄｅｒ）と通信することになる。これによって、異なる複数のＩＢＭ  Ｔｉｖｏｌｉ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｒドメインが、すべて集中アイデンティティ・プロバイダに対し認証を行う一方で、アプリケーション・サービス・プロバイダとして機能を果たせるようになる。
【０００７】
ミラー（Ｍｉｌｌｅｒ）らの米国特許出願公開第２００３／０１０５９８１号は、関連アプリケーション間でのセッション情報の共有を開示している。この技術によれば、ユーザが最初に１つのアプリケーションに対してユーザ認証を行うと、その１つの（認証する）アプリケーションは、ユーザが関連アプリケーションに対するアクセスを試行する前に、認証情報およびセッション情報を関連アプリケーション（同じまたは別のウェブ・サーバにある）に送信する。この１つの（認証する）アプリケーションは、さらに、ユーザのウェブ・ブラウザにセッション・クッキーを送信する。セッション・クッキーは、このセッションを確認できる、セッション識別子と、アプリケーションの識別とを含む。ユーザが他の関連アプリケーションのうちの１つに対するアクセスを試行すると、ウェブ・ブラウザは、このセッション・クッキーを提供し、該他の関連アプリケーションは、セッション・クッキーを、該１つの（認証する）アプリケーションを用いて検証する。そのセッションが有効であれば、その結果、該他の関連アプリケーションは、それ自体に対するユーザ・アクセスを、ユーザからの認証情報をリクエストすることなく承諾する。セッション情報の共有は、シングル・サインオンには効果的であるが、該１つの認証するアプリケーションは、ユーザが１度もアクセスしないかもしれない関連アプリケーションに認証情報を送信する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２００３／０１０５９８１号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の好適な実施形態は、関連アプリケーションに対する効果的なシングル・サインオン技術を提供する。
【００１０】
本発明の好適な実施形態は、既存のアプリケーションにいかなる変更を加えることもなく当該アプリケーションに適用可能な、効果的なシングル・サインオン技術を提供する。
【００１１】
本発明の好適な実施形態は、前述のタイプのプロキシ・サーバを必要とすることなく、関連アプリケーションに対する効果的なシングル・サインオン技術を提供する。
【課題を解決するための手段】
【００１２】
本発明は、第１のコンピュータのユーザの認証を、第２のコンピュータにあるアプリケーションに対して行うコンピュータ・システム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラムに属する。第１のコンピュータは、アプリケーションにアクセスするために、第２のコンピュータへリクエストを送信する。それに応答して、第２のコンピュータは、ユーザがアプリケーションに対してまだ認証されていないと判断する。それに応答して、第２のコンピュータは、リクエストを第３のコンピュータへリダイレクトする。それに応答して、第３のコンピュータは、ユーザが第３のコンピュータに対して認証されていると判断する。それに応答して、第３のコンピュータは、アプリケーションに対してユーザ認証を行う。それに応答して、第２のコンピュータは、アプリケーションと、ユーザとの間のセッションのセッション・キーを第３のコンピュータに返送する。セッションは、第２のコンピュータまたはアプリケーションのスコープを有するが、ドメインのスコープは有しない。第２のアプリケーションに対してユーザが認証されること、およびユーザと、第２のコンピュータまたはアプリケーションとの間のセッションのセッション・キーが、第３のコンピュータによって第２のコンピュータから受信されることに応答して、第３のコンピュータは、ドメインのスコープを備える別のセッション・キーを生成し、ドメイン・スコープ・セッション・キー（ｄｏｍａｉｎ  ｓｃｏｐｅ  ｓｅｓｓｉｏｎ  ｋｅｙ）を第１のコンピュータへ送信する。第１のコンピュータは、このドメイン・スコープ・セッション・キーとともに、別のリクエストをアプリケーションに送信する。それに応答して、アプリケーションは、ユーザと、アプリケーションとの間の有効なセッションを、ドメイン・スコープ・セッション・キーに基づき認識し、該別のリクエストに応じて第１のコンピュータに応答する。ドメインは、同じエンティティによって所有されているか、もしくは動作させられているか、または同じドメイン名ユニフォーム・リソース・ロケータ（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）コンポーネントを有する、第２のコンピュータ内のアプリケーションを含む複数アプリケーションのグループであるか、または第２のコンピュータを含む複数コンピュータのグループである。
【００１３】
以下、本発明の実施形態について、単なる例として添付の図面を参照して記載する。
【図面の簡単な説明】
【００１４】
【図１】本発明の好適な実施形態による、ユーザのコンピュータ内にシングル・サインオン・プログラムを含む分散コンピュータ・システムのブロック図である。
【図２】図１のシングル・サインオン・プログラムのフローチャートを構成する。
【図３】図１のシングル・サインオン・プログラムのフローチャートを構成する。
【発明を実施するための形態】
【００１５】
以下、各図面を参照して本発明について詳しく記載する。図１は、図２および３と併せて読まれるべきであり、本発明の好適な実施形態による分散コンピュータ・システムを図示している。分散コンピュータ・システムは、シングル・サインオン・サーバ３０と、複数のウェブ・アプリケーション・サーバ４０、６０および８０とを含み、これはすべてクライアント・コンピュータ２０にインターネットなどのネットワーク９０を介して相互接続されている。典型的なシナリオでは、クライアント・コンピュータ２０のユーザ１５が、ウェブ・アプリケーション・サーバ４０、６０および８０上にそれぞれあるアプリケーション４９、６９および８９（ウェブ・アプリケーションなど）に対するアクセスを試行し、当該アプリケーションは、アクセスの前にユーザ認証を要求する。
【００１６】
クライアント・コンピュータ２０は、共通バス２５上の周知の中央処理ユニット（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、オペレーティング・システム２２、ランダム・アクセス・メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３、および読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４と、記憶装置２６と、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／）アダプタ・カード２７と、モニタ２８とを含む。クライアント・コンピュータ２０は、周知のウェブ・ブラウザ２９も含む。
【００１７】
ウェブ・サーバ４０は、共通バス４５上の周知のＣＰＵ４１、オペレーティング・システム４２、ＲＡＭ４３およびＲＯＭ４４と、記憶装置４６と、ＴＣＰ／ＩＰアダプタ・カード４７とを含む。
【００１８】
ウェブ・サーバ６０は、共通バス６５上の周知のＣＰＵ６１、オペレーティング・システム６２、ＲＡＭ６３およびＲＯＭ６４と、記憶装置６６と、ＴＣＰ／ＩＰアダプタ・カード６７とを含む。
【００１９】
ウェブ・サーバ８０は、共通バス８５上の周知のＣＰＵ８１、オペレーティング・システム８２、ＲＡＭ８３およびＲＯＭ８４と、記憶装置８６と、ＴＣＰ／ＩＰアダプタ・カード８７とを含む。
【００２０】
シングル・サインオン・サーバ３０は、共通バス３５上の周知のＣＰＵ３１、オペレーティング・システム３２、ＲＡＭ３３、およびＲＯＭ３４と、記憶装置３６と、ＴＣＰ／ＩＰアダプタ・カード３７とを含む。シングル・サインオン・サーバ３０は、本発明の好適な実施形態によるシングル・サインオン（ログイン）プログラム３８も含む。（あるいは、シングル・サインオン・サーバ・プログラム３８は、別個のサーバ３０ではなく、ウェブ・アプリケーション・サーバ４０、６０または８０のうちの１つにインストールすることができる。）ユーザ１５は、ウェブ・アプリケーション４９、６９または８９のいずれかに対してシングル・サインオン・アクセスを得る前に、シングル・サインオン・サーバ・プログラム３８に登録し、すなわち、ｕｓｅｒＩＤとパスワードとの有効な組み合わせを提供する（ステップ２００）。これは、ユーザが任意のウェブ・アプリケーションに対するアクセスを試行する前に生じるか、または、下記で説明する通り初めてウェブ・アプリケーションにアクセスするプロセスの一部として生じるとよい。この登録に応答して、シングル・サインオン・プログラム３８は、ユーザ１５とシングル・サインオン・プログラム３８との間のセッションを表すセッション識別子（ＩＤ：ｉｄｅｎｔｉｆｉｅｒ）およびセッション・クッキーを生成する（ドメイン・スコープなし）（ステップ２０４）。シングル・サインオン・プログラム３８は、さらに、ウェブ・ブラウザ２９においてシングル・サインオン・プログラム３８とのセッション用に設定されるべき、対応するセッション・クッキー（ドメイン・スコープなし）を、ウェブ・ブラウザ２９へ送信する（ステップ２０８）。以下にさらに詳しく説明するように、このセッション・クッキーは、ユーザ１５がウェブ・アプリケーション４９、６９または８９のうちのいずれかに対するアクセスを試行するときに、シングル・サインオン認証プロセスに関与することになる。
【００２１】
１つの動作モード中、ユーザ１５は、ウェブ・ブラウザ２９を呼び出し、ウェブ・アプリケーション・サーバ４０上のアプリケーション４９にアクセスするリクエストなど、ウェブ・アプリケーション・サーバ上の指名されるアプリケーションに対するアクセスのリクエストを行う（ステップ２１２）。ウェブ・ブラウザ２９は、リクエストをウェブ・アプリケーション・サーバ４０内のウェブ・アプリケーション４９へ、ネットワーク９０を介して周知の方法で転送する。例えば、クライアント・コンピュータ２０のウェブ・ブラウザ２９または図示されていないゲートウェイ・サーバが、図示されていないドメイン名サーバに、ウェブ・アプリケーションのＵＲＬに基づき、ウェブ・アプリケーション４９のＩＰアドレスに関して問い合わせを行い、続いて、ＵＲＬを備えたリクエストをウェブ・アプリケーション４９のＩＰアドレスへ送信する。ウェブ・ブラウザ２９が、このユーザに関しアクティブなセッション・クッキーを有すれば（リクエスト対象のアプリケーション４９またはその他任意のアプリケーションとのセッションに関して）、ウェブ・ブラウザ２９は、ウェブ・アプリケーション・サーバ４０へ送信されるアクセス・リクエストとともに、アプリケーション４９に対してセッション・クッキーを含める。そのようなセッション・クッキーは、ユーザ１５が参加者である現在アクティブなセッションの識別子、およびセッションの有効性のスコープを含む。例えば、セッションのスコープは、ユーザ１５とのセッションをもともと確立してアプリケーション・セッション・クッキーを定義したウェブ・アプリケーションのＵＲＬである。セッション・クッキーが、ウェブ・アプリケーション４９に対し有効であれば（判定ブロック２１６ではいの分岐）、ウェブ・アプリケーション４９は、ユーザまたはウェブ・ブラウザ２９のさらなる認証をリクエストすることなくリクエストに応じる（ステップ２２０）。しかし、ウェブ・ブラウザ２９がユーザ・アクセス・リクエストとともに送信するアプリケーション・セッション・クッキーを有しないか、またはユーザ・アクセス・リクエストとともに提供されたアプリケーション・セッション・クッキーが、リクエスト対象のウェブ・アプリケーション４９とのユーザのアクティブなセッションを特定しない場合（判定２１６でいいえの分岐）、リクエスト対象のウェブ・アプリケーション４９は、セッション・クッキーを含むユーザ・アクセス・リクエストを、サーバ３０上のシングル・サインオン・プログラム３８へリダイレクトする（ステップ２２４）。アプリケーション４９はさらに、「リダイレクト」メッセージをウェブ・ブラウザ２９へ送信して、アプリケーション４９へ送信されたユーザ・アクセス・リクエストが、シングル・サインオン・プログラム３８（ＵＲＬまたはプログラム３８により特定される）へリダイレクトされたことをウェブ・ブラウザ２９に通知し、その結果ウェブ・ブラウザ２９は、まだ登録していなければシングル・サインオン・プログラム３８で認証を行うことになり、または既に登録していれば、ウェブ・アプリケーション４９とのセッションのセッション・クッキーをシングル・サインオン・プログラム３８から受け取るべきである（ステップ２２４）。リダイレクト・メッセージに応答して、ウェブ・ブラウザ２９は、サーバ３０上のシングル・サインオン・プログラム３８に対する認証リクエストを開始する（ステップ２２８）。ウェブ・ブラウザ２９が、シングル・サインオン・プログラム３８に関してユーザ１５のセッション・クッキーを有すれば、ウェブ・ブラウザ２９は、認証リクエストとともに、シングル・サインオン・プログラム３８に関するセッション・クッキーを送信する。ウェブ・ブラウザ２９からの認証リクエスト、およびアプリケーション４９からのセッション・クッキーがあればそのセッション・クッキー、およびウェブ・ブラウザ２９からのセッション・クッキーがあればそのセッション・クッキーに応答して、シングル・サインオン・プログラム３８は、アプリケーション４９またはウェブ・ブラウザ２９から受信されたセッション・クッキーにおいて指定されているセッションに関して、シングル・サインオン・プログラム３８が、ユーザ１５の認証のレコードをデータベース３９内に有するかどうかを判断する（ステップ２３２）。
【００２２】
シングル・サインオン・プログラム３８が、ユーザ１５の有効なｕｓｅｒＩＤおよびパスワードのレコードを（データベース３９内に）有すれば（シングル・サインオン・プログラム３８に対するユーザ１５の以前の登録に基づく）（判定２３２ではいの分岐）、シングル・サインオン・プログラム３８は、ユーザ１５のｕｓｅｒＩＤおよびパスワード（またはその他の認証クレデンシャル（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｒｅｄｅｎｔｉａｌｓ））をアプリケーション４９へ転送することによって、アプリケーション４９に対するユーザ１５の認証を行う（ステップ２３６）。アプリケーション４９が、ｕｓｅｒＩＤおよびパスワードが真にユーザ１５のものであると判断すれば、アプリケーション４９は、ユーザ１５とのセッションのセッション・クッキーを生成して、セッション・クッキーをシングル・サインオン・プログラム３８に返送する（ステップ２４０）。アプリケーション４９によって提供されるこのセッション・クッキーは、アプリケーション４９が存在するドメインのサフィックスとしてアプリケーション４９を特定する。アプリケーション４９はさらに、セッション・クッキー内に含まれているセッション識別と、セッションが確立されたｕｓｅｒＩＤ（ユーザ１５の）とを記録する。リクエスト対象のアプリケーション４９によって生成されるセッション・クッキーは、典型的には、ユーザ１５とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション４９を、ホスト名およびＵＲＬで指定する。
【００２３】
シングル・サインオン・プログラム３８が、ユーザ１５の認証のレコードを（データベース３９内に）有しなければ（すなわち、ユーザ１５が、シングル・サインオン・プログラム３８に以前に登録されていない）（ステップ２３２でいいえの分岐）、シングル・サインオン・プログラム３８は、ウェブ・ブラウザ２９を介して、ユーザ１５にユーザ１５のｕｓｅｒＩＤに対応するパスワードについて問い合わせを行い、ユーザ１５は、そのパスワードを登録プロセスにおいてシングル・サインオン・プログラム３８に与える（ステップ２３４）。（ユーザに対して行われるユーザのパスワードについてのこの問い合わせは、シングル・サインオン・プログラム３８によってウェブ・ブラウザ２９へ送信されるハイパー・テキスト・マークアップ言語（ＨＴＭＬ：ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）情報によって定義することができる。）ユーザ１５によってシングル・サインオン・プログラム３８に与えられた登録情報（ｕｓｅｒＩＤおよびパスワードを含む）に応答して、シングル・サインオン・プログラム３８は、アプリケーション４９に対してユーザ１５の認証を試行する（ステップ２３６）。認証が成功すれば、リクエスト対象のアプリケーション４９は、アプリケーション４９の有効なセッション・クッキーを生成する（ステップ２４０）。アプリケーション４９はさらに、セッション・クッキーに含まれているセッション識別と、セッションが確立されたｕｓｅｒＩＤ（またはユーザ１５）とを記録し、セッション・クッキー（ドメインスコープなし）をシングル・サインオン・プログラム３８へ送信する（ステップ２４２）。リクエスト対象のアプリケーション４９によって生成されるセッション・クッキーは、典型的には、ユーザ１５とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション４９を、ホスト名およびＵＲＬで指定する。
【００２４】
いずれの場合も、セッション・クッキーをアプリケーション４９から受信するのに応答して、シングル・サインオン・プログラム３８は、アプリケーション４９から受信されたセッション・クッキーのスコープを変更し、リクエスト対象のアプリケーション４９のホスト・サーバ４０内のすべてのアプリケーション、ならびにほかの「関連」ホスト・サーバすべてにあるすべてのアプリケーションにスコープが効力を持つようにする（ステップ２４４）。例えば、同じインターネット・ドメイン内に存在するすべてのホスト・サーバ（または同じ企業により所有されているすべてのホスト・サーバ）が「関連」していると見なされてもよい。例えば、アプリケーション４９は、ＵＲＬ「ｗｗｗ−１．ＡＢＣ．ｃｏｍ／ＸＹＺ」を有し、アプリケーション６９は、ＵＲＬ「ｗｗｗ−１．ＡＢＣ．ｃｏｍ／ＲＳＴ」を有し、アプリケーション８９は、ＵＲＬ「ｗｗｗ−２．ＡＢＣ．ｃｏｍ／ＭＮＯ」を有する。さらに例として、アプリケーション３８は、ＵＲＬ「ｗｗｗ−１．ＡＢＣ．ｃｏｍ／ＧＨＫ」を有する。したがって、すべてのプログラム３８、４９、６９および８９は、同じインターネット・ドメイン「ＡＢＣ．ｃｏｍ」に存在する。この例では、シングル・サインオン・プログラム３８は、同じインターネット・ドメイン内のすべてのアプリケーションに対して効力を持つようにセッション・クッキーを変更する。リクエスト対象のアプリケーション４９が、ＵＲＬ「ｗｗｗ−１．ＡＢＣ．ｃｏｍ／ＸＹＺ」（この中で「ｗｗｗ−１．ＡＢＣ．ｃｏｍ」はホスト・サーバを特定し、「ＡＢＣ」はドメインを示し、「ＸＹＺ」はアプリケーション４９を特定する）を有するこの例では、シングル・サインオン・プログラム３８は、同じインターネット・ドメイン「ＡＢＣ．ｃｏｍ」内のすべてのホスト・サーバ上のすべてのアプリケーションに対して効力を持つようにセッション・クッキーのスコープを変更する。その結果として、シングル・サインオン・プログラム３８は、ユーザ１５に対して、セッション・スコープ「ＡＢＣ」または「ＡＢＣ．ｃｏｍ」を備えるセッション・クッキーを生成し、これは、同じインターネット・ドメインＡＢＣ．ｃｏｍ内のすべてのアプリケーションに対して効力を持つ。次に、シングル・サインオン・プログラム３８は、ドメイン・スコープ（ＡＢＣ．ｃｏｍ）セッション・クッキーをウェブ・ブラウザ２９に返送する。シングル・サインオン・アプリケーション３８は、アプリケーション４９と同じドメイン「ＡＢＣ．ｃｏｍ」に存在することから、ウェブ・ブラウザ２９は、シングル・サインオン・プログラム３８から、アプリケーション４９とのセッションを確立するための当該セッション・クッキーを受け取る。ウェブ・ブラウザ２９は、このドメイン・スコープ・セッション・クッキーを用いてアプリケーション４９にアクセスすることができ、ユーザ１５がアプリケーション４９に対してユーザ認証を行う必要はない。
【００２５】
前述の通り、シングル・サインオン・プログラム３８に対する以前のユーザ１５の登録に応答して、シングル・サインオン・プログラム３８は、ユーザ１５と、シングル・サインオン・プログラム３８との間のセッションを表す別のセッションＩＤおよびセッション・クッキーも生成した（ドメイン・スコープなし）。シングル・サインオン・プログラム３８は、さらに、対応するセッション・クッキー（ドメイン・スコープなし）を、ウェブ・ブラウザ２９において設定されるようウェブ・ブラウザ２９へ送信した。ウェブ・アプリケーション４９にアクセスするためのユーザのリクエスト、およびウェブ・アプリケーション４９からシングル・サインオン・プログラム３８へのリダイレクトに従ってドメイン・スコープ・セッション・クッキーが後から生成されるのに応答して、シングル・サインオン・プログラム３８は、ユーザ１５と、シングル・サインオン・プログラム３８との間のセッション（ドメイン・スコープなし）に相関する、ユーザ１５と、アプリケーション４９との間のドメイン・スコープ・セッションのセッションＩＤを記憶する。シングル・サインオン・プログラム３８はさらに、対応するドメイン・スコープ・セッション・クッキーをウェブ・ブラウザ２９へ送信し（ステップ２４４）、アプリケーション４９とのセッションのために、ウェブ・ブラウザ２９にてこのドメイン・スコープ・セッション・クッキーを設定するよう、ウェブ・ブラウザ２９に指示する。ウェブ・ブラウザ２９は、シングル・サインオン・プログラム３８とのセッション用に、ドメイン・スコープのないセッション・クッキーの設定を保持する。
【００２６】
次に、ユーザ１５は、アプリケーション４９を使用するために、アプリケーション４９に対して後続のリクエストを行い、ウェブ・ブラウザ２９は、そのようなリクエストそれぞれに対して、ドメイン「ＡＢＣ．ｃｏｍ」を備える（ドメイン・スコープ）セッション・クッキーを提供する（ステップ２４８）。ドメイン「ｗｗｗ−１．ＡＢＣ．ｃｏｍ」を備えるセッション・クッキーを含む当該の各使用リクエストが受信されると、アプリケーション４９は、（ドメイン・スコープ）セッション・クッキーが、アプリケーション４９とユーザ１５との間のセッションを適切に特定することを確認する。その結果として、ドメイン・スコープ・セッション・クッキーはアプリケーション４９に対して有効であり、アプリケーション４９はセッションＩＤのレコードを有することから（セッションＩＤはドメイン・スコープに対して作成されたものではないが）、アプリケーション４９は、この後続のリクエストをシングル・サインオン・プログラム３８にリダイレクトすることなく、かつユーザ１５からの再認証をリクエストすることなく、この後続のリクエストを処理する。こうしたリクエストの処理に従って、リクエスト対象のアプリケーション４９は、ＨＴＭＬまたはその他のレスポンスをクライアント・コンピュータ２０に提供するとよい。リクエスト対象のアプリケーション４９が、さらなるＨＴＭＬを提供すれば、ユーザはそのＨＴＭＬを使用して後続のリクエストを行い、ドメイン・スコープ・セッション・クッキーを用いてアプリケーション４９を使用することができる。
【００２７】
ユーザ１５が、後にアプリケーション６９に対するアクセスを試行する場合、ユーザ１５は、「ＡＢＣ．ｃｏｍ」のドメイン・スコープを備えるセッション・キーをアプリケーション６９へ送信する（シングル・サインオン・プログラム３８に関するドメイン・スコープなしのセッション・キーとともに）。アプリケーション６９は、ユーザと、リクエスト対象のアプリケーション６９とのアクティブ・セッションのレコードを有しないことから、アプリケーション４９に対する以前のアクセス・リクエストに従ってシングル・サインオン・プログラム３８により最近ウェブ・ブラウザ２９に与えられたドメイン・スコープ・セッション・クッキーは、このセッションを特定しない。その結果として、リクエスト対象のアプリケーション６９は、ドメイン・スコープ・セッション・クッキー（およびドメイン・スコープなしのセッション・クッキー）を含む最新のユーザ・アクセス・リクエストを、サーバ３０上のシングル・サインオン・プログラム３８へリダイレクトする。アプリケーション６９は、さらに、「リダイレクト」メッセージをウェブ・ブラウザ２９へ送信して、ウェブ・ブラウザ２９に、アプリケーション６９へ送信されたユーザ・アクセス・リクエストが、シングル・サインオン・プログラム３８（ＵＲＬまたはプログラム３８によって特定される）へリダイレクトされたことを通知する。リダイレクト・メッセージに応答して、ウェブ・ブラウザ２９は、サーバ３０上のプログラム３８に対するシングル・サインオンの認証リクエストを開始する。ブラウザ２９が、以前の成功した登録試行から、シングル・サインオン・プログラム３８に関するユーザ１５のセッション・クッキーを有すれば、ウェブ・ブラウザ２９は、認証リクエストとともに、シングル・サインオン・プログラム３８に関するセッション・クッキーを送信する。認証リクエスト、およびアプリケーション６９からのセッション・クッキーがあればそのセッション・クッキー、およびウェブ・ブラウザ２９からのセッション・クッキーがあればそのセッション・クッキーに応答して、シングル・サインオン・プログラム３８は、受信されるいずれかのシングル・サインオン・セッション・クッキーにおいて指定されているセッションに関して、シングル・サインオン・プログラム３８がユーザ１５の認証のレコードをデータベース３９内に有するかどうかを判断する。
【００２８】
シングル・サインオン・プログラム３８が、ユーザ１５の有効なｕｓｅｒＩＤおよびパスワードのレコードを（データベース３９内に）有すれば（シングル・サインオン・プログラム３８に対するユーザ１５の以前の登録に基づく）、シングル・サインオン・プログラム３８は、ユーザ１５のｕｓｅｒＩＤおよびパスワード（またはその他の認証クレデンシャル）をアプリケーション６９へ転送することによって、アプリケーション６９に対するユーザ１５の認証を行う。この例では、シングル・サインオン・プログラム３８は、ユーザ１５のシングル・サインオン・プログラム３８に対する以前の登録に基づき、ユーザ１５の有効なｕｓｅｒＩＤおよびパスワードのレコードを有する。アプリケーション６９が、ｕｓｅｒＩＤおよびパスワードが真にユーザ１５のものであると判断すれば、アプリケーション６９は、ユーザ１５とのセッションのセッション・クッキー（セッション・スコープなし）を生成して、セッション・クッキー（セッション・スコープなし）をシングル・サインオン・プログラム３８へ返送する。アプリケーション６９は、さらに、セッション・クッキー内に含まれているセッション識別と、セッションが確立されたｕｓｅｒＩＤ（またはユーザ１５）とを記録する。リクエスト対象のアプリケーション６９によって生成されるセッション・クッキーは、典型的には、ユーザ１５とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション６９を、ホスト名およびＵＲＬによって指定する。アプリケーション６９によって提供されるこのセッション・クッキーは、アプリケーション６９が存在するドメインのサフィックスとしてアプリケーション６９を特定する。
【００２９】
シングル・サインオン・プログラム３８が、ユーザ１５の認証のレコードを（レコード・データベース３９内に）有しなければ、シングル・サインオン・プログラム３８は、ウェブ・ブラウザ２９を介して、ユーザ１５にユーザ１５のｕｓｅｒＩＤに対応するパスワードについて問い合わせを行い、ユーザ１５は、そのパスワードを登録プロセスにおいてシングル・サインオン・プログラム３８に与える。（ユーザに対して行われるユーザのパスワードについてのこの問い合わせは、シングル・サインオン・プログラム３８によってウェブ・ブラウザ２９へ送信されるＨＴＭＬによって定義することができる。）ユーザ１５によってシングル・サインオン・プログラム３８に与えられた登録情報（ｕｓｅｒＩＤおよびパスワードを含む）に応答して、シングル・サインオン・プログラム３８は、アプリケーション６９に対してユーザ１５の認証を試行する。認証が成功すれば、リクエスト対象のアプリケーション６９は、アプリケーション６９の有効なセッション・クッキー（セッション・スコープなし）を生成して、そのセッション・クッキーをシングル・サインオン・プログラム３８へ送信する。アプリケーション６９は、さらに、セッション・クッキーに含まれているセッション識別と、セッションが確立されたｕｓｅｒＩＤ（またはユーザ１５）とを記録する。リクエスト対象のアプリケーション６９によって生成されるセッション・クッキーは、典型的には、ユーザ１５とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション６９を、ホスト名およびＵＲＬで指定する。
【００３０】
いずれの場合も、セッション・クッキーをアプリケーション６９から受信するのに応答して、シングル・サインオン・プログラム３８は、アプリケーション６９から受信されたセッション・クッキーのスコープを変更し、リクエスト対象のアプリケーション６９のホスト・サーバ４０内のすべてのアプリケーション、ならびにほかの「関連」ホスト・サーバすべてにあるすべてのアプリケーションにスコープが効力を持つようにする。例えば、上記で説明したように、同じインターネット・ドメインに存在するすべてのホスト・サーバ（または同じ企業により所有されているすべてのホスト・サーバ）が「関連」していると見なされてもよい。リクエスト対象のアプリケーション６９が、ＵＲＬ「ｗｗｗ−１．ＡＢＣ．ｃｏｍ／ＲＳＴ」（この中で、「ｗｗｗ−１．ＡＢＣ．ｃｏｍ」はホスト・サーバを特定し、「ＡＢＣ」はドメインを示し、「ＲＳＴ」はアプリケーション６９を特定する）を有する前述の例では、シングル・サインオン・プログラム３８は、同じインターネット・ドメイン「ＡＢＣ．ｃｏｍ」内のすべてのホスト・サーバ上のすべてのアプリケーションに対して効力を持つようにセッション・クッキーのスコープを変更する。その結果として、シングル・サインオン・プログラム３８は、ユーザ１５に対して、セッション・スコープ「ＡＢＣ」または「ＡＢＣ．ｃｏｍ」を備えるセッション・クッキーを生成し、これは、同じインターネット・ドメインＡＢＣ．ｃｏｍのすべてのアプリケーションに対して効力を持つ。次に、シングル・サインオン・プログラム３８は、ドメイン・スコープ（ＡＢＣ．ｃｏｍ）セッション・クッキーをウェブ・ブラウザ２９に返送する。シングル・サインオン・アプリケーション３８は、アプリケーション６９と同じドメイン「ＡＢＣ．ｃｏｍ」に存在することから、ウェブ・ブラウザ２９は、シングル・サインオン・プログラム３８から、アプリケーション６９とのセッションを確立するための当該セッション・クッキーを受け取る。ウェブ・ブラウザ２９は、このドメイン・スコープ・セッション・クッキーを用いてアプリケーション６９にアクセスすることができ、ユーザ１５がアプリケーション６９に対してユーザ認証を行う必要はない。
【００３１】
後に、ユーザ１５がアプリケーション８９へのアクセスを試行すれば、上記でユーザ１５のアプリケーション６９に対するアクセス試行について説明したように、認証が進行する。
【００３２】
したがって、本発明の好適な実施形態では、ユーザは、複数の関連アプリケーションにシングル・ユーザ・サインオンによってアクセスすることができる。ユーザは、後にアクセスされる関連アプリケーションにアクセスするためにユーザ認証を行う必要がない。（ウェブ・ブラウザ２９が、各アプリケーション４９、６９および８９それぞれに対して認証を実行する。）すべてのリクエストに関して、クライアント・コンピュータ２０と、各アプリケーション・サーバ４０、６０、および８０との間にプロキシ・サーバが置かれることはない。シングル・サインオン・サーバは、初期の認証にのみ関係する。ユーザは、関連アプリケーションに対する後のアクセスが認証を要求することを知る必要もない。ユーザは、シングル・サインオン・プログラム３８を認識している必要はなく、ウェブ・ブラウザ２９は、シングル・サインオン・プログラム３８からの認証をリクエストするよう設定される必要はない。ユーザ１５が、アプリケーション・サーバに対するアクセスをリクエストしない場合には、そのアプリケーション・サーバには認証情報の負荷がかからずに済む。さらに、アプリケーションは、その認証されていないリクエストを、ウェブ・ブラウザ２９へ返すのではなく、シングル・サインオン・サービスへリダイレクトするよう再設定されさえすればよい。
【００３３】
前述の事項に基づき、本発明によるシングル・サインオンのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラムを開示した。当業者であれば当然のことであるが、多数の変更および置き換えが行われ得る。例えば、必要に応じて、シングル・サインオン・プログラム３８は、別個のサーバ３０ではなくウェブ・アプリケーション・サーバ４０、６０または８０のうちの１つに存在することができる。したがって、本発明は限定ではなく例として開示されたものである。
【図１】
2011522307.tif 000003
【図２】
2011522307.tif 000004
【図３】
2011522307.tif 000005
【手続補正書】
【提出日】平成22年12月20日(2010.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行う方法であって、前記方法は、
前記第１のコンピュータが、前記第１のアプリケーションにアクセスするために、前記第２のコンピュータへリクエストを送信するステップと、それに応答して、前記第２のコンピュータが、前記ユーザは、前記第１のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第２のコンピュータが、前記リクエストを第３のコンピュータへリダイレクトするステップと、それに応答して、前記第３のコンピュータが、前記ユーザは前記第３のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第３のコンピュータが、前記第１のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第２のコンピュータが、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第３のコンピュータへ返送するステップであって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記返送するステップと、
前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記第３のコンピュータが、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを、前記第１のコンピュータへ送信するステップと、
前記第１のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第１のアプリケーションへ送信するステップと、それに応答して、前記第１のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のコンピュータに応答するステップと、
を含む方法であって、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループであり、これらは、同じエンティティによって所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有する、方法。
【請求項２】
前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって、前記第３のコンピュータに登録するステップをさらに含む、請求項１に記載の方法。
【請求項３】
以下の後続ステップ：
前記第１のコンピュータが、前記ドメイン内の第４のコンピュータ内の第２のアプリケーションにアクセスするために、前記第４のコンピュータへ第３のリクエストを送信するステップと、それに応答して、前記第４のコンピュータが、前記ユーザは、前記第２のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第４のコンピュータが、前記第３のリクエストを前記第３のコンピュータへリダイレクトするステップと、それに応答して、前記第３のコンピュータが、前記ユーザは前記第３のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第３のコンピュータが、前記第２のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第４のコンピュータが、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第３のコンピュータへ返送するステップであって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記返送するステップと、
前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記第３のコンピュータが、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを前記第１のコンピュータへ送信するステップと、
前記第１のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第２のアプリケーションへ送信するステップと、それに応答して、前記第２のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識して、前記第２のアプリケーションに対して送信された前記別のリクエストに応じて前記第１のコンピュータに応答するステップと、
をさらに含む、請求項1または２のいずれかに記載の方法。
【請求項４】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行うためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
前記第２のコンピュータにおいて実行される第１のプログラム命令であって、前記第１のアプリケーションにアクセスするための前記第１のコンピュータからのリクエストに応答して、前記ユーザが前記第１のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第３のコンピュータへリダイレクトする、前記第１のプログラム命令と、
前記第３のコンピュータにおいて実行される第２のプログラム命令であって、前記第２のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第１のアプリケーションに対して前記ユーザの認証を行う、前記第２のプログラム命令と、
前記第２のコンピュータにおいて実行される第３のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第３のプログラム命令であって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第３のプログラム命令と、
前記第３のコンピュータにおいて実行される第４のプログラム命令であって、前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始する、前記第４のプログラム命令と、
前記第２のコンピュータにおいて実行される第５のプログラム命令であって、前記第１のアプリケーションにアクセスするための、前記第１のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のアプリケーションによる前記第１のコンピュータへの応答を開始する、前記第５のプログラム命令と、
を含み、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有している、
コンピュータ・プログラム。
【請求項５】
前記第３のコンピュータにおいて実行される第７のプログラム命令であって、前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって前記第３のコンピュータに登録できるようにする、前記第７のプログラム命令であって、前記第７のプログラム命令をさらに含む、請求項４に記載のコンピュータ・プログラム。
【請求項６】
前記コンピュータ・プログラムは、
前記ドメイン内の第４のコンピュータにおいて実行される第７のプログラム命令であって、前記第１のコンピュータから、前記第４のコンピュータ内の第２のアプリケーションにアクセスするための第３のリクエストを受信し、それに応答して、前記ユーザが、前記第２のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第３のリクエストを前記第３のコンピュータへリダイレクトする、前記第７のプログラム命令
をさらに含み、
前記第２のプログラム命令は、前記リダイレクトされた第３のリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第２のアプリケーションに対して前記ユーザの認証を行い、
前記コンピュータ・プログラムは、
前記第４のコンピュータにおいて実行される第８のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第８のプログラム命令であって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第８のプログラム命令
をさらに含み、
前記第４のプログラム命令は、前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始し、
前記第７のプログラム命令は、前記第１のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第２のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識し、前記第２のアプリケーションへ送信された前記別のリクエストに応じて前記第１のコンピュータに応答する、
請求項４に記載のコンピュータ・プログラム。
【請求項７】
前記第７および第８のプログラム命令は、前記第２のアプリケーションの一部である、請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記第１、第３、および第５のプログラム命令は、前記第１のアプリケーションの一部である、請求項４〜７のいずれかに記載のコンピュータ・プログラム。
【請求項９】
第１のコンピュータのユーザの認証を、第２のコンピュータにある第１のアプリケーションに対して行うコンピュータ・システムであって、前記コンピュータ・システムは、
第１の中央処理ユニットを備えた前記第２のコンピュータと、
第２の中央処理ユニットを備えた第３のコンピュータと、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第１のプログラム命令であって、前記第１のアプリケーションにアクセスするための前記第１のコンピュータからのリクエストに応答して、前記ユーザが前記第１のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第３のコンピュータへリダイレクトする、前記第１のプログラム命令と、
前記第２の中央処理ユニットによって実行されるよう前記第３のコンピュータに記憶されている第２のプログラム命令であって、前記第３のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第１のアプリケーションに対して前記ユーザの認証を行う、前記第２のプログラム命令と、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第３のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第１のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第３のプログラム命令であって、前記セッションは、前記第２のコンピュータまたは前記第１のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第３のプログラム命令と、
前記第２の中央処理ユニットによって実行されるよう前記第３のコンピュータに記憶されている第４のプログラム命令であって、前記第１のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第２のコンピュータまたは前記第１のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第２のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始する、前記第４のプログラム命令と、
前記第１の中央処理ユニットによって実行されるよう前記第２のコンピュータに記憶されている第５のプログラム命令であって、前記第１のアプリケーションにアクセスするための、前記第１のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第１のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第１のアプリケーションによる前記第１のコンピュータへの応答を開始する、前記第５のプログラム命令と、
を含み、
前記ドメインは、前記第２のコンピュータ内の前記第１のアプリケーションを含む複数アプリケーションのグループ、または前記第２のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名ＵＲＬコンポーネントを有する、コンピュータ・システム。
【請求項１０】
前記第２の中央処理ユニットによって実行されるよう、前記第３のコンピュータに記憶されている第７のプログラム命令であって、前記ユーザが、ｕｓｅｒＩＤと、パスワードとの有効な組み合わせを与えることによって前記第３のコンピュータに登録できるようにする、前記第７のプログラム命令をさらに含む、請求項９に記載のコンピュータ・システム。
【請求項１１】
前記コンピュータ・システムは、
前記ドメイン内にあり、第３の中央処理ユニットを備える第４のコンピュータと、
前記第３の中央処理ユニットによって実行されるよう前記第４のコンピュータに記憶されている第７のプログラム命令であって、前記第１のコンピュータから、前記第４のコンピュータ内の第２のアプリケーションにアクセスするための第３のリクエストを受信し、それに応答して、前記ユーザが、前記第２のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第３のリクエストを前記第３のコンピュータへリダイレクトする、前記第７のプログラム命令と、
をさらに含み、
前記第２のプログラム命令は、前記リダイレクトされた第３のリクエストに応答して、前記ユーザが、前記第３のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第２のアプリケーションに対して前記ユーザの認証を行い、
前記コンピュータ・システムは、
前記第３の中央処理ユニットによって実行されるよう前記第４のコンピュータに記憶されている第８のプログラム命令であって、前記ユーザの前記認証が前記第３のコンピュータによって行われるのに応答して、前記第２のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第３のコンピュータへの返送を開始する、前記第８のプログラム命令であって、前記セッションは、前記第４のコンピュータまたは前記第２のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第８のプログラム命令
をさらに含み、
前記第４のプログラム命令は、前記第２のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第４のコンピュータまたは前記第２のアプリケーションとの間のセッションの前記セッション・キーが、前記第３のコンピュータによって前記第４のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第１のコンピュータへの送信を開始し、
前記第７のプログラム命令は、前記第１のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第２のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第２のアプリケーションとの間の有効なセッションを認識し、前記第２のアプリケーションへ送信された前記別のリクエストに応じて前記第１のコンピュータに応答する、
請求項９に記載のコンピュータ・システム。
【請求項１２】
前記第７および第８のプログラム命令は、前記第２のアプリケーションの一部である、請求項１１に記載のコンピュータ・システム。
【請求項１３】
前記第１、第３、および第５のプログラム命令は、前記第１のアプリケーションの一部である、請求項９〜１２のいずれかに記載のコンピュータ・システム。
【請求項１４】
請求項１〜３のいずれかに記載の方法の各ステップを実行するためのコンピュータ実装可能命令を含むコンピュータ・プログラム。
【国際調査報告】
2011522307.tif 000006
2011522307.tif 000007