(57)【要約】  アクセス・チェック機構からアクセス制御ポリシーを抽出することにより、意味論を持つ宣言的モデルを用いて、アクセス・チェック機構が許容するよりも豊富なポリシー表現ができる。また、アクセス制御ポリシーを抽出することにより、複数のアクセス・チェック機構にわたって均一なポリシー表現が可能になる。誰がどのリソースにアクセスしたかのような、任意のアクセス問い合わせに対するプルーフ型の理由が、アクセスを提供するアクセス・チェック機構から独立に、ポリシー・ステートメント自体から作られて提供される。アクセスは監査され、アクセスに対するポリシー・ベースの理由が、アクセス制御ポリシーに基づいて提供される。
2009540397.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・リソース・アクセス制御ポリシーを実施するための方法であって、
アクセス・チェック機構からアクセス制御ポリシーを抽出するステップを備え、前記アクセス・チェック機構が、前記アクセス制御ポリシー以上に制限されたポリシー表現能力を有する方法。
【請求項２】
更に、
アクセス制御ポリシー・ステートメントから論理結果を計算するステップと、
計算された前記論理結果に基づいて、少なくとも１つの前記アクセス・チェック機構における許可を設定するステップと、
を備える、請求項１に記載の方法。
【請求項３】
前記許可が複数のアクセス・チェック機構において設定される、請求項２に記載の方法。
【請求項４】
更に、
リソースに対するアクセスに関する問い合わせを受信するステップと、
前記アクセス制御ポリシーにしたがって、前記問い合わせの結果を特定の結果が提供される理由と共に提供するステップであって、前記結果が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られるステップと、
を備える、請求項３に記載の方法。
【請求項５】
更に、
前記アクセス制御ポリシーに問い合わせて、前記アクセス制御ポリシーの変更の影響を決定するステップと、
前記アクセス・チェック設定を変更することなく前記アクセス制御ポリシーの変更の前記影響を詳述する情報を提供するステップと、
を備える、請求項４に記載の方法。
【請求項６】
更に、
リソース・アクセスを監査するステップと、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供するステップであって、前記理由が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られるステップと、
を備える、請求項４に記載の方法。
【請求項７】
請求項１に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項８】
請求項２に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項９】
請求項３に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項１０】
請求項４に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項１１】
請求項５に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項１２】
請求項６に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項１３】
コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムであって、
アクセス・チェック機構からアクセス制御ポリシーを抽出する手段を備え、前記アクセス・チェック機構が、前記アクセス制御ポリシー以上に制限されたポリシー表現能力を有するシステム。
【請求項１４】
更に、
アクセス制御ポリシー・ステートメントから論理結果を計算する手段と、
計算された前記論理結果に基づいて、少なくとも１つの前記アクセス・チェック機構における許可を設定する手段と、
を備える、請求項１３に記載のシステム。
【請求項１５】
前記許可が複数のアクセス・チェック機構において設定される、請求項１４に記載のシステム。
【請求項１６】
更に、
リソースに対するアクセスに関する問い合わせを受信する手段と、
前記アクセス制御ポリシーにしたがって、前記問い合わせの結果を特定の結果が提供される理由と共に提供する手段であって、前記結果が前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備える、請求項１５に記載のシステム。
【請求項１７】
更に、
前記アクセス制御ポリシーに問い合わせて、前記アクセス制御ポリシーの変更の影響を決定する手段と、
前記アクセス・チェック設定を変更することなく前記アクセス制御ポリシーの変更の前記影響を詳述する情報を提供する手段と、
を備える、請求項１６に記載のシステム。
【請求項１８】
更に、
リソース・アクセスを監査する手段と、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供する手段であって、前記理由が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備える、請求項５に記載のシステム。
【請求項１９】
コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムであって、
リソース・アクセスを監査する手段と、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供する手段であって、前記理由が、前記アクセス制御ポリシーよりも制限されたポリシー表現能力を持つアクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備えるシステム。
【請求項２０】
前記アクセス制御ポリシーに基づいて、前記アクセス・チェック機構から独立に、アクセス・セキュリティ・ポリシーに一致しないリソース・アクセス試行を識別する手段を備える、更に請求項１９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
典型的には、セキュリティ・ポリシーの構成は一方向性であり、その趣旨が形成されてしまうと、趣旨について質問し、既に形成されていたものから趣旨を測定することは、不可能ではないとしても困難である。表現されているものは、極めて多くの場合、表現されるべきものを満たしていない。もし趣旨が詳細な構成と密に結合しているときには、趣旨の変更は極めて困難である。更に、形成されたポリシーは容易には変わり得ないことが多いので、従来のアクセス・チェック機構はその有用性を持ち続ける。
【０００２】
システムを分析するためには、全部のアクセスを忠実に調査し、形成されたセキュリティ・ポリシーにおいて実現された趣旨と慎重に調和させることが必要であるが、多大な努力を要する。その結果、ユーザは以下のような問題に直面する。
【０００３】
１．管理ドメイン内に分布された複数のファイル・サーバー上で実施することができるアクセス制御ポリシーを中心的に定義する方法がない。
２．それぞれのアプリケーションにおける許可評価機構から独立した複数のアプリケーションのためのアクセス制御ポリシーを中心的に定義する方法がない。
【０００４】
３．管理ドメイン内に分布されたリソースのための調査データ収集ポリシーを中心的に定義する統一的な方法がない。
４．定義されたアクセス制御ポリシーに違反するアクセスを識別する方法がない。
【０００５】
５．定義されたアクセス制御ポリシーと許可評価機構の動作との間の一貫性を自動的にチェックする方法がない。
６．共通の許可ポリシーを適用するためのアプリケーションとポリシー記憶装置のためのリソースをグループ化する方法がない。
【０００６】
７．リソース上の権利の委任をサポートし且つ許可ポリシーを特定するビジネス・フレンドリーなユーザ経験（ＵＸ）がない。
８．厳しく制限された方法で主体間で管理負担を分担するよう、他の主体又は機構に対する個人的な許可を委託する容易な機構がない。
【０００７】
問題の根元は、アクセス・チェック機構にとってネイティブであるものとは別個のポリシー目的の明瞭な保存がないことである。ポリシーは１つの目的と共に構成され、アクセス・チェック機構はそのポリシーを用いてアクセスが許可されるべきかどうかを支配する。そうすると、ポリシー表現はアクセス・チェックの性能を最適化する方向へ偏らされるが、これが重要であることは否定できない。しかし、支払うべき代償は、構成されている内容の意味を明るみに出すのが極めて困難であるというものであった。
【０００８】
同一の又は同様のアクセス制御リスト（ＡＣＬ）構成を有する複数の異なる役割のような均質的な環境においてさえ、同一のポリシーが全部の役割に対して適用されることを体系的に識別すること、したがって、当該ポリシーの背後の趣旨を把握することは容易ではなく、しばしば不可能である。不均質環境はこの問題を悪化させる。ポリシーがアクセス・チェック機構にとってネイティブな表現に深く埋没されると、ネイティブな制御機構に構成されていた内容からポリシーを抽出する機会は殆ど存在しない。ポリシーの趣旨自体は独立に主張され管理されるものではないので、基礎となるアクセス・チェック機構が許容するものよりも豊富な内容を表現することは不可能である。これの意味するところは、趣旨と当該趣旨をネイティブなポリシー構成フォーマットで実現することとの間に大きなギャップを作ることになるということである。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、従来技術の欠点を解決する方法およびシステムが必要となる。
【課題を解決するための手段】
【００１０】
この概要は、以下の詳細な説明において詳述する概念の選択を簡略化された形式で紹介するために提供される。この概要は特許請求された主題の主要な特徴又は必須の特徴を識別することを意図しておらず、特許請求された主題の範囲を決定する助けとして用いられることも意図していない。
【００１１】
上述の技術的課題を考慮して、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することが提供される。若干の実施の形態に関して、コンピュータ・リソース・アクセス制御ポリシーを実施する方法は、アクセス・チェック機構からアクセス制御ポリシーを抽出することを含む。アクセス・チェック機構は、アクセス制御ポリシーよりも制限されたネイティブのポリシー表現能力を有する。また、コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムは、リソース・アクセスを監査する手段と、特定の監査されたアクセスが許可された理由を（アクセス制御ポリシーにしたがって）提供する手段とを備える。提供される理由は、アクセス制御ポリシーよりも制限されたポリシー表現能力を有するアクセス・チェック機構から独立して、アクセス制御ポリシー自体から作られる。
【００１２】
以下は、本発明の他の利点及び特徴の説明である。
アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更が、添付の図面を参照して更に詳細に説明される。
【図面の簡単な説明】
【００１３】
【図１】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更と共に使用するのに適した例示のコンピューティング装置を表すブロック図である。
【図２】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更を実行するように多くのコンピュータ化されたプロセスが実装される例示のネットワーク化コンピューティング環境を示す図である。
【図３】例示のセキュリティ・ポリシーを用いた許可の表現の計算を示すブロック図である。
【図４】委任を可能にする例示の追加セキュリティ・ポリシーを用いた許可の表現の計算を示すブロック図である。
【図５】結果として得た許可の例をアクセス・チェック機構の表現へ注入するブロック図である。
【図６】例示のアクセス及び調査のイベントから生じるプルーフの提供を示すブロック図である。
【図７】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更を実装する例示のシステムを示すブロック図である。
【発明を実施するための形態】
【００１４】
本発明の種々の実施の形態の完全な理解を提供するために、特定の詳細が以下の説明及び図面において記述される。本発明の種々の実施の形態を不要に不明確にするのを避けるために、以下の開示においては、コンピューティング技術及びソフトウェア技術と関連する周知の事項は記述されない。また、当業者は理解するように、以下に記述される１つ以上の詳細なしに、発明の他の実施の形態を実施することが可能である。最後に、以下の開示において種々の方法がステップ及びシーケンスとの関連で説明されるが、この説明自体は発明の実施の形態の明確な実現を提供するためのものであり、ステップ及びシーケンスは本発明の実施に必要なものとみなされるべきではない。
【００１５】
コンピューティング環境の例
図１を参照すると、上記の方法の実施と関連しての使用に適した例示のコンピューティング装置を表すブロック図が示されている。例えば、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変更するためのプロセス及び方法を実行するコンピュータ実行可能命令は、図１に示すコンピューティング環境に常駐し及び／又は実施される。コンピューティング・システム環境２２０は適宜のコンピューティング環境の一例にすぎず、本発明の使用範囲又は機能に関する限定を示唆するものではない。コンピューティング環境２２０は、例示の動作環境２２０に示された構成要素の１つ又はそれらの組み合わせに関係する依存性又は必要性を持つものと解されてはならない。例えば、コンピュータ・ゲーム・コンソールも、上記のプロセスの実施に関連して用いるための下記のごとき要素を含み得る。
【００１６】
本発明の態様は、種々の他の汎用の又は特殊目的のコンピューティング・システム環境又は構成と共に動作する。本発明と共に使用するのに適した周知のコンピューティング・システム、環境及び／又は構成は、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサ・システム、マイクロプロセッサ型システム、セットトップ・ボックス、プログラム可能消費者電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、任意のこれらのシステム又は装置を含む分散型コンピューティング環境を含むが、これに限定されない。
【００１７】
本発明の態様は、コンピュータによって実行されるプログラム・モジュールのようなコンピュータ実行可能命令の一般的な文脈で実現され得る。一般的に、プログラム・モジュールは、特別なタスクを実行し又は特定の抽象的なデータ形式を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。また、本発明の態様は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散型コンピューティング環境においても実施され得る。分散型コンピューティング環境においては、プログラム・モジュールは、メモリ記憶装置を備えたローカルの及びリモートのコンピュータ記憶媒体に配置される。
【００１８】
本発明の態様を実施するための例示のシステムは、コンピュータ２４１の形の汎用コンピューティング装置を備える。コンピュータ２４１の構成要素は処理ユニット２５９、システム・メモリ２２２、及び、システム・メモリを含む種々のシステム・コンポーネントを処理ユニット２５９に結合するシステム・バス２２１を含むが、これらに限定されるものではない。システム・バス２２１は、メモリ・バス又はメモリ・コントローラを含む若干の形式のバス構造、周辺バス、及び種々のバス・アーキテクチャのうちの任意のものを用いるローカル・バスである。例えば、こうしたアーキテクチャは産業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネル・アーキテクチャ（ＭＣＡ）バス、拡張型ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス標準協会（ＶＥＳＡ）ローカル・バス、メザニン・バスとしても知られる周辺コンポーネント相互接続（ＰＣＩ）バス、及びその後継バス、ＰＣＩエクスプレス標準を含むが、これらに限定されない。
【００１９】
典型的には、コンピュータ２４１は種々のコンピュータ読み取り可能媒体を備える。コンピュータ読み取り可能媒体はコンピュータ２４１によってアクセスされ得る任意の利用可能な媒体であり、揮発性及び不揮発性の媒体で取り外し可能及び取り外し不可能な媒体を含む。例えば、コンピュータ読み取り可能媒体はコンピュータ記憶媒体及び通信媒体を含むが、これらに限定されない。
【００２０】
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュールその他のデータのような情報を記憶するための任意の方法又は技術において実現される揮発性及び不揮発性で取り外し可能及び取り外し不可能は媒体を含む。コンピュータ記憶媒体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）その他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気記憶ストレージその他の磁気記憶装置、又は、所望の情報を記憶するのに用いることができてコンピュータ２４１によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。
【００２１】
典型的には、通信媒体は任意の情報配信媒体を含んでいて、搬送波その他の移送機構のような非変調データ信号においてコンピュータ読み取り可能命令、プログラム・モジュール、データ構造及び他のデータを具現する。用語「非変調データ信号」は、１つ以上の組の特性を持っていて、情報を信号において符号化するよう変更された信号を意味する。例えば、通信媒体は有線ネットワーク又は直接有線接続のような有線媒体や、音響、ＲＦ、赤外線その他の無線媒体のような無線媒体を含むが、これらに限定されない。上記のものの任意の組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれる。
【００２２】
システム・メモリ２２２は、リードオンリ・メモリ（ＲＯＭ）２２３及びランダムアクセス・メモリ（ＲＡＭ）２６０のような揮発性及び／又は不揮発性のメモリの形のコンピュータ記憶媒体を含む。例えば起動期間にコンピュータ２４１内のエレメント間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）２２４は、典型的には、ＲＯＭ２２３に記憶される。典型的には、ＲＡＭ２６０は、直ちにアクセス可能な及び／又は処理ユニット２５９によって操作されているデータ及び／又はプログラム・モジュールを含んでいる。図１は、例示として、オペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７及びプログラム・データ２２８を示しているが、これらに限定されない。
【００２３】
また、コンピュータ２４１は他の取り外し可能／取り外し不可能で揮発性／不揮発性のコンピュータ記憶媒体を備え得る。単なる例示であるが、図１は、取り外し不可能な不揮発性磁気媒体との間で読み書きを行うハードディスク・ドライブ２３８、取り外し可能な不揮発性磁気ディスク２５４との間で読み書きを行う磁気ディスク・ドライブ２３９、及び、ＣＤ−ＲＯＭその他の光媒体のような取り外し可能な不揮発性光ディスク２５３との間で読み書きを行う光ディスク・ドライブ２４０を備えている。例示の動作環境において用い得る他の取り外し可能／取り外し不可能な揮発性／不揮発性のコンピュータ記憶媒体は、磁気テープ・カセット、フラッシュメモリ・カード、デジタル多用途ディスク、デジタル・ビデオテープ、固体ＲＡＭ等々を含むが、これらに限定されるものではない。典型的には、ハードディスク・ドライブ２３８はインターフェース２３４のような取り外し不可能メモリ・インターフェースを介してシステム・バス２２１に接続され、典型的には、磁気ディスク・ドライブ２３９と光ディスク・ドライブ２４０とはインターフェース２３５のような取り外し可能メモリ・インターフェースによってシステム・バス２２１に接続される。
【００２４】
上述し且つ図１に示すドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ２４１のためのコンピュータ読み取り可能命令、データ構造、プログラム・モジュール及びその他のデータの記憶装置を提供する。例えば、図１において、ハードディスクはオペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６及びプログラム・データ２５５を記憶するものとして図示されている。留意されるように、これらのコンポーネントはオペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７及びプログラム・データ２２８と同一でも違っていてもよい。オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６及びプログラム・データ２５５は、これらが異なるコピーであることを少なくとも示すために、ここでは別の数字を与えられている。ユーザは、マウス、トラックボール、タッチパッドと普通に称されるポインティング装置２５２やキーボード２５１のような入力装置を介してコンピュータ２４１にコマンド及び情報を入力する。他の入力装置（図示せず）はマイクロホン、ジョイスティック、ゲームパッド、衛星ディッシュ、スキャナ等々を含む。これらの及び他の入力装置は、システム・バスに結合されたユーザ入力インターフェース２３６を介して処理ユニット２５９に接続されることが多いが、パラレル・ポート、ゲームポート又はユニバーサル・シリアル・バス（ＵＳＢ）等の他のインターフェース及びバス構造によって接続されてもよい。また、モニタ２４２又は他の形式の表示装置が、安全な又は保護のないビデオ・インターフェース２３２のようなインターフェースを介してシステム・バス２２１と接続される。安全なビデオ標準の例は、高解像度マルチメディア・インターフェース（ＨＤＭＩ）標準である。モニタに加えて、コンピュータは、出力周辺インターフェース２３３を介して接続され得るスピーカ２４４やプリンタ２４３等の他の周辺出力装置を備え得る。
【００２５】
コンピュータ２４１は、リモート・コンピュータ２４６のような１つ以上のリモート・コンピュータとの論理接続を用いて、ネットワーク環境において動作し得る。リモート・コンピュータ２４６はパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置その他の共通ネットワーク・ノードであり得、典型的には、コンピュータ２４１に関して上で説明した多くの又は全部の要素を含み得るが、図１にはメモリ記憶装置２４７のみが図示されている。図１に示す論理接続はローカル・エリア・ネットワーク（ＬＡＮ）２４５とワイド・エリア・ネットワーク（ＷＡＮ）２４９を含むが、他のネットワークを含んでもよい。こうしたネットワーク環境はオフィス、企業規模のコンピュータ・ネットワーク、イントラネット及びインターネットにおいて良く知られている。
【００２６】
ＬＡＮネットワーク環境において用いられるとき、コンピュータ２４１はネットワーク・インターフェース又はアダプタ２３７を介してＬＡＮ２４５と接続される。ＷＡＮネットワーク環境において用いられるとき、典型的には、コンピュータ２４１は、モデム２５０や、ＷＡＮ２４９を介する通信、例えばインターネットを確立する他の手段を備える。内部の又は外部のモデム２５０は、ユーザ入力インターフェース２３６又は他の適宜の機構を介してシステム・バス２２１に接続される。ネットワーク環境においては、コンピュータ２４１に関して図示されたプログラム・モジュール又はその一部は、リモート・メモリ記憶装置に蓄積される。例えば、図１は、メモリ装置２４７に常駐するものとしてリモート・アプリケーション・プログラム２４８を示している。理解されるとおり、図示のネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を用いることもできる。
【００２７】
理解されるように、ここで記述される種々の技術はハードウェアやソフトウェアと共同して、又は、適切であればそれらの組み合わせと共同して実現される。こうして、本発明の方法、装置又は或る態様やその一部は、フロッピー（登録商標）・ディスク、ＣＤ−ＲＯＭ、ハード・ドライブ等の有形の媒体や、他の任意のマシン読み取り可能な記憶媒体に具体化されるプログラム・コード（即ち命令）の形を取る。この場合、プログラム・コードがコンピュータのようなマシンにロードされて実行されるとき、マシンは本発明を実施する装置となる。プログラム可能なコンピュータ上でのプログラム・コードの実行の場合、一般に、コンピューティング装置はプロセッサと、プロセッサによって読み取り可能な（揮発性及び不揮発性のメモリ及び／又は記憶素子を含む）記憶媒体と、少なくとも１つの入力装置と、少なくとも１つの出力装置とを備える。１つ以上のプログラムは、例えばＡＰＩや再利用可能制御の使用により、本発明に関連して記述されるプロセスを実施して利用する。好ましくは、こうしたプログラムは、コンピュータ・システムとの通信のためのハイレベル手続プログラム言語又はオブジェクト指向プログラム言語において実現される。しかし、プログラムは、所望により、アセンブリ又はマシン言語で実現され得る。いずれにしても、言語は編集又は解釈されてハードウェア実現形態と組み合わされる。
【００２８】
例示の実施の形態は、１つ以上のスタンドアローンのコンピュータ・システムという文脈で本発明の態様の利用を言及しているが、本発明はそれに限定されるものではなく、ネットワーク環境や分散コンピューティング環境のような任意のコンピューティング環境と共同して実施される。また、本発明の態様は複数の処理チップ又は装置において実現され得、同様に複数の装置にわたって記憶が行われる。こうした装置は、パーソナル・コンピュータ、ネットワーク・サーバ、携帯装置、スーパーコンピュータ、自動車や航空機のような他のシステムに統合されたコンピュータを含む。
【００２９】
図１において提供される一般的なフレームワークにしたがって作られる多種多様なコンピューティング環境において、ここに提供されるシステム及び方法は、特定のコンピューティング・アーキテクチャに限定されるものと解されてはならない。そうではなく、本発明は、任意の１つの実施の形態に限定されるのではなく、添付の請求項にしたがって範囲
を解釈されるべきである。
【００３０】
図２を参照すると、上述のプロセスを実施するために多くのコンピュータ化されたプロセスが実施される、例示のネットワーク・コンピューティング環境が示されている。例えば、並列コンピューティングは、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することを用いる及び／又は実施する図２のネットワーク上の種々のクライアントを有するネットワーク環境の一部である。当業者は理解するように、ネットワークは任意のコンピュータ又は他のクライアント或いはサーバ装置を分散環境において接続する。この点に関して、任意の数の処理、メモリ又は記憶ユニットを有し、同時に生じる任意の数のアプリケーション及びプロセスを有するコンピュータ・システム又はコンピュータ環境は、提供されるシステム及び方法と結合して使用するのに適していると考えられる。
【００３１】
分散コンピューティングは、コンピューティング装置とシステムとの間での交換によりコンピュータ・リソースとサービスの共有を提供する。こうしたリソース及びサービスは情報の交換とキャッシュ記憶とファイルのためのディスク記憶とを含む。分散コンピューティングは、クライアントが企業全体を利するようにそのパワーを活用することを許容するネットワーク接続性を利用する。この点で、種々の装置は、ここで記述するプロセスに関係するアプリケーション、オブジェクト又はリソースを有することができる。
【００３２】
図２は、例示のネットワーク・コンピューティング環境又は分散コンピューティング環境の概略図を提供する。環境はコンピューティング装置２７１、２７２、２７６とオブジェクト２７３、２７４とデータベース２７８とを備える。これらのエンティティ２７１〜２７８はプログラム、方法、データ記憶、プログラム可能論理等を備え又は利用する。エンティティ２７１〜２７８はＰＤＡ、音響／ビデオ装置、ＭＰ３プレイヤ、パーソナル・コンピュータ等々のような同一の又は異なる装置の部分に広がる。それぞれのエンティティ２７１〜２７８は通信ネットワーク２７０によって他のエンティティ２７１〜２７８と通信することができる。その際、任意のエンティティはデータベース２７８又は他の記憶素子のメンテナンスと交信に対して責任を持つ。
【００３３】
ネットワーク２７０自体は、図２のシステムにサービスを提供する他のコンピューティング・エンティティを備え、複数の相互接続されたネットワークを表している。本発明の態様によると、各エンティティ２７１〜２７８は、ＡＰＩ又は他のオブジェクト、ソフトウェア、ファムウェア及び／又はハードウェアを利用して１つ以上の他のエンティティ２７１〜２７８のサービスを要求する、ディスクリートな機能プログラム・モジュールを含み得る。
【００３４】
また、理解されるとおり、２７５のようなオブジェクトは他のコンピューティング装置２７６上にホスとされる。こうして、図示の物理的環境はコンピュータのような接続された装置を示しているが、こうした図は例示であり、代わりに、物理的環境は、ＰＤＡ、テレビジョン、ＭＰ３プレイヤ等の種々のデジタル装置や、インターフェース、ＣＯＭオブジェクトのようなソフトウェア・オブジェクト等を含むものとして図示され又は記述され得る。
【００３５】
分散コンピューティング環境をサポートする種々のシステム、コンポーネント及びネットワーク構成が存在する。例えば、コンピューティング・システムは、有線の又は無線のシステムによって、ローカル・ネットワークによって又は広く分散したネットワークによって互いに接続される。現在では、多くのネットワークは、広く分散されたコンピューティングのためのインフラストラクチャを提供し、且つ多くの異なるネットワークを包含するインターネットと結合される。こうしたインフラストラクチャは、インターネットに結合されている、いないにかかわらず、提供されるシステム及び方法と結合して用いられる。
【００３６】
ネットワーク・インフラストラクチャは、クライアント／サーバ、ピアツーピア、ハイブリッド・アーキテクチャのようなネットワーク・トポロジのホストを動作可能にする。「クライアント」というのは、関係のない他のクラス又はグループのサービスを利用するクラス又はグループのメンバーである。コンピューティングにおいては、クライアントは、プロセス、即ち、他のプログラムによって提供されるサービスを要求する一組の命令又はタスクである。クライアント・プロセスは、他のプログラム又はサービス自体についての作業の詳細を「知る」必要なく、要求されたサービスを利用する。クライアント／サーバ・アーキテクチャ、特にネットワーク・システムにおいては、クライアントは、通常、サーバのような他のコンピュータによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。図２の例においては、状況に応じて、エンティティ２７１〜２７８はクライアントやサーバ、又はそれら両者と考えられる。
【００３７】
典型的には、サーバは、インターネットのようなローカル又はリモートのネットワークを介してアクセス可能なリモート・コンピュータ・システムであるが、必ずしもそうである必要はない。クライアント・プロセスは第１のコンピュータ・システムにおいて活性化されており、サーバ・プロセスは第２のコンピュータ・システムにおいて活性化されているので、通信媒体を介して相互に通信でき、分散された機能が提供され、こうしてクライアントはサーバの情報収集能力を利用することができる。任意のソフトウェア・オブジェクトが複数のコンピューティング装置又はオブジェクトにわたって分散され得る。
【００３８】
クライアントとサーバは、プロトコル層によって提供される機能を利用して相互に通信する。例えば、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）はワールド・ワイド・ウェブ（ＷＷＷ）又は「ウェブ」と共に使用される共通のプロトコルである。典型的には、インターネット・プロトコル（ＩＰ）アドレスのようなコンピュータ・ネットワーク・アドレス又はユニバーサル・リソース・ロケータ（ＵＲＬ）のような他の参照は、サーバ又はクライアント・コンピュータを識別するのに使用されることができる。ネットワーク・アドレスはＵＲＬアドレスと呼ばれ得る。通信は通信媒体を介して提供され、例えば、クライアント及びサーバは大容量通信のためのＴＣＰ／ＩＰ接続によって他と結合される。
【００３９】
図２において提供される一般的なフレームワークにしたがって作られる多種多様なコンピューティング環境や、図２に示すようなネットワーク環境でのコンピューティングにおいて生じ得る更なる多様化に鑑みて、ここに提供されるシステム及び方法は、特定のコンピューティング・アーキテクチャ又はオペレーティング・システムに限定されるものと解されてはならない。そうではなく、本発明を任意の一つの実施の形態に限定すべきではなく、添付の請求項にしたがって範囲を解釈すべきである。
【００４０】
抽出とアクセス・チェック機構
ソフトウェア開発から類似性を引き出すことにより、ソフトウェアの管理は、ハイレベル言語に含まれる抽出の出現で相対的に容易になった。アセンブリのような、ハードウェアに近い言語で単独に開発される大規模ソフトウェア・プロジェクトを想像することは難しい。最近のプログラムは、基礎となる実行環境にほぼ無関係に書くことができ、コンパイラに依存して意味論を維持する。コンパイラ最適化のようなローレベル・コードの種々の変換は、元のハイレベルの意図を再現することを不可能にする。したがって、プログラムの意味は、その実行環境から独立したモードに存在する。実際に実行する必要なく、プログラムが必要とするものの多くのファセット（ただし、チューリング・コンプリート言語で書かれたプログラムでは、必ずしも全部のファセットではない）を質問し、理解することが可能である。
【００４１】
セキュリティ・ポリシーは同様の扱いを保証する。現在のところ、セキュリティ・ポリシー表現機構は多くはデータの独立した一部であり、その表現力において特別である。簡単な論理モデル、言語又は抽出でさえ、その意図の管理に到達するのは難しい。セキュリティ・ポリシーはプログラミング言語の表現力を必要とせず、ポリシー・ステートメントの構成を許容する意味論だけで十分である。主目的は、ポリシーの意味がアクセス・チェック機構から独立に認識できなければならないということである。この点から見ると、ここで認識できるセキュリティ・ポリシー管理は、セキュリティ・ポリシーとアクセス・チェック機構との間のこうした独立性にとって有益であることが分かる。そうするために、ステートメントの形式とアクセス制御において有力なアサーションとを表現することを許容する言語が用いられ、能力は、言語における表現により推論するよう、即ち、質問、論理計算及びプルーフの導出を実施するよう提供される。
【００４２】
言語は、アクセス・チェック機構から独立した、表現豊かなポリシー・モデル又はポリシー言語である。留意されるように、以下の特質を持つ任意の言語が適している。
表現力：
ａ．特性値を持ち、主体をリソースにマッピングし、主体を属性又は特性にマッピングするアサーションを特定する能力
ｂ．こうしたアサーションを行った者を特定する能力
ｃ．他の（又は同様の）アサーションを行う他の主体上で叙述されるアサーションを特定する能力。これらは極めて特殊なものから極めて一般的なものまでにわたる
ｄ．表現力プリミティブを用いるハイレベルポリシー構造を作る能力。即ち、プリミティブはその表現範囲を過度に制限しない。
【００４３】
宣言的意味論及び単調性：
ａ．アサーションを組立てて組み合わせ、処理された順序に無関係に結果の同一の組を導出することが可能である
ｂ．ポリシー・ステートメントから作られた「プルーフ」により結果を正当化することができる
ｃ．既存のアサーションから引き出された結論と矛盾することなく、新たなアサーション又は規則を追加することが可能である。
【００４４】
計算上の取り扱い易さ：
ａ．宣言的アサーションの結果を高性能に計算することが可能である
ｂ．監査の痕跡の分析及び質問が高性能である。
【００４５】
バックエンドのアクセス・チェック機構のプリミティブ（又は、バックエンドの所望のサブセット）が識別される。即ち、データは、アクセスを許容するよう判定するために既存のアクセス・チェック機構によって消費される。こうしたプリミティブの例は、役割の定義及び役割の割付け（オーソライぜーション・マネージャ（ＡｚＭａｎ）及びＡＳＰ．ＮＥＴ）、権利管理ライセンス（ＲＭＳ、ＩＰＰ）、ＡＣＬ（ファイルシェア、ファイヤウォール等）である。
【００４６】
これらのプリミティブは、次いで、ポリシー言語で叙述されるものとして特徴付けられる。例えば、ＡＣＬにおけるアクセス制御エントリ（ＡＣＥ）は述部「chuckrはfoo.txtを読むことができる」に対応する。他の例は、ＡｚＭａｎアプリケーションの場合、「chuckrは役割開発者にある」である。異なるアクセス・チェック機構に依存して、多くのこうしたプリミティブが存在し得る。これらのプリミティブは許可と呼ばれる。
【００４７】
次いで、宣言的ポリシーの結果的な許可が計算される。応用範囲に依存して、効率の目的で、結果的な許可を計算するために考慮すべきポリシーのサブセットを識別するために、ヒューリスティックな方法が用いられる。しかし、本発明はそれについて言及しない。許可はポリシーが無効にされる度に再現されると仮定する。その結果として生じる許可は適宜のネイティブなアクセス・チェック機構を構成するのに用いられる。アクセス・チェックは、アクセス要求がなされると、こうした構成を消費する。
【００４８】
アクセスがなされると、監査イベントが作られ、これらは、ポリシー駆動型監査情報を生じるポリシー・モデル抽出に表されるポリシーに対して調停される。更に、どのようなアクセスをポリシーが許容し、その理由は何かを理解するために、アクセス・チェック機構とは独立して、ポリシーについて質問がされる。
【００４９】
シナリオの例
以下の例は、実施からの意図の分離と、ローレベルのアクセス・チェック機構における意図の意味のコンフィギュレーションとを例示する。
【００５０】
以下の例は、極めて制限された表現能力しかないシステムに対する自由裁量的アクセス制御のモデリングを示している。特に、アクセス・チェック機構が表すことのできる情報のみが、特定のリソースに対して特定の主体が実施できるアクションである。この例の目的のために、誰が所有者であるかを記録する能力さえもないとする。上記の性質のステートメントはシステムによって表明されたものと扱われる。システム自体はキーによって識別され又はモデル化される。
【００５１】
次いで、図３を参照すると、例示のセキュリティ・ポリシーを用いて許可の表現を計算することを示すブロック図が図示されている。
イタリック体のステートメントは、アクセス制御システムにおいて表現され得ず、ポリシー・モデルにおいても表現されないものである。これらのステートメントはポリシー３０１の背後の意図を反映する。イタリック体でないステートメントはアクセス制御システムにおいて表現できるものであり、実施が何を扱うかである。これらは「許可」３０３である。
【００５２】
目的は、ポリシー・ステートメント（即ち、イタリック体のステートメント３０１）からアクセス制御システムにおいて何が表現され得るか（イタリック体でないステートメント３０３）を結論付けることである。以下のポリシー規則３０１、即ち、
「システムが主体「Ｏ」がリソース「Ｚ」の所有者だと言い、主体「Ｏ」が主体「Ｘ」はリソース「Ｚ」に対するアクション「Ｙ」を行えると言うならば、システムは主体「Ｘ」がリソース「Ｚ」に対するアクション「Ｙ」を行えると言う」
は上記の行動を捕捉する。
【００５３】
以下の情報、即ち、
「システムはfoo.txtの所有者はピーターだと言う」
「ピーターはラビがfoo.txtを読めると言う」
「ピーターはジョンがfoo.txtを印字できると言う」
が公知であるとする。上記から、以下の許可３０３、即ち
「システムはラビがfoo.txtを読めると言う」
「システムはジョンがfoo.txtを印字できると言う」
を論理的に結論付けること３０７は可能である。
【００５４】
更に、所有者は、選択された誰かにこの能力の全部を委託することができる。次に図４を参照すると、委託に関するセキュリティ・ポリシーの追加の例を用いた許可の表現の計算を示すブロック図が図示されている。ポリシー３０１の以下のステートメント４０１、即ち
「ボブが主体「Ｘ」はfoo.txtを読めると言うならば、ピーターは主体「Ｘ」がfoo.txtを読めると言う」
は、foo.txtを読む許可を与える能力をボブに委託するというピーターの意図を表している。以下の追加の情報４０５、即ち
「ボブはトムがfoo.txtを読めると言う」
が公知であるとすると、
「ピーターはトムがfoo.txtを読めると言う」
と論理的に推論すること３０７、及び、それに次いで以下の許可４０３、即ち
「システムはトムがfoo.txtを読めると言う」
と論理的に推論すること３０７も可能である。
【００５５】
図５をここで参照すると、結果として生じた許可の例をアクセス・チェック機構の表現へ注入することを示すブロック図が図示されている。こうしたイタリック体でないステートメント４０３、３０３（即ち、許可）が、セキュリティ・ポリシー３０１を実施するためにアクセス・チェック機構の表現５０３へ注入される。
【００５６】
次に図６を参照すると、アクセスの例と監査イベントとから生じるプルーフを提供することを示すブロック図が図示されている。トムがfoo.txtを読み６０１、対応の監査イベントが作られる６０３と仮定すると、完全な理由は、ポリシー・ステートメント３０１を用いてトムがfoo.txtを読むことを許容されることに対して計算される６０５。
【００５７】
即ち、ポリシー・ステートメント３０１自体から作られる以下のプルーフ、即ち
「トムはFoo.txtを読める。何故なら、
システムがトムはFoo.txtを読めると言うからである。何故なら、
システムがFoo.txtの所有者はピーターだと言うからであり、
ピーターがトムはFoo.txtを読めると言うからである。その理由は、
ボブがトムはFoo.txtを読めると言うからである。」
が提供される。
【００５８】
上記の回答は、ネイティブなアクセス・チェック機構５０３におけるコンフィギュレーションから完全に独立である。それは、何が何の理由で生じ、ポリシー・ステートメント３０１自体から系統的に何が何の理由で計算されるかについてのポリシー監査の真の痕跡である。こうした監査痕跡及びポリシー・ステートメントは、ステートメントが作られた場所やタイム・スタンプ等の追加の情報の広範な組み合わせによって補強されることができる。
【００５９】
次に図７を参照すると、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することを実施するシステムの例を示すブロック図が図示されている。留意されるように、図７は１つの可能な具現様式であって、同一の又は同様の結果を提供する他の例も可能であり、想定される。
【００６０】
委託をサポートする役割ベースのアクセス制御（ＲＢＡＣ）は、適宜のポリシー駆動型ユーザ・インターフェース７０３を介してユーザに提示される。ポリシーを設定するユーザは、閲覧する又は設定することが許容されるポリシーの態様のみを閲覧する。こうしたポリシーが設定されると、その意味がコア・ポリシー・モデル７０５において捕捉されるが、これが本システムの核心である。
【００６１】
コア・ポリシー・モデル７０５は以下の目的、即ち、
１．異質な閲覧によって設定されたポリシーの均一な問い合わせを全部のポリシーがサポートする共通の表現として供給すること、
２．ユーザ経験及びユーザ閲覧を促進すること（例えば、管理者がその特権を補助者に委託した結果、補助者のユーザ経験が新たな管理特権を反映するよう変化すること）、
３．アクセス・チェック機構に適するフォーマット（例えば、ＡＣＬ及びＡｚＭａｎＲｏｌｅ）７０７で許可の表現の計算を許容すること、
４．提示された監査モデル７１１のポリシーで監査イベント７０９として補強されたアクセスを正当化して、ポリシーがアクセスに如何に対応するかを決定すること、
のために使用される。
【００６２】
上記の特徴の多くを効果的に所有するシステムは、いずれのローレベルのアクセス・チェック機構７１３をも変更することなく、例えばＡｚＭａｎＲｏｌｅやＡＣＬに、きめ細かい委託能力を追加する。
【００６３】
要するに、アクセス・チェック機構からアクセス制御ポリシーを抽出することにより、アクセス・チェック機構によって許容されるよりも豊富なポリシー表現が（意味論的又は無条件的なモデルを持つ宣言的モデルを用いて）許容される。例えば、誰がどのリソースにアクセスしたかのような、アクセスについての任意の問い合わせに対するプルーフ型の理由が、アクセスを提供するアクセス・チェック機構から独立に、ポリシー・ステートメント自体から作られる。「What-if」能力は、実際にアクセス・チェック構成を変更することなく、ポリシーを変更することのインパクトを理解するためにポリシーに問い合わせる。許可は、ポリシー・ステートメントの１つの組から論理的な結果を計算する結果として、複数のアクセス・チェック機構にわたって設定される。アクセスは監査され、ポリシーに基づく理由がアクセスに対して提供され、ポリシーと一致しないアクセスの試みが識別される。これは、ポリシーが過度に緩い場合の問題を解決するのを助ける。その場合、監査はポリシー内の穴を発見するのを助けることができ、また、極悪な結果を生じたアクセスを誰が用いたかを（企業での及び公式の）調査員が決定することができる、法廷で用いられる痕跡を作る。
【００６４】
ここで記述される種々のシステム、方法および技術は、ハードウェアやソフトウェアにより、又は適切であればそれらの組み合わせにより実施され得る。つまり、本発明の方法および装置又はその一部の態様は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ又は他の任意のマシン読み取り可能な記憶媒体のような有形の媒体に具現化されたプログラム・コード（即ち、命令）の形を取る。その場合、プログラム・コードがコンピュータのようなマシンにロードされて実行されるとき、マシンは本発明を実施する装置となる。プログラム可能なコンピュータ上でのプログラム・コードの実行の場合、一般に、コンピュータはプロセッサ、プロセッサにより読み取り可能な（揮発性及び不揮発性のメモリ及び／又は記憶素子を含む）記憶媒体、少なくとも１つの入力装置及び少なくとも１つの出力装置を備える。コンピュータ・システムと通信するために、１つ以上のプログラムはハイレベル手続的言語又はオブジェクト指向プログラミング言語で実装されることが好ましい。しかし、必要であれば、プログラムはアセンブリ又はマシン言語で実装され得る。いずれにしても、言語は編集され又は解釈される言語であり、ハードウェア実装と組み合わされる。
【００６５】
また、本発明の方法および装置は、例えば電線、ケーブル、光ファイバ又は他の任意の伝送形態のような伝送媒体により伝送されるプログラム・コードの形で実施され得る。その場合、プログラム・コードは、ＥＥＰＲＯＭ、ゲートアレイ、プログラマブル論理デバイス（ＰＬＤ）、クライアント・コンピュータ、ビデオ・レコーダ等のマシンによって受信され、そこにロードされて実行されるとき、マシンは本発明を実施する装置となる。汎用プロセッサ上に実装されるとき、プログラム・コードはプロセッサと組み合わされて、本発明の指標付け機能を実施するよう動作する独特の装置を提供する。
【００６６】
本発明を、種々の図の好ましい実施の形態と結合させて説明してきたが、理解されるように、他の同様の実施の形態を用いることができ、本発明から逸脱することなく本発明の同一の機能を実施するために、記述した実施の形態に対する修正及び追加を行うことができる。また、強調されるべきは、本明細書においては、携帯装置のオペレーティング・システム及び他のアプリケーション・スペシフィックなハードウェア／ソフトウェア・インターフェース・システムを含む種々のコンピュータ・プラットフォームが想定されており、特にこれは多くの無線ネットワーク装置が増え続けているからである。したがって、本発明は任意の１つの実施の形態に限定されてはならず、添付の請求項にしたがって範囲を解釈されるべきである。
【００６７】
最後に、本命最初に記述された実施の形態は他のプロセッサ・アーキテクチャ、コンピュータをベースとするシステム又はシステム仮想化での使用に適合され得、こうした実施の形態は、本明細書での開示によって明確に想到されるので、本発明は、明細書で記述された特定の実施の形態に限定されるべきではなく、最も広く解釈されるべきである。
【図１】
2009540397.tif 000003
【図２】
2009540397.tif 000004
【図３】
2009540397.tif 000005
【図４】
2009540397.tif 000006
【図５】
2009540397.tif 000007
【図６】
2009540397.tif 000008
【図７】
2009540397.tif 000009
【国際調査報告】
2009540397.tif 000010
2009540397.tif 000011