JP4838137B2 - 拡張型セキュリティ・モデルを提供するシステムおよび方法 - Google Patents

拡張型セキュリティ・モデルを提供するシステムおよび方法 Download PDF

Info

Publication number
JP4838137B2
JP4838137B2 JP2006536577A JP2006536577A JP4838137B2 JP 4838137 B2 JP4838137 B2 JP 4838137B2 JP 2006536577 A JP2006536577 A JP 2006536577A JP 2006536577 A JP2006536577 A JP 2006536577A JP 4838137 B2 JP4838137 B2 JP 4838137B2
Authority
JP
Japan
Prior art keywords
item
security
access control
data
inherited
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006536577A
Other languages
English (en)
Other versions
JP2007509414A (ja
Inventor
エイチ.アガーワル サミート
セシュ ラマン バラン
アナンド サンジャイ
ジェイ.リーチ ポール
ビー.ワード リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007509414A publication Critical patent/JP2007509414A/ja
Application granted granted Critical
Publication of JP4838137B2 publication Critical patent/JP4838137B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般には、コンピュータ・システムに関し、より詳細には、階層的に配列されたデータ・アイテムに従って拡張型セキュリティ・モデルを使用するシステムおよび方法に関する。
本出願は、2003年10月23日に出願した米国特許出願第10/691999号「SYSTEM AND METHODS PROVIDING ENHANCED SECURITY MODEL」の優先権を主張するものである。同特許全体を本明細書中で参考として援用する。
現代のオペレーティング・システムは、多くの多様なニーズに対処しながら、ハードウェアとソフトウェアの両方の開発のためのプラットフォームを提供することによって、今日の技術ベースの革新を推進してきた。こうしたシステムは、より単純化したファイル管理システムから、ハイエンドのパフォーマンスを妥当なコストで提供するより複雑なワークステーションに進化してきた。こうしたシステムはしばしば、多重処理アーキテクチャ、高速メモリ、高度な周辺装置、ソフトウェア開発に役立つ様々なシステム・ライブラリおよびコンポーネント、複雑な/インタリーブされたバス・アーキテクチャなどを含む。こうしたシステムの中心には、コンピュータ関連のハードウェアだけでなく、様々なリレーションシップを有する多数の一連のソフトウェア・コンポーネントを管理する精緻なオペレーティング・システムを含む。こうしたコンポーネントはしばしば、多くのデータ管理システムで見られるファイルおよびディレクトリの階層ツリー構造などで重層的なリレーションシップを有するオブジェクトまたはクラスの言葉で表される。
新技術は、データベース内のオブジェクトを格納し管理するための他のタイプの構造およびモデルを生み出してきた。それは、個々のアイテムまたはオブジェクトの間の複数のリレーションシップを可能にする包含階層のような階層構造を含む。こうした階層はしばしば、有向非循環グラフ(DAG:Directed Acyclic Graph)としてモデル化され、包含階層のルート・ノードからアイテムへの複数のパス・リレーションシップをサポートする。しかし、エンティティ(ユーザまたは他のコンポーネントなど)が、各構造内に常駐するオブジェクトまたはアイテムへのアクセスをどのように許可されるかを判断し容易にするため、セキュリティ・モデルは、関係するデータ構造のタイプに関係なく、こうしたシステムに適用されてきた。
多くの側面において、現在のセキュリティ・モデルによって、安全性と効率性の両方を備えてデータを管理するために、オペレーティング・システムの有効性を制限する。たとえば、あるセキュリティ・モデルは、アクセス制御リスト(ACL:Access Control List)を階層内のあらゆるファイルまたはディレクトリに関連付けることによって、セキュリティ保護を実装する。次いで、継承モデルは、ディレクトリ内の新しく作成されたアイテムについて、既定のACLを指定するためのサポートを提供するが、その後、ディレクトリのACLが変更される場合、そのディレクトリ下の階層内に含まれるファイルおよびフォルダは、自動的に更新されない。また任意のディレクトリで指定されたACLは、たとえば高水準APIを使用して伝播されることができる。その結果、あらゆるアイテムが、その上にセキュリティ・ポリシーをオーバライドし、また、上からのさらなる継承を明示的にブロックし、あるいは新しく作成されたACLが階層の上から下に伝播される場合にだけ再継承するそのレベルでACLを指定することができる。残念ながら、ボリューム・レベルでは、こうしたそれぞれ異なるセキュリティ・ポリシーがトラッキングされる単一の場所がないので(それらは一般に、アイテム単位にトラッキングされる)、結果としてもたらされるセキュリティ・ポリシーをそのレベルで判断することは、不可能ではないにしても、非常に難しい。
上述したように、新しいACLがディレクトリで指定される場合、それは、階層を上から下に伝播されることができるが、これには通常、その階層内のあらゆるファイルおよびディレクトリ上に関してオペレーションを実行させることを伴う。かなり大きいボリュームである場合、これは、法外な時間がかかる可能性がある。単一インスタンス化は包含パスに関係なく発生するので、単一インスタンス化のACLによってでも、この問題は緩和されないことに留意されたい。したがって、2つの階層がその包含されたアイテムについて同じACLを有する場合、またそのうちの1つのポリシーが変更される場合、それによって他の階層に関するポリシーも同様に変化するので、単一のインスタンス・テーブルだけを更新することは誤りである。
現在のセキュリティ・モデルに関する他の問題は、ACL継承に関連して考慮される場合に意味論的な問題を提示する、アイテム間のハード・リンク(hard link)の存在に関連する。たとえば、アイテムがフォルダ1の下で作成される場合、それは、フォルダ1から既定のACL1を受け取る。フォルダ2からそのアイテムへの次のリンクを生成することによって、セキュリティは変更されない。しかし、フォルダ2に関する新しいACL3がその階層に適用される場合、それは、そのアイテムに関するACLも同様に変更する。次いで、新しいACLがフォルダ1で適用される場合、それは、そのアイテムに受け継がれる。したがって、誰かが、または何かが、偶然に、継承された既存のACLに最後の上書きをする、ことが起きる。このタイプのセキュリティ構成は、少なくとも混乱を招き、よりしばしば予測不可能であり、これは非常に好ましくない。
以下に、本発明のいくつかの態様についての基本的な理解をもたらすために、本発明について簡略化された要約を提示する。この要約は、本発明の広範な要約ではない。本発明の主要な/重要な要素を識別し、または本発明の範囲を描くためのものではない。その唯一の目的は、後に提示されるより詳細な説明の序文として、本発明のいくつかの概念を簡略化された形で提示することである。
本発明は、階層的に配列されたデータ・アイテムのための予測可能なグローバル化されたセキュリティ・モデルを提供するシステムおよび方法に関する。こうした階層は、一般的なツリー構造や、より複雑なデータ構造たとえば有向非循環グラフ(DAG)など、階層的に配列された実質上どんなタイプのアイテムをも含む可能性がある。ある態様では、セキュリティ・ポリシーが、よりグローバルなやり方、たとえばデータベース内でマップされる1つまたは複数のセキュリティ領域から適用されることを可能にするセキュリティ・コンポーネントが提供される。こうしたポリシーは、明示的に定義されたポリシー、および/または関係するデータ構造のタイプに関連するパスまたは領域の様々な部分から継承されることができる、より一般化されたポリシー(ツリー構造についてはあるやり方で、また包含階層については次のやり方で適用されるセキュリティ・ポリシーなど)を含むことができる。それぞれのセキュリティ・ポリシーは、階層構造内のデータ・アイテムごとに別個のセキュリティ・ファイルを提供するのではなく、データベースの領域またはグローバルレベルで適用されるので、本発明によって、データベースのパフォーマンスが大きく向上する。パフォーマンスの向上は、データ・アイテムがデータベースに追加されるのにつれて量がやはり増加し続ける複数の孤立したセキュリティ・ファイルを作成/管理する従来システムのセキュリティ・モデルに付随するコンピューティング・オペレーションを軽減することによって達成される。
本発明の別の態様では、セキュリティ・ポリシーがデータベースのアイテムに自動的に関連付けられることを可能にする様々なコンポーネントおよびプロセスが提供される。こうしたコンポーネントは、使用されるデータ構造のタイプに応じて、セキュリティ・ポリシーを各アイテムにマップするセキュリティ・モデルを定義する。たとえば、あるタイプのデータベースでは、包含階層は、階層内に現れるアイテム間の様々な保持リレーションシップ(holding relationship)を含むことができる。保持リレーションシップを使用して、各アイテムについてセキュリティ・ポリシーを伝播することができ、該ポリシーは、(たとえばシステム管理者によって定義される)明示的な部分と、およびアイテムに関連する親および/または他のコンポーネントから受け取られる継承部分の両方を含むことができる。したがって、アイテムが階層構造に従って、階層の根(root)から各アイテムへのパスの枝に沿ってセキュリティ・ポリシーを継承することを可能にする規則がモデル化されることができる。たとえばツリーのルート・ノードと各データ・アイテムの間に1つのパスがある場合など、より従来型のツリー構造に遭遇する場合、セキュリティ・ポリシーの代替マッピングを適用することができる。遭遇する階層のタイプに応じてセキュリティ・ポリシーをマップするための様々な手法を提供することによって、本発明は、システム・パフォーマンスを促進する堅牢なセキュリティ・モデルを提供し、また従来のセキュリティ技術に付随する不確実性を軽減することによって安定性を高める。
上記内容および関連する目的を達成するために、本発明のある例示的な態様について、以下の説明および添付の図面に関連して本明細書中で説明する。こうした態様は、本発明を実施することが可能な様々なやり方を示すものであり、そのすべては、本発明によって網羅されるものである。本発明の他の利点および新規な特徴は、図面と併せて考慮すれば、本発明についての以下の詳細な説明から明らかになることになる。
本発明は、階層的なデータベースまたはストレージ構造(様々なノードに分岐する階層ツリーなど)内に常駐する(またはそれに関連する)データ・アイテムのセキュリティ保護を促進するためのシステムおよび方法論に関する。ある態様では、1つまたは複数のデータ・アイテムに関連する階層的なデータ構造を有するデータベース・セキュリティ・システムが提供される。このシステムは、データベースに関連するグローバル位置または領域からセキュリティ・ポリシーをデータ・アイテムに適用するセキュリティ・コンポーネントを含む。遭遇されまたは処理されるデータ構造のタイプに応じて、明示および/または継承セキュリティ・プロパティがデータ・アイテムによって受け取られ、データ・アイテムに伝播されることを可能にするために、様々なコンポーネントおよび処理が使用される。アイテム・レベルではなく、データベースのグローバル、ボリュームまたは領域レベルでセキュリティ・ポリシーおよび/またはプロパティを関連付けることによって、データベースの処理オペレーションは、個々のセキュリティ・ファイルをデータベース内に常駐する個々のデータ・アイテムに一般にリンクする従来のシステムよりも軽減される。
本出願では、用語「コンポーネント」、「ツリー」、「モデル」、「システム」などは、コンピュータ関連のエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指す。たとえば、コンポーネントは、それだけに限らないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能物(executable)、実行スレッド、プログラムおよび/またはコンピュータであることができる。例を挙げると、サーバ上で実行されるアプリケーションとサーバの両方がコンポーネントであることができる。1つまたは複数のコンポーネントが実行のプロセスおよび/またはスレッド内に常駐することがあり、またコンポーネントは、1つのコンピュータ上に集中させ、かつ/または2つ以上のコンピュータ間で分散することができる。
最初に図1を参照すると、本発明の一態様によるデータベース・セキュリティ・システムおよびモデル100が示されている。システム100は、データベース内のグローバルなまたは領域化された位置から管理される(データベースの外部のリモート位置から管理されることもできる)セキュリティ・コンポーネント120を備えるデータベース110を含む。データベース120は、1つまたは複数の階層構造130および140を含む。こうした階層は、一般的なツリー構造130や、より複雑なデータ構造たとえば有向非循環グラフ(DGA)として一般にモデル化される包含階層140など、階層的に配列された実質上どんなタイプのデータ・アイテム(楕円形のノードとして図示する)をも含むことができる。ツリー130および包含階層140(DAGとも称される)が図示されているが、本発明のセキュリティ・モデルは、実質上どんなタイプの階層データ構造にも適用することができることを理解されたい。以下でより詳細に述べるように、セキュリティ・コンポーネント120から各階層130および140にセキュリティ・ポリシーを与えるために、様々なプロセスおよびコンポーネントが使用される。
本発明のある態様では、セキュリティ・コンポーネント120は、よりグローバルなやり方で、たとえばデータベース110の内部で/からマップされる1つまたは複数のセキュリティ領域150から、セキュリティ・ポリシーが適用されることを可能にする。こうしたポリシーは、160上の明示的に定義されたポリシーまたはプロパティ、および/または170上の関係するデータ構造のタイプに関連するパスまたは領域の様々な部分から継承されることができる一般化されたポリシーまたはプロパティを含むことができる。たとえば、セキュリティ・ポリシーは、所望であれば、ツリー130についてはあるやり方で、DAG140については次のやり方で適用されることができる。
上述したように、セキュリティ・ポリシーがデータベース・アイテムに自動的に関連付けられることを可能にする様々なコンポーネントおよびプロセスが提供される。こうしたコンポーネントは、使用されるデータ構造のタイプに応じて、セキュリティ・コンポーネント120から階層130および140内の各アイテムにセキュリティ・ポリシーをマップするセキュリティ・モデルを定義する。たとえば、あるタイプの構造では、包含階層は、階層内に現れるアイテム間の様々な保持リレーションシップを含むことができる。この保持リレーションシップを使用して、それぞれのアイテムについてセキュリティ・ポリシーを伝播することができ、該ポリシーは、明示的部分160(たとえばシステム管理者によって定義される)、ならびに/またはそのアイテムに関連する親および/または他のコンポーネントから受け取られる継承部分170を含むことができる。このように、アイテムが階層構造に従って、階層の根から各アイテムへのパスの枝に沿ってセキュリティ・ポリシーを継承できるようにする規則が提供されることができる。また、たとえばツリーのルート・ノードと各データ・アイテムの間に1つのパスがある場合など、より従来型のツリー構造に遭遇する場合、セキュリティ・ポリシーの代替マッピングが適用されることができる。
データベース110、および/または階層130/140は、アイテム・ストア(データベース内のメモリ領域など)としてモデル化されることができることに留意されたい。セキュリティ・ポリシーが指定され実施され粒度は一般に、所与のストアにおけるアイテムに対する様々なオペレーションのレベルである。一般に、セキュリティ・コンポーネント120(またはモデル)は、たとえばアクセス制御リスト(ACL)を用いて、アイテムに対するこうしたオペレーションを実施するためにアクセスが許可され、または拒否される可能性のある1組のプリンシパルを提供する。それぞれのACLは一般に、以下でより詳細に述べるアクセス制御エントリ(ACE:Access Control Entry)の順次付けされた集まりである。
あるアイテムのセキュリティ・ポリシーは、たとえば任意アクセス制御ポリシーおよびシステム・アクセス制御ポリシーで表されることができ、こうしたポリシーは、1組のACLとしてモデル化することができる。第1の組(任意ACL−DACL)は、アイテムの所有者によって様々なプリンシパルに許可される任意アクセスを表し、第2の組のACLはSACL(システム・アクセス制御リスト:System Access Control List)と称され、このSACLは、オブジェクトが操作されるときにシステム監査がどのように達成されるかについて指定する。こうしたリストに加えて、アイテム・ストア内のアイテムは一般に、アイテムの所有者(所有者SID)に対応するセキュリティ識別子(SID)に関連付けられる。
アイテム・ストア内にアイテムを編成するためのある態様は、140に示すような包含階層のものである。一般に、包含階層は、アイテム間の保持リレーションシップを介して実現される。たとえば、「AがBを包含する」と表現される、2つのアイテムAとBの間の保持リレーションシップは、アイテムAがアイテムBの存続期間に影響を及ぼすことを可能にする。一般に、アイテム・ストア内のアイテムは、別のアイテムからのそれへの保持リレーションシップがあって初めて存在することができる。この規則の1つの例外は、包含階層の根である。上述したように、保持リレーションシップは、アイテムの存続期間を制御するのに加えて、アイテムのセキュリティ・ポリシーを伝播するためのコンポーネントを提供する。
各アイテムについて指定されたセキュリティ・ポリシーは一般に、2つ(またはそれ以上)の部分、すなわちそのアイテムについて明示的に指定された部分、およびアイテム・ストア内のアイテムの親から継承された部分を含む。アイテムについて明示的に定義されたセキュリティ・ポリシーもまた、2つ(またはそれ以上)の部分、すなわち考慮対象のアイテムへのアクセスを管理する部分、および包含階層または他の階層構造内の子孫によって継承されたセキュリティ・ポリシーに影響を及ぼす部分を含むことができる。子孫によって継承されるセキュリティ・ポリシーは一般に、明示的に定義されたポリシーと継承されたポリシーの総合機能である。
次に図2を参照すると、本発明の一態様によるアクセス制御リスト200および順序付けコンポーネント210が示されている。上述したように、セキュリティ・ポリシーは一般に、包含階層内の保持リレーションシップを介して伝播される。セキュリティ・ポリシーは保持リレーションシップを介して伝播され、またアイテムでオーバライドされることもできるので、アイテムについて有効なセキュリティ・ポリシーがどのように判断されるかについて以下に述べる。たとえば、包含階層内のアイテムは、アイテム・ストアの根からアイテムへのパスに沿ってACLを継承する。所与のパスについて継承されたACL内では、ACL200内の様々なアクセス制御エントリ(ACE:Access Control Entry)の順序付けによって、実施される最終的なセキュリティ・ポリシーが一般に判断される。以下の表記は、順序付けコンポーネント210を介した、ACL内のACEの順序付けについて示している。
アイテムによって継承されるACL内のACEの順序付けは、以下の規則によって判断することができる。
規則1
アイテム(I)の継承されたACL(L)について、
アイテムI1、I2について、
L内のACE A1およびA2について
I1は、I2の祖先であり、かつ
I2は、I3の祖先であり、かつ
A1は、I1から継承されたACEであり、かつ
A2は、I2から継承されたACEであることは、
LにおいてA2がA1に優先することを暗黙に定義する。
上記規則は、包含階層の根からアイテムIへのパス内の様々なアイテムから継承されるACEを階層化する。より近くのコンテナから継承されたACEが、遠くのコンテナから継承されたエントリよりも優先される。これによって、直感的に、包含階層内のさらに上から継承されたACEをオーバライドする能力が管理者に与えられる。
以下の規則は、アイテムへのアクセスを否定するACEが、アイテムへのアクセスを許可するACEに先行することを規定する。
規則2
アイテム(I)の継承されたACL(L)について、
アイテムI1について、
L内のACE A1およびA2について、
I1は、I2の祖先であり、かつ
A1は、I1から継承されたACCESS_DENIED_ACEであり、かつ
A2は、I1から継承されたACCESS_GRANTED_ACEであることは、
LにおいてA1がA2に優先することを暗黙に定義する。
図3を参照すると、システム300に、本発明の一態様によるセキュリティ・ポリシーの配布が示されている。システム300は、ツリー構造320および/またはDAG330に、1つまたは複数のセキュリティ・ポリシー310を展開する。ツリー320である包含階層の場合、ツリーの根からアイテムに1つのパスが存在し、したがって、アイテムは、340で、継承された1つのACLを有する。こうした状況下では、アイテムによって継承されるACLは、その中のACEの相対順序付けに関する既存のセキュリティ・モデルにおいてファイル(アイテム)によって継承されるACLに一致する。しかし、包含階層が有向非循環グラフ(DAG)330である場合、アイテムに複数の保持リレーションシップが許される。こうした状況下では、包含階層の根からアイテムへの複数のパスが存在する。アイテムは、アイテムが関連付けられるパスに沿ってACLを継承するので、350で、単一のACLではなく、ACLの集まりが使用される。
上記のモデルは、厳密に1つのACLがファイルまたはフォルダに関連付けられるファイルシステムモデルとは異なることに留意されたい。したがって、レガシー・インターフェースの場合、システム300は、アイテムがアクセスされた特定のパスに関するACLを返すことができる。しかし、アイテム・ストア・モデルの場合、アイテムに関連する1組のACLが返されることになる。
包含階層がツリー320ではなく、DAG330である場合、入念に策定されるべき2つの側面が一般に存在する。1つの側面では、このモデルは、アイテムがその親から2つ以上のACLを継承する場合に、有効なセキュリティ・ポリシーがどのように計算されるか、またどのようにアイテムが編成され、表現され、アイテム・ストアのセキュリティ・モデルの管理に影響を及ぼすかについての記述を提供する。
以下のアルゴリズムは、所与のプリンシパルの所与のアイテムに対するアクセス権を評価する。アルゴリズムに進む前に、以下の表記によって、アイテムに関連付けられるACLを示す。
Inherited_ACLs(ItemID)−アイテムによって継承された1組のACLであり、このアイテムのIDは、ストア内のその親からのItemIDである。
Explicit_ACL(ItemID)−アイテムについて明示的に定義されたACLであり、このアイテムのIDは、ItemIDである。
Figure 0004838137
所望のアクセスが明示的に拒否されなかった場合、上記ルーチンは、STATUS_SUCCESSを返し、pGrantedAccessは、ユーザによって望まれる権利のうちのどれが、指定されたACLによって許可されたかを判断する。所望のアクセスが明示的に拒否された場合、上記ルーチンは、STATUS_ACCESS_DENIEDを返す。
Figure 0004838137
Figure 0004838137
Figure 0004838137
アイテムで定義されるセキュリティ・ポリシーの影響の範囲は、アイテム・ストアで定義される包含階層内のアイテムの子孫をカバーする。明示的なポリシーが定義されるアイテムの場合、その効果は、包含階層内の子孫によって継承されるポリシーを定義することに類似する。子孫によって継承された有効なACLは、アイテムによって継承されたACLを取り、(伝播されたACEは継承されないと指定するフラグが設定されていない限りは)明示的なACL内の継承可能なACEをそのACLの最初に追加することによって得ることができる。これは、アイテムに関連する1組の継承可能なACLと称される。
フォルダ・アイテムを根とする包含階層内にセキュリティ保護についての明示的な指定が存在しないときは、そのフォルダのセキュリティ指定が一般に、包含階層内のそのアイテムのすべての子孫に適用される。したがって、明示的なセキュリティ・ポリシーの指定が設けられているあらゆるアイテムは、同様に保護されるアイテムの領域を定義し、またその領域内のすべてのアイテムについての有効なACLが、そのアイテムについての1組の継承可能なACLである。これによって、ツリーである包含階層の場合の領域が完全に定義される。各領域が番号と関連付けられる場合、アイテムが属する領域を、そのアイテムと共に含むだけで十分である。
DAGである包含階層の場合、有効なセキュリティ・ポリシーが変化する、包含階層内の箇所は、2つのタイプのアイテムによって一般に判断される。
明示的なACLが指定されているアイテム。それは一般に、管理者が明示的にACLを指定している、包含階層内の箇所である。
2つ以上の親をもつアイテムとその親は、それに関連付けられた異なるセキュリティ・ポリシーを有する。それらは一般に、アイテム・ボリュームについて指定されたセキュリティ・ポリシーの合流箇所であり、新しいセキュリティ・ポリシーの開始を示すアイテムである。
上記の定義によって、アイテム・ストア内のアイテムは一般に、2つのカテゴリ、すなわち同様に保護されるセキュリティ領域の根であるもの、およびそうでないものに分類される。セキュリティ領域を定義しないアイテムは一般に、1つのセキュリティ領域に属する。ツリーの場合と同様に、アイテムについての有効なセキュリティ保護は、アイテムが属する領域を指定することによって特定されることになる。これは、ストア内の同様に保護される様々な領域に基づいてアイテム・ストア内のセキュリティを管理するための簡単明瞭なモデルにつながる。
図4〜6に関する以下の議論は、本発明に従って使用することができるセキュリティ・ポリシーおよび/またはセキュリティ実装についてのより詳細な説明に関する。たとえば、詳細なビットマッピングについて説明されていが、本発明は、そのように説明される特定の実装に限定されない(たとえば他のビットマッピングおよび/または実装が可能である)ことを理解されたい。
一般に、セキュリティ記述子は、セキュリティ保護可能な(securable)オブジェクトに関連するセキュリティ情報を含む。セキュリティ記述子は、SECURITY_DESCRIPTOR構造体、およびその関連するセキュリティ情報を含む。セキュリティ記述子は、以下のセキュリティ情報を含むことができる。
オブジェクトの所有者および1次グループのSID
特定のユーザまたはグループに許可されまたは拒否されるアクセス権を指定するDACL
オブジェクトについての監査記録を生成するアクセス試行のタイプを指定するSACL
セキュリティ記述子またはその個々のメンバの意味を限定する1組の制御ビット
アプリケーションは、セキュリティ記述子の内容を直接的に操作すべきではない。オブジェクトセキュリティ記述子内のセキュリティ情報を設定し、取り出すために、アプリケーションプログラミングインターフェース(API:application programming interface)関数を提供することができる。さらに、新しいオブジェクトのためにセキュリティ記述子を作成し、初期化するための関数がある。
任意アクセス制御リスト(DACL)は、セキュリティ保護可能なオブジェクトへのアクセスを許可されまたは拒否されるトラスティを識別する。あるプロセスがセキュリティ保護可能なオブジェクトにアクセスしようとする場合、システムは、オブジェクトのDACL内のACEをチェックして、それにアクセスを許可するかどうか判断する。オブジェクトがDACLをもたない場合、システムは、完全アクセスを許可することができる。オブジェクトのDACLがACEをもたない場合、DACLがアクセス権を与えていないので、このシステムは、オブジェクトへのアクセスの試行を拒否する。システムは、要求されたアクセス権を許可する1つまたは複数のACEを見つけ、または要求されたアクセス権が拒否されるまでACEを順にチェックする。
システム・アクセス制御リスト(SACL)は、管理者が、セキュリティ保護されたオブジェクトへのアクセスの試行を記録できるようにする。ACEは、システムにセキュリティ・イベント・ログ内に記録を生成させる、指定されたトラスティによるアクセス試行のタイプを指定する。SACL内のACEは、アクセス試行が失敗する場合、それが成功する場合、またはその両方の場合に監査記録を生成することができる。SACLは、許可されていないユーザがオブジェクトへのアクセスを得ようとするときに、アラームを発することもできる。一般にACEは、以下のアクセス制御情報を含む。
ACEが適用されるトラスティを識別するセキュリティ識別子(SID)
ACEによって制御されるアクセス権を指定するアクセス・マスク
ACEのタイプを示すフラグ
子のコンテナまたはオブジェクトが、ACLが添付された1次オブジェクトからACEを継承することができるかどうかを判断する1組のビットフラグ。
以下の表は、セキュリティ保護可能オブジェクトによってサポートされる可能なACEのタイプをリストする。
Figure 0004838137
ある態様では、セキュリティ保護可能オブジェクトは、図4のマスク400内に示されたアクセス・マスク形式(他の形式も可能である)によってそのアクセス権を構成することができる。この形式では、下位16ビットはオブジェクト固有のアクセス権のためのものであり、次の7ビットは、ほとんどのタイプのオブジェクトに適用される標準のアクセス権のためのものであり、高位4ビットは、オブジェクト・タイプが1組の標準およびオブジェクト固有の権利にマップすることができる汎用のアクセス権を指定するために使用される。ACCESS_SYSTEM_SECURITYビット(ASビット)は、オブジェクトのSACLにアクセスする権利に対応する。
汎用的な権利は、マスク400内の高位4ビット内に指定される。一般に、それぞれのタイプのセキュリティ保護可能オブジェクトは、こうしたビットを、その1組の標準およびオブジェクト固有の権利にマップする。たとえば、あるタイプのファイル・オブジェクトは、GENERIC_READビットを、READ_CONTROLおよびSYNCHRONIZE標準アクセス権、ならびにFILE_READ_DATA、FILE_READ_EAおよびFILE_READ_ATTRIBUTESオブジェクト固有アクセス権にマップすることができる。
他のタイプのオブジェクトは、GENERIC_READビット(GR)を、そのタイプのオブジェクトに適した1組のアクセス権にマップする。汎用アクセス権(generic access rights)を使用して、たとえばオブジェクトへのハンドルを開くときに望まれるアクセス権のタイプを指定することができる。これは一般に、対応する標準および特定の権利のすべてを指定するよりも単純である。以下の表に、汎用アクセス権について定義される可能な定数を示す。
Figure 0004838137
一般に、各タイプのセキュリティ保護可能オブジェクトは、そのタイプのオブジェクトに固有のオペレーションに対応する1組のアクセス権を有する。こうしたオブジェクト固有のアクセス権に加えて、ほとんどのタイプのセキュリティ保護可能オブジェクトに共通のオペレーションに対応する1組の標準のアクセス権がある。以下の表に、標準アクセス権について定義される可能な定数を示す。
Figure 0004838137
図5に、本発明の一態様による、同様に保護されるセキュリティ領域についての例示的なデータベース構造体500を示す。同様に保護されるセキュリティ領域を定義するアイテムは、500に示すセキュリティ・テーブル内でそれに関連付けられたエントリを有する。このセキュリティ・テーブルは、以下のように定義される。
アイテムID−これは、同様に保護されるセキュリティ領域の根のアイテムIDである。
アイテムORDPATH―これは、同様に保護されるセキュリティ領域の根に関連付けられたORDPATHである。
明示アイテムACL−これは、同様に保護されるセキュリティ領域の根について定義された明示ACLである。場合によっては、これは、NULLである可能性がある(アイテムが、それぞれ異なる領域に属する複数の親を有するので、新しいセキュリティ領域が定義される場合など)。
パスACL−これは、アイテムによって継承された1組のACLである。
領域ACL−これは、アイテムに関連する同様に保護されるセキュリティ領域について定義された1組のACLである。明示的な列が非NULL値を含む場合、これは、継承されたACLの列とは異なる。
所与のストア内のアイテムについて有効なセキュリティを計算するには、表500を活用する。アイテムに関連するセキュリティ・ポリシーを判断するために、アイテムに関連するセキュリティ領域が解析され、その領域に関連するACLが取り出される。アイテムに関連するセキュリティ・ポリシーが(たとえば、明示的なACLを直接追加し、または新しいセキュリティ領域の形成をもたらす保持リンクを追加することによって間接的に)変更されるときに、セキュリティ・テーブル500は、アイテムの有効なセキュリティを判断するための上記アルゴリズムが有効であることを容易にするため、最新に保たれなければならない。セキュリティ・テーブルを維持するための可能なアルゴリズムは、以下のとおりである。
コンテナ内に新しいアイテムを作成する−
コンテナ内にアイテムが新しく作成されるときに、それは、そのコンテナに関連するACLを継承する。新しく作成されたアイテムは1つの親をもつので、それは、その親と同様のセキュリティ領域に属する。したがって、一般に、セキュリティ・テーブル内に新しいエントリを作成する必要はない。
明示的なACLをアイテムに追加する−
ACLがアイテムに追加されるときに、その所与のアイテム自体と同じセキュリティ領域に属する、包含階層内の子孫について新しいセキュリティ領域を定義する。他のセキュリティ領域に属し、しかし包含階層内のその所与のアイテムの子孫であるアイテムの場合、セキュリティ領域は変更されないままであり、しかし領域に関連する有効なACLは、新しいACLの追加を反映するように変更される。この新しいセキュリティ領域を取り入れることによって、祖先と複数の保持リンクを有するアイテムについてのさらなる領域定義を引き起こすことができ、この祖先は、古いセキュリティ領域と、新しく定義されたセキュリティ領域の両方にまたがるものである。こうしたアイテムについて、新しいセキュリティ領域が定義されることができ、この手順が繰り返される。
図6に、新しい明示ACLを取り入れることによって既存のセキュリティ領域から作り出される同様に保護される新しいセキュリティ領域を示す。これは、参照番号600で、2でマーク付けされたノードによって示されている。しかし、この新しい領域を取り入れることによって、アイテムが複数の保持リンクを有するために、参照番号610の追加の領域3の作成がもたらされる。セキュリティ・テーブルの更新の以下のシーケンスは、同様に保護されるセキュリティ領域の要素の分解(factoring)を反映している。
アイテムに保持リンクを追加する−
アイテムに保持リンクが追加される場合、それは一般に、3つの可能性のうちの1つを引き起こす。保持リンクのターゲット、すなわち考慮対象のアイテムがセキュリティ領域の根である場合は、その領域に関連する有効なACLは変更され、セキュリティ・テーブルへのさらなる修正は一般に必要とされない。新しい保持リンクのソースのセキュリティ領域が、アイテムの既存の親のセキュリティ領域と同一である場合は、変更は一般に必要とされない。しかし、アイテムが現在、それぞれ異なるセキュリティ領域に属する複数の親を有する場合、セキュリティ領域の根として、その所与のアイテムを含む新しいセキュリティ領域が形成される。この変更は、そのアイテムに関連するセキュリティ領域を修正することによって、包含階層内のアイテムに伝播される。考慮対象のアイテムとして同じセキュリティ領域に属し、また包含階層内のその子孫であるアイテムは、変更されるべきである。こうした変更が行われる場合、複数の保持リンクを有するアイテムは、追加の変更が必要であるかどうか判断するために検査されなければならない。そのアイテムのうちのいずれかが、それぞれ異なるセキュリティ領域の複数の親を有する場合、さらなる変更を必要とする可能性がある。
アイテムからの保持リンクを削除する−
アイテムからの保持リンクが削除される場合、ある条件が満たされるならば、その親の領域を含むセキュリティ領域を壊す可能性がある。より厳密に言うと、これは、以下の条件下で達成することができる。
保持リンクの削除によって、親を1つだけ有するアイテムがもたらされ、またそのアイテムについて、明示ACLが指定されていない場合。
保持リンクの削除によって、その複数の親がすべて同じセキュリティ領域に属するアイテムがもたらされ、またそのアイテムについて、明示ACLが指定されていない場合。こうした状況下では、そのセキュリティ領域は、親と同じであるとマーク付けされることができる。このマーク付けは、そのセキュリティ領域が、壊される領域に対応するすべてのアイテムに適用されるべきである。
アイテムから明示ACLを削除する−
アイテムから明示ACLが削除される場合、そのアイテムを根とするセキュリティ領域を、その親のそれとともに壊す可能性がある。より厳密に言うと、これは、明示ACLの削除によって、包含階層内の複数の親が同じセキュリティ領域に属するアイテムがもたらされる場合に達成することができる。こうした状況下では、そのセキュリティ領域は、親と同じであるとマーク付けされることができ、その変更は、そのセキュリティ領域が壊される領域に対応するアイテムに適用される。
アイテムに関連するACLを修正する−
この場合、セキュリティ・テーブルへの新しい追加は、一般に必要とされない。領域に関連する有効ACLが更新され、新しいACL変更が、それによって影響を受けるセキュリティ領域に伝播される。
図7は、本発明の一態様によるセキュリティ・プロセス700を示すフローチャートである。説明を簡潔にするために、この方法論は、一連の行為として示され説明されているが、一部の行為は、本発明によれば、本明細書で示され説明されるものとは異なる順序で、かつ/または他の行為と同時に行うことができるのと同様に、本発明は、その行為の順序によって限定されないことを理解されたい(understand and appreciate)。たとえば、代替方法として、方法論は、相互に関係する一連の状態または事象として、たとえば状態図に表することができることが当業者には理解されよう。さらに、本発明による方法論を実施するために、図示されたすべての行為が必要であるとは限らないことがある。
図7の710に進むと、階層構造について1つまたは複数のセキュリティ・ポリシーが定義されている。上述したように、これは、通常のツリー構造、および包含階層などの他の構造を含むことができる。ツリー構造のいくつかの側面、および包含階層に関するいくつかの側面を含むハイブリッド構造もまた可能である。セキュリティ・ポリシーは、その中に個々のポリシーを記述する1つまたは複数のアクセス制御エントリを含むアクセス制御リストなどの装置内に設けることができる。720で、セキュリティ・ポリシーについて、明示および/また継承マッピング規則が定義される。こうした規則は、明示的マッピングの場合には、オーバライド機能を含むことができ、他の規則は、複数の保持リレーションシップが可能である包含階層などのより複雑な構成内でどのようにポリシーがマッピングされるかを規定する。730で、各規則およびポリシーの順序付けが判断される。たとえば、遭遇する構造および/または階層リレーションシップのタイプに応じて、アクセス制御エントリが、アクセス制御リスト内に配列することができる。740で、所与の階層構造について、1つまたは複数のセキュリティ領域が定義される。750で、1つまたは複数のセキュリティ・ポリシーが、740で定義された選択領域に適用される。
図8を参照すると、本発明の様々な態様を実施するための例示的な環境810が、コンピュータ812を含んでいる。コンピュータ812は、処理装置814、システム・メモリ816およびシステム・バス818を含む。システム・バス818は、それだけに限らないが、システム・メモリ816を含めてシステム構成要素を処理装置814に結合する。処理装置814は、様々な使用可能なプロセッサのうちのいずれかであることができる。デュアル・マイクロ・プロセッサおよび他のマルチ・プロセッサ・アーキテクチャもまた、処理装置814として使用することができる。
システム・バス818は、メモリ・バスまたはメモリ・コントローラ、周辺バスまたは外部バス、および/またはそれだけに限らないが、16ビット・バス、業界標準アーキテクチャ(ISA:Industry Standard Architecture)、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)、拡張ISA(EISA:Enhanced ISA)、インテリジェント・ドライブ・エレクトロニクス(IDE:Intelligent Drive Electronics)、VESAローカル・バス(VLB:VESA Local bus)、周辺コンポーネント相互接続(PCI:Peripheral Component Interconnect)、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)、拡張グラフィック・ポート(AGP:Advanced graphics port)、パーソナル・コンピュータ・メモリ・カード国際協会バス(PCMCIA:Personal Computer Memory Card International Association)および小型コンピュータ・システム・インターフェース(SCSI:Small Computer System Interface)を含めて任意の様々な使用可能バス・アーキテクチャを使用するローカル・バスを含めて、複数のタイプのバス構造のいずれかであることができる。
システム・メモリ816は、揮発性メモリ820および不揮発性メモリ822を含む。起動時などにコンピュータ812内の要素間で情報を転送するための基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)は、不揮発性メモリ822内に格納される。限定のためではなく、例を挙げると、不揮発性メモリ822には、読出し専用メモリ(ROM:read only memory)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM:electrically programmable ROM)、電気的消去可能ROM(EEPROM:electrically erasable ROM)またはフラッシュ・メモリを含むことができる。揮発性メモリ820は、外部キャッシュ・メモリの働きをするランダム・アクセス・メモリ(RAM:random access memory)を含む。限定のためではなく、例を挙げると、RAMは、同期RAM(SRAM:synchronous RAM)、ダイナミックRAM(DRAM:dynamic RAM)、同期DRAM(SDRAM:synchronous DRAM)、ダブルデータレートSDRAM(DDR SDRAM:double data rate SDRAM)、拡張SDRAM(ESDRAM:enhanced SDRAM)、シンクリンクDRAM(SLDRAM:Synchlink DRAM)およびダイレクト・ラムバスRAM(DRRAM:direct Rambus RAM)などの多くの形を取ることができる。
コンピュータ812は、取出し可能/取出し不可能、揮発性/不揮発性のコンピュータ記憶媒体をも含むことができる。図8に、たとえばディスク記憶装置824を示す。ディスク記憶装置824は、それだけに限らないが、磁気ディスク・ドライブ、フロッピー(登録商標)ディスク・ドライブ、テープ・ドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュ・メモリ・カードまたはメモリスティックなどの装置を含む。さらに、ディスク記憶装置824は、それだけに限らないが、コンパクト・ディスクROM(CD−ROM:compact disk ROM)装置、CD記録可能ドライブ(CD−Rドライブ:CD recordable drive)、CD再書込み可能ドライブ(CD−RW ドライブ:CD rewritable drive)、またはデジタル多用途ディスクROMドライブ(DVD−ROM:digital versatile disk ROM drive)などの光ディスク・ドライブを含めて、他の記憶媒体とは別個に、またはそれと組み合わせた記憶媒体を含むことができる。ディスク記憶装置824のシステム・バス818への接続を容易にするために、インターフェース826などの取出し可能または取出し不可能インターフェースが一般に使用される。
図8は、ユーザと、適切なオペレーティング環境810内に示す基本的なコンピュータ・リソースの間の仲介の働きをするソフトウェアを示していることを理解されたい。こうしたソフトウェアは、オペレーティング・システム828を含む。ディスク記憶装置824内に格納することができるオペレーティング・システム828は、コンピュータ・システム812のリソースを制御し割り当てるように働く。システム・アプリケーション830は、システム・メモリ816またはディスク記憶装置824内に格納されたプログラム・モジュール832およびプログラムデータ834を介して、オペレーティング・システム828によるリソース管理を利用する。本発明は、様々なオペレーティング・システム、またはオペレーティング・システムの組合せで実装することができることを理解されたい。
ユーザは、入力装置836を介してコンピュータ812にコマンドまたは情報を入力する。入力装置836は、それだけに限らないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、パラボラ・アンテナ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどのポインティング装置を含む。こうしたおよび他の入力装置は、インターフェース・ポート838を介してシステム・バス818を通って処理装置814に接続する。インターフェース・ポート838は、たとえばシリアル・ポート、パラレル・ポート、ゲーム・ポートおよびユニバーサル・シリアル・バス(USB)を含む。出力装置840は、入力装置836と同じタイプのポートのうちのいくつかを使用する。したがって、USBポートを使用して、コンピュータ812に入力を提供し、またコンピュータ812から出力装置840に情報を出力することができる。数ある出力装置840の中でも特にモニタ、スピーカおよびプリンタなど、特別なアダプタを必要とするいくつかの出力装置840があることを示すために、出力アダプタ842が設けられている。出力アダプタ842は、限定のためではなく、例を挙げると、出力装置840とシステム・バス818の間の接続手段を提供するビデオおよび音声カードを含む。リモート・コンピュータ844など、他の装置、および/または装置のシステムが、入力と出力の両方の能力を提供することに留意されたい。
コンピュータ812は、リモート・コンピュータ844などの1つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。例を挙げると、リモート・コンピュータ844は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロ・プロセッサ・ベースの機器、ピア・デバイス、他の一般的なネットワーク・ノードなどとすることができ、コンピュータ812に関して述べた要素の多くまたはすべてを一般に含む。簡潔にするために、メモリ記憶装置846だけがリモート・コンピュータ844とともに示されている。リモート・コンピュータ844は、ネットワーク・インターフェース848を介してコンピュータ812に論理的に接続され、次いで通信接続850を介して物理的に接続される。ネットワーク・インターフェース848は、ローカル・エリア・ネットワーク(LAN:local area network)および広域ネットワーク(WAN:wide area network)などの通信ネットワークを包含する。LAN技術には、ファイバ分散データ・インターフェース(FDDI:Fiber Distributed Data Interface)、銅分散データ・インターフェース(CDDI:Copper Distributed Data Interface)、イーサネット(登録商標)/IEEE1102.3、トークンリング/IEEE1102.5などが含まれる。WAN技術は、それだけに限らないが、ポイント・ツー・ポイント・リンク、総合デジタル通信網(ISDN:Integrated Services Digital Network)などの回路交換ネットワークおよびその変形体、パケット交換網、ならびにデジタル加入者線(DSL:Digital Subscriber Line)が含まれる。
通信接続850は、ネットワーク・インターフェース850をバス818に接続するために使用されるハードウェア/ソフトウェアを指す。通信接続850は、説明を分かりやすくするために、コンピュータ812内に示されているが、それは、コンピュータ812の外部にあることもある。ネットワーク・インターフェース848への接続に必要なハードウェア/ソフトウェアは、例示するためだけに挙げると、通常の電話級のモデム、ケーブル・モデムおよびDSLモデム、ISDNアダプタ、ならびにイーサネット(登録商標)カードを含めて、モデムなどの内部および外部技術を含む。
図9は、本発明が対話することができる例示的なコンピュータ環境900の概略ブロック図である。システム900は、1つまたは複数のクライアント910を含む。クライアント910は、ハードウェアおよび/またはソフトウェア(スレッド、プロセス、コンピューティング装置など)であることができる。システム900は、1つまたは複数のサーバ930をも含む。サーバ930もまた、ハードウェアおよび/またはソフトウェア(スレッド、プロセス、コンピューティング装置など)であることができる。サーバ930は、たとえば本発明を使用することによって変換を実施するためのスレッドを収容することができる。クライアント910とサーバ930の間の1つの可能な通信は、2つ以上のコンピュータ・プロセスの間で伝送されるように適応されたデータ・パケットの形であることができる。システム900は、クライアント910とサーバ930の間の通信を円滑に進めるために使用することができる通信フレームワーク950を含む。クライアント910は、1つまたは複数のクライアント・データ・ストア960に動作可能に接続され、このクライアント・データ・ストアを使用して、クライアント910にとってローカルの情報を格納することができる。同様に、サーバ930は、1つまたは複数のサーバ・データ・ストア940に動作可能に接続され、このサーバ・データ・ストアを使用して、サーバ930にとってローカルの情報を格納することができる。
上記で述べた内容は、本発明の例を含む。もちろん、本発明について説明するために、構成要素または方法論の考えられるあらゆる組合せについて述べることは不可能であるが、本発明の多くのさらなる組合せおよび置換えが可能であることが当業者には理解されよう。したがって、本発明は、特許請求の範囲の精神および範囲内に含まれるすべてのこうした変更、修正および変形を包含するものである。さらに、詳細説明または特許請求の範囲中で用語「含む(include)」が使用される範囲で、こうした用語は、特許請求の範囲において「備える(comprise)」が移行語(transitional word)として使用される場合に解釈されるように、用語「備える」と同じように包含的なものである。
本発明の一態様によるデータベース・セキュリティ・システムおよびモデルの概略ブロック図である。 本発明の一態様によるアクセス制御リストおよび順序付けコンポーネントの図である。 本発明の一態様によるセキュリティ・ポリシー配布を示す図である。 本発明の一態様による例示的なアクセス・マスクを示す図である。 本発明の一態様による、同様に保護されるセキュリティ領域についての例示的なデータ構造体を示す図である。 本発明の一態様によるセキュリティ領域作成を示す図である。 本発明の一態様によるセキュリティ・プロセスを示すフローチャートである。 本発明の一態様による適切なオペレーティング環境を示す概略ブロック図である。 本発明が対話することができる例示的なコンピューティング環境の概略ブロック図である。

Claims (11)

  1. 1つまたは複数のデータ・アイテムに関連付けられる少なくとも1つの階層データ構造であって、前記階層データ構造は、少なくともツリー構造を有する、階層データ構造と、
    少なくとも1つのセキュリティ・ポリシーを、複数の前記データ・アイテムから成るデータストアの小区分に適用するセキュリティ・コンポーネントであって、メモリに格納されているセキュリティ・コンポーネントと
    を備え、
    前記セキュリティ・コンポーネントは、1つまたは複数のアクセス制御エントリを含み、かつ任意のデータ・アイテムに関連付けられたアクセス制御リストを有し、前記階層データ構造に従って、階層の根から各データ・アイテムへのパスの枝に沿って前記アクセス制御リストを継承させることにより、前記小区分のデータ・アイテムに前記セキュリティ・ポリシーを適用し、
    階層の根から特定のデータ・アイテムへのパス中にアクセス制御リストが関連付けられた複数のデータ・アイテムが存在する場合、前記セキュリティ・コンポーネントは、前記特定のデータ・アイテムに、当該複数のデータ・アイテムのうちより近くのデータ・アイテムから継承されたアクセス制御リスト内のアクセス制御エントリを優先して適用することを特徴とするデータ・ストレージ・セキュリティ・システム。
  2. 前記階層データ構造は包含階層を有し、
    前記包含階層は、有向非循環グラフ(DAG)としてモデル化されることを特徴とする請求項1に記載のシステム。
  3. 前記セキュリティ・ポリシーは、前記セキュリティ・コンポーネントにより、前記データストアに関連付けられる1つまたは複数のセキュリティ領域にマップされ、
    前記セキュリティ領域は、前記セキュリティ・ポリシーが適用される領域であることを特徴とする請求項1に記載のシステム。
  4. 前記セキュリティ・ポリシーは、アイテムに明示的にマップされたもの、およびアイテムによって継承されたもの、のうちの少なくとも1つであることを特徴とする請求項1に記載のシステム。
  5. 前記階層データ構造は包含階層を有し、
    前記包含階層のセキュリティ保護を促進するための複数のアクセス制御リストをさらに備えることを特徴とする請求項1に記載のシステム。
  6. 前記セキュリティ・コンポーネントは、アイテムに対してオペレーションを実施するためのアクセスが許可されまたは拒否される1組のプリンシパルを指定することを特徴とする請求項1に記載のシステム。
  7. アイテムについて実施されるセキュリティ・ポリシーを判断するために、アクセス制御リスト(ACL)内に1つまたは複数のアクセス制御エントリ(ACE)を、順序付けアルゴリズムを用いることにより配列する順序付けコンポーネントをさらに備えることを特徴とする請求項1に記載のシステム。
  8. 前記順序付けアルゴリズムは、
    アイテム(I)の継承されたACL(L)について、
    アイテムI1、I2について、
    L内のACE A1およびA2について、
    I1は、I2の祖先であり、かつ
    I2は、I3の祖先であり、かつ
    A1は、I1から継承されたACEであり、かつ
    A2は、I2から継承されたACEであることは、
    LにおいてA2がA1に優先することを暗黙に定義し、ただし、LおよびIは整数である、
    を備えることを特徴とする請求項に記載のシステム。
  9. 前記順序付けアルゴリズムは、
    アイテム(I)の継承されたACL(L)について、
    アイテムI1について、
    L内のACE A1およびA2について、
    I1は、I2の祖先であり、かつ
    A1は、I1から継承されたACCESS_DENIED_ACEであり、かつ
    A2は、I1から継承されたACCESS_GRANTED_ACEであることは、
    LにおいてA1がA2に優先することを暗黙に定義し、ただし、LおよびIは整数である、
    を備えることを特徴とする請求項に記載のシステム。
  10. 所与のプリンシパルの所与のアイテムに対するアクセス権を評価するコンポーネントをさらに備えることを特徴とする請求項に記載のシステム。
  11. データ・アイテムのセキュリティ保護を促進するための、コンピュータにより実行される方法であって、
    1つまたは複数のデータ・アイテムに関連付けられる階層データ構造について、少なくとも1つのデータ・アイテムにアクセス制御リストを関連付けるステップであって、前記階層データ構造は、少なくともツリー構造を有し、前記アクセス制御リストは、1つまたは複数のアクセス制御エントリを含む、ステップと、
    任意のデータ・アイテムに関連付けられたアクセス制御リストを、前記階層データ構造に従って、階層の根から各データ・アイテムへのパスの枝に沿って継承させることにより、各データ・アイテムに前記セキュリティ・ポリシーを適用するステップであって、階層の根から特定のデータ・アイテムへのパス中にアクセス制御リストが関連付けられた複数のデータ・アイテムが存在する場合、前記特定のデータ・アイテムに、当該複数のデータ・アイテムのうちより近くのデータ・アイテムから継承されたアクセス制御リスト内のアクセス制御エントリが優先して適用される、ステップと
    を含むことを特徴とする方法。
JP2006536577A 2003-10-23 2004-07-27 拡張型セキュリティ・モデルを提供するシステムおよび方法 Expired - Fee Related JP4838137B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/691,999 2003-10-23
US10/691,999 US7251822B2 (en) 2003-10-23 2003-10-23 System and methods providing enhanced security model
PCT/US2004/024293 WO2005071882A1 (en) 2003-10-23 2004-07-27 System and methods providing enhanced security model

Publications (2)

Publication Number Publication Date
JP2007509414A JP2007509414A (ja) 2007-04-12
JP4838137B2 true JP4838137B2 (ja) 2011-12-14

Family

ID=34521998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536577A Expired - Fee Related JP4838137B2 (ja) 2003-10-23 2004-07-27 拡張型セキュリティ・モデルを提供するシステムおよび方法

Country Status (14)

Country Link
US (2) US7251822B2 (ja)
EP (1) EP1588519A4 (ja)
JP (1) JP4838137B2 (ja)
KR (2) KR101153152B1 (ja)
CN (1) CN1860723B (ja)
AU (1) AU2004288596B2 (ja)
BR (1) BRPI0406556A (ja)
CA (1) CA2508959C (ja)
MX (1) MXPA06003755A (ja)
MY (1) MY142666A (ja)
RU (2) RU2564850C2 (ja)
TW (1) TWI368145B (ja)
WO (1) WO2005071882A1 (ja)
ZA (1) ZA200504756B (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4729844B2 (ja) * 2003-10-16 2011-07-20 富士ゼロックス株式会社 サーバ装置、情報の提供方法、及びプログラム
US20060075503A1 (en) * 2004-09-13 2006-04-06 Achilles Guard, Inc. Dba Critical Watch Method and system for applying security vulnerability management process to an organization
US7685165B2 (en) * 2005-04-01 2010-03-23 International Business Machines Corporation Policy based resource management for legacy data
US20060230282A1 (en) * 2005-04-06 2006-10-12 Hausler Oliver M Dynamically managing access permissions
US8326877B2 (en) * 2005-05-04 2012-12-04 Microsoft Corporation Region-based security
US7765483B2 (en) * 2005-09-12 2010-07-27 Microsoft Corporation Filtering obscured data from a remote client display
US20070100830A1 (en) * 2005-10-20 2007-05-03 Ganesha Beedubail Method and apparatus for access control list (ACL) binding in a data processing system
US7779265B2 (en) * 2005-12-13 2010-08-17 Microsoft Corporation Access control list inheritance thru object(s)
JP4932291B2 (ja) * 2006-03-22 2012-05-16 株式会社日立ソリューションズ アクセス権制御システム
BRPI0709368A8 (pt) * 2006-03-24 2018-04-24 Avg Tech Cy Limited método para minimizar exploração de vunerabilidades de software e produto de programa de computador
US8032926B2 (en) * 2006-12-06 2011-10-04 Electronics And Telecommunications Research Institute Method of configuring hierarchical network of user group and resource group and key distribution center
US8321667B2 (en) * 2007-02-28 2012-11-27 Microsoft Corporation Security model for common multiplexed transactional logs
US8272025B1 (en) * 2007-12-18 2012-09-18 Lockheed Martin Corporation Policy deconfliction
US8990947B2 (en) * 2008-02-04 2015-03-24 Microsoft Technology Licensing, Llc Analytics engine
US7890530B2 (en) * 2008-02-05 2011-02-15 International Business Machines Corporation Method and system for controlling access to data via a data-centric security model
JP5035089B2 (ja) * 2008-04-18 2012-09-26 富士ゼロックス株式会社 アクセス権情報管理プログラム及びアクセス権情報管理装置
CN102067098B (zh) * 2008-06-13 2015-03-25 惠普开发有限公司 用于分层策略管理的系统、方法和设备
US8689289B2 (en) * 2008-10-02 2014-04-01 Microsoft Corporation Global object access auditing
CN101729531B (zh) * 2009-03-16 2016-04-13 中兴通讯股份有限公司 网络安全策略分发方法、装置及系统
US9037711B2 (en) * 2009-12-02 2015-05-19 Metasecure Corporation Policy directed security-centric model driven architecture to secure client and cloud hosted web service enabled processes
WO2012003504A2 (en) * 2010-07-02 2012-01-05 Air Computing, Inc. A system and method for cloud file management
KR101788598B1 (ko) * 2010-09-01 2017-11-15 엘지전자 주식회사 이동 단말기 및 그의 정보보안 설정방법
US8960302B2 (en) 2010-10-12 2015-02-24 Bp Corporation North America, Inc. Marine subsea free-standing riser systems and methods
US9680839B2 (en) 2011-01-27 2017-06-13 Varonis Systems, Inc. Access permissions management system and method
EP2668563A4 (en) * 2011-01-27 2015-06-10 Varonis Systems Inc METHOD AND SYSTEM FOR MANAGING ACCESS AUTHORIZATIONS
WO2012174601A1 (en) * 2011-06-21 2012-12-27 Jajoza Connected Solutions Pty Ltd A system and method for providing safety policies for communications and interaction
US8949281B2 (en) * 2012-03-31 2015-02-03 Emc Corporation System and method of hierarchical data containers
US9460300B1 (en) * 2012-09-10 2016-10-04 Google Inc. Utilizing multiple access control objects to manage access control
US9430116B2 (en) * 2013-02-12 2016-08-30 International Business Machines Corporation Visualization of runtime resource policy attachments and applied policy details
EP3108387A4 (en) 2014-02-18 2017-11-29 Cobalt Iron, Inc. Techniques for presenting views of a backup environment for an organization on a sub-organizational basis
US10326768B2 (en) * 2015-05-28 2019-06-18 Google Llc Access control for enterprise knowledge
US9530023B1 (en) * 2015-12-21 2016-12-27 Vinyl Development LLC Reach objects
US10692012B2 (en) 2016-05-29 2020-06-23 Microsoft Technology Licensing, Llc Classifying transactions at network accessible storage
US11100238B2 (en) * 2018-12-26 2021-08-24 Dell Products L.P. Systems and methods for generating policy coverage information for security-enhanced information handling systems
KR102099291B1 (ko) * 2019-08-30 2020-05-15 (주)이스트소프트 감염이 의심되는 압축 파일을 처리하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
CN110598445B (zh) * 2019-09-12 2022-05-20 金蝶蝶金云计算有限公司 一种数据库访问控制方法、系统及相关设备
CN110781186B (zh) * 2019-10-17 2022-04-15 中国人民解放军63686部队 一种软件界面读写数据表的实现方法
CN114500000A (zh) * 2021-12-31 2022-05-13 奇安信科技集团股份有限公司 策略配置合并方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131919A (ja) * 2001-10-23 2003-05-09 Fuji Xerox Co Ltd 文書管理装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638443A (en) * 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
GB2301912A (en) * 1995-06-09 1996-12-18 Ibm Security for computer system resources
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6158007A (en) * 1997-09-17 2000-12-05 Jahanshah Moreh Security system for event based middleware
US6202066B1 (en) * 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
US6345361B1 (en) * 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6772350B1 (en) * 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6321334B1 (en) * 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6501491B1 (en) * 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
US6574736B1 (en) * 1998-11-30 2003-06-03 Microsoft Corporation Composable roles
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
DE10001458A1 (de) * 2000-01-15 2001-07-26 Bosch Gmbh Robert Verfahren zum Betreiben einer Brennkraftmaschine
RU2202122C2 (ru) * 2001-01-03 2003-04-10 Щеглов Андрей Юрьевич Система контроля доступа к запускаемым процессам (программам)
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
US7120698B2 (en) * 2001-09-20 2006-10-10 Sun Microsystems, Inc. Access control for an e-commerce application
US7133914B1 (en) * 2001-10-31 2006-11-07 Cisco Technology, Inc. Statistics-preserving ACL flattening system and method
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US20030105771A1 (en) * 2001-12-01 2003-06-05 Tiefenbrun Natan E. Attribute driven dynamic tree structure
US7478418B2 (en) * 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
GB0207354D0 (en) * 2002-03-28 2002-05-08 Ibm Inheritance of access controls within a hierarchy of data processing system resources
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131919A (ja) * 2001-10-23 2003-05-09 Fuji Xerox Co Ltd 文書管理装置

Also Published As

Publication number Publication date
ZA200504756B (en) 2006-08-30
CN1860723A (zh) 2006-11-08
TW200515213A (en) 2005-05-01
AU2004288596A8 (en) 2008-07-31
BRPI0406556A (pt) 2005-12-20
EP1588519A1 (en) 2005-10-26
KR20120006561A (ko) 2012-01-18
AU2004288596A1 (en) 2005-07-21
TWI368145B (en) 2012-07-11
KR20060109286A (ko) 2006-10-19
RU2010154544A (ru) 2012-07-10
US7251822B2 (en) 2007-07-31
AU2004288596B2 (en) 2010-07-01
EP1588519A4 (en) 2013-07-31
US20080022358A1 (en) 2008-01-24
WO2005071882A1 (en) 2005-08-04
CN1860723B (zh) 2011-04-13
MY142666A (en) 2010-12-15
JP2007509414A (ja) 2007-04-12
KR101265815B1 (ko) 2013-05-20
US20050091518A1 (en) 2005-04-28
WO2005071882A9 (en) 2012-08-09
MXPA06003755A (es) 2006-06-14
CA2508959C (en) 2014-07-15
CA2508959A1 (en) 2005-04-23
RU2564850C2 (ru) 2015-10-10
US7971230B2 (en) 2011-06-28
KR101153152B1 (ko) 2012-06-04
RU2005120655A (ru) 2006-01-20

Similar Documents

Publication Publication Date Title
JP4838137B2 (ja) 拡張型セキュリティ・モデルを提供するシステムおよび方法
US6625603B1 (en) Object type specific access control
AU2006200199B2 (en) Discoverability and enumeration mechanisms in a hierarchically secure storage system
US6289458B1 (en) Per property access control mechanism
KR100877650B1 (ko) 개인 식별 정보 라벨 및 사용목적 서빙 펑션 세트를사용하는 pii 데이터 액세스 제어 기능부의 구현 및이용방법과 시스템
US6944777B1 (en) System and method for controlling access to resources in a distributed environment
US7779265B2 (en) Access control list inheritance thru object(s)
US8181243B2 (en) Computer readable medium for resolving permission for role activation operators
US20060294051A1 (en) Uniform access to entities in registered data store services
WO2007105098A2 (en) System and method for providing hiearchical role-based access control
EP1875389B1 (en) Region-based security
JP3565481B2 (ja) コンピュータのディレクトリアクセス制御システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110922

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4838137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees