説明

グリッド・アクセス及びネットワーク・アクセスを提供するシングル・サインオン操作のための方法及びシステム

【課題】 ユーザ及びコンピュータ・システム管理者の認証負担を軽減するための方法を提供する。
【解決手段】 ユーザ装置は、ネットワーク・アクセス装置を介して、X.509プロキシ証明書の生成も行い、かつ、ネットワーク・アクセス認証操作の正常完了に応答して該ユーザ装置に戻されるネットワーク・アクセス・パラメータなどの情報を有するプロキシ証明書を含む、例えば遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)サーバなどのネットワーク・アクセス認証サーバを用いてネットワーク・アクセス認証操作を開始する。ユーザ装置は、プロキシ証明書を抽出し格納する。ネットワーク・アクセス・パラメータは、グリッドに対応するネットワーク上のネットワーク・アクセス装置を介して通信するために、ユーザ装置によって用いられる。ユーザ装置がグリッド内のリソースにアクセスするときは、プロキシ証明書は既に使用可能であり、これにより、新たなプロキシ証明書を生成する必要性を取り除き、該ユーザ装置のユーザがネットワーク・アクセス及びグリッド・アクセスのための統合型シングル・サインオンを経験できるようになる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、改善されたデータ処理システムに関し、特にマルチコンピュータ・データ転送のための方法及び装置に関する。さらにより特定的には、本発明は、コンピュータ間認証のための方法及び装置を提供する。
【背景技術】
【0002】
企業は、一般に、保護されたリソースへのセキュアなアクセスを、インターネットを含む様々なネットワーク全体にわたって、ユーザフレンドリな方法で、権限のあるユーザに提供することを望んでいる。遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS;Remote Authentication Dial−In User Service)プロトコルは、ネットワークに対する遠隔アクセスを保護し、極めて一般的に用いられる、サーバ認証及びアカウンティング・プロトコルである。しかしながら、適切に認証されたユーザがネットワークにアクセスした後に、ネットワーク上の悪意のあるユーザが、該ユーザからの電子メッセージを傍受するか、又は該ユーザからのメッセージになりすますこともできる。電子通信の保全性及びプライバシについての懸念は、インターネットベースのサービスの導入と共に増大している。電子通信を保護するために、非対称暗号鍵などの様々な暗号技術及び認証技術が開発されてきた。
【0003】
暗号鍵の使用を取り入れた一般的でセキュアなコンピュータ・フレームワークを形成するために、デジタル証明書についての規格であるX.509のセットが公表された。X.509デジタル証明書は、Internet Engineering Task Force(IETF)によって採用された国際電気通信連合(ITU;International Telecommunications Union)規格である。X.509デジタル証明書は、証明書内の主体者名によって識別される可能性のある証明書所有者を公開暗号鍵でバインドして暗号化する。この暗号化バインディングは、X.509証明書のためのインターネット公開鍵基盤(PKIX;Public Key Infrastructure for X.509 certificate)内の、認証局(CA;certifying authority)と呼ばれる信頼性のあるエンティティの関与に基づいている。結果として、証明書所有者とその公開鍵との間の強力な信用できる関連性が公開情報となるが、不正防止及び信頼性を維持することができる。この信頼性の重要な態様が、証明書が公開されて使用される前に認可局が該証明書に印を押す電子署名である。それに続いて、サービスを使用するために証明書をシステムに提示したときはいつも、主体者が認証される前にその署名が検証される。認証処理が正常に完了した後に、証明書所有者は、特定の情報、サービス、又は他の制御されたリソースにアクセスすることができる、すなわち、証明書所有者は、特定のシステムにアクセスする権限が与えられることになる。
【0004】
主としてハイパーテキスト転送プロトコル(HTTP;HyperText Transport Protocol)のような通信プロトコルの導入によるが、それほどではないにせよX.509証明書のような規格の導入も含めて、インターネット関連技術及びウェブ関連技術の広範な導入は、何千もの組織及び企業並びに何百万人もの個人によって物理的に支持されている相互接続されたコンピュータのグローバル・ネットワークの成長を可能にした。最近、企業は、多くのコンピュータの計算能力を、個々のコンピュータ上では局所的な自律制御を維持しながら計算能力及びデータストア能力を全体で共有するための多くのコンピュータについての論理編成であるグリッドに編成するよう努力している。これらの企業の多くは、GGF社によって支援され、グリッド・コンピューティングについてのコミュニティ主導の規格を開発するGlobal Grid Forum(商標)内で協力している。
【0005】
Globus Project(商標)は、グリッド関連技術を開発する政府機関、企業、及び大学によって支援された1つの取り組みであり、これが、グリッド概念をウェブ・サービスに基づくサービス指向フレームワークに組み込む構想であるOpen Grid Services Architecture(OGSA)の開発をもたらした。Globus Toolkit(商標)は、グリッド使用可能アプリケーションを開発するためのソフトウェア・プログラミング・ツールを提供するOpen Grid Services Architectureの実装形態であり、Grid Security Infrastructure(GSI)は、セキュリティ機能を実装するGlobus Toolkit(商標)の一部である。GSIは、グリッド内におけるユーザ認証のための基準としてX.509証明書を用いる。
【0006】
セキュアな認証機構を提供することによって、保護されたリソースに対する無権限アクセスの危険性が減少するが、同じ認証機構が、該保護されたリソースとのユーザ対話に対する障壁となる場合がある。ユーザは、一般に、アプリケーションに対応する特定のシステムの各々を保護する認証障壁を意識せずに、1つのアプリケーションとの対話から別のアプリケーションとの対話に移動する能力を望んでいる。
【0007】
習熟するにつれてユーザは、コンピュータ・システムが、ユーザの負担が減少するようにその動作を調整することを期待している。この種の期待は、認証処理にも当てはまる。ユーザは、一旦コンピュータ・システムによって認証されると、ユーザには見えないことがあるコンピュータ・アーキテクチャの様々な境界を意識することなく、ユーザの作業セッションの間を通じて又は少なくとも特定の期間の間、認証証明書を有効とすべきであると考える可能性がある。所与の時間枠でユーザに複数の認証処理を行わせることがユーザ効率に重大な影響を与える場合があるため、企業は、一般に、ユーザ効率が従業員の生産性又は顧客満足に関係するかどうかにかかわらず、ユーザをなだめるためばかりでなくユーザ効率を向上させるために、企業の運用システムの特性におけるこうした期待に応えようとする。
【0008】
ユーザ及びコンピュータ・システム管理者にかかる認証負担を軽減するために、様々な技術が用いられてきた。これらの技術は、ユーザがサインオン操作を完了した、すなわち認証された後は、続いて別の認証操作を行う必要がないという共通の目的を有するため、一般に、「シングル・サインオン(SSO;single−sign−on)」処理と呼ばれる。その目標は、ユーザが、該ユーザのセッションの際に一度の認証処理を完了することしか求められないことである。
【0009】
グリッドの高度分散性のため、シングル・サインオン機能の概念をグリッド・アーキテクチャ基盤に組み込むための取り組みが行われてきた。例えば、Globus Toolkit(商標)は、X.509プロキシ証明書の使用を通してシングル・サインオン機能を実行する、すなわち、グリッド内の複合サービスのユーザが、用いられるサービス毎に認証チャレンジを通過する必要がないように、グリッド内のリソースにシングル・サインオン機能が適用される。
【0010】
しかしながら、ユーザは、典型的には、グリッド内のサービスにアクセスしようと試みる前に、はじめにネットワークにアクセスするために認証チャレンジを通過する必要がある。ユーザは、ネットワークに対する認証操作を完了した後に、ネットワークを介してグリッド内のリソーソにアクセスしようと試みることができる。したがって、ユーザは、典型的には、グリッド内のリソースにアクセスするために2つの認証チャレンジを通過する必要があり、これは、シングル・サインオン操作の概念に反し、シングル・サインオン機能をグリッド基盤に組み込む努力を損なうものである。
【発明の開示】
【発明が解決しようとする課題】
【0011】
したがって、正常に完了したときには、ネットワークへのアクセスを可能にすると同時に、引き続きネットワークを介してアクセスされるグリッド内のリソースへのアクセスを可能にするシングル・サインオン操作を提供するための方法を有することが有利であろう。RADIUSサーバ及びGlobus(商標)使用可能グリッドなどの、標準仕様に従って一般に実装されるエンティティに適合するシングル・サインオン操作を提供することは特に有利であろう。
【課題を解決するための手段】
【0012】
RADIUSサーバなどのネットワーク・アクセス認証サーバのためのユーザ・レジストリが、ユーザの秘密鍵及びユーザの公開鍵証明書を保持するように構成されており、これらは、例えばRADIUSプロトコルに従って実行されるネットワーク・アクセス認証操作の際に、該ネットワーク・アクセス認証サーバが使用可能である。ネットワーク・アクセス認証サーバは、ユーザ・レジストリ内の情報を用いて、ユーザのネットワーク・アクセス認証操作の際にユーザについてのプロキシ証明書を生成することができる。プロキシ証明書は、ネットワーク・アクセス装置を介してネットワーク・アクセス・パラメータと共にユーザ装置に戻される。プロキシ証明書は、ユーザ装置の適切な場所に格納され、該プロキシ証明書は、次に、ジョブがグリッドにサブミットされるときにグリッド・クライアント・アプリケーションが使用可能である。
【0013】
その後のいずれかの時点で、グリッド・クライアント・アプリケーションは、グリッドへのジョブのサブミットを準備する。グリッド・クライアント・アプリケーションが、ネットワーク・アクセス認識操作の際に以前に格納された、有効で新しいプロキシ証明書を発見したときは、該グリッド・クライアント・アプリケーションは、新たなプロキシ証明書の生成を見合わせる。したがって、新たなプロキシ証明書がその時点でユーザ装置上に生成される必要がないという事実によって、新たなプロキシ証明書の生成と関連する認証操作についての必要性は取り除かれる。
【0014】
第1の態様から見ると、本発明は、認証操作のための方法を提供するものであり、該方法は、ネットワーク・アクセス装置を介してユーザ装置からネットワーク・アクセス認証サーバに対するネットワーク・アクセス認証操作を開始するステップと、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置で受信するステップと、該受信した情報からプロキシ証明書を抽出するステップと、該プロキシ証明書を該ユーザ装置に格納するステップとを含む。
【0015】
好ましくは、本発明は、ネットワーク・アクセス装置を介してトランザクション要求メッセージをグリッドに送信するステップと、プロキシ証明書を該グリッドに提供するステップとを含む。
【0016】
好ましくは、本発明は、グリッドに対する操作がGlobus Toolkit(商標)を用いるソフトウェアによって行われる方法を提供する。
【0017】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる方法を提供する。
【0018】
第2の態様から見ると、本発明は、認証操作のための方法を提供するものであり、該方法は、ユーザ装置のために、ネットワーク・アクセス装置を介してネットワーク・アクセス認証サーバでネットワーク・アクセス認証操作を行うステップと、該ネットワーク・アクセス認証サーバでプロキシ証明書を生成するステップと、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置に送信するステップとを含み、該情報は、該生成されたプロキシ証明書を含む。
【0019】
好ましくは、本発明は、ネットワーク・アクセス認証操作を開始したエンティティに関連付けられるプロキシ証明書を提供する。
【0020】
好ましくは、本発明は、ネットワーク・アクセス認証サーバにおいてユーザ・レジストリから公開鍵証明書及び関連する秘密鍵を取得するステップと、該公開鍵証明書からの情報をプロキシ証明書に挿入するステップと、該秘密鍵を用いて該プロキシ証明書に電子署名するステップとをさらに含む方法を提供する。
【0021】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる方法を提供する。
【0022】
好ましくは、本発明は、プロキシ証明書がRADIUSプロトコルにおけるベンダ特有の属性の中に送信される方法を提供する。
【0023】
第3の態様から見ると、本発明は、認証操作のためのデータ処理システムに用いるコンピュータ可読媒体内のコンピュータ・プログラムを提供するものであり、該コンピュータ・プログラムは、ネットワーク・アクセス装置を介してユーザ装置からネットワーク・アクセス認証サーバに対するネットワーク・アクセス認証操作を開始するための手段と、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置で受信するための手段と、該受信した情報からプロキシ証明書を抽出するための手段と、該プロキシ証明書を該ユーザ装置に格納するための手段とを含む。
【0024】
好ましくは、本発明は、ネットワーク・アクセス装置を介してトランザクション要求メッセージをグリッドに送信するための手段と、プロキシ証明書を該グリッドに提供するための手段とをさらに含むコンピュータ・プログラムを提供する。
【0025】
好ましくは、本発明は、グリッドに対する操作がGlobus Toolkit(商標)を用いるソフトウェアによって行われるコンピュータ・プログラムを提供する。
【0026】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われるコンピュータ・プログラムを提供する。
【0027】
第4の態様から見ると、本発明は、認証操作のためのデータ処理システムに用いるコンピュータ可読媒体内のコンピュータ・プログラムを提供するものであり、該コンピュータ・プログラムは、ユーザ装置のために、ネットワーク・アクセス装置を介してネットワーク・アクセス認証サーバでネットワーク・アクセス認証操作を行うための手段と、該ネットワーク・アクセス認証サーバでプロキシ証明書を生成するための手段と、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置に送信するための手段とを含み、該情報は、該生成されたプロキシ証明書を含む。
【0028】
好ましくは、本発明は、プロキシ証明書がネットワーク・アクセス認証操作を開始したエンティティに関連付けられるコンピュータ・プログラムを提供する。
【0029】
好ましくは、本発明は、ネットワーク・アクセス認証サーバにおいてユーザ・レジストリから公開鍵証明書及び関連する秘密鍵を取得するための手段と、該公開鍵証明書からの情報をプロキシ証明書に挿入するための手段と、該秘密鍵を用いて該プロキシ証明書に電子署名するための手段とを含むコンピュータ・プログラムを提供する。
【0030】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われるコンピュータ・プログラムを提供する。
【0031】
好ましくは、本発明は、プロキシ証明書がRADIUSプロトコルにおけるベンダ特有の属性の中に送信されるコンピュータ・プログラムを提供する。
【0032】
第5の態様から見ると、本発明は、認証操作のための装置を提供するものであり、該装置は、ネットワーク・アクセス装置を介してユーザ装置からネットワーク・アクセス認証サーバに対するネットワーク・アクセス認証操作を開始するための手段と、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置で受信するための手段と、該受信した情報からプロキシ証明書を抽出するための手段と、該プロキシ証明書を該ユーザ装置に格納するための手段とを含む。
【0033】
好ましくは、本発明は、ネットワーク・アクセス装置を介してトランザクション要求メッセージをグリッドに送信するための手段と、プロキシ証明書を該グリッドに提供するための手段とをさらに含む装置を提供する。
【0034】
好ましくは、本発明は、グリッドに対する操作がGlobus Toolkit(商標)を用いるソフトウェアによって行われる装置を提供する。
【0035】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる装置を提供する。
【0036】
第6の態様から見ると、本発明は、認証操作のための装置を提供するものであり、該装置は、ユーザ装置のために、ネットワーク・アクセス装置を介してネットワーク・アクセス認証サーバでネットワーク・アクセス認証操作を行うための手段と、該ネットワーク・アクセス認証サーバでプロキシ証明書を生成するための手段と、該ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を該ユーザ装置に送信するための手段とを含み、該情報は、該生成されたプロキシ証明書を含む。
【0037】
好ましくは、本発明は、プロキシ証明書がネットワーク・アクセス認証操作を開始したエンティティに関連付けられる装置を提供する。
【0038】
好ましくは、本発明は、ネットワーク・アクセス認証サーバにおいてユーザ・レジストリから公開鍵証明書及び関連する秘密鍵を取得するための手段と、該公開鍵証明書からの情報をプロキシ証明書に挿入する手段と、該秘密鍵を用いて該プロキシ証明書に電子署名するための手段とをさらに含む。
【0039】
好ましくは、本発明は、ネットワーク・アクセス認証操作が遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる装置を提供する。
【0040】
好ましくは、本発明は、プロキシ証明書がRADIUSプロトコルにおけるベンダ特有の属性の中に送信される装置を提供する。
【発明を実施するための最良の形態】
【0041】
本発明の実施形態は、添付図面を参照して、単なる例示の目的で以下に詳細に説明される。
一般に、本発明を構成するか、又は本発明に関連させることができる装置は、幅広いタイプのデータ処理技術を含む。したがって、本発明をより詳細に説明する前に、背景として、分散データ処理システム内のハードウェア及びソフトウェア・コンポーネントの典型的な編成を説明する。
【0042】
ここで図面を参照すると、図1は、データ処理システムの典型的なネットワークを示すものであり、データ処理システムの各々は、本発明の一部を実装することができる。分散データ処理システム100はネットワーク101を含み、このネットワーク101は、分散データ処理システム100内で相互に接続される様々な装置及びコンピュータ間の通信リンクを提供するのに用いることができる媒体である。ネットワーク101は、電線若しくは光ファイバ・ケーブルなどの永久的接続、又は、電話若しくは無線通信を介して形成される一時的接続を含むものとすることができる。図示される例においては、サーバ102及びサーバ103は、記憶ユニット104と共にネットワーク101に接続される。さらに、クライアント105〜107も、ネットワーク101に接続される。クライアント105〜107及びサーバ102〜103は、メインフレーム、パーソナル・コンピュータ、携帯情報端末(PDA)などといった様々なコンピュータ装置によって表される。分散データ処理システム100は、示されていない付加的なサーバ、クライアント、ルータ、他の装置、及びピア・ツー・ピア・アーキテクチャを含むことができる。
【0043】
図示される例においては、分散データ処理システム100は、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP;Lightweight Directory Access Protocol)、転送制御プロトコル/インターネット・プロトコル(TCP/IP;Transport Control Protocol/Internet Protocol)、ハイパーテキスト転送プロトコル(HTTP;HyperText Transport Protocol)、無線アプリケーション・プロトコル(WAP;Wireless Application Protocol)などといった、相互に通信するための様々なプロトコルを用いるネットワーク及びゲートウェイの世界規模の集合を表すネットワーク101を有するインターネットを含むことができる。当然のことながら、分散データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、又は広域エリア・ネットワーク(WAN)といった、多数の異なるタイプのネットワークを含むこともできる。例えば、サーバ102は、クライアント109と、無線通信リンクを取り入れたネットワーク110とを直接サポートする。ネットワーク対応電話111は、無線リンク112を介してネットワーク110に接続され、PDA113は、無線リンク114を介してネットワーク110に接続される。電話111及びPDA113は、Bluetooth(商標)無線技術などの適切な技術を用いる無線リンク115を介してデータを両者間で直接転送し、いわゆるパーソナル・エリア・ネットワーク(PAN)又はパーソナル・アドホック・ネットワークを形成することもできる。同様に、PDA113は、無線通信リンク116を介してPDA107にデータを転送することができる。本発明は、様々なハードウェア・プラットフォーム上に実装することができる、すなわち、図1は、異機種コンピューティング環境の一例であって、本発明のアーキテクチャ上の制限として意図されるものではない。
【0044】
ここで図2を参照すると、図面は、図1に示されるような、本発明を実装することができるデータ処理システムの典型的なコンピュータ・アーキテクチャを示す。データ処理システム120は、内部システム・バス123に接続された1つ又はそれ以上の中央処理装置(CPU)122を含み、内部システム・バス123は、ランダム・アクセス・メモリ(RAM)と、読取専用メモリ126と、プリンタ130、ディスク・ユニット132、又は音声出力システムなどのような図示されていない他の装置などの、様々なI/O装置に対応する入力/出力アダプタ128とを相互接続する。システム・バス123はまた、通信リンク136へのアクセスを可能にする通信アダプタ134を接続する。ユーザ・インタフェース・アダプタ148は、キーボード140及びマウス142、又は、タッチ・スクリーン、スタイラス、マイクロホンなどのような図示されていない他の装置などの、様々なユーザ装置を接続する。ディスプレイ・アダプタ144は、システム・バス123をディスプレイ装置146に接続する。
【0045】
当業者であれば、図2のハードウェアはシステム実装形態に応じて変わる場合があることが分かるであろう。例えば、システムは、Intel(商標)Pentium(商標)ベースのプロセッサ及びデジタル信号プロセッサ(DSP)などの1つ又はそれ以上のプロセッサと、1つ又はそれ以上の種類の揮発性メモリ及び不揮発性メモリとを備えるものとすることができる。図2に示されるハードウェアに加えて、又はその代わりに、他の周辺装置を用いることができる。図示される例は、本発明に対するアーキテクチャ上の制限を意味することを意図するものではない。
【0046】
本発明は、様々なハードウェア・プラットフォーム上に実装することができるのに加えて、様々なソフトウェア環境において実装することができる。典型的なオペレーティング・システムを用いて、各々のデータ処理システム内のプログラム実行を制御することができる。例えば、ある装置はUnix(商標)オペレーティング・システムを作動させることができるが、別の装置は簡単なJava(商標)ランタイム環境を含む。代表的なコンピュータ・プラットフォームは、図形ファイル、文書処理ファイル、拡張可能マークアップ言語(XML;eXtensible Markup Language)、ハイパーテキスト・マークアップ言語(HTML;HyperText Markup Language)、携帯装置マークアップ言語(HDML;Handheld Device Markup Language)、無線マークアップ言語(WML;Wireless Markup Language)、並びに、他の様々なフォーマット及びタイプのファイルなどといった、様々なフォーマット及び言語のハイパーテキスト文書にアクセスするための周知のソフトウェア・アプリケーションであるブラウザを含むことができる。
【0047】
本明細書の図面の説明は、ユーザ装置又は装置のユーザのいずれかによる特定の行為に関わるものである。当業者であれば、クライアントとの間の応答及び/又は要求が、ある場合にはユーザによって開始され、他の場合にはクライアントのユーザに代わることが多い該クライアントによって自動的に開始されることが分かるであろう。したがって、図面の説明においてクライアント又はクライアントのユーザに言及するときは、「クライアント」及び「ユーザ」という用語は、説明される処理の意味に大きな影響を与えることなく、交換可能に用いられる場合があることを理解すべきである。
【0048】
本発明は、図1及び図2に関して上述されたように、様々なハードウェア及びソフトウェア・プラットフォーム上に実装することができる。しかしながら、より特定的には、本発明は、デジタル証明書を用いる改善された認証操作に向けられる。改善された認証サービスをより詳細に説明するのに先立って、非対称暗号鍵及びデジタル証明書の使用を説明する。
【0049】
デジタル証明書は、通信又はトランザクションに関与する各々のパーティが、公開鍵及び秘密鍵と呼ばれる鍵のペアを有する公開鍵暗号に対応する。各々のパーティの公開鍵は公開されるが、秘密鍵は秘密に保たれる。公開鍵は、特定のエンティティに関連する数字であり、そのエンティティと信用できる対話を持つ必要があるすべての人に知られるように意図されるものである。秘密鍵は、特定のエンティティにのみ知られることを前提とする、すなわち秘密に保たれる数字である。典型的な非対称暗号システムにおいて、秘密鍵は、厳密に1つの公開鍵に対応する。
【0050】
公開鍵暗号システムにおいては、すべての通信は公開鍵のみを伴い、秘密鍵は決して送信又は共有されないため、機密メッセージは、公開情報のみを用いて生成し、対象とする受信者が占有する秘密鍵のみを用いて復号することができる。さらに、公開鍵暗号は、暗号化によるプライバシのためだけでなく、電子署名による認証のために用いることができる。暗号化は、秘密復号鍵なしには誰も読み取ることができない形式へのデータ変換であり、すなわち、暗号化は、情報のコンテンツを、暗号化されたデータを見ることはできても対象ではないすべての人から隠された状態に維持することによって、プライバシを保証する。認証は、デジタル・メッセージの受信者が送信者の同一性及び/又は該メッセージの完全性を確信することができる処理である。
【0051】
例えば、送信者がメッセージを暗号化するときは、受信者の公開鍵を用いて、オリジナル・メッセージ内のデータを暗号化されたメッセージの内容に変換する。送信者は、対象とする受信者の公開鍵を用いてデータを暗号化し、受信者は、その秘密鍵を用いて、該暗号化されたメッセージを復号化する。
【0052】
データを認証するときは、署名者の秘密鍵を用いてデータから電子署名を計算することによって、該データに署名することができる。データが電子署名されると、データは、署名者の身元と、該データが該署名者から送出されたことを証明する署名と共に、格納することができる。署名者は、その秘密鍵を用いてデータに署名し、受信者は、該署名者の公開鍵を用いて署名を検証する。
【0053】
証明書は、個人、コンピュータ・システム、そのシステム上で作動する特定のサーバなどのようなエンティティの同一性及び鍵所有権について保証するデジタル文書である。証明書は、認証局によって発行される。認証局(CA)は、他の人々又はエンティティのために証明書に署名するか、又はそれを発行することを委託された、通常はトランザクションに対して信用できるサード・パーティであるエンティティである。CAは、通常は、証明書に署名したエンティティを信用することを可能にする公開鍵とその所有者との間のバインディングの保証について、何らかの種類の法的責任を有する。このような商業用の認証局が多く存在する。これらの認証局は、証明書を発行するときに、エンティティの同一性及び鍵所有権を確認する責任がある。
【0054】
認証局がエンティティに対して証明書を発行する場合には、該エンティティは、公開鍵と該エンティティについての幾つかの情報を提供しなければならない。特別に装備されたウェブ・ブラウザなどのソフトウェア・ツールは、この情報に電子署名し、それを認証局に送信することができる。認証局は、信用できるサード・パーティの認証局サービスを提供する会社である。次いで、認証局は、証明書を生成し、それを戻すことになる。証明書は、シリアル番号及び該証明書が有効な日付などといった他の情報を含むことができる。認証局により提供される値の一部は、様々な認証サービス実務(CSP)において公に公開されている検証要件に部分的に基づく、中立的で信用できる紹介サービスとして機能することになる。
【0055】
CAは、要求するエンティティの公開鍵を他の識別情報と共に埋め込み、次いで該CAの秘密鍵を用いてデジタル証明書に署名することによって、新たなデジタル証明書を作成する。次いで、トランザクション又は通信の間にデジタル証明書を受信する誰もが、CAの公開鍵を用いて、該証明書内の署名された公開鍵を検証することができる。その目的は、CAの署名がデジタル証明書上の不正防止シールとして機能し、これにより該証明書のデータの完全性を保証することである。
【0056】
証明書処理の他の態様も標準化されており、X.509公開鍵基盤(PKIX)に関するさらなる情報を、www.ietf.orgのInternet Engineering Task Force(IETF)から入手することができる。例えば、証明書要求メッセージ・フォーマット(RFC2511)は、信頼するパーティがCAからの証明書を要求するときにはいつでも用いるために推奨されるフォーマットを指定する。証明書を転送するための証明書管理プロトコルも公表されている。本発明は、デジタル証明書を処理する分散データ処理システムにあるため、図3及び図4を用いて、デジタル証明書に関する幾つかの有用な背景情報を示す。
【0057】
ここで図3を参照すると、ブロック図は、個人がデジタル証明書を取得する典型的な方法を示す。何らかのタイプのクライアント・コンピュータを通して操作しているユーザ152は、公開/秘密鍵のペア、例えばユーザ公開鍵154及びユーザ秘密鍵156をあらかじめ取得又は生成している。ユーザ152は、ユーザ公開鍵154を含む証明書158についての要求を生成し、該要求を、CA公開鍵162及びCA秘密鍵164を所有する認証局160に送信する。認証局160は、何らかの方法でユーザ152の同一性を検証し、ユーザ公開鍵154を含むX.509デジタル証明書166を生成する。証明書全体は、CA秘密鍵164を用いて署名され、該証明書は、ユーザの公開鍵、該ユーザに関連する名前、及び他の属性を含む。ユーザ152は、新たに生成されたデジタル証明書166を受信し、次いでユーザ152は、信用できるトランザクション又は信用できる通信を行うために、必要に応じてデジタル証明書166を提示することができる。ユーザ152からデジタル証明書166を受信するエンティティは、検証するエンティティが使用可能な(又は取得可能な)、認証局の公開鍵証明書において公開されるCA公開鍵162を用いることによって、CAの署名を検証することができる。
【0058】
ここで図4を参照すると、ブロック図は、エンティティがデジタル証明書を用いてインターネット・システム又はアプリケーションに認証される典型的な方法を示す。ユーザ172は、ホスト・システム178上のアプリケーション176に送信される(又はそれによって取得可能である)X.509デジタル証明書174を所有し、アプリケーション176は、デジタル証明書を処理し、使用するためのX.509機能を備える。ユーザ172は、秘密鍵を用いて、アプリケーション176に送信するデータに署名するか、又はそれを暗号化する。
【0059】
証明書174を受信又は取得するエンティティは、アプリケーション、システム、サブシステムなどとすることができる。証明書174は、ユーザ172のために何らかのタイプのサービスを行うことができるアプリケーション176に対してユーザ172を識別する主体者名又は主体者識別子を含む。証明書174を用いるエンティティは、ユーザ172からの署名又は暗号化されたデータに対して該証明書を用いる前に、該証明書の信頼性を検証する。
【0060】
ホスト・システム178はまた、ユーザ172にシステム178内のサービス及びリソースにアクセスする権限を与える、すなわち、ユーザの身元をユーザ特権と照合するのに用いられるシステム・レジストリ180を含むことができる。例えば、システム管理者は、ユーザの身元を特定のセキュリティ・グループに属するように構成することができ、該ユーザは、該セキュリティ・グループ全体が利用可能であるように構成されるリソースのみにアクセスできるように制限される。このシステムにおいては、認証スキームを課すための様々な周知の方法を利用することができる。
【0061】
従来技術に関して既述したように、デジタル証明書を適切に確認するために、アプリケーションは、該証明書が取り消されたどうかを調べなければならない。認証局が証明書を発行するときは、認証局は、該証明書を識別する固有のシリアル番号を生成し、このシリアル番号は、X.509証明書内の「シリアル番号」フィールドに格納される。典型的には、取り消されたX.509証明書は、該証明書のシリアル番号によってCRL内で識別される、すなわち、取り消された証明書のシリアル番号は、CRL内のシリアル番号のリストに現れる。
【0062】
証明書174が依然として有効であるかどうかを判断するために、アプリケーション176は、証明書取り消しリスト(CRL)をCRLレポジトリ182から取得し、該CRLを確認する。アプリケーション176は、取得したCRL内のシリアル番号のリストと証明書174内のシリアル番号を比較し、一致するシリアル番号が存在しない場合には、該アプリケーション176は、証明書174を有効にする。CRLが一致するシリアル番号を持つ場合には、証明書174は拒否されるべきであり、アプリケーション176は、あらゆるコントローラ・リソースへのアクセスに対するユーザの要求を拒否する適切な手段をとることができる。
【0063】
ここで図5を参照すると、ブロック図は、ネットワークを介してネットワーク及びグリッドにアクセスするユーザ装置を含む典型的なデータ処理システムを示す。ユーザ装置200は、ネットワーク・アクセス装置204を介してネットワーク202上のデータを送受信する。ユーザ装置200は、図1に示されるクライアント105〜107と同様であり、一方、ネットワーク202は、図1のネットワーク101と同様である。ネットワーク・アクセス装置204は、ネットワーク・アクセス・サーバ、Ethernet(商標)スイッチ、無線アクセス・ポイント、又は、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル若しくは接続を認証及び許可するための同様のプロトコルを作動させることができる他のタイプのネットワーク・アクセス装置とすることができる。
【0064】
ネットワーク・アクセス認証サーバ206は、適切なプロトコルを用いて、ユーザがネットワークに接続することを認証及び許可する要求を処理する、すなわち、好ましい実施形態においては、サーバ206はRADIUSプロトコルに対応するものであり、この場合には、ネットワーク・アクセス装置204はRADIUSクライアントとみなされ、ユーザ装置200はアクセス・クライアントとみなされることになる。サーバ206は、様々なエンティティ、例えば、デスクトップ・コンピュータなどの多くのアクセス・クライアントを運用する企業、又はアクセス・クライアントを操作する個人ユーザにそのサービスを販売するインターネット・サービス・プロバイダ(ISP)が、運用することができる。
【0065】
サーバ206は、データベース又は他のタイプのデータストアとすることができるユーザ・レジストリ208内にユーザ情報を格納し、それを取り出す。ユーザ・レジストリ208は、各々のユーザについて、サーバ206によってネットワーク・アクセスが制御されることになるアカウント情報を格納する。サーバ206の運用のためのシステム管理者が、各々のユーザについて登録操作を完了するものと仮定することができる。ユーザ・レジストリ208は、ユーザ装置200を操作する特定のユーザについてのアカウント情報210を含むように示されているが、他のユーザについてのアカウント情報をユーザ・レジストリ208内に格納することもでき、アカウント情報210は、その特定のユーザのユーザ名212及びパスフレーズ214を含む。
【0066】
サーバ206がRADIUSプロトコルに従って動作しているものとすると、ユーザ装置200は、以下の単純な例において、ネットワーク202にアクセスすることができる。ユーザ装置200は、例えば、次にダイヤルアップ・ネットワーク・プログラムを自動的に起動するウェブ・ブラウザ・アプリケーションをユーザ装置200のユーザが起動するのに応答して、ネットワーク・アクセス装置204を用いてポイント・ツー・ポイント・プロトコル(PPP)認証操作を開始する。ネットワーク・アクセス装置204は、ユーザ名及びパスフレーズについての要求に応答し、ユーザ装置200は、ユーザからユーザ名及びその関連するパスフレーズを取得し、その値のペアをネットワーク・アクセス装置204に戻し、ネットワーク・アクセス装置204は、該ユーザ名及びパスフレーズをRADIUSサーバ206に送信する、すなわち、該パスフレーズは、処理全体を通して適切な暗号化によって保護されるものと仮定することができる。RADIUSサーバ206は、受信したユーザ名/パスフレーズの組み合わせをユーザ・レジストリ208内の情報を用いて確認し、受け入れ応答又は拒否応答によって応答する。ユーザ情報が正常に確認されたと仮定すると、RADIUSサーバ206は、例えばユーザ装置200に割り当てられるIPアドレスなどのセッションのために用いられるパラメータを記述する属性−値のペアのリストといった、サービスをユーザ装置200に提供するのに必要な設定情報を、ネットワーク・アクセス装置204に戻す。ネットワーク・アクセス装置204は、情報をユーザ装置200に戻し、ユーザ装置200は、データをネットワーク202上に伝送するデータ・トラフィックをネットワーク・アクセス装置204に送信し始める。
【0067】
ネットワーク202内のサービスにアクセスする必要がある場合は、ユーザ装置200上で実行するアプリケーションは、関連するユーザ公開鍵証明書220と共に保護された形式のユーザ秘密鍵218を格納するクライアント・データストア216にアクセスすることができ、ユーザ秘密鍵218は、パスフレーズ214又は他の何らかの秘密情報を用いて暗号化するか、又は他の何らかの手段によって保護することができる。ユーザ装置200は、ウェブ・ブラウザ・アプリケーションなどの多くの異なる種類のアプリケーションに対応するものとすることができ、クライアント・データストア216は、様々なアプリケーション内部の、又はそれらによって制御される記憶域を含む、様々な異なる形式の1つ又はそれ以上のデータストアとして実装することができる。
【0068】
ユーザ装置200はまた、グリッド・クライアント・アプリケーション230、すなわち、グリッド234内のサービス/リソース232を要求するか又はそれにアクセスすることが可能なクライアント・アプリケーションに対応するものであり、すなわち、グリッド・クライアント・アプリケーション230の形式を、例えば独立型プログラム、アプレット、又は何らかの形式のソフトウェア・モジュールといったものに変えることができる。上述のように、グリッドは、個々のコンピュータ上では局所的な自律制御を維持しながら計算能力及びデータストア能力を全体で共有するための、多くのコンピュータについての論理/仮想編成である。グリッドが1つ又はそれ以上のネットワーク内の物理的にサポートされた要素の仮想編成であり、ネットワーク202が(インターネットを含むことができる)1つ又はそれ以上のネットワークを表すため、グリッド234は、図5においてはネットワーク202内のリソースの一部として示される。
【0069】
本発明の好ましい実施形態においては、グリッド・クライアント・アプリケーション230は、Globus Toolkit(商標)に従って作動し、その態様は簡単に後述される。ジョブは、「globusrun」コマンドの使用によってグリッドにサブミットされ、各々のジョブには、ユーザ又はグリッド・クライアントを認証するのに用いられるX.509プロキシ証明書が添付される。したがって、プロキシ証明書は、ジョブをグリッド上で実行することが可能になる前に生成されなければならない。
【0070】
グリッド・クライアントによってプロキシ証明書がグリッド・サービスに伝送されるときは、該グリッド・クライアントは、他のグリッド・サービスに許可されるよう、あたかもグリッド・クライアントであるかのようにグリッド・サービスに権利を与える。ジョブがグリッド内で処理されるときは、多数のサービスをトリガーして、サブミットされたジョブの処理を支援することができる。プロキシ証明書がグリッド内でジョブに添付されるため、プロキシ証明書によってグリッド内でのシングル・サインオン操作が容易になり、認証チャレンジは、グリッド・リソース又はサービスへのアクセス毎に生成されない。
【0071】
プロキシ証明書は、典型的には数時間のオーダーの限られた存続時間を持つ短期セッションの証明書である。特定のプロキシ証明書は特定の公開鍵証明書に基づくものであり、公開鍵証明書内で識別される主体者がプロキシ証明書を生成することができる。公開鍵証明書内の特定の公開鍵に対応する秘密鍵を用いてプロキシ証明書に電子署名し、これにより、以下により詳細に説明されるように、該プロキシ証明書をX.509証明書の使用に内在する階層的信用パスに従って確認することが可能になる。
【0072】
図5に示される例においては、グリッド認証局(CA)236が、例えば図3及び図4について上述されたものと同じ方法で、グリッド234内で証明書を用いるユーザに証明書を発行する。代替的な実施形態においては、例えば、グリッド234に対応する組織に加えて他の組織についての証明書を発行することを委託されたサード・パーティのベンダといった、グリッドから独立した異なるCAを利用することができる。しかしながら、グリッド234においてシングル・サインオン操作の恩恵を被るために、グリッド234内のすべてのリソースがCA236などの所与のCAを信用することを前提とすべきである。換言すれば、グリッドCA236は、グリッド234に関してルートCAであると考えられる。しかしながら本発明に関しては、公開鍵証明書220のユーザ/主体者及びグリッド・リソース/サービス232の両方がグリッドCA236を信用すると仮定すれば十分である。
【0073】
公開鍵証明書220は、その秘密鍵を用いてCA236によって署名された。一般に、ユーザ装置200が、トランザクション要求メッセージをサービス232に送信することによってサービス232とのトランザクションを開始するときは、ユーザ装置200は、その秘密鍵218を用いてトランザクション関連メッセージに署名する。ユーザ装置200が、公開鍵証明書220のコピーをトランザクション関連メッセージと共にサービス232に伝送するか、又は、サービス232が、LDAPディレクトリなどの既知の場所から公開鍵証明書220のコピーを取得することができる。サービス232は、トランザクション関連メッセージに署名するのに用いられた秘密鍵218に対応する、公開鍵証明書220内の公開鍵を用いて、該トランザクション関連メッセージ上の電子署名を確認する。
【0074】
同様に、サービス232は、公開鍵証明書220に署名するのに使用されたCAの秘密鍵に対応する、CA236の公開鍵証明書のコピーにおける公開鍵を用いて、公開鍵証明書220の受信又は取得されたコピーの信頼性を確認する。サービス232が既知の場所からCA236の公開鍵証明書220のコピーを取得するか、又はCA236の公開鍵証明書220のコピーがトランザクション関連メッセージと共に伝送されることもあり、ユーザ装置200は、CA公開鍵証明書238のコピーを格納することができる。このようにして、信用、信用パス、又は証明書パスのいわゆる階層チェーンが形成され、必要に応じて、ルートCAまで信用パスを進んで確認を行うことができる。サービス232は暗黙的にCA236を信用するため、サービス232は、トランザクション関連メッセージを、公開鍵証明書220内で識別される主体者によって生成されたことが確実なものとして信用すると考えられる。
【0075】
同様に、ユーザ装置200は、秘密鍵218を用いて署名されるプロキシ証明書240を生成する認証局として機能することができ、生成されたプロキシ証明書は、固有名と、非対称暗号鍵ペアの公開鍵とを含む。プロキシ証明書240がユーザ装置200によってサービス232に伝送されたときは、サービス232は、公開鍵証明書220と、CA公開鍵証明書238と、必要に応じて信用パスにおける他の証明書とを用いて、プロキシ証明書240の信用パスを確認することができる。プロキシ証明書240の性質により、サービス232は、他のサービスに対してユーザ装置200の代わりのプロキシとして機能することができる。
【0076】
上述のように、グリッド・クライアント・アプリケーション230は、本発明の好ましい実装形態においてはGlobus Toolkit(商標)に従って作動し、プロキシ証明書は、Globus Toolkit(登録商標)を用いてジョブをグリッド上で実行することが可能となる前に生成されなければならない。「grid−proxy−init」コマンドはプロキシ証明書を生成し、該プロキシ証明書は特定のファイルに格納される。1つの実装形態においては、ファイルは、ファイル名が「x509up_u<uid>」であり、ユーザ識別子が「grid−proxy−init」コマンドを実行しているユーザに関連するパス名「/tmp/<filename>」に格納される。このファイルは、プロキシ証明書の対応する秘密鍵及び該プロキシ証明書が基づいている公開鍵証明書のコピーと共に、該プロキシ証明書を格納する。
【0077】
プロキシ証明書に電子署名するのに用いられるユーザの秘密鍵は、異なるファイル内に暗号化された状態のまま残され、1つの実装形態においては、該秘密鍵は、「$HOME/.globus/userkey.pem」ファイルに格納される。秘密鍵は、ユーザのグリッド・パスフレーズを用いてアクセスすることが可能であり、1つの実装形態においては、このパスフレーズは、ユーザの公開鍵証明書が「grid−cert−request」コマンドの使用を通じてグリッド認証局によって生成されたときに該ユーザによって設けられたものと同じパスフレーズである。
【0078】
したがって、ユーザがグリッド・クライアント・アプリケーション230を作動させるときは、グリッド・クライアント・アプリケーション230は、特定のファイルに格納されているプロキシ証明書を使用する、すなわち、「grid−proxy−init」は、プロキシ証明書を生成するために前もって実行されているはずである。「globusrun」コマンドが呼び出されるときには、実行ルーチンは、グリッド内にサブミットされるジョブに添付するプロキシ証明書を取り出すファイル場所を分かっている。
【0079】
上述のように、プロキシ証明書の使用を通じて実装されるグリッドのシングル・サインオン機能は、グリッド内のリソースに適用されるのみである。したがって、ユーザは、ネットワーク・アクセス認証サーバを通じてネットワークに対する認証操作を完了した後に、グリッド・クライアント・アプリケーションによってグリッドに対する別の認証操作を完了することに取り組むことになる。したがって、従来技術においては、ユーザは典型的には、グリッド内のリソースにアクセスする2つの認証チャレンジを通過する必要があり、これは、シングル・サインオン操作の概念に反し、シングル・サインオン機能をグリッド基盤に組み込む取り組みを減少させるものである。本発明は、この問題に対する解決策を提供する。
【0080】
ここで図6を参照すると、ブロック図は、本発明の実施形態に従って、ネットワーク及びグリッドにアクセスするユーザ装置を含むデータ処理システムを示す。図6は図5に類似するものであり、同じ要素数字は、同じ機能を指す。しかしながら、図6の例においては、ユーザ・レジストリ内のユーザ・アカウント情報が、各グリッド・ユーザの保護された秘密鍵218及び公開鍵証明書220のコピーを含むように変更されている。さらに、図6におけるネットワーク・アクセス認証サーバ及びユーザ装置は、付加的な機能を含むように変更されている。図6においては、ネットワーク・アクセス認証サーバ250は、グリッド・プロキシ証明書生成器252を含み、ユーザ装置260は、修正されたダイヤルアップ・プログラム262を含む。修正されたアカウント情報及び付加的な機能を利用する方法を、さらにより詳細に説明する。
【0081】
ここで、図7を参照すると、フローチャートは、本発明の実施形態に従ってグリッド関連情報をユーザ・レジストリ内に確立するための処理を示す。処理は、RADIUSサーバなどのネットワーク・アクセス認証サーバによって用いられるユーザ・レジストリ・データベース内にユーザ・アカウントを確立する典型的なユーザ登録操作で開始し(ステップ302)、このユーザ登録操作は、図5に示されるデータ処理システム内で必要とされるユーザ登録操作と実質的に同様である。続いて、ネットワーク・アクセス認証サーバは、ユーザ・レジストリを用いて、ユーザがネットワークへのアクセスを許可されるべきかどうかを判断する。
【0082】
しかしながら、図5に示されるデータ処理システムとは対照的に、図6に示されるデータ処理システムは、特定のユーザが本発明の利益を得ることになる場合には、その特定のユーザのアカウント情報内に付加的な情報を格納することが必要である。したがって、ユーザ登録操作の際に、ユーザの秘密鍵及びユーザの公開鍵証明書もまた、ユーザの他のアカウント情報と関連して格納され(ステップ304)、これで、修正された登録処理を完了する。ユーザの秘密鍵は、何らかの方法で、例えばユーザのパスフレーズを用いて暗号化することによって、保護されることが好ましいであろう。これらのデータ項目は、帯域外処理を通じてアカウント登録器に転送することができ、例えば、システム管理者が、ユーザから直接該ユーザの秘密鍵及び該ユーザの公開鍵証明書を取得する責任を負うことになる。
【0083】
ここで図8を参照すると、フローチャートは、本発明の実施形態に従って、ネットワーク・アクセスのための認証操作をグリッド・アクセスのための認証操作と統合してネットワーク及びグリッドの複合型シングル・サインオン操作を提供するためのサーバ側の処理を示す。図8は、サーバ上で行われるシングル・サインオン操作のための処理の一部を示し、一方、図9は、ユーザ装置上で行われるシングル・サインオン操作のための処理の一部を示す。処理は、ネットワーク・アクセス認証サーバがネットワーク・アクセス認証操作を実行することから開始する(ステップ402)。ユーザが正常に認証されるものと仮定し、そうでない場合には、適切な拒否応答が戻されることになる。例えば、図6に示されるようなグリッド・プロキシ証明書生成器機能などの拡張機能を有するRADIUSサーバは、図5に関して上述されたように、RADIUSプロトコルに従って認証操作を実行する。
【0084】
しかしながら、正常認証についてのネットワーク・アクセス・パラメータを戻す前に、ネットワーク・アクセス認証サーバは、例えばユーザ・アカウント・レジストリからのコピーなどの、ユーザの秘密鍵のコピーとユーザの公開鍵証明書のコピーとを取得し(ステップ404)、ユーザの秘密鍵が保護されている場合には、ユーザの秘密鍵の暗号化されたコピーは復号化される。ユーザのアカウント情報は、例えば図7に示される処理の完了によって、ユーザの秘密鍵のコピーとユーザの公開鍵証明書のコピーとを含むものと仮定するが、ステップ404及び406は、グリッドにアクセスしない一部のユーザが存在する場合には、選択的な方法で制御することができる。例えば、ユーザのアカウント情報は、ユーザが統合型ネットワーク・グリッドのシングル・サインオン操作の必要性を有するグリッド・ユーザであるかどうかを示す値を含むことができる。
【0085】
ユーザがグリッドへのアクセスを必要とすると仮定すると、ネットワーク・アクセス認証サーバは、上述と同様の方法でプロキシ証明書を生成し(ステップ406)、該プロキシ証明書は、ユーザの公開鍵証明書からコピーされた何らかの情報、例えば「Subject」識別子を含み、該プロキシ証明書は、ユーザの秘密鍵を用いて電子署名される。次いで、ネットワーク・アクセス認証サーバは、ネットワーク・アクセス・パラメータと共にプロキシ証明書を戻し(ステップ408)、これによって統合型認証処理を終了する。例えば、図6に示されるようなグリッド・プロキシ証明書生成器機能などの拡張機能を有するRADIUSサーバは、ベンダがRADIUSプロトコル内の拡張属性に対応できるようにするベンダ特有の属性(VSA;vendor−specific attributes)の中にプロキシ証明書を戻すことができる。
【0086】
ここで図9を参照すると、フローチャートは、本発明の実施形態に従い、ネットワーク・アクセスのための認証操作をグリッド・アクセスのための認証操作と統合してネットワーク及びグリッドの複合型シングル・サインオン操作を提供するためのクライアント側の処理を示す。処理は、ユーザ装置が、ネットワークにアクセスしようとすると同時に、ネットワーク・アクセス認証操作を開始し、それに関与することから始まる(ステップ502)。
【0087】
その後のいずれかの時点で、ネットワーク・アクセス認証サーバからネットワーク・アクセス・パラメータの組が戻され、ユーザ装置は、それを、ネットワーク上で通信するための適切なネットワーク・パケットを生成する際に用いるために格納する。ユーザ装置上には、修正されたダイヤルアップ・プログラムが既に構成されており、該修正されたダイヤルアップ・プログラムは、ネットワーク・アクセス認証操作に関わるものであり、該修正されたダイヤルアップ・プログラムは、戻されたネットワーク・アクセス・パラメータを処理する。ネットワーク・アクセス・パラメータが戻される際に、修正されたダイヤルアップ・プログラムは、プロキシ証明書の存在を検出する(ステップ504)。変更されたダイヤルアップ・プログラムは、プロキシ証明書を抽出し、それをユーザ装置上の適切なファイルに格納し(ステップ506)、これによって処理を終了する。例えば、Globus Toolkit(商標)を用いるアプリケーションがユーザ装置に構成されている場合には、修正されたダイヤルアップ・プログラムは、プロキシ証明書を含むファイルを生成する。
【0088】
本発明においては、典型的なユーザ装置及び典型的なネットワーク・アクセス認証サーバを、プロキシ証明書の転送を受け入れるように修正した。本発明の異なる実施形態においては、プロキシ証明書がネットワーク・アクセス認証サーバからユーザ装置に伝送される方法を変えることができる。本発明の好ましい実施形態においては、ユーザ装置及びネットワーク・アクセス認証サーバは、後述の機能に対応する。
【0089】
ユーザ装置は、Blunkらによる「PPP Extensible Authentication Protocol(EAP)」、RFC2284、Internet Engineering Task Force(IETF)、1998年3月、の中で定義されている、(ポイント・ツー・ポイント・プロトコル(PPP)に関連し、EAPと略される)PPP拡張可能認証プロトコル(Extensible Authentication Protocol)を用いてネットワーク・アクセス装置と通信する。RFC2284の中で記述されるように、PPPは、ポイント・ツー・ポイント・リンク上でマルチ・プロトコル・データグラムを転送するための標準的な方法を提供する。ポイント・ツー・ポイント・リンク上で通信を確立するために、PPPリンクの各々の端末は、まずリンク制御プロトコル(LCP;Link Control Protocol)パケットを送信して、リンク確立フェーズの間にデータ・リンクを構成しなければならない。リンクが確立された後、PPPは、ネットワーク層プロトコル・フェーズに移る前に任意の認証フェーズを準備する。デフォルト設定では認証は必須ではないが、リンクの認証が求められる場合には、実装形態では、リンク確立フェーズの間に認証プロトコル設定オプション(Authentication−Protocol Configuration Option)を指定しなければならず、EAPが、特定の認証プロトコルを定める。接続認証フェーズに到達すると、エンドポイント装置(「ピア」と呼ばれることもある)は、EAPタイプとして知られる特定のEAP認証スキームの使用をネゴシエートする。
【0090】
EAPは、要求パケット及び応答パケットを定め、各々の要求は、どの情報が要求されているかを示すタイプ・フィールドを有する。EAPは、要求/応答交換に用いられる初期EAPタイプの組を定める。EAPタイプについて取り決められると、EAPは、ユーザ装置(アクセス・クライアント)と、接続のパラメータ及び必要性に基づいて変わる場合があるネットワーク・アクセス認証サーバ(例えば、RADIUSサーバ)との間において、メッセージの制約のない交換を可能にする。エンドポイント間の対話は、認証情報及び応答についての一連の要求からなる。
【0091】
本発明は、典型的にはユーザ入力を必要とする一般的なトークン・カードに対応するために用いられるEAP定義「タイプ6」を使用することができる。要求は、典型的には、ASCIIテキスト・メッセージを含む。応答は、典型的には、認証に必要なトークン・カード情報を含み、典型的には、これは、ユーザによってトークン・カード装置から読み出され、次いでASCIIテキストとして入力される情報である。
【0092】
好ましい実施形態においては、認証情報(ユーザ名/パスフレーズ)がユーザ装置から要求され、該ユーザ装置から受信された後に、プロキシ証明書は、プロキシ証明書を保持するのに十分な最大64キロバイトの可変長を有することができる「タイプ6」のEAP要求としてユーザ装置に転送され、該プロキシ証明書は、UUエンコーディングなどの様々なアルゴリズムに従って全ASCIIテキスト文字列に変換することができる。
【0093】
このように、このデータ・フィールドは、EAP仕様書によって予定されているもの以外のデータ・ペイロードを運ぶように「オーバーロード」される。したがって、ユーザからのEAP応答のコンテンツは、確認通知又は種々のダミー・データなどの様々な情報を持つことができる。
【0094】
EAPは、両方のエンドポイントにおいて認証プラグイン・モジュールを受け入れるように設計され、それにより、機会を有するベンダが新しい認証スキームを提供することが可能になる。ユーザ装置上の修正されたダイヤルアップ・プログラムは、オーバーロードされた「タイプ6」のEAP要求を認識し、ASCIIテキストのコンテンツ・ペイロードを抽出する、すなわち、該プログラムは必要に応じて、例えばUUデコーディング・アルゴリズムによってASCIIテキストを変換して、プロキシ証明書を取得し、次いで、それを適切な場所に、例えば上述のグリッド・クライアント・アプリケーションによって用いられるファイルに格納する。
【0095】
ネットワーク・アクセス装置は、単に認証パケットの内容を転送するのみであり、したがって、該ネットワーク・アクセス装置は、プロキシ証明書が転送される方法には影響を受けない。RADIUSプロトコルを実装する本発明の好ましい実施形態においては、ネットワーク・アクセス装置は、該ネットワーク・アクセス装置を介してあらゆるEAPタイプのEAPメッセージをRADIUSサーバに受け渡すことである、いわゆる「EAP over RADIUS」に対応する。アクセス・クライアント(ユーザ装置)とRADIUSサーバとの間で送信されるEAPメッセージは、「EAPメッセージ」属性としてフォーマットされ、RADIUSメッセージに入れてネットワーク・アクセス装置とRADIUSサーバとの間で送信される。したがって、ネットワーク・アクセス装置は、アクセス・クライアントとRADIUSサーバとの間でEAPメッセージを受け渡すパススルー装置となり、EAPメッセージの処理は、ネットワーク・アクセス装置ではなく、アクセス・クライアント及びRADIUSサーバにおいて行われる。
【0096】
ネットワーク・アクセス装置は単に、認証プロトコルであるEAPのネゴシエーションと、RADIUSサーバへのEAPメッセージの受け渡しとに対応する必要があるのみであり、これは、多くの市販されているネットワーク・アクセス装置によって提供される機能である。「EAPメッセージ」属性は、Rigneyらの「RADIUS Extensions」、RFC2869、IETF、2000年6月、において定義されていることに留意されたい。したがって、本発明の好ましい実施形態においては、ネットワーク・アクセス装置は、EAPを使用し、かつ、その認証プロバイダとしてRADIUSを使用するように構成される。接続試行が行われるときは、ユーザ装置は、ネットワーク・アクセス装置との間でEAPの使用をネゴシエーションする。ユーザ装置がEAPメッセージをネットワーク・アクセス装置に送信したときは、該ネットワーク・アクセス装置は、該EAPメッセージをRADIUSメッセージとしてカプセル化し、構成されたRADIUSサーバにそれを送信する。RADIUSサーバは、EAPメッセージを処理し、RADIUS形式の該EAPメッセージをネットワーク・アクセス装置に返信し、次いで、ネットワーク・アクセス装置は、該EAPメッセージをユーザ装置に転送する。
【0097】
本発明の利点は、上述された詳細な説明から明らかであろう。RADIUSサーバなどのネットワーク・アクセス認証サーバのためのユーザ・レジストリは、ユーザの秘密鍵及びユーザの公開鍵証明書を保持するように構成されており、これらは、例えばRADIUSプロトコルに従って実行されるネットワーク・アクセス認証操作の際に、該ネットワーク・アクセス認証サーバが使用可能である。ユーザ・レジストリ内の情報を用いると、ネットワーク・アクセス認証サーバは、ユーザのネットワーク・アクセス認証操作の際にユーザについてのプロキシ証明書を生成することができる。プロキシ証明書は、ネットワーク・アクセス装置を介してネットワーク・アクセス・パラメータと共にユーザ装置に戻される。プロキシ証明書は、ユーザ装置の適切な場所に格納され、該プロキシ証明書は、次に、ジョブがグリッドにサブミットされるときにグリッド・クライアント・アプリケーションが使用可能である。
【0098】
その後のいずれかの時点で、グリッド・クライアント・アプリケーションは、グリッド内へのジョブのサブミットを準備する。グリッド・クライアント・アプリケーションが、ネットワーク・アクセス認証操作の際に以前に格納された有効で新しいプロキシ証明書を発見したときは、該グリッド・クライアント・アプリケーションはそれを用いる。したがって、新たなプロキシ証明書がその時点でユーザ装置上に生成される必要がないという事実によって、新たなプロキシ証明書の生成と関連する認証操作についての必要性が取り除かれる。このように、ネットワーク・アクセス及びグリッド・アクセスに対して1回のみ認証操作が行われ、これによりネットワーク及びグリッドのユーザはシングル・サインオンを体験することになる。
【0099】
十分に機能するデータ処理システムに即して本発明を説明したが、当業者であれば、本発明の処理が、分散を実現するのに実際に用いられる信号支持媒体の特定の種類にかかわらず、コンピュータ可読媒体内の命令の形態及び様々な他の形態で分散させられることが分かるであろうということに留意することが重要である。コンピュータ可読媒体の例として、EPROM、ROM、テープ、紙、フロッピー(商標)ディスク、ハード・ディスク・ドライブ、RAM、及びCD−ROMなどの媒体、並びに、デジタル及びアナログ通信リンクなどの伝送タイプの媒体が挙げられる。
【0100】
方法は、一般に、所望の結果につながる一連の自己矛盾のないステップであるように考えられている。これらのステップは、物理量の物理的な操作を必要とする。通常は、必須ではないが、こうした量は、格納し、転送し、組み合わせ、比較し、他の方法で操作することが可能な電気的又は磁気的信号の形態をとる。主に一般的な使用のために、これらの信号を、ビット、値、パラメータ、項目、要素、オブジェクト、記号、文字、用語、番号などと呼ぶことが都合がよい場合がある。しかしながら、これらの用語及び同様の用語のすべては、適切な物理量に関連するものであり、これらの量に使用される便利な表示にすぎないことに留意すべきである。
【0101】
本発明の説明は、例示の目的で提示されたが、網羅的であること、又は開示された実施形態に制限されることを意図するものではない。当業者には、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及びその実際の応用を説明し、他の考えられる用途に適する様々な修正を伴った種々の実施形態を実装するために当業者以外の者が本発明を理解できるように、選択された。
【図面の簡単な説明】
【0102】
【図1】各々が本発明を実装することができるデータ処理システムの典型的なネットワークを示す。
【図2】本発明を実装することができるデータ処理システム内で用いることが可能な典型的なコンピュータ・アーキテクチャを示す。
【図3】エンティティがデジタル証明書を取得する典型的な方法を示す。
【図4】エンティティが分散データ処理システム内でデジタル証明書を用いることができる典型的な方法を示すブロック図を表す。
【図5】ネットワークを介してネットワーク及びグリッドにアクセスするユーザ装置を含む典型的なデータ処理システムを示すブロック図を表す。
【図6】本発明の実施形態に従ってネットワーク及びグリッドにアクセスするユーザ装置を含むデータ処理システムを示すブロック図を表す。
【図7】本発明の実施形態に従ってユーザ・レジストリ内にグリッド関連情報を確立するための処理を示すフローチャートを表す。
【図8】本発明の実施形態に従って、ネットワーク・アクセスのための認証操作をグリッド・アクセスのための認証操作と統合して複合型ネットワーク−グリッド・シングル・サインオン操作を提供するためのサーバ側の処理を示すフローチャートを表す。
【図9】本発明の実施形態に従って、ネットワーク・アクセスのための認証操作をグリッド・アクセスのための認証操作と統合して複合型ネットワーク−グリッド・シングル・サインオン操作を提供するためのクライアント側の処理を示すフローチャートを表す。

【特許請求の範囲】
【請求項1】
認証操作のための方法であって、ネットワーク・アクセス装置を介してユーザ装置からネットワーク・アクセス認証サーバに対するネットワーク・アクセス認証操作を開始するステップと、前記ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を前記ユーザ装置で受信するステップと、前記受信した情報からプロキシ証明書を抽出するステップと、前記プロキシ証明書を前記ユーザ装置に格納するステップと、を含む方法。
【請求項2】
前記ネットワーク・アクセス装置を介してトランザクション要求メッセージをグリッドに送信するステップと、前記プロキシ証明書を前記グリッドに提供するステップとをさらに含む、請求項1に記載の方法。
【請求項3】
前記グリッドに対する操作が、Globus Toolkit(商標)を用いるソフトウェアによって行われる、請求項2に記載の方法。
【請求項4】
前記ネットワーク・アクセス認証操作が、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる、請求項1に記載の方法。
【請求項5】
請求項1〜4記載の各ステップをコンピュータに実行させるプログラム。
【請求項6】
認証操作のための装置であって、ネットワーク・アクセス装置を介してユーザ装置からネットワーク・アクセス認証サーバに対するネットワーク・アクセス認証操作を開始するための手段と、前記ネットワーク・アクセス認証操作の正常完了に応答して、ネットワーク・アクセス・パラメータの組を含む情報を前記ユーザ装置で受信するための手段と、前記受信した情報からプロキシ証明書を抽出するための手段と、前記プロキシ証明書を前記ユーザ装置に格納するための手段と、を備える装置。
【請求項7】
前記ネットワーク・アクセス装置を介してトランザクション要求メッセージをグリッドに送信するための手段と、前記プロキシ証明書を前記グリッドに提供するための手段とをさらに備える、請求項6に記載の装置。
【請求項8】
前記グリッドに対する動作が、Globus Toolkit(商標)を用いるソフトウェアによって行われる、請求項7に記載の装置。
【請求項9】
前記ネットワーク・アクセス認証操作が、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコルを用いて行われる、請求項6に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2009−514046(P2009−514046A)
【公表日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2006−516130(P2006−516130)
【出願日】平成16年6月8日(2004.6.8)
【国際出願番号】PCT/EP2004/051002
【国際公開番号】WO2005/003934
【国際公開日】平成17年1月13日(2005.1.13)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】