説明

ネットワークを介したセキュリティ保護された動的な資格証明書の配布

【課題】資格証明書をネットワークを介してマシンに、セキュリティ保護を施し動的に配布できるようにするシステムおよび方法を提供すること。
【解決手段】様々な実施形態において、ログオンまたはアクセスしたいと望まれているコンピュータは、ログオンが行われる前に、ログオン資格証明書を、ネットワークを介して自動的に要求側に配布する。ログオン資格証明書は要求側装置には保存されないように、既存の信頼に基づいて、当該コンピュータは、ログオン資格証明書を自己生成して、それを要求側に自己配布する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピューティング・システムのネットワークを介する、第1のコンピューティング装置から第2のコンピューティング装置への、資格証明書のセキュリティ保護された動的な配布(secure and dynamic distribution of credential)に関する。より詳細には、本発明は、たとえば、第2の装置で資格証明書を露呈すること(exposing)または保存することなく、第2の装置で自動ログインを行うためのログイン資格証明書(login credential)を、第1の装置から第2の装置に、セキュリティ保護して動的に配布する方法に関する。
【背景技術】
【0002】
第1のコンピューティング装置が、第2の装置を識別するため、かつ/または第2の装置に対するアクセス・レベルおよび許可を決定するため、第2のコンピューティング装置から、ユーザ識別情報およびパスワードなどの資格証明書を受信すること(または上記の逆のこと)が望ましいのには、多くの理由がある。
【0003】
たとえば、ホスト・コンピュータは、クライアント装置がアクセスを要求したいと望むコンテンツを有することがある。これはごく一般的なシナリオであり、図1Aに図示するように、コンピューティング装置と、様々な別のコンピューティング装置から要求され得る各種コンテンツとからなる世界は、メディア装置およびメディア・タイプの両方に関して、きわめて多様である。図1Aは、例示的な目的でのみ、音楽(MP3、WMVなど)、ストリーミング・オーディオ/ビデオ、静止画(JPEGS、GIFなど)、動画ファイル(MOV、MPEGなど)、広告、放送メディア(ラジオ、TV、ケーブルなど)、グラフィックス・データなどの多くの種類のメディアが存在していることを、示している。また、図1Aは、限定しないが、テレビ、ラジオ、チューナ、DVDプレーヤ、VCR、デジタル・データ記憶および/または再生装置、MP3プレーヤ、スマート・ディスプレイ装置、ラップトップ、ゲーム機、リモート制御装置、セル電話、PDA、デジタル・ピクチャー・フレームなど、を含む何らかの目的のため何らかの方式でメディアを再生する多様な装置が存在することも、示している。したがって、このようなシステム内の任意の2つの装置間で信頼(trust)を確立することは、様々なコンピューティング装置間で、コンテンツ提供装置のコンテンツまたはリソースを安全に共用することを可能として、これらのコンテンツ提供装置のコンテンツまたはリソースを、ネットワーク接続された信頼可能な装置の飛び地(networked trust enclave of devices)とする上で、重要な問題となる。
【0004】
したがって、第1のコンピューティング装置のリソースにアクセスすることを第2のコンピューティング装置に対して許可するには、たとえば、セキュリティ上および/またはプライバシ上の理由から、第1のコンピューティング装置に第2のコンピューティング装置に関する何かを「信頼(trust)」させるようにするのがしばしば望ましい。アクセスを許可する一般的な1つの方法は、要求装置から資格証明書を受信することである。この資格証明書は、提供装置によって受信された場合、ドアの錠に対する鍵のようにふるまい、信頼を確立する。そのような資格証明書が、ピア・ツー・ピア・クライアントを含むネットワーク構成、分散コンピューティング・システム、アプリケーションの処理は主として中央サーバ上で実行されるがさらに分散させることも可能なシン・クライアント構成、および以下で詳しく説明するようなその他のネットワーク接続環境など、任意のコンピューティング環境内の2つのコンピューティング装置間で交換され得ることは理解できるであろう。
【0005】
図1Bには、第1のコンピューティング装置(例えば、サーバS)と第2のコンピューティング装置(例えば、クライアントC)が有線または無線による任意のネットワーク・コネクションNCを介して通信を行う例示的なネットワーク接続環境における、サーバSとクライアントCの間の典型的な従来技術によるログオンが図示されている。認証交換は、様々な理由から、2つの装置間で発生し得る。原型的なシナリオでは、クライアントCは、アプリケーション、コンテンツ、サービスなど、サーバSの何らかのリソースにアクセスしたいと望むか、またはサーバSとのセッションを開始したいと望む。サーバSは、アプリケーション、コンテンツ、サービスなどへのアクセスを許可する前に、クライアントCがサーバSのアプリケーション、サービス、コンテンツなどへのアクセスを許可されていることの何らかの証拠(proof)を必要とする。これには、ユーザ識別情報およびパスワードなどの資格証明書をクライアントCから受信することが含まれ得る。
【0006】
今日、このようなシナリオにおいて、コンピュータSの外部オブジェクトがネットワークNCを介してコンピュータSにログインを試みる場合、外部オブジェクトは、クライアントCとサーバSが知っている標準的な機構を用いて、認証用の資格証明書を提示する。資格証明書ログイン・コンポーネントは、クライアントCからサーバSに資格証明書を送達し、サーバS上の認証コンポーネントは、クライアントCの資格証明書が表す許可に従って、リソースへのアクセスを許可する。一般に、ログインを希望するのは人間としてのユーザであり、資格証明書は通常はそのユーザ自身が記憶している。ユーザは、たとえば、ログイン時にキーボードなどの入力装置を介して資格証明書を入力するなど、外部機構を介してコンピューティング装置Cに資格証明書を手動で入力する。従来技術による別のシステムでは、ユーザが一度だけ資格証明書を入力すれば、それ以降、資格証明書をクライアントCにキャッシュまたはその他の方法で保存しておくことができる(たとえば、図1Bの「creds」)。それとは関係なく、資格証明書のクライアントCへの最初の転送は、ネットワークNCの「帯域外(out-of-band)」で行われる。
【0007】
しかし、外部オブジェクトが自動的な方法でログインすることを望むマシンである場合(すなわち、人間としてのユーザではない場合)、マシンは現在のところ、いずれかの場所から資格証明書を取得しなければならず、これも通常は、クライアントCに資格証明書を入力するための帯域外機構によって、ネットワークの「帯域外」で転送される。上述したように、このようにする主な理由は、装置間で信頼を確立するためである。クライアントCが、何らかの外部の帯域外ソースから唯一サーバSだけが知っている秘密(secret)を知ったとすれば、その場合、クライアントCは、装置間で通信交換するネットワークNCの信頼されたユーザであると仮定することができる。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Chang, c. c. et al., "Using Smart Cards to Authenticate Remote Passwords," Computers& Math. Applic., 1993, 26(7) 19-27
【非特許文献2】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
【非特許文献3】Sandirigama, M. et al., "Simple and Secure Password authentication Protocol (SAS)," IEICE Trans. Commun., 2000, E83B(6), 1363-1365
【非特許文献4】Wang, B, et al., "Cryptanlysis of an Enhanced Timestamp-Based Password Authentication Scheme," Computers & Security, 2003, 22(7), 643-645
【非特許文献5】Wu, T.C. et al., "Authentication Password Over an Insecure Channel," Computers & Security, 1996, 15(5), 431-439
【非特許文献6】Yeh, H.T. et al., "Security of a Remote User Authentication Scheme Using Smart Cards," IEICE Trans. Commun., 2004, E87B(1), 192-194
【非特許文献7】Yeh, T.C. et al., "A Secure One-Time Password Authentication Scheme Using Smart Cards," IEICE Trans. Commun., 2002, E85B(11), 2515-2518
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、2つの装置間で信頼がすでに確立されている場合、従来技術による上述のログイン・システムのセキュリティを問題であるとして取り上げる少なくとも2つの理由、すなわち、(1)辞書攻撃に対する脆弱性(vulnerability to dictionary attack)、および(2)クライアント・マシンに保存された資格証明書が露顕する脅威、が存在する。
【0010】
辞書攻撃の脅威に関して、悪意ある外部オブジェクトは、資格証明書の入力として可能なあらゆる入力の組合せおよび順列(permutation)を繰り返し、総当たり的に試みることができ、その結果、長い時間をかければ、強力な数の法則(the law of strong numbers)から、手当たり次第であるにしろ資格証明書を推測することができる。辞書攻撃をかわすため、資格証明書を循環させる、すなわち、頻繁に変更することができる。しかし、資格証明書をあまり頻繁に循環させると、ユーザが資格証明書を覚えておくことが難しくなる。一方、資格証明書を十分頻繁に循環させないと、辞書攻撃の脅威は軽減されない。
【0011】
第2の懸念は、そのようなシステムでは、資格証明書がある期間クライアントC上に保存またはキャッシュされる傾向にあることであり、このことはサーバSのリソースを危険にさらす。悪意あるハッカー(hacker)がそのオブジェクトをクライアントC上でそれらの存在を露呈する(expose)方法を割り出した場合、サーバSのリソースは露呈されることになる。ハッカーが資格証明書を別のユーザおよび装置と共用している場合、問題はさらに悪化する。このリスクは、資格証明書を循環させてもさせなくても、ログインの際に資格証明書の入力に関与するのが人間としてのユーザであってもマシンであっても、存続し続ける。サーバSの側から見ると、これが問題となるのは、サーバのリソースに対するセキュリティ・リスクが、サーバのストレージの範囲内にもはや局所化されなくなるためである。
【0012】
しかし、装置間で信頼がすでに確立されている場合、資格証明書を頻繁に循環でき、クライアント・マシン上に資格証明書を保存しない方法によって、自動ログイン用のログイン直前に資格証明書をクライアントに動的に配布する方法があるべきである。
【0013】
したがって、実際にログインする直前に、そこにログインまたはアクセスしたいと望まれているコンピュータによって、ログオン資格証明書を、ネットワークを介して自動的に配布するための方法があることが望ましい。辞書攻撃の脅威にさらされない方法、または資格証明書を取り出そうとクライアントCのストレージを局所的にスヌーピングされない方法で、そうした資格証明書に基づいて、次に2台のコンピューティング装置間で認証交換を行うための方法があることが望ましい。さらに、その後のログイン交換(login exchange)が行われるのと同じネットワークを介して、第1の装置が第2の装置に安全に資格証明書を示し、または配布するための汎用的で簡単な機構またはフレームワークがあることが望ましい。
【課題を解決するための手段】
【0014】
上述した従来技術の短所に鑑み、本発明は、ネットワークを介して、資格証明書のセキュリティ保護された動的な配布を行うためのシステムおよび方法を提供する。様々な実施形態において、本発明は、ログインが行われる前に、そこにログインまたはアクセスしたいと望まれているコンピュータによって、ログオン資格証明書を、ネットワークを介して自動的に要求側に配布するためのシステムおよび方法を提供する。例示的な実施形態においては、ログオン資格証明書が要求側には保存されないように、既存の信頼に基づいて、コンピュータが、ログオン資格証明書を自己生成し、それを要求側に自己配布する。
【0015】
本発明のその他の利点および特徴を以下で説明する。
本発明による資格証明書のセキュリティ保護された動的な配布を行うためのシステムおよび方法について、添付の図面を参照しながらさらに説明する。
【図面の簡単な説明】
【0016】
【図1A】メディア体験を提供する際のメディア・タイプおよびメディア装置の多様性を示した図である。
【図1B】1つのコンピューティング装置が別のコンピューティング装置のリソースにアクセスするため、その別のコンピューティング装置にログインする、例示的な従来技術のコンピューティング環境を示した図である。
【図2A】本発明を実装できる、様々なコンピューティング装置を有する例示的なネットワーク環境を表したブロック図である。
【図2B】本発明を実装できる、例示的かつ非限定的なサーバ・コンピューティング装置を表したブロック図である。
【図2C】本発明を実装できる、データ受信またはデータ送信を行う、第2の例示的かつ非限定的なコンピューティング装置を表したブロック図である。
【図3A】本発明のシステムおよび方法の様々な実施形態による、第1のコンピューティング装置から第2のコンピューティング装置への資格証明書のセキュリティ保護された動的な配布を示した図である。
【図3B】本発明のシステムおよび方法の様々な実施形態による、第1のコンピューティング装置から第2のコンピューティング装置への資格証明書のセキュリティ保護された動的な配布を示した図である。
【図4A】クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において、本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、付随して実行されることになるプロトコルを示した図である。
【図4B】クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、付随して実行されることになるプロトコルを示した図である。
【発明を実施するための形態】
【0017】
概要
第2のコンピューティング装置がデジタル・コンテンツを求める要求をする場合、第2のコンピューティング装置が、第1のコンピューティング装置によって動的に生成され、セキュリティ保護を施されて配布される資格証明書を、自動的に受信したいと望む場合の一例である。そのようなデジタル・コンテンツを求める要求は、ウェブ・サービスおよびモバイル・ウェブ・サービスの出現によって増加を続けるであろう。すでに、ネットワーク接続された装置の広範なエコ・システム(ecosystem)が、(TV、音楽、ビデオ、写真、DVDなどの)娯楽体験を(電子ホーム・リモート・メディア装置(electronic home remote media device)、スマート・ディスプレイ、xBox、ポケットPC、ポータブルDVD装置、その他などの)多様なメディアによって家庭に配給する世界に導入されている。しかし、このようなコンテンツを要求コンピューティング装置に配給できるようにする前に、資格証明書の交換が、とりわけ、要求装置を認証するために、要求装置とコンテンツを保有する装置との間で行われる。上述したように、従来技術によるログイン技法には、それに付随するリスクが存在する。本発明は、装置間ですでに信頼が確立されている場合には、そのようなリスクを回避できることを認識している。したがって、本発明は、要求装置がネットワークを介してログインを行う直前に、簡単な方式で資格証明書を、ネットワークを介して要求装置に自動的に配布するための汎用的なフレームワークを提供する。
【0018】
例示的なネットワーク接続環境
コンピュータ・ネットワークの一部として配置できる、または分散コンピューティング環境内に配置できる任意のコンピュータまたはその他のクライアントもしくはサーバ装置の関連において、本発明を実装できることは、当業者であれば理解できよう。この点で、本発明は、本発明による資格証明書のセキュリティ保護された動的な配布に関連して利用できる、任意の数のメモリまたはストレージ・ユニットを有し、また任意の数のストレージ・ユニットまたはボリュームにわたって存在する任意の数のアプリケーションおよびプロセスを有する、任意のコンピュータ・システムまたは環境に関連する。本発明は、リモートまたはローカル・ストレージを有する、ネットワーク環境または分散コンピューティング環境に配置されたサーバ・コンピュータおよびクライアント・コンピュータを有する環境に適用することができる。本発明はまた、リモートまたはローカル・サービスに関連する情報を生成し、受信し、送信するための、プログラミング言語機能、解釈および実行能力を有する、スタンド・アロン・コンピューティング装置にも適用することができる。デジタル・メディア用のネットワーク・ソースがこれまで以上に増加していることから、本発明は特に、ネットワークまたは分散コンピューティング環境で動作するコンピューティング装置に関連し、したがって、本発明による資格証明書のセキュリティ保護された動的な配布を行う技法は、そうした環境で非常に効果的に利用することができる。
【0019】
分散コンピューティングは、コンピューティング装置およびシステムの間で、交換によるコンピュータ・リソースおよびサービスの共用を提供する。これらのリソースおよびサービスには、情報交換、ファイル用のキャッシュ・ストレージおよびディスク・ストレージが含まれる。分散コンピューティングは、ネットワーク接続性(network connectivity)を利用して、クライアントがその集団的な処理能力(collective power)およびストレージを企業全体の利益になるように活用できるようにする。この点で、多様な装置は、本発明により達成できるような、ログイン直前に行われる資格証明書の動的な要求および配送に関連する、アプリケーション、オブジェクト、またはリソースを有することができる。
【0020】
図2Aには、例示的なネットワーク化された、または分散されたコンピューティング環境の概略図が示されている。分散コンピューティング環境は、コンピューティング・オブジェクト(computing object)10a、10bなど、およびコンピューティング・オブジェクトまたは装置110a、110b、110cなどを含む。これらのコンピューティング・オブジェクトは、プログラム、メソッド、データ・ストア、プログラマブル・ロジックなどを含むことができる。コンピューティング・オブジェクトは、PDA、オーディオ/ビデオ装置、MP3プレーヤ、TV、パーソナル・コンピュータなど、同じまたは異なる装置の部分を含むことができる。各コンピューティング・オブジェクトは、通信ネットワーク14を介して、別のコンピューティング・オブジェクトと通信を行うことができる。このネットワーク自体が、図2Aのシステムにサービスを提供するその他のコンピューティング・オブジェクトおよびコンピューティング装置を含むことができ、複数の相互接続されたネットワークを表すことができる。本発明の一態様によれば、各コンピューティング・オブジェクト10a、10bなど、または110a、110b、110cなどは、本発明による処理を要求しまたは利用するため、APIまたはその他のオブジェクトなどのインターフェース、ソフトウェア、ファーム・ウェア、および/またはハードウェアを利用するアプリケーションを含むことができる。
【0021】
110cなどのコンピューティング・オブジェクトが、別のコンピューティング装置10a、10bなど、または110a、110bなどによってホストされ得ることも理解できるであろう。したがって、図示された物理的環境には、コンピュータとして接続された装置が示されているが、そのような図は、単に例示的なものに過ぎず、代替的に、物理的環境は、PDA、テレビ、MP3プレーヤなどの様々なデジタル装置、インターフェース、COMオブジェクトなどのソフトウェア・オブジェクト、またはメディア体験に関連して利用できる任意の装置を含むものとして、図示し、または説明することもできる。
【0022】
分散コンピューティング環境をサポートする、多様なシステム、コンポーネント、およびネットワーク構成が存在する。たとえば、コンピューティング・システムは、ローカル・ネットワークまたは広域分散ネットワークによって、有線または無線システムによって、接続することができる。現在、ネットワークの多くはインターネットに結合され、インターネットは、広域分散コンピューティングの基盤を提供し、多くの異なるネットワークを包含している。どのような基盤も、本発明による資格証明書のセキュリティ保護された動的な配布を起こさせる例示的な通信のために使用することができる。
【0023】
ホームネット・ワーキング環境では、電源線、データ(無線および有線)、音声(例えば、電話)、および娯楽メディアなど、それぞれ固有のプロトコルをサポートすることができる少なくとも4種類の本質的に異なるネットワーク・トランスポート・メディア(network transport media)が存在する。電灯スイッチなどの家庭内制御装置や家電製品の大部分は、接続性を得るために電源線を使用することができる。データ・サービスは、ブロード・バンド(例えば、DSLまたはケーブル・モデム)として、家庭に入り込むことができ、無線(たとえば、HomeRFまたは802.11B)または有線(たとえば、HomePNA、Cat5、イーサネット(登録商標)、さらには電源線)接続性を使用して、家庭内からアクセス可能である。音声トラフィックは、有線(例えば、Cat3)または無線(例えば、セル電話)として、家庭内に入り込むことができ、Cat3対応の有線を用いて、家庭内に配信することができる。娯楽メディアまたはその他のグラフィカル・データは、衛星またはケーブルを介して家庭に入り込むことができ、一般には同軸ケーブルを用いて、家庭内に配信することができる。IEEE1394およびDVIも、メディア装置のクラスタのためのデジタル相互接続である。このようなネットワーク環境とプロトコル規格として出現し得るその他のネットワーク環境はすべて、イントラネットなどのネットワークを形成するため、相互接続することができ、それらは、インターネットによって外部世界と接続される可能性がある。要するに、データの保存および送信のために様々な種類の異なるソースが存在し、その結果、この先、コンピューティング装置は、本発明による資格証明書のセキュリティ保護された動的な配布を行う処理を要求しまたは利用するプログラム・オブジェクトに付随してアクセスされ、または利用されるデータ、などのデータを共用するための方法を必要とする。
【0024】
インターネットとは一般に、コンピュータ・ネットワーキングの技術分野でよく知られているTCP/IPをプロトコルに利用する、ネットワークおよびゲートウェイの集団のことである。TCP/IPは、「Transmission Control Protocol/Internet Protocol(伝送制御プロトコル/インターネット・プロトコル)」の頭字語である。インターネットは、ユーザがネットワークを介して対話し、情報を共有できるようにする、ネット・ワーキング・プロトコルを実行するコンピュータによって相互接続された、地理的に分散したリモート・コンピュータ・ネットワークのシステムとして説明することができる。そのように広域に分散した情報を共有するので、インターネットなどのリモート・ネットワークは、これまでは概ね、専門的な動作またはサービスを実行するためのソフト・ウェア・アプリケーションを開発者が基本的には制約なしに設計できるオープン・システムへと発展してきた。
【0025】
したがって、ネットワーク基盤では、クライアント/サーバ、ピア・ツー・ピア、またはハイブリッド構成など、多くのネットワーク・トポロジが可能である。「クライアント」とは、関係性がない別のクラスまたはグループによるサービスを利用する、クラスまたはグループのメンバのことである。したがって、コンピューティング処理において、クライアントは、別のプログラムによって提供されるサービスを要求するプロセス、すなわち、大まかに言って、1組の命令またはタスクである。クライアント・プロセスは、別のプログラムまたはサービス自体が行う作業の詳細については一切「知る」必要なく、要求したサービスを利用する。クライアント/サーバ・アーキテクチャ、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピュータ、たとえば、サーバによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。図2Aの例では、コンピュータ110a、110bなどは、クライアントと考えることができ、コンピュータ10a、10bなどは、クライアント・コンピュータ110a、110bなどに複製されるデータを保管するサーバ10a、10bなどと考えることができるが、コンピュータはどれも、状況に応じて、クライアント、サーバ、またはその両方と見なすことができる。たとえば、コンピュータ110aは、Media Center Edition(MCE)ホストPCとすることができ、コンピューティング装置10a、10bなどは、リモート・メディア消費装置(remote media consumption device)とすることができる。これらのコンピューティング装置はどれも、または本発明による資格証明書のセキュリティ保護された動的な配布を行う技法に関連するデータを処理すること、あるいは、これらに関連するサービスもしくはタスクを要求すること、ができる。
【0026】
サーバは一般に、インターネットなどのリモート・ネットワークまたはローカル・ネットワークを介してアクセス可能な、リモート・コンピュータ・システムである。クライアント・プロセスは、第1のコンピュータ・システムで動作させることができ、サーバ・プロセスは、第2のコンピュータ・システムで動作させることができ、通信媒体を介して互いに通信を行い、その結果、分散機能を提供し、複数のクライアントがサーバの情報収集能力を利用できるようにする。本発明の技法に従って利用されるソフトウェア・オブジェクトはいずれも、複数のコンピューティング装置またはコンピューティング・オブジェクトにわたって分散させることができる。
【0027】
クライアントおよびサーバは、プロトコル層によって提供される機能を利用して、互いに通信を行う。たとえば、ハイパー・テキスト転送プロトコル(HTTP)は、ワールド・ワイド・ウェブ(WWW)または「ウェブ」と併せて使用される共通プロトコルである。たとえば、リモート・デスクトップ・プロトコル(RDP)は、リモート・コンピューティング用に利用される共通プロトコルである。一般に、インターネット・プロトコル(IP)アドレスなどのコンピュータ・ネットワーク・アドレス、またはユニバーサル・リソー・スロケータ(URL)などのその他のリファレンスは、サーバまたはクライアント・コンピュータを互いに識別するために使用することができる。ネットワーク・アドレスは、URLアドレスと呼ばれることもある。通信は、通信媒体を介して提供することができ、たとえば、クライアントとサーバは、大容量通信用のTCP/IPコネクションを介して互いに結合することができる。
【0028】
したがって、図2Aには、本発明を実施できる、ネットワーク/バスを介してクライアント・コンピュータと通信を行うサーバを有する、例示的なネットワーク接続または分散環境が図示されている。より詳細には、本発明によれば、複数のサーバ10a、10bなどは、LAN、WAN、イントラネット、インターネットなどとすることができる通信ネットワーク/バス14を介して、ポータブル・コンピュータ、ハンドヘルド・コンピュータ、シン・クライアント、ネットワーク接続機器、またはVCR、TV、オーブン、照明、ヒータといったその他の装置などの複数のクライアントまたはリモート・コンピューティング装置110a、110b、110c、110d、110eなどと相互接続される。したがって、本発明は、ストレージ、ユーザ・インターフェース、再生などに関して独自のメディア能力を有するどのようなコンピューティング装置にも適用可能であることが企図されている。
【0029】
通信ネットワーク/バス14がインターネットであるネットワーク環境では、たとえば、サーバ10a、10bなどは、クライアント110a、110b、110c、110d、110eなどが、HTTPなど複数の周知のプロトコルのいずれかを介して通信を行う、ウェブ・サーバとすることができる。分散コンピューティング環境の特徴として、サーバ10a、10bなどは、クライアント110a、110b、110c、110d、110eなどとして機能することもできる。
【0030】
通信は、必要に応じて、有線で行うことも、無線で行うこともできる。クライアント装置110a、110b、110c、110d、110eなどは、通信ネットワーク/バス14を介して通信を行うことも、介さずに行うこともでき、それらに関連付けられた独立の通信を有することができる。たとえば、TVまたはVCRの場合、それらの制御について、ネットワーク化された態様であることも、そうでないこともある。各クライアント・コンピュータ110a、110b、110c、110d、110eなど、およびサーバ・コンピュータ10a、10bなどは、様々なアプリケーション・プログラム・モジュールまたはオブジェクト135を備えることができ、またファイルもしくはデータ・ストリームをそこに保存でき、またはファイルもしくはデータ・ストリームをそこにダウンロード、送信、もしくは移動できる、様々なタイプのストレージ要素またはオブジェクト、に接続またはアクセスすることができる。いずれか1つまたは複数のコンピュータ10a、10b、110a、110bなどは、本発明に従って処理されるデータを保存するためのデータベースまたはメモリ20などの、データベース20またはその他のストレージ要素の保守および更新(maintenance and updating)を担当することができる。したがって、本発明は、コンピュータ・ネットワーク/バス14および(クライアント・コンピュータ110a、110bなどや、その他の同様の装置、およびデータベース20と対話できる)サーバ・コンピュータ10a、10bなどにアクセスし、それらと対話できるクライアント・コンピュータ110a、110bなどを有する、コンピュータ・ネットワーク環境で利用することができる。
【0031】
例示的なコンピューティング装置
図2Bおよび以下の説明は、本発明を実装できる適切なコンピューティング環境についての簡潔で全般的な説明を提供することを意図している。しかし、ハンドヘルド、ポータブル、およびその他のコンピューティング装置、ならびにすべての種類のコンピューティング・オブジェクトが、本発明と関連して使用される対象として、すなわち、コンピューティング環境内でリソースを要求できるあらゆる場所として、またはメディアを体験できるあらゆる場所として、企図されていることを理解されたい。以下では汎用コンピュータを例示的なホストとして説明を進めるが、これは1つの例に過ぎず、本発明は、ネットワーク/バス相互接続性(network/bus interoperability)を有し、対話が可能なシン・クライアントに実装することもできる。したがって、本発明は、非常に僅かなまたは最低限のクライアント・リソースを含むだけの、ネットワークを介してサービスが提供される環境、たとえば、装置内に置かれたオブジェクトなど、クライアント装置がネットワーク/バスとの単なるインターフェースとして機能するだけのネットワーク接続環境、に実装することができる。要するに、そこにデータを保存できる場所、またはそこからデータを取り出すことができる場所、あるいは、別のコンピュータに送信できる場所はどこであれ、本発明による資格証明書のセキュリティ保護された動的な配布を実行するための、望ましい、または適切な環境となる。
【0032】
必ずしも必要なわけではないが、本発明は、装置またはオブジェクト向けのサービスの開発者が使用するために、オペレーティング・システムを介して実装することができ、かつ/または本発明による資格証明書の送付または受領に関連して動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバ、またはその他の装置などの、1つまたは複数のコンピュータで実行される、プログラム・モジュールなどの、コンピュータ実行可能命令の一般的コンテキストにおいて説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わせたり、分散させたりすることができる。さらに、本発明が、その他のコンピュータ・システム構成およびプロトコルを用いて実行できることは、当業者であれば理解されよう。本発明とともに使用するのに適している可能性のあるその他の周知のコンピューティング・システム、環境、および/または構成には、パーソナル・コンピュータ(PC)、現金自動預け払い機(automated teller machines)、サーバ・コンピュータ、ハンドヘルドまたはラップトップ装置、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、プログラム可能な家庭用電化製品、ネットワークPC、電気器具、照明、環境制御要素、ミニ・コンピュータ、メインフレーム・コンピュータなど、が含まれるが、これらに限定されるものではない。本発明は、タスクが通信ネットワーク/バスまたはその他のデータ伝送媒体を介して結合されたリモート処理装置で実行される、分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ装置を含む、ローカル・コンピュータ・ストレージ媒体およびリモート・コンピュータ・ストレージ媒体の両方に配置することができ、クライアント・ノードは、サーバ・ノードとして機能することもできる。
【0033】
したがって、図2Bには、本発明を実装できる適切なコンピューティング・システム環境100の一例が図示されているが、上述のことから明らかなように、コンピューティング・システム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用および機能の範囲に関してどのような限定も示唆するものではない。コンピューティング環境100は、例示的な動作環境100に図示されたコンポーネントの任意の1つまたは組合せに関して、どのような依存性または要件ももたないと解釈すべきである。
【0034】
図2Bを参照すると、本発明を実装するための別の例示的なシステムは、コンピュータ110の形態をとる汎用コンピューティング装置を含む。コンピュータ110のコンポーネントには、プロセッシング・ユニット120、システム・メモリ130、およびシステム・メモリを含む様々なシステム・コンポーネントをプロセッシング・ユニット120に結合するシステム・バス121を含めることができるが、これらに限定されるものではない。システム・バス121は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、複数のタイプのバス構造のうちのいずれかとすることができる。たとえば、こうしたアーキテクチャには、ISA(業界標準アーキテクチャ)バス、MCA(マイクロ・チャネル・アーキテクチャ)バス、EISA(拡張ISA)バス、VESA(ビデオ電子規格協会)ローカル・バス、およびメザニン・バス(Mezzanine bus)としても知られるPCI(周辺コンポーネント相互接続)バスが含まれるが、これらに限定されるものではない。
【0035】
コンピュータ110は一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセス可能な任意の利用可能媒体とすることができ、揮発性および不揮発性媒体、着脱可能および着脱不能媒体を含む。たとえば、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得るが、これらに限定されるものではない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータといった情報を記憶するための任意の方法または技法によって実装される、揮発性および不揮発性媒体、着脱可能および着脱不能媒体を含む。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリ、またはその他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)、またはその他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶、またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに使用でき、コンピュータ110によってアクセス可能なその他の任意の媒体が含まれるが、これらに限定されるものではない。通信媒体は一般に、搬送波やその他の移送機構(transport mechanism)などの変調データ信号中に、コンピュータ可読命令、プログラム・モジュール、またはデータ構造を具現し、任意の情報送達媒体を含む。「変調データ信号」という語は、信号中に情報を符号化できるような方式で設定または変更される1つまたは複数の信号特性をもつ信号を意味する。たとえば、通信媒体には、有線ネットワークまたは直接線接続などの有線媒体、および音響、RF、赤外線、またはその他の無線媒体などの無線媒体が含まれるが、これらに限定されるものではない。上記の媒体の任意の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
【0036】
システム・メモリ130は、ROM(読み取り専用メモリ)131やRAM(ランダム・アクセス・メモリ)132などの、揮発性および/または不揮発性メモリの形態をとるコンピュータ記憶媒体を含む。基本入出力システム(BIOS)133は、起動処理中などにコンピュータ110内の要素間の情報伝送を助ける基本ルーチンを含み、一般にROM131に記憶される。RAM132は一般に、プロセッシング・ユニット120がダイレクトにアクセス可能な、かつ/または現在プロセッシング・ユニット120上で動作している、データおよび/またはプログラム・モジュールを含む。たとえば、図2Bには、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137が示されているが、これらに限定されるものではない。
【0037】
コンピュータ110はまた、その他の着脱可能/着脱不能、揮発性/不揮発性コンピュータ記憶媒体を含む。図2Bには、着脱不能な不揮発性磁気媒体に対して読み書きを行うハードディスク・ドライブ141、着脱可能な不揮発性磁気ディスク152に対して読み書きを行う磁気ディスク・ドライブ151、CD−ROMやその他の光媒体など着脱可能な不揮発性光ディスク156に対して読み書きを行う光ディスク・ドライブ155が、例としてのみ示されている。例示的な動作環境で使用することができるその他の着脱可能/着脱不能、揮発性/不揮発性コンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROMなどが含まれるが、これらに限定されるものではない。ハードディスク・ドライブ141は一般に、インターフェース140などの着脱不能メモリ・インターフェースを介してシステム・バス121に接続され、磁気ディスク・ドライブ151および光ディスク・ドライブ155は一般に、インターフェース150などの着脱可能メモリ・インターフェースを介してシステム・バス121に接続される。
【0038】
上述され、また図2Bに示されたドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ110用のコンピュータ可読命令、データ構造、プログラム・モジュール、およびその他のデータの記憶を可能とする。図2Bには、たとえば、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147を記憶するものとして、ハードディスク・ドライブ141が示されている。これらのコンポーネントは、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137と同じであってもよく、異なっていてもよいことに留意されたい。ここでは、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147には、少なくともそれらが異なるコピーであることを示すために、異なる番号が振られている。ユーザは、キーボード162、一般にマウスと呼ばれるポインティング・デバイス161、トラック・ボール、またはタッチ・パッドなどの入力装置を介して、コマンドおよび情報をコンピュータ110に入力することができる。その他の入力装置(図示せず)には、ジョイスティック、ゲーム・パッド、衛星放送用パラボラ・アンテナ、スキャナなどが含まれ得る。上記およびその他の入力装置はしばしば、システム・バスに結合されたユーザ入力インターフェース160を介してプロセッシング・ユニット120に接続されが、パラレル・ポート、ゲーム・ポート、またはUSB(汎用シリアル・バス)など、その他のインターフェースおよびバス構造によって接続することもできる。ノース・ブリッジなどのグラフィックス・インターフェース182も、システム・バス121に接続することができる。ノース・ブリッジは、CPUまたはホスト・プロセッシング・ユニット120と通信を行うチップセットであり、アクセラレーテッド・グラフィックス・ポート(AGP)との通信を担当する。1つまたは複数のグラフィックス・プロセッシング・ユニット(GPU)184は、グラフィックス・インターフェース182と通信を行うことができる。この点に関して、GPU184は一般に、レジスタ記憶などのオンチップ・メモリ記憶を含み、GPU184は、ビデオ・メモリ186と通信を行う。しかし、GPU184は、コ・プロセッサの単なる一例に過ぎず、したがって、コンピューティング110は、様々なコ・プロセッシング装置を含むことができ、その中には、ピクセル・シェーダおよび頂点シェーダなど、様々な手続き型シェーダが含まれ得る。モニタ191またはその他のタイプのディスプレイ装置も、ビデオ・メモリ186と通信することができるビデオ・インターフェース190などのインターフェースを介してシステム・バス121に接続される。モニタ191の他に、コンピュータは、出力周辺インターフェース195を介して接続できる、スピーカ197やプリンタ196などのその他の周辺出力装置も含むことができる。
【0039】
コンピュータ110は、リモート・コンピュータ180などの1つまたは複数のリモート・コンピュータへの論理コネクションを使用して、ネットワーク接続または分散環境で動作することができる。リモート・コンピュータ180は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、またはその他の共通ネットワーク・ノードとすることができ、一般にコンピュータ110に関連して上述した、多くのまたはすべての要素を含むことができるが、図2Bには、メモリ記憶装置181だけが図示されている。図2Bに示す論理コネクションは、LAN(ローカル・エリア・ネットワーク)171およびWAN(ワイド・エリア・ネットワーク)173を含むが、その他のネットワーク/バスを含むこともできる。こうしたネットワーク環境は、家庭やオフィスで、また企業規模のコンピュータ・ネットワーク、イントラネット、インターネットで一般的である。
【0040】
LANネットワーク環境で使用される場合、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用される場合、コンピュータ110は一般に、インターネットなどのWAN173を介して通信を確立するための、モデム172またはその他の手段を含む。モデム172は、内蔵とも外付けともすることができ、ユーザ入力インターフェース160またはその他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク接続環境では、コンピュータ110との関連で示したプログラム・モジュールまたはその部分は、リモート・メモリ記憶装置に記憶することができる。たとえば、図2Bには、リモート・アプリケーション・プログラム185が、メモリ装置181上に存在するものとして示されているが、それに限定されるものではない。図示のネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立するその他の手段も使用できることは理解されよう。
【0041】
例示的な装置
図2Cおよび以下の説明は、本発明による資格証明書のセキュリティ保護された動的な配布を利用することに関して、コンテンツを提供できる装置またはコンテンツへのアクセスを要求できる装置にとっての適切なコンピューティング環境について、簡潔で全般的な説明を提供することを意図している。しかし、ハンドヘルド、ポータブル、およびその他のコンピューティング装置、ならびにすべての種類のコンピューティング・オブジェクトが、本発明と関連して使用される対象として、すなわち、装置がメディア体験の配給を提供したいと望み得るあらゆる場所として、または装置がその装置のためにメディア体験の配給を要求したいと望み得るあらゆる場所として、企図されていることを理解されたい。これらの装置のメディア機能に関する差異は、要求コンピューティング装置の資格証明書を理解することによって、リモート・メディア体験を異なるリモート装置に合わせるために、重要な利点を有する本発明を利用する。
【0042】
必ずしも必要なわけではないが、本発明は、装置またはオブジェクト向けのサービスの開発者が使用するために、オペレーティング・システムを介して部分的に実装することができ、かつ/または本発明のコンポーネントに関連して動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバ、またはその他の装置など、1つまたは複数のコンピュータで実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて説明することができる。本発明が、その他のコンピュータ・システム構成およびプロトコルを用いて実行できることは、当業者であれば理解されよう。
【0043】
したがって、図2Cには、本発明を実装できる適切なコンピューティング・システム環境100aの一例が図示されているが、上述のことから明らかなように、コンピューティング・システム環境100および100aは、本発明による資格証明書の配布のための、適切なコンピューティング環境の2つの例に過ぎず、本発明の使用および機能の範囲に関してどのような限定も示唆するものではない。コンピューティング環境100または100aは、例示的な動作環境100または100aに図示されたコンポーネントの任意の1つまたは組合せに関して、どのような依存性または要件ももたないと解釈すべきである。
【0044】
図2Cを参照すると、本発明を実装するための第2の例示的な装置は、コンピュータ110aの形態をとる汎用コンピューティング装置を含む。コンピュータ110aのコンポーネントには、プロセッシング・ユニット120a、システム・メモリ130a、およびシステム・メモリを含む様々なシステム・コンポーネントをプロセッシング・ユニット120aに結合するシステム・バス121aを含めることができるが、これらに限定されるものではない。システム・バス121aは、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、複数のタイプのバス構造のうちのいずれかとすることができる。
【0045】
コンピュータ110aは一般に、様々なコンピュータ可読媒体を含む。上述したように、コンピュータ可読媒体は、コンピュータ110aによってアクセス可能な任意の利用可能媒体とすることができる。システム・メモリ130aは、ROM(読み取り専用メモリ)および/またはRAM(ランダム・アクセス・メモリ)などの、揮発性および/または不揮発性メモリの形態をとるコンピュータ記憶媒体を含む。基本入出力システム(BIOS)は、起動処理中などにコンピュータ110a内の要素間の情報伝送を助ける基本ルーチンを含み、メモリ130aに記憶される。メモリ130aは一般に、プロセッシング・ユニット120aが、ダイレクトにアクセス可能な、かつ/または現在、プロセッシング・ユニット上で動作している、データおよび/またはプログラム・モジュールも含む。たとえば、メモリ130aは、オペレーティング・システム、アプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データを含むこともできるが、これらに限定されるものではない。
【0046】
コンピュータ110aはまた、その他の着脱可能/着脱不能、揮発性/不揮発性コンピュータ記憶媒体を含み、それらは、インターフェースなどの着脱不能メモリ・インターフェースを介してシステム・バス121aに接続することができ、また磁気ディスク・ドライブおよび光ディスク・ドライブは一般に、インターフェースなどの着脱可能メモリ・インターフェースを介してシステム・バス121aに接続される。
【0047】
ユーザは、様々な入力装置を介して、コマンドおよび情報をコンピュータ110aに入力することができる。グラフィックス・サブ・システムを、システム・バス121aに接続することもできる。モニタまたはその他のタイプのディスプレイ装置も、ビデオ・メモリと通信を行うことができる出力インターフェース150aなどのインターフェースを介して、システム・バス121aに接続される。モニタの他に、コンピュータは、出力インターフェース150aを介して接続できるスピーカやプリンタなどのその他の周辺出力装置も含むことができる。
【0048】
コンピュータ110aは、装置110aとは異なるメディア機能を備えることができるリモート・コンピュータ170aなど、1つまたは複数のリモート・コンピュータへの論理コネクションを使用して、ネットワーク接続または分散環境で動作することができる。リモート・コンピュータ170aは、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置もしくはその他の共通ネットワーク・ノード、またはその他の任意のリモート・メディア消費もしくは送信装置とすることができ、一般にコンピュータ110aに関連して上述した、多くのまたはすべての要素を含むことができる。図2Cに示す論理コネクションは、LAN(ローカル・エリア・ネットワーク)およびWAN(ワイド・エリア・ネットワーク)などのネットワーク171aを含むが、その他のネットワーク/バスを含むこともできる。こうしたネットワーク環境は、家庭やオフィスで、また企業規模のコンピュータ・ネットワーク、イントラネット、インターネットで一般的である。
【0049】
したがって、上述した汎用コンピュータは1つの例に過ぎず、本発明は、ネットワーク/バス相互接続性を有し対話が可能な任意のクライアントを用いて実装することができる。したがって、本発明は、非常に僅かなまたは最低限のクライアント・リソースを含むだけの、ネットワークを介してサービスが提供される環境、たとえば、装置内に置かれたオブジェクトなど、クライアント装置がネットワーク/バスとの単なるインターフェースとして機能するだけのネットワーク接続環境で実装することができる。要するに、そこにデータを保存できる場所、またはそこからデータを取り出す場所、別のコンピュータに送信できる場所はどこであれ、本発明による技法を実行するための望ましいまたは適切な環境となる。
【0050】
例示的な分散コンピューティング・フレームワークまたは構成
パーソナル・コンピューティングとインターネットとの融合(統合)(convergence)を考慮して、様々な分散コンピューティング・フレームワークが、これまで開発され、今も開発されている。個人ユーザにもビジネス・ユーザにも、アプリケーションおよびコンピューティング装置用の、シームレスで同じように操作ができるウェブ対応のインターフェースが提供されており、コンピューティング活動(computing activities)は、ウェブ・ブラウザまたはネットワーク志向の度合いをますます強めている。
【0051】
たとえば、MICROSOFT(登録商標)のマネージドコード(managed code)プラットフォーム、すなわち.NETは、サーバ、ウェブベースのデータ・ストレージなどのビルディング・ブロック・サービス(building-block service)、およびダウンロード可能な装置ソフトウェアを含む。一般的に言って、.NETプラットフォームは、(1)システム内のすべてのコンピューティング装置を協働させるとともに、すべての装置でユーザ情報を自動的に更新し、同期させる能力、(2)HTMLの代わりにXMLを積極的に使用することによって可能となった、ウェブ・ページ用の強化された対話機能、(3)カスタマイズされたアクセス、ならびにeメールなどの様々なアプリケーションまたはOffice.NETなどのソフトウェアの管理のための中央開始ポイント(central starting point)からユーザへの製品およびサービスのカスタマイズされた配給を特色とするオンライン・サービス、(4)情報へのアクセスの効率性および容易性、ならびにユーザおよび装置の間での情報の同期を向上させる集中データ・ストレージ、(5)eメール、ファックス、電話など、様々な通信媒体を統合する能力、(6)生産性が向上し、プログラミング・エラーが減少するように、開発者のために再使用可能なモジュールを作成する能力、および(7)その他の多くのクロス・プラットフォームおよび言語統合機能、を提供する。
【0052】
いくつかの例示的な実施形態は、コンピューティング装置上に存在するソフトウェアとの関連で説明されるが、本発明の方法が、.NETコードなどのマネージ・コードが可能にするすべての言語およびサービスに含まれ、サポートされ、またはそれらを介してアクセスされ得るように、またその他の分散コンピューティング・フレームワークにおいても同様であるように、本発明の1つまたは複数の部分は、オペレーティング・システム、アプリケーション・プログラミング・インターフェース(API)または「仲介者(middle man)」オブジェクト、コントロール・オブジェクト、ハードウェア、ファーム・ウェア、中間言語命令またはオブジェクトなど、を介して実装することもできる。
【0053】
自動ログインに先立つ資格証明書のセキュリティ保護された動的な配布
上述したように、本発明は、ホスト・コンピュータのコンテンツ、リソース、および/またはサービスにアクセスするためのログオンが行われる前、たとえば、要求側装置とホスト・コンピュータの間のセッションを開始する時に、ログオンまたはアクセスしたいと望まれているホスト・コンピュータによって、ログオン資格証明書を要求側装置にネットワークを介して自動的に、配布するためのシステムおよび方法を提供する。
【0054】
したがって、本発明は、ホスト・マシンが、セキュリティ保護された方法でクライアント資格証明書を制御することを可能にする。有利には、ホストは、クライアントの関与を必要とせずに、資格証明書を周期的に循環させて、セキュリティを向上させることができる。さらに、本発明によれば、クライアントは、何らかの意味のある時間(for any significant period of time)にわたって資格証明書を保持(hold)する必要がなく、資格証明書の保有に関連するセキュリティ機構およびストレージ機構を含む必要がない。
【0055】
図3Aには、本発明の例示的な実施形態が図示されており、本発明によるログイン直前の、資格証明書のセキュリティ保護された動的な配布について概略が示されている。ステップAに示すように、ホスト装置などの第1の装置C1は、装置間の事前交換によって、クライアント装置などの第2の装置からの通信を信頼する。すなわち、ステップAにおいて、装置間で信頼が確立される。信頼を確立する例示的な一方法は、ユーザに関連するバイオメトリック情報(biometric information)を入力して、両装置でそれを共有するようにすることである。信頼を確立する例示的な別の方法は、ユーザに信頼コード(trust code)を一方の装置に入力させ、それを他方の装置で受信して、共有の秘密(shared secret)を確立することを含む。同様に、ユーザは、たとえば、メモリ・スティックまたはUSBメモリ装置など、同じハードウェア・コンポーネントを両装置に挿入または入力し、認証プロセスに基づいて装置間で信頼を確立することができる。信頼を確立する例示的なまた別の方法は、第2の装置C2と第1の装置C1の間の「セットアップ」プロセス、すなわち、(i)第2の装置C2が所有する公開鍵を第1の装置C1に保存させることによって、(ii)第1の装置C1が、第2の装置C2から取得した公開鍵が本当に第2の装置C2からのものであり、第1の装置C1によって配布されるログオン資格証明書を横取りしようとしている「rogue(違法)」装置からのものではないことを、保証するプロセスを含むことができる。公開鍵のこの信頼された交換(trusted exchange)は、当業者に周知の多くの異なる方法で行うことができる。たとえば、 年 月 日に出願された「オフ・ネットワーク入力コードを用いるコンテンツの信頼されたネットワーク転送(Trusted Network Transfer of Content Using Off Network Input Code)」と題する、同一出願人による同時係属中の米国出願第XX/YYY,ZZZ号(‘ZZZ出願)には、簡単なユーザ入力コードを用いて、公開鍵などのコンテンツを第1のコンピューティング装置から第2のコンピューティング装置へ転送することによって、装置間で信頼された通信を確立するためのシステムおよび方法が記載されている。‘ZZZは、様々な実施形態において、ネットワーク・コンテンツ交換の帯域外で入力される簡単なコードを用いて、ネットワーク内の1つのコンピューティング装置から別のコンピューティング装置に、暗号鍵情報などのコンテンツを信頼された方式で送受信できるようにするシステムを教示する。
【0056】
第1の装置C1と第2の装置C2が信頼を確立した後しばらくして、ステップBにおいて、第2の装置C2が、第1の装置C1のリソースを求める、認証交換を含んだ要求を発行する。本発明によれば、第1の装置C1は、第2の装置C2からの信頼された公開鍵を有しているので、ステップCに示すように、第1の装置C1は、自動的にログオン資格証明書を生成し、ステップDで資格証明書をセキュリティ保護して配布するため、その資格証明書を前述の公開鍵を用いて暗号化する。
【0057】
第2の装置C2は、資格証明書を受信すると、ステップEにおいて、対応する秘密鍵(private key)を用いて資格証明書を復号する。やはりステップEにおいて、ログオン・オブジェクトが、資格証明書を保存することなく、資格証明書を含んだ第1の装置C1へのログオン要求を自動的に生成し、ログオン要求用の関連する認証プロトコルに従って適切に(たとえば、共用公開鍵によって)再暗号化する。ログオン要求は、第2の装置C2に保存されることなく、ステップFにおいて、第2の装置C2から第1の装置C1に送信される。本発明の一実施形態では、補足的な保護のため、ログオン・オブジェクトは、その動作に関連して、保護メモリ空間(protected memory space)を利用する。ステップGにおいて、ログオンは成功し、ステップBでの要求に基づくプライベート通信を、確立されたアクセス・レベルおよび許可に従って、第1の装置C1と第2の装置C2の間で開始することができる。
【0058】
本発明によれば、(ログオン資格証明書に関連して送信されるその他の情報とともに)第1の装置C1からの暗号化された資格証明書は、第1の装置C1に無防備のまま保存することができ、またはそれを復号できるのは第2の装置C2だけなので、ネットワーク上に自由に分散させることもできることに留意されたい。したがって、その後、第2の装置C2が、第1の装置C1にログオンしたいと望むたびに、ログオン要求を表明するネットワークメッセージを送信すると、第1の装置C1は、暗号化された資格証明書によって応答する。第2の装置C2は、自らの秘密鍵を用いて資格証明書を復号し、直ちにその資格証明書を用いて、第1の装置C1にログオンする。有利には、資格証明書は、後で任意の時に、第1の装置C1によって再生成され、第2の装置C2からの公開鍵を用いて再暗号化することができる。したがって、第2の装置C2は、次回にログインを試みた時には、動的に新しい資格証明書を取得し、それを用いてログインする。
【0059】
図3Bには、上述したプロセスを実装する、第1のコンピューティング装置C1と第2のコンピューティング装置C2の間の通信が例示的なシステムが図示されている。300において、第1の装置C1は、‘ZZZ出願の方法による第2の装置C2の信頼性(trustworthiness)を確立する方式で、第2の装置C2から公開鍵を受信する。信頼が確立された後しばらくして、310において、(第2の装置C2からの要求などの)事前定義されたイベントに応答して、第1の装置C1は、動的にログオン資格証明書を生成し、320において、第2の装置C2の公開鍵を用いて資格証明書を暗号化する。330において、暗号化された資格証明書は、ネットワーク上を第2の装置C2に送信される。第2の装置C2は、340において、資格証明書を復号し、350において、適切なログオン・プロトコルに従ってログオン要求を発行すると同時に、資格証明書を消去する。第1の装置C1は、370において、資格証明書を復号し、380において、ログオン要求を処理して、資格証明書の有効性を判定する。資格証明書が有効な場合、390において、セキュリティ保護されたログオンが成功する。資格証明書が無効な場合、ログオンは成功しないので、フローは385において失敗する(fail:機能しなくなる)。
【0060】
図4Aおよび図4Bには、クライアント装置がホスト装置とのセッションを開始したいと望んでいる場面において、本発明によるネットワークを介する資格証明書のセキュリティ保護された動的な配布の一実施形態に関連して、実行される処理を表した例示的かつ非限定的なフローチャートと、および、この実施形態に関連して、従うことのできるプロトコルが示されている。したがって、ホストとクライアントの間で信頼が確立されている場合、本発明は、セッション確立の手順に適用することができる。
【0061】
簡単な定義を行うと、セッションとは、ユーザ・アカウントをそのアカウントに関連する資格証明書を用いてマシンにログインさせた時に、オペレーティング・システム内に生成される環境のことである。ユーザがログインすると、セッションが生成され、ユーザがログアウトすると、セッションは終了させられる。一たびログインがなされると、手動によるログオフまたはOSによる強制的ログオフが行われるまで、ユーザ・アカウントのセッションは、持続し続ける。本発明の一実施形態では、第2の装置によって信頼された第1の装置が1組の資格証明書を用いて第2の装置にログオンしたいと望む場合の手順において、本発明は、セッションを開始するのに用いる1組の資格証明書を動的に生成し、それを第1の装置にセキュリティ保護して配布する、しかし、この場合、資格証明書が、要求側装置に保存されたり、または要求側装置上で公開されたりすることはない。
【0062】
図4Aおよび図4B内の、楕円の破線で囲まれ、対応する類似の番号が付された、いくつかの部分が、図3Aのブロック図の非限定的な実施形態であることは理解できよう(たとえば、図3AにおけるステップBへの参照は、図4A〜4Bでは参照符号BBになり、図3AにおけるステップDへの参照は、図4A〜4Bでは参照符号DDになるなど)。したがって、ステップBにおける要求は、ホスト(図4B)とのセッションを開始するため、クライアント(図4A)によってRDPInitRQがコールされるエリアBBに対応する。図4Bにおいて、ステップCは、ホスト装置によるログオン資格証明書の動的な生成に関連する通信および処理と、それに対応する暗号化のためのクライアントの公開鍵の使用と、を示すエリアCCに対応する。ステップDは、ログオン要求がクライアントの公開鍵を用いた暗号化によるセキュリティ保護された方式でホストからクライアントに送信され(図4B)、クライアントによって受信される(図4AのエリアDD)エリアDDに概略的に示されている。図4AのエリアEEで示されるように、資格証明書が受信され、復号された直後に、ホスト装置とのセッションの確立に関連して、クライアントは、エリアFFに関連する処理を介し、復号化された資格証明書を用いてホストにログオンする。ここで、資格証明書を用いた自動ログオンが成功した場合、エリアGGの処理によって概略的に示されるように、アクティブ・セッションが開始される。
【0063】
しかし、図4Aおよび図4Bは、特定の処理、特定のインターフェース、および特定のプロトコルの見地からの、装置間で起こり得る例示的な通信についての一実装形態を図示したものに過ぎないことは明らかであり、本発明が、その他の様々な処理、プロトコル、インターフェースなどを用いても実装できることは強調されるべきである。たとえば、多くのアルゴリズムが無限の数の数学的形状および形式を仮定できること、またソフトウェアの視点から鍵を考察することは、アルゴリズムが任意の明示的または暗黙的形式で望ましい関数を実行することであることは理解できよう。さらに、データ構造も多くの形式を仮定することができ、したがって、たとえば、タイプ、名前、クラスなどは、多様な方法で定義することができる。以下に示す表1には、たとえば、図4Aおよび図4Bで参照される変数について、いくつかの例示的な実装選択例が示されている、がしかし、本明細書の説明とよく調和している。これらの実装の詳細は、本発明を限定することを意図するものではない。
【0064】
【表1】

【0065】
したがって、図4Aおよび図4Bには、本発明の例示的かつ非限定的な実施形態が図示されており、本発明は特許請求の範囲を基準として確定されるべきことは明らかであろう。
【0066】
本発明を実装する複数の方法、たとえば、アプリケーションおよびサービスが本発明による資格証明書のセキュリティ保護された動的な配布を行えるようにする、たとえば、適切なAPI、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、およびスタンド・アロンまたはダウンロード可能ソフトウェア・オブジェクトなど、が存在する。本発明は、API(またはその他のソフトウェア・オブジェクト)の視点から、および本発明の機構を介して資格証明書を生成し、処理し、受信し、または送信するソフトウェアまたはハードウェアから、本発明を使用することを企図している。したがって、本明細書で説明する本発明の様々な実装形態は、全部をハードウェアで、一部をハードウェアおよび一部をソフトウェアで、および全部をソフトウェアで実施する態様を有することができる。
【0067】
上述したように、本発明の例示的な実施形態を、様々なコンピューティング装置およびネットワーク構成との関連で説明してきたが、基礎となる概念は、ログイン直前に資格証明書をセキュリティ保護して自動的に配布するのが望ましい、任意のコンピューティング装置またはシステムに適用することができる。たとえば、本発明のアルゴリズムおよびハードウェアの実装は、装置上の別々のオブジェクトとして、別のオブジェクトの一部として、再使用可能コントロールとして、サーバからダウンロード可能なオブジェクトとして、装置またはオブジェクトとネットワークとの間の「仲介者(middle man)」として、分散オブジェクトとして、ハードウェアとして、上記の任意の組合せなどとして、メモリ内に提供される、コンピューティング装置のオペレーティング・システムに適用することができる。本明細書において、例示的なプログラミング言語、名前、および例は、様々な選択肢のうちの代表例として選ばれているが、これらの言語、名前、および例は、本発明の限定を意図するものではない。本発明の様々な実施形態によって達成されるのと同じ、類似、または等価の機能を達成する、オブジェクトコードおよび命名(nomenclature)を提供する数多くの方法が存在することは、当業者であれば理解されよう。
【0068】
上述したように、本明細書で説明する様々な技法は、ハードウェアまたはソフトウェア、または必要に応じて、両方の組合せと関連をもたせて、実装することができる。したがって、本発明の方法および装置、またはそれらのある態様(aspect)もしくは部分(portion)は、フロッピー(登録商標)ディスク、CD−ROM、ハード・ドライブ、またはその他の任意のマシン可読媒体などの有形な媒体中に具体化されるプログラム・コード(すなわち、命令)の形態をとることができ、プログラム・コードが、コンピュータなどのマシンにロードされ、マシンによって実行された場合、マシンは本発明を実施するための装置となる。プログラム可能コンピュータでプログラム・コードを実行する場合、一般にコンピューティング装置は、プロセッサ、プロセッサによって可読なストレージ媒体(揮発性および不揮発性メモリ、および/またはストレージ要素を含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。本発明の資格証明書配布機構を、たとえば、データ処理APIや再使用可能コントロールなどを使用して実装でき、または利用できる、1つまたは複数のプログラムは、コンピュータ・システムと通信を行うため、好ましくは、高水準の手続き型またはオブジェクト指向プログラミング言語で実装されることが可能である。しかし、プログラムは、必要に応じて、アセンブリ言語またはマシン語で実装することもできる。いずれの場合でも、その言語はコンパイル型またはインタプリタ型の言語とすることができ、ハードウェア実装と組み合わせることができる。
【0069】
本発明の方法および装置はまた、電気的配線もしくはケーブル、光ファイバ、またはその他の任意の伝送形態など、何らかの伝送媒体上を伝送されるプログラム・コードの形態で実施される、通信を介して実行することができ、プログラム・コードが、EPROM、ゲート・アレイ、プログラム可能論理回路(PLD)、クライアント・コンピュータなどのマシンによって受信され、ロードされ、そして実行された場合、マシンは本発明を実施するための装置となる。汎用プロセッサに実装される場合、プログラム・コードは、プロセッサと組み合わされて、本発明の機能を呼び出すために動作する固有の装置を提供する。さらに、本発明との関連で使用されるストレージ技法はどれも、常にハードウェアとソフトウェアの組合せとすることができる。
【0070】
様々な図の好ましい実施形態との関連で本発明を説明してきたが、本発明から逸脱することなく本発明と同じ機能を実行するため、その他の類似の実施形態が使用できること、または本明細書で説明した実施形態に変更および追加を施し得ること、が理解されよう。たとえば、本発明の例示的なネットワーク環境は、ピア・ツー・ピアまたは分散ネットワーク環境など、ネットワーク接続環境のコンテキストにおいて説明されたが、本発明がそれに限定されるものではないこと、およびこの方法は、本出願で説明されたように、ゲーム・コンソール、ハンドヘルド・コンピュータ、ポータブル・コンピュータなど、任意のコンピューティング装置または環境に適用できること、有線によるにしろ無線によるにしろ、通信ネットワークを介して接続され、ネットワークを介して対話する任意の数のそのようなコンピューティング装置に適用できることは、当業者であれば理解されよう。さらに、とりわけ無線ネットワーク接続装置の数が増加し続けているので、ハンドヘルド装置用オペレーティング・システム、およびその他の特定用途向けオペレーティング・システムを含む、多様なコンピュータ・プラットフォームが企図されていることも強調しておくべきであろう。
【0071】
例示的な実施形態では、特定のプロトコルおよび通信のコンテキストで本発明の利用を言及しているが、本発明は、それらに限定されるものではなく、本発明による資格証明書のセキュリティ保護された動的な配布を提供するため、むしろ任意のプロトコルを実装することができる。さらに、本発明は、複数の処理チップまたは装置に、またはそれらにわたって、実装することができ、ストレージも同様に、複数の装置にわたって達成することができる。したがって、本発明は、どの1つの実施形態にも限定されることはなく、むしろ特許請求の範囲の広がりおよび範囲において解釈されるべきものである。
【符号の説明】
【0072】
10a サーバ・オブジェクト
10b サーバ・オブジェクト
14 通信ネットワーク/バス
20 データベース
110a コンピューティング装置
110b コンピューティング装置
110c オブジェクト
110d オブジェクト
110e コンピューティング装置
100 コンピューティング環境
120 プロセッシング・ユニット
121 システム・バス
130 システム・メモリ
131 (ROM)
132 (RAM)
133 BIOS
134 オペレーティング・システム
135 アプリケーション・プログラム
136 その他のプログラム・モジュール
137 プログラム・データ
140 着脱不能不揮発性メモリ・インターフェース
144 オペレーティング・システム
145 アプリケーション・プログラム
146 その他のプログラム・モジュール
147 プログラム・データ
150 着脱可能不揮発性メモリ・インターフェース
160 ユーザ入力インターフェース
161 ポインティング・デバイス
162 キーボード
170 ネットワーク・インターフェース
171 ローカル・エリア・ネットワーク
172 モデム
173 ワイド・エリア・ネットワーク
180 リモート・コンピュータ
182 グラフィックス・インターフェース
184 GPU
186 ビデオ・メモリ
185 リモート・アプリケーション・プログラム
190 ビデオ・インターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
100a コンピューティング環境
120a プロセッシング・ユニット
121a システム・バス
130a システム・メモリ
140a 入力
150a 出力、たとえば、ディスプレイ
160a ネットワーク・インターフェース
170a リモート・コンピュータ

【特許請求の範囲】
【請求項1】
ネットワークを介して要求側に配布するそれ自身のログオン資格証明書を生成するマシンであって、
前記要求側からの前記マシンの少なくとも1つのリソースへのアクセス要求を処理するための安全で動的なログオン資格証明コンポーネントであって、前記マシンの少なくとも1つのリソースへのアクセス要求に応答して、前記要求側から受領した秘密に基づいて、前記マシンへのログオンに関連して使用される少なくとも1つのログオン資格証明書を生成して前記秘密に基づいて暗号化し、前記マシンへの自動ログオンに使用するための前記暗号化された少なくとも1つのログオン資格証明書を前記要求側に前記ネットワークを介して送信する、安全で動的なログオン資格証明コンポーネントと、
前記暗号化された少なくとも1つのログオン資格証明書を保存する第2のコンポーネントと、
前記少なくとも1つのログオン資格証明書を含む暗号化されたログオン要求を前記要求側から受信し、前記暗号化されたログオン要求を復号し、前記ログオン要求に含まれる前記少なくとも1つのログオン資格証明書が有効である場合、前記ログオン要求を受け入れる第3のコンポーネントと
を備えることを特徴とするマシン。
【請求項2】
前記秘密は、前記要求側の公開鍵であることを特徴とする請求項1に記載のマシン。
【請求項3】
前記少なくとも1つのログオン資格証明書を循環させるため、前記安全で動的なログオン資格証明コンポーネントは、新しい少なくとも1つのログオン資格証明書を生成し、暗号化し、前記要求側に送信することを特徴とする請求項1に記載のマシン。
【請求項4】
前記第3のコンポーネントは、前記要求側にログイン成功の肯定応答を送信することを特徴とする請求項1に記載のマシン。
【請求項5】
第2の装置から第1の装置にネットワークを介してログオン資格証明書を自動的に配布するためのコンピュータ実行可能命令を備えるコンピュータ可読記録媒体であって、前記コンピュータ実行可能命令は、
前記第2の装置が、前記第1の装置から秘密を取得するステップと、
前記第2の装置が、前記第2の装置の少なくとも1つのリソースへのアクセス要求を前記1の装置から前記ネットワークを介して受信するステップと、
前記第1の装置から受信した要求に応答して、前記第2の装置が、前記第2の装置にログオンするための少なくとも1つのログオン資格証明書を生成するステップと、
前記第2の装置が、前記少なくとも1つのログオン資格証明書を前記秘密に基づいて暗号化するステップと、
前記第2の装置への自動ログオンに使用するため、前記第2の装置が、前記暗号化された少なくとも1つのログオン資格証明書を前記第1の装置に前記ネットワークを介して送信するステップと、
前記第2の装置が、前記暗号化された少なくとも1つのログオン資格証明書を保存するステップと、
前記第2の装置が、前記少なくとも1つのログオン資格証明書を含む暗号化されたログオン要求を前記第1の装置から受信するステップと、
前記第2の装置が、前記暗号化されたログオン要求を復号するステップと、
前記第2の装置が、前記ログオン要求に含まれる前記少なくとも1つのログオン資格証明書の有効性を判定するステップと、
前記ログオン要求に含まれる前記少なくとも1つのログオン資格証明書が有効であると判定される場合、前記第2の装置が前記ログオン要求を受け入れるステップと
を実行させることを特徴とするコンピュータ可読記録媒体。
【請求項6】
前記秘密は、前記第1の装置の公開鍵であることを特徴とする請求項5に記載のコンピュータ可読記録媒体。
【請求項7】
前記少なくとも1つのログオン資格証明書を循環させるため、前記生成するステップと、暗号化するステップと、前記送信するステップとが周期的に実行されることを特徴とする請求項5に記載のコンピュータ可読記録媒体。
【請求項8】
前記コンピュータ実行可能命令は、前記第1の装置にログイン成功の肯定応答を送信するステップをさらに含むことを特徴とする請求項5に記載のコンピュータ可読記録媒体。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公開番号】特開2012−79342(P2012−79342A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2012−1164(P2012−1164)
【出願日】平成24年1月6日(2012.1.6)
【分割の表示】特願2004−329654(P2004−329654)の分割
【原出願日】平成16年11月12日(2004.11.12)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】