説明

アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及び変換

アクセス・チェック機構からアクセス制御ポリシーを抽出することにより、意味論を持つ宣言的モデルを用いて、アクセス・チェック機構が許容するよりも豊富なポリシー表現ができる。また、アクセス制御ポリシーを抽出することにより、複数のアクセス・チェック機構にわたって均一なポリシー表現が可能になる。誰がどのリソースにアクセスしたかのような、任意のアクセス問い合わせに対するプルーフ型の理由が、アクセスを提供するアクセス・チェック機構から独立に、ポリシー・ステートメント自体から作られて提供される。アクセスは監査され、アクセスに対するポリシー・ベースの理由が、アクセス制御ポリシーに基づいて提供される。

【発明の詳細な説明】
【背景技術】
【0001】
典型的には、セキュリティ・ポリシーの構成は一方向性であり、その趣旨が形成されてしまうと、趣旨について質問し、既に形成されていたものから趣旨を測定することは、不可能ではないとしても困難である。表現されているものは、極めて多くの場合、表現されるべきものを満たしていない。もし趣旨が詳細な構成と密に結合しているときには、趣旨の変更は極めて困難である。更に、形成されたポリシーは容易には変わり得ないことが多いので、従来のアクセス・チェック機構はその有用性を持ち続ける。
【0002】
システムを分析するためには、全部のアクセスを忠実に調査し、形成されたセキュリティ・ポリシーにおいて実現された趣旨と慎重に調和させることが必要であるが、多大な努力を要する。その結果、ユーザは以下のような問題に直面する。
【0003】
1.管理ドメイン内に分布された複数のファイル・サーバー上で実施することができるアクセス制御ポリシーを中心的に定義する方法がない。
2.それぞれのアプリケーションにおける許可評価機構から独立した複数のアプリケーションのためのアクセス制御ポリシーを中心的に定義する方法がない。
【0004】
3.管理ドメイン内に分布されたリソースのための調査データ収集ポリシーを中心的に定義する統一的な方法がない。
4.定義されたアクセス制御ポリシーに違反するアクセスを識別する方法がない。
【0005】
5.定義されたアクセス制御ポリシーと許可評価機構の動作との間の一貫性を自動的にチェックする方法がない。
6.共通の許可ポリシーを適用するためのアプリケーションとポリシー記憶装置のためのリソースをグループ化する方法がない。
【0006】
7.リソース上の権利の委任をサポートし且つ許可ポリシーを特定するビジネス・フレンドリーなユーザ経験(UX)がない。
8.厳しく制限された方法で主体間で管理負担を分担するよう、他の主体又は機構に対する個人的な許可を委託する容易な機構がない。
【0007】
問題の根元は、アクセス・チェック機構にとってネイティブであるものとは別個のポリシー目的の明瞭な保存がないことである。ポリシーは1つの目的と共に構成され、アクセス・チェック機構はそのポリシーを用いてアクセスが許可されるべきかどうかを支配する。そうすると、ポリシー表現はアクセス・チェックの性能を最適化する方向へ偏らされるが、これが重要であることは否定できない。しかし、支払うべき代償は、構成されている内容の意味を明るみに出すのが極めて困難であるというものであった。
【0008】
同一の又は同様のアクセス制御リスト(ACL)構成を有する複数の異なる役割のような均質的な環境においてさえ、同一のポリシーが全部の役割に対して適用されることを体系的に識別すること、したがって、当該ポリシーの背後の趣旨を把握することは容易ではなく、しばしば不可能である。不均質環境はこの問題を悪化させる。ポリシーがアクセス・チェック機構にとってネイティブな表現に深く埋没されると、ネイティブな制御機構に構成されていた内容からポリシーを抽出する機会は殆ど存在しない。ポリシーの趣旨自体は独立に主張され管理されるものではないので、基礎となるアクセス・チェック機構が許容するものよりも豊富な内容を表現することは不可能である。これの意味するところは、趣旨と当該趣旨をネイティブなポリシー構成フォーマットで実現することとの間に大きなギャップを作ることになるということである。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、従来技術の欠点を解決する方法およびシステムが必要となる。
【課題を解決するための手段】
【0010】
この概要は、以下の詳細な説明において詳述する概念の選択を簡略化された形式で紹介するために提供される。この概要は特許請求された主題の主要な特徴又は必須の特徴を識別することを意図しておらず、特許請求された主題の範囲を決定する助けとして用いられることも意図していない。
【0011】
上述の技術的課題を考慮して、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することが提供される。若干の実施の形態に関して、コンピュータ・リソース・アクセス制御ポリシーを実施する方法は、アクセス・チェック機構からアクセス制御ポリシーを抽出することを含む。アクセス・チェック機構は、アクセス制御ポリシーよりも制限されたネイティブのポリシー表現能力を有する。また、コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムは、リソース・アクセスを監査する手段と、特定の監査されたアクセスが許可された理由を(アクセス制御ポリシーにしたがって)提供する手段とを備える。提供される理由は、アクセス制御ポリシーよりも制限されたポリシー表現能力を有するアクセス・チェック機構から独立して、アクセス制御ポリシー自体から作られる。
【0012】
以下は、本発明の他の利点及び特徴の説明である。
アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更が、添付の図面を参照して更に詳細に説明される。
【図面の簡単な説明】
【0013】
【図1】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更と共に使用するのに適した例示のコンピューティング装置を表すブロック図である。
【図2】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更を実行するように多くのコンピュータ化されたプロセスが実装される例示のネットワーク化コンピューティング環境を示す図である。
【図3】例示のセキュリティ・ポリシーを用いた許可の表現の計算を示すブロック図である。
【図4】委任を可能にする例示の追加セキュリティ・ポリシーを用いた許可の表現の計算を示すブロック図である。
【図5】結果として得た許可の例をアクセス・チェック機構の表現へ注入するブロック図である。
【図6】例示のアクセス及び調査のイベントから生じるプルーフの提供を示すブロック図である。
【図7】アクセス・チェック機構のネイティブな表現からのセキュリティ・ポリシーの抽出及びセキュリティ・ポリシーのアクセス・チェック機構のネイティブな表現への変更を実装する例示のシステムを示すブロック図である。
【発明を実施するための形態】
【0014】
本発明の種々の実施の形態の完全な理解を提供するために、特定の詳細が以下の説明及び図面において記述される。本発明の種々の実施の形態を不要に不明確にするのを避けるために、以下の開示においては、コンピューティング技術及びソフトウェア技術と関連する周知の事項は記述されない。また、当業者は理解するように、以下に記述される1つ以上の詳細なしに、発明の他の実施の形態を実施することが可能である。最後に、以下の開示において種々の方法がステップ及びシーケンスとの関連で説明されるが、この説明自体は発明の実施の形態の明確な実現を提供するためのものであり、ステップ及びシーケンスは本発明の実施に必要なものとみなされるべきではない。
【0015】
コンピューティング環境の例
図1を参照すると、上記の方法の実施と関連しての使用に適した例示のコンピューティング装置を表すブロック図が示されている。例えば、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変更するためのプロセス及び方法を実行するコンピュータ実行可能命令は、図1に示すコンピューティング環境に常駐し及び/又は実施される。コンピューティング・システム環境220は適宜のコンピューティング環境の一例にすぎず、本発明の使用範囲又は機能に関する限定を示唆するものではない。コンピューティング環境220は、例示の動作環境220に示された構成要素の1つ又はそれらの組み合わせに関係する依存性又は必要性を持つものと解されてはならない。例えば、コンピュータ・ゲーム・コンソールも、上記のプロセスの実施に関連して用いるための下記のごとき要素を含み得る。
【0016】
本発明の態様は、種々の他の汎用の又は特殊目的のコンピューティング・システム環境又は構成と共に動作する。本発明と共に使用するのに適した周知のコンピューティング・システム、環境及び/又は構成は、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサ・システム、マイクロプロセッサ型システム、セットトップ・ボックス、プログラム可能消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、任意のこれらのシステム又は装置を含む分散型コンピューティング環境を含むが、これに限定されない。
【0017】
本発明の態様は、コンピュータによって実行されるプログラム・モジュールのようなコンピュータ実行可能命令の一般的な文脈で実現され得る。一般的に、プログラム・モジュールは、特別なタスクを実行し又は特定の抽象的なデータ形式を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。また、本発明の態様は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散型コンピューティング環境においても実施され得る。分散型コンピューティング環境においては、プログラム・モジュールは、メモリ記憶装置を備えたローカルの及びリモートのコンピュータ記憶媒体に配置される。
【0018】
本発明の態様を実施するための例示のシステムは、コンピュータ241の形の汎用コンピューティング装置を備える。コンピュータ241の構成要素は処理ユニット259、システム・メモリ222、及び、システム・メモリを含む種々のシステム・コンポーネントを処理ユニット259に結合するシステム・バス221を含むが、これらに限定されるものではない。システム・バス221は、メモリ・バス又はメモリ・コントローラを含む若干の形式のバス構造、周辺バス、及び種々のバス・アーキテクチャのうちの任意のものを用いるローカル・バスである。例えば、こうしたアーキテクチャは産業標準アーキテクチャ(ISA)バス、マイクロチャネル・アーキテクチャ(MCA)バス、拡張型ISA(EISA)バス、ビデオ・エレクトロニクス標準協会(VESA)ローカル・バス、メザニン・バスとしても知られる周辺コンポーネント相互接続(PCI)バス、及びその後継バス、PCIエクスプレス標準を含むが、これらに限定されない。
【0019】
典型的には、コンピュータ241は種々のコンピュータ読み取り可能媒体を備える。コンピュータ読み取り可能媒体はコンピュータ241によってアクセスされ得る任意の利用可能な媒体であり、揮発性及び不揮発性の媒体で取り外し可能及び取り外し不可能な媒体を含む。例えば、コンピュータ読み取り可能媒体はコンピュータ記憶媒体及び通信媒体を含むが、これらに限定されない。
【0020】
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュールその他のデータのような情報を記憶するための任意の方法又は技術において実現される揮発性及び不揮発性で取り外し可能及び取り外し不可能は媒体を含む。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュ・メモリその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)その他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気記憶ストレージその他の磁気記憶装置、又は、所望の情報を記憶するのに用いることができてコンピュータ241によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。
【0021】
典型的には、通信媒体は任意の情報配信媒体を含んでいて、搬送波その他の移送機構のような非変調データ信号においてコンピュータ読み取り可能命令、プログラム・モジュール、データ構造及び他のデータを具現する。用語「非変調データ信号」は、1つ以上の組の特性を持っていて、情報を信号において符号化するよう変更された信号を意味する。例えば、通信媒体は有線ネットワーク又は直接有線接続のような有線媒体や、音響、RF、赤外線その他の無線媒体のような無線媒体を含むが、これらに限定されない。上記のものの任意の組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれる。
【0022】
システム・メモリ222は、リードオンリ・メモリ(ROM)223及びランダムアクセス・メモリ(RAM)260のような揮発性及び/又は不揮発性のメモリの形のコンピュータ記憶媒体を含む。例えば起動期間にコンピュータ241内のエレメント間で情報を転送するのを助ける基本ルーチンを含む基本入力/出力システム(BIOS)224は、典型的には、ROM223に記憶される。典型的には、RAM260は、直ちにアクセス可能な及び/又は処理ユニット259によって操作されているデータ及び/又はプログラム・モジュールを含んでいる。図1は、例示として、オペレーティング・システム225、アプリケーション・プログラム226、他のプログラム・モジュール227及びプログラム・データ228を示しているが、これらに限定されない。
【0023】
また、コンピュータ241は他の取り外し可能/取り外し不可能で揮発性/不揮発性のコンピュータ記憶媒体を備え得る。単なる例示であるが、図1は、取り外し不可能な不揮発性磁気媒体との間で読み書きを行うハードディスク・ドライブ238、取り外し可能な不揮発性磁気ディスク254との間で読み書きを行う磁気ディスク・ドライブ239、及び、CD−ROMその他の光媒体のような取り外し可能な不揮発性光ディスク253との間で読み書きを行う光ディスク・ドライブ240を備えている。例示の動作環境において用い得る他の取り外し可能/取り外し不可能な揮発性/不揮発性のコンピュータ記憶媒体は、磁気テープ・カセット、フラッシュメモリ・カード、デジタル多用途ディスク、デジタル・ビデオテープ、固体RAM等々を含むが、これらに限定されるものではない。典型的には、ハードディスク・ドライブ238はインターフェース234のような取り外し不可能メモリ・インターフェースを介してシステム・バス221に接続され、典型的には、磁気ディスク・ドライブ239と光ディスク・ドライブ240とはインターフェース235のような取り外し可能メモリ・インターフェースによってシステム・バス221に接続される。
【0024】
上述し且つ図1に示すドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ241のためのコンピュータ読み取り可能命令、データ構造、プログラム・モジュール及びその他のデータの記憶装置を提供する。例えば、図1において、ハードディスクはオペレーティング・システム258、アプリケーション・プログラム257、他のプログラム・モジュール256及びプログラム・データ255を記憶するものとして図示されている。留意されるように、これらのコンポーネントはオペレーティング・システム225、アプリケーション・プログラム226、他のプログラム・モジュール227及びプログラム・データ228と同一でも違っていてもよい。オペレーティング・システム258、アプリケーション・プログラム257、他のプログラム・モジュール256及びプログラム・データ255は、これらが異なるコピーであることを少なくとも示すために、ここでは別の数字を与えられている。ユーザは、マウス、トラックボール、タッチパッドと普通に称されるポインティング装置252やキーボード251のような入力装置を介してコンピュータ241にコマンド及び情報を入力する。他の入力装置(図示せず)はマイクロホン、ジョイスティック、ゲームパッド、衛星ディッシュ、スキャナ等々を含む。これらの及び他の入力装置は、システム・バスに結合されたユーザ入力インターフェース236を介して処理ユニット259に接続されることが多いが、パラレル・ポート、ゲームポート又はユニバーサル・シリアル・バス(USB)等の他のインターフェース及びバス構造によって接続されてもよい。また、モニタ242又は他の形式の表示装置が、安全な又は保護のないビデオ・インターフェース232のようなインターフェースを介してシステム・バス221と接続される。安全なビデオ標準の例は、高解像度マルチメディア・インターフェース(HDMI)標準である。モニタに加えて、コンピュータは、出力周辺インターフェース233を介して接続され得るスピーカ244やプリンタ243等の他の周辺出力装置を備え得る。
【0025】
コンピュータ241は、リモート・コンピュータ246のような1つ以上のリモート・コンピュータとの論理接続を用いて、ネットワーク環境において動作し得る。リモート・コンピュータ246はパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置その他の共通ネットワーク・ノードであり得、典型的には、コンピュータ241に関して上で説明した多くの又は全部の要素を含み得るが、図1にはメモリ記憶装置247のみが図示されている。図1に示す論理接続はローカル・エリア・ネットワーク(LAN)245とワイド・エリア・ネットワーク(WAN)249を含むが、他のネットワークを含んでもよい。こうしたネットワーク環境はオフィス、企業規模のコンピュータ・ネットワーク、イントラネット及びインターネットにおいて良く知られている。
【0026】
LANネットワーク環境において用いられるとき、コンピュータ241はネットワーク・インターフェース又はアダプタ237を介してLAN245と接続される。WANネットワーク環境において用いられるとき、典型的には、コンピュータ241は、モデム250や、WAN249を介する通信、例えばインターネットを確立する他の手段を備える。内部の又は外部のモデム250は、ユーザ入力インターフェース236又は他の適宜の機構を介してシステム・バス221に接続される。ネットワーク環境においては、コンピュータ241に関して図示されたプログラム・モジュール又はその一部は、リモート・メモリ記憶装置に蓄積される。例えば、図1は、メモリ装置247に常駐するものとしてリモート・アプリケーション・プログラム248を示している。理解されるとおり、図示のネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を用いることもできる。
【0027】
理解されるように、ここで記述される種々の技術はハードウェアやソフトウェアと共同して、又は、適切であればそれらの組み合わせと共同して実現される。こうして、本発明の方法、装置又は或る態様やその一部は、フロッピー(登録商標)・ディスク、CD−ROM、ハード・ドライブ等の有形の媒体や、他の任意のマシン読み取り可能な記憶媒体に具体化されるプログラム・コード(即ち命令)の形を取る。この場合、プログラム・コードがコンピュータのようなマシンにロードされて実行されるとき、マシンは本発明を実施する装置となる。プログラム可能なコンピュータ上でのプログラム・コードの実行の場合、一般に、コンピューティング装置はプロセッサと、プロセッサによって読み取り可能な(揮発性及び不揮発性のメモリ及び/又は記憶素子を含む)記憶媒体と、少なくとも1つの入力装置と、少なくとも1つの出力装置とを備える。1つ以上のプログラムは、例えばAPIや再利用可能制御の使用により、本発明に関連して記述されるプロセスを実施して利用する。好ましくは、こうしたプログラムは、コンピュータ・システムとの通信のためのハイレベル手続プログラム言語又はオブジェクト指向プログラム言語において実現される。しかし、プログラムは、所望により、アセンブリ又はマシン言語で実現され得る。いずれにしても、言語は編集又は解釈されてハードウェア実現形態と組み合わされる。
【0028】
例示の実施の形態は、1つ以上のスタンドアローンのコンピュータ・システムという文脈で本発明の態様の利用を言及しているが、本発明はそれに限定されるものではなく、ネットワーク環境や分散コンピューティング環境のような任意のコンピューティング環境と共同して実施される。また、本発明の態様は複数の処理チップ又は装置において実現され得、同様に複数の装置にわたって記憶が行われる。こうした装置は、パーソナル・コンピュータ、ネットワーク・サーバ、携帯装置、スーパーコンピュータ、自動車や航空機のような他のシステムに統合されたコンピュータを含む。
【0029】
図1において提供される一般的なフレームワークにしたがって作られる多種多様なコンピューティング環境において、ここに提供されるシステム及び方法は、特定のコンピューティング・アーキテクチャに限定されるものと解されてはならない。そうではなく、本発明は、任意の1つの実施の形態に限定されるのではなく、添付の請求項にしたがって範囲
を解釈されるべきである。
【0030】
図2を参照すると、上述のプロセスを実施するために多くのコンピュータ化されたプロセスが実施される、例示のネットワーク・コンピューティング環境が示されている。例えば、並列コンピューティングは、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することを用いる及び/又は実施する図2のネットワーク上の種々のクライアントを有するネットワーク環境の一部である。当業者は理解するように、ネットワークは任意のコンピュータ又は他のクライアント或いはサーバ装置を分散環境において接続する。この点に関して、任意の数の処理、メモリ又は記憶ユニットを有し、同時に生じる任意の数のアプリケーション及びプロセスを有するコンピュータ・システム又はコンピュータ環境は、提供されるシステム及び方法と結合して使用するのに適していると考えられる。
【0031】
分散コンピューティングは、コンピューティング装置とシステムとの間での交換によりコンピュータ・リソースとサービスの共有を提供する。こうしたリソース及びサービスは情報の交換とキャッシュ記憶とファイルのためのディスク記憶とを含む。分散コンピューティングは、クライアントが企業全体を利するようにそのパワーを活用することを許容するネットワーク接続性を利用する。この点で、種々の装置は、ここで記述するプロセスに関係するアプリケーション、オブジェクト又はリソースを有することができる。
【0032】
図2は、例示のネットワーク・コンピューティング環境又は分散コンピューティング環境の概略図を提供する。環境はコンピューティング装置271、272、276とオブジェクト273、274とデータベース278とを備える。これらのエンティティ271〜278はプログラム、方法、データ記憶、プログラム可能論理等を備え又は利用する。エンティティ271〜278はPDA、音響/ビデオ装置、MP3プレイヤ、パーソナル・コンピュータ等々のような同一の又は異なる装置の部分に広がる。それぞれのエンティティ271〜278は通信ネットワーク270によって他のエンティティ271〜278と通信することができる。その際、任意のエンティティはデータベース278又は他の記憶素子のメンテナンスと交信に対して責任を持つ。
【0033】
ネットワーク270自体は、図2のシステムにサービスを提供する他のコンピューティング・エンティティを備え、複数の相互接続されたネットワークを表している。本発明の態様によると、各エンティティ271〜278は、API又は他のオブジェクト、ソフトウェア、ファムウェア及び/又はハードウェアを利用して1つ以上の他のエンティティ271〜278のサービスを要求する、ディスクリートな機能プログラム・モジュールを含み得る。
【0034】
また、理解されるとおり、275のようなオブジェクトは他のコンピューティング装置276上にホスとされる。こうして、図示の物理的環境はコンピュータのような接続された装置を示しているが、こうした図は例示であり、代わりに、物理的環境は、PDA、テレビジョン、MP3プレイヤ等の種々のデジタル装置や、インターフェース、COMオブジェクトのようなソフトウェア・オブジェクト等を含むものとして図示され又は記述され得る。
【0035】
分散コンピューティング環境をサポートする種々のシステム、コンポーネント及びネットワーク構成が存在する。例えば、コンピューティング・システムは、有線の又は無線のシステムによって、ローカル・ネットワークによって又は広く分散したネットワークによって互いに接続される。現在では、多くのネットワークは、広く分散されたコンピューティングのためのインフラストラクチャを提供し、且つ多くの異なるネットワークを包含するインターネットと結合される。こうしたインフラストラクチャは、インターネットに結合されている、いないにかかわらず、提供されるシステム及び方法と結合して用いられる。
【0036】
ネットワーク・インフラストラクチャは、クライアント/サーバ、ピアツーピア、ハイブリッド・アーキテクチャのようなネットワーク・トポロジのホストを動作可能にする。「クライアント」というのは、関係のない他のクラス又はグループのサービスを利用するクラス又はグループのメンバーである。コンピューティングにおいては、クライアントは、プロセス、即ち、他のプログラムによって提供されるサービスを要求する一組の命令又はタスクである。クライアント・プロセスは、他のプログラム又はサービス自体についての作業の詳細を「知る」必要なく、要求されたサービスを利用する。クライアント/サーバ・アーキテクチャ、特にネットワーク・システムにおいては、クライアントは、通常、サーバのような他のコンピュータによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。図2の例においては、状況に応じて、エンティティ271〜278はクライアントやサーバ、又はそれら両者と考えられる。
【0037】
典型的には、サーバは、インターネットのようなローカル又はリモートのネットワークを介してアクセス可能なリモート・コンピュータ・システムであるが、必ずしもそうである必要はない。クライアント・プロセスは第1のコンピュータ・システムにおいて活性化されており、サーバ・プロセスは第2のコンピュータ・システムにおいて活性化されているので、通信媒体を介して相互に通信でき、分散された機能が提供され、こうしてクライアントはサーバの情報収集能力を利用することができる。任意のソフトウェア・オブジェクトが複数のコンピューティング装置又はオブジェクトにわたって分散され得る。
【0038】
クライアントとサーバは、プロトコル層によって提供される機能を利用して相互に通信する。例えば、ハイパーテキスト・トランスファー・プロトコル(HTTP)はワールド・ワイド・ウェブ(WWW)又は「ウェブ」と共に使用される共通のプロトコルである。典型的には、インターネット・プロトコル(IP)アドレスのようなコンピュータ・ネットワーク・アドレス又はユニバーサル・リソース・ロケータ(URL)のような他の参照は、サーバ又はクライアント・コンピュータを識別するのに使用されることができる。ネットワーク・アドレスはURLアドレスと呼ばれ得る。通信は通信媒体を介して提供され、例えば、クライアント及びサーバは大容量通信のためのTCP/IP接続によって他と結合される。
【0039】
図2において提供される一般的なフレームワークにしたがって作られる多種多様なコンピューティング環境や、図2に示すようなネットワーク環境でのコンピューティングにおいて生じ得る更なる多様化に鑑みて、ここに提供されるシステム及び方法は、特定のコンピューティング・アーキテクチャ又はオペレーティング・システムに限定されるものと解されてはならない。そうではなく、本発明を任意の一つの実施の形態に限定すべきではなく、添付の請求項にしたがって範囲を解釈すべきである。
【0040】
抽出とアクセス・チェック機構
ソフトウェア開発から類似性を引き出すことにより、ソフトウェアの管理は、ハイレベル言語に含まれる抽出の出現で相対的に容易になった。アセンブリのような、ハードウェアに近い言語で単独に開発される大規模ソフトウェア・プロジェクトを想像することは難しい。最近のプログラムは、基礎となる実行環境にほぼ無関係に書くことができ、コンパイラに依存して意味論を維持する。コンパイラ最適化のようなローレベル・コードの種々の変換は、元のハイレベルの意図を再現することを不可能にする。したがって、プログラムの意味は、その実行環境から独立したモードに存在する。実際に実行する必要なく、プログラムが必要とするものの多くのファセット(ただし、チューリング・コンプリート言語で書かれたプログラムでは、必ずしも全部のファセットではない)を質問し、理解することが可能である。
【0041】
セキュリティ・ポリシーは同様の扱いを保証する。現在のところ、セキュリティ・ポリシー表現機構は多くはデータの独立した一部であり、その表現力において特別である。簡単な論理モデル、言語又は抽出でさえ、その意図の管理に到達するのは難しい。セキュリティ・ポリシーはプログラミング言語の表現力を必要とせず、ポリシー・ステートメントの構成を許容する意味論だけで十分である。主目的は、ポリシーの意味がアクセス・チェック機構から独立に認識できなければならないということである。この点から見ると、ここで認識できるセキュリティ・ポリシー管理は、セキュリティ・ポリシーとアクセス・チェック機構との間のこうした独立性にとって有益であることが分かる。そうするために、ステートメントの形式とアクセス制御において有力なアサーションとを表現することを許容する言語が用いられ、能力は、言語における表現により推論するよう、即ち、質問、論理計算及びプルーフの導出を実施するよう提供される。
【0042】
言語は、アクセス・チェック機構から独立した、表現豊かなポリシー・モデル又はポリシー言語である。留意されるように、以下の特質を持つ任意の言語が適している。
表現力:
a.特性値を持ち、主体をリソースにマッピングし、主体を属性又は特性にマッピングするアサーションを特定する能力
b.こうしたアサーションを行った者を特定する能力
c.他の(又は同様の)アサーションを行う他の主体上で叙述されるアサーションを特定する能力。これらは極めて特殊なものから極めて一般的なものまでにわたる
d.表現力プリミティブを用いるハイレベルポリシー構造を作る能力。即ち、プリミティブはその表現範囲を過度に制限しない。
【0043】
宣言的意味論及び単調性:
a.アサーションを組立てて組み合わせ、処理された順序に無関係に結果の同一の組を導出することが可能である
b.ポリシー・ステートメントから作られた「プルーフ」により結果を正当化することができる
c.既存のアサーションから引き出された結論と矛盾することなく、新たなアサーション又は規則を追加することが可能である。
【0044】
計算上の取り扱い易さ:
a.宣言的アサーションの結果を高性能に計算することが可能である
b.監査の痕跡の分析及び質問が高性能である。
【0045】
バックエンドのアクセス・チェック機構のプリミティブ(又は、バックエンドの所望のサブセット)が識別される。即ち、データは、アクセスを許容するよう判定するために既存のアクセス・チェック機構によって消費される。こうしたプリミティブの例は、役割の定義及び役割の割付け(オーソライぜーション・マネージャ(AzMan)及びASP.NET)、権利管理ライセンス(RMS、IPP)、ACL(ファイルシェア、ファイヤウォール等)である。
【0046】
これらのプリミティブは、次いで、ポリシー言語で叙述されるものとして特徴付けられる。例えば、ACLにおけるアクセス制御エントリ(ACE)は述部「chuckrはfoo.txtを読むことができる」に対応する。他の例は、AzManアプリケーションの場合、「chuckrは役割開発者にある」である。異なるアクセス・チェック機構に依存して、多くのこうしたプリミティブが存在し得る。これらのプリミティブは許可と呼ばれる。
【0047】
次いで、宣言的ポリシーの結果的な許可が計算される。応用範囲に依存して、効率の目的で、結果的な許可を計算するために考慮すべきポリシーのサブセットを識別するために、ヒューリスティックな方法が用いられる。しかし、本発明はそれについて言及しない。許可はポリシーが無効にされる度に再現されると仮定する。その結果として生じる許可は適宜のネイティブなアクセス・チェック機構を構成するのに用いられる。アクセス・チェックは、アクセス要求がなされると、こうした構成を消費する。
【0048】
アクセスがなされると、監査イベントが作られ、これらは、ポリシー駆動型監査情報を生じるポリシー・モデル抽出に表されるポリシーに対して調停される。更に、どのようなアクセスをポリシーが許容し、その理由は何かを理解するために、アクセス・チェック機構とは独立して、ポリシーについて質問がされる。
【0049】
シナリオの例
以下の例は、実施からの意図の分離と、ローレベルのアクセス・チェック機構における意図の意味のコンフィギュレーションとを例示する。
【0050】
以下の例は、極めて制限された表現能力しかないシステムに対する自由裁量的アクセス制御のモデリングを示している。特に、アクセス・チェック機構が表すことのできる情報のみが、特定のリソースに対して特定の主体が実施できるアクションである。この例の目的のために、誰が所有者であるかを記録する能力さえもないとする。上記の性質のステートメントはシステムによって表明されたものと扱われる。システム自体はキーによって識別され又はモデル化される。
【0051】
次いで、図3を参照すると、例示のセキュリティ・ポリシーを用いて許可の表現を計算することを示すブロック図が図示されている。
イタリック体のステートメントは、アクセス制御システムにおいて表現され得ず、ポリシー・モデルにおいても表現されないものである。これらのステートメントはポリシー301の背後の意図を反映する。イタリック体でないステートメントはアクセス制御システムにおいて表現できるものであり、実施が何を扱うかである。これらは「許可」303である。
【0052】
目的は、ポリシー・ステートメント(即ち、イタリック体のステートメント301)からアクセス制御システムにおいて何が表現され得るか(イタリック体でないステートメント303)を結論付けることである。以下のポリシー規則301、即ち、
「システムが主体「O」がリソース「Z」の所有者だと言い、主体「O」が主体「X」はリソース「Z」に対するアクション「Y」を行えると言うならば、システムは主体「X」がリソース「Z」に対するアクション「Y」を行えると言う」
は上記の行動を捕捉する。
【0053】
以下の情報、即ち、
「システムはfoo.txtの所有者はピーターだと言う」
「ピーターはラビがfoo.txtを読めると言う」
「ピーターはジョンがfoo.txtを印字できると言う」
が公知であるとする。上記から、以下の許可303、即ち
「システムはラビがfoo.txtを読めると言う」
「システムはジョンがfoo.txtを印字できると言う」
を論理的に結論付けること307は可能である。
【0054】
更に、所有者は、選択された誰かにこの能力の全部を委託することができる。次に図4を参照すると、委託に関するセキュリティ・ポリシーの追加の例を用いた許可の表現の計算を示すブロック図が図示されている。ポリシー301の以下のステートメント401、即ち
「ボブが主体「X」はfoo.txtを読めると言うならば、ピーターは主体「X」がfoo.txtを読めると言う」
は、foo.txtを読む許可を与える能力をボブに委託するというピーターの意図を表している。以下の追加の情報405、即ち
「ボブはトムがfoo.txtを読めると言う」
が公知であるとすると、
「ピーターはトムがfoo.txtを読めると言う」
と論理的に推論すること307、及び、それに次いで以下の許可403、即ち
「システムはトムがfoo.txtを読めると言う」
と論理的に推論すること307も可能である。
【0055】
図5をここで参照すると、結果として生じた許可の例をアクセス・チェック機構の表現へ注入することを示すブロック図が図示されている。こうしたイタリック体でないステートメント403、303(即ち、許可)が、セキュリティ・ポリシー301を実施するためにアクセス・チェック機構の表現503へ注入される。
【0056】
次に図6を参照すると、アクセスの例と監査イベントとから生じるプルーフを提供することを示すブロック図が図示されている。トムがfoo.txtを読み601、対応の監査イベントが作られる603と仮定すると、完全な理由は、ポリシー・ステートメント301を用いてトムがfoo.txtを読むことを許容されることに対して計算される605。
【0057】
即ち、ポリシー・ステートメント301自体から作られる以下のプルーフ、即ち
「トムはFoo.txtを読める。何故なら、
システムがトムはFoo.txtを読めると言うからである。何故なら、
システムがFoo.txtの所有者はピーターだと言うからであり、
ピーターがトムはFoo.txtを読めると言うからである。その理由は、
ボブがトムはFoo.txtを読めると言うからである。」
が提供される。
【0058】
上記の回答は、ネイティブなアクセス・チェック機構503におけるコンフィギュレーションから完全に独立である。それは、何が何の理由で生じ、ポリシー・ステートメント301自体から系統的に何が何の理由で計算されるかについてのポリシー監査の真の痕跡である。こうした監査痕跡及びポリシー・ステートメントは、ステートメントが作られた場所やタイム・スタンプ等の追加の情報の広範な組み合わせによって補強されることができる。
【0059】
次に図7を参照すると、アクセス・チェック機構のネイティブな表現からセキュリティ・ポリシーを抽出し、セキュリティ・ポリシーをアクセス・チェック機構のネイティブな表現へ変換することを実施するシステムの例を示すブロック図が図示されている。留意されるように、図7は1つの可能な具現様式であって、同一の又は同様の結果を提供する他の例も可能であり、想定される。
【0060】
委託をサポートする役割ベースのアクセス制御(RBAC)は、適宜のポリシー駆動型ユーザ・インターフェース703を介してユーザに提示される。ポリシーを設定するユーザは、閲覧する又は設定することが許容されるポリシーの態様のみを閲覧する。こうしたポリシーが設定されると、その意味がコア・ポリシー・モデル705において捕捉されるが、これが本システムの核心である。
【0061】
コア・ポリシー・モデル705は以下の目的、即ち、
1.異質な閲覧によって設定されたポリシーの均一な問い合わせを全部のポリシーがサポートする共通の表現として供給すること、
2.ユーザ経験及びユーザ閲覧を促進すること(例えば、管理者がその特権を補助者に委託した結果、補助者のユーザ経験が新たな管理特権を反映するよう変化すること)、
3.アクセス・チェック機構に適するフォーマット(例えば、ACL及びAzManRole)707で許可の表現の計算を許容すること、
4.提示された監査モデル711のポリシーで監査イベント709として補強されたアクセスを正当化して、ポリシーがアクセスに如何に対応するかを決定すること、
のために使用される。
【0062】
上記の特徴の多くを効果的に所有するシステムは、いずれのローレベルのアクセス・チェック機構713をも変更することなく、例えばAzManRoleやACLに、きめ細かい委託能力を追加する。
【0063】
要するに、アクセス・チェック機構からアクセス制御ポリシーを抽出することにより、アクセス・チェック機構によって許容されるよりも豊富なポリシー表現が(意味論的又は無条件的なモデルを持つ宣言的モデルを用いて)許容される。例えば、誰がどのリソースにアクセスしたかのような、アクセスについての任意の問い合わせに対するプルーフ型の理由が、アクセスを提供するアクセス・チェック機構から独立に、ポリシー・ステートメント自体から作られる。「What-if」能力は、実際にアクセス・チェック構成を変更することなく、ポリシーを変更することのインパクトを理解するためにポリシーに問い合わせる。許可は、ポリシー・ステートメントの1つの組から論理的な結果を計算する結果として、複数のアクセス・チェック機構にわたって設定される。アクセスは監査され、ポリシーに基づく理由がアクセスに対して提供され、ポリシーと一致しないアクセスの試みが識別される。これは、ポリシーが過度に緩い場合の問題を解決するのを助ける。その場合、監査はポリシー内の穴を発見するのを助けることができ、また、極悪な結果を生じたアクセスを誰が用いたかを(企業での及び公式の)調査員が決定することができる、法廷で用いられる痕跡を作る。
【0064】
ここで記述される種々のシステム、方法および技術は、ハードウェアやソフトウェアにより、又は適切であればそれらの組み合わせにより実施され得る。つまり、本発明の方法および装置又はその一部の態様は、フロッピー(登録商標)ディスク、CD−ROM、ハードドライブ又は他の任意のマシン読み取り可能な記憶媒体のような有形の媒体に具現化されたプログラム・コード(即ち、命令)の形を取る。その場合、プログラム・コードがコンピュータのようなマシンにロードされて実行されるとき、マシンは本発明を実施する装置となる。プログラム可能なコンピュータ上でのプログラム・コードの実行の場合、一般に、コンピュータはプロセッサ、プロセッサにより読み取り可能な(揮発性及び不揮発性のメモリ及び/又は記憶素子を含む)記憶媒体、少なくとも1つの入力装置及び少なくとも1つの出力装置を備える。コンピュータ・システムと通信するために、1つ以上のプログラムはハイレベル手続的言語又はオブジェクト指向プログラミング言語で実装されることが好ましい。しかし、必要であれば、プログラムはアセンブリ又はマシン言語で実装され得る。いずれにしても、言語は編集され又は解釈される言語であり、ハードウェア実装と組み合わされる。
【0065】
また、本発明の方法および装置は、例えば電線、ケーブル、光ファイバ又は他の任意の伝送形態のような伝送媒体により伝送されるプログラム・コードの形で実施され得る。その場合、プログラム・コードは、EEPROM、ゲートアレイ、プログラマブル論理デバイス(PLD)、クライアント・コンピュータ、ビデオ・レコーダ等のマシンによって受信され、そこにロードされて実行されるとき、マシンは本発明を実施する装置となる。汎用プロセッサ上に実装されるとき、プログラム・コードはプロセッサと組み合わされて、本発明の指標付け機能を実施するよう動作する独特の装置を提供する。
【0066】
本発明を、種々の図の好ましい実施の形態と結合させて説明してきたが、理解されるように、他の同様の実施の形態を用いることができ、本発明から逸脱することなく本発明の同一の機能を実施するために、記述した実施の形態に対する修正及び追加を行うことができる。また、強調されるべきは、本明細書においては、携帯装置のオペレーティング・システム及び他のアプリケーション・スペシフィックなハードウェア/ソフトウェア・インターフェース・システムを含む種々のコンピュータ・プラットフォームが想定されており、特にこれは多くの無線ネットワーク装置が増え続けているからである。したがって、本発明は任意の1つの実施の形態に限定されてはならず、添付の請求項にしたがって範囲を解釈されるべきである。
【0067】
最後に、本命最初に記述された実施の形態は他のプロセッサ・アーキテクチャ、コンピュータをベースとするシステム又はシステム仮想化での使用に適合され得、こうした実施の形態は、本明細書での開示によって明確に想到されるので、本発明は、明細書で記述された特定の実施の形態に限定されるべきではなく、最も広く解釈されるべきである。

【特許請求の範囲】
【請求項1】
コンピュータ・リソース・アクセス制御ポリシーを実施するための方法であって、
アクセス・チェック機構からアクセス制御ポリシーを抽出するステップを備え、前記アクセス・チェック機構が、前記アクセス制御ポリシー以上に制限されたポリシー表現能力を有する方法。
【請求項2】
更に、
アクセス制御ポリシー・ステートメントから論理結果を計算するステップと、
計算された前記論理結果に基づいて、少なくとも1つの前記アクセス・チェック機構における許可を設定するステップと、
を備える、請求項1に記載の方法。
【請求項3】
前記許可が複数のアクセス・チェック機構において設定される、請求項2に記載の方法。
【請求項4】
更に、
リソースに対するアクセスに関する問い合わせを受信するステップと、
前記アクセス制御ポリシーにしたがって、前記問い合わせの結果を特定の結果が提供される理由と共に提供するステップであって、前記結果が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られるステップと、
を備える、請求項3に記載の方法。
【請求項5】
更に、
前記アクセス制御ポリシーに問い合わせて、前記アクセス制御ポリシーの変更の影響を決定するステップと、
前記アクセス・チェック設定を変更することなく前記アクセス制御ポリシーの変更の前記影響を詳述する情報を提供するステップと、
を備える、請求項4に記載の方法。
【請求項6】
更に、
リソース・アクセスを監査するステップと、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供するステップであって、前記理由が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られるステップと、
を備える、請求項4に記載の方法。
【請求項7】
請求項1に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項8】
請求項2に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項9】
請求項3に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項10】
請求項4に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項11】
請求項5に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項12】
請求項6に記載のステップを実施するための命令を備えるコンピュータ読み取り可能媒体。
【請求項13】
コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムであって、
アクセス・チェック機構からアクセス制御ポリシーを抽出する手段を備え、前記アクセス・チェック機構が、前記アクセス制御ポリシー以上に制限されたポリシー表現能力を有するシステム。
【請求項14】
更に、
アクセス制御ポリシー・ステートメントから論理結果を計算する手段と、
計算された前記論理結果に基づいて、少なくとも1つの前記アクセス・チェック機構における許可を設定する手段と、
を備える、請求項13に記載のシステム。
【請求項15】
前記許可が複数のアクセス・チェック機構において設定される、請求項14に記載のシステム。
【請求項16】
更に、
リソースに対するアクセスに関する問い合わせを受信する手段と、
前記アクセス制御ポリシーにしたがって、前記問い合わせの結果を特定の結果が提供される理由と共に提供する手段であって、前記結果が前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備える、請求項15に記載のシステム。
【請求項17】
更に、
前記アクセス制御ポリシーに問い合わせて、前記アクセス制御ポリシーの変更の影響を決定する手段と、
前記アクセス・チェック設定を変更することなく前記アクセス制御ポリシーの変更の前記影響を詳述する情報を提供する手段と、
を備える、請求項16に記載のシステム。
【請求項18】
更に、
リソース・アクセスを監査する手段と、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供する手段であって、前記理由が、前記アクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備える、請求項5に記載のシステム。
【請求項19】
コンピュータ・リソース・アクセス制御ポリシーを実施するためのシステムであって、
リソース・アクセスを監査する手段と、
前記アクセス制御ポリシーにしたがって、特定の監査されたアクセスが許容された理由を提供する手段であって、前記理由が、前記アクセス制御ポリシーよりも制限されたポリシー表現能力を持つアクセス・チェック機構から独立に前記アクセス制御ポリシー自体から作られる手段と、
を備えるシステム。
【請求項20】
前記アクセス制御ポリシーに基づいて、前記アクセス・チェック機構から独立に、アクセス・セキュリティ・ポリシーに一致しないリソース・アクセス試行を識別する手段を備える、更に請求項19に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2009−540397(P2009−540397A)
【公表日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願番号】特願2009−513283(P2009−513283)
【出願日】平成19年5月31日(2007.5.31)
【国際出願番号】PCT/US2007/012877
【国際公開番号】WO2008/018944
【国際公開日】平成20年2月14日(2008.2.14)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】