JP4414092B2 - 制限付きトークンを介した最小権限 - Google Patents
制限付きトークンを介した最小権限 Download PDFInfo
- Publication number
- JP4414092B2 JP4414092B2 JP2000553884A JP2000553884A JP4414092B2 JP 4414092 B2 JP4414092 B2 JP 4414092B2 JP 2000553884 A JP2000553884 A JP 2000553884A JP 2000553884 A JP2000553884 A JP 2000553884A JP 4414092 B2 JP4414092 B2 JP 4414092B2
- Authority
- JP
- Japan
- Prior art keywords
- token
- access
- restricted
- application
- parent
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000008569 process Effects 0.000 claims abstract description 78
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 6
- 238000012550 audit Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 208000034972 Sudden Infant Death Diseases 0.000 description 3
- 206010042440 Sudden infant death syndrome Diseases 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Description
(発明の分野)
本発明は、一般にコンピュータシステムに関し、より詳細には、コンピュータシステムのセキュリティの改善に関する。
【0002】
(発明の背景)
コンピューティングでは、あるタスクを実行するために必要な権限より多い権限を有するユーザによってタスクが実行されると、ユーザが不注意でコンピュータリソースに害を与えるリスクが増大する。例として、一組のファイルが管理者権限を持つユーザによってのみ削除できる場合、管理者が、管理者によって実施される必要のない別のタスクを実行している時に、不注意でこれらのファイルを削除する可能性がある。管理者がより少ない権限を有するユーザだった場合、目的とするタスクは依然として実行されるが、不注意な削除は起こり得ないであろう。
【0003】
したがって、コンピュータセキュリティにおける認識された目的は最小権限というコンセプトであり、この中でタスクを実行するユーザはそのタスクを実行するために必要な絶対最小限の権限(またはグループのメンバーシップなどの識別)で実行すべきである。しかし、ユーザのアクセス権および権限を追加したり削除したりする便利な方法はない。たとえば、ウィンドウズNTオペレーティングシステムでは、ユーザがログオンすると、そのユーザの証明に基づいてそのユーザ用のアクセストークンが構築される。アクセストークンは、ユーザがそのセッションに関して有することになるアクセス権および権限を決定する。この結果、ユーザはこのセッションの間および任意の将来のセッションについて、試みられた各タスクに関してこれらの権限を有することになる。理想的には管理者が多数の識別をセットアップし、各タスクに関して異なる権利を有する異なるユーザとしてログオンできるが、これは煩わしく複雑過ぎる。さらに、自動的な実行がないので、安全を意識している管理者でも、ただ目的としないアクションを実行する可能性を避けるためにのみ、異なるタスクが実行されるたびに新しい識別でログオフし、ログオンしなおす見込みはない。
【0004】
簡単に言えば、権限レベルまたはアクセス権を変更する便利な方法、および、ドメイン管理者によって作成された権限より細かい細分性でさらに権限を制限する方法がないということである。他のオペレーティングシステムは、最小権限ではほとんど実行できないという同様な問題を有する。
【0005】
(発明の概要)
簡単に言えば、本発明は制限付きのアクセストークンを介して最小権限、または何らかの方法で削減されたアクセスを実行するためのメカニズムを提供する。制限付きのアクセストークンはセキュリティメカニズムが、プロセスが既存のアクセストークンの変更された制限付きのバージョンに基づいたリソースへのアクセスを有するかどうかを決定することを可能にする。制限付きトークンは既存のトークンに基づき、既存のトークンより少ないアクセスを有する。制限付きトークンは、親トークン内のアクセスを許可する1つまたは複数のセキュリティ識別子の属性を、制限付きトークン内でアクセスを否定する設定に変更する、および/または親トークン内に存在する1つまたは複数の権限を制限付きトークンから削除することによって、既存の(親)トークンから作成できる。さらに、制限付きのセキュリティ識別子は制限付きトークン内に置くことができる。
【0006】
使用に際しては、プロセスが制限付きトークンに関連づけられ、制限付きのプロセスがリソースについてアクションを実行しようと試みると、カーネルモードのセキュリティメカニズムはまず、ユーザに基づいたセキュリティ識別子および目的のタイプのアクションを、そのリソースに関連づけられた識別子およびアクションのリストに対して比較する。制限付きトークン内に制限付きのセキュリティ識別子がない場合、アクセスはこの第1の比較の結果によって決定される。制限付きトークン内に制限付きのセキュリティ識別子がある場合、このアクションに関する第2のアクセスチェックは、制限付きのセキュリティ識別子を、リソースに関連づけられた識別子およびアクションのリストに対して比較する。制限付きセキュリティ識別子を有するトークンを使用して、このプロセスは第1のアクセスチェックおよび第2のアクセスチェックの両方がパスした場合のみ、リソースへのアクセスを許可される。
【0007】
アプリケーションプログラムは、関連づけられた制限情報をストアしている場合がある。アプリケーションが起動されると、制限情報に基づいてそのアプリケーションに関して制限付きトークンが作成される。この方法で、削減されたアクセスが自動的にそのアプリケーションに関して実行される。アプリケーションは権限付き部分および権限なし部分など、異なるアクセスレベルに分割でき、これによって、そのアプリケーションを介してユーザが実行できるアクションを自動的に制限する。また、システムはユーザのプロセスを制限付きトークンで実行することを強制し、次いで、一時的にユーザの通常のトークンで実行することによって制限されているアクションを特にオーバーライドする明確なアクションをユーザから要求することによって、削減されたアクセスで実行することができる。
【0008】
他の利点は図面と共に以下の詳細な説明から明らかになろう。
【0009】
(詳細な説明)
例としてのオペレーション環境
図1および以下の議論は、本発明が実現できる適切なコンピューティング環境の簡単で一般的な説明を提供することを意図している。必要ではないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能な命令の一般的なコンテキスト内で説明される。一般に、プログラムモジュールはルーチン、プログラム、オブジェクト、構成要素、データ構造などを含み、特定のタスクを実行するか、特定の抽象的なデータタイプを実装する。さらに、当業者であれば本発明は、手持ちデバイス、マルチプロセッサシステム、マイクロプロセッサに基づいたまたはプログラミング可能な消費者電気製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成でも実行できることが理解されるであろう。本発明はまた、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境内でも実行できる。分散コンピューティング環境では、プログラムモジュールはローカルメモリ記憶デバイスおよび遠隔メモリ記憶デバイスの両方に位置する場合がある。
【0010】
図1を参照すると、本発明を実現するための一例としてのシステムは、従来のパーソナルコンピュータ20などの形の汎用コンピューティングデバイスを含み、汎用コンピューティングデバイスは処理ユニット21、システムメモリ22、およびシステムメモリから処理ユニット21までを含む種々のシステム構成要素を結合するシステムバス23を含む。システムバス23はいくつかのタイプのバス構成のうち任意の構成であって、その中にはメモリバスまたはメモリコントローラ、周辺バス、種々のバスアーキテクチャのうち任意のアーキテクチャを使用するローカルバスを含んでもよい。システムメモリは読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動時などにパーソナルコンピュータ20内の要素の間で情報を転送する役に立つ基本的なルーチンを含む基本入出力システム26(BIOS)は、ROM24内に格納されている。パーソナルコンピュータ20はさらに、図示されてはいないがハードディスクから読み出したり書き込んだりするためのハードディスクドライブ27、取外し可能磁気ディスク29から読み出したり書き込んだりするための磁気ディスクドライブ28、および、CD−ROMまたは他の光媒体など、取外し可能光ディスク31から読み出したり書き込んだりするための光ディスクドライブ30を含む場合がある。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30はそれぞれ、ハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース33、および光ドライブインタフェース34によってそれぞれシステムバス23に接続されている。ドライブとその関連付けられたコンピュータ可読媒体は、パーソナルコンピュータ20のためにコンピュータ可読命令、データ構造、プログラムモジュールおよびほかのデータの、不揮発性の格納を提供する。ここに説明された例としての環境は、ハードディスク、取外し可能磁気ディスク29および取外し可能光ディスク31を使用しているが、当業者であれば磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)などの、コンピュータによってアクセス可能なデータを格納できる他のタイプのコンピュータ可読媒体も例としての動作環境内で使用できることが理解されるであろう。
【0011】
オペレーティングシステム35(好ましくはWindows NT)、1つまたは複数のアプリケーションプログラム36、ほかのプログラムモジュール37およびプログラムデータ38を含むいくつかのプログラムモジュールがハードディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25に格納できる。ユーザは、キーボード40およびポインティングデバイス42などの入力デバイスを介してパーソナルコンピュータ20にコマンドおよび情報を入力できる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含む。これらおよび他の入力デバイスはしばしば、システムバスに結合されたシリアルポートインタフェース46を介して処理ユニット21に接続されているが、パラレルポート、ゲームポートまたは汎用シリアルバス(USB)などの他のインタフェースによって接続されている場合もある。モニタ47または他のタイプの表示デバイスもまた、ビデオアダプタ48などのインタフェースを介してシステムバス23に接続されている。モニタ47の外に、パーソナルコンピュータは典型的にはスピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)を含む。
【0012】
パーソナルコンピュータ20は、遠隔コンピュータ49など1つまたは複数の遠隔コンピュータへの論理接続を使用してネットワーク化された環境内で動作する場合がある。遠隔コンピュータ49は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードであり、典型的にはパーソナルコンピュータに関連して上記に説明された要素の多くまたはすべてを含むが、メモリ記憶デバイス50のみが図1に示されている。図1に描かれた論理接続は、ローカルエリアネットワーク(LAN)51および広域ネットワーク(WAN)52を含む。このようなネットワーク化環境はオフィス、全社的コンピュータネットワーク、イントラネットおよびインターネットに普通に見られる。
【0013】
パーソナルコンピュータ20はLANネットワーク化環境内で使用されると、ネットワークインタフェースまたはアダプタ53を介してローカルネットワーク51に接続される。パーソナルコンピュータ20はWANネットワーク化環境内で使用されると、典型的にはモデム54または他の手段を含み、インターネットなど広域ネットワーク52上で通信を確立する。モデム54は内部的である場合も外部的である場合もあるが、シリアルポートインタフェース46を介してシステムバス23に接続されている。ネットワーク化された環境では、パーソナルコンピュータ20またはその一部に関して描かれたプログラムモジュールは、遠隔のメモリ記憶デバイス内に格納される場合がある。示されたネットワーク接続は例としてのものであって、コンピュータの間で通信リンクを確立する他の手段も使用できることが明らかであろう。
【0014】
一般的なセキュリティモデル
本発明の好ましいセキュリティモデルは、Windows NTセキュリティモデルに関して説明される。しかし、本発明をWindows NTオペレーティングシステムに限定する意図はなく、逆に、本発明はオペレーティングシステムのレベルでセキュリティチェックを実行する任意のメカニズムで動作し、利益を提供することを目的としている。
【0015】
一般に、Windows NTオペレーティングシステムでは、ユーザはプロセス(およびそのスレッド)を介してシステムのリソースにアクセスすることによってタスクを実行する。簡単に説明するために、プロセスおよびそのスレッドは概念上等価と見なされ、以後は簡単にプロセスと呼ぶ。また、Windows NT内ではオブジェクトによって表される、ファイル、共有メモリおよび物理デバイスを含むシステムのリソースは、本明細書では通常リソースまたはオブジェクトと呼ばれる。
【0016】
ユーザがWindows NTオペレーティングシステムにログオンし認証されると、セキュリティコンテキストがそのユーザのためにセットアップされ、この中にはアクセストークン60の構築も含まれる。図2の左側に示すように、従来のユーザベースのアクセストークン60は、UserAndGroupsフィールド62を含む。UserAndGroupsフィールド62は、セキュリティ識別子、すなわち、ユーザの証明およびそのユーザが属するグループ(たとえば編成内のグループ)を識別する1つまたは複数のグループID66に基づいたセキュリティ識別子(セキュリティIDまたはSID)を含む。トークン60はまた、そのユーザに割り当てられた任意の権限を一覧する権限フィールド68を含む。たとえば、このような権限の1つは、管理レベルのユーザに、特定のアプリケーションプログラミングインタフェース(API)を介してシステムクロックを設定する能力を与える場合がある。権限は、アクセス制御チェック、これは次に説明されるが、権限がない場合にオブジェクトへのアクセスを許可する前に実行されるアクセス制御チェックに優先することに注意されたい。
【0017】
次に詳細に説明され、図3に一般に示されるように、オブジェクト72へのアクセスを所望するプロセス70は、所望するアクセスのタイプを指定し(たとえばファイルオブジェクトへの読取り/書き込みアクセスを得るなど)、および、カーネルレベルでは関連付けられたトークン60をオブジェクトマネジャー74に提供する。オブジェクト72はそれに関連付けられたカーネルレベルのセキュリティ記述子76を有し、オブジェクトマネジャー74はセキュリティ記述子76およびトークン60をセキュリティメカニズム78に提供する。セキュリティ記述子76の内容は、典型的にはオブジェクトの所有者(たとえば制作者)によって決定され、一般に(任意に)アクセス制御エントリーのアクセス制御リスト(ACL)80を含み、各エントリーについて、そのエントリーに対応する1つまたは複数のアクセス権(許可されたアクションまたは拒否されたアクション)を含む。各エントリーはタイプ(拒否または許可)インジケータ、フラグ、セキュリティ識別子(SID)およびアクセス権をビットマスクの形で含み、各ビットは許可に対応する(たとえば、1つのビットは読取りアクセス、1つのビットは書込みアクセス、など)。セキュリティメカニズム78はトークン60内のセキュリティIDおよびプロセス70によって要求されたアクション(複数可)のタイプをACL80内のエントリーと比較する。許可されたユーザまたはグループの一致が発見され、所望のアクセスのタイプがそのユーザまたはグループに対して許可可能な場合、オブジェクト72へのハンドルはプロセス70に戻されるが、その他の場合はアクセスは拒否される。
【0018】
例として、ユーザを「会計」グループのメンバーとして識別するトークンを持つユーザが読取りおよび書込みアクセスで特定のファイルオブジェクトにアクセスしたいとする。ファイルオブジェクトが、ACL80のエントリー内で許可されたタイプの「会計」グループ識別子を有し、そのグループが読取りおよび書き込みアクセスを使用可能にする権利を有する場合、読取りおよび書込みアクセスを許可するハンドルは戻されるが、その他の場合はアクセスは拒否される。効率上の理由から、セキュリティチェックはプロセス70がまずオブジェクト72(作成または開く)にアクセスしようと試みた時のみ実行され、したがってそのオブジェクトに対するハンドルはそれを介して実行できるアクションを制限するように、アクセス情報のタイプを格納することに注意されたい。
【0019】
セキュリティ識別子76はまた、システムACLまたはSACL81を含み、これは監査されるべきクライアントアクションに対応するタイプ監査のエントリーを含む。各エントリー内のフラグは監査が成功したオペレーションまたは失敗したオペレーションのどちらを監視するかを示し、エントリー内のビットマスクは監査されるべきオペレーションのタイプを示す。エントリー内のセキュリティIDは、監査されるユーザまたはグループを示す。たとえば、ファイルオブジェクトへの書込みアクセスを有しないグループのメンバーがそのファイルに書き込もうと試みた場合いつでも決定できるように特定のグループが監査される状況を考えてみる。そのファイルオブジェクトに関するSACL81は、その中にグループセキュリティ識別子と、適切に設定された失敗フラグおよび書込みアクセスビットを有する監査エントリーを含む。その特定のグループに属するクライアントがそのファイルオブジェクトに書き込みしようとして失敗するといつでも、そのオペレーションは記録される。
【0020】
ACL80は、(すべての権利または選択された権利に関して)グループユーザにアクセスを許可する識別子ではなくて、グループユーザのアクセスを拒否するためにマークされる。1つまたは複数の識別子を含む場合があることに注意されたい。たとえば、ACL80内にリストされた1つのエントリーは、他の場合に、「グループ3」のメンバーにオブジェクト72へのアクセスを許可するが、ACL80内の他のエントリーは特に、「グループ24」のすべてのアクセスを拒否する場合がある。トークン60が「グループ24」セキュリティIDを含んでいる場合、アクセスは「グループ3」のセキュリティIDの存在にかかわらず拒否されることになる。もちろん、セキュリティチェックが正しく機能するために、セキュリティチェックは、”グループ3”エントリーを介したアクセスを許可しないようにアレンジされ、その後に、すべてのDENY(拒否)エントリーをACL80の前面に置くなどによって、グループ24エントリーの「DENY ALL(すべて拒否)」状態をチェックする。この構成(arrangement)は、グループの残りのメンバーの各々を個別にリストしてそのアクセスを許可する必要なく、グループの、1人または複数の分離したメンバーを個別にACL80内で排除できるので、向上した効率を提供することが明らかであろう。
【0021】
アクセスのタイプを指定する代わりに、コーラ−(caller)はMAXIMUM_ALLOWEDアクセスを要求することもでき、これによって、1つのアルゴリズムが通常のUserAndGroupsリスト対ACL80内の各々のエントリーに基づいて、許可される最大のアクセスタイプを決定することに注意されたい。より詳しくは、アルゴリズムは所与のユーザのための権利を蓄積している識別子のリストをウォークダウンする(すなわち、種々のビットマスクをORする)。権利が一度蓄積されると、ユーザに蓄積された権利が与えられる。しかし、ウォークスルーの間にユーザ識別子またはグループ識別子および要求された権利に一致する拒否エントリーが発見されると、アクセスは拒否される。
【0022】
制限付きのトークン
本発明の一態様によれば、制限付きのトークンは次のように、既存のアクセストークン(制限付きまたは制限なし)から作成される。また次に説明するように、制限付きトークンが任意の制限付きセキュリティIDを含む場合、そのトークンは追加のアクセスチェックを受け、その中で制限付きセキュリティIDはオブジェクトのACL内のエントリーに対して比較される。制限つきトークンはまた、本発明と同じ譲受人に付与されている“制限付きのトークンを使用したセキュリティモデル”というタイトルの共に係属中の米国特許出願内で説明されており、その特許出願は本発明と共に同時に出願されており、制限つきトークンはその中で完全に引例によって含まれている。
【0023】
制限付きトークンの主な用途は、プロセスに、それ自体のトークンの制限付きのバージョンを持つ新しいプロセスを作成させることである。制限付きのプロセスはついで、リソースに関して実行できるアクションにおいて制限される。たとえば、ファイルオブジェクトリソースは、関連付けられた制限付きトークンの中に同じマイクロソフトワード制限付きSIDを有する制限付きプロセスのみがそのファイルオブジェクトにアクセスできるように、単一の制限付きSID、すなわち、マイクロソフトワードのアプリケーションプログラムを識別する単一の制限付きSIDをそのACLの中に有する場合がある。オリジナルユーザはさらにオブジェクトにアクセスする必要があるので、ACLもまた、ユーザアクセスおよびマイクロソフトワードプログラムを許可するアクセス制御エントリーを含む必要があることに注意されたい。そのため、たとえば、ブラウザを介してダウンロードされたコードなど、信用できないコードは、制限付きプロセス内で実行される。制限付きプロセスは、制限付きトークン内にマイクロソフトワード制限付きセキュリティIDを有しない(不正である可能性のある)コードがファイルオブジェクトへアクセスすることを防ぐ。
【0024】
セキュリティ上の理由から、異なるトークンを伴うプロセスの作成は通常は、SeAssignPrimaryToken権限として知られる権限を必要とする。しかし、プロセスが制限付きトークンと関連付けられるようにするために、制限付きトークンが主トークンから導出されている場合に、プロセス管理は別のプロセスへの十分なアクセスを持つ1つのプロセスが、その主トークンを制限付きトークンに変更できるようにする。新しいプロセスのトークンのParentTokenIdを既存のプロセスのトークンのTokenIdと比較することによって、オペレーティングシステム35はプロセスがそれ自体の制限付きバージョンを作成しているだけであることを確認する。
【0025】
制限付きトークン84は親トークンより少ないアクセスしか有せず(すなわち、親トークンの権利と権限のサブセットを有するため)、ユーザ情報またはグループ情報のみに基づいてアクセスを許可または拒否するのみでなく、そのオブジェクトにアクセスしようと試みるプロセスのタイプ(またユーザまたはグループ)に基づいてオブジェクトへのアクセスを防止することなどが可能である。制限付きのトークンはまた、親トークンがこれらのSIDを介してアクセスを許可している場合でも、「USE_FOR_DENY_ONLY」と特にマークされた1人または複数のユーザまたはグループのセキュリティIDを介したアクセスを許可しない場合もあり、および/または、親トークンに存在する権限を削除してしまう場合もある。
【0026】
したがって、アクセスを削減する1つの方法は、制限付きトークン内の1つまたは複数のユーザセキュリティ識別子および/またはグループのセキュリティ識別子の属性を変更して、アクセスを許可するのではなくアクセスを許可できないようにすることである。USE_FOR_DENY_ONLYとマークされたセキュリティIDは、アクセスを許可する目的のためには効果的に無視されるが、そのセキュリティIDに関して「DENY(拒否)」エントリーを有するACLは依然としてアクセスが拒否される。例として、制限付きトークン84(図3)内のグループ2のセキュリティIDが、USE_FOR_DENY_ONLYとマークされている場合、ユーザのプロセスがグループ2を許可されたものとしてリストしているACL80を有するオブジェクト72にアクセスしようと試みた時、このエントリーは効果的に無視され、プロセスは他のなんらかのセキュリティIDによってアクセスを得なければならないことになる。しかし、ACL80が要求されたタイプのアクションに関して、グループ2をDENYとリストしたエントリーを含んでいる場合、1度テストされると、他のセキュリティIDにかかわらずアクセスは許可されない。
【0027】
セキュリティIDはいくつかのオブジェクトのACLの中で「DENY」としてマークされている可能性があり、それによってその識別子を削除するとこれらのオブジェクトへのアクセスを拒否するのではなく許可することになってしまうため、ユーザのトークンからセキュリティIDをただ除去するだけではオブジェクトへのアクセスは安全に削減できないことに注意されたい。したがって、本発明は制限付きのトークン内でSIDの属性がUSE_FOR_DENY_ONLYに変更できるようにする。さらに、このUSE_FOR_DENY_ONLYセキュリティチェックをオフにするためのメカニズムは提供されていない。
【0028】
制限付きトークン内でアクセスを削除する別の方法は、親トークンに関して1つまたは複数の権限を削除することである。たとえば、管理権限を伴う通常のトークンを有するユーザは、そのユーザが特にシステムに別の情報を与えなければ、そのユーザのプロセスが権限のない制限付きトークンで実行するようにシステムを設定する場合がある。これはユーザが管理者の範囲内で意図的に行動していない時に発生する可能性のある、偶然のエラーを防ぐことを理解されたい。同様に、プログラムがユーザの権限に応じて異なるモードで実行するように開発され、これによって管理レベルのユーザはあるオペレーションを実行するために管理権限でプログラムを実行しなければならないが、より基本的なオペレーションを実行するためには低減された権限でオペレーションを実行しなければならない場合がある。ここで再び、これはこのようなユーザが通常のオペレーションを実行しようとしているだけなのに、高められた権限で実行している時に生じる可能性のある深刻なエラーを防ぐのに役立つ。
【0029】
トークンのアクセスを低減するさらに別の方法は、そこに制限付きのセキュリティIDを追加することである。制限付きのセキュリティIDは、プロセス、リソースオペレーションなどを表す数であり、GUIDへ接頭辞を追加するかまたは暗号ハッシュなどを介して生成された数字を追加するなどによってユニークになっており、これらのセキュリティIDを他のセキュリティIDから区別する情報を含む場合もある。本発明に必ず必要ではないが便利のために、GUIDをセキュリティIDに変換したり、セキュリティIDを人間が可読な形態で表示したりなど、アプリケーションおよびユーザをセキュリティIDにインタフェースさせるための種々のアプリケーションプログラミングインタフェース(API)が提供される。
【0030】
アプリケーション(プロセス)要求アクセスに基づいてリソースへのアクセスを制限することに加えて、同様にリソースの制限付き使用に基づいて特定のセキュリティIDを開発する場合もある。例として、「USE_WINDOWS」などのセキュリティIDは、ウィンドウステーションおよびデスクトップのデフォルトのACLに置かれ、制限付きトークンの中に対応するSIDを有するプロセスによってのみアクセスを許可する場合がある。同様に、プリンタオブジェクトのデフォルトACLは、そのデフォルトのACLの中に「USE_PRINTING」SIDを含み、プロセスが制限付きトークンの中でリストされたこのセキュリティIDのみを伴う制限付きプロセスを作成し、これによって制限付きプロセスはプリンタにはアクセスできるが他のリソースにはアクセスできないようにする場合もある。他のリソースにアクセスするために、多くの他のセキュリティIDも実現できることが理解されるであろう。
【0031】
図3に示すように、制限付きセキュリティIDは、制限付きトークン84の特別なフィールド82内に置かれ、アクションを要求しているプロセスを識別することなどを行う。以下にさらに詳細に説明するように、少なくとも1つのユーザ(またはグループ)セキュリティIDおよび少なくとも1つの制限付きセキュリティIDの両方についてオブジェクトへのアクセスを許可するように要求することによって、オブジェクトは要求側プロセス(またユーザまたはグループ)に基づいて選択的にアクセスを許可できる。たとえば、ファイルオブジェクトなどのオブジェクトは、マイクロソフトワード、マイクロソフトエクセルまたはWindows エクスプローラのプロセスがそれにアクセスすることを許可するが、他のプロセスへのアクセスを拒否する場合がある。さらに、許可されたプロセスの各々は、異なるアクセス権が与えられる場合もある。
【0032】
この設計は、ユーザのコンテキスト内で異なるプロセスが実行することを制御するための、大きな融通性と細分性を提供する。これらの機能に関する1つの期待される使用モデルは、信頼できるアプリケーションと信頼できないアプリケーションとの区別を含む。「アプリケーション」は一般的な意味で、所与のセキュリティコンテキストの下で「ユーザモード」で実行できる任意のコードの一部分を記述する。たとえば、マイクロソフトワードなどのアプリケーションはActiveX制御からのプロセスとして実行され、ActiveXは既存のプロセス内にロードされ実行される場合がある。マイクロソフトのインターネットエクスプローラなどの他のアプリケーションを起動するアプリケーションは、このインフラストラクチャを使用した「信頼モデル」を導入する可能性がある。
【0033】
例として、インターネットエクスプローラなどのアプリケーションは制限付きトークンを使用して異なるプロセスの下で信頼できない実行可能なコードを実行し、これらのプロセスがユーザの全体的なアクセス権および権限の中で行うことを制御できる。この目的のために、インターネットエクスプローラアプリケーションは、それ自体のトークンから制限付きトークンを作成し、どの制限付きセキュリティIDを制限付きトークン内に置くかを決定する。ついで、信頼できない実行可能コードは制限付きのコンテキストがアクセスできるオブジェクトにのみアクセスするように制限される。
【0034】
さらに、制限付きSIDおよび他の制限に対応するエントリーは、監査目的のためにSACL81のフィールドに置くことができる。たとえば、リソースのSACLは、インターネットエクスプローラプログラムがそのリソースの読取りまたは書込みアクセスを試みるたびに、および/またはUSE_FOR_DENY_ONLYとマークされたSIDの使用が監査される場合にはいつでも監査するように設定することができる。単純化のために、監査はこのあと詳細に説明しないが、制限付きSIDを介したアクセス制御に関して説明されたコンセプトは監査動作にも適用可能であることは容易に理解されるであろう。
【0035】
既存のトークンから制限付きトークンを作成するために、NtFilterTokenと名付けられたアプリケーションプログラミングインタフェース(API)が提供され、その内容は次のとおりである。
【0036】
【表1】
【0037】
NtFilterToken APIは、CreateRestrictedTokenと名付けられたWin32 APIの下でラップされ、CreateRestrictedTokenの内容は次のとおりである。
【0038】
【表2】
【0039】
図2および図4〜5に表示されたように、これらのAPI86は共同して機能し、制限付きでも制限なしでも既存のトークン60をとり、変更された(制限付き)トークン84をそこから作成する。ログオンしたユーザのインスタンスに関する識別情報を含む制限付きトークンの構造は、ParentTokenId,RestrictedSidCount、およびRestrictedSidsの3つの新しいフィールドを含む(以下に太字で示されている)。
【0040】
【表3】
【0041】
通常の(制限なしの)トークンがCreateToken APIを介して作成される時、RestrictedSidsフィールドもParentTokenIdフィールドも空であることに注意されたい。
【0042】
制限付きトークン84を作成するために、このプロセスは適切なフラグ設定および/または入力フィールド中の情報を伴うCreateRestrictedToken APIを呼び出し、これはNtFilterToken APIを順番に起動する。図4のステップ400の初めに示すように、NtFilterToken APIは、DISABLE_MAX_SIDSと名付けられたフラグが設定されているかどうかをチェックする。このフラグは新しい、制限付きトークン84の中にあるグループに関してすべてのセキュリティIDがUSE_FOR_DENY_ONLYとマークされていなければならないことを示す。このフラグは、各々のグループを個別に識別する必要なく、トークン内のグループ(多くのグループである可能性がある)を制限するための便利な方法を提供する。フラグが設定されている場合、ステップ400はステップ402に分岐し、ステップ402では新しいトークン84内のグループセキュリティIDの各々について、USE_FOR_DENY_ONLYを示すビットを設定する。
【0043】
DISABLE_MAX_SIDSフラグが設定されていない場合、ステップ400はステップ404に分岐し、NtFilterToken APIのSidsToDisableフィールド内にセキュリティIDが個別にリストされているかどうかをテストする。図4のステップ404で示されたように、オプションのSidsToDisable入力フィールドが存在する時、ステップ406では、そこにリストされ、また、親トークン60のUserAndGroupsフィールド62内にも存在する任意のセキュリティIDは、新しい制限付きトークン84のUserAndGroupsフィールド88内でUSE_FOR_DENY_ONLYとして個別にマークされる。上記のようにこのようなセキュリティIDは、アクセスを拒否するためにのみ使用でき、アクセスを許可するためには使用できず、さらに、あとから削除または使用可能にはできない。したがって、図2に示された例では、グループ2のセキュリティIDは、NtFilterToken API86のSidsToDisable入力フィールド内にグループ2セキュリティIDを指定することにより、制限付きトークン84内でUSE_FOR_DENY_ONLYとしてマークされる。
【0044】
フィルタプロセスはついで図4のステップ410に続き、ここではDISABLE_MAX_PRIVILEDGESと名付けられたフラグがテストされる。このフラグは同様に、新しい、制限付きトークン84内のすべての権限を削除すべきであることを示す、便利なショートカットとして設定できる。このように設定された場合、ステップ410はステップ412に分岐し、ステップ412では新しいトークン84からすべての権限が削除される。
【0045】
フラグが設定されていない場合、ステップ410はステップ414に分岐し、ここではオプションのPrivilegesToDeleteフィールドが確認される。NtFilterToken API86が呼ばれた時に存在する場合は、ステップ416で、この入力フィールドにリストされまた既存のトークン60の権限フィールド68にも存在する任意の権限は、新しいトークン84の権限フィールド90から個別に削除される。図2に示された例では、「権限2」から「権限m」として示された権限は、NtFilterToken API86のPrivilegesToDelete入力フィールド内にこれらの権限を指定することによって、新しいトークン84の権限フィールド90から削除されている。上記のように本発明の1つの態様によれば、これは、トークン内で使用可能な権限を削減する機能を提供する。このプロセスは図5のステップ420に続く。
【0046】
制限付きトークン84を作成する時に、ステップ420でRestrictingSids入力フィールド内にSIDが存在していた場合、親トークンが通常のトークンか、または親トークン自体が制限付きSIDを有する制限付きトークンであるかどうかに関して決定が行われる。API、IsTokenRestrictedがステップ422で呼び出され、親トークンのRestrictingSidsフィールドを(NtQueryInformationToken APIを介して)照会してこれがNULLでないかどうかを確認することによってこの問題を解決し、ここでNULLでなかった場合、親トークンは制限付きトークンであり、APIはTRUE(真)を戻す。テストが満足できなかった場合、親トークンは通常のトークンでありAPIはFALSE(偽)を戻す。続くステップ426または428のために、トークン自体は制限付きであるが制限付きSIDを有しない親トークン(すなわち、権限が削除されているかおよび/またはUSE_FOR_DENY_ONLY SIDSである場合)は、制限付きでないとして処理される可能性があることに注意されたい。
【0047】
ステップ424では、親トークンが制限付きである場合、ステップ424はステップ426に分岐し、ステップ426では、親トークンの制限付きセキュリティIDフィールドと、APIの制限付きセキュリティID入力リストの両方にある任意のセキュリティIDは、新しいトークン84の制限付きセキュリティIDフィールド92に置かれる。制限付きセキュリティIDが両方のリストになければならないため、制限付き実行コンテキストが、制限付きセキュリティIDフィールド92にさらなるセキュリティIDを追加することを阻止し、この場合、アクセスを減らすのではなく効果的にアクセスを増やすことになる。同様に、ステップ426で共通なセキュリティIDがなかった場合、少なくとも1つの制限付きSIDを新しいトークン内の元のトークンから取り去るなどによって、作成された任意のトークンはそのアクセスを増やすことなく制限されなければならない。その他の場合は、新しいトークン内の空の制限付きSIDフィールドはそのトークンが制限されていないことを示し、この場合、アクセスを減らすのではなく効果的にアクセスを増やすことになる。
【0048】
あるいは、ステップ424で親トークンが通常のトークンであると判断された場合、ステップ428で新しいトークン84のRestrictingSidsフィールド92は入力フィールド内にリストされたものに設定される。これはセキュリティIDを追加するが、次に詳細に説明されるように制限付きSIDを有するトークンが第2のアクセステストを受けるため、アクセスは実際には減らされることに注意されたい。
【0049】
最後に、ステップ430も実行され、ここで新しいトークン84内のParentTokenId93は既存の(親)トークンのTokenIdに設定される。これはオペレーティングシステムに、通常は親トークン以外には許可されていない場所で、そのトークンの制限付きのバージョンを使用するプロセスをのちに許可するオプションを提供する。
【0050】
特に図6〜8を参照して本発明の動作の説明に戻ると、図6に表示されたように、制限付きプロセス94が作成され、読取り/書込みアクセスでファイルオブジェクト70を開こうと試みている。オブジェクト72のセキュリティ記述子内では、ACL80はそこにリストされた多くのセキュリティIDおよび、各IDに関して許可されたタイプのアクセスを有し、ここで「RO」は読取りのみのアクセスが許可されていることを示し、「WR」は読取り/書込みアクセスを示し、「SYNC」は同期化アクセスが許可されていることを示す。他の場合は「XJones」が許可されたグループ内のメンバーシップを介してアクセスを許可されている場合でも、「XJones」は特にオブジェクト72へのアクセスを拒否されていることに注意されたい。さらに、関連付けられたこのトークン84を有するプロセス94は、このエントリーは「DENY」(すなわち、USE_FOR_DENY_ONLY)とマークされているため、トークン84内の「バスケットボール」セキュリティIDを介して任意のオブジェクトへのアクセスを許可されないことになる。
【0051】
セキュリティの目的のために、制限付きセキュリティコンテキストは第一に、Windows NTカーネル内で実現される。オブジェクト72にアクセスしようと試みるために、プロセス94はオブジェクトマネジャー74に、アクセスが望ましいオブジェクトを識別する情報および、所望されるアクセスのタイプを提供する(図8、ステップ800)。オブジェクトマネジャー74はこれに応答して、ステップ802に示されたように、セキュリティメカニズム78と共同して機能し、トークン84内にリストされた(プロセス94と関連付けられている)ユーザセキュリティIDおよびグループセキュリティIDをACL80内のエントリーに対して比較し、所望のアクセスが許可されるべきか拒否されるべきかを決定する。
【0052】
ステップ804で一般に示されているように、アクセスがリストされたユーザまたはグループに関して許可されていない場合、セキュリティチェックはステップ814でアクセスを拒否する。しかし、ステップ804でアクセスチェックのユーザ部分およびグループ部分の結果が許可可能なアクセスを示した場合には、セキュリティプロセスはステップ806に分岐し、制限付きトークン84が任意の制限付きセキュリティIDを有しているかどうかを決定する。有していない場合、追加の制限はなく、ここでアクセスチェックは完了し、ステップ812において、ユーザアクセスおよびグループアクセスのみに基づいてアクセスは許可される(そのオブジェクトへのハンドルが戻される)。このようにして、通常のトークンは本質的に以前と同じようにチェックされる。しかし、ステップ806によって決定されたように、トークンが制限付きセキュリティIDを含んでいる場合、ついでステップ808によって、制限付きセキュリティIDをACL80内のエントリーと比較することによって、第2のアクセスチェックが実行される。ステップ810でこの第2のアクセステストがアクセスを許可した場合、そのオブジェクトへのアクセスはステップ812で許可される。そうでない場合、アクセスはステップ814で拒否される。
【0053】
図7で論理的に示すように、トークン84の中に制限付きセキュリティIDが存在する時はいつでも、2つの部分からなるテストがこのように実行される。トークン84内のセキュリティIDおよび所望のアクセスビット96をオブジェクト72のセキュリティ記述子に対して考慮することによって、通常のアクセステスト(ビットごとのAND)および制限付きセキュリティIDのアクセステストの両方は、プロセスがそのオブジェクトへのアクセスを許可されるようにアクセスを許可しなければならない。本発明に必要ではないが上記のように、通常のアクセステストが最初に行われ、アクセスが拒否された場合には、さらなるテストは必要ではない。トークン内にACLの識別子に一致するセキュリティIDがないため、またはACLエントリーが特に、その中にあるセキュリティ識別子に基づいてトークンへのアクセスを拒否したためのどちらの理由でも、アクセスは拒否されることに注意されたい。別法としては、トークンを制限付きSIDの多数の組を有するように構成し、たとえば、組A OR(組B AND組C)がアクセスを許可するなど、これらのSIDの評価をカバーするさらに複雑なブール式を伴う場合もある。
【0054】
このように図6に示された例では、トークン84(フィールド92)内の制限付きSIDのみが「インターネットエクスプローラ」を識別する一方、オブジェクトのACL80内には対応する制限付きSIDがないため、図6に示された例では、オブジェクト72へのアクセスはプロセス94へは許可されない。ユーザは通常のトークンで実行するプロセスを介してオブジェクトへアクセスする権利を有していたが、プロセス94はACL内に「インターネットエクスプローラ」SID(非DENY)を有するオブジェクトのみにアクセスできるようにするように、制限された。
【0055】
アクセスのタイプを指定する代わりに、コーラ−が、指定されたMAXIMUM_ALLOWEDアクセスを有する場合、これによって上記のように、アルゴリズムは最大のアクセスを決定するACL80をウォークスルーする。制限付きトークンで、1つでも任意のタイプのユーザアクセスまたはグループアクセスが許可された場合、ユーザおよびグループの実行に続いて許可可能なアクセス権のタイプ(複数可)は、第2の実行に関して所望のアクセスとして指定され、第2の実行はRestrictedSidsリストをチェックする。このようにして、制限付きトークンは通常のアクセスより少ないかまたは等しいアクセスを許可されることが確認される。
【0056】
最後に、本発明のセキュリティモデルは、他のセキュリティモデルと共に使用できることに注意されたい。たとえば、オペレーティングシステムの上に常駐する、機能に基づいたセキュリティモデルは、本発明のオペレーティングシステムレベルのセキュリティモデルの上で使用することができる。
【0057】
制限付きトークンを介した最小権限
一般に、本発明は削減されたアクセス権および/または権限で実行しているユーザをシステムが自動的に実行することに関する。簡単に説明するために、以下用語「アクセス」または「権限」は、プロセスがリソースを使用する能力のコンテキスト内で使用される時には、権限またはセキュリティ識別子のいずれか、または、両方の何らかの組合せをさす。このように、制限付きトークンは、1つまたは複数の権限を削除するか、および/またはSIDをUSE_FOR_DENY_ONLYに設定するかのいずれかによって、親トークンのアクセスに関して削減された「アクセス」を有する。制限付きトークンはまた、親トークンが通常のユーザに基づいたトークンであり制限付きトークンがその中にSIDを有する場合、または親トークン自体が制限付きSIDを有し、(子の)制限付きトークンがその中により少ない制限付きSIDを有する場合も、削減されたアクセスを有する可能性がある。同様に、以下使用されるように、増加されたアクセスが実際には、トークン内にリストされた実際の権限を介してではなく、トークン内のセキュリティIDから生じた可能性があっても、増加されたまたは高められた「権限」での実行は、増加された「アクセス」での実行と同じになる。
【0058】
いずれの場合でも、最小の(すなわち、何らかの方法で削減された)権限が実行できる第1の方法は、制限をアプリケーションに論理的に接続することである。より具体的には、制限付き実行のコンテキストは、オペレーティングシステムが各アプリケーションに関して、および各リソースに関して別の制限付きセキュリティIDを作成することを可能にする。オペレーティングシステムは次いで、アプリケーションがどんなリソースにアクセスする必要があるかを知っている安全なアプリケーションランチャを含み、制限付きトークンを介して、アプリケーション(すなわちそのプロセス)がこれらのリソースのみにアクセスするように制限することが可能になる。
【0059】
したがって、本発明の別の態様によれば、および図9に示されているように、アプリケーションプログラム110(図9)は関連づけられた制限情報112を有する場合がある。たとえば、アプリケーションはデフォルトの制限と共に出荷されるか、および/または、管理者などがアプリケーションをインストールするときに制限を設定する場合がある。情報112は、アプリケーションがどのファイルまたはディレクトリにアクセスするか、アプリケーションを実行するためには管理者が必要かどうか、またはアプリケーションが任意の他のプログラムを起動する必要があるかどうかなど、制限を含む可能性がある。システムはこの制限情報112をデータベース、または他の非揮発性メモリなどに格納する。たとえば、ウィンドウズエクスプローラなどのプログラムランチャ114は、この情報をエクスプローラリンクファイル内に格納できる。
【0060】
プログラムランチャ114は実行されると制限情報112を読み出し、格納された情報に基づいて通常の、ユーザに基づいたトークン116から制限付きトークン122を作成する。この結果、アプリケーションプログラム110は制限付きトークン122がアクセスを許可したリソース124のみにアクセスするように制限される。たとえば、制限付きトークン122を介して、ゲームプログラム110をそれ自体のデータファイルにのみアクセスするように制限できる。
【0061】
この目的のために、図10に示されたように、制限付きトークン122はその制限付きSIDフィールド内に、たとえば、図10に「GAME33」と示されたようなアプリケーションを識別する制限付きSIDを含む。また図10に示されたように、ゲームの各データファイルに関連づけられたACL(たとえば、リソースオブジェクト124)は、制限付きトークン122内に置かれた制限付きSID(複数可)に対応する1つまたは複数の識別子(これも「GAME33」と示されている)を含む。上記のようにアクセス評価が実行されると、ユーザSIDおよび制限付きSIDの両方がセキュリティ記述子内のエントリーに一致しているため、アプリケーション110はこのファイルオブジェクト124へのアクセスを許可される。しかし、オペレーティングシステム35を介して管理者によって決定されたように、システム内の他のファイルのセキュリティ記述子にはこのような「GAME33」SIDがないので、これによって、ゲームプログラム110がこれらの他のファイルにアクセスすることを防ぐ。
【0062】
他の使用法は、アプリケーションのアクセスを、ファイルの範囲ではなく編集されている1つのファイルのみに許可することによってウイルスを制御することである。この方法で、文書を他の文書へアクセスさせないことによって、マクロウイルスは効果的に止められる。
【0063】
アプリケーションへのアクセスを制限するさらに別の方法は、アプリケーション自体を制限付き部分および制限なし部分に分割することによるものである。もちろん、アプリケーションは追加の細分性を有し、制限レベルに基づいて2つ以上の部分に分割される場合もある。例として図11に示されたように、アプリケーションプログラム130は管理タイプのアクティビティおよび非管理タイプのアクティビティの間で分割された機能を有する場合がある。この方法で、高められた権限で実行する管理者は、新しい機能をアプリケーションに追加したり、またはデフォルトの挙動を設定したりなどのタスクを実行できるようになる。これは制限付きトークンを介して、非管理者に一定の機能を含むダイナミックリンクライブラリ(DLL)、および/またはデフォルトの情報を格納するデータファイルへのアクセスを否定するなど、多くの方法で実施される可能性があることに注意されたい。他の方法は、たとえば、権限なしと指定された機能のための制限付きトークンおよび、権限付き機能のための通常のトークンなど、実行しようと試みている各機能の各プロセスにトークンを関連づけることである。いずれの場合でも、より少ないアクセスを有する通常のユーザはデータ入力およびデータ保存など通常の機能を実行でき、より高いレベルのユーザは管理的な機能を実行することができる。もちろん、いくつかの機能は、任意のタイプの有効なユーザによるアクセスを許可することによって、論理的に両方のグループに入れることもできる。
【0064】
分割された部分は、アクセスに関しては相互に排他的である場合があることに注意されたい。たとえば、管理者用の一定の機能へのアクセスを許可または否定するなど、制限付きトークンを使用すると、管理者が管理者モードで実行している時に通常の機能を実行できないか、または逆に管理者が通常モードで実行している時に管理機能を実行できないように、アプリケーションを書くことができる。これは、非管理的なタスク(たとえばデータ入力)を通常のモードで実行している管理者が、権限付きの機能を介して不注意に何らかの損害(たとえばファイルの削除)を行うことを防ぐ。さらに、オペレーションオペレーションのモードを強調するために、アプリケーションはそれが実行されているモードに応じて異なる表示(たとえば異なる色スキーム)を有することもできる。
【0065】
さらに、本発明はどのプログラムも通常は管理者権限で実行できないことを指定する能力も提供する。これは、ユーザに、安全なデスクトップ(すなわち、オペレーティングシステムによって管理されているデスクトップ)から管理者権限でプログラムを起動するように要求することによって実行できる。これはユーザに、プログラムを信用するだけではなく、管理者権限を明示的に使用することを強要する。
【0066】
最小の(または何らかの方法で削減された)権限でユーザにオペレーションさせるさらに別の方法は、各ユーザが必要な量のアクセスのみを許可する制限付きトークンで実行するようなシステムデフォルトを有することである。一般に、資格を持つユーザが増大されたアクセスを必要とするタスクを行う必要がある場合、ユーザまたはオペレーティングシステムは明示的なオペレーションを実行し、そのアクセスを得る必要がある。この目的のために、制限付きトークンに関連づけられたプロセスを有するユーザは一時的に、彼または彼女のプロセスを増大されたアクセスを有するトークン(制限付きトークンまたは通常のトークン)に関連づけることができる。タスクが実行されると、強化されたアクセスは次いで、制限付きトークンをユーザのプロセスに復元することによって削除される。
【0067】
図12は、システムが最小のまたは削減されたアクセスでオペレーションを実行する方法を示している。ステップ1200で開始するオペレーションにおいては、ユーザの通常のトークンより少ないアクセスを有する制限付きトークンがユーザのために作成される。上記のように、これはユーザSIDおよびグループSIDの属性をUSE_FOR_DENY_ONLYに変更し、通常の親トークンに関連する1つまたは複数の権限を削除する、および/または制限付きSIDを制限付きトークンに追加することによって達成される。次いで、ステップ1202において、制限付きトークンはユーザの制限付きプロセスに関連づけられる。またステップ1202に示されたように、プロセスがリソースへアクセスしようと試みた時、上記のように、そのリソースのセキュリティ記述子に対して制限付きトークンを使用してアクセス評価が実行される。2つ以上のレベルの制限が可能であることに注意されたい(たとえば、通常のトークン、通常のトークンから作成された第1の制限付きトークン、および第1の制限付きトークンから作成された第2の制限付きトークン)。2つ以上のレベルが望ましい場合、ステップ1202でプロセスと関連づけられた制限付きトークンは、典型的には、もっとも少ないアクセスを伴うトークンである。ユーザは次いで、各タスクについて削減された(たとえば、もっとも可能性が少ない)アクセスレベルを使用するようなデフォルトになる。
【0068】
ステップ1204では、オペレーティングシステム(すなわち、その中のセキュリティメカニズム)は、(望ましいタイプの)アクセスが許可されているかどうかを決定し、許可されている場合ステップ1220に分岐し、ステップ1220では、適切なタイプのアクセスが許可され、タスクが実行される。制限付きSIDが存在し、アクセスが権限を介していない時は、アクセス評価は上記のように、2つの部分のアクセスチェックを含むことに注意されたい。
【0069】
本発明によれば、ステップ1204でアクセスが許可されなかった場合、オペレーティングシステムはアクセスを否定するのではなく、ユーザに増大されたアクセスを伴うトークンを使用してリソースへアクセスする追加の機会を与える場合がある。この目的のために、ステップ1206では、ユーザのトークンが制限付きトークンであるかどうかを決定するテストが行われる。この決定は、制限付きトークンがParentTokenIDフィールド内で識別された非NULLの親トークンを有するため、トークンのそのフィールドを介して行うことができる。トークンが親(ステップ1206)を有しない場合、そのユーザは制限があるかないかにかかわらず彼または彼女の通常のトークンでアクセス権を有しないので、アクセスはステップ1222ですぐに否定される。
【0070】
別法としては、トークンがステップ1206で親を有する場合、システムはステップ1210でユーザに、ユーザが増大されたアクセスレベル、すなわち制限付きトークンの親トークンでそのリソースへのアクセスを再び試みたいかどうかを決定するようにプロンプトで促される。この方法で、ユーザは危険の可能性がある状況、すなわち、なにか異常なことが未決定になっていることに気づかされる。ユーザが増大されたアクセスでタスクを実行することを試みないように決定した場合、ステップ1212はステップ1222に分岐し、ここでアクセスが否定される。しかし、ユーザがアクションが本当に望ましいと決定した場合(たとえば、実際にディスクドライブ上のすべてのファイルを削除しようとする場合)、ユーザはそのプロンプトに肯定的に答え、これによってステップ1212はステップ1214に分岐し、ステップ1214ではアクセスは親トークンをプロセスに関連づけることによって増大され、評価が再び実行される。アクセスが許可された場合(ステップ1216)、要求されたタスクはステップ1218で実行される。ステップ1216でアクセスが許可されない場合、ステップ1206が再び実行され、トークンが親トークンを有するかどうかを決定する。この方法で、2つ以上のレベルの制限がサポートされる。
【0071】
上記のメカニズムは資格のあるユーザに対してアクセスを否定する目的ではなく、資格のあるユーザに、より高いアクセスレベルを必要とするイベントが要求されたことを警告するのが目的であることに注意されたい。ユーザはイベントを実行する前に、第2の、明確なアクションをとらなければならない。しかし、どの状況でも、ユーザはユーザの通常のトークンによって許可されている以上の追加の権限は有しない。
【0072】
このように、たとえば、管理者は彼または彼女のタスクを実行するために制限付きトークンをセットアップする。制限付きトークンは管理者を、グループの非管理者に許可された権限およびアクセス権で実行するように制限する。上記のようにこの方法で1度セットアップすると、管理者は要求されたアクションが通常のユーザより高いレベルであることをプロンプトで表示されずに、システムを損壊するようなことを不注意にしてしまうことはなくなる(たとえばディスクドライブ上のすべてのファイルを削除するなど)。プロンプトおよび応答メカニズムは、特定のオーバーライドのみが管理レベルのアクションを許可するようにする。
【0073】
前記の詳細な説明からわかるように、制限付きトークンを介して最小の(または何らかの方法で削減された)権限でオペレーションを実行する、改善されたセキュリティモデルが提供される。実行は自動的であり、たとえば、アプリケーションに基づくか、アプリケーション内に書き込まれるか、および/またはプロンプトおよび応答メカニズムを介してシステムによって提供できる。
【0074】
本発明は種々の修正および代替の構成を可能にするが、そのうち所定の例示された実施形態が図に示され、上記に詳細に説明された。しかし、本発明を開示された具体的な形に制限する意図はなく、逆に、本発明の趣旨と範囲に含まれるすべての変形例、代替の構成、等価物をカバーすることが目的であることを理解されたい。
【図面の簡単な説明】
【図1】 本発明を組み込むことのできるコンピュータシステムを表す構成図である。
【図2】 既存のトークンから制限付きトークンを作成することを一般に表す構成図である。
【図3】 プロセスがリソースにアクセスできるかどうかを決定するための種々の構成要素を一般に表す構成図である。
【図4】 既存のトークンから制限付きトークンを作成するためにとられる一般のステップを表す流れ図を含む。
【図5】 既存のトークンから制限付きトークンを作成するためにとられる一般のステップを表す流れ図を含む。
【図6】 リソースにアクセスを試みる、関連づけられた制限付きトークンを有するプロセスを一般に表す構成図である。
【図7】 関連づけられた制限付きトークンを有するプロセスのオブジェクトへアクセスすることを決定するための論理を一般に表す構成図である。
【図8】 リソースへのプロセスアクセスを許可するかどうかを決定する時にとられる一般のステップを表す流れ図である。
【図9】 本発明の一態様による、削減された権限を持つアプリケーションプログラムを自動的に実行するための種々の構成要素の構成図である。
【図10】 本発明の一態様による、自動的にそこに関連づけられた制限付きトークンを有し、リソースにアクセスしようと試みるプロセスを一般に示す構成図である。
【図11】 本発明の一態様による、権限付き部分と権限なし部分に分割されたアプリケーションプログラムを示す図である。
【図12】 本発明の一態様による、削減されたアクセスで実行するユーザを実行するために取られる一般的なステップを示す流れ図である。
Claims (26)
- リソースの各々に関連づけられたセキュリティ情報に対して、アプリケーションの各々に関連づけられたアクセストークン内の情報に基づいて、リソースへのアプリケーションのアクセスを決定するセキュリティメカニズムを有するシステムにおいて、システムリソースへのアプリケーションのアクセスを制限するコンピュータ実施方法であって、
前記アプリケーションに関する制限情報をストアするステップであって、前記制限情報は、前記リソースへの前記アプリケーションのアクセスに関連するステップと、
前記アプリケーションを実行する要求を受信するステップと、
親トークンおよび前記制限情報に基づいて制限付きアクセストークンを作成するステップであって、前記制限付きアクセストークンは、前記親トークンに関連する削減されたアクセスを提供し、
アクセス情報を前記親トークンから前記制限付きアクセストークンにコピーするステップと、
少なくとも1つの権限を前記親トークンに関連する前記制限付きアクセストークンから削除するステップと
を備えるステップと、
前記制限付きアクセストークンを前記アプリケーションに関連づけるステップと
前記制限付きアクセストークンで前記リソースへの前記アプリケーションのアクセスを試みるステップと、
アクセスが否定された場合、前記親トークンで前記リソースへの前記アプリケーションのアクセスを試みるステップと
を備えたことを特徴とする方法。 - 前記アプリケーションを実行するステップと、前記制限付きアクセストークンを前記アプリケーションの前記アクセストークンとして使用して、前記システムリソースへのアクセスを試みるステップとをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記アプリケーションに関する制限情報をストアする前記ステップは、前記アプリケーションがアクセスを有している少なくとも1つのファイルを識別するステップを含むことを特徴とする請求項1に記載の方法。
- 前記アプリケーションに関する制限情報をストアする前記ステップは、前記アプリケーションを1つのファイルに制限するステップを含むことを特徴とする請求項3に記載の方法。
- 前記アプリケーションに関する制限情報をストアする前記ステップは、前記アプリケーションが起動することができる少なくとも1つの他のアプリケーションを識別するステップを含むことを特徴とする請求項1に記載の方法。
- 制限付きアクセストークンを作成する前記ステップは、通常のトークンからアクセス情報を前記制限付きアクセストークンにコピーするステップと、少なくとも1つの制限付きセキュリティ識別子を前記制限付きアクセストークンに追加するステップとを含むことを特徴とする請求項1に記載の方法。
- 少なくとも1つの制限付きセキュリティ識別子を前記制限付きアクセストークンに追加する前記ステップは、前記アプリケーションに対応する制限付きセキュリティ識別子を追加するステップを含むことを特徴とする請求項6に記載の方法。
- 親トークンから制限付きアクセストークンを作成する前記ステップは、前記親トークン内の対応するセキュリティ識別子の属性情報に関連して、前記制限付きアクセストークン内のセキュリティ識別子の属性情報を、該セキュリティ識別子を介して否定のみのアクセスに使用するように変更するステップを含むことを特徴とする請求項1に記載の方法。
- 前記アプリケーションの機能の少なくとも一部を少なくとも2つのグループに分割するステップと、少なくとも1つが前記制限付きアクセストークンであるアクセストークンを各グループについて作成するステップと、前記制限付きアクセストークンを前記グループのうち少なくとも1つのグループに関連づけるステップとをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記アプリケーションの機能の少なくとも一部を少なくとも2つのグループに分割する前記ステップは、機能を権限付き部分と権限なし部分に分割するステップを含み、前記制限付きアクセストークンを前記グループのうち少なくとも1つのグループに関連づける前記ステップは、前記制限付きアクセストークンを前記権限なし部分に関連づけるステップを含み、前記親トークンを前記権限付き部分に関連づけるステップをさらに備えたことを特徴とする請求項9に記載の方法。
- 前記親トークンで前記アプリケーションへのアクセスを試みる前記ステップは、前記システムのユーザからの応答を受け取るステップを含むことを特徴とする請求項1に記載の方法。
- 前記ユーザにプロンプトで前記応答を促すステップをさらに備えたことを特徴とする請求項11に記載の方法。
- 前記親トークンは、関連する増大したアクセスを伴うより高い親トークンを有し、前記親トークンで前記アプリケーションへのアクセスを試みる前記ステップは、前記システムが前記親トークンに対してアクセスを拒否した場合に、前記より高い親トークンで前記アプリケーションへのアクセスを試みるステップをさらに含むことを特徴とする請求項1に記載の方法。
- 親トークンから制限付きアクセストークンを作成する前記ステップは、前記親トークン内の対応するセキュリティ識別子の属性情報に関連して、前記制限付きアクセストークン内のセキュリティ識別子の属性情報を、該セキュリティ識別子を介して否定のみのアクセスに使用するように変更するステップを含むことを特徴とする請求項1に記載の方法。
- 前記親トークンは通常のトークンであり、親トークンから制限付きアクセストークンを作成する前記ステップは、制限付きセキュリティ識別子を前記親トークンに関連する前記制限付きアクセストークンに追加するステップを含むことを特徴とする請求項1に記載の方法。
- 前記親トークンは少なくとも1つの制限付きセキュリティ識別子をその中に有する制限付きアクセストークンであり、親トークンから制限付きアクセストークンを作成する前記ステップは、少なくとも1つの制限付きセキュリティ識別子を前記親トークンに関連する前記制限付きアクセストークンから削除するステップを含むことを特徴とする請求項1に記載の方法。
- 前記制限付きアクセストークンで前記アプリケーションにアクセスを試みる前記ステップは、プロセスを前記制限付きアクセストークンに関連づけるステップを含むことを特徴とする請求項1に記載の方法。
- 前記親トークンで前記アプリケーションにアクセスを試みるステップ前記は、プロセスを前記親トークンに関連づけるステップを含むことを特徴とする請求項1に記載の方法。
- システムリソースへのアプリケーションのアクセスを制限する、コンピューティング環境におけるシステムであって、前記システムは、リソースの各々に関連づけられたセキュリティ情報に対して、アプリケーションの各々に関連づけられたアクセストークン内の情報に基づいて、リソースへのアプリケーションのアクセスを決定するセキュリティメカニズムを有し、
前記アプリケーションに関する制限情報をストアする手段であって、前記制限情報は、前記リソースへの前記アプリケーションのアクセスに関連する手段と、
前記アプリケーションを実行する要求を受信する手段と、
親トークンおよび前記制限情報に基づいて制限付きアクセストークンを作成する手段であって、前記制限付きアクセストークンは、前記親トークンに関連する削減されたアクセスを提供し、
アクセス情報を前記親トークンから前記制限付きアクセストークンにコピーする手段と、
少なくとも1つの権限を前記親トークンに関連する前記制限付きアクセストークンから削除する手段と
を備える手段と、
前記制限付きアクセストークンを前記アプリケーションに関連づける手段と
前記制限付きアクセストークンで前記リソースへの前記アプリケーションのアクセスを試みる手段と、
アクセスが否定された場合、前記親トークンで前記リソースへの前記アプリケーションのアクセスを試みる手段と
を備えたことを特徴とするシステム。 - 前記アプリケーションを実行する手段と、前記制限付きアクセストークンを前記アプリケーションの前記アクセストークンとして使用して、前記システムリソースへのアクセスを試みる手段とをさらに備えたことを特徴とする請求項19に記載のシステム。
- 前記アプリケーションに関する制限情報をストアする前記手段は、前記アプリケーションがアクセスを有している少なくとも1つのファイルを識別する手段を含むことを特徴とする請求項19に記載のシステム。
- 前記アプリケーションに関する制限情報をストアする前記手段は、前記アプリケーションを1つのファイルに制限する手段を含むことを特徴とする請求項21に記載のシステム。
- 前記アプリケーションに関する制限情報をストアする前記手段は、前記アプリケーションが起動することができる少なくとも1つの他のアプリケーションを識別する手段を含むことを特徴とする請求項19に記載のシステム。
- 制限付きアクセストークンを作成する前記手段は、通常のトークンからアクセス情報を前記制限付きアクセストークンにコピーする手段と、少なくとも1つの制限付きセキュリティ識別子を前記制限付きアクセストークンに追加する手段とを含むことを特徴とする請求項19に記載のシステム。
- 少なくとも1つの制限付きセキュリティ識別子を前記制限付きアクセストークンに追加する前記手段は、前記アプリケーションに対応する制限付きセキュリティ識別子を追加する手段を含むことを特徴とする請求項24に記載のシステム。
- 親トークンから制限付きアクセストークンを作成する前記手段は、前記親トークン内の対応するセキュリティ識別子の属性情報に関連して、前記制限付きアクセストークン内のセキュリティ識別子の属性情報を、該セキュリティ識別子を介して否定のみのアクセスに使用するように変更する手段を含むことを特徴とする請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/096,679 | 1998-06-12 | ||
US09/096,679 US6308274B1 (en) | 1998-06-12 | 1998-06-12 | Least privilege via restricted tokens |
PCT/US1999/012914 WO1999064947A1 (en) | 1998-06-12 | 1999-06-09 | Least privilege via restricted tokens |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002517853A JP2002517853A (ja) | 2002-06-18 |
JP2002517853A5 JP2002517853A5 (ja) | 2006-08-03 |
JP4414092B2 true JP4414092B2 (ja) | 2010-02-10 |
Family
ID=22258544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000553884A Expired - Fee Related JP4414092B2 (ja) | 1998-06-12 | 1999-06-09 | 制限付きトークンを介した最小権限 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6308274B1 (ja) |
EP (1) | EP1086414B1 (ja) |
JP (1) | JP4414092B2 (ja) |
AT (1) | ATE511671T1 (ja) |
WO (1) | WO1999064947A1 (ja) |
Families Citing this family (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941552B1 (en) * | 1998-07-30 | 2005-09-06 | International Business Machines Corporation | Method and apparatus to retain applet security privileges outside of the Java virtual machine |
JP4451566B2 (ja) | 1998-10-30 | 2010-04-14 | バーネットエックス インコーポレーティッド | 保証されたシステム可用性を有する安全な通信のためのアジル・ネットワーク・プロトコル |
US10511573B2 (en) | 1998-10-30 | 2019-12-17 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US7418504B2 (en) | 1998-10-30 | 2008-08-26 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US7188180B2 (en) | 1998-10-30 | 2007-03-06 | Vimetx, Inc. | Method for establishing secure communication link between computers of virtual private network |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6449652B1 (en) * | 1999-01-04 | 2002-09-10 | Emc Corporation | Method and apparatus for providing secure access to a computer system resource |
US6883100B1 (en) | 1999-05-10 | 2005-04-19 | Sun Microsystems, Inc. | Method and system for dynamic issuance of group certificates |
US7213262B1 (en) | 1999-05-10 | 2007-05-01 | Sun Microsystems, Inc. | Method and system for proving membership in a nested group using chains of credentials |
US7058817B1 (en) | 1999-07-02 | 2006-06-06 | The Chase Manhattan Bank | System and method for single sign on process for websites with multiple applications and services |
WO2001033477A2 (en) | 1999-11-04 | 2001-05-10 | Jpmorgan Chase Bank | System and method for automated financial project management |
US10275780B1 (en) | 1999-11-24 | 2019-04-30 | Jpmorgan Chase Bank, N.A. | Method and apparatus for sending a rebate via electronic mail over the internet |
US8571975B1 (en) | 1999-11-24 | 2013-10-29 | Jpmorgan Chase Bank, N.A. | System and method for sending money via E-mail over the internet |
US6867789B1 (en) * | 2000-02-15 | 2005-03-15 | Bank One, Delaware, National Association | System and method for generating graphical user interfaces |
US6591265B1 (en) * | 2000-04-03 | 2003-07-08 | International Business Machines Corporation | Dynamic behavior-based access control system and method |
US7058798B1 (en) | 2000-04-11 | 2006-06-06 | Sun Microsystems, Inc. | Method ans system for pro-active credential refreshing |
US6971018B1 (en) * | 2000-04-28 | 2005-11-29 | Microsoft Corporation | File protection service for a computer system |
US7174454B2 (en) | 2002-11-19 | 2007-02-06 | America Online, Inc. | System and method for establishing historical usage-based hardware trust |
WO2001090859A1 (en) * | 2000-05-19 | 2001-11-29 | Netscape Communications Corporation | Adaptive multi-tier authentication system |
US7426530B1 (en) | 2000-06-12 | 2008-09-16 | Jpmorgan Chase Bank, N.A. | System and method for providing customers with seamless entry to a remote server |
US10185936B2 (en) | 2000-06-22 | 2019-01-22 | Jpmorgan Chase Bank, N.A. | Method and system for processing internet payments |
US8341743B2 (en) * | 2000-07-14 | 2012-12-25 | Ca, Inc. | Detection of viral code using emulation of operating system functions |
US8335855B2 (en) | 2001-09-19 | 2012-12-18 | Jpmorgan Chase Bank, N.A. | System and method for portal infrastructure tracking |
US6754889B1 (en) * | 2000-10-04 | 2004-06-22 | Compuware Corporation | Java automation, testing, and analysis |
JP2002182983A (ja) * | 2000-12-13 | 2002-06-28 | Sharp Corp | データベースへのアクセス制御方法、データベース装置、リソースへのアクセス制御方法、情報処理装置 |
US20020099668A1 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Efficient revocation of registration authorities |
JP2002251326A (ja) * | 2001-02-22 | 2002-09-06 | Hitachi Ltd | 耐タンパ計算機システム |
US7020645B2 (en) | 2001-04-19 | 2006-03-28 | Eoriginal, Inc. | Systems and methods for state-less authentication |
US8849716B1 (en) | 2001-04-20 | 2014-09-30 | Jpmorgan Chase Bank, N.A. | System and method for preventing identity theft or misuse by restricting access |
US7689506B2 (en) | 2001-06-07 | 2010-03-30 | Jpmorgan Chase Bank, N.A. | System and method for rapid updating of credit information |
US7266839B2 (en) | 2001-07-12 | 2007-09-04 | J P Morgan Chase Bank | System and method for providing discriminated content to network users |
US20030028813A1 (en) * | 2001-08-02 | 2003-02-06 | Dresser, Inc. | Security for standalone systems running dedicated application |
EP1433037A2 (en) * | 2001-08-06 | 2004-06-30 | Matsushita Electric Industrial Co., Ltd. | License management server, terminal device, license management system and usage restriction control method |
US7103576B2 (en) | 2001-09-21 | 2006-09-05 | First Usa Bank, Na | System for providing cardless payment |
CA2466071C (en) | 2001-11-01 | 2016-04-12 | Bank One, Delaware, N.A. | System and method for establishing or modifying an account with user selectable terms |
JP2003140972A (ja) * | 2001-11-08 | 2003-05-16 | Nec Corp | プログラム実行装置及びプログラム実行方法並びにそれを用いた携帯端末及び情報提供システム |
US7987501B2 (en) | 2001-12-04 | 2011-07-26 | Jpmorgan Chase Bank, N.A. | System and method for single session sign-on |
US7941533B2 (en) | 2002-02-19 | 2011-05-10 | Jpmorgan Chase Bank, N.A. | System and method for single sign-on session management without central server |
KR100450402B1 (ko) * | 2002-04-17 | 2004-09-30 | 한국전자통신연구원 | 컴퓨터 시스템에 있어서 보안속성을 갖는 토큰을 이용한접근 제어방법 |
US6947948B2 (en) * | 2002-04-23 | 2005-09-20 | International Business Machines Corporation | Version-enabled, multi-typed, multi-targeting referential integrity relational database system and methodology |
US6944627B2 (en) * | 2002-04-23 | 2005-09-13 | International Business Machines Corporation | Content management system and methodology employing a tree-based table hierarchy featuring arbitrary information retrieval from different locations in the hierarchy |
US6938050B2 (en) | 2002-04-23 | 2005-08-30 | International Business Machines Corporation | Content management system and methodology employing a tree-based table hierarchy which accomodates opening a dynamically variable number of cursors therefor |
US6999966B2 (en) * | 2002-04-23 | 2006-02-14 | International Business Machines Corporation | Content management system and methodology for implementing a complex object using nested/recursive structures |
US7035854B2 (en) * | 2002-04-23 | 2006-04-25 | International Business Machines Corporation | Content management system and methodology employing non-transferable access tokens to control data access |
US6950815B2 (en) * | 2002-04-23 | 2005-09-27 | International Business Machines Corporation | Content management system and methodology featuring query conversion capability for efficient searching |
US7082455B2 (en) * | 2002-04-23 | 2006-07-25 | International Business Machines Corporation | Method and apparatus of parameter passing of structured data for stored procedures in a content management system |
US20030236975A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | System and method for improved electronic security credentials |
US20040003287A1 (en) * | 2002-06-28 | 2004-01-01 | Zissimopoulos Vasileios Bill | Method for authenticating kerberos users from common web browsers |
US7770212B2 (en) | 2002-08-15 | 2010-08-03 | Activcard | System and method for privilege delegation and control |
US20040059939A1 (en) * | 2002-09-13 | 2004-03-25 | Sun Microsystems, Inc., A Delaware Corporation | Controlled delivery of digital content in a system for digital content access control |
US7363651B2 (en) * | 2002-09-13 | 2008-04-22 | Sun Microsystems, Inc. | System for digital content access control |
US7512972B2 (en) * | 2002-09-13 | 2009-03-31 | Sun Microsystems, Inc. | Synchronizing for digital content access control |
US7913312B2 (en) * | 2002-09-13 | 2011-03-22 | Oracle America, Inc. | Embedded content requests in a rights locker system for digital content access control |
US7240365B2 (en) * | 2002-09-13 | 2007-07-03 | Sun Microsystems, Inc. | Repositing for digital content access control |
US20040059913A1 (en) * | 2002-09-13 | 2004-03-25 | Sun Microsystems, Inc., A Delaware Corporation | Accessing for controlled delivery of digital content in a system for digital content access control |
US20040064719A1 (en) * | 2002-09-13 | 2004-04-01 | Sun Microsystems, Inc., A Delaware Corporation | Accessing for digital content access control |
US7380280B2 (en) * | 2002-09-13 | 2008-05-27 | Sun Microsystems, Inc. | Rights locker for digital content access control |
US20040054629A1 (en) * | 2002-09-13 | 2004-03-18 | Sun Microsystems, Inc., A Delaware Corporation | Provisioning for digital content access control |
US7398557B2 (en) * | 2002-09-13 | 2008-07-08 | Sun Microsystems, Inc. | Accessing in a rights locker system for digital content access control |
US20040083370A1 (en) * | 2002-09-13 | 2004-04-29 | Sun Microsystems, Inc., A Delaware Corporation | Rights maintenance in a rights locker system for digital content access control |
US7058660B2 (en) | 2002-10-02 | 2006-06-06 | Bank One Corporation | System and method for network-based project management |
US7526798B2 (en) | 2002-10-31 | 2009-04-28 | International Business Machines Corporation | System and method for credential delegation using identity assertion |
US8301493B2 (en) | 2002-11-05 | 2012-10-30 | Jpmorgan Chase Bank, N.A. | System and method for providing incentives to consumers to share information |
US20040122849A1 (en) * | 2002-12-24 | 2004-06-24 | International Business Machines Corporation | Assignment of documents to a user domain |
US7392246B2 (en) * | 2003-02-14 | 2008-06-24 | International Business Machines Corporation | Method for implementing access control for queries to a content management system |
US20040167989A1 (en) * | 2003-02-25 | 2004-08-26 | Jeff Kline | Method and system for creating and managing a website |
GB0311537D0 (en) * | 2003-05-20 | 2003-06-25 | Safa John | Controlling write access of an application to a storage medium |
US7343628B2 (en) * | 2003-05-28 | 2008-03-11 | Sap Ag | Authorization data model |
US8214884B2 (en) * | 2003-06-27 | 2012-07-03 | Attachmate Corporation | Computer-based dynamic secure non-cached delivery of security credentials such as digitally signed certificates or keys |
US20050080897A1 (en) * | 2003-09-29 | 2005-04-14 | Capital One Financial Corporation | Remote management utility |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
US20050091535A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Application identity for software products |
US8190893B2 (en) | 2003-10-27 | 2012-05-29 | Jp Morgan Chase Bank | Portable security transaction protocol |
US7721329B2 (en) | 2003-11-18 | 2010-05-18 | Aol Inc. | Method and apparatus for trust-based, fine-grained rate limiting of network requests |
US20050119902A1 (en) * | 2003-11-28 | 2005-06-02 | Christiansen David L. | Security descriptor verifier |
US7467386B2 (en) * | 2004-01-16 | 2008-12-16 | International Business Machines Corporation | Parameter passing of data structures where API and corresponding stored procedure are different versions/releases |
US7908663B2 (en) * | 2004-04-20 | 2011-03-15 | Microsoft Corporation | Abstractions and automation for enhanced sharing and collaboration |
US7587594B1 (en) | 2004-08-30 | 2009-09-08 | Microsoft Corporation | Dynamic out-of-process software components isolation for trustworthiness execution |
US20060193467A1 (en) * | 2005-02-16 | 2006-08-31 | Joseph Levin | Access control in a computer system |
US8631476B2 (en) * | 2005-03-31 | 2014-01-14 | Sap Ag | Data processing system including explicit and generic grants of action authorization |
US7665098B2 (en) * | 2005-04-29 | 2010-02-16 | Microsoft Corporation | System and method for monitoring interactions between application programs and data stores |
US20060265262A1 (en) * | 2005-05-18 | 2006-11-23 | Microsoft Corporation | Distributed conference scheduling |
US20060282830A1 (en) * | 2005-06-13 | 2006-12-14 | Microsoft Corporation | Analysis of the impact of application programs on resources stored in data stores |
US8185877B1 (en) | 2005-06-22 | 2012-05-22 | Jpmorgan Chase Bank, N.A. | System and method for testing applications |
US7620995B2 (en) * | 2005-06-30 | 2009-11-17 | Microsoft Corporation | Identifying dependencies of an application upon a given security context |
US7779480B2 (en) * | 2005-06-30 | 2010-08-17 | Microsoft Corporation | Identifying dependencies of an application upon a given security context |
US7784101B2 (en) * | 2005-06-30 | 2010-08-24 | Microsoft Corporation | Identifying dependencies of an application upon a given security context |
US7636851B2 (en) * | 2005-06-30 | 2009-12-22 | Microsoft Corporation | Providing user on computer operating system with full privileges token and limited privileges token |
US8320880B2 (en) * | 2005-07-20 | 2012-11-27 | Qualcomm Incorporated | Apparatus and methods for secure architectures in wireless networks |
US7580933B2 (en) * | 2005-07-28 | 2009-08-25 | Microsoft Corporation | Resource handling for taking permissions |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US8006088B2 (en) | 2005-08-18 | 2011-08-23 | Beyondtrust Corporation | Methods and systems for network-based management of application security |
US8583926B1 (en) | 2005-09-19 | 2013-11-12 | Jpmorgan Chase Bank, N.A. | System and method for anti-phishing authentication |
US20070199057A1 (en) * | 2005-10-14 | 2007-08-23 | Softwareonline, Llc | Control of application access to system resources |
US20070199072A1 (en) * | 2005-10-14 | 2007-08-23 | Softwareonline, Llc | Control of application access to system resources |
WO2008048320A1 (en) | 2005-10-14 | 2008-04-24 | Xeriton Corporation | Control of application access to system resources |
US9600661B2 (en) * | 2005-12-01 | 2017-03-21 | Drive Sentry Limited | System and method to secure a computer system by selective control of write access to a data storage medium |
US10503418B2 (en) | 2005-12-01 | 2019-12-10 | Drive Sentry Limited | System and method to secure a computer system by selective control of write access to a data storage medium |
US20100153671A1 (en) * | 2005-12-01 | 2010-06-17 | Drive Sentry Inc. | System and method to secure a computer system by selective control of write access to a data storage medium |
US7664924B2 (en) * | 2005-12-01 | 2010-02-16 | Drive Sentry, Inc. | System and method to secure a computer system by selective control of write access to a data storage medium |
US7525425B2 (en) * | 2006-01-20 | 2009-04-28 | Perdiem Llc | System and method for defining an event based on relationship between an object location and a user-defined zone |
US8490093B2 (en) | 2006-02-03 | 2013-07-16 | Microsoft Corporation | Managed control of processes including privilege escalation |
US20080040363A1 (en) * | 2006-07-13 | 2008-02-14 | Siemens Medical Solutions Usa, Inc. | System for Processing Relational Database Data |
US8793490B1 (en) | 2006-07-14 | 2014-07-29 | Jpmorgan Chase Bank, N.A. | Systems and methods for multifactor authentication |
WO2008063185A1 (en) | 2006-10-14 | 2008-05-29 | Xeriton Corporation | Control of application access to system resources |
US20080184330A1 (en) * | 2007-01-25 | 2008-07-31 | Lal Rakesh M | Levels of access to medical diagnostic features based on user login |
US8473735B1 (en) | 2007-05-17 | 2013-06-25 | Jpmorgan Chase | Systems and methods for managing digital certificates |
JP4912225B2 (ja) | 2007-06-12 | 2012-04-11 | キヤノン株式会社 | 情報処理方法及びプログラム |
US7386885B1 (en) | 2007-07-03 | 2008-06-10 | Kaspersky Lab, Zao | Constraint-based and attribute-based security system for controlling software component interaction |
KR101456489B1 (ko) * | 2007-07-23 | 2014-10-31 | 삼성전자주식회사 | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 |
US8332922B2 (en) * | 2007-08-31 | 2012-12-11 | Microsoft Corporation | Transferable restricted security tokens |
US8245289B2 (en) | 2007-11-09 | 2012-08-14 | International Business Machines Corporation | Methods and systems for preventing security breaches |
US8650616B2 (en) * | 2007-12-18 | 2014-02-11 | Oracle International Corporation | User definable policy for graduated authentication based on the partial orderings of principals |
US8321682B1 (en) | 2008-01-24 | 2012-11-27 | Jpmorgan Chase Bank, N.A. | System and method for generating and managing administrator passwords |
US20100106963A1 (en) * | 2008-04-22 | 2010-04-29 | Barclays Capital Inc. | System and method for secure remote computer task automation |
US20100036845A1 (en) * | 2008-08-07 | 2010-02-11 | Research In Motion Limited | System and Method for Negotiating the Access Control List of Data Items in an Ad-Hoc Network with Designated Owner Override Ability |
US9882769B2 (en) * | 2008-08-08 | 2018-01-30 | Blackberry Limited | System and method for registration of an agent to process management object updates |
US8429741B2 (en) * | 2008-08-29 | 2013-04-23 | Google, Inc. | Altered token sandboxing |
US8234693B2 (en) * | 2008-12-05 | 2012-07-31 | Raytheon Company | Secure document management |
US8544083B2 (en) * | 2009-02-19 | 2013-09-24 | Microsoft Corporation | Identification security elevation |
US8555378B2 (en) * | 2009-03-11 | 2013-10-08 | Sas Institute Inc. | Authorization caching in a multithreaded object server |
US8850549B2 (en) * | 2009-05-01 | 2014-09-30 | Beyondtrust Software, Inc. | Methods and systems for controlling access to resources and privileges per process |
US9608826B2 (en) | 2009-06-29 | 2017-03-28 | Jpmorgan Chase Bank, N.A. | System and method for partner key management |
US8589264B2 (en) * | 2009-10-19 | 2013-11-19 | International Business Machines Corporation | Token licensing mapping costs to enabled software tool features |
US8996866B2 (en) * | 2009-12-22 | 2015-03-31 | Microsoft Technology Licensing, Llc | Unobtrusive assurance of authentic user intent |
US8782429B2 (en) * | 2009-12-23 | 2014-07-15 | Ab Initio Technology Llc | Securing execution of computational resources |
US8621647B1 (en) * | 2010-01-11 | 2013-12-31 | Google Inc. | Restricting privileges of first privileged process in operating system using second privileged process |
JP5702953B2 (ja) * | 2010-06-09 | 2015-04-15 | キヤノン株式会社 | 情報処理装置及びアプリケーションの実行方法とプログラム |
US8572714B2 (en) | 2011-08-15 | 2013-10-29 | Bank Of America Corporation | Apparatus and method for determining subject assurance level |
US8726340B2 (en) * | 2011-08-15 | 2014-05-13 | Bank Of America Corporation | Apparatus and method for expert decisioning |
US8584202B2 (en) | 2011-08-15 | 2013-11-12 | Bank Of America Corporation | Apparatus and method for determining environment integrity levels |
US8539558B2 (en) * | 2011-08-15 | 2013-09-17 | Bank Of America Corporation | Method and apparatus for token-based token termination |
US8950002B2 (en) * | 2011-08-15 | 2015-02-03 | Bank Of America Corporation | Method and apparatus for token-based access of related resources |
US8789143B2 (en) | 2011-08-15 | 2014-07-22 | Bank Of America Corporation | Method and apparatus for token-based conditioning |
US8806602B2 (en) | 2011-08-15 | 2014-08-12 | Bank Of America Corporation | Apparatus and method for performing end-to-end encryption |
US8726341B2 (en) | 2011-08-15 | 2014-05-13 | Bank Of America Corporation | Apparatus and method for determining resource trust levels |
US8572689B2 (en) | 2011-08-15 | 2013-10-29 | Bank Of America Corporation | Apparatus and method for making access decision using exceptions |
US8458781B2 (en) | 2011-08-15 | 2013-06-04 | Bank Of America Corporation | Method and apparatus for token-based attribute aggregation |
US8789162B2 (en) | 2011-08-15 | 2014-07-22 | Bank Of America Corporation | Method and apparatus for making token-based access decisions |
US8752124B2 (en) | 2011-08-15 | 2014-06-10 | Bank Of America Corporation | Apparatus and method for performing real-time authentication using subject token combinations |
WO2013025590A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and apparatus for making token-based access decisions |
US8910290B2 (en) | 2011-08-15 | 2014-12-09 | Bank Of America Corporation | Method and apparatus for token-based transaction tagging |
US8572683B2 (en) * | 2011-08-15 | 2013-10-29 | Bank Of America Corporation | Method and apparatus for token-based re-authentication |
WO2013025592A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and apparatus for token-based conditioning |
GB2494391B (en) * | 2011-09-02 | 2014-06-18 | Avecto Ltd | Computer device with anti-tamper resource security |
US8689324B2 (en) * | 2012-04-04 | 2014-04-01 | Sas Institute, Inc. | Techniques to explain authorization origins for protected resource objects in a resource object domain |
US8826390B1 (en) | 2012-05-09 | 2014-09-02 | Google Inc. | Sharing and access control |
US8844026B2 (en) * | 2012-06-01 | 2014-09-23 | Blackberry Limited | System and method for controlling access to secure resources |
US9419957B1 (en) | 2013-03-15 | 2016-08-16 | Jpmorgan Chase Bank, N.A. | Confidence-based authentication |
US9213820B2 (en) | 2013-09-10 | 2015-12-15 | Ebay Inc. | Mobile authentication using a wearable device |
US10148726B1 (en) | 2014-01-24 | 2018-12-04 | Jpmorgan Chase Bank, N.A. | Initiating operating system commands based on browser cookies |
US11100242B2 (en) * | 2014-05-30 | 2021-08-24 | Apple Inc. | Restricted resource classes of an operating system |
WO2016014079A1 (en) * | 2014-07-25 | 2016-01-28 | Hewlett-Packard Development Company, L.P. | Constraining authorization tokens via filtering |
JP6285853B2 (ja) * | 2014-12-05 | 2018-02-28 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および情報処理方法 |
US9785783B2 (en) * | 2015-07-23 | 2017-10-10 | Ca, Inc. | Executing privileged code in a process |
US10104084B2 (en) * | 2015-07-30 | 2018-10-16 | Cisco Technology, Inc. | Token scope reduction |
US10402564B2 (en) * | 2016-08-16 | 2019-09-03 | Nec Corporation | Fine-grained analysis and prevention of invalid privilege transitions |
US10505962B2 (en) * | 2016-08-16 | 2019-12-10 | Nec Corporation | Blackbox program privilege flow analysis with inferred program behavior context |
US10120786B2 (en) * | 2016-12-13 | 2018-11-06 | Sap Se | Programmatic access control validation |
US10977361B2 (en) | 2017-05-16 | 2021-04-13 | Beyondtrust Software, Inc. | Systems and methods for controlling privileged operations |
US11165776B2 (en) * | 2018-08-28 | 2021-11-02 | International Business Machines Corporation | Methods and systems for managing access to computing system resources |
US11201871B2 (en) * | 2018-12-19 | 2021-12-14 | Uber Technologies, Inc. | Dynamically adjusting access policies |
US11328054B2 (en) * | 2018-12-21 | 2022-05-10 | Netiq Corporation | Preventing access to single sign on credentials associated with executing applications |
US11528149B2 (en) | 2019-04-26 | 2022-12-13 | Beyondtrust Software, Inc. | Root-level application selective configuration |
US11916918B2 (en) * | 2020-04-14 | 2024-02-27 | Salesforce, Inc. | System mode override during flow execution |
US11620394B2 (en) * | 2020-12-22 | 2023-04-04 | International Business Machines Corporation | Allocating multiple database access tokens to a single user |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4962449A (en) | 1988-04-11 | 1990-10-09 | Artie Schlesinger | Computer security system having remote location recognition and remote location lock-out |
DE69031191T2 (de) | 1989-05-15 | 1998-02-12 | Ibm | System zur Steuerung von Zugriffsprivilegien |
US5187790A (en) | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
US5138712A (en) * | 1989-10-02 | 1992-08-11 | Sun Microsystems, Inc. | Apparatus and method for licensing software on a network of computers |
US5204961A (en) | 1990-06-25 | 1993-04-20 | Digital Equipment Corporation | Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols |
US5577209A (en) | 1991-07-11 | 1996-11-19 | Itt Corporation | Apparatus and method for providing multi-level security for communication among computers and terminals on a network |
US5276901A (en) * | 1991-12-16 | 1994-01-04 | International Business Machines Corporation | System for controlling group access to objects using group access control folder and group identification as individual user |
CA2093094C (en) | 1992-04-06 | 2000-07-11 | Addison M. Fischer | Method and apparatus for creating, supporting, and using travelling programs |
US5412717A (en) | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
JP2519390B2 (ja) * | 1992-09-11 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ通信方法及び装置 |
US5649099A (en) | 1993-06-04 | 1997-07-15 | Xerox Corporation | Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security |
DE69510551T2 (de) | 1994-08-09 | 2000-03-02 | Shiva Corp | Vorrichtung und verfahren zur begrenzung des zugriffs auf ein lokales rechnernetz |
DE69427347T2 (de) | 1994-08-15 | 2001-10-31 | International Business Machines Corp., Armonk | Verfahren und System zur verbesserten Zugriffssteuerung auf Basis der Rollen in verteilten und zentralisierten Rechnersystemen |
US5864683A (en) | 1994-10-12 | 1999-01-26 | Secure Computing Corporartion | System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights |
US5682478A (en) | 1995-01-19 | 1997-10-28 | Microsoft Corporation | Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server |
US5675782A (en) * | 1995-06-06 | 1997-10-07 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5678041A (en) * | 1995-06-06 | 1997-10-14 | At&T | System and method for restricting user access rights on the internet based on rating information stored in a relational database |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5696898A (en) | 1995-06-06 | 1997-12-09 | Lucent Technologies Inc. | System and method for database access control |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US5757916A (en) | 1995-10-06 | 1998-05-26 | International Series Research, Inc. | Method and apparatus for authenticating the location of remote users of networked computing systems |
US5638448A (en) | 1995-10-24 | 1997-06-10 | Nguyen; Minhtam C. | Network with secure communications sessions |
US5680461A (en) | 1995-10-26 | 1997-10-21 | Sun Microsystems, Inc. | Secure network protocol system and method |
US5826029A (en) * | 1995-10-31 | 1998-10-20 | International Business Machines Corporation | Secured gateway interface |
US5745676A (en) * | 1995-12-04 | 1998-04-28 | International Business Machines Corporation | Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage |
JPH09190236A (ja) | 1996-01-10 | 1997-07-22 | Canon Inc | 情報処理方法及び装置及びシステム |
AU1829897A (en) | 1996-01-16 | 1997-08-11 | Raptor Systems, Inc. | Transferring encrypted packets over a public network |
US5925109A (en) * | 1996-04-10 | 1999-07-20 | National Instruments Corporation | System for I/O management where I/O operations are determined to be direct or indirect based on hardware coupling manners and/or program privilege modes |
TW313642B (en) | 1996-06-11 | 1997-08-21 | Ibm | A uniform mechanism for using signed content |
US5845067A (en) | 1996-09-09 | 1998-12-01 | Porter; Jack Edward | Method and apparatus for document management utilizing a messaging system |
US5983350A (en) | 1996-09-18 | 1999-11-09 | Secure Computing Corporation | Secure firewall supporting different levels of authentication based on address or encryption status |
US5949882A (en) * | 1996-12-13 | 1999-09-07 | Compaq Computer Corporation | Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm |
US6105132A (en) | 1997-02-20 | 2000-08-15 | Novell, Inc. | Computer network graded authentication system and method |
US5983270A (en) | 1997-03-11 | 1999-11-09 | Sequel Technology Corporation | Method and apparatus for managing internetwork and intranetwork activity |
US6081807A (en) * | 1997-06-13 | 2000-06-27 | Compaq Computer Corporation | Method and apparatus for interfacing with a stateless network file system server |
-
1998
- 1998-06-12 US US09/096,679 patent/US6308274B1/en not_active Expired - Lifetime
-
1999
- 1999-06-09 WO PCT/US1999/012914 patent/WO1999064947A1/en active Application Filing
- 1999-06-09 AT AT99955548T patent/ATE511671T1/de not_active IP Right Cessation
- 1999-06-09 JP JP2000553884A patent/JP4414092B2/ja not_active Expired - Fee Related
- 1999-06-09 EP EP99955548A patent/EP1086414B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1086414A1 (en) | 2001-03-28 |
US6308274B1 (en) | 2001-10-23 |
WO1999064947A1 (en) | 1999-12-16 |
JP2002517853A (ja) | 2002-06-18 |
ATE511671T1 (de) | 2011-06-15 |
EP1086414B1 (en) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4414092B2 (ja) | 制限付きトークンを介した最小権限 | |
JP4809530B2 (ja) | 制限付きのトークンを使用したセキュリティモデル | |
JP4906188B2 (ja) | 信頼できないコンテントを安全に実行するための方法およびシステム | |
US7350204B2 (en) | Policies for secure software execution | |
JP4625181B2 (ja) | セキュリティ・ロケーション識別の方法およびシステム | |
US8181219B2 (en) | Access authorization having embedded policies | |
US8701200B2 (en) | Analyzing access control configurations | |
US7246374B1 (en) | Enhancing computer system security via multiple user desktops | |
US7200869B1 (en) | System and method for protecting domain data against unauthorized modification | |
US8850549B2 (en) | Methods and systems for controlling access to resources and privileges per process | |
US8646044B2 (en) | Mandatory integrity control | |
US20070156691A1 (en) | Management of user access to objects | |
US20090282457A1 (en) | Common representation for different protection architectures (crpa) | |
JP2011526387A (ja) | コンピューティングプロセスのための最小特権アクセスの付与 | |
US20210357518A1 (en) | Control of access to hierarchical nodes | |
Estor et al. | Mandatory Access Control & SELinux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060609 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060609 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090916 |
|
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: 20091020 |
|
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: 20091119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131127 Year of fee payment: 4 |
|
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 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |