(57)【特許請求の範囲】
【請求項１】
通信を可能とするコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体であって、前記コンピューター実行可能命令が実現するステップは、
対象が属するドメインのドメインコントローラーが、第１のドメイン内のミドルティアコンピューター装置から、前記対象に対してクライアントとして通信するための通信要求を受信するステップと、
前記対象がコンピューター実行可能命令を実行するコンピューター装置と同一のドメイン内にあるかどうかを決定するステップと、
前記対象と通信するための要件を含む１つまたは複数のポリシーを識別するステップであって、前記１つまたは複数のポリシーは前記対象によって確立され、前記対象が属するドメインのドメインコントローラーによって実行されるステップと、
前記ミドルティアコンピューター装置と前記第１のドメインのドメインコントローラーの設定情報を受信するステップと、
受信した前記ミドルティアコンピューター装置と前記第１のドメインのドメインコントローラーの設定情報に基づいて、前記識別された１つまたは複数のポリシーが満足されるかどうかを判定するステップと、
前記通信要求を許可する署名されたサービスチケットを生成するステップと、
を含むコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項２】
前記１つまたは複数のポリシーのうちの少なくとも１つのポリシーが、前記対象によって確立され、実行され、制御される、請求項１に記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項３】
前記識別された１つまたは複数のポリシーが満足されるかどうかを判定するステップが、更に、前記１つまたは複数のポリシーに関連付けられた情報を要求するステップを含む、請求項１又は２に記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項４】
前記コンピューター実行可能命令が実現するステップとして更に、署名された識別子を受信するステップ、前記署名を確認するステップ、および、前記確認が成功した場合前記受信された識別子に署名するステップを含む、請求項１〜３のいずれか一項に記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項５】
前記コンピューター実行可能命令が実現するステップとして更に、前記対象とクライアントとして通信を行うステップを含む、請求項４に記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項６】
コンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体であって、前記コンピューター実行可能命令が実現するステップは、
対象に対してクライアントとして通信するための通信要求を提示するステップと、
前記コンピューター実行可能命令を実行するコンピューター装置の識別情報と、クライアントの識別情報を提示するステップと、
システムの設定ステータスが用いられるかについての情報を含む設定情報を送ることによって、ポリシーが満足されるかどうかを確認することを可能とするステップと、
前記通信要求の対象が、署名されたトークンが受信されるドメインと異なるドメインに属するときに、通信要求についての情報を含む前記署名されたトークンを受信するステップと、
前記署名されたトークンを、同一ドメインに属するドメインコントローラーに、前記対象として提示するステップと、
前記ポリシーが満足され、前記対象と同一ドメインに属するドメインコントローラーによって実行されるときに、前記通信要求を許可するサービスチケットを受信するステップと、
を含むコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項７】
前記コンピューター実行可能命令が実現するステップとして更に、前記署名されたトークンが受信されたときに、前記コンピューター実行可能命令を実行するコンピューター装置の識別情報に対して署名を行うよう要求をすることを実行するステップを含む、請求項６記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項８】
前記署名されたトークンを、同一ドメインに属するドメインコントローラーに、前記対象として提示するステップが、更に、前記署名されたコンピューター実行可能命令を実行するコンピューター装置の識別情報をも提示することを実行するステップを含む、請求項７記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項９】
前記コンピューター実行可能命令が実現するステップとして更に、前記コンピューター実行可能命令を実行するコンピューターの識別情報を要求することを実行するステップを含む、請求項６〜８のいずれか一項に記載のコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【請求項１０】
クライアントコンピューター装置と、
第１のバックエンドコンピューター装置と第１のドメインコントローラーコンピューター装置とを含む、コンピューター装置のバックエンドティアであって、前記第１のバックエンドコンピューター装置と前記第１のドメインコントローラーコンピューター装置は同一の第１のドメインに属するものと、
第２のドメインコントローラーコンピューター装置とミドルティアコンピューター装置とを含む、コンピューター装置のミドルティアであって、前記ミドルティアコンピューター装置はステップを実行するコンピューター実行可能命令を含み、前記第２のドメインコントローラーコンピューター装置と前記ミドルティアコンピューター装置は同一の第２のドメインに属するものであって、前記ミドルティアコンピューター装置が含むコンピューター実行可能命令が実行するステップは、
前記第１のバックエンドコンピューター装置と通信することを前記ミドルティアコンピューター装置が求めることを、第２のドメインコントローラーコンピューター装置に示すステップと、
前記ミドルティアコンピューター装置の識別子を前記第２のドメインコントローラーコンピューター装置に提供するステップと、
前記第２のドメインコントローラーコンピューター装置から、前記ミドルティアコンピューター装置が前記クライアントコンピューター装置として前記第１のバックエンドコンピューター装置と通信することを求めることを示すトークンを受信するステップと、
前記トークンを第１のドメインコントローラーコンピューター装置に与えるステップと、を含み、
前記第１のドメインコントローラーコンピューター装置はステップを実行するコンピューター実行可能命令を含み、前記第１のドメインコントローラーコンピューター装置が含むコンピューター実行可能命令が実行するステップは、
前記第１のバックエンドコンピューター装置が前記第１のドメインコントローラーコンピューター装置も含む前記ドメイン内にあるかどうかを決定するステップと、
前記第１のバックエンドコンピューター装置と通信するための要件を含む１つまたは複数のポリシーを識別するステップであって、前記１つまたは複数のポリシーが前記第１のバックエンドコンピューター装置によって確立されているステップと、
前記１つまたは複数のポリシーの少なくとも一部が満たされているかどうか、前記トークンに基づいて決定するステップと、
前記１つまたは複数のポリシーの少なくとも一部が満たされているかどうかに基づいて、サービスチケットを生成し、署名し、前記ミドルティアコンピューター装置に対し送付するステップと
を含むことを特徴とするシステム。
【請求項１１】
前記１つまたは複数のポリシーのうちの少なくとも１つのポリシーが、前記第１のバックエンドコンピューター装置によって確立され、制御される、請求項１０に記載のシステム。
【請求項１２】
前記ミドルティアコンピューター装置の識別子が、前記第２のドメインコントローラーコンピューター装置によって署名され、前記第１のドメインコントローラーコンピューター装置が、第２のドメインコントローラーコンピューター装置による署名を確認し、前記確認が成功した場合に前記ミドルティアコンピューター装置の識別子に対し署名を行うステップを実行するコンピューター実行可能命令を含む、請求項１０又は１１に記載のシステム。
【請求項１３】
前記第１のドメインコントローラーコンピューター装置が含むコンピューター実行可能命令が実行するステップは更に、前記確認が成功した場合に、第３のドメインコントローラーコンピューター装置に対して指示を行うステップを含む請求項１２に記載のシステム。
【請求項１４】
前記ミドルティアコンピューター装置が含むコンピューター実行可能命令が実行するステップは更に、前記第１のドメインコントローラーコンピューター装置に対し前記ミドルティアコンピューター装置の識別子に署名を行うよう要求するステップと、前記署名された前記ミドルティアコンピューター装置の識別子を前記第２のドメインコントローラーコンピューター装置に提示するステップを含む、請求項１０〜１３のいずれか一項に記載のシステム。
【請求項１５】
ミドルティアコンピューター装置がバックエンドコンピューター装置とクライアントとして通信を行うことを可能とするコンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体であって、前記コンピューター実行可能命令が実現するステップは、
前記バックエンドコンピューター装置がコンピューター実行可能命令を実行するコンピューター装置と同一のドメイン内にあるかどうかを決定するステップと、
前記バックエンドコンピューター装置と通信するための要件を含む１つまたは複数のポリシーを識別するステップであって、前記１つまたは複数のポリシーは前記バックエンドコンピューター装置によって確立され、前記バックエンドコンピューター装置が属するドメインのドメインコントローラーによって実行されるステップと、
前記ミドルティアコンピューター装置が、前記１つまたは複数のポリシーを満足しているか判定するステップであって、前記ミドルティアコンピューター装置が、前記１つまたは複数のポリシーを満足しているか判定するステップは、前記ミドルティアコンピューター装置に前記ポリシーに関連する情報を要求するステップと、どのようなオペレーティングシステムを用いているかに関する情報を含む、前記ミドルティアコンピューター装置の設定情報を受信するステップと、前記どのようなオペレーティングシステムを用いているかに関する情報に基づいて、通信を許可するか否かを決定するステップを含み、
前記ミドルティアコンピューター装置が前記バックエンドコンピューター装置とクライアントとして通信を行うことを許可する署名されたサービスチケットを生成するステップとを含み、
更に、前記バックエンドコンピューター装置が前記ドメイン内にある場合に、前記バックエンドコンピューター装置と通信するための要件を含む１つまたは複数のポリシーを識別するステップ、前記ミドルティアコンピューター装置が、前記１つまたは複数のポリシーを満足しているか判定するステップ、および、前記ミドルティアコンピューター装置が前記バックエンドコンピューター装置とクライアントとして通信を行うことを許可する署名されたサービスチケットを生成するステップを含む、
コンピューター実行可能命令を記憶したコンピューター読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックエンド制約委譲モデル（back-end constrained delegation model）に関する。
【背景技術】
【０００２】
[0001]その最も簡単な形態では、クライアントとサーバーの間のネットワーク通信は、そのサーバーが排他的に応答しクライアントに返すことができる、クライアントからサーバーへの要求を含む。そのようなシステムは確かに簡単であるが、十分に拡張することができず、呼び出し元が単一のチャネルを介して、ファイルストレージサービス、データベースストレージサービスおよび電子メールサービスなどの複数のサービスと同時に対話することはできない。クライアントが単一サーバーと通信することを可能にしたまま、それでもサーバーがその能力を拡張するのを可能にするために、ティア構造が利用された。ティア構造では、クライアントは、ミドルティアとして動作したサーバーにその要求を伝えることができた。そのミドルティアサーバーは、クライアントの要求に応答するために必要な関連情報を、必ずしもそれ自体では含まない。代わりに、ミドルティアサーバーは元に戻り、サーバーのバックエンドティアの一部である１つまたは複数のサーバーを参照して、クライアントによって要求された情報を取得することができる。そのような情報を取得すると、次いで、ミドルティアサーバーはクライアントに応答することができる。クライアントの観点から、単一の通信エンドポイント、すなわちミドルティアは、潜在的に無限のデータおよび他の情報資源にアクセスすることができる。
【０００３】
[0002]ミドルティアサーバーがクライアントの要求に応答することを可能にするために、クライアントの代わりにサーバーのバックエンドティアから情報を取得することが許される。セキュリティの観点から、ミドルティアサーバーがクライアントとして、サーバーのバックエンドティア内にない他のサーバーと通信することを許すことは有害である可能性がある。それによりクライアントがそのパスワードすなわち長い言葉の認証情報または他の認証情報をミドルティアサーバーに提供することができ、次いで、この認証情報を提供することによりミドルティアサーバーがクライアントとして任意のサーバーと通信することができるそのような構成は、クライアントの役割のミドルティアサーバーへの委譲が、そのミドルティアがどのサーバーと通信できるかについて制約されていないので、通常「非制約委譲」として知られている。
【０００４】
[0003]非制約委譲のセキュリティ問題に対する１つの解決策は、通常、「制約委譲（constrained delegation）」として知られている委譲モデルであり、それによりバックエンドティアサーバーを、ミドルティアサーバーがクライアントの代わりに、またはクライアントとして通信できるサーバーに制限したポリシーが導入された。通常、制約委譲モデル（constrained delegation model）はドメインコントローラーによって動作し、ドメインコントローラーは１つまたは複数の関連ポリシーを参照し、ミドルティアサーバーがクライアントの代わりに、かつクライアントとして１つまたは複数のバックエンドティアサーバーと通信することが許されるかどうかを判定する。例えば、クライアントがミドルティアサーバーにその認証情報を提供した後、ミドルティアサーバーは、バックエンドティア内の１つまたは複数のサーバーに対してクライアントの代わりに、かつクライアントとして動作する権利を、ドメインコントローラーから要求することができる。ドメインコントローラーは１つまたは複数の関連ポリシーを参照して、ミドルティアサーバーの要求を認可するかどうかを決定することができ、ミドルティアサーバーの要求を認可した場合、ドメインコントローラーはサービスチケットまたは他の情報の集合をミドルティアサーバーに提供することができ、サービスチケットまたは他の情報の集合は、ミドルティアサーバーが１つまたは複数のバックエンドティアサーバーに与えることができ、それらのバックエンドティアサーバーとのその通信においてミドルティアサーバーがクライアントの代わりに、かつクライアントとして動作することが許容できるとドメインコントローラーが考えたことを示す。
【０００５】
[0004]残念ながら、制約委譲はネットワーク化されたコンピューター装置の複数のドメイン全体にわたって実装することは困難である可能性がある。より詳細には、１つのドメイン内のバックエンドティアサーバーは、ミドルティアサーバーを含むドメインなどの、別の異なるドメインのドメインコントローラーを必ずしも信用しない。代わりに、ミドルティアサーバーを含むドメインのドメインコントローラーは、直接的に、または、ミドルティアサーバーおよびバックエンドティアサーバーを介して間接的に、バックエンドティアサーバーを含むドメインのドメインコントローラーと通信し、その第２のドメインコントローラーに、ミドルティアサーバーが実際は１つまたは複数のバックエンドティアサーバーに委譲することが許されることを判定できる十分な情報を提供することができる。そのようなモデルは、複数のドメインコントローラーまたは複数のドメインの管理者の協力を必要とするので、実装することが困難である可能性がある。さらに、そのようなモデルは、ミドルティアサーバーが１つまたは複数のバックエンドティアサーバーに委譲することがドメインポリシーによって許されるかどうかに、委譲制約の焦点を合わせる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
バックエンド制約委譲モデル（back-end constrained delegation model）を提供する。
【課題を解決するための手段】
【０００７】
[0005]一実施形態では、ミドルティアコンピューター装置による、バックエンドティアの一部である１つまたは複数のサーバーコンピューター装置への委譲は、ミドルティアコンピューター装置が１つまたは複数のバックエンドティアコンピューター装置に委譲することをドメインポリシーが許すかどうかによってではなく、むしろ１つまたは複数のバックエンドティアコンピューター装置それぞれの個別のポリシーが、ミドルティアコンピューター装置が自分に委譲することを許すかどうかによって判定することができる。その結果、ドメイン管理者の役割は削減され、代わりに、関連ポリシーの意思決定をバックエンドティアコンピューター装置のシステム管理者によって実行することができ、バックエンドティアコンピューター装置のシステム管理者は、そのようなバックエンドティアコンピューター装置によって提供されるサービスにより精通することができる。
【０００８】
[0006]別の実施形態では、ドメインコントローラーコンピューター装置は、ミドルティアコンピューター装置から１つまたは複数のバックエンドティアコンピューター装置に委譲する要求を受信すると、１つまたは複数のバックエンドティアコンピューター装置がドメインコントローラーのドメイン内にあるかどうかを考慮することができる。バックエンドティアコンピューター装置がドメインコントローラーのドメイン内にある場合、ドメインコントローラーコンピューター装置はサービスチケットまたは他の情報の集合をミドルティアコンピューター装置に提供することができ、サービスチケットまたは他の情報の集合は、ミドルティアサーバーが１つまたは複数のバックエンドティアサーバーに与えて、ミドルティアコンピューター装置がクライアントコンピューター装置として、かつその代わりに動作することを可能にすることができる。しかしながら、バックエンドティアコンピューター装置がドメインコントローラーのドメイン内にない場合、ドメインコントローラーコンピューター装置は、代わりにトークンまたは他の情報の集合をミドルティアコンピューター装置に提供することができ、ミドルティアコンピューター装置は、トークンまたは他の情報の集合を異なるドメインの別のドメインコントローラーコンピューター装置に与えて、その他の異なるドメイン内のバックエンドティアコンピューター装置に対してクライアントコンピューター装置として、かつその代わりに動作することができる。
【０００９】
[0007]さらなる実施形態では、ドメインコントローラーコンピューター装置は、ミドルティアコンピューター装置が、１つまたは複数のバックエンドティアコンピューター装置との通信において、クライアントコンピューター装置として、かつその代わりに動作することを最終的に可能にするために利用できるトークン、サービスチケット、または他の同様なデータを提供する前に、ミドルティアコンピューター装置または他のドメインコントローラーコンピューター装置を検証することができる。
【００１０】
[0008]この概要は、下記詳細説明においてさらに記載される概念を集めたものを簡易化された形で紹介するために提供される。この概要は、特許請求された主題の主要な特徴または本質的な特徴を識別するものではなく、特許請求された主題の範囲を限定するために使用されるものでもない。
【００１１】
[0009]別の特徴および利点は、添付図面を参照して進められる以下の詳細説明から明白にされる。
[0010]以下の詳細説明は、添付図面と併用されると最もよく理解することができる。
【図面の簡単な説明】
【００１２】
【図１】[0011]例示的なコンピューター装置の図である。
【図２】[0012]ミドルティアコンピューター装置が同じドメイン内のバックエンドティアコンピューター装置に委譲することを可能にするための例示的な一連の通信を示す系統図である。
【図３】[0013]ミドルティアコンピューター装置が異なるドメイン内のバックエンドティアコンピューター装置に委譲することを可能にするための例示的な一連の通信を示す系統図である。
【図４】[0014]ミドルティアコンピューター装置が異なるドメイン内のバックエンドティアコンピューター装置に委譲することを可能にするための別の例示的な一連の通信を示す系統図である。
【図５】[0015]例示的なミドルティアコンピューター装置の例示的な動作の流れ図である。
【図６】[0016]例示的なドメインコントローラーコンピューター装置の例示的な動作の流れ図である。
【発明を実施するための形態】
【００１３】
[0017]以下の説明は、ミドルティアコンピューター装置がバックエンドティアコンピューター装置に委譲できるかどうかに関する判定が、ミドルティアコンピューター装置が自分に委譲することをバックエンドティアコンピューター装置が許すかどうかによって決定される、委譲モデルに関する。そのような委譲モデルを実装するために、一実施形態では、ドメインコントローラーコンピューター装置は、ミドルティアコンピューター装置からバックエンドティアコンピューター装置に委譲する要求を受信すると、最初にバックエンドティアコンピューター装置がドメインコントローラーのドメイン内にあるかどうかを判定する。バックエンドティアコンピューター装置がドメインコントローラーのドメイン内にある場合、ドメインコントローラーは、サービスチケットまたは他の情報の集合をミドルティアコンピューター装置に提供することができ、サービスチケットまたは他の情報の集合は、ミドルティアコンピューター装置が１つまたは複数のバックエンドティアコンピューター装置に与えて、ミドルティアコンピューター装置がクライアントコンピューター装置として、かつその代わりに動作することを可能にする。しかしながら、バックエンドティアコンピューター装置がドメインコントローラーのドメイン内にない場合、ドメインコントローラーコンピューター装置は、代わりにトークンまたは他の情報の集合をミドルティアコンピューター装置に提供することができ、ミドルティアコンピューター装置は、トークンまたは他の情報の集合を異なるドメインの別のドメインコントローラーコンピューター装置に与えて、その他の異なるドメイン内のバックエンドティアコンピューター装置に対してクライアントコンピューター装置として、かつその代わりに動作することができる。そのような方式では、バックエンドティアコンピューター装置とのその通信において、クライアントコンピューター装置として、かつその代わりに動作するミドルティアコンピューター装置の能力は、バックエンドティアコンピューター装置と同じドメインのドメインコントローラーコンピューター装置によって実施されたポリシーにより、その結果、そのポリシーの指示子としてのバックエンドティアコンピューター装置自体によって、制御することができる。
【００１４】
[0018]本明細書に記載された技法は、「サービスチケット」または「トークン」などの特定のタイプの通信および通信要素を参照する。しかしながら、そのような参照は、下記説明によって詳述される処理および意思決定を知らせるために必要な情報を提供するデータの集合に、学名を割り当てるために提供されるにすぎない。そのような参照は、記載された技法を、その述語がしばしば関連付けられる特定の標準化されたプロトコルに限定するものではない。その結果、当業者は、ケルベロスなどの特定の既存の認証および委譲のプロトコルが、下記に詳述される構成要素のうちの少なくともいくつかを実行するために活用できることを認識できるが、本明細書に提供された説明はそのような既存のプロトコルに限定するものではなく、代わりに、下記に記載されるメカニズムおよび処理の個別の態様を提供し遂行できるメッセージおよびデータの任意の集合に等しく適用可能である。同様に、本明細書に記載された技法は、１つまたは複数の「ドメインコントローラー」コンピューター装置を参照する。そのような参照は表記上の便利さおよび理解のしやすさのために行われ、詳細に記載された技法を、完全なドメインコントローラー機能を実行しなければならないコンピューター装置に限定するものではない。代わりに、当業者によって認識されるように、「ドメインコントローラー」を参照して下記に詳細に記載される機能は、任意の信用がある中央権限のコンピューター装置によって実行することができる。その結果、本明細書において利用されるように、用語「ドメインコントローラー」は任意の信用がある中央権限を意味し、用語「ドメインコントローラーコンピューター装置」は、信用がある中央権限を含み実装する１つまたは複数のコンピューター装置を意味する。
【００１５】
[0019]必要ではないが、下記の説明は、コンピューター装置によって実行されるプログラムモジュールなどのコンピューター実行可能命令の一般的な文脈内にある。より詳細には、説明は、特に断りのない限り、１つまたは複数のコンピューター装置または周辺装置によって実行される動作の動きおよび記号表現を参照する。そのため、時々コンピューター実行されたと呼ばれるそのような動きおよび動作は、構造化された形でデータを表現する電気信号の処理単位による操作を含むことが理解されよう。この操作はデータを変換するか、またはメモリ内の場所でそれを保持し、当業者によってよく理解される方式でコンピューター装置または周辺装置の動作を再構成するか、またはその他の方法で変更する。データが保持されるデータ構造は、データのフォーマットによって定義された特定の性状をもつ物理的な場所である。
【００１６】
[0020]一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、コンピューター装置が従来のパーソナルコンピューターに限定される必要はなく、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電子装置、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューターなどを含む、他のコンピューター構成を含むことを、当業者は理解されよう。同様に、メカニズムは、通信ネットワークを介してリンクされた分散コンピューター環境内でも実践することができるので、コンピューター装置はスタンドアロンのコンピューター装置に限定される必要はない。分散コンピューター環境では、プログラムモジュールはローカルとリモートのどちらのメモリ記憶装置内にも位置することができる。
【００１７】
[0021]図１を参照すると、下記に記載される方法の中で使用され、方法を支援できるハードウェア構成要素を一部に含む、例示的なコンピューター装置１００が示される。例示的なコンピューター装置１００は、１つまたは複数の中央処理装置（ＣＰＵ）１２０、システムメモリ１３０、および、システムメモリを含むさまざまなシステム構成部品を処理装置１２０に結合するシステムバス１２１を含むことができるが、それらに限定されない。システムバス１２１は、メモリバスまたはメモリコントローラー、周辺機器用バス、および、任意のさまざまなバスアーキテクチャを使用するローカルバスを含む、任意のいくつかのタイプのバス構造であり得る。特定の物理的な実装形態に応じて、ＣＰＵ１２０、システムメモリ１３０、および、コンピューター装置１００の他の構成部品のうちの１つまたは複数は、単一チップ上などの物理的に同一の場所に配置することができる。そのような場合、システムバス１２１の一部または全部は単一チップ構造内のシリコン経路にすぎず、図１でのその例示は例示目的のための表記上の便利さにすぎない。
【００１８】
[0022]また、通常、コンピューター装置１００はコンピューター可読媒体を含み、コンピューター可読媒体は、コンピューター装置１００によってアクセスできる任意の利用可能な媒体を含むことができる。例として、かつ限定なしに、コンピューター可読媒体はコンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装された媒体を含む。コンピューター記憶媒体は、所望の情報を格納するために使用でき、コンピューター装置１００によってアクセスできる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、またはその他の媒体を含むが、それらに限定されない。通信媒体は、通常、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の搬送機構などの変調データ信号で具現化し、任意の情報送達媒体を含む。例として、かつ限定なしに、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記の任意の組合せも、コンピューター可読媒体の範囲内に含まれるべきである。
【００１９】
[0023]通信媒体を使用すると、コンピューター装置１００は、１つまたは複数のリモートコンピューターへの論理接続を介して、ネットワーク化された環境で動作することができる。図１で描写された論理接続は、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、または他のネットワークであり得るネットワーク１８０への汎用ネットワーク接続１７１である。コンピューター装置１００は、ネットワークインタフェースまたはアダプター１７０を介して汎用ネットワーク接続１７１に接続され、ネットワークインタフェースまたはアダプター１７０はシステムバス１２１に接続される。ネットワーク化された環境では、コンピューター装置１００またはその一部もしくは周辺装置に関連して描写されたプログラムモジュールは、汎用ネットワーク接続１７１を介してコンピューター装置１００に通信結合された１つまたは複数の他のコンピューター装置のメモリに格納することができる。図示されたネットワーク接続は例示的であり、コンピューター装置間の通信リンクを確立する他の手段を使用できることが理解されよう。
【００２０】
[0024]コンピューター記憶媒体の中で、システムメモリ１３０は、リードオンリメモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２を含む、揮発性および／または不揮発性メモリの形態のコンピューター記憶媒体を含む。とりわけコンピューター装置１００をブートするためのコードを含む基本入出力システム１３３（ＢＩＯＳ）は、ＲＯＭ１３１に格納される。ＲＡＭ１３２は、通常、処理装置１２０によってすぐにアクセスできるデータ、および／または処理装置１２０によって現在実行されているプログラムモジュールを含む。例として、かつ限定なしに、図１は、オペレーティングシステム１３４、他のプログラムモジュール１３５、およびプログラムデータ１３６を示す。ＲＡＭ１３２は、ＴＣＧイベントログ１９０などのＴＰＭ１５０の動作に関連し得るデータをさらに含むことができる。一実施形態では、ＴＣＧイベントログ１９０は、通電されてから、または最後にリスタートされてからコンピューター装置１００によってロードされるか、または実行されたすべてのモジュール、すなわちそのローディングまたは実行が１つまたは複数のＰＣＲでＴＰＭ１５０によって現在保持されている値をもたらした可能性がある同じモジュールの、ユニークな識別を含むことができる。
【００２１】
[0025]また、コンピューター装置１００は、他のリム−バル／非リム−バル、揮発性／不揮発性のコンピューター記憶媒体を含むことができる。例にすぎないが、図１は、非リム−バル、不揮発性の媒体に読み書きするハードディスクドライブ１４１を示す。例示的なコンピューター装置で使用できる他のリム−バル／非リム−バル、揮発性／不揮発性のコンピューター記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどを含むが、それらに限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０などの非リム−バルメモリインタフェースを介して、システムバス１２１に接続される。
【００２２】
[0026]上述され、図１で示されたドライブおよびそれらに関連するコンピューター記憶媒体は、コンピューター装置１００用のコンピューター可読命令、データ構造、プログラムモジュール、および他のデータを格納する。図１では、例えばハードディスクドライブ１４１は、オペレーティングシステム１４４、他のプログラムモジュール１４５、およびプログラムデータ１４６を格納するように示される。これらの構成部品は、オペレーティングシステム１３４、他のプログラムモジュール１３５、およびプログラムデータ１３６と同じでもよいし、異なってもよいことに留意されたい。オペレーティングシステム１４４、他のプログラムモジュール１４５、およびプログラムデータ１４６は、少なくともそれらが異なるコピーであることを示すために、本明細書では異なる番号が与えられる。
【００２３】
[0027]図２を参照すると、その中に示されたシステム２００は、４台のコンピューター装置、すなわちクライアントコンピューター装置２１０、ミドルティアコンピューター装置２２０、バックエンドコンピューター装置２３０、およびドメインコントローラーコンピューター装置２４０を含む。これらのコンピューター装置のそれぞれは、たった今記載した例示的なコンピューター装置１００の形態になることができ、例示的なコンピューター装置１００を参照して上記に詳述された構成部品の一部または全部を含むことができる。図２のシステム２００のコンピューター装置は、ネットワーク１８０への通信接続を介して通信結合されているように示される。説明を簡単にするために、ネットワーク１８０は単一の図解的な構成要素によって図示されるが、単一のネットワークドメインまたはその他の同様なネットワーク区分もしくは構造に限定されるものではなく、図２のシステム２００でも示されたドメインＡ２９０の外側にあるネットワークを説明するものでもない。代わりに、図で利用されるように、ネットワーク１８０は、示されたさまざまなドメインを含む、図で示されたシステムコンピューター装置間のネットワーク通信接続のすべてを表現するものであり、直接と間接のどちらの通信接続も表現するものである。したがって、例えば図２で示されたシステム２００は、それによりクライアントコンピューター装置２１０が、ネットワーク１８０を介してミドルティアコンピューター装置２２０と直接的または間接的に通信できる、一連の例示的な通信を示す。図２のシステム２００は、それによりミドルティアコンピューター装置２２０が、再度ネットワーク１８０を介してドメインコントローラーコンピューター装置２４０およびバックエンドコンピューター装置２３０と、再度直接的または間接的に通信できる、例示的な一連の通信をさらに示す。したがって、ミドルティアコンピューター装置２２０、ドメインコントローラーコンピューター装置２４０、およびバックエンドコンピューター装置２３０は、すべて同じドメインＡ２９０の一部として示されるが、以前に示したように、ネットワーク１８０はドメインＡ２９０を含むものと考えられ、ドメインＡ２９０とは別個でそれから離れたネットワーク装置として考えられるものではない。下記に詳述されるように、図示された通信は、バックエンドコンピューター装置２３０などのバックエンドティアコンピューター装置に対して、ミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０の代わりに動作することを可能にできる委譲メカニズムの例示的な動作を示す。
【００２４】
[0028]最初に、図２のシステム２００によって示されたように、クライアントコンピューター装置２１０は、ドメインコントローラーコンピューター装置２４０によって署名できるクライアント識別子または他のデータの集合を、通信２１５を介して提供することにより、ミドルティアコンピューター装置２２０などのミドルティアコンピューター装置にそれ自体を認証することができる。例えば、一実施形態では、ミドルティアコンピューター装置２２０との通信２１５などの通信を開始する前に、クライアントコンピューター装置２１０は、最初にドメインコントローラーコンピューター装置２４０からクライアント識別子を取得することができる。当業者によって認識されるように、ドメインコントローラーコンピューター装置２４０は、そのようなクライアント識別子を提供する前に、クライアントコンピューター装置２１０の評価を実行することができる。例えば、ドメインコントローラーコンピューター装置２４０は、クライアントコンピューター装置２１０が、例えばアンチマルウェアソフトウェアアプリケーションプログラムの最新バージョンがインストールされていること、または別の例として、クライアントコンピューター装置２１０に存在するさまざまなオペレーティングシステムおよびソフトウェアアプリケーションプログラム用に最新パッチがインストールされていること、などの関連するセキュリティ設定に準拠することを確認することができる。そのような情報は、ドメインコントローラーコンピューター装置２４０とのその通信の一部として、クライアントコンピューター装置２１０によって提供することができ、例えば、クライアントコンピューター装置２１０によってセキュリティ検証可能な方式で保持することができるイベントログを参照して、ドメインコントローラーコンピューター装置で確認することができる。
【００２５】
[0029]クライアントコンピューター装置２１０がドメインコントローラーコンピューター装置２４０によって制御され図２で示された網掛けされた領域によって示されたドメインＡ２９０内の他のコンピューター装置と通信することが許されると、ドメインコントローラーコンピューター装置２４０が判定すると、ドメインコントローラーコンピューター装置２４０は、クライアント識別子または他の識別データの集合をクライアントコンピューター装置２１０に提供することができる。そのようなクライアント識別子または他の識別データは、ドメインコントローラー２４０によって署名することができ、その結果ドメインＡ２９０内の他のコンピューター装置がその信頼性を確認することができる。例えば、ミドルティアコンピューター装置２２０およびバックエンドコンピューター装置２３０などのドメインＡ２９０内のその他のコンピューター装置のそれぞれは、ドメインコントローラーコンピューター装置２４０の公開鍵へのアクセス権をもつことができる。したがって、ドメインコントローラーコンピューター装置２４０が、ドメインＡ２９０内のその他のコンピューター装置が所有する公開鍵に対応するその公開鍵でクライアント識別子に署名した場合、その他のコンピューター装置のそれぞれは、当業者によく知られている方式でその公開鍵を参照して、そのような署名を確認することができる。あるいは、公開鍵／専用鍵のペアに依存するよりむしろ、署名は、ドメインコントローラーコンピューター装置２４０と、ドメインコントローラーコンピューター装置２４０と通信するドメインＡ２９０などのドメイン内のコンピューター装置との間で保持された、１つまたは複数の共有対称鍵で実行することができる。
【００２６】
[0030]したがって、クライアントコンピューター装置２１０が通信２１５を介してミドルティアコンピューター装置２２０にそのクライアント識別子を送信すると、ミドルティアコンピューター装置２２０は、例えばドメインコントローラーコンピューター装置２４０の公開鍵を利用して、通信２１５内でクライアントコンピューター装置２１０によって提供されたクライアント識別子が、実際にはドメインコントローラーコンピューター装置２４０によって署名されたことを確認することができる。クライアントコンピューター装置２１０のそのような確認に続いて、ミドルティアコンピューター装置２２０は、クライアントコンピューター装置２１０からの要求を受け入れることができ、それらの要求の一部として、クライアントコンピューター装置２１０のユーザーが要求された情報または資源にアクセスすることを認可することを証明するために、クライアントコンピューター装置２１０が何らかの識別または認証の情報を提供することを要求することができる。さらに下記に詳述されるように、そのような識別および認証の情報は、その後、バックエンドコンピューター装置２３０などのバックエンドティアコンピューター装置に対してクライアントコンピューター装置２１０の代わりに動作するために、ミドルティアコンピューター装置２２０によって利用することができる。
【００２７】
[0031]以前に示したように、クライアントコンピューター装置２１０のユーザーによって要求された情報または資源は、必ずしもミドルティアコンピューター装置２２０と同一の場所に配置されなくてもよい。代わりに、ミドルティアコンピューター装置２２０は、クライアントコンピューター装置２１０用の単一の通信エンドポイントとして動作して、無数の要求のうちの任意の１つを行うことができ、次いで、ミドルティアコンピューター装置２２０は、バックエンドコンピューター装置２３０などの適切なバックエンドティアコンピューター装置と通信して、クライアントコンピューター装置２１０のユーザーによって要求された、関連する情報または資源にアクセスすることができる。そのような方式では、ミドルティアコンピューター装置２２０などの単一のミドルティアコンピューター装置は、複数のバックエンドティアコンピューター装置全体にわたって分散することができる無数の情報または他の資源にアクセスすることができるが、説明を簡単にするために、単一のバックエンドティアコンピューター装置のみ、すなわちバックエンドコンピューター装置２３０が図２のシステム２００で示される。
【００２８】
[0032]通信２１５を介して送信されたクライアントＩＤなどを参照して、ミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０を検証した後、かつ、図が混み合わないようにするためにその通信は図２のシステム２００では明確に示されていないが、ミドルティアコンピューター装置２２０が識別および認証の情報をクライアントコンピューター装置２１０のユーザーから受信した後、ミドルティアコンピューター装置２２０は、あたかもクライアントコンピューター装置２１０であったように、バックエンドコンピューター装置２３０などの適切なバックエンドティアコンピューター装置と通信することが許されるように要求することができる。一実施形態では、そのような要求２２５は、ドメインコントローラーコンピューター装置２４０が要求２２５を評価し、それに基づいて動作するために利用できる情報と一緒に、ドメインコントローラーコンピューター装置２４０に送信することができる。例えば、図２のシステム２００で示されたように、ミドルティアコンピューター装置２２０は、要求２２５で、クライアントコンピューター装置２１０から通信２１５を介して受信したクライアント識別子２５０を提供することができ、クライアント識別子２５０はドメインコントローラーコンピューター装置２４０によって署名される。同様に、また示されたように、ミドルティアコンピューター装置２２０は、要求２２５で、クライアント識別子２５０のようにドメインコントローラーコンピューター装置２４０によって署名される、それ自体の識別子２６０を提供することができる。
【００２９】
[0033]一実施形態では、ドメインコントローラーコンピューター装置２４０は、要求２２５ならびに識別子２５０および２６０を受信すると、それぞれ識別子２５０および２６０を参照して、クライアントコンピューター装置２１０およびミドルティアコンピューター装置２２０を確認することができる。ドメインコントローラーコンピューター装置は、またミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０に委譲することを許すかどうかを判定する前に、ミドルティアコンピューター装置２２０が委譲することを望むバックエンドコンピューター装置２３０が、実際にはドメインコントローラーコンピューター装置２４０のドメインＡ２９０内にあるかどうかを、最初に判定することができる。したがって、破線２３５によって図２のシステム２００で表現されたように、ドメインコントローラーコンピューター装置２４０は、バックエンドコンピューター装置２３０がそのドメイン２９０内にあるかどうかを判定することができる。バックエンドコンピューター装置２３０がドメインＡ２９０内にある場合、ドメインコントローラーコンピューター装置２４０は、１つまたは複数のポリシーを参照して、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すかどうかを判定することができる。
【００３０】
[0034]一実施形態では、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すかどうかのドメインコントローラーコンピューター装置２４０による判定は、少なくとも一部は、バックエンドコンピューター装置２３０自体によって確立できるポリシーにより、またはより詳細には、バックエンドコンピューター装置２３０の管理者によって知らせることができる。当業者によって認識されるように、バックエンドコンピューター装置２３０は自分に委譲することを誰に任せることができるか適正に判定することを任せることができるので、バックエンドコンピューター装置２３０がポリシーを設定することを許すことは、何らかのセキュリティリスクを呼び込むか、またはドメインコントローラーコンピューター装置２４０の機能を不法に用いる必要はない。別の表現で言うと、バックエンドコンピューター装置２３０は、自分に委譲することを他に任せるための基準を規定するポリシーを確立することを任せることができる。
【００３１】
[0035]一実施形態では、ドメインコントローラーコンピューター装置２４０は、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すかどうかを判定する１つまたは複数のポリシーを評価しながら、クライアントコンピューター装置２１０を参照して上述された方式と同様の方式で、ミドルティアコンピューター装置２２０の評価を実行することができる。例えば、ドメインコントローラーコンピューター装置２４０は、ミドルティアコンピューター装置２２０が、例えばアンチマルウェアソフトウェアアプリケーションプログラムの最新バージョンがインストールされていること、または別の例として、クライアントコンピューター装置２１０に存在するさまざまなオペレーティングシステムおよびソフトウェアアプリケーションプログラム用に最新パッチがインストールされていること、などの関連するセキュリティ設定に準拠することを確認することができる。より詳細には、ドメインコントローラーコンピューター装置２４０によって参照されるポリシーは、示されたようにバックエンドコンピューター装置２３０によって確立できるポリシーを含み、例えば、たった今記載した関連するセキュリティ設定を参照する条件を含む特定の条件が満たされた場合にのみ、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すことを、指定することができる。しかしながら、関連するポリシーは、ミドルティアコンピューター装置２２０のセキュリティ態様の分析のみに限定されず、代わりに、例えば利用されるオペレーティングシステムのタイプ、取り付けられた周辺装置のタイプ、コンピューター装置のハードウェア構成、または、その他の情報もしくは情報の集合を含む、任意の情報または情報の集合に基づいて、バックエンドコンピューター装置２３０に委譲することを許されるコンピューター装置を限定することができる。そのような情報は、ドメインコントローラーコンピューター装置２４０によりミドルティアコンピューター装置２２０から、ミドルティアコンピューター装置２２０の識別子２６０の一部として、またはドメインコントローラーコンピューター装置２４０とミドルティアコンピューター装置２２０の間の次の通信の一部として、収集することができる。
【００３２】
[0036]一実施形態では、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０に委譲することを許すかどうかを判定するために、ドメインコントローラーコンピューター装置２４０によって参照される１つまたは複数のポリシーは、ミドルティアコンピューター装置２２０に存在するサービス、ならびに物理的なミドルティアコンピューター装置２２０自体の両方を参照することができる。そのような実施形態では、ミドルティアコンピューター装置２２０の識別子２６０は、物理的なコンピューター装置自体の識別子だけでなく、ミドルティアコンピューター装置２２０上で実行され、委譲を実行するための、１つもしくは複数のサービスまたは他のコンピューター実行可能命令の集合の識別子をも含むことができる。その結果、下記説明の目的のために、ミドルティアコンピューター装置２２０の識別子２６０などの識別子への参照は、物理装置自体の識別子、委譲を実行するための１つもしくは複数のサービスまたは他の実行するコンピューター実行可能命令の識別子、またはその組合せを含むものである。
【００３３】
[0037]そのようなポリシーを考慮して、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すとドメインコントローラーコンピューター装置２４０が判定した場合、ドメインコントローラーコンピューター装置２４０は、通信２４５によって示されたように、ドメインコントローラーによって署名できるサービスチケットまたは他の情報の集合を提供することができ、サービスチケットまたは他の情報の集合は、ミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０としてバックエンドコンピューター装置２３０と通信することが許されることを示すことができる。次いで、ミドルティアコンピューター装置２２０は通信２４５を受信すると、以前にクライアントコンピューター装置２１０から受信した要求を、通信２５５によって示されたようにバックエンドコンピューター装置２３０に対して次に行うことができる。また、通信２５５は、図２のシステム２００によって示されたように、通信２４５を介してミドルティアコンピューター装置２２０によりドメインコントローラーコンピューター装置２４０から受信することができた、サービスチケット２７０を含むことができる。
【００３４】
[0038]図が混み合わないようにするために図２のシステム２００では詳細に示されていないが、バックエンドコンピューター装置２３０は、ドメインコントローラーの公開鍵などを参照して、クライアント要求２５５で提供されたサービスチケット２７０を評価して、それが実際には適切および適正な署名付きサービスチケットであることを確認することができ、バックエンドコンピューター装置２３０がそのように判定した場合、あたかもミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０であったように、ミドルティアコンピューター装置２２０との通信に進むことができる。そのため、クライアントコンピューター装置２１０がバックエンドコンピューター装置２３０と直接通信していた場合、バックエンドコンピューター装置２３０に対してそれ自体を認証する必要があったのと同じように、バックエンドコンピューター装置２３０はミドルティアコンピューター装置２２０が認証することを要求することができる。そのような認証では、バックエンドコンピューター装置２３０は、クライアントコンピューター装置２１０それ自体の識別情報に基づいて、クライアントコンピューター装置２１０の個別のユーザーもしくはユーザーのグループの識別情報に基づいて、またはそれらの任意の組合せで、クライアントの要求を認可するかどうかを判定することができる。その結果、そのような認証の目的のために、ミドルティアコンピューター装置２２０は、そのような情報をクライアントコンピューター装置２１０から取得することができ、最初の通信２５５の一部として、または次の通信の一部として、それをバックエンドコンピューター装置２３０に提供することができる。
【００３５】
[0039]そのような方式では、ミドルティアコンピューター装置２２０は、バックエンドコンピューター装置２３０から、クライアントコンピューター装置２１０によって要求された情報および資源を取得することができ、その後、ミドルティアコンピューター装置２２０は、クライアントコンピューター装置の元の要求に応じて、そのような情報および資源をクライアントコンピューター装置２１０に返すことができる。当業者によって認識されるように、別のバックエンドティアコンピューター装置をドメインＡ２９０内に追加することができ、ミドルティアコンピューター装置２２０は、同様の方式でそれらのバックエンドティアコンピューター装置に委譲することが許され、それによって、クライアントコンピューター装置２１０がその情報およびそれらの資源にアクセスするために、単一の通信参照先、恐らくミドルティアコンピューター装置２２０をもつことを依然可能にしながら、ミドルティアコンピューター装置２２０が潜在的に実質的に無制限の量の情報および資源にアクセスすることが可能になる。さらに、今記載されたメカニズムは再帰的な方式で利用することができ、そこでは、例えばバックエンドコンピューター装置２３０が今度はミドルティアコンピューター装置として動作することができ、さらに、異なるバックエンドコンピューター装置に委譲することができる。そのようなさらなる委譲は、本明細書に記載されたメカニズムに従って実行することができ、類似の方式で評価できる個別に設定可能なポリシーに基づくことができる。
【００３６】
[0040]以前に示したように、図２の例示的なシステム２００は単一のバックエンドコンピューター装置２３０のみを示すが、本明細書に提供された説明は、単一のミドルティアコンピューター装置と複数のバックエンドティアコンピューター装置との間の通信に等しく適用可能であり、そこではミドルティアコンピューター装置はクライアントコンピューター装置用のアグリゲーターとして動作する。例えば、クライアントコンピューター装置２１０が、例えばバックエンドコンピューター装置２３０および他のバックエンドティアコンピューター装置を含む複数のバックエンドティアコンピューター装置全体にわたって分散した情報に対する要求を行った場合、ミドルティアコンピューター装置２２０は、上述した方式および下記でさらに詳細に記載される方式と同様の方式で、そのような他のバックエンドティアコンピューター装置に委譲することができる。次いで、ミドルティアコンピューター装置２２０は、図２に示され、本明細書における説明で参照されたバックエンドコンピューター装置２３０を含むことができるそれらの複数のバックエンドティアコンピューター装置から関連情報を取得することができ、クライアントコンピューター装置２１０用のそのような情報を収集し集約した後、そのような装置によって行われた要求への応答として、クライアントコンピューター装置２１０にそれを与えることができる。
【００３７】
[0041]他の実施形態では、ミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０の代わりに委譲する必要があるバックエンドコンピューター装置２３０は、クライアントコンピューター装置２１０の要求に応答するために、必ずしもドメインＡ２９０などの同じドメイン内になくてもよい。図３を参照すると、その中に示されたシステム３００はマルチドメインシステムを示し、そこではドメインコントローラーコンピューター装置２４０およびミドルティアコンピューター装置２２０はドメインＡ２９０内に留まるが、ミドルティアコンピューター装置２２０が委譲する必要があるバックエンドコンピューター装置２３０は、それ自体のドメインコントローラーコンピューター装置３４０をもつことができるドメインＢ３９０の一部であり得る。ドメインＡ２９０のドメインコントローラーコンピューター装置２４０をドメインＢ３９０のドメインコントローラーコンピューター装置３４０から区別する目的で、簡略記号「ＤＣ１」がドメインＡ２９０のドメインコントローラー２４０を参照するために図３で利用され、簡略記号「ＤＣ２」がドメインＢ３９０のドメインコントローラー３４０を参照するために図３で利用される。さらに、図２で以前に示された同じ通信および構成要素は、図３のシステム３００でそれらの同じ数字識別子を保持する。
【００３８】
[0042]したがって、図３のシステム３００が示すように、クライアントコンピューター装置２１０は、以前に記載された方式でミドルティアコンピューター装置２２０と依然通信することができ、ミドルティアコンピューター装置２２０も、以前に記載された方式でドメインコントローラーコンピューター装置２４０と依然通信することができる。しかしながら、ミドルティアコンピューター装置２２０から以前に記載された通信２２５を介して、クライアントコンピューター装置２１０としてバックエンドコンピューター装置２３０と通信する要求を受信すると、以前にも記載したように、ドメインコントローラーコンピューター装置２４０は、破線２３５によって示されたように、バックエンドコンピューター装置２３０がドメインコントローラーコンピューター装置２４０と同じドメイン、すなわちドメインＡ２９０内にあるかどうかを判定することができる。図３のシステム３００によって表現された特定の例では、図に示すように、バックエンドコンピューター装置２３０はドメインコントローラーコンピューター装置２４０と同じドメイン内にはない。
【００３９】
[0043]その結果、ドメインコントローラーコンピューター装置２４０は、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すかどうかを判定するポリシーを評価するよりむしろ、代わりに、通信３１５を介してミドルティアコンピューター装置２２０に、ドメインコントローラーコンピューター装置２４０によって署名できるトークンまたは他の情報の集合を提供することができる。そのようなトークンまたは他の情報の集合により、ミドルティアコンピューター装置２２０がその委譲要求を、図３の示された例ではドメインコントローラーコンピューター装置３４０などの異なるドメインコントローラーコンピューター装置に送ることが可能になる。したがって、一実施形態では、通信３１５を介して提供されたトークンは、ドメインコントローラーコンピューター装置３４０に送ることができる。
【００４０】
[0044]通信３１５によって提供されたトークンを受信すると、ミドルティアコンピューター装置２２０は、以前に記載された要求２２５に類似し得る要求３２５を、ドメインＢ３９０内のドメインコントローラーコンピューター装置３４０に送信することができる。しかしながら、以前に記載された要求２２５も、ドメインコントローラーコンピューター装置２４０によって両方とも署名されるクライアント識別子２５０およびミドルティア識別子２６０を含んだが、ミドルティアコンピューター装置２２０がドメインコントローラーコンピューター装置３４０に送った要求３２５は、通信３１５によって受信された、以前に記載されたトークンであり得るトークン３２０を含むことができ、ドメインコントローラーコンピューター装置２４０によって署名されるミドルティアコンピューター装置２２０の識別子３３０も含むことができる。一実施形態では、通信３１５を介して提供されたトークン３２０のように、ミドルティアコンピューター装置２２０の識別子３３０は、同様にドメインコントローラーコンピューター装置３４０に送ることができる。そのような実施形態では、通信３１５の一部として、または、通信３１５とともに発生する通信の一部として、ミドルティアコンピューター装置２２０は、ドメインコントローラーコンピューター装置２４０から、ドメインコントローラーコンピューター装置２４０によって署名され、ドメインコントローラーコンピューター装置３４０に送られる識別子３３０を、要求またはその他の方法で受信することができる。さらに、一実施形態では、トークン３２０および識別子３３０は、例えばドメインコントローラーコンピューター装置２４０から直接提供された経路、または他の代替の経路を含む代替の経路を介して、ドメインコントローラーコンピューター装置３４０に送信することができる。
【００４１】
[0045]ドメインコントローラーコンピューター装置３４０が要求３２５を受信すると、最初に、ドメインコントローラーコンピューター装置２４０に関して以前に記載された方式に類似する方式で、要求３２５によって参照されるバックエンドコンピューター装置２３０が、ドメインコントローラーコンピューター装置３４０と同じドメイン、すなわち図３に示された例示的なシステム３００におけるドメインＢ３９０内にあるかどうかを判定することができる。前述のように、そのような判定は破線３３５を介して図３で示される。本例では、バックエンドコンピューター装置２３０はドメインコントローラーコンピューター装置３４０と同じドメイン、すなわちドメインＢ３９０内にあるので、ドメインコントローラーコンピューター装置３４０は、１つまたは複数のポリシーなどを参照して、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すかどうかを、次に判定することができる。
【００４２】
[0046]そのような判定を行う際に、ドメインコントローラーコンピューター装置３４０は、要求３２５の一部としてミドルティアコンピューター装置２２０によって提供されたトークン３２０およびミドルティア識別子３３０が、ドメインコントローラーコンピューター装置２４０によって適正に署名されたことを最初に確認することができる。例えば、ドメインコントローラーコンピューター装置３４０は、ドメインコントローラーコンピューター装置３４０がアクセス権を有するドメインコントローラーコンピューター装置２４０の公開鍵を参照して、そのような判定を行うことができる。ドメインコントローラーコンピューター装置３４０は、そのような確認を実行すると、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０などによりそれに委譲することを許されるかどうかを判定するために、１つまたは複数のポリシーを調査することができる。以前に示したように、バックエンドコンピューター装置２３０は自分に委譲することを誰に任せることができるか適正に判定することを任せることができるので、ドメインコントローラーコンピューター装置３４０によって調査されるポリシーは、バックエンドコンピューター装置２３０によって確立されたポリシーを含むことができる。また以前に示したように、ドメインコントローラーコンピューター装置３４０によって調査されるポリシーは、例えば、ミドルティアコンピューター装置２２０によって実行されるオペレーティングシステム、ミドルティアコンピューター装置２２０のハードウェア、および、最新のパッチが適用されているか、アンチマルウェアソフトウェアの最新バージョンが利用されているかなどのミドルティアコンピューター装置２２０のセキュリティ属性を含む、ミドルティアコンピューター装置２２０の実質的に任意の態様を参照することができる。そのような情報は、ミドルティアコンピューター装置２２０により通信３２５を介してドメインコントローラーコンピューター装置３４０に提供できるミドルティア識別子３３０に含むことができるか、または別法として、そのような情報は、通信３２５とともに実行されるドメインコントローラーコンピューター装置３４０とミドルティアコンピューター装置２２０の間のさらなる通信交換を介して提供することができる。
【００４３】
[0047]上記の評価に基づいて、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０に委譲することを許されるべきとドメインコントローラーコンピューター装置３４０が判定した場合、ドメインコントローラーコンピューター装置は図３に示された通信３４５を介して、サービスチケットまたは他の情報の集合を提供することができ、サービスチケットまたは他の情報の集合はドメインコントローラーコンピューター装置３４０によって署名することができ、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０に委譲することを可能にすることができる。以前に記載したように、次いで、ミドルティアコンピューター装置２２０は、最初はクライアントコンピューター装置２１０によりミドルティアコンピューター装置２２０に対して行われた、バックエンドコンピューター装置２３０に対する要求を、通信３５５によって示されたように行うことができる。さらに、要求３５５は、通信３４５を介してドメインコントローラーコンピューター装置３４０から提供できたサービスチケット３７０を含むことができる。
【００４４】
[0048]前述のように、要求３５５を受信すると、バックエンドコンピューター装置２３０は、サービスチケット３７０を評価し、それが、図３に示された図解例内のドメインＢ３９０などの、バックエンドコンピューター装置２３０を含むドメインのドメインコントローラーコンピューター装置３４０によって適正に署名されたことを確認することができる。バックエンドコンピューター装置２３０がサービスチケット３７０を確認した場合、あたかもミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０であったかのように、バックエンドコンピューター装置２３０はミドルティアコンピューター装置２２０との通信に進むことができる。そのような方式では、ミドルティアコンピューター装置２２０は、クライアントコンピューター装置２１０の代わりにバックエンドコンピューター装置２３０から情報および資源を取得することができ、次いで、クライアントコンピューター装置２１０によりミドルティアコンピューター装置２２０に送られた要求に応じて、その情報およびそれらの資源をクライアントコンピューター装置２１０に与えることができる。
【００４５】
[0049]ある特定の状況では、ミドルティアコンピューター装置２２０は、最終的にバックエンドコンピューター装置２３０などのバックエンドティアコンピューター装置に委譲できる前に、２つ以上のドメイン内のドメインコントローラーコンピューター装置と通信する必要があり得る。そのような状況では、ドメインコントローラーコンピューター装置の動作、および当然システム全体の動作は、上述の方式に類似する方式で進めることができる。図４を参照すると、その中に示されたシステム４００は、そのようなシステム、ならびにその中に示されたさまざまな構成要素の動作および通信の説明のための一例を提供する。図に示すように、ミドルティアコンピューター装置２２０は、バックエンドコンピューター装置２３０に委譲することを試みる際に、最初に通信２２５を介してドメインコントローラーコンピューター装置２４０にコンタクトすることができ、ドメインコントローラーコンピューター装置２４０は、破線２３５によって示された評価に基づいて、バックエンドコンピューター装置２３０がドメインコントローラーコンピューター装置２４０のドメイン、すなわち図４の例示的なシステム４００におけるドメインＡ２９０内にないことを判定することができる。その結果、前述のように、ドメインコントローラーコンピューター装置２４０は、通信３１５などを介してミドルティアコンピューター装置２２０に、別のドメインコントローラーコンピューター装置に対するトークンを提供することができる。次いで、以前にも記載したように、ミドルティアコンピューター装置２２０は通信３２５を介してトークン３２０およびミドルティア識別子３３０を、異なるドメイン、すなわち図４に示された例示的なシステム４００におけるドメインＢ３９０内のドメインコントローラーコンピューター装置３４０に提供することができる。
【００４６】
[0050]しかしながら、図４の例示的なシステム４００では、ミドルティアコンピューター装置２２０が委譲することを求めるバックエンドコンピューター装置２３０は、ドメインＢ３９０の一部ではない。代わりに、一実施形態では、ドメインＢ３９０は、図４に示された例示的なシステム４００におけるドメインＣ４９０などのバックエンドコンピューター装置２３０をもつドメインに「近い」ドメインにすぎない可能性がある。ドメインＢ３９０のドメインコントローラーコンピューター装置３４０は、それに対するトークンが生成され、ミドルティアコンピューター装置２２０に提供されると、ドメインＢ３９０がバックエンドコンピューター装置２３０に「より近かった」とドメインコントローラーコンピューター装置２４０が信じたので、ドメインコントローラーコンピューター装置２４０によって選択された可能性がある。一実施形態では、少なくとも、ドメインコントローラーコンピューター装置２４０は、次のドメインコントローラーコンピューター装置を選択する際に、参照が最終的に一巡してそれ自体に戻ってこないことを保証することができる。図４の例示されたシステム４００に戻ると、図４で破線３３５によって示されたような、ドメインコントローラーコンピューター装置３４０によるバックエンドコンピューター装置２３０がそのドメイン内にあるかどうかの判定は、バックエンドコンピューター装置２３０が、実際にはドメインコントローラーコンピューター装置３４０と同じドメイン、すなわちドメインＢ３９０内にないことを明らかにすることができる。その結果、ドメインコントローラーコンピューター装置２４０を参照して上述された方式に類似する方式で、ドメインコントローラーコンピューター装置３４０は、ドメインコントローラーコンピューター装置３４０によって署名され、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０とのその通信においてクライアントコンピューター装置２１０として動作することを求めることを示すトークンを、ミドルティアコンピューター装置２２０に提供する応答３４５をミドルティアコンピューター装置２２０に提供することができる。前述のように、一実施形態では、通信３４５を介して提供されたトークンは、ドメインＣ４９０内のドメインコントローラーコンピューター装置４４０などの、別の特定のドメインコントローラーコンピューター装置に送ることができる。前述のように、図４に示されたドメインコントローラーコンピューター装置を区別するために、ドメインコントローラーコンピューター装置４４０を参照する簡易記号「ＤＣ３」が図４で利用される。
【００４７】
[0051]ドメインコントローラーコンピューター装置３４０から通信３４５を受信すると、ミドルティアコンピューター装置２２０は、前述のように、クライアントコンピューター装置２１０としてバックエンドコンピューター装置２３０と通信する要求４２５を、図４で示された例示的なシステム４００ではドメインコントローラーコンピューター装置４４０などの、通信３４５によって指定されたその他のドメインコントローラーコンピューター装置に送ることができる。要求４２５は、ドメインコントローラーコンピューター装置３４０から通信３４５によって受信された可能性があるトークン４２０、およびミドルティア識別子４３０を含むことができる。一実施形態では、ドメインコントローラーコンピューター装置３４０によって署名されたミドルティア識別子４３０を取得するために、ミドルティアコンピューター装置２２０は、ミドルティアコンピューター装置２２０がドメインコントローラーコンピューター装置３４０に要求３２５の一部として提供したミドルティア識別子３３０に基づいて、ドメインコントローラーコンピューター装置３４０がそのような識別子４３０を生成することを要求することができる。ドメインコントローラーコンピューター装置３４０がドメインコントローラーコンピューター装置２４０を信用する場合、ドメインコントローラーコンピューター装置３４０は、以前はドメインコントローラーコンピューター装置２４０によって署名されたミドルティア識別子３３０内の情報に、それ自体が署名することによりミドルティア識別子４３０を生成することができる。前述のように、一実施形態では、ミドルティア識別子４３０およびトークン４２０は、はっきり限定してドメインコントローラーコンピューター装置４４０に送ることができる。
【００４８】
[0052]次いで、ドメインコントローラーコンピューター装置４４０は、ドメインコントローラーコンピューター装置２４０およびドメインコントローラーコンピューター装置３４０に関して以前に記載された方式に類似する方式で進めることができる。詳細には、破線４３５によって示されたように、ドメインコントローラーコンピューター装置４４０は、要求４２５の一部として識別されたバックエンドコンピューター装置２３０が、実際にはドメインコントローラーコンピューター装置４４０と同じドメイン、すなわち図４の例示的なシステム４００におけるドメインＣ４９０内にあることを確認することができる。図４の図解例では、バックエンドコンピューター装置２３０がドメインコントローラーコンピューター装置４４０と同じドメイン内にあるので、ドメインコントローラーコンピューター装置４４０は、例えば、ミドルティアコンピューター装置２２０が自分に委譲することをバックエンドコンピューター装置２３０が許すどうかを判定するために、バックエンドコンピューター装置２３０によって確立されたポリシーを含む１つまたは複数のポリシーの参照に進むことができる。以前に示したように、ドメインコントローラーコンピューター装置４４０によって調査されたポリシーは、ミドルティアコンピューター装置２２０の無数の態様を参照することができ、そのような態様に関する情報は、ミドルティアコンピューター装置２２０により通信４２５を介してドメインコントローラーコンピューター装置４４０に提供できるミドルティア識別子４３０に含むことができるか、または別法として、そのような情報は、通信４２５とともに実行される、ドメインコントローラーコンピューター装置４４０とミドルティアコンピューター装置２２０の間のさらなる通信交換を介して提供することができる。
【００４９】
[0053]前述のように、ミドルティアコンピューター装置２２０がバックエンドコンピューター装置２３０に委譲することを許されるべきとドメインコントローラーコンピューター装置４４０が判定した場合、ドメインコントローラーコンピューター装置４４０は通信４４５を介してミドルティアコンピューター装置２２０に、ドメインコントローラーコンピューター装置４４０によって署名され、ミドルティアコンピューター装置２２０がクライアントコンピューター装置２１０としてバックエンドコンピューター装置２３０と通信することを可能にできる、サービスチケットを返すことができる。その後、また以前に記載したように、ミドルティアコンピューター装置２２０は、通信４５５によって示されたように、バックエンドコンピューター装置２３０の適切な要求を行うことができ、通信４４５を介してドメインコントローラーコンピューター装置４４０によって提供されたサービスチケット４７０を含むことができる。さらに、１つ、２つおよび３つのドメインにわたって示されただけだが、本明細書に記載されたメカニズムは、当業者によって理解されるように、任意の数のドメインまたは他の同様な分割にわたって等しく適用可能である。
【００５０】
[0054]図５を参照すると、その中に示された流れ図５００は、上記のメカニズムに従ってミドルティアコンピューター装置によって実行できる例示的な一連のステップを示す。最初に、ステップ５１０で、バックエンドティアコンピューター装置の一部である情報または資源に向けられたクライアント要求を受信することができる。また、要求を行うクライアントコンピューター装置は、ドメインコントローラーコンピューター装置によって署名された可能性がある、識別子、トークン、または他の同様な情報などを提供することにより、それ自体を認証することができる。ステップ５２０で、提供された情報は、ドメインコントローラーコンピューター装置の公開鍵などを使用して検証することができる。ステップ５２０で、認証が失敗した場合、処理はステップ５７０に進むことができ、そのポイントでエラーを報告することができる。次いで、該当処理はステップ５８０で終了することができる。
【００５１】
[0055]あるいは、しかしながら、ステップ５２０でクライアント認証が成功した場合、クライアントコンピューター装置によって提供された情報、およびミドルティアコンピューター装置についてのさらなる情報は、両方ともドメインコントローラーコンピューター装置によって署名することができ、ステップ５３０で、クライアントコンピューター装置としてバックエンドティアコンピューター装置と通信する許可に対する要求と一緒に、ドメインコントローラーコンピューター装置に提供することができる。ステップ５３０での情報の提供に応じて、ドメインコントローラーによって署名できるサービスチケットまたは他の同様な情報の集合は、ステップ５４０で受信することができる。ステップ５４０でそのようなサービスチケットが受信された場合、処理はステップ５５０に進むことができ、サービスチケットは適切なバックエンドティアコンピューター装置に提供されて、５１０でその要求が受信されたクライアントコンピューター装置の代わりにバックエンドティアコンピューター装置との通信を確立することができる。そのような通信は当業者によく知られている方式で進めることができるが、本説明に該当する処理は、次いで、ステップ５８０で終了することができる。しかしながら、ステップ５４０で、サービスチケットが受信されなかった場合、処理はステップ５６０に進むことができ、そこでサービスチケットの代わりに、クライアントコンピューター装置としてバックエンドティアコンピューター装置と通信する要求を異なるドメインコントローラーコンピューター装置に送ることができる、トークンまたは他の情報の集合を受信することができる。ステップ５６０で、そのようなトークンが受信された場合、処理はステップ５３０に戻ることができ、要求は別の異なるドメインコントローラーコンピューター装置に送ることができる。あるいは、ステップ５６０でトークンが受信されず、ステップ５４０でサービスチケットが受信されなかった場合、処理はステップ５７０に進むことができ、該当するエラーをクライアントに報告することができる。そのような方式では、ミドルティアコンピューター装置は、バックエンドティアコンピューター装置と同じドメイン内にあるドメインコントローラーコンピューター装置に達するまで、１つまたは複数のドメインコントローラーコンピューター装置からのバックエンドティアコンピューター装置と通信する許可の要求に進むことができ、次いで、そのドメインコントローラーコンピューター装置は、ミドルティアコンピューター装置が自分に委譲することをバックエンドティアコンピューター装置が許すと１つまたは複数の関連ポリシーが示すかどうかについて決定することができる。
【００５２】
[0056]図６を参照すると、その中に示された流れ図６００は、上記に詳細に記載されたメカニズムに従ってドメインコントローラーコンピューター装置によって実行できる例示的な一連のステップを示す。最初に、ステップ６１０で、クライアントコンピューター装置としてバックエンドティアコンピューター装置と通信する要求を、ミドルティアコンピューター装置から受信することができる。次いで、処理はステップ６２０に進むことができ、そのポイントで、ステップ６１０で受信された要求の中で指定されたバックエンドティアコンピューター装置が、流れ図６００のステップを実行するコンピューター装置と同じドメイン内にあるかどうかの判定を行うことができる。ステップ６２０で、バックエンドティアコンピューター装置が同じドメイン内にないと判定された場合、処理はステップ６６０に進むことができ、そのポイントで、トークンまたは他の情報の集合を生成し、ステップ６１０でそこから要求が受信されたミドルティアコンピューター装置に送信することができる。ステップ６６０で生成され送信されたトークンまたは他の情報の集合は、ミドルティアコンピューター装置を別のドメインコントローラーに向ける情報を含むことができ、ミドルティアコンピューター装置がバックエンドティアコンピューター装置とのその通信においてクライアントコンピューター装置として動作することを求めていることを、他のドメインコントローラーに知らせる情報も含むことができる。さらに、上記に詳細に記載したように、ステップ６６０で生成され送信された情報は、例えば、ドメインコントローラーコンピューター装置によって署名できるさまざまな構成情報を含むミドルティアコンピューター装置の識別子をさらに含むことができる。次いで、図のように、該当処理はステップ６７０で終了することができる。
【００５３】
[0057]あるいは、ステップ６２０で、ステップ６１０で受信された要求が送られたバックエンドティアコンピューター装置が、実際は同じドメイン内にあると判定された場合、処理はステップ６３０に進むことができ、そのポイントで、ステップ６１０で受信された要求を行うミドルティアコンピューター装置が自分に委譲することをバックエンドティアコンピューター装置によって許されるかどうかを判定する、１つまたは複数のポリシーの評価を行うことができる。以前に示したように、ステップ６３０での決定は、関連するバックエンドティアコンピューター装置によって規定され提供された可能性がある、１つまたは複数のポリシーを参照して行うことができる。さらに、また以前に示したように、ステップ６３０での決定は、要求するミドルティアコンピューター装置が、例えば、ミドルティアコンピューター装置のハードウェアまたはソフトウェアの構成に送られた因子を含む、関連するポリシーによって確立されたいかなる因子にも準拠するかどうかの判定を含むことができる。そのため、ステップ６３０での決定は、ステップ６１０でミドルティアコンピューター装置によって提供された情報が、両方ともドメインコントローラーコンピューター装置によって適正に署名されたかどうかの判定を含むことができ、ミドルティアコンピューター装置が関連するポリシーによって参照された因子に準拠することを示す。あるいは、また以前に示したように、ステップ６３０での判定は、ミドルティアコンピューター装置が関連するポリシーによって参照された因子に準拠するかどうかを判定するために、ミドルティアコンピューター装置とのさらなる通信を含むことができるが、説明を簡単にするために、そのような別の通信は図６の流れ図６００で詳細には示されない。
【００５４】
[0058]ステップ６３０で、ミドルティアコンピューター装置がバックエンドティアコンピューター装置に委譲することを許されると判定された場合、処理はステップ６４０に進むことができ、そのポイントで、バックエンドティアコンピューター装置とのその通信においてクライアントコンピューター装置として動作するミドルティアコンピューター装置の許可を認めるサービスチケットまたは他の情報を生成し、ミドルティアコンピューター装置に送信することができる。次いで、該当処理はステップ６７０で終了することができる。あるいは、ステップ６３０で、ミドルティアコンピューター装置がバックエンドティアコンピューター装置に委譲することを関連するポリシーが許可しなかった場合、処理はステップ６５０に進むことができ、そのポイントで、エラーをミドルティアコンピューター装置に報告することができる。次いで、該当処理はステップ６７０で終了することができる。
【００５５】
[0059]上記の説明から理解できるように、別のコンピューター装置に委譲する１つのコンピューター装置の能力が委譲される先のコンピューター装置によって知らされる委譲メカニズムが提示された。本明細書に記載された主題の多くの実現可能な変形形態に鑑みて、我々は、以下の特許請求の範囲およびそれらの均等物の範囲内にあり得るようなすべての実施形態を我々の発明と主張する。
【図１】
0005865386.tif 000002
【図２】
0005865386.tif 000003
【図３】
0005865386.tif 000004
【図４】
0005865386.tif 000005
【図５】
0005865386.tif 000006
【図６】
0005865386.tif 000007