説明

アクセス管理システム等におけるリソース等にアクセスする権限の委任

【課題】第1の組織のリソースが、そのリソースへのアクセスを第2の組織の要求者に提供する方法を提供すること。
【解決手段】第1の組織の第1の管理者は、第1の信用情報を第2の組織の第2の管理者に発行する。この第1の信用情報には、第2の管理者が第1の管理者に代わって第2の信用情報を要求者に発行することができるというポリシーが含まれる。第2の管理者は、発行された第1の信用情報を含む第2の信用情報を要求者に発行する。要求者はリソースへのアクセスを要求し、その要求に発行された第1および第2の信用情報を含める。リソースは、発行された第1の信用情報が第1の管理者を第2の管理者に結びつけ、発行された第2の信用情報が第2の管理者を要求者に結びつけるものであることを検証する。したがってリソースは、要求が、第1の管理者から第2の管理者を経由して要求者に委任された権限に基づくものであることを確認することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルコンテンツあるいはデジタルサービスなどのリソースへのアクセスが、例えばデジタルライセンスまたは証明書の形で表すことができる対応するアクセス許可のみに従って提供されるアクセス管理システムに関する。より詳細には、本発明はアクセス許可の委任に関する詳細な事前の知識がなくてもリソースへのアクセスが許可されるような方法で、そのリソースにアクセスする権限を委任することに関する。
【背景技術】
【0002】
アクセス管理は、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディア等を含むことができるデジタルサービスまたはデジタルコンテンツなどのデジタルリソースへのアクセスを許可することに関して非常に望ましいものである。リソースは、ユーザがアクセスしたいと望む情報を含む前述のコンテンツ等、コンテンツ等のライブラリを含むサーバ等、または他の任意のデジタルリポジトリなどのことがあり、例えば電子メールサーバ、ゲームサーバ、ネットワークアクセスサーバもしくはアクセスポイントなどのことがある。さらにリソースは、プリンタ、コンパイラ、レンダラなどのサービスのこともある。
【0003】
一般に、アクセス管理の環境では、要求者がその要求者を識別する信用情報が含まれた要求を提示したときに、その要求者にリソースへのアクセスが許可される。例えば信用情報には、要求者に発行されその要求者を識別するためのデジタル証明書を含めることができる。いずれにしても、信用情報は一般に、リソースに認識されかつリソースによって信頼されている発行者によって発行される。例えば、ある組織の環境の中では、リソースとはデータサーバによって管理されたデータファイルであることがあり、発行者とは組織の各メンバーに識別のための信用情報を提供するように管理者によって設定された識別サーバのことがある。
【0004】
信用情報およびおそらくは他の情報に基づいて、要求されたリソースにアクセスする資格を要求者が実際に有していることが示された場合には、リソースは要求されたアクセスを提供する。例えば、要求がリソースのデータファイルである場合には、リソースはそのデータファイルを提供し、要求がリソースで使用できる情報を調査することである場合には、リソースは要求者が実際にその様な情報を調査することを可能にする。
【0005】
特に、少なくともいくつかの実例では、リソースはデータを要求者に提供している。その場合リソースは、要求者は解読することができるが、他の人々は解読できない形式に従ってデータを暗号化することを選択することができる。例えば、要求者によって提示される信用情報は、要求者に関する公開鍵を含むデジタル証明書のことがあり、その場合リソースは、提示された信用情報の公開鍵に従って提供するデータを暗号化する。したがって、要求者はデジタル証明書に関連する対応する秘密鍵を暗号化されたデータに適用してそのデータを復号することができる。
【0006】
特にまた、リソースは要求者が従わなければならない条件を暗号化されたデータに添付することを選択することもできる。その場合には、ここでも要求者の提示した信用情報がその要求者に関する公開鍵を含むデジタル証明書であると想定すると、リソースは、提供するデータを選択された対称鍵に従って暗号化し、その対称鍵を提示された信用情報の公開鍵に従って暗号化し、さらに暗号化された対称鍵と条件をデジタルライセンスに含めることができる。したがって要求者は、当然のことながらライセンスの条件がそのことを許可していると想定してのことであるが、デジタル証明書に関連する対応する秘密鍵をライセンスの暗号化された対称鍵に適用してその対称鍵を復号し、次いで解読された対称鍵を暗号化されたデータに適用してそのデータを復号することができる。
【0007】
一般にリソースは、要求者または少なくともその要求者の信用情報を提供する管理者についての事前の知識を持っていることが想定されており、従ってその事前の知識に基づいて要求者にアクセスを提供する。例えばリソースは、そのリソースにとって既知である特定の組の要求者にだけアクセスを許可するか、またはそのリソースにとって既知である特定の管理者からの信用情報を提供する要求者だけにアクセスを提供するというルールに従うことができる。要求者がこの様なグループに属していない場合には、このルールに従って、リソースはその要求者にはアクセスを提供しない。
【0008】
しかし、リソースにとって未知の要求者であるか、またはリソースが従うべきルール、すなわち特定の組の要求者であるかもしくは特定の管理者からの信用情報を有している要求者であることというルールの範囲外の要求者であっても、その要求者にアクセスを提供しなければならない状況が存在する。例えば、組織ABC内部のリソースは、各従業員がABCの管理者からの適切な信用情報を所有していることが示されるABCのすべての従業員にアクセスを提供するというアクセスルールに従うように設定することができる。それでもやはり、ABCがXYZの契約者を雇用し、そのXYZの契約者もまたリソースにアクセスしなければならないことがある。
【0009】
このような場合、従来技術では、このようなXYZの各契約者にABCの管理者からABCの信用情報を与えることによって、XYZの契約者にABCのリソースへのアクセスを提供することが可能である。しかし、特に、このようなABC信用情報によって、XYZの契約者をABCの従業員と同様に扱う効果を持たせることになる場合や、XYZの契約者が他のABCのリソースに不正にアクセスすることが可能になる場合には、ABCの管理者がXYZの各契約者にABCの信用情報を与えることを嫌がることがある。
【0010】
別法として、やはり従来技術において、ABCのリソースへのアクセスルールを変更することによって、XYZの契約者にABCのリソースへのアクセスを提供することも可能である。例えば、このようなアクセスルールを変更して、XYZの契約者がXYZの管理者からの信用情報を有していることに基づいて、ABCのリソースがXYZの契約者の特定の組にアクセスを提供することを可能にすることもできる。しかし、リソースへのアクセスルールを変更することは、特にアクセスルールをアクセスポリシーの変更に従って絶えず継続的に変更しなければならない場合には、厄介であり重荷になり得ることを理解されたい。さらに、特定の組織内に存在し得る多くのリソースの各々に対するアクセスルールを変更することは、容易に膨大なタスクになり得ることを理解されたい。
【0011】
同様に、ABCの従業員の一部だけが所与のリソースにアクセスすることが許可される場合もある。長い間には、他の従業員にリソースへの一時的なアクセスを許可することが必要になることもある。例えば、許可されたアクセス権を有する従業員の旅行中に、部下に一時的なアクセスを許可する必要が生じることがある。アシスタントにアクセスを許可して、アシスタントが特定のビジネス処理のために彼らの代理を務めることができるようにすることが望まれる場合もあり得る。
【0012】
したがって従来技術においては、通常はあるリソースへのアクセス権を有していないABCの従業員に、もともと許可されていた従業員と同様のリソースへのアクセス権を与えることになる。このことが、新しい信用情報の発行または新しいアカウント属性の設定を必要とする場合には、特にそうすることによって、従業員に望ましいアクセス権以上のアクセス権を許可することになり、あるいはそのアクセス権が不要になったときに、そのアクセス権を削除するために追加の管理動作を行うことが必要になるなどの影響が生じ得る場合には、ABCの管理者はそうすることを嫌がることがある。
【発明の開示】
【発明が解決しようとする課題】
【0013】
したがって、リソースが、それまでそのリソースに知られていなかった要求者に、アクセスルールなどに従ってアクセスを提供できる方法および機構が必要とされている。具体的には、例えば管理者など定義された信頼できるソースだけに注目して、アクセスを要求者に提供すべきかどうかを決定することができる方法および機構が求められている。さらに、要求者が定義された信頼できるソースが属する組織の内部にいるのか外部にいるのかにかかわらず、定義された信頼できるソースによって要求者にアクセスを提供するかどうかを識別することができる方法および機構が求められている。
【課題を解決するための手段】
【0014】
前述のニーズの少なくとも一部は、第1の組織のリソースがそのリソースへのアクセスを第2の組織の要求者に提供する方法を提供する本発明によって満たされる。第1の組織はリソースによって信頼された第1の管理者を有し、第2の組織は第2の管理者を有しており、第1および第2の各管理者は各エンティティに信用情報を発行する。管理者がエンティティに発行した各信用情報はエンティティを発行元の管理者に結びつけ、そのエンティティと発行元の管理者の間の関係を明示する。
【0015】
この方法では、第1の管理者は第2の管理者に第1の信用情報を発行し、この発行された第1の信用情報には、第2の管理者が第1の管理者に代わって第2の信用情報を発行することができるというポリシーが記載される。第2の管理者は、第1の管理者に代わって第2の信用情報を実際に要求者に発行し、この発行された第2の信用情報は、発行された第1の信用情報を含むかまたはそれを参照することができる。第2の組織の要求者は、後ほど第1の組織のリソースへのアクセスを要求し、その際、その要求に発行された第1の信用情報と第2の信用情報を含める。
【0016】
リソースは要求を受信し、発行された第1の信用情報を検証して、その発行された第1の信用情報が信頼できる第1の管理者を第2の管理者に結びつけるものであることを確認し、また、この発行された第1の信用情報のポリシーにより第2の管理者が第2の信用情報を要求者に発行することが許可されていることを確認する。リソースはまた、発行された第2の信用情報を検証して、発行された第2の信用情報が第2の管理者を要求者に結びつけるものであることも確認する。この検証に成功したと想定して、リソースは、その要求者からのその要求が、信頼された第1の管理者から第2の管理者を経由して要求者に委任された権限に基づくものであることを認識し、リソースへのアクセス要求の処理を進める。したがって、第1の組織の信頼できる第1の管理者からその要求者に信用情報が全く発行されていない場合でも、第1の組織のリソースは第2の組織の要求者へのアクセスを認識し許可することができる。
【0017】
同様に、エンドユーザがその権限の一部または全てを他のエンドユーザに委任することも可能である。この方法では、第1の管理者は第1のエンドユーザに第1の信用情報を発行し、発行される第1の信用情報には、リソースに対する第1のエンドユーザの権限を決定するために必要な情報が含まれ、また第1のエンドユーザが第1の管理者の代わりに第2の信用情報を要求者に発行することができるというポリシーが記載される。第1のエンドユーザは、第1の管理者に代わって第2の信用情報を要求者に実際に発行し、発行される第2の信用情報は発行された第1の信用情報を含むか、またはそれを参照することができる。要求者は、後ほどリソースへのアクセスを要求し、その際、その要求に発行された第1の信用情報と第2の信用情報を含める。次にリソースは、これらの信用情報を前述と同様に検証するとともに使用して、アクセスを許可すべきかどうかを決定することができる。
【0018】
前述の要約、ならびに以下の本発明の実施形態についての詳細な説明は、添付の図面と併せて読むことによってより良く理解できるはずである。本発明の例示のために、図面には現在好ましい実施形態が示されている。しかし、本発明が、図示された構成や手段そのものに制限されるものではないことを理解されたい。
【発明を実施するための最良の形態】
【0019】
[コンピュータ環境]
図1および以下の議論は、本発明を実装することができる適切なコンピュータ環境についての簡潔で一般的な説明を提供することを意図したものである。しかし、ハンドヘルド、ポータブル、および他のあらゆる種類のコンピュータ装置が、本発明とともに使用されることが企図されていることを理解されたい。以下では汎用コンピュータについて説明しているが、これは一例に過ぎず、本発明はネットワークサーバとの相互接続および対話が可能なシンクライアントだけを必要とする。したがって、本発明は、例えばクライアント装置が単なるブラウザまたはワールドワイドウェブへのインタフェースとしてだけ機能するネットワーク環境など、非常に少ないまたは最小のクライアントリソースを意味するネットワークホストサービスの環境に実装することができる。
【0020】
必須ではないが、本発明は、開発者による使用のためにアプリケーションプログラムインタフェース(API)を介して実装することおよび/またはネットワークブラウジングソフトウェア内に含めることが可能であり、クライアントワークステーション、サーバ、その他の装置など、1つまたは複数のコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能な命令の一般的な環境で説明される。一般に、プログラムモジュールは特定のタスクを実施するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。一般に、プログラムモジュールの機能を、必要に応じて様々な実施形態の形に組み合わせるかまたは分散させることができる。さらに、当業者ならば、本発明を他のコンピュータシステム構成を用いて実施できることが理解されよう。本発明とともに使用するのに適した他の周知のコンピュータシステム、環境、および/または構成には、これらに限られるものではないが、パーソナルコンピュータ(PC)、現金自動預け払い機、サーバコンピュータ、ハンドヘルドもしくはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、プログラマブル家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどが含まれる。本発明を分散コンピュータ環境においても実施することができ、その場合は、各タスクが通信ネットワークまたは他のデータ通信媒体を介してリンクされたリモート処理装置によって実行される。分散コンピュータ環境では、各プログラムモジュールをローカルおよびリモートの両方のコンピュータ記憶媒体、例えばメモリ記憶装置などに配置することができる。
【0021】
したがって図1は、本発明を実装することができる適切なコンピュータシステム環境100の一例を示したものである。先に明示したように、コンピュータシステム環境100は適切なコンピュータ環境の一例に過ぎず、本発明の使用または機能の範囲に関するいかなる制限を示唆することを意図したものでもない。またコンピュータ環境100を、例示の動作環境100に示されたコンポーネントのいずれかまたはそれらの組合せに関して、何らかの依存性または要件を有するものと解釈すべきものでもない。
【0022】
図1を参照すると、本発明を実装するための例示的システムには、コンピュータ110の形の汎用コンピュータ装置が含まれている。コンピュータ110のコンポーネントは、これらに限られるものではないが、処理ユニット120、システムメモリ130、システムメモリなど様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121などを含むことができる。システムバス121は、メモリバスもしくはメモリコントローラ、ペリフェラルバス、様々なバスアーキテクチャのいずれかを使用するローカルバスなど、いくつかの種類のバス構造のうちの任意のものを使用することができる。限定の意味ではなく例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、(メザニンバスとも呼ばれる)PCI(Peripheral Component Interconnect)バスなどが含まれる。
【0023】
コンピュータ110は一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセス可能な任意の使用可能媒体であってよく、揮発性および不揮発性媒体、リムーバブルおよび固定の両方の媒体を含む。限定の意味ではなく例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性/不揮発性、リムーバブル/固定の両方の媒体を含む。コンピュータ記憶媒体は、これらに限られるものではないが、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術製品、CD−ROM、DVD(digital versatile disks)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは所望の情報を格納するために使用できかつコンピュータ110によってアクセス可能な他の任意の媒体を含む。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波や他の伝送機構などの被変調データ信号の形で実施するとともに、いずれかの情報送達媒体を含む。「被変調データ信号」という用語は、情報を信号中に符号化するような方法で設定または変更された、1つまたは複数の信号特性セットを含む信号を意味する。限定の意味ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外、その他の無線媒体などの無線媒体を含む。上記の任意の組合せもコンピュータ可読媒体の範囲に含まれるものとする。
【0024】
システムメモリ130は、ROM(読み出し専用メモリ)131やRAM(ランダムアクセスメモリ)132など揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入/出力システム(BIOS)133は、例えば起動の間などに、コンピュータ110内の各要素間の情報転送を支援する基本ルーチンを含み、通常はROM131に格納されている。RAM132は一般に、処理ユニット120によって即時にアクセス可能かつ/または現在実行中の、データおよび/またはプログラムモジュールを含む。限定の意味ではなく例として、図1にはオペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137が示されている。
【0025】
コンピュータ110はまた、他のリムーバブル/固定、揮発性/不揮発性のコンピュータ記憶媒体を含むこともできる。単なる例示として、図1には固定な不揮発性の磁気媒体に読み書きするハードディスクドライブ141、リムーバブルな不揮発性磁気ディスク152に読み書きする磁気ディスクドライブ151、ならびにCD−ROMや他の光媒体などリムーバブルで不揮発性の光ディスク156に読み書きする光ディスクドライブ155が示されている。例示の動作環境で使用できる他のリムーバブル/固定、揮発性/不揮発性のコンピュータ記憶媒体には、これらに限られるものではないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、半導体RAM、半導体ROMなどが含まれる。ハードディスクドライブ141は一般に、インタフェース140などの固定メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は一般に、インタフェース150などのリムーバブルメモリインタフェースによってシステムバス121に接続される。
【0026】
上で論じ図1に示したドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ110のためのコンピュータ可読命令、データ構造、プログラムモジュール、他のデータなどの記憶を提供する。図1において、例えばハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するように図示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同一であっても、異なっていてもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、少なくともそれらが異なるコピーであることを示すために、図1では異なる番号が付与されている。ユーザはキーボード162、および一般にマウス、トラックボール、またはタッチパッドなどを意味するポインティング装置161などの入力装置を介してコンピュータ110に命令または情報を入力することができる。他の入力装置(図示せず)として、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらおよび他の入力装置は、システムバス121に結合されたユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、例えばパラレルポート、ゲームポート、またはUSB(universal serial bus)など、他のインタフェースやバス構造によって接続することもできる。
【0027】
モニタ191または他の種類の表示装置もまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。ノースブリッジ(Northbridge)などのグラフィックインタフェース182もまたシステムバス121に接続することができる。ノースブリッジは、CPU、またはホスト処理ユニット120と通信するチップセットであり、AGP(accelerated graphics port)通信の役割を担う。1つまたは複数のグラフィック処理ユニット(GPU)184はグラフィックインタフェース182と通信することができる。この関連で、GPU184は一般に、レジスタ記憶装置などのオンチップメモリ記憶装置を含み、GPU184はビデオメモリ186と通信する。しかし、GPU184はコプロセッサの一例に過ぎず、従ってコンピュータ110には様々なコプロセッサ装置を含めることができる。モニタ191または他の種類の表示装置もまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続することができ、またビデオメモリ186とも同様に通信することができる。モニタ191に加え、コンピュータはスピーカ197やプリンタ196などの他の周辺出力装置を含むこともできるが、これらの装置は出力ペリフェラルインタフェース195を介して接続することができる。
【0028】
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードであってもよい。また、図1にはメモリ記憶装置181だけが示されているが、リモートコンピュータ180は一般に、コンピュータ110に関連して上で説明した諸要素の多くまたはすべてを含むことができる。図1に示された論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、オフィス、企業内コンピュータネットワーク、イントラネット、インターネットにおいて一般的なものである。
【0029】
LANネットワーク環境で使用されるときには、コンピュータ110はネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用されるときには、コンピュータ110は一般に、インターネットなどのWAN173を介して通信を確立するためのモデム172、その他の手段を含む。モデム172は内蔵でも外付けでもよいが、ユーザ入力インタフェース160または他の適切な機構によってシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関連して示されたプログラムモジュールまたはその一部を、リモートのメモリ記憶装置に格納することができる。限定の意味ではなく例として、図1では、リモートのアプリケーションプログラム185がメモリ装置181上に存在するように示されている。図示のネットワーク接続が例示的なものであり、コンピュータ間通信リンクを確立する他の手段が使用できることが理解されよう。
【0030】
当業者ならば、コンピュータ110または他のクライアント装置をコンピュータネットワークの一部として配置できることが理解できよう。これに関して、本発明は、任意の数のメモリまたは記憶ユニットを備え、任意の数の記憶ユニットまたはボリュームに渡って存在する任意の数のアプリケーションおよびプロセスを備えた任意のコンピュータシステムに適するものである。本発明は、サーバコンピュータおよびクライアントコンピュータがネットワーク環境に配置されリモートまたはローカルの記憶装置を備える環境に適用することができる。本発明はまた、プログラミング言語機能、解釈および実行機能を有するスタンドアロンコンピュータ装置にも適用することができる。
【0031】
分散コンピューティングでは、コンピュータ装置とシステムの間の直接交換によってコンピュータリソースおよびサービスの共用が容易になる。このようなリソースおよびサービスには、情報の交換、キャッシュ記憶装置、ファイル用のディスク記憶装置などが含まれる。分散コンピューティングは、ネットワーク接続性を活用し、各クライアントがその集合的な力を利用して企業全体の利益に貢献することを可能にするものである。その際、様々な装置は、信頼できるグラフィックスパイプラインのための本発明の認証技術を結びつけるために相互に対話することができるアプリケーション、オブジェクト、またはリソースを備えることができる。
【0032】
図2は、例示的なネットワークまたは分散コンピューティング環境の概略構成図を示す。分散コンピューティング環境はコンピューティングオブジェクト10a、10b等、ならびにコンピューティングオブジェクトまたは装置110a、110b、110c等を含む。これらのオブジェクトは、プログラム、メソッド、データストア、プログラマブルロジックなどを含むことができる。オブジェクトはそれらの一部、またはPDA、TV、MP3プレーヤ、TV、パーソナルコンピュータなどの異なる装置を含むことができる。各オブジェクトは、通信ネットワーク14によって他のオブジェクトと対話することができる。このネットワークは、それ自体に図2のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピュータ装置を含むことができる。本発明の一態様によれば、各オブジェクト10または110は、信頼できるグラフィックパイプラインのために本発明の認証技術を必要とする可能性があるアプリケーションを含むことができる。
【0033】
110cなどのオブジェクトは他のコンピュータ装置10、110のホストになり得ることも理解できよう。したがって、図示の物理環境はコンピュータとして接続された各装置を表すことができるが、この図は単なる例示であり、物理環境はその代わりにPDA、TV、MP3プレーヤなどの様々なデジタル装置、インタフェースなどのソフトウェアオブジェクト、COMオブジェクトなどを含むように図示または記述することができる。
【0034】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピュータシステムを有線または無線システムによって、あるいはローカルネットワークまたは広域分散ネットワークによって相互に接続することができる。現在、多くのネットワークはインターネットに結合され、インターネットは広域分散コンピューティングのインフラストラクチャを提供し、多くの異なるネットワークを包含する。
【0035】
ホームネットワーク環境では、少なくとも4つの異種のネットワーク伝送媒体が存在し、その各々が、電力線(Power line)、データ(無線および有線の両方)、音声(例えば、電話)、娯楽メディアなどの独自のプロトコルをサポートすることができる。照明スイッチや電気器具など、ほとんどの家庭用制御機器は接続のために電力線を使用することができる。データサービスは、ブロードバンド(例えば、DSLまたはケーブルモデム)として家庭内に取り込むことができ、家庭内では無線(例えば、HomeRFまたは802.11b)または有線(例えば、HomePNA、Cat 5、電源ラインなど)接続を使用してアクセスすることができる。音声トラフィックは有線(例えば、Cat 3)または無線(例えば、携帯電話)で家庭内に取り込むことができ、家庭内ではCat 3配線を使用して分配される。娯楽メディアは衛星またはケーブルを介して家庭内に取り込むことができ、一般に同軸ケーブルを使用して家庭内で分配される。IEEE 1394およびDVIもまた、一群のメディア装置のためのデジタル相互接続として登場してきた。プロトコル標準として出現し得るこれらおよび他のネットワーク環境はすべて、相互接続してインターネット経由で外部世界に接続できるイントラネットを形成することができる。要するに、データの記憶および送信のために様々な異種のソースが存在しており、したがって、さらに進んで、コンピュータ装置は、データ処理パイプラインのすべての部分でコンテンツを保護する方法を必要とすることになる。
【0036】
「インターネット」は一般に、コンピュータネットワークの分野でよく知られたTCP/IPプロトコルスイートを使用するネットワークおよびゲートウェイの集まりを意味する。TCP/IPは「Transport Control Protocol/Interface Program(伝送制御プロトコル/インタフェースプログラム)」の頭字語である。インターネットは、ユーザがネットワークを介して対話し情報を共用することを可能にするネットワークプロトコルを実行するコンピュータによって相互接続された地理的に分散したリモートコンピュータネットワークからなるシステムとして説明される。このような広範囲に及ぶ情報共有のために、インターネットなどのリモートネットワークはこれまで一般に、開発者が基本的には制限なしに専用の動作またはサービスを実施するためのソフトウェアアプリケーションを設計することができるオープンシステムへと発展してきた。
【0037】
したがって、ネットワークインフラストラクチャは、クライアント/サーバ、ピアツーピア、またはハイブリッドアーキテクチャなど多くのネットワークトポロジーを可能にする。「クライアント」とは、それが関係していない他のクラスまたはグループのサービスを使用する、あるクラスまたはグループのメンバーのことである。したがって、コンピュータの使用におけるクライアントとは、他のプログラムによって提供されるサービスを要求するプロセス、すなわち1組の命令またはタスクなどのことである。クライアントプロセスは、他のプログラムまたはサービスそのものについての動作詳細をまったく「知る」必要なしに、要求したサービスを使用する。クライアント/サーバアーキテクチャ、特にネットワークシステムにおいては、クライアントは一般に、例えばサーバなど他のコンピュータによって提供される共用ネットワークリソースにアクセスするコンピュータのことである。図2の例では、コンピュータ110a、110b等はクライアント見なされ、コンピュータ10a、10b等はサーバと見なされる。この場合、サーバ10a、10b等がデータを維持しており、そのデータはクライアントコンピュータ110a、110b等に複製される。
【0038】
サーバは一般に、インターネットなどのリモートネットワークを介してアクセス可能なリモートコンピュータシステムのことである。クライアントプロセスを第1のコンピュータシステムでアクティブにし、サーバプロセスを第2のコンピュータシステムでアクティブにし、通信媒体を介して相互に通信させることにより、結果として分散機能が提供され、複数のクライアントがサーバの情報収集機能を利用することが可能になる。
【0039】
クライアントとサーバはプロトコルレイヤによって提供される機能を使用して相互に通信する。例えば、HTTP(ハイパーテキスト転送プロトコル)はWWW(ワールドワイドウェブ)とともに使用することができる共通プロトコルである。一般に、サーバまたはクライアントコンピュータを相互に識別するためには、URL(ユニバーサルリソースロケータ)またはIP(インターネットプロトコル)アドレスなどのコンピュータネットワークアドレスが使用される。ネットワークアドレスはURLアドレスとして参照することができる。例えば、通信は通信媒体を介して提供することができる。具体的には、クライアントとサーバは大容量通信のためのTCP/IP接続を介して相互に結合することができる。
【0040】
したがって図2は、本発明を使用することができる例示的ネットワークまたは分散環境を示すものであり、サーバはネットワーク/バスを介してクライアントコンピュータと通信する。より詳細には、本発明に従って、いくつかのサーバ10a、10b等が、例えばLAN、WAN、イントラネット、インターネット等の通信ネットワーク/バス14を介して、ポータブルコンピュータ、ハンドヘルドコンピュータ、シンクライアント、情報家電、またはその他の装置、例えばVCR、TV、オーブン、照明、ヒータなど、いくつかのクライアントまたはリモートコンピュータ装置110a、110b、110c、110d、110e等と相互接続される。したがって本発明は、信頼できるソースからの安全なコンテンツを処理し、格納し、描画することが望ましい任意のコンピュータ装置に適用できることが企図される。
【0041】
通信ネットワーク/バス14がインターネットであるネットワーク環境では、例えばサーバ10は、クライアント110a、110b、110c、110d、110e等がHTTPなどいくつかの既知のプロトコルのいずれかによって対話するWebサーバであってもよい。サーバ10はまた、分散コンピューティング環境の特徴として、クライアント110としての機能を果たすこともできる。通信は、必要に応じて有線でも無線でもよい。クライアント装置110は、通信ネットワーク/バス14を介して通信してもしなくてもよく、各クライアントに関連する個別の通信を行うこともできる。例えば、TVまたはVCRの場合には、それらの制御に関するネットワーク態様が存在することもあるし、存在しないこともある。各クライアントコンピュータ110およびサーバコンピュータ10は、様々なアプリケーションプログラムモジュールまたはオブジェクト135を備えることができ、また様々な種類の記憶要素またはオブジェクトへの接続またはアクセスを備えることができる。また、それらを介してファイルを格納することができ、あるいはそれらにファイルの一部をダウンロードまたは移動させることができる。したがって本発明は、コンピュータネットワーク/バス14にアクセスしそれと対話することができるクライアントコンピュータ110a、110b等と、クライアントコンピュータ110a、110b等、および他の装置111、ならびにデータベース20と対話することができるサーバコンピュータ10a、10b等とを備えたコンピュータネットワーク環境で使用することができる。
【0042】
[アクセス管理概観]
次に図3を参照すると、よく知られているように、デジタル情報に適用されるアクセス管理では、組織10の環境の内部等で、組織10のリソース314に情報を要求する組織10の内部の要求者12は信用情報16をリソース314に提示しなければならない。信用情報16は、要求者12を識別するものであり、例えば組織10に対する要求者12の関係を含むことができる。
【0043】
よく知られているように、本発明の趣旨および範囲を逸脱することなく、組織10は任意の適切な種類の組織とすることができる。例えば組織10は、公共団体、民間企業、行政体、非営利の慈善団体、研究財団等であってもよい。やはりよく知られているように、組織10内部の要求者12は、やはり本発明の趣旨および範囲を逸脱することなく、任意の適切な要求者とすることができる。例えば、要求者12は一般従業員、管理者、監督者、役員等のいずれであってもよい。
【0044】
一般に、リソース314はデジタル情報またはサービスへのアクセスを求める要求を受信し、予め定められたルールに従ってそのアクセスを提供する。このようなデジタル情報はデジタルコンテンツまたはデータなどを含むことができ、デジタルサービスは印刷サービス、描画サービス、データ変換サービスなどを含むことができる。したがって、このようなリソース314およびデジタル情報は、本発明の趣旨および範囲を逸脱することなく、任意の適切なデジタルリソースおよびデジタル情報とすることができる。
【0045】
要求者12にアクセスを提供する際にリソース314が従う予め定められたルールは、本発明の趣旨および範囲を逸脱することなく、任意のルールとすることができる。本発明の環境では、このようなルールは、少なくとも暗黙的に要求者12がリソース314に信用情報16を提示することを要求すること、信用情報16の中に記載することもできるが要求者12が組織10内で少なくともあるレベルの地位を有することを要求すること、やはり信用情報16等の中に記載することもできるが要求者12がリソース314にアクセスする権限を有することなどを要求することができる。例えば、このようなルールはまた、要求者12からの要求が1日のうちの特定の時間に受信されるように要求すること、要求者12が特定の種類の接続等によってリソース314にアクセスすることなどを要求することもできる。
【0046】
要求者12によって提示され、要求者12を表す信用情報16は、本発明の趣旨および範囲を逸脱することなく、任意の適切な信用情報とすることができる。一般に、信用情報16は、リソース314によって信頼された組織10の管理者18によって要求者12に発行されたデジタル証明書であるが、他の任意の形の識別証明とすることができる。信用情報16が実際にはデジタル証明書16であると想定すると、このようなデジタル証明書16には、要求者12を識別するのに適切であるような情報をその中に含めることができる。例えば、デジタル証明書16には、要求者12の名前、組織内での要求者12の地位、組織10内の要求者の権限、有効期間などを含めることができる。一般に、このようなデジタル証明書16は、そのコンテンツに基づいて、公開/秘密鍵ペアの秘密鍵によって署名され、対応する公開鍵を含む添付された一連の証明書に従って検証することができる。
【0047】
デジタル証明書16は、証明書16中に公開鍵を含める形で、それ自体を公開/秘密鍵ペアと関連づけることができる。したがって、リソース314は、その要求者12の証明書16の公開鍵に従って直接または間接に暗号化されたデータを要求者12に返すことができる。したがって、要求者12は、証明書16の対応する秘密鍵の適切な適用によってそのデータにアクセスすることができる。
【0048】
管理者18は、本発明の趣旨および範囲を逸脱することなく、アクセスの決定を行う際にリソース314によって信頼される任意の適切な管理者とすることができる。当然のことながら管理者18は、要求者12に信用情報/証明書16を発行する機能を有するものと想定している。おそらく、リソース314のルールは、任意の要求者からの任意の要求が、その要求者からの信用情報/証明書16を含めることによって信頼できる管理者18に結びつけられていることを必要とする。
【0049】
[リソース314にアクセスする権限の委任]
上述のように、組織10内部のリソース314は一般に、要求者12にアクセス権を提供するかどうかを決定する際に、要求者12によって提供される信用情報16を調査し、信用情報16が組織10の信頼できる管理者18に結びつけられていることを確認する。しかし重要なことは、要求者12が適切な信用情報16をしばしば欠いており、提供された信用情報16だけに基づいてはリソース314へのアクセスが許可されないことがあり得るが、それでもなお、他の信頼できるエンティティによる判断に基づいてリソース314へのアクセスを許可すべきことが多いことである。さらに、要求者12が組織10にしばしば属しておらず、組織10からの信用情報16を有していない場合もあるが、それでもやはり、組織のリソース314へのアクセスを許可すべきことも多い。
【0050】
より一般的には、アプリケーションが、複層的(multi−tiered)であり、複数の組織10に渡って分散され、複数の管理境界にまたがり、かつ/または動的な関係で複数のエンティティに関係し得る場合には、そのようなアプリケーションの動作に従うリソース314へのアクセスは、必然的に各管理環境を含む境界を横切ることが必要になる。したがって、第1の組織10のリソース314は、第1の組織10の信頼できる管理者18によって信用情報を与えられていない第2の組織10の要求者12を認識し、アクセスを許可することが必要になる。しかし一方では、第1の組織10のリソース314はやはり、少なくとも第2の組織10の要求者12が第1の組織10の信頼できる管理者18への何らかの結びつきを確立することを求める必要がある。
【0051】
第1の組織10のリソース314のためのルールを定期的に更新して特定の要求者の権限を変更するかまたは第2の組織10の要求者12の第1の組織10の管理者18への結びつきを明示することによって、そのリソース314に誰がアクセスできるのかを変更することができるが、その様な更新は厄介で、重荷になり、リスクを伴い、セキュリティリスクの原因になるものである。したがって、本発明の一実施形態では、第1の組織10のリソース314のためのルールは、第2の組織10の要求者12が、リソース314にアクセスする権限を第1の組織10の管理者18から直接または間接に委任されていることだけを必要とする。このような委任は、デジタル証明書16などの信用情報16における委任ポリシーとして実施することができる。重要なことは、このような信用情報/証明書16によって委任を要求することにより、証明書16にはリソース314に関して要求者12が有する権限を限定または制限する制約を備えることができることである。
【0052】
次に、図4を参照すると、2つの組織410a、410bがそれぞれ管理者18a、18bを有し、リソース14aが組織410aおよび信頼できる管理者18aとのみ関連しており、要求者12bが組織410bに関連しているものと想定すると、本発明は、図5に示されているように次のように達成することができる。予め、組織410aの管理者18aは、組織410bの管理者18bが組織410aの管理者18aに代わって組織410aの1つまたは複数のリソース14aに関する信用情報16bを発行することができるという趣旨のポリシーを記載した信用情報16aを組織410bの管理者18bに送信する(ステップ501)。次に、この信用情報16aは、組織410aの管理者18aの組織410bの管理者18bへの発行権限の委任になる。信用情報16aが、組織410bの管理者18bが組織410bの特定の要求者12bに信用情報16bを発行できることを記載できること、またはそのような要求者12bの特定の組を指定することができること、または組織410bのすべての要求者12bを指定することができることに留意されたい。
【0053】
ともかく、組織410bの管理者18bは、組織410aの管理者18aからの委任された信用情報16aを有しており、それに基づいて、委任された信用情報16bを実際に組織410bの要求者12bに発行する。重要なことは、本発明の一実施形態において、信用情報16bは要求者12bを管理者16bに結びつけており、信用情報16aは管理者18bを管理者18aに結びつけていることである。例えば、信用情報16a、16bがデジタル証明書16a、16bであり、図4に示したように、各管理者18a、18bが公開/秘密鍵(PU−A、PU−B、PR−A、PR−B)を有する場合は、信用情報16aは管理者18bの公開鍵(PU−B)を含み、かつ管理者18aの秘密鍵(PR−A)によって署名され、信用情報16bは管理者18bの秘密鍵(PR−B)によって署名される。
【0054】
したがって、委任された信用情報/証明書16bを管理者18bが要求者12bに発行するとき、管理者18bは、委任された証明書16aを証明書の連鎖の方法で証明書16bに含める(ステップ503)。その後、ある時点で要求者12bは実際にリソース14aにアクセスを要求し、その際、要求に一連の証明書16a、16bを含める(ステップ505)。要求を受信したとき、リソース14aは、その要求を受け入れるかどうかの判断の一部として、証明書の連鎖16a、16bを検証して、実際にリソース14aにアクセスする権限を信頼できる管理者18aが管理者18bを経由して要求者12bに委任したことを確認する。具体的には、想定された(PU−A)に関する知識に基づいて、リソース14aは(PU−A)を委任された証明書16aの(S(PR−A))に適用してその証明書を検証し(ステップ507)、その検証に成功したと想定して、次いで委任された証明書16aから(PU−B)を取得し(ステップ509)、その(PU−B)を委任された証明書16bの(S(PR−B))に適用してその証明書を検証する(ステップ511)。ここで、その検証に成功したと想定して、要求者12bからの要求が信頼できる管理者18aから管理者18bを経由して委任された権限に基づくものであるという知識がリソース14aによって確認され、要求の処理を進めることができる(ステップ513)。
【0055】
ここまで述べてきたように、委任の連鎖は信頼できる管理者18aから管理者18bに、さらに管理者18bから要求者12bへ与えられる。しかし重要なことは、すべて本発明の趣旨および範囲を逸脱することなく、リソース14aによって受け入れられた信頼されるソースから複数のリンクに委任を与えることができ、さらに複数の分岐によって複数の要求者12bに委任を与えることができることである。さらに、本発明の一実施形態では、信用情報16を使用してリンクを確立し、その各信用情報16に、リソース14aが要求者12bにアクセスを提供する前に要求者12bが満たさなければならないポリシーを含めることもできる。
【0056】
したがって、信用情報16を適切に発行するために以下のような分配ポリシーを作成することができる。
【0057】
− 組織410a内部のリソース14aは、誰が信用情報16を発行できるのかを判断するために組織410aの管理者18aを信頼する。
【0058】
− 管理者18aは信用情報16によって、組織410bの管理者18bがその組織410bの要求者12bに信用情報16を発行することを許可する。
【0059】
− 管理者18aは信用情報16によって、組織10cの管理者18cが購入者または評論家としての役割を果たすその組織10cの要求者12c(図示せず)に信用情報16を発行することを許可し、さらに管理者18cがその機能をその組織10c内の副管理者18に委任できることも許可する。
【0060】
− 管理者18cは信用情報16によって、その購入副管理者18c1が組織10cの購入要求者12c1に信用情報16を発行することを許可する。
【0061】
したがって、リソース14aが、管理者18a、18c、および18c1からの一連の信用情報16が添付されたアクセス要求を要求者12c1から受信したとき、リソース14aはそのすべての信用情報16の中に記載されたポリシーを使用してアクセスを許可するかどうかを決定することができる。より一般的には、信用情報16によって示される各リンクは、リソース14aへのアクセスを獲得することができる要求者12を識別する権限の制約された委任を表し、各リンクはまた、そのアクセスが提供される前に要求者12が従わなければならないポリシーを宣言する信頼できるステートメントも提供する。重要なことは、各信用情報16にこのようなポリシーを格納することによって、リソース14aはポリシーに関する特定の中央レポジトリ(central repository)を参照する必要がなく、また要求者12、あるいは18a以外のどの管理者18についての事前知識も持つ必要がなくなることである。その代わりとして、リソース14aは一連の信用情報16のポリシーを受け入れる。なぜならば、連鎖は信頼できるポイントである管理者18aで始まり、リソース14aへのアクセスを要求する要求者12で終るからであり、また連鎖中の各信用情報16が、各信用情報の検証された署名によって要求者12を信頼できる管理者18aに結びつけるからである。
【0062】
信用情報16の中に記載されるポリシーは、本発明の趣旨および範囲を逸脱することなく、任意のポリシーであってもよいことを理解されたい。例えばポリシーは、信用情報16の所有者に組織410aのすべてのリソースに14aにアクセスするフルの権限を提供することができる。あるいは、ポリシーは、信用情報16に基づいて要求することができる特定の要求者12に関する制限、信用情報16に基づいてアクセスされ得る特定のリソース14a、時間制限、地理的制限、有効期限、アクセス権の制限、通信プロトコルに関する制限などを設定することもできる。信用情報16内のポリシーはまた、信用情報16が取り消されていないことを確認するために、リソース14aに取消しリストをチェックするよう求めることもできる。ポリシーはさらに、リンクされる信用情報16の最大数、権限の使用に先立つ条件、または権限の使用の後で実施しなければならない動作などを指定することができる。あるいは、ポリシーはさらに、追加のポリシーが置かれている1つまたは複数の外部位置を参照することもできる。
【0063】
信用情報内16のポリシーを、本発明の趣旨および範囲を逸脱することなしに、任意の適切な方法で表現することができる。例えば、ポリシーは次の形のポリシーステートメントで表現することができる。
【0064】
プリンシパル P
表明する権限
表明のマッチング A*
委任先プリンシパルの種類 P*
従う条件 C*
発行元 I
有効期限 D
上記ポリシーステートメントにおいて、
− Pは、委任が許可されている特定のプリンシパルの参照名である。
【0065】
− 表明する権限は明示的でも暗黙的でもよいが、Pが委任許可の制約を満たす表明を作成できることを示すものである。この表明はPによって署名された信用情報16の形で符合化される。
【0066】
− A*は、全ての有効な委任表明がマッチしなければならない1つまたは複数のパターンである。例えば、「emailName=*@xzy.com possess property role=purchaser」の形のパターンは、xyz.comドメインの電子メールアドレスを有するエンティティが購入者の役割を持つことをPが表明できることを示す。また、「emailName=*@xzy.com read file=\\mysys\foo.txt」の形のパターンにより、xyz.comドメインの電子メールアドレスを有するエンティティが指定されたファイルを読むことができることを、Pは表明することができる。
【0067】
− P*は、Pが委任することができる値エンティティを識別する1つまたは複数のパターンである。例えば、X.509証明書を保有するXYZ社の従業員だけが有効な委任対象となる。あるいは、XYZ社ドメインのメンバーだけが有効な対象となる。
【0068】
− C*は、Pによる任意の委任の有効性に影響を与えるゼロまたはいくつかの条件である。これらの条件には、委任を継続することができる最大継続時間、委任許可取消しのために調べるべき要件などの一時的な制約が含まれる。
【0069】
− Iは、発行元を提示し完全性を保証するデジタル署名付きのポリシーを発行するエンティティの参照名を示す。
【0070】
− Dは、委任許可が有効である期間を示す。
【0071】
上述のポリシーステートメントを、本発明の趣旨および範囲を逸脱することなく、任意の適切な方法で符号化することができる。例えば、ポリシーステートメントを、X.509証明書またはケルベロスチケット(Kerberos ticket)への統合のためにASN.1構造で符号化することができる。しかし、全ての符号化と構造がこのようなポリシーステートメントを完全にサポートできるとは限らないことを認識し、本発明の一実施形態では、ポリシーステートメントおよびそれに含まれる信用情報16は、国際標準化機構(ISO)によって承認されたMPEG REL(MPEG Rights Expression Language)などの標準を定義するXML(eXtensible Markup Language)に従って構築される。なお、MPEG RELには必要な構文上の形式がもとから組み込まれている。
【0072】
ここまで本発明を、2人の管理者18からの1対のリンクされた信用情報16を有する要求者12に関して説明してきたが、信用情報16の連鎖を任意の数の管理者18を表す任意の数のリンク、および任意の数の他の要求者12にまで拡張できることに留意されたい。おそらく、信用情報16の特定の連鎖を有し、それに基づいてリソース314にアクセスしたいと望む要求者12は実際にそのリソース314にアクセスすることができるが、それは信用情報16の連鎖がそのリソースによって認識された信頼できるルートにまでさかのぼることができる場合に限られ、かつ各信用情報16内のポリシーが実際にそのアクセスを許可する場合に限られることを理解されたい。
【0073】
したがって、重要なことは、信用情報16に記載できるポリシーの1つが、リンクされた信用情報16の発行によって信用情報16の権限を特定の要求者12に委任することができるかどうかということである。例えば、特定のリソース314にアクセスするための第1の信用情報16を有する第1の要求者12は、その第1の信用情報16内の特定のポリシーによって、特定のリソース314にアクセスする機能を第2の信用情報16を第1の要求者12から第2の要求者12に発行することによって第2の要求者12に委任することができる場合がある。さらに、第1の要求者12は、第2の信用情報16によって第2の要求者12に委任することができるが、第1の信用情報16内の委任ポリシーによってその委任が権限の特定のサブセットに制限されることもある。
【0074】
したがって、上述の本発明に関して、第1の信用情報16を有する第1の要求者12は、所与のリソース314にアクセスする権限を、第2の要求者12に第2の信用情報16を発行することによって委任することができるが、それは、第1の要求者12が、第1の信用情報16内に記載されたポリシーによってリソース314へのアクセスが許可されている場合に限られることを理解されたい。おそらく、第2の要求者12は、第2の要求者12が所有する他のどの信用情報16に基づいても、リソース314にアクセスすることはできないはずである。
【0075】
一般に、このような委任において、リソース314に認識されている第1の管理者18は、許可されているリソースへのアクセスを識別し、場合によってはそれを指示する第1の信用情報16を第1の要求者12に発行する。重要なことは、第1の要求者12が仲介者として動作することができ、したがってリソース314にアクセスするために第1の要求者12に代わって動作する権限を第2の要求者12に許可するという旨のポリシーも、第1の管理者18が第1の信用情報16の中に記載することである。あるいは、第1の信用情報16を参照する補助の信用情報16の中にポリシーを記載することもできる。次いで、第1の要求者12は第2の信用情報16を第2の要求者12に発行する。この場合、第2の信用情報16には、リソース314にアクセスする際に第2の要求者12が持つことになる権限に関するポリシーが記載される。前と同様に、第2の信用情報16は、第1の信用情報16を含むかまたはそれを参照する。その後、第2の要求者12は、リソース314にアクセスを要求し、その際第1および第2の信用情報16をその要求に含めることよって、リソース314がアクセスを判断できるようにする。
【0076】
具体的には、前と同様に、リソース314は要求を受信し、発行された第2の信用情報16を検証してその発行が第1の信用情報16の所有者によるものであることを確認し、また発行された第1の信用情報16を検証してその発行が第1の管理者18によるものであることも確認する。次に、リソース314は、第2の信用情報16中で委任された権限が、第1の信用情報16中のポリシーに従うものであることをチェックする。このような検証およびポリシーチェックに成功したと想定して、リソース314は、第2の要求者12からのその要求が第1の要求者12から適切に委任された権限に基づくものであることを確認してアクセス要求の処理を進める。したがって、リソース314へのアクセスを認める信用情報16が第1の管理者18から第2の要求者12に直接発行されていない場合でも、リソース314はやはり、第2の要求者12を認識しそのアクセスを許可することができる。
【0077】
[結論]
本開示は、特定の動作を実施するリソース314に関して述べているが、実際にはリソースマネージャがリソース314に代わってそのような動作を実施する場合もあることを理解されたい。よく知られているように、実際にはリソースマネージャがリソース314を管理し、リソース314に対するアクセス制御の決定を行うことも良くある。いずれにしても、特に区別する必要がない場合は、動作を実施するリソース314は、リソース314に代わって動作を実施するリソースマネージャの均等物と見なすことができ、その逆も同様である。
【0078】
本発明に関して実施されるプロセスを実現するのに必要なプログラミングは、比較的簡単なものであり、関連するプログラマにとっては明らかなものである。したがって、このようなプログラミングに関しては本明細書には添付しない。したがって、本発明を実現するために、本発明の趣旨および範囲を逸脱することなく任意のプログラミングを使用することができる。
【0079】
本発明においては、あるリソース314が、アクセスルールなどに基づいて、そのリソース314にとって未知の要求者12にアクセスを提供することができる方法および機構が提供される。その代わりとして、リソース314は、要求者12にアクセスを提供すべきかどうかを決定するために、管理者18など定義された信頼できるソースに注目することだけが必要になる。定義された信頼できるソースは、要求者12が、定義された信頼できるソースが属する組織10の内部にいるか外部にいるかに関わらず、その要求者12にアクセスを提供すべきかどうかを識別することができる。これは、発行された信用情報16によってその要求者12に権限を委任することによって行われる。
【0080】
本発明の概念の趣旨および範囲を逸脱することなく、上述の実施形態に変更を加えることができることを理解されたい。したがって本発明が、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲によって定義された本発明の趣旨および範囲に含まれる修正形態を含むことを意図したものであることも理解されたい。
【図面の簡単な説明】
【0081】
【図1】本発明を実装することができるコンピュータ環境を限定の意味ではなく例示として示す構成図である。
【図2】本発明を実装することができる様々なコンピュータ装置を含む例示的なネットワーク環境を示す構成図である。
【図3】組織がリソースを有し、管理者がリソースによって信頼され、かつ要求者が管理者からの信用情報に基づいてリソースへのアクセスを要求するアーキテクチャを示す構成図である。
【図4】すべて本発明の一実施形態に従って、第1の組織がリソースとそのリソースによって信頼される第1の管理者を有し、第2の組織が要求者と第2の管理者を有し、第2の組織の要求者が、第1の組織の管理者から第2の組織の管理者に委任された信用情報と第2の組織の管理者から要求者に委任された信用情報とに基づいて第1の組織のリソースにアクセスを要求するアーキテクチャを示す構成図である。
【図5】本発明の一実施形態に従って、図4に示されたエンティティによって実施される主要なステップを示す流れ図である。
【符号の説明】
【0082】
10a サーバオブジェクト
10b サーバオブジェクト
10c 組織
12 要求者
12b 要求者
12c 要求者
12c1 購入要求者
14 通信ネットワーク/バス
14a リソース
16 信用情報
16a 信用情報
16b 信用情報
18 管理者
18a 管理者
18b 管理者
18c 管理者
18c1 購入副管理者
20 データベース
100 コンピュータ環境
110a コンピュータ装置
110b コンピュータ装置
110c コンピュータ装置
110d コンピュータ装置
110e コンピュータ装置
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
185 リモートアプリケーションプログラム
186 ビデオメモリ
190 ビデオインタフェース
191 モニタ
195 出力ペリフェラルインタフェース
196 プリンタ
197 スピーカ
314 リソース
410a 組織
410b 組織
501 管理者18Aは委任信用情報16Aを管理者18Bに送る。委任信用情報16Aは、管理者18Bが委任信用情報16Bを管理者18Aの代わりに発行することができるというポリシーを含む
503 管理者18Bは、委任信用情報16Aを含む委任信用情報16Bを要求者12Bに発行する
505 要求者12Bは、信用情報16A,16Bを含むアクセスをリソース14Aに要求する
507 リソース14Aは、委任信用情報16Aの(S(PR−A))に(PU−A)を適用して検証する
509 委任信用情報16Aから(PU−B)を取得する
511 委任信用情報16Bの(S(PR−B))に(PU−B)を適用して検証する
513 全ての署名が有効な場合は、要求の処理を進める

【特許請求の範囲】
【請求項1】
第1の組織のリソースが前記リソースへのアクセスを第2の組織の要求者に提供する方法であって、前記第1の組織は前記リソースによって信頼された第1の管理者を有し、前記第2の組織は第2の管理者を有し、前記第1および第2の各管理者は各エンティティに信用情報を発行し、管理者によってエンティティに発行された各信用情報は前記エンティティを前記発行元管理者に結びつけるとともに前記エンティティと前記発行元管理者の間の関係を明示し、さらに前記方法は、
前記第1の管理者が前記第2の管理者に第1の信用情報を発行し、前記発行された第1の信用情報は前記第2の管理者が前記第1の管理者の代わりに第2の信用情報を前記要求者に発行することができるというポリシーを記載し、前記第2の管理者は前記第1の管理者の代わりに前記第2の信用情報を前記要求者に実際に発行し、前記発行された第2の信用情報は前記発行された第1の信用情報を含み、前記第2の組織の前記要求者は後ほど前記第1の組織の前記リソースにアクセスを要求し、その要求の際に前記発行された第1の信用情報および前記発行された第2の信用情報を前記要求に含めるステップと、
前記リソースが、前記発行された第1の信用情報および前記発行された第2の信用情報を含む前記要求を前記要求者から受信するステップと、
前記リソースが、前記発行された第1の信用情報を検証して前記発行された第1の信用情報が前記信頼される第1の管理者を前記第2の管理者に結びつけていることを確認し、また前記発行された第1の信用情報の前記ポリシーにより前記第2の管理者が前記第2の信用情報を前記要求者に発行することが許可されていることを確認するステップと、
前記リソースが、前記発行された第2の信用情報を検証して前記発行された第2の信用情報が前記第2の管理者を前記要求者に結びつけていることを確認するステップと、
前記検証に成功したと想定して、前記リソースが、前記要求者からの前記要求が前記信頼される第1の管理者から前記第2の管理者を経由して前記要求者に委任された権限に基づくものであることを認識することにより、前記リソースへの前記要求の処理を進めるステップと
を備え、
それによって、前記第1の組織の前記信頼される第1の管理者により前記要求者に信用情報が全く発行されていない場合でも、前記第1の組織の前記リソースは前記第2の組織の前記要求者を認識しアクセスを許可することができることを特徴とする方法。
【請求項2】
前記第1の管理者は、前記第2の管理者が前記要求者を含むエンティティの特定の組に前記第2の信用情報を発行することができるというポリシーを記載した前記第1の信用情報を、前記第2の管理者に発行することを特徴とする請求項1に記載の方法。
【請求項3】
前記第1の管理者は、前記リソースに関して前記要求者が有する権限を制限するというポリシーをさらに記載した前記第1の信用情報を、前記第2の管理者に発行することを特徴とする請求項1に記載の方法。
【請求項4】
前記第1の管理者は公開/秘密鍵ペア(PU−A,PR−A)を有し、前記第2の管理者は公開/秘密鍵ペア(PU−B,PR−B)を有し、前記第1の管理者は、前記第2の管理者の前記公開鍵(PU−B)と、前記第1の管理者の前記秘密鍵に基づくデジタル署名(S(PR−A))とを含む前記第1の信用情報を前記第2の管理者に発行し、前記第2の管理者は、前記第2の管理者の前記秘密鍵に基づくデジタル署名(S(PR−B))を含む前記第2の信用情報を前記要求者に発行することを特徴とする請求項1に記載の方法。
【請求項5】
前記リソースは(PU−A)に関する知識を有しており、前記方法は、
前記リソースが前記発行された第1の信用情報の(S(PR−A))に(PU−A)を適用して前記第1の信用情報を検証するステップと、
前記検証に成功したと想定して、次に前記リソースが前記検証された第1の信用情報から(PU−B)を取得し、前記発行された第2の信用情報の(S(PR−B))に前記(PU−B)を適用して前記第2の信用情報を検証するステップと
を備えることを特徴とする請求項4に記載の方法。
【請求項6】
前記第1の管理者は、前記要求者が前記リソースにアクセスすることを許可するというポリシーをさらに記載した第1の信用情報を前記第2の管理者に発行し、前記第2の管理者は、前記第1の管理者に代わって前記第2の信用情報を前記要求者に発行するとともに前記要求者が前記リソースにアクセスすることを許可するというポリシーを含めるステップと、
前記リソースはさらに、前記発行された第1の信用情報を検証して、前記発行された第1の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと、
前記リソースはさらに、前記発行された第2の信用情報を検証して、前記発行された第2の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと
を備えることを特徴とする請求項1に記載の方法。
【請求項7】
各ポリシーを含むように各信用情報を発行するステップであって、前記各ポリシーは以下のように指定され、
プリンシパル P
表明する権限
表明のマッチング A*
委任先プリンシパルの種類 P*
従う条件 C*
発行元 I
有効期間 D
上記ポリシーにおいて、Pは委任が許可されている特定のプリンシパルを表し、A*は全ての有効な委任表明がマッチすべき1つまたは複数のパターンであり、P*はPが委任することができる値エンティティを識別する1つまたは複数のパターンであり、C*はPによる任意の委任に関するゼロまたはいくつかの条件であり、Iは前記ポリシーを発行する前記エンティティであり、Dは前記委任許可が有効である期間を示すステップを備えることを特徴とする請求項1に記載の方法。
【請求項8】
第1の組織のリソースが前記リソースへのアクセスを第3の組織を経由して第2の組織の要求者に提供する方法であって、前記第1の組織は前記リソースによって信頼された第1の管理者を有し、前記第2の組織は第2の管理者を有し、前記第3の組織は第3の管理者を有し、各管理者は各エンティティに信用情報を発行し、管理者によってエンティティに発行された各信用情報は前記エンティティを前記発行元管理者に結びつけるとともに前記エンティティと前記発行元管理者の間の関係を明示し、さらに前記方法は、
前記第1の管理者が前記第3の管理者に第1の信用情報を発行し、前記発行された第1の信用情報は、前記第3の管理者が前記第1の管理者の代わりに第2の信用情報を前記第2の管理者に発行することができかつ前記第2の管理者が前記第1の管理者の代わりに第3の信用情報を前記要求者に発行することができるというポリシーを記載し、前記第3の管理者は前記第1の管理者の代わりに前記第2の信用情報を実際に前記第2の管理者に発行しかつ前記第2の管理者は前記第1の管理者の代わりに第3の信用情報を前記要求者に実際に発行し、前記発行された第2の信用情報は前記発行された第1の信用情報を含み、前記発行された第3の信用情報は前記発行された第1の信用情報および前記発行された第2の信用情報を含み、前記第2の組織の前記要求者は後ほど前記第1の組織の前記リソースにアクセスを要求し、その要求の際に前記発行された第1の信用情報および前記発行された第2の信用情報および前記発行された第3の信用情報を前記要求に含めるステップと、
前記リソースが、前記発行された第1の信用情報および前記発行された第2の信用情報および前記発行された第3の信用情報を含む前記要求を前記要求者から受信するステップと、
前記リソースが、前記発行された第1の信用情報を検証して前記発行された第1の信用情報が前記信頼された第1の管理者を前記第3の管理者に結びつけていることを確認し、また前記発行された第1の信用情報の前記ポリシーにより前記第3の管理者が前記第2の信用情報を前記第2の管理者に発行することが許可されていることおよび前記発行された第1の信用情報の前記ポリシーにより前記第2の管理者が前記第3の信用情報を前記要求者に発行することも許可されていることを確認するステップと、
前記リソースが、前記発行された第2の信用情報を検証して前記発行された第2の信用情報が前記第3の管理者を前記第2の管理者に結びつけていることを確認し、また前記発行された第2の信用情報の前記ポリシーにより前記第2の管理者が前記第3の信用情報を前記要求者に発行することが許可されていることを確認するステップと、
前記リソースが、前記発行された第3の信用情報を検証して前記発行された第3の信用情報が前記第2の管理者を前記要求者に結びつけていることを確認するステップと、
前記検証に成功したと想定して、前記リソースが、前記要求者からの前記要求が前記信頼される第1の管理者から前記第3の管理者および前記第2の管理者を経由して前記要求者に委任された権限に基づくものであることを認識することにより、前記リソースへの前記要求の処理を進めるステップと
を備え、
それによって、前記第1の組織の前記信頼される第1の管理者により前記要求者に信用情報が全く発行されていない場合でも、前記第1の組織の前記リソースは前記第2の組織の前記要求者を認識しアクセスを許可することができることを特徴とする方法。
【請求項9】
前記第1の管理者は、前記第2の管理者が前記要求者を含む特定の組のエンティティに前記第3の信用情報を発行することができるというポリシーを記載する前記第1の信用情報を、前記第3の管理者に発行することを特徴とする請求項8に記載の方法。
【請求項10】
前記第1の管理者は、前記リソースに関して前記要求者が有している権限を制限するというポリシーをさらに記載する前記第1の信用情報を前記第3の管理者に発行することを特徴とする請求項8に記載の方法。
【請求項11】
前記第1の管理者は公開/秘密鍵ペア(PU−A,PR−A)を有し、前記第2の管理者は公開/秘密鍵ペア(PU−B,PR−B)を有し、前記第3の管理者は公開/秘密鍵ペア(PU−C,PR−C)を有し、前記第1の管理者は、前記第3の管理者の前記公開鍵(PU−C)と、前記第1の管理者の前記秘密鍵に基づくデジタル署名(S(PR−A))とを含む前記第1の信用情報を前記第3の管理者に発行し、前記第3の管理者は、前記第2の管理者の前記公開鍵(PU−B)と、前記第3管理者の前記秘密鍵に基づくデジタル署名(S(PR−C))とを含む前記第2の信用情報を前記第2の管理者に発行し、前記第2の管理者は、前記第2の管理者の前記秘密鍵に基づくデジタル署名(S(PR−B))を含む前記第3の信用情報を前記要求者に発行することを特徴とする請求項8に記載の方法。
【請求項12】
前記リソースは(PU−A)に関する知識を有しており、前記方法は、
前記リソースが前記発行された第1の信用情報の(S(PR−A))に(PU−A)を適用して前記第1の信用情報を検証するステップと、
前記検証に成功したと想定して、次に前記リソースが前記検証された第1の信用情報から(PU−C)を取得し、前記発行された第2の信用情報の(S(PR−C))に前記(PU−C)を適用して前記第2の信用情報を検証するステップと、
前記検証に成功したと想定して、次に前記リソースが前記検証された第2の信用情報から(PU−B)を取得し、前記発行された第3の信用情報の(S(PR−B))に前記(PU−B)を適用して前記第3の信用情報を検証するステップと
を備えることを特徴とする請求項11に記載の方法。
【請求項13】
前記第1の管理者は、前記要求者が前記リソースにアクセスすることを許可するというポリシーをさらに記載した第1の信用情報を前記第3の管理者に発行し、前記第3の管理者は、前記第1の管理者に代わって前記第2の信用情報を前記第2の管理者に発行するとともに前記要求者が前記リソースにアクセスすることを許可するというポリシーを含め、前記第2の管理者は、前記第1の管理者に代わって前記第3の信用情報を前記要求者に発行するとともに前記要求者が前記リソースにアクセスすることを許可するというポリシーを含めるステップと、
前記リソースはさらに、前記発行された第1の信用情報を検証して、前記発行された第1の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと、
前記リソースはさらに、前記発行された第2の信用情報を検証して、前記発行された第2の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと、
前記リソースはさらに、前記発行された第3の信用情報を検証して、前記発行された第3の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと
を備えることを特徴とする請求項8に記載の方法。
【請求項14】
各ポリシーを含むように各信用情報を発行するステップであって、前記各ポリシーは以下のように指定され、
プリンシパル P
表明する権限
表明のマッチング A*
委任先プリンシパルの種類 P*
従う条件 C*
発行元 I
有効期間 D
上記ポリシーにおいて、Pは委任が許可されている特定のプリンシパルを表し、A*は全ての有効な委任表明がマッチすべき1つまたは複数のパターンであり、P*はPが委任することができる値エンティティを識別する1つまたは複数のパターンであり、C*はPによる任意の委任に関するゼロまたはいくつかの条件であり、Iは前記ポリシーを発行する前記エンティティであり、Dは前記委任許可が有効である期間を示すステップを含むことを特徴とする請求項8に記載の方法。
【請求項15】
組織のリソースがそのリソースへのアクセスを、仲介者を経由して要求者に提供する方法であって、前記組織は前記リソースによって信頼される管理者を有しており、さらに前記方法は、
前記管理者が前記仲介者に第1の信用情報を発行し、前記発行された第1の信用情報は前記仲介者が前記管理者の代わりに第2の信用情報を前記要求者に発行することができるというポリシーを記載し、前記仲介者は前記管理者の代わりに前記第2の信用情報を前記要求者に実際に発行し、前記発行された第2の信用情報は前記発行された第1の信用情報を含み、前記要求者は後ほど前記組織の前記リソースにアクセスを要求し、また要求の際に前記要求に前記発行された第1の信用情報および前記発行された第2の信用情報を含めるステップと、
前記リソースが、前記発行された第1の信用情報および前記発行された第2の信用情報を含む前記要求を前記要求者から受信するステップと、
前記リソースが、前記発行された第1の信用情報を検証して前記発行された第1の信用情報が前記信頼される管理者を前記仲介者に結びつけていることを確認し、また前記発行された第1の信用情報の前記ポリシーにより前記仲介者が前記第2の信用情報を前記要求者に発行することが許可されていることを確認するステップと、
前記リソースが、前記発行された第2の信用情報を検証して前記発行された第2の信用情報が前記仲介者を前記要求者に結びつけていることを確認するステップと、
前記検証に成功したと想定して、前記リソースが、前記要求者からの前記要求が前記信頼される管理者から前記仲介者を経由して前記要求者に委任された権限に基づくものであることを認識することにより、前記リソースへの前記要求の処理を進めるステップと
を含み、
それによって、前記組織の前記信頼される管理者によって前記要求者に信用情報が全く発行されていない場合でも、前記組織の前記リソースは、前記要求者を認識しアクセスを許可することができることを特徴とする方法。
【請求項16】
前記管理者は、前記仲介者が前記要求者を含む特定の組のエンティティに前記第2の信用情報を発行することができるというポリシーを記載する前記第1の信用情報を、前記仲介者に発行することを特徴とする請求項15に記載の方法。
【請求項17】
前記管理者は、前記リソースに関して前記要求者が有している権限を制限するというポリシーをさらに記載する前記第1の信用情報を、前記仲介者に発行することを特徴とする請求項15に記載の方法。
【請求項18】
前記管理者は公開/秘密鍵ペア(PU−A,PR−A)を有し、前記仲介者は公開/秘密鍵ペア(PU−B,PR−B)を有し、前記管理者は、前記仲介者の前記公開鍵(PU−B)と、前記管理者の前記秘密鍵に基づくデジタル署名(S(PR−A))とを含む前記第1の信用情報を前記仲介者に発行し、前記仲介者は、前記仲介者の前記秘密鍵に基づくデジタル署名(S(PR−B))を含む前記第2の信用情報を前記要求者に発行することを特徴とする請求項15に記載の方法。
【請求項19】
前記リソースは(PU−A)に関する知識を有しており、前記方法は、
前記リソースが前記発行された第1の信用情報の(S(PR−A))に(PU−A)を適用して前記第1の信用情報を検証するステップと、
前記検証に成功したと想定して、次に前記リソースが前記検証された第1の信用情報から(PU−B)を取得し、前記発行された第2の信用情報の(S(PR−B))に前記(PU−B)を適用して前記第2の信用情報を検証するステップと
を備えることを特徴とする請求項18に記載の方法。
【請求項20】
前記管理者は、前記要求者が前記リソースにアクセスすることを許可するというポリシーをさらに記載した第1の信用情報を前記仲介者に発行し、前記仲介者は、前記管理者に代わって前記第2の信用情報を前記要求者に発行するとともに前記要求者が前記リソースにアクセスすることを許可するというポリシーを含めるステップと、
前記リソースはさらに、前記発行された第1の信用情報を検証して、前記発行された第1の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと、
前記リソースはさらに、前記発行された第2の信用情報を検証して、前記発行された第2の信用情報により前記要求者が前記リソースにアクセスすることが許可されていることを確認するステップと
を備えることを特徴とする請求項15に記載の方法。
【請求項21】
各ポリシーを含むように各信用情報を発行するステップであって、前記各ポリシーは以下のように指定され、
プリンシパル P
表明する権限
表明のマッチング A*
委任先プリンシパルの種類 P*
従う条件 C*
発行元 I
有効期間 D
上記ポリシーにおいて、Pは委任が許可されている特定のプリンシパルを表し、A*は全ての有効な委任表明がマッチすべき1つまたは複数のパターンであり、P*はPが委任することができる値エンティティを識別する1つまたは複数のパターンであり、C*はPによる任意の委任に関するゼロまたはいくつかの条件であり、Iは前記ポリシーを発行する前記エンティティであり、Dは前記委任許可が有効である期間を示すステップを備えることを特徴とする請求項15に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−254464(P2006−254464A)
【公開日】平成18年9月21日(2006.9.21)
【国際特許分類】
【出願番号】特願2006−67702(P2006−67702)
【出願日】平成18年3月13日(2006.3.13)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】