(57)【要約】【課題】  クライアントが特定のＮＴＬＭ認証コードを有することを要求することなく、ＮＴＬＭ認証プロトコルを用いてクライアントがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受けることを可能にする技術を提供すること。【解決手段】  本発明の一特徴は、コンピュータにより実現されるクライアントを認証する方法であって、プロキシ認証サーバが、クライアントからデジタル証明書リクエストを受け付けるステップと、前記プロキシ認証サーバが、前記デジタル証明書リクエストに応答して、認証局が常駐する特定のサーバと認証処理をやりとりするステップとを有する方法に関する。【選択図】  図１
2009110522.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実現されるクライアントを認証する方法であって、
プロキシ認証サーバが、クライアントからデジタル証明書リクエストを受け付けるステップと、
前記プロキシ認証サーバが、前記デジタル証明書リクエストに応答して、認証局が常駐する特定のサーバと認証処理をやりとりするステップと、
を有する方法。
【請求項２】
前記デジタル証明書リクエストを受け付けるステップは、デジタル証明書リクエストが通常送信される標準的なポート以外のポートを介し前記クライアントが送信したデジタル証明書リクエストを受け付けることからなる、請求項１記載の方法。
【請求項３】
前記プロキシ認証サーバが、前記認証処理を介し前記特定のサーバによる認証を受けるステップと、
前記プロキシ認証サーバが、前記認証処理を介し前記特定のサーバによる認証を受けた後、前記デジタル証明書リクエストを前記認証局に送信するステップと、
前記認証局が前記デジタル証明書リクエストを受け付けると、前記プロキシ認証サーバが、前記認証局からデジタル証明書を受け付けるステップと、
前記プロキシ認証サーバが、前記デジタル証明書を前記クライアントに送信するステップと、
をさらに有する、請求項１記載の方法。
【請求項４】
前記プロキシ認証サーバが、前記クライアントとのＳＳＨチャネルを確立するステップをさらに有し、
前記クライアントから前記デジタル証明書リクエストを受け付けるステップは、前記ＳＳＨチャネルを介し前記デジタル証明書リクエストを受け付けることからなる、請求項１記載の方法。
【請求項５】
１以上の命令シーケンスを有するコンピュータ可読媒体であって、１以上のプロセッサにより前記１以上の命令シーケンスが実行されると、
プロキシ認証サーバが、クライアントからデジタル証明書リクエストを受け付けるステップと、
前記プロキシ認証サーバが、前記デジタル証明書リクエストに応答して、認証局が常駐する特定のサーバと認証処理をやりとりし、前記クライアントが前記サーバによる認証処理に参加しないようにするステップと、
を前記１以上のプロセッサに実行させるコンピュータ可読媒体。
【請求項６】
クライアントからデジタル証明書リクエストを受け付け、
前記デジタル証明書リクエストの受け付けに応答して、認証局が常駐する特定のサーバと認証処理をやりとりする、
よう構成されるプロキシ認証サーバ。
【請求項７】
デジタル証明書リクエストが通常送信される標準的なポート以外のポートを介し前記クライアントが送信したデジタル証明書リクエストを受け付けるようさらに構成される、請求項６記載のプロキシ認証サーバ。
【請求項８】
前記認証処理を介し前記特定のサーバによる認証を受け、
前記認証処理を介し前記特定のサーバによる認証を受けた後、前記デジタル証明書リクエストを前記認証局に送信し、
前記認証局が前記デジタル証明書リクエストを受け付けると、前記認証局からデジタル証明書を受け付け、
前記デジタル証明書を前記クライアントに送信する、
ようさらに構成される、請求項６記載のプロキシ認証サーバ。
【請求項９】
前記クライアントとのＳＳＨチャネルを確立し、
前記ＳＳＨチャネルを介し前記デジタル証明書リクエストを受け付ける、
ようさらに構成される、請求項６記載のプロキシ認証サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティに関し、より詳細には、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ(登録商標)  Ｓｅｒｖｅｒによる認証を受けるプロキシ認証サーバを介して、クライアントがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒと間接的にやりとりすることを可能にするシステム及び技術に関する。
【背景技術】
【０００２】
ネットワーク装置は、しばしばタスクを実行するため互いに通信する必要がある。例えば、クライアントは、サーバが提供するサービスにアクセスするため、ネットワークを介しサーバと通信する必要があるかもしれない。典型的には、サーバの所有者は、特定の認証されたクライアントしかサーバが提供するサービスにアクセスできないことを確保したい。
【０００３】
認証されたクライアントであることを装うことによって、認証されていないクライアントはサーバが提供するサービスにアクセスすることを防ぐため、認証の仕組がときどき利用される。認証の仕組を通じて、クライアントはクライアントが真正であること、すなわち、クライアントが実際に表明する認証されたクライアントであることをサーバに証明することができる。１つのタイプの認証の仕組は、デジタル証明書の使用を伴う。クライアントは、サーバが信頼する認証局からクライアントが取得したデジタル証明書をサーバに提供する。クライアントは、それが実際に真正である場合に限って信頼された認証局からデジタル証明書を取得することができないため、サーバはクライアントの真正性の証明としてデジタル証明書を受け付ける。
【０００４】
デジタル証明書は、証明書の発行日から指定された期間が経過すると期限切れとなる。クライアントのデジタル証明書が期限切れに設定される前に、クライアントは、デジタル証明書を当初発行した認証局とやりとりすることによって、デジタル証明書を更新することが要求される。しばしば、認証局はＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ(登録商標)  Ｓｅｒｖｅｒ上に常駐している。クライアントがこのような認証局とやりとり可能となる前に、クライアントは、ＮＴ  ＬＡＮ  Ｍａｎａｇｅｒ（ＮＴＬＭ）認証プロトコルを用いてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒから認証を受ける必要がある。
【０００５】
ＮＴＬＭ認証プロトコルには各種バージョンがあるが、すべてのバージョンが典型的には、クライアントとＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとの間のメッセージ交換を伴う。メッセージの１つ（“タイプ２”メッセージ）は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒからのランダムチャレンジを含む。クライアントは、このランダムチャレンジとクライアント及びＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒにより共有されるある秘密（及び認証されていないエンティティには未知である）との両方に基づき、クライアントが生成したデータを含む他のメッセージ（“タイプ３”メッセージ）によって、上記メッセージに応答することが要求される。例えば、このデータを生成するため、クライアントは、共有されている秘密がキーとして用いられる合意されているハッシュ処理及び暗号化アルゴリズム（ＭＤ４／ＭＤ５ハッシュ処理及びＤＥＳ暗号化）を利用して、ランダムチャレンジを暗号化するかもしれない。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒはクライアントのメッセージを受信すると、共有されている秘密のキーを用いてメッセージデータからランダムチャレンジを再構成（解読などを介し）することを試みる。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒがこれに成功することができる場合、このことは、クライアントが共有されている秘密のキーを所持し、このためクライアントが真正であるという証明となる。
【０００６】
残念ながら、クライアントがＮＴＬＭ認証プロトコルに参加可能となるためには、特定のＮＴＬＭ認証コードがクライアントに搭載されている必要がある。このコードをクライアントに搭載することは、クライアントの複雑さを増大させ、クライアントの実現をより困難にする。さらには、このことが、クライアントを構成するコストを増大させることになる。また、クライアントに、この処理を追加するとエラーが生じやすくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、上記問題点に鑑み、クライアントが特定のＮＴＬＭ認証コードを有することを要求することなく、ＮＴＬＭ認証プロトコルを用いてクライアントがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受けることを可能にする技術を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一特徴は、コンピュータにより実現されるクライアントを認証する方法であって、プロキシ認証サーバが、クライアントからデジタル証明書リクエストを受け付けるステップと、前記プロキシ認証サーバが、前記デジタル証明書リクエストに応答して、認証局が常駐する特定のサーバと認証処理をやりとりするステップとを有する方法に関する。
【０００９】
また、本発明の他の特徴は、１以上の命令シーケンスを有するコンピュータ可読媒体であって、１以上のプロセッサにより前記１以上の命令シーケンスが実行されると、プロキシ認証サーバが、クライアントからデジタル証明書リクエストを受け付けるステップと、前記プロキシ認証サーバが、前記デジタル証明書リクエストに応答して、認証局が常駐する特定のサーバと認証処理をやりとりするステップとを前記１以上のプロセッサに実行させるコンピュータ可読媒体に関する。
【００１０】
さらに、本発明のさらなる他の特徴は、クライアントからデジタル証明書リクエストを受け付け、前記デジタル証明書リクエストの受け付けに応答して、認証局が常駐する特定のサーバと認証処理をやりとりするよう構成されるプロキシ認証サーバに関する。
【発明の効果】
【００１１】
本発明によると、クライアントが特定のＮＴＬＭ認証コードを有することを要求することなく、ＮＴＬＭ認証プロトコルを用いてクライアントがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ(登録商標)  Ｓｅｒｖｅｒによる認証を受けることが可能になる。
【発明を実施するための最良の形態】
【００１２】
以下の説明では、本発明の完全な理解を提供するため、説明のための多数の具体的詳細が与えられる。しかしながら、本発明はこれら具体的詳細なしに実現可能であることは明らかであろう。また、本発明を不必要に不明りょうにすることを回避するため、周知の構成及び装置はブロック図により示される。
【００１３】
［概略］
クライアントがプロキシ認証サーバを介しＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりすることを可能にする技術及びシステムが開示される。本発明の一実施例では、ＮＴＬＭ認証プロトコルによりＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒと直接的にやりとりする代わりに、クライアントはプロキシ認証サーバとやりとりする。クライアントは、ＮＴＬＭ認証プロトコルを意識する必要はない。プロキシ認証サーバが、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりし、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとの必要なすべてのＮＴＬＭ認証プロトコルのやりとりを実行する。従って、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受け、クライアントのエージェント（代理人）として動作する。クライアントはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒと直接的にはやりとりしないため、クライアントはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受ける必要がなく、その代わりに、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受けた後、クライアントは認証されたプロキシ認証サーバを介しＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとクライアントとの処理を実行することが可能となる。プロキシ認証サーバは、ネットワーク上の複数のクライアントの代わり（エージェントとして）に動作可能であり、このため、各クライアントがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＳｅｒｖｅｒとのＮＴＬＭ認証プロトコルのやりとりを直接行うタスクから解放する。
【００１４】
［プロキシ認証サーバの具体例］
図１は、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受け、その後、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりする本発明の実施例によるシステムを示すブロック図である。システム１００は、クライアント１０２、プロキシ認証サーバ１０４及びＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６を有する。本発明の一実施例では、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ２００３である。システム１００はＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６を有しているが、本発明の他の実施例では、ＮＴＬＭ認証プロトコルを用いてクライアントを認証する任意のサーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６と置換されるかもしれない。本発明の他の実施例は、本例に図示された以上、以下又は異なるコンポーネントを有するかもしれない。
【００１５】
クライアント１０２は、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、携帯情報端末、プリンタ、コピー機、多機能プリンタ（ＭＦＰ）、カメラ、デジタルオーディオプレーヤー、家電機器、ネットワークハブ、ネットワークブリッジ、ネットワークルータ、モバイル装置又は他の何れかの電子装置であるかもしれない。あるいは、クライアント１０２は、上述された各装置の何れかで実行されるプログラムであるかもしれない。クライアント１０２は、デジタル証明書（新規の又は更新された）を取得しようとしている。このため、クライアント１０２はまた“証明書登録者”と呼ばれる。
【００１６】
本発明の一実施例では、プロキシ認証サーバ１０４は、ここに記載される各処理を実行するプログラムである。プロキシ認証サーバ１０４は、クライアント１０２が常駐する同一装置上で実行されるかもしれない。あるいは、プロキシ認証サーバ１０４は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及び／又はインターネットなどの相互接続されたネットワーク系列を介しクライアント１０２と通信するかもしれない。クライアント１０２とプロキシ認証サーバ１０４は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）及びＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などを介し互いに通信するかもしれない。本発明の一実施例では、プロキシ認証サーバ１０４は、ＬＡＮ、ＷＡＮ及び／又はインターネットなどのネットワークを介しＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒと通信する。本発明の一実施例では、プロキシ認証サーバ１０４は、ＩＰ、ＴＣＰ、ＨＴＴＰ及び／又は他のプロトコルを用いてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６と通信する。
【００１７】
図１に示されるように、認証局１０８がＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６上で実行される。認証局１０８は、デジタル証明書の登録及び更新リクエストを受け付ける。認証局１０８は、当該更新リクエストに対してデジタル証明書により応答する。例えば、認証局１０８は、クライアント１０２から更新リクエストを受け付ける。しかしながら、本発明の一実施例では、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、認証局１０８に送信されるすべてのリクエストを傍受する。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、当該リクエストの送信元のエンティティ（実体）がＮＴＬＭ認証プロトコルを用いて認証されているか判断する。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、エンティティが認証されていると判断した場合、認証局１０８が当該リクエストを受け取ることを許可する。
【００１８】
あるいは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、エンティティが、まだ認証されていないと判断した場合、当該リクエストが認証局１０８に到達するのを禁止する。これらの状況の下、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、リクエストの送信元のエンティティを認証する処理を開始する。この処理は、ＮＴＬＭ認証プロトコルに従う。ＮＴＬＭ認証プロトコルは、Ｅｒｉｃ  Ｇｌａｓｓ氏による“Ｔｈｅ  ＮＴＬＭ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ａｎｄ  Ｓｅｃｕｒｉｔｙ  Ｓｕｐｐｏｒｔ  Ｐｒｏｖｉｄｅｒ”（２００６）に記載されている。プロキシ認証サーバ１０４がクライアント１０２の代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６による認証を受ける技術が、本明細書で説明される。この技術の結果として、クライアント１０２はＮＴＬＭ認証プロトコルを意識する必要がなくなる。
【００１９】
［証明書登録の代わりのＮＴＬＭ認証の実行］
図２Ａ及び２Ｂは、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒから認証を受け、その後、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりする本発明の実施例による技術を示すフロー図である。他の実施例は、本例に図示された以上、以下又は異なるステップを有するかもしれない。
【００２０】
まず図２Ａを参照するに、ブロック２０２において、クライアント１０２は指定されたＴＣＰポートを介し認証局１０８にアクセスリクエストを送信する。指定されたＴＣＰポートは、クライアント１０２がこのようなリクエストを送信するであろうＴＣＰポートと異なるＴＣＰポートである。例えば、クライアント１０２が通常はこのようなリクエストをＴＣＰポート８０、すなわち、認証局１０８が当該リクエストを取得するＴＣＰポートに送信する場合、クライアント１０２は、例えば、代わりにＴＣＰポート８８００にリクエストを送信するかもしれない。クライアント１０２がリクエストを送信する指定されたＴＣＰポートは、プロキシ認証サーバ１０４が当該リクエストを取得するＴＣＰポートである。通常のＴＣＰポートの代わりにこのような指定されたＴＣＰポートを介してリクエストを送信することにより、プロキシ認証サーバ１０４がリクエストのＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６への到達前にリクエストを傍受することを可能にする。本発明の一実施例では、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６のＩＰアドレスにリクエストを送信する代わりに、クライアント１０２はリクエストをプロキシ認証サーバ１０４のＩＰアドレスに送信する。
【００２１】
ブロック２０４では、プロキシ認証サーバ１０４は、指定されたＴＣＰポートを介しクライアント１０２が送信したリクエストを傍受する。
【００２２】
ステップ２０６において、プロキシ認証サーバ１０４は、認証局１０８とＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６とにリクエストを転送する。
【００２３】
ステップ２０８において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４からアクセスリクエストを傍受する。ブロック２１０において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４がＮＴＬＭ認証プロトコルを用いてまだ認証されていないと判断する。ブロック２１２において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、認証されていないアクセスを示すメッセージによってプロキシ認証サーバ１０４に応答することによりアクセスを拒絶する。
【００２４】
ブロック２１４において、プロキシ認証サーバ１０４は、クライアント１０２の代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６によるＮＴＬＭ認証を開始する。そのとき、プロキシ認証サーバ１０４は、ＮＴＬＭ認証プロトコルによる“タイプ１”メッセージにおいて通常提案される交渉パラメータを有するメッセージをＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６に送信する。本発明の一実施例では、プロキシ認証サーバ１０４は、プロキシ認証サーバ１０４がリクエストの送信元を記憶することを可能にするマッピングをメモリに維持し、これにより、プロキシ認証サーバ１０４は、認証局１０８からの認証後のメッセージを適切なエンティティ（このケースでは、クライアント１０２）に転送することができる。本発明の一実施例では、プロキシ認証サーバ１０４は、複数のクライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６と同時にやりとりする。
【００２５】
ブロック２１６において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、ランダムチャレンジを含むメッセージを送信することにより応答する。本発明の一実施例では、このメッセージはＮＴＬＭ認証プロトコルによる“タイプ２”メッセージである。
【００２６】
ブロック２１８において、プロキシ認証サーバ１０４は、このメッセージと、そのメッセージに含まれるランダムチャレンジ（ランダムに構成されて数値列）を受け付ける。本発明の一実施例では、プロキシ認証サーバ１０４は、すべての認証されたクライアントが知っているとＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６が予想する共有された秘密（パスワードやキーなど）を有するよう構成され、これを知っている。本発明の一実施例では、プロキシ認証サーバ１０４がこの秘密を知っている責任があることを仮定しているため、クライアント１０２は、この共有されている秘密を知らないか、又はこの共有されている秘密を所有していない。ブロック２２０において、プロキシ認証サーバ１０４は、共有されている秘密とランダムチャレンジの両方に基づきデータを生成する。例えば、本発明の一実施例では、プロキシ認証サーバ１０４は、この秘密をハッシュ及び／又は暗号化キーとして用いて、合意されているハッシュ及び／又は暗号化アルゴリズムに従って、ランダムチャレンジをハッシュ処理及び／又は暗号化することによってデータを生成する。プロキシ認証サーバ１０４は、プロキシ認証サーバ１０４が生成したデータを含むメッセージをＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６に送信する。本発明の一実施例では、このメッセージは、ＮＴＬＭ認証プロトコルによる“タイプ３”メッセージである。
【００２７】
ブロック２２２において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４が生成したデータを含むメッセージを受け取る。図２Ｂを参照するに、ブロック２２４において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４がデータを生成するのに用いたものと同じ共有されている秘密を利用して、当該データからブロック２１６においてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６がプロキシ認証サーバ１０４に送信したオリジナルのランダムチャレンジを再構成する。オリジナルのランダムチャレンジを再構成することが可能であるという結果が得られると、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４が共有されている秘密を知っており、プロキシ認証サーバ１０４が真正であることを知ることができる。これにより、プロキシ認証サーバ１０４が認証される。本発明の一実施例では、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４が認証されているとみなされていることをプロキシ認証サーバ１０４に通知する通知をプロキシ認証サーバ１０４に送信する。
【００２８】
この時点で、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６はプロキシ認証サーバ１０４が認証されているとみなすため、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４からのリクエストが認証局１０８に到達することを許可することとなる。ブロック２２６において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、プロキシ認証サーバ１０４を介しクライアント１０２にチャレンジパスワードメッセージを返す。
【００２９】
ブロック２２８において、プロキシ認証サーバ１０４は、クライアント１０２にチャレンジパスワードテキストメッセージを返す。
【００３０】
ブロック２３０において、クライアント１０２は、プロキシ認証サーバ１０４を介した認証局１０８に対するデジタル証明書のリクエストにチャレンジパスワードを含める。本発明の一実施例では、クライアント１０２は、プロキシ認証サーバ１０４を介しＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６にデジタル証明書リクエストを送信する。
【００３１】
ブロック２３２において、プロキシ認証サーバ１０４は、認証局１０８に証明書リクエストを転送する。
【００３２】
ブロック２３４において、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６は、当該リクエストを傍受し、それが認証局１０８に転送されることを許可する。
【００３３】
ブロック２３６において、認証局１０８は、証明書リクエストを受信し、新たなデジタル証明書を生成し、それをプロキシ認証サーバ１０４に送信する。ブロック２３８において、プロキシ認証サーバ１０４は、デジタル証明書を受信し、それをクライアント１０２に転送する。最終的に、ブロック２４０において、クライアント１０２はデジタル証明書を受け取る。
【００３４】
上述された技術の結果として、クライアント１０２は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６とのＮＴＬＭ認証プロトコルのやりとりに参加することなく、新たなデジタル証明書を取得することができる。実際、クライアント１０２は、ＮＴＬＭ認証プロトコルを意識する必要はない。本発明の一実施例では、プロキシ認証サーバ１０４がＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６により認証を受けた後、プロキシ認証サーバ１０４は、クライアント１０２からＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６へのすべての通信を転送し、またＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６からクライアント１０２へのすべての通信を転送する。
【００３５】
［ＳＳＨを用いたプロキシ認証サーバとの接続］
本発明の一実施例では、各クライアントについて独立したプロキシ認証サーバを有する代わりに（同一コンピュータ上で実行されるなど）、複数のコンピュータ上の複数のクライアントのすべてが、クライアントが実行されるコンピュータとは分離され遠隔にあるコンピュータ上で実行される１つのプロキシ認証サーバと通信する。本発明のこのような実施例では、セキュリティのため、特定の既知の信頼されたクライアントしかプロキシ認証サーバのサービスを利用することができないことが望ましいかもしれない。
【００３６】
従って、本発明の一実施例では、プロキシ認証サーバ１０４は、プロキシ認証サーバ１０４のサービスを利用することが許可されているクライアントのリストを記憶する。例えば、プロキシ認証サーバ１０４は、承認されているクライアントのＩＰアドレスのリストを記憶するかもしれない。本発明のこのような実施例では、プロキシ認証サーバ１０４がリストにないＩＰアドレスを有するクライアントからメッセージを受信した場合、プロキシ認証サーバ１０４は、当該クライアントの代わりに動作する（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ１０６と認証局１０８とやりとりするなど）ことを拒絶する。
【００３７】
しかしながら、承認されているクライアントのリストは頻繁に時間の経過と共に変更されるため、当該リストを最新のものに維持及び管理することは、管理者にとって面倒なことであるかもしれない。従って、本発明の一実施例では、プロキシ認証サーバ１０４に承認されているクライアントのリストを維持する代わりに、プロキシ認証サーバ１０４は、すべてのクライアントがＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）プロトコルを利用してプロキシ認証サーバ１０４と通信することを要求する。ＳＳＨプロトコルは、２つのコンピュータの間でセキュアなチャネルを介しデータが通信されることを可能にするネットワークプロトコルである。暗号化は、データの秘匿性と完全性を提供する。ＳＳＨプロトコルは、公開鍵暗号化を利用して、リモートコンピュータを認証し、リモートコンピュータがユーザ又はクライアントを認証することを可能にする。承認されているクライアントしかＳＳＨプロトコルを用いてプロキシ認証サーバ１０４と通信するのに要求される情報を有していないため、すべてのクライアントにＳＳＨプロトコルを用いてプロキシ認証サーバ１０４と通信することを要求することは、プロキシ認証サーバ１０４と通信するすべてのクライアントが実際に承認されているクライアントであることを確実にする。ＳＳＨプロトコルは、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）  ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）４２５１、ＩＥＴＦ  ＲＦＣ４２５２、ＩＥＴＦ  ＲＦＣ４２５３、ＩＥＴＦ  ＲＦＣ４２５４、ＩＥＴＦ  ＲＦＣ４２５５及びＩＥＴＦ  ＲＦＣ４２５６に記載されている。
【００３８】
本発明の一実施例では、クライアント１０２は、クライアント１０２とプロキシ認証サーバ１０４との間にＳＳＨチャネルを確立する。その後、クライアント１０２とプロキシ認証サーバ１０４との間のすべての通信は、暗号化されたＳＳＨチャネルを介して行われる。本発明の一実施理では、パスワード及び／又はユーザ名などの秘密情報は、プロキシ認証サーバ１０４とクライアント１０２に記憶される。認証されていないエンティティは、この秘密情報を知らない。本発明のこのような実施例では、クライアント１０２は、ＳＳＨチャネルを確立するため、秘密情報を利用する。このため、秘密情報を所有しないエンティティは、プロキシ認証サーバ１０４とＳＳＨチャネルを確立することができない。承認されている各クライアントは、同じ秘密情報を有するよう構成されてもよい。本発明の一実施例では、プロキシ認証サーバ１０４は、ＳＳＨチャネルを使用しない接続要求を拒絶する。
【００３９】
例えば、クライアント１０２は、クライアント１０２上のＴＣＰポート８８００とプロキシ認証サーバ１０４上のＴＣＰポート９９００との間にセキュアな接続を確立するかもしれない。そのとき、クライアント１０２はクライアント１０２上のＴＣＰポート８８００を介しすべてのデジタル証明書リクエストを送信するかもしれない。この結果、デジタル証明書リクエストは、暗号化されたチャネルを介しプロキシ認証サーバ１０４に送信される。
【００４０】
［実現機構］
ここに記載されたアプローチは、何れかのタイプの計算プラットフォーム又はアーキテクチャ上で実現されるかもしれない。図３は、本発明の実施例が実装可能なコンピュータシステム３００を示す。コンピュータシステム３００は、情報を通信するためのバス３０２又は他の通信機構と、バス３０２に接続され、情報を処理するプロセッサ３０４とを有する。コンピュータシステム３００はまた、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や他のダイナミック記憶装置など、バス３０２に接続され、プロセッサ３０４により実行される命令及び情報を格納するメインメモリ３０６を有する。メインメモリ３０６はまた、プロセッサ３０４により実行される命令の実行中に一時的な変数又は他の中間情報を格納するのに利用されるかもしれない。コンピュータシステム３００はさらに、バス３０２に接続され、プロセッサ３０４のための静的な命令及び情報を格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０８又は他のスタティック記憶装置を有する。磁気ディスクや光ディスクなどの記憶装置３１０が、情報及び命令を格納するため設けられ、バス３０２に接続される。
【００４１】
コンピュータシステム３００は、コンピュータユーザに情報を表示するため、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などのディスプレイ３１２にバス３０２を介し接続されるかもしれない。英数字及び他のキーを含む入力装置３１４が、情報及びコマンド選択をプロセッサ３０４に通信するため、バス３０２に接続される。他のタイプのユーザ入力装置は、方向情報及びコマンド選択をプロセッサ３０４に通信し、ディスプレイ３１２上のカーソルの動きを制御するマウス、トラックボール又はカーソル方向キーなどのカーソル制御３１６である。この入力装置は、典型的には、装置が平面におけるポジションを指定することを可能にする第１軸（ｘなど）と第２軸（ｙなど）の２つの軸に関する２つの自由度を有する。
【００４２】
本発明は、ここに記載された技術を実現するコンピュータシステム３００の利用に関する。本発明の一実施例によると、これらの技術は、プロセッサ３０４がメインメモリ３０６に含まれる１以上の命令の１以上のシーケンスを実行すると、コンピュータシステム３００により実行される。このような命令は、記憶装置３１０などの他のマシーン可読媒体からメインメモリ３０６に読み込まれるかもしれない。メインメモリ３０６に含まれる命令シーケンスの実行は、プロセッサ３０４にここに記載される処理ステップを実行させる。他の実施例では、配線論理は、本発明の実現するためソフトウェアの代わりに又は組み合わせて利用されるかもしれない。従って、本発明の実施例は、ハードウェア回路及びソフトウェアの何れか特定の組み合わせに限定されるものでない。
【００４３】
ここに使用される“マシーン可読媒体”という用語は、マシーンを特定の方法により実行させるデータを提供する何れかの媒体を表す。コンピュータシステム３００を用いて実現される実施例では、各種マシーン可読媒体が、実行のためプロセッサ３０４に命令を提供することに関与する。このような媒体は、以下に限定されるものでないが、記憶媒体及び伝送媒体を含む多数の形態をとりうる。記憶媒体は、不揮発性媒体と揮発性媒体を含む。不揮発性媒体は、例えば、記憶装置３１０などの光ディスク又は磁気ディスクなどを含む。揮発性媒体は、メインメモリ３０６などのダイナミックメモリを含む。
【００４４】
マシーン可読媒体の一般的な形態としては、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ若しくは他の何れかの磁気媒体、ＣＤ−ＲＯＭ若しくは他の何れかの光媒体、パンチカード、紙テープ若しくは穴のパターンを有した他の何れかの物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ若しくは他の何れかのメモリチップ若しくはカートリッジ、後述されるような搬送波、又はコンピュータが読み込み可能な他の何れかの媒体などがあげられる。
【００４５】
各種形式のマシーン可読媒体が、実行のためプロセッサ３０４に１以上の命令の１以上のシーケンスを搬送することに関与するかもしれない。例えば、命令はまずリモートコンピュータの磁気ディスクに搬送されるかもしれない。リモートコンピュータは、それのダイナミックメモリに命令をロードし、モデムを用いて電話線を介し命令を送信することができる。コンピュータシステム３００のローカルのモデムは、電話線を介しデータを受信し、データを赤外線信号に変換するため、赤外線送信機を利用する。赤外線検出手段が、赤外線信号に搬送されるデータを受信し、適切な回路がバス３０２上にデータを配置することができる。バス３０２は、データをメインメモリ３０６に搬送し、そこからプロセッサ３０４は命令を抽出及び実行する。メインメモリ３０６により受信される命令は、任意的にプロセッサ３０４による実行前後に記憶装置３１０に格納されるかもしれない。
【００４６】
コンピュータシステム３００はまた、バス３０２に接続される通信インタフェース３１８を有する。通信インタフェース３１８は、ローカルネットワーク３２２に接続されるネットワークリンク３２０に接続される双方向データ通信を提供する。例えば、通信インタフェース３１８は、対応するタイプの電話線とのデータ通信接続を提供するＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）カード又はモデムであるかもしれない。他の例として、通信インタフェース３１８は、互換性のあるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）とのデータ通信接続を提供するためのＬＡＮネットワークであるかもしれない。無線リンクがまた実装されてもよい。このような実現形態では、通信インタフェース３１８は、各種タイプの情報を表すデジタルデータストリームを搬送する電気、電磁又は光信号を送受信する。
【００４７】
ネットワークリンク３２０は、典型的には、１以上のネットワークを介し他のデータ装置とのデータ通信を提供する。例えば、ネットワークリンク３２０は、インターネットサービスプロバイダ（ＩＳＰ）３２６により運営されるホストコンピュータ３２４又はデータ装置とのローカルネットワーク３２２を介した接続を提供するかもしれない。さらに、ＩＳＰ３２６は、一般に“インターネット”３２８と呼ばれるワールドワイドパケットデータ通信ネットワークを介しデータ通信サービスを提供する。ローカルネットワーク３２２とインターネット３２８は共に、デジタルデータストリームを搬送する電気、電磁又は光信号を利用する。各種ネットワークを介した信号、ネットワークリンク３２０上の信号及びコンピュータシステムとの間でデジタルデータを搬送する通信インタフェース３１８を介した信号は、情報を伝送する搬送波の例示的な形態である。
【００４８】
コンピュータシステム３００は、ネットワーク、ネットワークリンク３２０及び通信インタフェース３１８を介しプログラムコードを含むデータ及びメッセージを送受信することが可能である。インターネットの例では、サーバ３３０がインターネット３２８、ＩＳＰ３２６、ローカルネットワーク３２２及び通信インタフェース３１８を介しアプリケーションプログラムのリクエストされたコードを送信するかもしれない。
【００４９】
受信したコードは、プロセッサ３０４により実行され、及び／又は以降の実行のため記憶装置３１０又は他の不揮発性ストレージに格納されるかもしれない。このようにして、コンピュータシステム３００は、搬送波の形式によりアプリケーションコードを取得するかもしれない。
【００５０】
本明細書では、本発明の実施例が実現形態毎に異なる多数の具体的詳細を参照して説明された。このため、本発明が如何なるものであるか、また出願人により本発明であると意図されるものの唯一の指標は、本出願により具体的に請求される各請求項と以降の補正を含む請求項である。このような請求項に含まれる用語について明示的に与えられる定義は、請求項に用いられる当該用語の意味を規定する。従って、請求項に明示的に記載されない限定、要素、性質、特徴、効果又は属性は、請求項の範囲を限定するものでない。明細書と図面は、限定的でなく例示的なものとしてみなされるべきである。
【図面の簡単な説明】
【００５１】
【図１】図１は、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒによる認証を受け、その後、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりする本発明の実施例によるシステムを示すブロック図である。
【図２Ａ】図２Ａは、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒから認証を受け、その後、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりする本発明の実施例による技術を示すフロー図である。
【図２Ｂ】図２Ｂは、プロキシ認証サーバがＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒから認証を受け、その後、クライアントの代わりにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒとやりとりする本発明の実施例による技術を示すフロー図である。
【図３】図３は、本発明の実施例が実装可能な装置を示すブロック図である。
【符号の説明】
【００５２】
１００  システム
１０２  クライアント
１０４  プロキシ認証サーバ
１０６  Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ
３００  コンピュータシステム
３０２  バス
３０４  プロセッサ
３０６  メインメモリ
【図１】
2009110522.tif 000003
【図２Ａ】
2009110522.tif 000004
【図２Ｂ】
2009110522.tif 000005
【図３】
2009110522.tif 000006