(57)【要約】【課題】  資格証明書をネットワークを介してマシンに、セキュリティ保護を施し動的に配布できるようにするシステムおよび方法を提供すること。【解決手段】  様々な実施形態において、ログオンまたはアクセスしたいと望まれているコンピュータは、ログオンが行われる前に、ログオン資格証明書を、ネットワークを介して自動的に要求側に配布する。ログオン資格証明書は要求側装置には保存されないように、既存の信頼に基づいて、当該コンピュータは、ログオン資格証明書を自己生成して、それを要求側に自己配布する。【選択図】  図３Ｂ
2005149505.tif 000002
【特許請求の範囲】
【請求項１】
第２の装置から第１の装置にネットワークを介してログオン資格証明書を自動的に配布するための方法であって、
前記第１の装置から秘密を、前記秘密が間違いなく前記第１の装置からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って、受信すること、
前記第２の装置の少なくとも１つのリソースへのアクセス要求を前記１の装置から前記ネットワークを介して受信すること、および
前記要求に応答して、前記第２の装置が、前記第２の装置へのログオンに関連して使用される少なくとも１つのログオン資格証明書を生成すること、および前記第２の装置への自動ログオンに使用するため、前記少なくとも１つのログオン資格証明書を前記第１の装置に前記ネットワークを介して送信すること
を備えることを特徴とする方法。
【請求項２】
前記秘密は、前記第１の装置の公開鍵であることを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも１つのログオン資格証明書を循環させるため、前記生成し送信することを周期的に実行することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記生成することは、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を暗号化することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１の装置に送信された前記少なくとも１つのログオン資格証明書に基づいて前記第１の装置からログオン要求を受信することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記少なくとも１つのログオン資格証明書を確認すること、前記ログオン要求に基づいて前記第１の装置を前記第２の装置にログオンさせることをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１の装置にログイン成功の肯定応答を送信することをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項１に記載の方法。
【請求項９】
請求項１に記載の方法を実行するためのコンピュータ実行可能命令を備えるコンピュータ可読媒体。
【請求項１０】
請求項１に記載の方法を実行するためのコンピュータ実行可能命令を伝送する変調データ信号。
【請求項１１】
請求項１に記載の方法を実行する手段を備えるコンピュータ装置。
【請求項１２】
ネットワークを介して要求側に配布するそれ自身のログオン資格証明書を生成するマシンであって、
前記要求側からの前記マシンの少なくとも１つのリソースへのアクセス要求を処理するための安全で動的なログオン資格証明コンポーネントを
備え、
前記安全で動的なログオン資格証明コンポーネントは、前記マシンの少なくとも１つのリソースへのアクセス要求に応答して、秘密が間違いなく前記要求側からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って前記要求側から受領した秘密に基づいて、前記マシンへのログオンに関連して使用される少なくとも１つのログオン資格証明書を生成し、前記マシンへの自動ログオンに使用するための前記少なくとも１つのログオン資格証明書を前記要求側に前記ネットワークを介して送信する
ことを特徴とするマシン。
【請求項１３】
前記秘密は、前記要求側の公開鍵であることを特徴とする請求項１２に記載のマシン。
【請求項１４】
前記少なくとも１つのログオン資格証明書を循環させるため、前記安全で動的なログオン資格証明コンポーネントは、新しい少なくとも１つのログオン資格証明書を生成し送信することを特徴とする請求項１２に記載のマシン。
【請求項１５】
前記安全で動的なログオン資格証明コンポーネントは、前記少なくとも１つのログオン資格証明書を前記要求側に前記ネットワークを介して送信する前に、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を暗号化することを特徴とする請求項１２に記載のマシン。
【請求項１６】
前記要求側に送信された前記少なくとも１つのログオン資格証明書に基づいて前記要求側からのログオン要求を受信し処理する第２のコンポーネントをさらに含むことを特徴とする請求項１２に記載のマシン。
【請求項１７】
前記第２のコンポーネントは、前記少なくとも１つのログオン資格証明書を確認し、前記ログオン要求に基づいて前記要求側を前記マシンにログオンさせることを特徴とする請求項１６に記載のマシン。
【請求項１８】
前記第２のコンポーネントは、前記要求側にログイン成功の肯定応答を送信することを特徴とする請求項１７に記載のマシン。
【請求項１９】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項１２に記載のマシン。
【請求項２０】
第１の装置が、ネットワークを介して第２の装置にログオンする目的で、前記第２の装置からログオン資格証明書を自動的に取得するための方法であって、
前記第２の装置に秘密を、前記秘密が間違いなく前記第１の装置からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って、送付すること、
前記１の装置が前記ネットワークを介して前記第２の装置の少なくとも１つのリソースへのアクセスを要求すること、
前記要求に応答して、前記第２の装置へのログオンに関連して使用される少なくとも１つのログオン資格証明書を前記第２の装置から受信すること、および
前記少なくとも１つのログオン資格証明書を前記第１の装置に保存することなく、前記少なくとも１つのログオン資格証明書に基づいて前記第２の装置にログオン要求を送信すること
を備えることを特徴とする方法。
【請求項２１】
前記秘密は、前記第１の装置の公開鍵であることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記少なくとも１つのログオン資格証明書を循環させるため、新しい少なくとも１つのログオン資格証明書を周期的に受信することをさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２３】
前記受信することは、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を復号することを含むことを特徴とする請求項２０に記載の方法。
【請求項２４】
前記受信することは、公開鍵に一意に対応する秘密鍵に基づいて前記少なくとも１つのログオン資格証明書を復号することを含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記送信に応答して、ログイン成功の肯定応答を受信することをさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２６】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項２０に記載の方法。
【請求項２７】
請求項２０に記載の方法を実行するためのコンピュータ実行可能命令を備えるコンピュータ可読媒体。
【請求項２８】
請求項２０に記載の方法を実行するためのコンピュータ実行可能命令を伝送する変調データ信号。
【請求項２９】
請求項２０に記載の方法を実行する手段を備えるコンピュータ装置。
【請求項３０】
ネットワークを介してホスト装置にログオンする目的で、前記ホスト装置からログオン資格証明書を自動的に取得するクライアント装置であって、
前記ホスト装置に秘密を、前記秘密が間違いなく前記クライアント装置からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って、送付する第１のコンポーネントと、
前記ネットワークを介して前記ホスト装置の少なくとも１つのリソースへのアクセスを要求する第２のコンポーネントと、
前記第２のコンポーネントによる要求に応答して、前記ホスト装置へのログオンに関連して使用される少なくとも１つのログオン資格証明書を前記ホスト装置から受信し、前記少なくとも１つのログオン資格証明書を前記クライアント装置に保存することなく、前記少なくとも１つのログオン資格証明書に基づいて前記ホスト装置にログオン要求を送信する第３のコンポーネントと
を備えることを特徴とするクライアント装置。
【請求項３１】
前記秘密は、前記クライアント装置の公開鍵であることを特徴とする請求項３０に記載のクライアント装置。
【請求項３２】
前記第３のコンポーネントは、前記少なくとも１つのログオン資格証明書を循環させるため、新しい少なくとも１つのログオン資格証明書を周期的に受信することを特徴とする請求項３０に記載のクライアント装置。
【請求項３３】
前記第３のコンポーネントは、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を復号することを特徴とする請求項３０に記載のクライアント装置。
【請求項３４】
前記第３のコンポーネントは、公開鍵に一意に対応する秘密鍵に基づいて前記少なくとも１つのログオン資格証明書を復号することを特徴とする請求項３３に記載のクライアント装置。
【請求項３５】
前記第３のコンポーネントはさらに、前記ログオン要求に応答して、ログイン成功の肯定応答を受信することを特徴とする請求項３０に記載のクライアント装置。
【請求項３６】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項３０に記載のクライアント装置。
【請求項３７】
第２の装置から第１の装置にネットワークを介してログオン資格証明書を自動的に配布するためのコンピュータ実行可能命令を有するコンピュータ実行可能モジュールを備えるコンピュータ可読媒体であって、前記モジュールは、
前記第１の装置から秘密を、前記秘密が間違いなく前記第１の装置からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って、取得する手段と、
前記第２の装置の少なくとも１つのリソースへのアクセス要求を前記１の装置から前記ネットワークを介して受信する手段と、
前記受信する手段によって受信された要求に応答して、前記第２の装置が、前記第２の装置にログオンするための少なくとも１つのログオン資格証明書を生成する手段と、
前記第２の装置への自動ログオンに使用するため、前記少なくとも１つのログオン資格証明書を前記第１の装置に前記ネットワークを介して送信する手段と
を備えることを特徴とするコンピュータ可読媒体。
【請求項３８】
前記秘密は、前記第１の装置の公開鍵であることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項３９】
前記少なくとも１つのログオン資格証明書を循環させるため、前記生成する手段と前記送信する手段が周期的に実行されることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項４０】
前記生成する手段は、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を暗号化する手段を含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項４１】
前記送信する手段によって前記第１の装置に送信された前記少なくとも１つのログオン資格証明書に基づいて前記第１の装置からログオン要求を受信する手段をさらに含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項４２】
前記少なくとも１つのログオン資格証明書を確認する手段と、前記ログオン要求に基づいて前記第１の装置を前記第２の装置にログオンさせる手段とをさらに含むことを特徴とする請求項４１に記載のコンピュータ可読媒体。
【請求項４３】
前記第１の装置にログイン成功の肯定応答を送信する手段をさらに含むことを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項４５】
第１の装置が第２の装置からネットワークを介してログオン資格証明書を自動的に取得するためのコンピュータ実行可能命令を有するコンピュータ実行可能モジュールを備えるコンピュータ可読媒体であって、前記モジュールが、
前記第２の装置に秘密を、前記秘密が間違いなく前記第１の装置からのものであることを確認する少なくとも１つの信頼機構（trust mechanism）に従って、送付する手段と、
前記ネットワークを介して前記第２の装置の少なくとも１つのリソースへのアクセスを要求する手段と、
前記要求する手段によって行われたアクセス要求に応答して、前記第２の装置へのログオンに関連して使用される少なくとも１つのログオン資格証明書を前記第２の装置から受信する手段と、
前記少なくとも１つのログオン資格証明書を前記第１の装置に保存することなく、前記少なくとも１つのログオン資格証明書に基づいて前記第２の装置にログオン要求を送信する手段と
を備えることを特徴とするコンピュータ可読媒体。
【請求項４６】
前記秘密は、前記第１の装置の公開鍵であることを特徴とする請求項４５に記載のコンピュータ可読媒体。
【請求項４７】
前記受信する手段は、前記少なくとも１つのログオン資格証明書を循環させるため、新しい少なくとも１つのログオン資格証明書を周期的に受信することを特徴とする請求項４５に記載のコンピュータ可読媒体。
【請求項４８】
前記受信する手段は、前記秘密に基づいて前記少なくとも１つのログオン資格証明書を復号する手段を含むことを特徴とする請求項４５に記載のコンピュータ可読媒体。
【請求項４９】
前記受信する手段は、公開鍵に一意に対応する秘密鍵に基づいて前記少なくとも１つのログオン資格証明書を復号する手段を含むことを特徴とする請求項４８に記載のコンピュータ可読媒体。
【請求項５０】
前記送信する手段によって送信されたログオン要求に応答して、ログイン成功の肯定応答を受信する手段をさらに含むことを特徴とする請求項４５に記載のコンピュータ可読媒体。
【請求項５１】
前記少なくとも１つの信頼機構は、バイオメトリック・ユーザ入力、信頼コード、およびハードウェア・コンポーネントの少なくとも１つに基づくことを特徴とする請求項４５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・システムのネットワークを介する、第１のコンピューティング装置から第２のコンピューティング装置への、資格証明書のセキュリティ保護された動的な配布（secure and dynamic distribution of credential）に関する。より詳細には、本発明は、たとえば、第２の装置で資格証明書を露呈すること（exposing）または保存することなく、第２の装置で自動ログインを行うためのログイン資格証明書（login credential）を、第１の装置から第２の装置に、セキュリティ保護して動的に配布する方法に関する。
【背景技術】
【０００２】
第１のコンピューティング装置が、第２の装置を識別するため、かつ／または第２の装置に対するアクセス・レベルおよび許可を決定するため、第２のコンピューティング装置から、ユーザ識別情報およびパスワードなどの資格証明書を受信すること（または上記の逆のこと）が望ましいのには、多くの理由がある。
【０００３】
たとえば、ホスト・コンピュータは、クライアント装置がアクセスを要求したいと望むコンテンツを有することがある。これはごく一般的なシナリオであり、図１Ａに図示するように、コンピューティング装置と、様々な別のコンピューティング装置から要求され得る各種コンテンツとからなる世界は、メディア装置およびメディア・タイプの両方に関して、きわめて多様である。図１Ａは、例示的な目的でのみ、音楽（ＭＰ３、ＷＭＶなど）、ストリーミング・オーディオ／ビデオ、静止画（ＪＰＥＧＳ、ＧＩＦなど）、動画ファイル（ＭＯＶ、ＭＰＥＧなど）、広告、放送メディア（ラジオ、ＴＶ、ケーブルなど）、グラフィックス・データなどの多くの種類のメディアが存在していることを、示している。また、図１Ａは、限定しないが、テレビ、ラジオ、チューナ、ＤＶＤプレーヤ、ＶＣＲ、デジタル・データ記憶および／または再生装置、ＭＰ３プレーヤ、スマート・ディスプレイ装置、ラップトップ、ゲーム機、リモート制御装置、セル電話、ＰＤＡ、デジタル・ピクチャー・フレームなど、を含む何らかの目的のため何らかの方式でメディアを再生する多様な装置が存在することも、示している。したがって、このようなシステム内の任意の２つの装置間で信頼（trust）を確立することは、様々なコンピューティング装置間で、コンテンツ提供装置のコンテンツまたはリソースを安全に共用することを可能として、これらのコンテンツ提供装置のコンテンツまたはリソースを、ネットワーク接続された信頼可能な装置の飛び地（networked trust enclave of devices）とする上で、重要な問題となる。
【０００４】
したがって、第１のコンピューティング装置のリソースにアクセスすることを第２のコンピューティング装置に対して許可するには、たとえば、セキュリティ上および／またはプライバシ上の理由から、第１のコンピューティング装置に第２のコンピューティング装置に関する何かを「信頼（trust）」させるようにするのがしばしば望ましい。アクセスを許可する一般的な１つの方法は、要求装置から資格証明書を受信することである。この資格証明書は、提供装置によって受信された場合、ドアの錠に対する鍵のようにふるまい、信頼を確立する。そのような資格証明書が、ピア・ツー・ピア・クライアントを含むネットワーク構成、分散コンピューティング・システム、アプリケーションの処理は主として中央サーバ上で実行されるがさらに分散させることも可能なシン・クライアント構成、および以下で詳しく説明するようなその他のネットワーク接続環境など、任意のコンピューティング環境内の２つのコンピューティング装置間で交換され得ることは理解できるであろう。
【０００５】
図１Ｂには、第１のコンピューティング装置（例えば、サーバＳ）と第２のコンピューティング装置（例えば、クライアントＣ）が有線または無線による任意のネットワーク・コネクションＮＣを介して通信を行う例示的なネットワーク接続環境における、サーバＳとクライアントＣの間の典型的な従来技術によるログオンが図示されている。認証交換は、様々な理由から、２つの装置間で発生し得る。原型的なシナリオでは、クライアントＣは、アプリケーション、コンテンツ、サービスなど、サーバＳの何らかのリソースにアクセスしたいと望むか、またはサーバＳとのセッションを開始したいと望む。サーバＳは、アプリケーション、コンテンツ、サービスなどへのアクセスを許可する前に、クライアントＣがサーバＳのアプリケーション、サービス、コンテンツなどへのアクセスを許可されていることの何らかの証拠（proof）を必要とする。これには、ユーザ識別情報およびパスワードなどの資格証明書をクライアントＣから受信することが含まれ得る。
【０００６】
今日、このようなシナリオにおいて、コンピュータＳの外部オブジェクトがネットワークＮＣを介してコンピュータＳにログインを試みる場合、外部オブジェクトは、クライアントＣとサーバＳが知っている標準的な機構を用いて、認証用の資格証明書を提示する。資格証明書ログイン・コンポーネントは、クライアントＣからサーバＳに資格証明書を送達し、サーバＳ上の認証コンポーネントは、クライアントＣの資格証明書が表す許可に従って、リソースへのアクセスを許可する。一般に、ログインを希望するのは人間としてのユーザであり、資格証明書は通常はそのユーザ自身が記憶している。ユーザは、たとえば、ログイン時にキーボードなどの入力装置を介して資格証明書を入力するなど、外部機構を介してコンピューティング装置Ｃに資格証明書を手動で入力する。従来技術による別のシステムでは、ユーザが一度だけ資格証明書を入力すれば、それ以降、資格証明書をクライアントＣにキャッシュまたはその他の方法で保存しておくことができる（たとえば、図１Ｂの「ｃｒｅｄｓ」）。それとは関係なく、資格証明書のクライアントＣへの最初の転送は、ネットワークＮＣの「帯域外（out-of-band）」で行われる。
【０００７】
しかし、外部オブジェクトが自動的な方法でログインすることを望むマシンである場合（すなわち、人間としてのユーザではない場合）、マシンは現在のところ、いずれかの場所から資格証明書を取得しなければならず、これも通常は、クライアントＣに資格証明書を入力するための帯域外機構によって、ネットワークの「帯域外」で転送される。上述したように、このようにする主な理由は、装置間で信頼を確立するためである。クライアントＣが、何らかの外部の帯域外ソースから唯一サーバＳだけが知っている秘密（secret）を知ったとすれば、その場合、クライアントＣは、装置間で通信交換するネットワークＮＣの信頼されたユーザであると仮定することができる。
【０００８】
【非特許文献１】Chang, c. c. et al., "Using Smart Cards to Authenticate Remote Passwords," Computers& Math. Applic., 1993, 26(7) 19-27
【非特許文献２】Kornievskaia, O. et al., "Kerberized Credential Translation: A Solution to web Access Control, "Proceedings of the 10th USENIX Security Symposium, Washington, DC, August 13-17, 2001, 235-249
【非特許文献３】Sandirigama, M. et al., "Simple and Secure Password authentication Protocol (SAS)," IEICE Trans. Commun., 2000, E83B(6), 1363-1365
【非特許文献４】Wang, B, et al., "Cryptanlysis of an Enhanced Timestamp-Based Password Authentication Scheme," Computers & Security, 2003, 22(7), 643-645
【非特許文献５】Wu, T.C. et al., "Authentication Password Over an Insecure Channel," Computers & Security, 1996, 15(5), 431-439
【非特許文献６】Yeh, H.T. et al., "Security of a Remote User Authentication Scheme Using Smart Cards," IEICE Trans. Commun., 2004, E87B(1), 192-194
【非特許文献７】Yeh, T.C. et al., "A Secure One-Time Password Authentication Scheme Using Smart Cards," IEICE Trans. Commun., 2002, E85B(11), 2515-2518
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、２つの装置間で信頼がすでに確立されている場合、従来技術による上述のログイン・システムのセキュリティを問題であるとして取り上げる少なくとも２つの理由、すなわち、（１）辞書攻撃に対する脆弱性（vulnerability to dictionary attack）、および（２）クライアント・マシンに保存された資格証明書が露顕する脅威、が存在する。
【００１０】
辞書攻撃の脅威に関して、悪意ある外部オブジェクトは、資格証明書の入力として可能なあらゆる入力の組合せおよび順列（permutation）を繰り返し、総当たり的に試みることができ、その結果、長い時間をかければ、強力な数の法則（the law of strong numbers）から、手当たり次第であるにしろ資格証明書を推測することができる。辞書攻撃をかわすため、資格証明書を循環させる、すなわち、頻繁に変更することができる。しかし、資格証明書をあまり頻繁に循環させると、ユーザが資格証明書を覚えておくことが難しくなる。一方、資格証明書を十分頻繁に循環させないと、辞書攻撃の脅威は軽減されない。
【００１１】
第２の懸念は、そのようなシステムでは、資格証明書がある期間クライアントＣ上に保存またはキャッシュされる傾向にあることであり、このことはサーバＳのリソースを危険にさらす。悪意あるハッカー（hacker）がそのオブジェクトをクライアントＣ上でそれらの存在を露呈する（expose）方法を割り出した場合、サーバＳのリソースは露呈されることになる。ハッカーが資格証明書を別のユーザおよび装置と共用している場合、問題はさらに悪化する。このリスクは、資格証明書を循環させてもさせなくても、ログインの際に資格証明書の入力に関与するのが人間としてのユーザであってもマシンであっても、存続し続ける。サーバＳの側から見ると、これが問題となるのは、サーバのリソースに対するセキュリティ・リスクが、サーバのストレージの範囲内にもはや局所化されなくなるためである。
【００１２】
しかし、装置間で信頼がすでに確立されている場合、資格証明書を頻繁に循環でき、クライアント・マシン上に資格証明書を保存しない方法によって、自動ログイン用のログイン直前に資格証明書をクライアントに動的に配布する方法があるべきである。
【００１３】
したがって、実際にログインする直前に、そこにログインまたはアクセスしたいと望まれているコンピュータによって、ログオン資格証明書を、ネットワークを介して自動的に配布するための方法があることが望ましい。辞書攻撃の脅威にさらされない方法、または資格証明書を取り出そうとクライアントＣのストレージを局所的にスヌーピングされない方法で、そうした資格証明書に基づいて、次に２台のコンピューティング装置間で認証交換を行うための方法があることが望ましい。さらに、その後のログイン交換（login exchange）が行われるのと同じネットワークを介して、第１の装置が第２の装置に安全に資格証明書を示し、または配布するための汎用的で簡単な機構またはフレームワークがあることが望ましい。
【課題を解決するための手段】
【００１４】
上述した従来技術の短所に鑑み、本発明は、ネットワークを介して、資格証明書のセキュリティ保護された動的な配布を行うためのシステムおよび方法を提供する。様々な実施形態において、本発明は、ログインが行われる前に、そこにログインまたはアクセスしたいと望まれているコンピュータによって、ログオン資格証明書を、ネットワークを介して自動的に要求側に配布するためのシステムおよび方法を提供する。例示的な実施形態においては、ログオン資格証明書が要求側には保存されないように、既存の信頼に基づいて、コンピュータが、ログオン資格証明書を自己生成し、それを要求側に自己配布する。
【００１５】
本発明のその他の利点および特徴を以下で説明する。  
本発明による資格証明書のセキュリティ保護された動的な配布を行うためのシステムおよび方法について、添付の図面を参照しながらさらに説明する。
【発明を実施するための最良の形態】
【００１６】
概要
第２のコンピューティング装置がデジタル・コンテンツを求める要求をする場合、第２のコンピューティング装置が、第１のコンピューティング装置によって動的に生成され、セキュリティ保護を施されて配布される資格証明書を、自動的に受信したいと望む場合の一例である。そのようなデジタル・コンテンツを求める要求は、ウェブ・サービスおよびモバイル・ウェブ・サービスの出現によって増加を続けるであろう。すでに、ネットワーク接続された装置の広範なエコ・システム（ecosystem）が、（ＴＶ、音楽、ビデオ、写真、ＤＶＤなどの）娯楽体験を（電子ホーム・リモート・メディア装置（electronic home remote media device）、スマート・ディスプレイ、ｘＢｏｘ、ポケットＰＣ、ポータブルＤＶＤ装置、その他などの）多様なメディアによって家庭に配給する世界に導入されている。しかし、このようなコンテンツを要求コンピューティング装置に配給できるようにする前に、資格証明書の交換が、とりわけ、要求装置を認証するために、要求装置とコンテンツを保有する装置との間で行われる。上述したように、従来技術によるログイン技法には、それに付随するリスクが存在する。本発明は、装置間ですでに信頼が確立されている場合には、そのようなリスクを回避できることを認識している。したがって、本発明は、要求装置がネットワークを介してログインを行う直前に、簡単な方式で資格証明書を、ネットワークを介して要求装置に自動的に配布するための汎用的なフレームワークを提供する。
【００１７】
例示的なネットワーク接続環境
コンピュータ・ネットワークの一部として配置できる、または分散コンピューティング環境内に配置できる任意のコンピュータまたはその他のクライアントもしくはサーバ装置の関連において、本発明を実装できることは、当業者であれば理解できよう。この点で、本発明は、本発明による資格証明書のセキュリティ保護された動的な配布に関連して利用できる、任意の数のメモリまたはストレージ・ユニットを有し、また任意の数のストレージ・ユニットまたはボリュームにわたって存在する任意の数のアプリケーションおよびプロセスを有する、任意のコンピュータ・システムまたは環境に関連する。本発明は、リモートまたはローカル・ストレージを有する、ネットワーク環境または分散コンピューティング環境に配置されたサーバ・コンピュータおよびクライアント・コンピュータを有する環境に適用することができる。本発明はまた、リモートまたはローカル・サービスに関連する情報を生成し、受信し、送信するための、プログラミング言語機能、解釈および実行能力を有する、スタンド・アロン・コンピューティング装置にも適用することができる。デジタル・メディア用のネットワーク・ソースがこれまで以上に増加していることから、本発明は特に、ネットワークまたは分散コンピューティング環境で動作するコンピューティング装置に関連し、したがって、本発明による資格証明書のセキュリティ保護された動的な配布を行う技法は、そうした環境で非常に効果的に利用することができる。
【００１８】
分散コンピューティングは、コンピューティング装置およびシステムの間で、交換によるコンピュータ・リソースおよびサービスの共用を提供する。これらのリソースおよびサービスには、情報交換、ファイル用のキャッシュ・ストレージおよびディスク・ストレージが含まれる。分散コンピューティングは、ネットワーク接続性（network connectivity）を利用して、クライアントがその集団的な処理能力（collective power）およびストレージを企業全体の利益になるように活用できるようにする。この点で、多様な装置は、本発明により達成できるような、ログイン直前に行われる資格証明書の動的な要求および配送に関連する、アプリケーション、オブジェクト、またはリソースを有することができる。
【００１９】
図２Ａには、例示的なネットワーク化された、または分散されたコンピューティング環境の概略図が示されている。分散コンピューティング環境は、コンピューティング・オブジェクト（computing object）１０ａ、１０ｂなど、およびコンピューティング・オブジェクトまたは装置１１０ａ、１１０ｂ、１１０ｃなどを含む。これらのコンピューティング・オブジェクトは、プログラム、メソッド、データ・ストア、プログラマブル・ロジックなどを含むことができる。コンピューティング・オブジェクトは、ＰＤＡ、オーディオ／ビデオ装置、ＭＰ３プレーヤ、ＴＶ、パーソナル・コンピュータなど、同じまたは異なる装置の部分を含むことができる。各コンピューティング・オブジェクトは、通信ネットワーク１４を介して、別のコンピューティング・オブジェクトと通信を行うことができる。このネットワーク自体が、図２Ａのシステムにサービスを提供するその他のコンピューティング・オブジェクトおよびコンピューティング装置を含むことができ、複数の相互接続されたネットワークを表すことができる。本発明の一態様によれば、各コンピューティング・オブジェクト１０ａ、１０ｂなど、または１１０ａ、１１０ｂ、１１０ｃなどは、本発明による処理を要求しまたは利用するため、ＡＰＩまたはその他のオブジェクトなどのインターフェース、ソフトウェア、ファーム・ウェア、および／またはハードウェアを利用するアプリケーションを含むことができる。
【００２０】
１１０ｃなどのコンピューティング・オブジェクトが、別のコンピューティング装置１０ａ、１０ｂなど、または１１０ａ、１１０ｂなどによってホストされ得ることも理解できるであろう。したがって、図示された物理的環境には、コンピュータとして接続された装置が示されているが、そのような図は、単に例示的なものに過ぎず、代替的に、物理的環境は、ＰＤＡ、テレビ、ＭＰ３プレーヤなどの様々なデジタル装置、インターフェース、ＣＯＭオブジェクトなどのソフトウェア・オブジェクト、またはメディア体験に関連して利用できる任意の装置を含むものとして、図示し、または説明することもできる。
【００２１】
分散コンピューティング環境をサポートする、多様なシステム、コンポーネント、およびネットワーク構成が存在する。たとえば、コンピューティング・システムは、ローカル・ネットワークまたは広域分散ネットワークによって、有線または無線システムによって、接続することができる。現在、ネットワークの多くはインターネットに結合され、インターネットは、広域分散コンピューティングの基盤を提供し、多くの異なるネットワークを包含している。どのような基盤も、本発明による資格証明書のセキュリティ保護された動的な配布を起こさせる例示的な通信のために使用することができる。
【００２２】
ホームネット・ワーキング環境では、電源線、データ（無線および有線）、音声（例えば、電話）、および娯楽メディアなど、それぞれ固有のプロトコルをサポートすることができる少なくとも４種類の本質的に異なるネットワーク・トランスポート・メディア（network transport media）が存在する。電灯スイッチなどの家庭内制御装置や家電製品の大部分は、接続性を得るために電源線を使用することができる。データ・サービスは、ブロード・バンド（例えば、ＤＳＬまたはケーブル・モデム）として、家庭に入り込むことができ、無線（たとえば、ＨｏｍｅＲＦまたは８０２．１１Ｂ）または有線（たとえば、ＨｏｍｅＰＮＡ、Ｃａｔ５、イーサネット（登録商標）、さらには電源線）接続性を使用して、家庭内からアクセス可能である。音声トラフィックは、有線（例えば、Ｃａｔ３）または無線（例えば、セル電話）として、家庭内に入り込むことができ、Ｃａｔ３対応の有線を用いて、家庭内に配信することができる。娯楽メディアまたはその他のグラフィカル・データは、衛星またはケーブルを介して家庭に入り込むことができ、一般には同軸ケーブルを用いて、家庭内に配信することができる。ＩＥＥＥ１３９４およびＤＶＩも、メディア装置のクラスタのためのデジタル相互接続である。このようなネットワーク環境とプロトコル規格として出現し得るその他のネットワーク環境はすべて、イントラネットなどのネットワークを形成するため、相互接続することができ、それらは、インターネットによって外部世界と接続される可能性がある。要するに、データの保存および送信のために様々な種類の異なるソースが存在し、その結果、この先、コンピューティング装置は、本発明による資格証明書のセキュリティ保護された動的な配布を行う処理を要求しまたは利用するプログラム・オブジェクトに付随してアクセスされ、または利用されるデータ、などのデータを共用するための方法を必要とする。
【００２３】
インターネットとは一般に、コンピュータ・ネットワーキングの技術分野でよく知られているＴＣＰ／ＩＰをプロトコルに利用する、ネットワークおよびゲートウェイの集団のことである。ＴＣＰ／ＩＰは、「Transmission Control Protocol/Internet Protocol（伝送制御プロトコル／インターネット・プロトコル）」の頭字語である。インターネットは、ユーザがネットワークを介して対話し、情報を共有できるようにする、ネット・ワーキング・プロトコルを実行するコンピュータによって相互接続された、地理的に分散したリモート・コンピュータ・ネットワークのシステムとして説明することができる。そのように広域に分散した情報を共有するので、インターネットなどのリモート・ネットワークは、これまでは概ね、専門的な動作またはサービスを実行するためのソフト・ウェア・アプリケーションを開発者が基本的には制約なしに設計できるオープン・システムへと発展してきた。
【００２４】
したがって、ネットワーク基盤では、クライアント／サーバ、ピア・ツー・ピア、またはハイブリッド構成など、多くのネットワーク・トポロジが可能である。「クライアント」とは、関係性がない別のクラスまたはグループによるサービスを利用する、クラスまたはグループのメンバのことである。したがって、コンピューティング処理において、クライアントは、別のプログラムによって提供されるサービスを要求するプロセス、すなわち、大まかに言って、１組の命令またはタスクである。クライアント・プロセスは、別のプログラムまたはサービス自体が行う作業の詳細については一切「知る」必要なく、要求したサービスを利用する。クライアント／サーバ・アーキテクチャ、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピュータ、たとえば、サーバによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。図２Ａの例では、コンピュータ１１０ａ、１１０ｂなどは、クライアントと考えることができ、コンピュータ１０ａ、１０ｂなどは、クライアント・コンピュータ１１０ａ、１１０ｂなどに複製されるデータを保管するサーバ１０ａ、１０ｂなどと考えることができるが、コンピュータはどれも、状況に応じて、クライアント、サーバ、またはその両方と見なすことができる。たとえば、コンピュータ１１０ａは、Ｍｅｄｉａ  Ｃｅｎｔｅｒ  Ｅｄｉｔｉｏｎ（ＭＣＥ）ホストＰＣとすることができ、コンピューティング装置１０ａ、１０ｂなどは、リモート・メディア消費装置（remote media consumption device）とすることができる。これらのコンピューティング装置はどれも、または本発明による資格証明書のセキュリティ保護された動的な配布を行う技法に関連するデータを処理すること、あるいは、これらに関連するサービスもしくはタスクを要求すること、ができる。
【００２５】
サーバは一般に、インターネットなどのリモート・ネットワークまたはローカル・ネットワークを介してアクセス可能な、リモート・コンピュータ・システムである。クライアント・プロセスは、第１のコンピュータ・システムで動作させることができ、サーバ・プロセスは、第２のコンピュータ・システムで動作させることができ、通信媒体を介して互いに通信を行い、その結果、分散機能を提供し、複数のクライアントがサーバの情報収集能力を利用できるようにする。本発明の技法に従って利用されるソフトウェア・オブジェクトはいずれも、複数のコンピューティング装置またはコンピューティング・オブジェクトにわたって分散させることができる。
【００２６】
クライアントおよびサーバは、プロトコル層によって提供される機能を利用して、互いに通信を行う。たとえば、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）は、ワールド・ワイド・ウェブ（ＷＷＷ）または「ウェブ」と併せて使用される共通プロトコルである。たとえば、リモート・デスクトップ・プロトコル（ＲＤＰ）は、リモート・コンピューティング用に利用される共通プロトコルである。一般に、インターネット・プロトコル（ＩＰ）アドレスなどのコンピュータ・ネットワーク・アドレス、またはユニバーサル・リソー・スロケータ（ＵＲＬ）などのその他のリファレンスは、サーバまたはクライアント・コンピュータを互いに識別するために使用することができる。ネットワーク・アドレスは、ＵＲＬアドレスと呼ばれることもある。通信は、通信媒体を介して提供することができ、たとえば、クライアントとサーバは、大容量通信用のＴＣＰ／ＩＰコネクションを介して互いに結合することができる。
【００２７】
したがって、図２Ａには、本発明を実施できる、ネットワーク／バスを介してクライアント・コンピュータと通信を行うサーバを有する、例示的なネットワーク接続または分散環境が図示されている。より詳細には、本発明によれば、複数のサーバ１０ａ、１０ｂなどは、ＬＡＮ、ＷＡＮ、イントラネット、インターネットなどとすることができる通信ネットワーク／バス１４を介して、ポータブル・コンピュータ、ハンドヘルド・コンピュータ、シン・クライアント、ネットワーク接続機器、またはＶＣＲ、ＴＶ、オーブン、照明、ヒータといったその他の装置などの複数のクライアントまたはリモート・コンピューティング装置１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどと相互接続される。したがって、本発明は、ストレージ、ユーザ・インターフェース、再生などに関して独自のメディア能力を有するどのようなコンピューティング装置にも適用可能であることが企図されている。
【００２８】
通信ネットワーク／バス１４がインターネットであるネットワーク環境では、たとえば、サーバ１０ａ、１０ｂなどは、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどが、ＨＴＴＰなど複数の周知のプロトコルのいずれかを介して通信を行う、ウェブ・サーバとすることができる。分散コンピューティング環境の特徴として、サーバ１０ａ、１０ｂなどは、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどとして機能することもできる。
【００２９】
通信は、必要に応じて、有線で行うことも、無線で行うこともできる。クライアント装置１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどは、通信ネットワーク／バス１４を介して通信を行うことも、介さずに行うこともでき、それらに関連付けられた独立の通信を有することができる。たとえば、ＴＶまたはＶＣＲの場合、それらの制御について、ネットワーク化された態様であることも、そうでないこともある。各クライアント・コンピュータ１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなど、およびサーバ・コンピュータ１０ａ、１０ｂなどは、様々なアプリケーション・プログラム・モジュールまたはオブジェクト１３５を備えることができ、またファイルもしくはデータ・ストリームをそこに保存でき、またはファイルもしくはデータ・ストリームをそこにダウンロード、送信、もしくは移動できる、様々なタイプのストレージ要素またはオブジェクト、に接続またはアクセスすることができる。いずれか１つまたは複数のコンピュータ１０ａ、１０ｂ、１１０ａ、１１０ｂなどは、本発明に従って処理されるデータを保存するためのデータベースまたはメモリ２０などの、データベース２０またはその他のストレージ要素の保守および更新（maintenance and updating）を担当することができる。したがって、本発明は、コンピュータ・ネットワーク／バス１４および（クライアント・コンピュータ１１０ａ、１１０ｂなどや、その他の同様の装置、およびデータベース２０と対話できる）サーバ・コンピュータ１０ａ、１０ｂなどにアクセスし、それらと対話できるクライアント・コンピュータ１１０ａ、１１０ｂなどを有する、コンピュータ・ネットワーク環境で利用することができる。
【００３０】
例示的なコンピューティング装置
図２Ｂおよび以下の説明は、本発明を実装できる適切なコンピューティング環境についての簡潔で全般的な説明を提供することを意図している。しかし、ハンドヘルド、ポータブル、およびその他のコンピューティング装置、ならびにすべての種類のコンピューティング・オブジェクトが、本発明と関連して使用される対象として、すなわち、コンピューティング環境内でリソースを要求できるあらゆる場所として、またはメディアを体験できるあらゆる場所として、企図されていることを理解されたい。以下では汎用コンピュータを例示的なホストとして説明を進めるが、これは１つの例に過ぎず、本発明は、ネットワーク／バス相互接続性（network/bus interoperability）を有し、対話が可能なシン・クライアントに実装することもできる。したがって、本発明は、非常に僅かなまたは最低限のクライアント・リソースを含むだけの、ネットワークを介してサービスが提供される環境、たとえば、装置内に置かれたオブジェクトなど、クライアント装置がネットワーク／バスとの単なるインターフェースとして機能するだけのネットワーク接続環境、に実装することができる。要するに、そこにデータを保存できる場所、またはそこからデータを取り出すことができる場所、あるいは、別のコンピュータに送信できる場所はどこであれ、本発明による資格証明書のセキュリティ保護された動的な配布を実行するための、望ましい、または適切な環境となる。
【００３１】
必ずしも必要なわけではないが、本発明は、装置またはオブジェクト向けのサービスの開発者が使用するために、オペレーティング・システムを介して実装することができ、かつ／または本発明による資格証明書の送付または受領に関連して動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバ、またはその他の装置などの、１つまたは複数のコンピュータで実行される、プログラム・モジュールなどの、コンピュータ実行可能命令の一般的コンテキストにおいて説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わせたり、分散させたりすることができる。さらに、本発明が、その他のコンピュータ・システム構成およびプロトコルを用いて実行できることは、当業者であれば理解されよう。本発明とともに使用するのに適している可能性のあるその他の周知のコンピューティング・システム、環境、および／または構成には、パーソナル・コンピュータ（ＰＣ）、現金自動預け払い機（automated teller machines）、サーバ・コンピュータ、ハンドヘルドまたはラップトップ装置、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、プログラム可能な家庭用電化製品、ネットワークＰＣ、電気器具、照明、環境制御要素、ミニ・コンピュータ、メインフレーム・コンピュータなど、が含まれるが、これらに限定されるものではない。本発明は、タスクが通信ネットワーク／バスまたはその他のデータ伝送媒体を介して結合されたリモート処理装置で実行される、分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ装置を含む、ローカル・コンピュータ・ストレージ媒体およびリモート・コンピュータ・ストレージ媒体の両方に配置することができ、クライアント・ノードは、サーバ・ノードとして機能することもできる。
【００３２】
したがって、図２Ｂには、本発明を実装できる適切なコンピューティング・システム環境１００の一例が図示されているが、上述のことから明らかなように、コンピューティング・システム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用および機能の範囲に関してどのような限定も示唆するものではない。コンピューティング環境１００は、例示的な動作環境１００に図示されたコンポーネントの任意の１つまたは組合せに関して、どのような依存性または要件ももたないと解釈すべきである。
【００３３】
図２Ｂを参照すると、本発明を実装するための別の例示的なシステムは、コンピュータ１１０の形態をとる汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントには、プロセッシング・ユニット１２０、システム・メモリ１３０、およびシステム・メモリを含む様々なシステム・コンポーネントをプロセッシング・ユニット１２０に結合するシステム・バス１２１を含めることができるが、これらに限定されるものではない。システム・バス１２１は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、複数のタイプのバス構造のうちのいずれかとすることができる。たとえば、こうしたアーキテクチャには、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロ・チャネル・アーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（ビデオ電子規格協会）ローカル・バス、およびメザニン・バス（Mezzanine bus）としても知られるＰＣＩ（周辺コンポーネント相互接続）バスが含まれるが、これらに限定されるものではない。
【００３４】
コンピュータ１１０は一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセス可能な任意の利用可能媒体とすることができ、揮発性および不揮発性媒体、着脱可能および着脱不能媒体を含む。たとえば、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得るが、これらに限定されるものではない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータといった情報を記憶するための任意の方法または技法によって実装される、揮発性および不揮発性媒体、着脱可能および着脱不能媒体を含む。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）、またはその他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶、またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに使用でき、コンピュータ１１０によってアクセス可能なその他の任意の媒体が含まれるが、これらに限定されるものではない。通信媒体は一般に、搬送波やその他の移送機構（transport mechanism）などの変調データ信号中に、コンピュータ可読命令、プログラム・モジュール、またはデータ構造を具現し、任意の情報送達媒体を含む。「変調データ信号」という語は、信号中に情報を符号化できるような方式で設定または変更される１つまたは複数の信号特性をもつ信号を意味する。たとえば、通信媒体には、有線ネットワークまたは直接線接続などの有線媒体、および音響、ＲＦ、赤外線、またはその他の無線媒体などの無線媒体が含まれるが、これらに限定されるものではない。上記の媒体の任意の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
【００３５】
システム・メモリ１３０は、ＲＯＭ（読み取り専用メモリ）１３１やＲＡＭ（ランダム・アクセス・メモリ）１３２などの、揮発性および／または不揮発性メモリの形態をとるコンピュータ記憶媒体を含む。基本入出力システム（ＢＩＯＳ）１３３は、起動処理中などにコンピュータ１１０内の要素間の情報伝送を助ける基本ルーチンを含み、一般にＲＯＭ１３１に記憶される。ＲＡＭ１３２は一般に、プロセッシング・ユニット１２０がダイレクトにアクセス可能な、かつ／または現在プロセッシング・ユニット１２０上で動作している、データおよび／またはプログラム・モジュールを含む。たとえば、図２Ｂには、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７が示されているが、これらに限定されるものではない。
【００３６】
コンピュータ１１０はまた、その他の着脱可能／着脱不能、揮発性／不揮発性コンピュータ記憶媒体を含む。図２Ｂには、着脱不能な不揮発性磁気媒体に対して読み書きを行うハードディスク・ドライブ１４１、着脱可能な不揮発性磁気ディスク１５２に対して読み書きを行う磁気ディスク・ドライブ１５１、ＣＤ−ＲＯＭやその他の光媒体など着脱可能な不揮発性光ディスク１５６に対して読み書きを行う光ディスク・ドライブ１５５が、例としてのみ示されている。例示的な動作環境で使用することができるその他の着脱可能／着脱不能、揮発性／不揮発性コンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭなどが含まれるが、これらに限定されるものではない。ハードディスク・ドライブ１４１は一般に、インターフェース１４０などの着脱不能メモリ・インターフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライブ１５１および光ディスク・ドライブ１５５は一般に、インターフェース１５０などの着脱可能メモリ・インターフェースを介してシステム・バス１２１に接続される。
【００３７】
上述され、また図２Ｂに示されたドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラム・モジュール、およびその他のデータの記憶を可能とする。図２Ｂには、たとえば、オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７を記憶するものとして、ハードディスク・ドライブ１４１が示されている。これらのコンポーネントは、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７と同じであってもよく、異なっていてもよいことに留意されたい。ここでは、オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７には、少なくともそれらが異なるコピーであることを示すために、異なる番号が振られている。ユーザは、キーボード１６２、一般にマウスと呼ばれるポインティング・デバイス１６１、トラック・ボール、またはタッチ・パッドなどの入力装置を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。その他の入力装置（図示せず）には、ジョイスティック、ゲーム・パッド、衛星放送用パラボラ・アンテナ、スキャナなどが含まれ得る。上記およびその他の入力装置はしばしば、システム・バスに結合されたユーザ入力インターフェース１６０を介してプロセッシング・ユニット１２０に接続されが、パラレル・ポート、ゲーム・ポート、またはＵＳＢ（汎用シリアル・バス）など、その他のインターフェースおよびバス構造によって接続することもできる。ノース・ブリッジなどのグラフィックス・インターフェース１８２も、システム・バス１２１に接続することができる。ノース・ブリッジは、ＣＰＵまたはホスト・プロセッシング・ユニット１２０と通信を行うチップセットであり、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）との通信を担当する。１つまたは複数のグラフィックス・プロセッシング・ユニット（ＧＰＵ）１８４は、グラフィックス・インターフェース１８２と通信を行うことができる。この点に関して、ＧＰＵ１８４は一般に、レジスタ記憶などのオンチップ・メモリ記憶を含み、ＧＰＵ１８４は、ビデオ・メモリ１８６と通信を行う。しかし、ＧＰＵ１８４は、コ・プロセッサの単なる一例に過ぎず、したがって、コンピューティング１１０は、様々なコ・プロセッシング装置を含むことができ、その中には、ピクセル・シェーダおよび頂点シェーダなど、様々な手続き型シェーダが含まれ得る。モニタ１９１またはその他のタイプのディスプレイ装置も、ビデオ・メモリ１８６と通信することができるビデオ・インターフェース１９０などのインターフェースを介してシステム・バス１２１に接続される。モニタ１９１の他に、コンピュータは、出力周辺インターフェース１９５を介して接続できる、スピーカ１９７やプリンタ１９６などのその他の周辺出力装置も含むことができる。
【００３８】
コンピュータ１１０は、リモート・コンピュータ１８０などの１つまたは複数のリモート・コンピュータへの論理コネクションを使用して、ネットワーク接続または分散環境で動作することができる。リモート・コンピュータ１８０は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、またはその他の共通ネットワーク・ノードとすることができ、一般にコンピュータ１１０に関連して上述した、多くのまたはすべての要素を含むことができるが、図２Ｂには、メモリ記憶装置１８１だけが図示されている。図２Ｂに示す論理コネクションは、ＬＡＮ（ローカル・エリア・ネットワーク）１７１およびＷＡＮ（ワイド・エリア・ネットワーク）１７３を含むが、その他のネットワーク／バスを含むこともできる。こうしたネットワーク環境は、家庭やオフィスで、また企業規模のコンピュータ・ネットワーク、イントラネット、インターネットで一般的である。
【００３９】
ＬＡＮネットワーク環境で使用される場合、コンピュータ１１０は、ネットワーク・インターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用される場合、コンピュータ１１０は一般に、インターネットなどのＷＡＮ１７３を介して通信を確立するための、モデム１７２またはその他の手段を含む。モデム１７２は、内蔵とも外付けともすることができ、ユーザ入力インターフェース１６０またはその他の適切な機構を介してシステム・バス１２１に接続することができる。ネットワーク接続環境では、コンピュータ１１０との関連で示したプログラム・モジュールまたはその部分は、リモート・メモリ記憶装置に記憶することができる。たとえば、図２Ｂには、リモート・アプリケーション・プログラム１８５が、メモリ装置１８１上に存在するものとして示されているが、それに限定されるものではない。図示のネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立するその他の手段も使用できることは理解されよう。
【００４０】
例示的な装置
図２Ｃおよび以下の説明は、本発明による資格証明書のセキュリティ保護された動的な配布を利用することに関して、コンテンツを提供できる装置またはコンテンツへのアクセスを要求できる装置にとっての適切なコンピューティング環境について、簡潔で全般的な説明を提供することを意図している。しかし、ハンドヘルド、ポータブル、およびその他のコンピューティング装置、ならびにすべての種類のコンピューティング・オブジェクトが、本発明と関連して使用される対象として、すなわち、装置がメディア体験の配給を提供したいと望み得るあらゆる場所として、または装置がその装置のためにメディア体験の配給を要求したいと望み得るあらゆる場所として、企図されていることを理解されたい。これらの装置のメディア機能に関する差異は、要求コンピューティング装置の資格証明書を理解することによって、リモート・メディア体験を異なるリモート装置に合わせるために、重要な利点を有する本発明を利用する。
【００４１】
必ずしも必要なわけではないが、本発明は、装置またはオブジェクト向けのサービスの開発者が使用するために、オペレーティング・システムを介して部分的に実装することができ、かつ／または本発明のコンポーネントに関連して動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバ、またはその他の装置など、１つまたは複数のコンピュータで実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて説明することができる。本発明が、その他のコンピュータ・システム構成およびプロトコルを用いて実行できることは、当業者であれば理解されよう。
【００４２】
したがって、図２Ｃには、本発明を実装できる適切なコンピューティング・システム環境１００ａの一例が図示されているが、上述のことから明らかなように、コンピューティング・システム環境１００および１００ａは、本発明による資格証明書の配布のための、適切なコンピューティング環境の２つの例に過ぎず、本発明の使用および機能の範囲に関してどのような限定も示唆するものではない。コンピューティング環境１００または１００ａは、例示的な動作環境１００または１００ａに図示されたコンポーネントの任意の１つまたは組合せに関して、どのような依存性または要件ももたないと解釈すべきである。
【００４３】
図２Ｃを参照すると、本発明を実装するための第２の例示的な装置は、コンピュータ１１０ａの形態をとる汎用コンピューティング装置を含む。コンピュータ１１０ａのコンポーネントには、プロセッシング・ユニット１２０ａ、システム・メモリ１３０ａ、およびシステム・メモリを含む様々なシステム・コンポーネントをプロセッシング・ユニット１２０ａに結合するシステム・バス１２１ａを含めることができるが、これらに限定されるものではない。システム・バス１２１ａは、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、複数のタイプのバス構造のうちのいずれかとすることができる。
【００４４】
コンピュータ１１０ａは一般に、様々なコンピュータ可読媒体を含む。上述したように、コンピュータ可読媒体は、コンピュータ１１０ａによってアクセス可能な任意の利用可能媒体とすることができる。システム・メモリ１３０ａは、ＲＯＭ（読み取り専用メモリ）および／またはＲＡＭ（ランダム・アクセス・メモリ）などの、揮発性および／または不揮発性メモリの形態をとるコンピュータ記憶媒体を含む。基本入出力システム（ＢＩＯＳ）は、起動処理中などにコンピュータ１１０ａ内の要素間の情報伝送を助ける基本ルーチンを含み、メモリ１３０ａに記憶される。メモリ１３０ａは一般に、プロセッシング・ユニット１２０ａが、ダイレクトにアクセス可能な、かつ／または現在、プロセッシング・ユニット上で動作している、データおよび／またはプログラム・モジュールも含む。たとえば、メモリ１３０ａは、オペレーティング・システム、アプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データを含むこともできるが、これらに限定されるものではない。
【００４５】
コンピュータ１１０ａはまた、その他の着脱可能／着脱不能、揮発性／不揮発性コンピュータ記憶媒体を含み、それらは、インターフェースなどの着脱不能メモリ・インターフェースを介してシステム・バス１２１ａに接続することができ、また磁気ディスク・ドライブおよび光ディスク・ドライブは一般に、インターフェースなどの着脱可能メモリ・インターフェースを介してシステム・バス１２１ａに接続される。
【００４６】
ユーザは、様々な入力装置を介して、コマンドおよび情報をコンピュータ１１０ａに入力することができる。グラフィックス・サブ・システムを、システム・バス１２１ａに接続することもできる。モニタまたはその他のタイプのディスプレイ装置も、ビデオ・メモリと通信を行うことができる出力インターフェース１５０ａなどのインターフェースを介して、システム・バス１２１ａに接続される。モニタの他に、コンピュータは、出力インターフェース１５０ａを介して接続できるスピーカやプリンタなどのその他の周辺出力装置も含むことができる。
【００４７】
コンピュータ１１０ａは、装置１１０ａとは異なるメディア機能を備えることができるリモート・コンピュータ１７０ａなど、１つまたは複数のリモート・コンピュータへの論理コネクションを使用して、ネットワーク接続または分散環境で動作することができる。リモート・コンピュータ１７０ａは、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置もしくはその他の共通ネットワーク・ノード、またはその他の任意のリモート・メディア消費もしくは送信装置とすることができ、一般にコンピュータ１１０ａに関連して上述した、多くのまたはすべての要素を含むことができる。図２Ｃに示す論理コネクションは、ＬＡＮ（ローカル・エリア・ネットワーク）およびＷＡＮ（ワイド・エリア・ネットワーク）などのネットワーク１７１ａを含むが、その他のネットワーク／バスを含むこともできる。こうしたネットワーク環境は、家庭やオフィスで、また企業規模のコンピュータ・ネットワーク、イントラネット、インターネットで一般的である。
【００４８】
したがって、上述した汎用コンピュータは１つの例に過ぎず、本発明は、ネットワーク／バス相互接続性を有し対話が可能な任意のクライアントを用いて実装することができる。したがって、本発明は、非常に僅かなまたは最低限のクライアント・リソースを含むだけの、ネットワークを介してサービスが提供される環境、たとえば、装置内に置かれたオブジェクトなど、クライアント装置がネットワーク／バスとの単なるインターフェースとして機能するだけのネットワーク接続環境で実装することができる。要するに、そこにデータを保存できる場所、またはそこからデータを取り出す場所、別のコンピュータに送信できる場所はどこであれ、本発明による技法を実行するための望ましいまたは適切な環境となる。
【００４９】
例示的な分散コンピューティング・フレームワークまたは構成
パーソナル・コンピューティングとインターネットとの融合（統合）（convergence）を考慮して、様々な分散コンピューティング・フレームワークが、これまで開発され、今も開発されている。個人ユーザにもビジネス・ユーザにも、アプリケーションおよびコンピューティング装置用の、シームレスで同じように操作ができるウェブ対応のインターフェースが提供されており、コンピューティング活動（computing activities）は、ウェブ・ブラウザまたはネットワーク志向の度合いをますます強めている。
【００５０】
たとえば、ＭＩＣＲＯＳＯＦＴ（登録商標）のマネージドコード（managed code）プラットフォーム、すなわち．ＮＥＴは、サーバ、ウェブベースのデータ・ストレージなどのビルディング・ブロック・サービス（building-block service）、およびダウンロード可能な装置ソフトウェアを含む。一般的に言って、．ＮＥＴプラットフォームは、（１）システム内のすべてのコンピューティング装置を協働させるとともに、すべての装置でユーザ情報を自動的に更新し、同期させる能力、（２）ＨＴＭＬの代わりにＸＭＬを積極的に使用することによって可能となった、ウェブ・ページ用の強化された対話機能、（３）カスタマイズされたアクセス、ならびにｅメールなどの様々なアプリケーションまたはＯｆｆｉｃｅ．ＮＥＴなどのソフトウェアの管理のための中央開始ポイント（central starting point）からユーザへの製品およびサービスのカスタマイズされた配給を特色とするオンライン・サービス、（４）情報へのアクセスの効率性および容易性、ならびにユーザおよび装置の間での情報の同期を向上させる集中データ・ストレージ、（５）ｅメール、ファックス、電話など、様々な通信媒体を統合する能力、（６）生産性が向上し、プログラミング・エラーが減少するように、開発者のために再使用可能なモジュールを作成する能力、および（７）その他の多くのクロス・プラットフォームおよび言語統合機能、を提供する。
【００５１】
いくつかの例示的な実施形態は、コンピューティング装置上に存在するソフトウェアとの関連で説明されるが、本発明の方法が、．ＮＥＴコードなどのマネージ・コードが可能にするすべての言語およびサービスに含まれ、サポートされ、またはそれらを介してアクセスされ得るように、またその他の分散コンピューティング・フレームワークにおいても同様であるように、本発明の１つまたは複数の部分は、オペレーティング・システム、アプリケーション・プログラミング・インターフェース（ＡＰＩ）または「仲介者（middle man）」オブジェクト、コントロール・オブジェクト、ハードウェア、ファーム・ウェア、中間言語命令またはオブジェクトなど、を介して実装することもできる。
【００５２】
自動ログインに先立つ資格証明書のセキュリティ保護された動的な配布
上述したように、本発明は、ホスト・コンピュータのコンテンツ、リソース、および／またはサービスにアクセスするためのログオンが行われる前、たとえば、要求側装置とホスト・コンピュータの間のセッションを開始する時に、ログオンまたはアクセスしたいと望まれているホスト・コンピュータによって、ログオン資格証明書を要求側装置にネットワークを介して自動的に、配布するためのシステムおよび方法を提供する。
【００５３】
したがって、本発明は、ホスト・マシンが、セキュリティ保護された方法でクライアント資格証明書を制御することを可能にする。有利には、ホストは、クライアントの関与を必要とせずに、資格証明書を周期的に循環させて、セキュリティを向上させることができる。さらに、本発明によれば、クライアントは、何らかの意味のある時間（for any significant period of time）にわたって資格証明書を保持（hold）する必要がなく、資格証明書の保有に関連するセキュリティ機構およびストレージ機構を含む必要がない。
【００５４】
図３Ａには、本発明の例示的な実施形態が図示されており、本発明によるログイン直前の、資格証明書のセキュリティ保護された動的な配布について概略が示されている。ステップＡに示すように、ホスト装置などの第１の装置Ｃ１は、装置間の事前交換によって、クライアント装置などの第２の装置からの通信を信頼する。すなわち、ステップＡにおいて、装置間で信頼が確立される。信頼を確立する例示的な一方法は、ユーザに関連するバイオメトリック情報（biometric information）を入力して、両装置でそれを共有するようにすることである。信頼を確立する例示的な別の方法は、ユーザに信頼コード（trust code）を一方の装置に入力させ、それを他方の装置で受信して、共有の秘密（shared secret）を確立することを含む。同様に、ユーザは、たとえば、メモリ・スティックまたはＵＳＢメモリ装置など、同じハードウェア・コンポーネントを両装置に挿入または入力し、認証プロセスに基づいて装置間で信頼を確立することができる。信頼を確立する例示的なまた別の方法は、第２の装置Ｃ２と第１の装置Ｃ１の間の「セットアップ」プロセス、すなわち、（ｉ）第２の装置Ｃ２が所有する公開鍵を第１の装置Ｃ１に保存させることによって、（ｉｉ）第１の装置Ｃ１が、第２の装置Ｃ２から取得した公開鍵が本当に第２の装置Ｃ２からのものであり、第１の装置Ｃ１によって配布されるログオン資格証明書を横取りしようとしている「rogue（違法）」装置からのものではないことを、保証するプロセスを含むことができる。公開鍵のこの信頼された交換（trusted exchange）は、当業者に周知の多くの異なる方法で行うことができる。たとえば、  年  月  日に出願された「オフ・ネットワーク入力コードを用いるコンテンツの信頼されたネットワーク転送（Trusted Network Transfer of Content Using Off Network Input Code)」と題する、同一出願人による同時係属中の米国出願第ＸＸ／ＹＹＹ，ＺＺＺ号（‘ＺＺＺ出願）には、簡単なユーザ入力コードを用いて、公開鍵などのコンテンツを第１のコンピューティング装置から第２のコンピューティング装置へ転送することによって、装置間で信頼された通信を確立するためのシステムおよび方法が記載されている。‘ＺＺＺは、様々な実施形態において、ネットワーク・コンテンツ交換の帯域外で入力される簡単なコードを用いて、ネットワーク内の１つのコンピューティング装置から別のコンピューティング装置に、暗号鍵情報などのコンテンツを信頼された方式で送受信できるようにするシステムを教示する。
【００５５】
第１の装置Ｃ１と第２の装置Ｃ２が信頼を確立した後しばらくして、ステップＢにおいて、第２の装置Ｃ２が、第１の装置Ｃ１のリソースを求める、認証交換を含んだ要求を発行する。本発明によれば、第１の装置Ｃ１は、第２の装置Ｃ２からの信頼された公開鍵を有しているので、ステップＣに示すように、第１の装置Ｃ１は、自動的にログオン資格証明書を生成し、ステップＤで資格証明書をセキュリティ保護して配布するため、その資格証明書を前述の公開鍵を用いて暗号化する。
【００５６】
第２の装置Ｃ２は、資格証明書を受信すると、ステップＥにおいて、対応する秘密鍵（private key）を用いて資格証明書を復号する。やはりステップＥにおいて、ログオン・オブジェクトが、資格証明書を保存することなく、資格証明書を含んだ第１の装置Ｃ１へのログオン要求を自動的に生成し、ログオン要求用の関連する認証プロトコルに従って適切に（たとえば、共用公開鍵によって）再暗号化する。ログオン要求は、第２の装置Ｃ２に保存されることなく、ステップＦにおいて、第２の装置Ｃ２から第１の装置Ｃ１に送信される。本発明の一実施形態では、補足的な保護のため、ログオン・オブジェクトは、その動作に関連して、保護メモリ空間（protected memory space）を利用する。ステップＧにおいて、ログオンは成功し、ステップＢでの要求に基づくプライベート通信を、確立されたアクセス・レベルおよび許可に従って、第１の装置Ｃ１と第２の装置Ｃ２の間で開始することができる。
【００５７】
本発明によれば、（ログオン資格証明書に関連して送信されるその他の情報とともに）第１の装置Ｃ１からの暗号化された資格証明書は、第１の装置Ｃ１に無防備のまま保存することができ、またはそれを復号できるのは第２の装置Ｃ２だけなので、ネットワーク上に自由に分散させることもできることに留意されたい。したがって、その後、第２の装置Ｃ２が、第１の装置Ｃ１にログオンしたいと望むたびに、ログオン要求を表明するネットワークメッセージを送信すると、第１の装置Ｃ１は、暗号化された資格証明書によって応答する。第２の装置Ｃ２は、自らの秘密鍵を用いて資格証明書を復号し、直ちにその資格証明書を用いて、第１の装置Ｃ１にログオンする。有利には、資格証明書は、後で任意の時に、第１の装置Ｃ１によって再生成され、第２の装置Ｃ２からの公開鍵を用いて再暗号化することができる。したがって、第２の装置Ｃ２は、次回にログインを試みた時には、動的に新しい資格証明書を取得し、それを用いてログインする。
【００５８】
図３Ｂには、上述したプロセスを実装する、第１のコンピューティング装置Ｃ１と第２のコンピューティング装置Ｃ２の間の通信が例示的なシステムが図示されている。３００において、第１の装置Ｃ１は、‘ＺＺＺ出願の方法による第２の装置Ｃ２の信頼性（trustworthiness）を確立する方式で、第２の装置Ｃ２から公開鍵を受信する。信頼が確立された後しばらくして、３１０において、（第２の装置Ｃ２からの要求などの）事前定義されたイベントに応答して、第１の装置Ｃ１は、動的にログオン資格証明書を生成し、３２０において、第２の装置Ｃ２の公開鍵を用いて資格証明書を暗号化する。３３０において、暗号化された資格証明書は、ネットワーク上を第２の装置Ｃ２に送信される。第２の装置Ｃ２は、３４０において、資格証明書を復号し、３５０において、適切なログオン・プロトコルに従ってログオン要求を発行すると同時に、資格証明書を消去する。第１の装置Ｃ１は、３７０において、資格証明書を復号し、３８０において、ログオン要求を処理して、資格証明書の有効性を判定する。資格証明書が有効な場合、３９０において、セキュリティ保護されたログオンが成功する。資格証明書が無効な場合、ログオンは成功しないので、フローは３８５において失敗する（fail：機能しなくなる）。
【００５９】
図４Ａおよび図４Ｂには、クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において、本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、および、この実施形態に関連して、従うことのできるプロトコルが示されている。したがって、ホストとクライアントの間で信頼が確立されている場合、本発明は、セッション確立の手順に適用することができる。
【００６０】
簡単な定義を行うと、セッションとは、ユーザ・アカウントをそのアカウントに関連する資格証明書を用いてマシンにログインさせた時に、オペレーティング・システム内に生成される環境のことである。ユーザがログインすると、セッションが生成され、ユーザがログアウトすると、セッションは終了させられる。一たびログインがなされると、手動によるログオフまたはＯＳによる強制的ログオフが行われるまで、ユーザ・アカウントのセッションは、持続し続ける。本発明の一実施形態では、第２の装置によって信頼された第１の装置が１組の資格証明書を用いて第２の装置にログオンしたいと望む場合の手順において、本発明は、セッションを開始するのに用いる１組の資格証明書を動的に生成し、それを第１の装置にセキュリティ保護して配布する、しかし、この場合、資格証明書が、要求側装置に保存されたり、または要求側装置上で公開されたりすることはない。
【００６１】
図４Ａおよび図４Ｂ内の、楕円の破線で囲まれ、対応する類似の番号が付された、いくつかの部分が、図３Ａのブロック図の非限定的な実施形態であることは理解できよう（たとえば、図３ＡにおけるステップＢへの参照は、図４Ａ〜４Ｂでは参照符号ＢＢになり、図３ＡにおけるステップＤへの参照は、図４Ａ〜４Ｂでは参照符号ＤＤになるなど）。したがって、ステップＢにおける要求は、ホスト（図４Ｂ）とのセッションを開始するため、クライアント（図４Ａ）によってＲＤＰＩｎｉｔＲＱがコールされるエリアＢＢに対応する。図４Ｂにおいて、ステップＣは、ホスト装置によるログオン資格証明書の動的な生成に関連する通信および処理と、それに対応する暗号化のためのクライアントの公開鍵の使用と、を示すエリアＣＣに対応する。ステップＤは、ログオン要求がクライアントの公開鍵を用いた暗号化によるセキュリティ保護された方式でホストからクライアントに送信され（図４Ｂ）、クライアントによって受信される（図４ＡのエリアＤＤ）エリアＤＤに概略的に示されている。図４ＡのエリアＥＥで示されるように、資格証明書が受信され、復号された直後に、ホスト装置とのセッションの確立に関連して、クライアントは、エリアＦＦに関連する処理を介し、復号化された資格証明書を用いてホストにログオンする。ここで、資格証明書を用いた自動ログオンが成功した場合、エリアＧＧの処理によって概略的に示されるように、アクティブ・セッションが開始される。
【００６２】
しかし、図４Ａおよび図４Ｂは、特定の処理、特定のインターフェース、および特定のプロトコルの見地からの、装置間で起こり得る例示的な通信についての一実装形態を図示したものに過ぎないことは明らかであり、本発明が、その他の様々な処理、プロトコル、インターフェースなどを用いても実装できることは強調されるべきである。たとえば、多くのアルゴリズムが無限の数の数学的形状および形式を仮定できること、またソフトウェアの視点から鍵を考察することは、アルゴリズムが任意の明示的または暗黙的形式で望ましい関数を実行することであることは理解できよう。さらに、データ構造も多くの形式を仮定することができ、したがって、たとえば、タイプ、名前、クラスなどは、多様な方法で定義することができる。以下に示す表１には、たとえば、図４Ａおよび図４Ｂで参照される変数について、いくつかの例示的な実装選択例が示されている、がしかし、本明細書の説明とよく調和している。これらの実装の詳細は、本発明を限定することを意図するものではない。
【００６３】
【表１】
2005149505.tif 000003
【００６４】
したがって、図４Ａおよび図４Ｂには、本発明の例示的かつ非限定的な実施形態が図示されており、本発明は特許請求の範囲を基準として確定されるべきことは明らかであろう。
【００６５】
本発明を実装する複数の方法、たとえば、アプリケーションおよびサービスが本発明による資格証明書のセキュリティ保護された動的な配布を行えるようにする、たとえば、適切なＡＰＩ、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、およびスタンド・アロンまたはダウンロード可能ソフトウェア・オブジェクトなど、が存在する。本発明は、ＡＰＩ（またはその他のソフトウェア・オブジェクト）の視点から、および本発明の機構を介して資格証明書を生成し、処理し、受信し、または送信するソフトウェアまたはハードウェアから、本発明を使用することを企図している。したがって、本明細書で説明する本発明の様々な実装形態は、全部をハードウェアで、一部をハードウェアおよび一部をソフトウェアで、および全部をソフトウェアで実施する態様を有することができる。
【００６６】
上述したように、本発明の例示的な実施形態を、様々なコンピューティング装置およびネットワーク構成との関連で説明してきたが、基礎となる概念は、ログイン直前に資格証明書をセキュリティ保護して自動的に配布するのが望ましい、任意のコンピューティング装置またはシステムに適用することができる。たとえば、本発明のアルゴリズムおよびハードウェアの実装は、装置上の別々のオブジェクトとして、別のオブジェクトの一部として、再使用可能コントロールとして、サーバからダウンロード可能なオブジェクトとして、装置またはオブジェクトとネットワークとの間の「仲介者（middle man）」として、分散オブジェクトとして、ハードウェアとして、上記の任意の組合せなどとして、メモリ内に提供される、コンピューティング装置のオペレーティング・システムに適用することができる。本明細書において、例示的なプログラミング言語、名前、および例は、様々な選択肢のうちの代表例として選ばれているが、これらの言語、名前、および例は、本発明の限定を意図するものではない。本発明の様々な実施形態によって達成されるのと同じ、類似、または等価の機能を達成する、オブジェクトコードおよび命名（nomenclature）を提供する数多くの方法が存在することは、当業者であれば理解されよう。  
【００６７】
上述したように、本明細書で説明する様々な技法は、ハードウェアまたはソフトウェア、または必要に応じて、両方の組合せと関連をもたせて、実装することができる。したがって、本発明の方法および装置、またはそれらのある態様（aspect）もしくは部分（portion）は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハード・ドライブ、またはその他の任意のマシン可読媒体などの有形な媒体中に具体化されるプログラム・コード（すなわち、命令）の形態をとることができ、プログラム・コードが、コンピュータなどのマシンにロードされ、マシンによって実行された場合、マシンは本発明を実施するための装置となる。プログラム可能コンピュータでプログラム・コードを実行する場合、一般にコンピューティング装置は、プロセッサ、プロセッサによって可読なストレージ媒体（揮発性および不揮発性メモリ、および／またはストレージ要素を含む）、少なくとも１つの入力装置、および少なくとも１つの出力装置を含む。本発明の資格証明書配布機構を、たとえば、データ処理ＡＰＩや再使用可能コントロールなどを使用して実装でき、または利用できる、１つまたは複数のプログラムは、コンピュータ・システムと通信を行うため、好ましくは、高水準の手続き型またはオブジェクト指向プログラミング言語で実装されることが可能である。しかし、プログラムは、必要に応じて、アセンブリ言語またはマシン語で実装することもできる。いずれの場合でも、その言語はコンパイル型またはインタプリタ型の言語とすることができ、ハードウェア実装と組み合わせることができる。
【００６８】
本発明の方法および装置はまた、電気的配線もしくはケーブル、光ファイバ、またはその他の任意の伝送形態など、何らかの伝送媒体上を伝送されるプログラム・コードの形態で実施される、通信を介して実行することができ、プログラム・コードが、ＥＰＲＯＭ、ゲート・アレイ、プログラム可能論理回路（ＰＬＤ）、クライアント・コンピュータなどのマシンによって受信され、ロードされ、そして実行された場合、マシンは本発明を実施するための装置となる。汎用プロセッサに実装される場合、プログラム・コードは、プロセッサと組み合わされて、本発明の機能を呼び出すために動作する固有の装置を提供する。さらに、本発明との関連で使用されるストレージ技法はどれも、常にハードウェアとソフトウェアの組合せとすることができる。
【００６９】
様々な図の好ましい実施形態との関連で本発明を説明してきたが、本発明から逸脱することなく本発明と同じ機能を実行するため、その他の類似の実施形態が使用できること、または本明細書で説明した実施形態に変更および追加を施し得ること、が理解されよう。たとえば、本発明の例示的なネットワーク環境は、ピア・ツー・ピアまたは分散ネットワーク環境など、ネットワーク接続環境のコンテキストにおいて説明されたが、本発明がそれに限定されるものではないこと、およびこの方法は、本出願で説明されたように、ゲーム・コンソール、ハンドヘルド・コンピュータ、ポータブル・コンピュータなど、任意のコンピューティング装置または環境に適用できること、有線によるにしろ無線によるにしろ、通信ネットワークを介して接続され、ネットワークを介して対話する任意の数のそのようなコンピューティング装置に適用できることは、当業者であれば理解されよう。さらに、とりわけ無線ネットワーク接続装置の数が増加し続けているので、ハンドヘルド装置用オペレーティング・システム、およびその他の特定用途向けオペレーティング・システムを含む、多様なコンピュータ・プラットフォームが企図されていることも強調しておくべきであろう。
【００７０】
例示的な実施形態では、特定のプロトコルおよび通信のコンテキストで本発明の利用を言及しているが、本発明は、それらに限定されるものではなく、本発明による資格証明書のセキュリティ保護された動的な配布を提供するため、むしろ任意のプロトコルを実装することができる。さらに、本発明は、複数の処理チップまたは装置に、またはそれらにわたって、実装することができ、ストレージも同様に、複数の装置にわたって達成することができる。したがって、本発明は、どの１つの実施形態にも限定されることはなく、むしろ特許請求の範囲の広がりおよび範囲において解釈されるべきものである。
【図面の簡単な説明】
【００７１】
【図１Ａ】メディア体験を提供する際のメディア・タイプおよびメディア装置の多様性を示した図である。
【図１Ｂ】１つのコンピューティング装置が別のコンピューティング装置のリソースにアクセスするため、その別のコンピューティング装置にログインする、例示的な従来技術のコンピューティング環境を示した図である。
【図２Ａ】本発明を実装できる、様々なコンピューティング装置を有する例示的なネットワーク環境を表したブロック図である。
【図２Ｂ】本発明を実装できる、例示的かつ非限定的なサーバ・コンピューティング装置を表したブロック図である。
【図２Ｃ】本発明を実装できる、データ受信またはデータ送信を行う、第２の例示的かつ非限定的なコンピューティング装置を表したブロック図である。
【図３Ａ】本発明のシステムおよび方法の様々な実施形態による、第１のコンピューティング装置から第２のコンピューティング装置への資格証明書のセキュリティ保護された動的な配布を示した図である。
【図３Ｂ】本発明のシステムおよび方法の様々な実施形態による、第１のコンピューティング装置から第２のコンピューティング装置への資格証明書のセキュリティ保護された動的な配布を示した図である。
【図４Ａ】クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において、本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、付随して実行されることになるプロトコルを示した図である。
【図４Ｂ】クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、付随して実行されることになるプロトコルを示した図である。
【符号の説明】
【００７２】
１０ａ  サーバ・オブジェクト
１０ｂ  サーバ・オブジェクト
１４  通信ネットワーク／バス
２０  データベース
１１０ａ  コンピューティング装置
１１０ｂ  コンピューティング装置
１１０ｃ  オブジェクト
１１０ｄ  オブジェクト
１１０ｅ  コンピューティング装置
１００  コンピューティング環境
１２０  プロセッシング・ユニット
１２１  システム・バス
１３０  システム・メモリ
１３１  （ＲＯＭ）
１３２  （ＲＡＭ）
１３３  ＢＩＯＳ
１３４  オペレーティング・システム
１３５  アプリケーション・プログラム
１３６  その他のプログラム・モジュール
１３７  プログラム・データ
１４０  着脱不能不揮発性メモリ・インターフェース
１４４  オペレーティング・システム
１４５  アプリケーション・プログラム
１４６  その他のプログラム・モジュール
１４７  プログラム・データ
１５０  着脱可能不揮発性メモリ・インターフェース
１６０  ユーザ入力インターフェース
１６１  ポインティング・デバイス
１６２  キーボード
１７０  ネットワーク・インターフェース
１７１  ローカル・エリア・ネットワーク
１７２  モデム
１７３  ワイド・エリア・ネットワーク
１８０  リモート・コンピュータ
１８２  グラフィックス・インターフェース
１８４  ＧＰＵ
１８６  ビデオ・メモリ
１８５  リモート・アプリケーション・プログラム
１９０  ビデオ・インターフェース
１９１  モニタ
１９５  出力周辺インターフェース
１９６  プリンタ
１９７  スピーカ
１００ａ  コンピューティング環境
１２０ａ  プロセッシング・ユニット
１２１ａ  システム・バス
１３０ａ  システム・メモリ
１４０ａ  入力
１５０ａ  出力、たとえば、ディスプレイ
１６０ａ  ネットワーク・インターフェース
１７０ａ  リモート・コンピュータ
【図１Ａ】
2005149505.tif 000004
【図１Ｂ】
2005149505.tif 000005
【図２Ａ】
2005149505.tif 000006
【図２Ｂ】
2005149505.tif 000007
【図２Ｃ】
2005149505.tif 000008
【図３Ａ】
2005149505.tif 000009
【図３Ｂ】
2005149505.tif 000010
【図４Ａ】
2005149505.tif 000011
【図４Ｂ】
2005149505.tif 000012