JP3756397B2 - ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM - Google Patents

ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP3756397B2
JP3756397B2 JP2000337888A JP2000337888A JP3756397B2 JP 3756397 B2 JP3756397 B2 JP 3756397B2 JP 2000337888 A JP2000337888 A JP 2000337888A JP 2000337888 A JP2000337888 A JP 2000337888A JP 3756397 B2 JP3756397 B2 JP 3756397B2
Authority
JP
Japan
Prior art keywords
capability
access
list
subject
access control
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
JP2000337888A
Other languages
Japanese (ja)
Other versions
JP2002149494A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000337888A priority Critical patent/JP3756397B2/en
Publication of JP2002149494A publication Critical patent/JP2002149494A/en
Application granted granted Critical
Publication of JP3756397B2 publication Critical patent/JP3756397B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムに関し、特にコンピュータシステムにおいてアクセス制御によってコンピュータシステム中の資源を保護し、コンピュータシステム中の資源へのアクセスを正確に制御する方法に関する。
【0002】
【従来の技術】
コンピュータ技術および通信技術の進展に伴い、ますます多くのコンピュータがネットワークを介して接続されるようになり、組織やコミュニティに閉じていたコンピュータネットワークが、全地球的なネットワークへと変化してきている。しかしながら、セキュリティ面での考慮がなされていない中での普及となっており、コンピュータシステム中の情報の無許可アクセスや無許可の書き換え、コンピュータシステム上で提供されるサービスの妨害など、セキュリティ上の問題が多発している。
【0003】
今日、コンピュータネットワーク上の大半のコンピュータは、UNIX、その互換オペレーティングシステム、もしくは、UNIXから多大な影響を受けたオペレーティングシステムで運用されている。前記のセキュリティ上の問題が多発している原因はこれらのオペレーティングシステムがアクセス制御の観点からは大きな問題を抱えていることにある。
【0004】
【発明が解決しようとする課題】
問題の第1は、単一の特権利用者(スーパユーザ)権限によってシステムを保護している点にある。スーパユーザ権限があれば、オペレーティングシステムで提供されるすべての資源が制御可能となり、読み取りや書き込みの禁止が設定された資源でも、物理的に不可能でない限り、その設定を解除し、読み取りや書き込みが可能である。このため、システム上に多数存在するスーパユーザ権限で動作するプログラムが乗っ取られると、システムに関する全ての権限を奪取されてしまう。
【0005】
問題の第2は、認証がシステムへのログイン時に利用者についてのみ行われる点にある。プログラムを格納したファイルや実行中のプログラムを認証する機構がないため、何らかの手段でプログラムが置き換えられても発覚が遅れる危険性がある。
【0006】
問題の第3は、システムに登録されていない利用者に対するアクセス制御が行えない点にある。このため、情報提供サービスプログラムなどでは、情報に対するアクセス制御を行うためのコードがアプリケーションプログラムに組み込まれている。
【0007】
しかし、このようなアプリケーションプログラムが独自に行うアクセス制御についてはオペレーティングシステムが提供する保護機構を利用できないため、プログラム上の不具合による不正な情報アクセスの危険性は高まってしまう。また、アプリケーションごとにアクセス制御が提供されるため、アプリケーションごとにその設定方法が異なり、システム全体を統一して管理運用を行うことが困難となっている。
【0008】
問題の第4は、全てのプログラムが可能な限りの最大の権限で動作する点にある。このため本来は特定のファイルのみをアクセスするように設計されたプログラムでも、想定外のファイルをアクセスすることが常に可能な状態にあり、情報の不正な漏洩や書き換えがいつでも発生し得る。また、不正なプログラムがシステムにインストールされた場合には、そのプログラムを実行した利用者の最大の権限でそのプログラムが動作するため、前記と同様の状況が発生し得る。中間コードをインタプリタプログラム上で実行させる場合や、単にデータをデータ処理プログラムで処理する場合でも、インタプリタプログラムやデータ処理プログラム自体に不具合があり得るため、これらのプログラムが本来アクセスする資源以外へのアクセスを制限しなければ、同様の問題が発生する。
【0009】
アクセス制御に関する公知の技術としては、Mamoru Maekawa,Arthur E.01dehoeft,Rodney R.0ldehoeft著,1987年 The Benjamin/Cummings Publishing Company,Inc.刊,“Operating System Advanced Concepts”(前川守監訳、1990年丸善株式会社刊,「オペレーティングシステムの先進的概念」)、第8章コンピュータセキュリティに関する箇所,および,Dorothy E.R.Denning著,1982年 Addison-Wesley Publishing Company,Inc.刊“Cryptography and Data Security”(上園忠弘他訳、1988年株式会社培風館刊,「暗号とデータセキュリティ」)、第4章アクセス制御に関する箇所にまとめられている。
【0010】
これらの文献では、コンピュータシステムによって提供される対象物へ、誰がアクセスしようとしているか、に基づいてアクセスを制御する方法として、アクセス行列モデルが示されている。
【0011】
前記アクセス行列モデルは、アクセス制御の対象となる物(オブジェクト)の集合0、オブジェクトヘアクセスする主体となる能動的な物(サブジェクト)の集合S、そして、サブジェクトからなる「行」とオブジェクトからなる「列」の組合せでできるアクセス行列Aから構成される。アクセス行列Aの要素A[s,o]はサブジェクトsのオブジェクトoに対するアクセス権を表す。アクセス権とはオブジェクトに対して許可されているアクセス種別のことである。
【0012】
コンピュータシステムにおいては、通例、オブジェクトにはファイル、メモリ領域、プロセスが含まれ、サブジェクトにはユーザ、プロセス、ドメインが含まれ、アクセス種別には読み取り、書き込み、実行が含まれる。ドメインとはプロセスが実行される保護環境のことである。このモデルでは、サブジェクトsからオブジェクトoへのアクセスが要求されたとき、アクセス権A[s,o]を検索し、アクセス種別に対するアクセス権の設定によって、当該アクセスが常に許可されるか、あるいは常に許可されないかである。このアクセス行列モデルは、サブジェクト、オブジェクト、および、アクセス行列の全てが信頼できる場合に正しく働く。
【0013】
前記アクセス行列は、一般には疎な行列であり、行列をそのまま実現するのは現実的ではない。前記文献には、実現方法として、三つ組表、ケーパビリティリスト、アクセスリスト、錠/鍵システムが示されている。
【0014】
三つ組表は、Aの空でない要素を(s,o,A[s,o])の形の表で管理する。
【0015】
ケーパビリティリストは、サブジェクトsがアクセスできるオブジェクトとそのアクセス権を(0,A[s,o])の形でサブジェクトごとに管理する。(o,A[s,o])の値はケーパビリティと呼ばれ、別のサブジェクトにケーパビリティの複製を譲渡することで、アクセス権を譲渡することが可能となっている。
【0016】
アクセスリストは、オブジェクトoをアクセスできるサブジェクトとそのアクセス権を(s,A[s,o])の形でオブジェクトごとに管理する。
【0017】
UNIXをはじめとする多くのオペレーティングシステムでは、退化させたアクセスリストによるアクセス制御を採用している。UNIXにおける個々のファイルは3つの要素からなるアクセスリストを持っている。第1はファイル所有者のアクセス権、第2は所有者のグループのすべてのユーザに対するアクセス権、第3はその他のすべてのユーザに対するアクセス権を記述している。アクセス権には読み取り(r)、書き込み(w)、実行(x)が含まれる。
【0018】
錠/鍵システムは、オブジェクトoにおいて錠L[i]とオブジェクトoに対するアクセス権r[i]のリスト(L[1]、r[1]),(L[2],r[2]),…を管理し、サブジェクトsがオブジェクトoに対するアクセス権r[i]をもつ場合、すなわちA[s,o]=r[i]のときに、錠L[i]に対する鍵K[i]をsに与える。サブジェクトは鍵を(o,K)の形で管理する。
【0019】
いずれの方法も、当該アクセスが常に許可されるか、あるいは常に許可されないかであり、サブジェクト、オブジェクト、および、アクセス制御のためのデータ(三つ組表、ケーパビリティリスト、アクセスリスト、錠リスト/鍵リスト)が信頼できる場合に正しく働く。
【0020】
アクセス制御に関する別の公知の概念としては、Discretionary Access Control(DAC),Mandatory Access Control(MAC),Role-based Access Control(RBAC)がある。
【0021】
DACは、サブジェクトもしくはサブジェクトが属するグループごとにオブジェクトへのアクセスを制御するもので、システム上の各利用者が自身の所有するオブジェクトに対するアクセス制御の設定を行うことができる。これは前記アクセス制御リストによって実現される。
【0022】
MACは、システム上の全てのアクセスを強制的に制御するもので、全てのサブジェクトと全てのオブジェクトには階層的な機密分類(例えば、無分類、秘密、極秘、機密等)と非階層的なカテゴリ(例えば、営業、研究開発、人事、経営等)の組合せによってあらわされる感度ラベル(MACラベルと呼ばれる)が付与され、サブジェクトとオブジェクトのMACラベルに基づいてアクセス制御を行う。サブジェクトのMACラベルの機密分類がオブジェクトのMACラベルの機密分類と等しいかそれ以上、かつ、サブジェクトのMACラベルのカテゴリがオブジェクトのMACラベルのカテゴリの全てを含むとき、サブジェクトはオブジェクトを読み出すことができる(リードダウン)。
【0023】
また、サブジェクトのMACラベルの機密分類がオブジェクトのMACラベルの機密分類と等しいかそれ以下、かつ、サブジェクトのMACラベルのカテゴリの全てがオブジェクトのMACラベルのカテゴリに含まれるとき、サブジェクトはオブジェクトに書き込むことができる(ライトアップ)。一般に、MACは単体で用いられることはなく、DACと併用される。
【0024】
RBACは、複雑なアクセス制御ポリシをより簡単に記述するためのもので、サブジェクトごとに役割(role)を割り当て、役割ごとにアクセス権を割り当てることで、アクセス制御を行う。サブジェクトはサブジェクトに割り当てられた役割の持つアクセス権を持つ、役割は包含関係を持たせることも可能である。アクセス制御そのものは、前記アクセス制御リストによって実現される。
【0025】
前記のアクセス制御に関する問題の第1は、スーパユーザ権限を廃し、システム管理に関する権限を複数の権限に分散するといった実装上の工夫で、ある程度の効果は期待できる。しかし、一般に、少数の管理者によって管理されているコンピュータシステムがほとんどであり、単に複数の権限に分散しても、その効果には限界がある。例えば、信頼のできる回線を経由してシステムにログインしているか否か、システム管理者が正しいログイン手続きでシステムにログインしているか否か、不正に置き換えられたプログラムからシステムを制御しようとしていないかどうか、などの実行コンテキストを活用しなければ、システム管理者の権限を順次奪取し、最終的にシステムに関する全ての権限を奪取される危険性がある。実行コンテキストの活用は公知の技術には含まれない。
【0026】
前記のアクセス制御に関する問題の第2については、定期的にファイルシステムやメモリ領域を走査し、別に安全に保管されたチェックサム等によって検査する手法が公知の技術として用いられている。しかし、検査プログラムの置き換え、走査間隔にかからない置き換え、ログファイルや一時的ファイルの格納領域の存在など、プログラムやファイルの置き換えが発覚しないこともあり得る。
【0027】
前記のアクセス制御に関する問題の第3は、公知の技術である前記アクセス行列モデルやMACでは解決できない。なぜなら、アクセス行列モデルでは、サブジェクト、オブジェクト、および、アクセス行列の全てが信頼できる場合にのみ正しく働き、システム管理者以外がサブジェクトの集合Sに自由にサブジェクトを登録したり、アクセス種別を自由に追加することは許されないからである。MACについても同様である。
【0028】
前記のアクセス制御に関する問題の第4について、退化させた形ではないアクセスリストやケーパビリティリストによって解決するためには、サブジェクトやオブジェクトを詳細に分類し、それによってアクセスリストの設定や、ケーパビリティリストの設定およびケーパビリティの譲渡の制御を行う必要がある。例えば、利用者uがプログラムpを動作させる場合には、A[u,o]とA[p,o]を管理するだけではなく、A[u∧p,o]をも管理する必要がある。このため、アクセスを許す全ての組合せについてアクセス制御の設定を行うためには、膨大な記述が必要となり、現実的ではない。
【0029】
また、サブジェクトやアクセス種別をシステム管理者以外が自由に追加することは許されないため、任意のサブジェクトに対して、権限を制限することが難しくなっている。MACを併用したとしても、不正なプログラムがシステムにインストールされることを防止することはできず、想定外のファイルがアクセスされ得ることにかわりはない。このため、アプリケーションやデータが信頼できない局面を積極的には取り扱うことができない。
【0030】
特開平9−319659号公報に開示されている技術では、MAC領域を重複しない領域に分割することで、前記問題の第4をMACを利用して解決するものである。しかし、前記問題の第1、第3を解決するものではない。
【0031】
米国特許5、864、683は、システム内に完全に分離された保護ドメインを置き、その保護ドメイン内にあるサブジェクトからアクセス可能なオブジェクトの集合を定義することで、前記問題の第1と第4を解決するものである。しかし、前記問題の第2、第3を解決するものではない。
【0032】
本発明は、このような背景に行なわれたものであって、コンピュータシステムにおけるアクセス制御おいて、アクセス対象であるオブジェクトおよびアクセス主体であるサブジェクトを詳細に分類し、その分類に基づいて特有の制限を強制的に加えることを可能とするアクセス制御方法およびアクセス制御装置を提供することを目的とする。本発明は、単一の特権利用者を排除し、プログラムの乗っ取りによる被害を最小限にとどめ、もしくは、プログラムの乗っ取りを排除し、システム全体で統一したアクセス制御を提供することでコンピュータシステムのセキュリティを高めることができるアクセス制御方法およびアクセス制御装置を提供することを目的とする。
【0033】
【課題を解決するための手段】
本発明の方法は、アクセス主体であるサブジェクトはサブジェクトの権限をあらわすケーパビリティリストを保持し、アクセス対象であるオブジェクトはオブジェクトのアクセスを許可するために必要なケーパビリティの条件をあらわすアクセス制御リストを保持し、ケーパビリティリスト中のケーパビリティの少なくとも1つが、アクセス制御リスト中のアクセス許可に必要なケーパビリティの条件の少なくとも1つを満たすとき、オブジェクトヘのアクセスが許可され、オブジェクトヘのアクセスが許可された場合に、オブジェクトごとに定義されたケーパビリティ強制の指定に基づいて、サブジェクトが持つケーパビリティを強制的に変更することで、サブジェクトからアクセス可能な権限の範囲を制限することを含む。
【0034】
本発明によれば、サブジェクトは、サブジェクト自体が保持するケーパビリティを廃棄することと、ケーパビリティの権限を弱めることのみが可能であるため、サブジェクトはアクセスしようとしているオブジェクトによって強制されたケーパビリティを利用せざるを得ない。サブジェクトの権限は、アクセスしたオブジェクトによって制限を受けて動的に変化し、オブジェクトごとにアクセス可能な範囲を制限することができる。
【0035】
加えて、ケーパビリティとして、属性(属性名と属性値との組)の可変長リストを用い、ケーパビリティ強制の指定として、アクセス権の削除の指定と、属性の追加もしくは上書きの指定を用いる。これによって、ケーパビリティ強制は属性リストの操作に置き換えられ、属性リストを観察することで、サブジェクトの権限の由来をトレースすることができる。
【0036】
さらに、ケーパビリティ強制時に、サブジェクトに関する情報に基づいてサブジェクトを認証し、その認証結果に基づいてケーパビリティ強制を行う。属性名に対する認証サーバを置くことで、その属性名を強制するときにサブジェクトの認証が行われるため、認証をするかどうかの選択や認証アルゴリズムの選択がシステム管理のポリシによって自由に行うことができる。
【0037】
ケーパビリティ中の属性としては、何らかの制限があるわけではなく、利用者、アプリケーション種別、情報の起源(信頼のおけるサイト/信頼のおけないサイト/ローカルなど)、セキュリティレベルなどだけではなく、CPU使用率、ネットワーク帯域使用率、子プロセス数の最大数など、オペレーティングシステム上で資源として扱えるものやアクセスを制限するための判断に利用できるものは、ケーパビリティ中の属性として利用できる。
【0038】
また、アクセス制御リスト中の要素としては、アクセス許可に必要なケーパビリティだけではなく、アクセス許可に必要なケーパビリティの属性の条件も含まれ、オブジェクトをアクセスするためにはある属性値がある値より大きい、などといった表現も利用できる。
【0039】
そして、ケーパビリティ強制の記述としては、属性を追加するだけではなく、オブジェクトをアクセスすると、ある属性値が1ずつ減じられる、といった強制もできる。
【0040】
すなわち、本発明の第一の観点は、コンピュータシステム用のアクセス制御方法であって、本発明の特徴とするところは、前記コンピュータシステムおよび前記コンピュータシステム中のデータベースに存在するアクセス可能なあらゆるオブジェクトのひとつひとつに対するアクセス制御情報を記憶する第一のステップと、前記コンピュータシステムを使用中の特定のサブジェクトから特定のオブジェクトへのアクセス許可を決定する第二のステップと、この第二のステップによって決定された前記アクセス許可の範囲内に限定し、前記サブジェクトから前記オブジェクトへのアクセス要求を受理する第三のステップと、前記サブジェクトが保持するケーパビリティリストに対して前記オブジェクトヘの前記アクセス要求におけるケーパビリティの強制を行う第四のステップとを備えたところにある。
【0041】
前記アクセス許可を決定するための情報として、前記サブジェクトがアクセスしようとしているオブジェクトおよびそのアクセス種別と、前記オブジェクトのアクセス制御情報と、前記サブジェクトが保持するケーパビリティリストとを用い、前記アクセス制御情報として、アクセス種別と、アクセス許可に必要なケーパビリティの条件と、アクセスが許可されたときに強制されるケーパビリティとの組をエントリとするアクセス制御リストを含み、前記アクセス許可を決定するための情報に、当該アクセス種別におけるアクセス許可に必要なケーパビリティの条件を満たす当該サブジェクトが保持しているケーパビリティリスト中の有効なケーパビリティと当該オブジェクトのアクセス制御リスト中のエントリとの組合せが少なくとも1つは存在する場合にのみ当該オブジェクトのアクセスが許可されることが望ましい。
【0042】
前記ケーパビリティリスト中の任意のケーパビリティを前記サブジェクト自体が変更する場合には、ケーパビリティを廃棄するかあるいはケーパビリティを弱めることが限定的に認められることが望ましい。
【0043】
前記アクセスが許可されたときに強制されるケーパビリティの指定として、強制される前のケーパビリティリストを入力とし、強制された後のケーパビリティリストを出力するケーパビリティ強制関数を含むことが望ましい。
【0044】
前記ケーパビリティリスト中のケーパビリティおよび前記アクセス許可に必要なケーパビリティを、属性名と属性値とを組とした可変長のリストとして構成し、前記アクセス許可に必要なケーパビリティの条件を、ケーパビリティに含まれる属性名および属性値の条件の可変長のリストとして構成し、前記ケーパビリティ強制関数を、ケーパビリティに強制的に追加もしくは上書きする属性名と属性値とを組とした可変長のリストとして構成し、もしくは、ケーパビリティに強制的に施される演算として定義し、前記ケーパビリティを弱めるときには、ケーパビリティの権限を削除する、あるいは、ケーパビリティに属性名と属性値との組を追加することによって行なうことが望ましい。
【0045】
前記第四のステップに換えて、前記ケーパビリティに強制的に追加もしくは上書きする属性名および属性値に基づいて、前記サブジェクトが保持する情報と、前記サブジェクトから指定された情報と、前記サブジェクトごとに固有の前記コンピュータシステムが保持する情報とから認証に必要な情報を収集する第五のステップと、この第五のステップで収集された情報と、あらかじめ設定されたサブジェクトの正当性を検証するための情報とから前記サブジェクトの正当性を検証する第六のステップと、この第六のステップでの検証結果に基づいて、属性名および属性値を前記ケーパビリティリスト中のケーパビリティに強制的に追加、もしくは、上書きする第七のステップとを備えることもできる。
【0046】
本発明の第二の観点は、コンピュータシステム用のアクセス制御装置であって、本発明の特徴とするところは、前記コンピュータシステムおよび前記コンピュータシステム中のデータベースに存在するアクセス可能なあらゆるオブジェクトのひとつひとつに対するアクセス制御情報を記憶する手段と、前記コンピュータシステムを使用中の特定のサブジェクトから特定のオブジェクトへのアクセス許可を決定する手段と、このアクセス許可を決定する手段によって決定された前記アクセス許可の範囲内に限定し、前記サブジェクトから前記オブジェクトへのアクセス要求を受理する手段と、前記サブジェクトが保持するケーパビリティリストに対して前記オブジェクトヘの前記アクセス要求におけるケーパビリティの強制を行う手段とを備えるところにある。
【0047】
前記アクセス許可を決定するための情報として、前記サブジェクトがアクセスしようとしているオブジェクトおよびそのアクセス種別と、前記オブジェクトのアクセス制御情報と、前記サブジェクトが保持するケーパビリティリストとを用い、前記アクセス制御情報として、アクセス種別と、アクセス許可に必要なケーパビリティの条件と、アクセスが許可されたときに強制されるケーパビリティとの組をエントリとするアクセス制御リストを含み、前記アクセス許可を決定する手段は、前記アクセス許可を決定するための情報に、当該アクセス種別におけるアクセス許可に必要なケーパビリティの条件を満たす当該サブジェクトが保持しているケーパビリティリスト中の有効なケーパビリティと当該オブジェクトのアクセス制御リスト中のエントリとの組合せが少なくとも1つは存在する場合にのみ当該オブジェクトのアクセスを許可する手段を含むことが望ましい。
【0048】
前記ケーパビリティリスト中の任意のケーパビリティを前記サブジェクト自体が変更する手段が設けられ、この変更する手段は、ケーパビリティを廃棄する手段と、ケーパビリティを弱める手段とを備えることが望ましい。
【0049】
前記アクセスが許可されたときに強制されるケーパビリティの指定として、強制される前のケーパビリティリストを入力とし、強制された後のケーパビリティリストを出力するケーパビリティ強制関数を含むことが望ましい。
【0050】
前記ケーパビリティリスト中のケーパビリティおよび前記アクセス許可に必要なケーパビリティを属性名と属性値とを組とした可変長のリストとして構成し、前記アクセス許可に必要なケーパビリティの条件をケーパビリティに含まれる属性名と属性値の条件の可変長のリストとして構成し、前記ケーパビリティ強制関数を、ケーパビリティに強制的に追加もしくは上書きする属性名と属性値とを組とした可変長のリストとして構成し、もしくは、ケーパビリティに強制的に施される演算として定義し、前記ケーパビリティを弱める手段は、ケーパビリティの権限を削除する手段と、ケーパビリティに属性名と属性値との組を追加する手段とを含むことが望ましい。
【0051】
あるいは、前記ケーパビリティの強制を行なう手段に換えて、前記ケーパビリティに強制的に追加もしくは上書きする属性名および属性値に基づいて、前記サブジェクトが保持する情報と、前記サブジェクトから指定された情報と、前記サブジェクトごとに固有の前記コンピュータシステムが保持する情報とから認証に必要な情報を収集する手段と、この収集する手段により収集された情報とあらかじめ設定されたサブジェクトの正当性を検証するための情報とから前記サブジェクトの正当性を検証する手段とを備え、前記ケーパビリティを強制する手段は、この正当性を検証する手段による検証結果に基づいて属性名および属性値を前記ケーパビリティリスト中のケーパビリティに強制的に追加もしくは上書きする手段を含む構成とすることもできる。
【0052】
本発明の第三の観点は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置に本発明のアクセス制御方法を実行させるソフトウェアあるいはそのコンピュータ装置を本発明のアクセス制御装置に相応する装置とするソフトウェアが記録された記録媒体である。
【0053】
【発明の実施の形態】
本発明実施例のアクセス制御装置の構成を図1、図3、図6を参照して説明する。図1は本発明実施例のシステム全体のブロック構成図である。図3は本発明実施例のアクセス制御部のブロック構成図である。図6は本発明実施例の認証サーバを用いるアクセス制御部のブロック構成図である。
【0054】
本発明は、図1に示すように、コンピュータシステム用のアクセス制御装置であって、本発明の特徴とするところは、図3および図6に示すように、前記コンピュータシステムおよび前記コンピュータシステム中のデータベースに存在するアクセス可能なあらゆるオブジェクトのひとつひとつに対するアクセス制御情報を記憶するACLレポジトリ34と、前記コンピュータシステムを使用中の特定のサブジェクトから特定のオブジェクトへのアクセス許可を決定するアクセス権限検査部36と、このアクセス権限検査部36によって決定された前記アクセス許可の範囲内に限定し、前記サブジェクトから前記オブジェクトへのアクセス要求を受理する要求受理部5と、前記サブジェクトが保持するケーパビリティリストに対して前記オブジェクトヘの前記アクセス要求におけるケーパビリティの強制を行うケーパビリティ強制部38とを備えたところにある。
【0055】
前記アクセス許可を決定するための情報として、前記サブジェクトがアクセスしようとしているオブジェクトおよびそのアクセス種別と、前記オブジェクトのアクセス制御情報と、前記サブジェクトが保持するケーパビリティリストとを用い、前記アクセス制御情報として、アクセス種別と、アクセス許可に必要なケーパビリティの条件と、アクセスが許可されたときに強制されるケーパビリティとの組をエントリとするアクセス制御リストを含み、アクセス権限検査部36は、前記アクセス許可を決定するための情報に、当該アクセス種別におけるアクセス許可に必要なケーパビリティの条件を満たす当該サブジェクトが保持しているケーパビリティリスト中の有効なケーパビリティと当該オブジェクトのアクセス制御リスト中のエントリとの組合せが少なくとも1つは存在する場合にのみ当該オブジェクトのアクセスを許可する。
【0056】
ケーパビリティリスト保持部4は、前記ケーパビリティリスト中の任意のケーパビリティを前記サブジェクト自体の要求により変更することができる。この変更は、ケーパビリティを廃棄する、あるいは、ケーパビリティを弱めることにより行なう。
【0057】
前記アクセスが許可されたときに強制されるケーパビリティの指定として、強制される前のケーパビリティリストを入力とし、強制された後のケーパビリティリストを出力するケーパビリティ強制関数を含む。
【0058】
前記ケーパビリティリスト中のケーパビリティおよび前記アクセス許可に必要なケーパビリティを属性名と属性値とを組とした可変長のリストとして構成し、前記アクセス許可に必要なケーパビリティの条件をケーパビリティに含まれる属性名および属性値の条件の可変長のリストとして構成し、前記ケーパビリティ強制関数を、ケーパビリティに強制的に追加もしくは上書きする属性名と属性値とを組とした可変長のリストとして構成し、もしくは、ケーパビリティに強制的に施される演算として定義し、ケーパビリティ強制部38がケーパビリティを弱めるときには、ケーパビリティの権限を削除する、あるいは、ケーパビリティに属性名と属性値との組を追加することにより行なう。
【0059】
また、図6では、図3に示すケーパビリティ強制部38に換えて、前記ケーパビリティに強制的に追加もしくは上書きする属性名および属性値に基づいて、前記サブジェクトが保持する情報と、前記サブジェクトから指定された情報と、前記サブジェクトごとに固有の前記コンピュータシステムが保持する情報とから認証に必要な情報を収集する認証情報収集部42と、この認証情報収集部42により収集された情報とあらかじめ設定されたサブジェクトの正当性を検証するための情報とから前記サブジェクトの正当性を検証する認証サーバ2とを備え、ケーパビリティ強制部40は、この認証サーバ2による検証結果に基づいて属性名および属性値を前記ケーパビリティリスト中のケーパビリティに強制的に追加もしくは上書きする。
【0060】
本発明実施例のアクセス制御装置は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のアクセス制御装置に相応する装置とするソフトウェアが記録された記録媒体によりコンピュータ装置に当該ソフトウェアをインストールすることにより実現する。これにより、当該コンピュータ装置は、本発明のアクセス制御方法を実行する。
【0061】
以下では、本発明実施例をさらに詳細に説明する。
【0062】
図1は本発明の実施の形態を示したものである。本形態では、本発明によるアクセス制御方法はオペレーティングシステム13内に実現されている。プロセス1から発行されるすべてのアクセス要求6は、アクセス制御部3にて本発明によるアクセス制御がなされ、ここで許可されたアクセス要求8のみがオペレーティングシステムの残りの部分で処理される。本形態によれば、アクセス制御を実現する部分の独立性が強まり、本発明によるアクセス制御方法を実現するためのオペレーティングシステムの改造を少なく済ませることができる。
【0063】
なお、本出願では基盤となるオペレーティングシステムとしてUNIXおよびUNIX互換のオペレーティングシステムでの実施の形態を示しているが、本発明の適用可能な範囲はUNIXおよびUNIX互換のオペレーティングシステムに限られるものではない。また、シングルプロセサシステム、マルチプロセサシステム、分散コンピューティングシステムなど、ハードウェアアーキテクチャに依存するものでもない。
【0064】
本形態においては、サブジェクト(アクセス主体)はプロセス(オペレーティングシステム上で動作中のプログラムで、オペレーティングシステムが提供する資源を割り当てる単位)であり、オブジェクト(アクセス対象)はファイルやそれ以外のオペレーティングシステムが提供する資源である。ケーパビリティリスト保持部4はシステム上の保護されたメモリ領域上に置かれる。
【0065】
プロセス1は、自プロセスが保持するケーパビリティリスト保持部4中のどのケーパビリティかを指し示すことはできるが、ケーパビリティの内容を直接アクセスしたり、変更したりすることはできない。プロセス1は、自プロセスが保持しているケーパビリティにて、ケーパビリティの複製を他のプロセスに渡すこと(ただし、ケーパビリティ中の権限で許されている場合に限られる)と、ケーパビリティを削除することと、ケーパビリティを弱めることが可能である。
【0066】
プロセスの複製が生成された場合、すなわち、子プロセスが生成された場合、親プロセスのケーパビリティリストがコピーされて子プロセスに引き継がれる。新たなプログラムが読み込まれ起動される場合には、ケーパビリティリスト中の個々のケーパビリティの持つ権限に依存して、ケーパビリティが引き継がれるか否かが決まる。
【0067】
(ケーパビリティ)
図2はケーパビリティの実施例である。ケーパビリティ中の権限22の例を以下に示す。
【0068】
d(duplicate/modify):ケーパビリティの複製を他のプロセスに渡したり、ケーパビリティの権限フィールドから任意の権限を取り除いたり、新たなプログラムを起動したときにケーパビリティを引き継ぐための権限。a(allocate):資源割り当て権限。ケーパビリティ中にこの権限が設定されていない場合には、資源の割り当てが必要な要求(ファイルの生成、ファイルサイズの追加書き込み、プロセスの生成など)は許可されない。
r(read):読み取り限。ファイルなどからデータを読み取る権限。
w(write):書き込み権限。ファイルなどへデータを(上書きで)書き込む権限。
x(execute):実行権限。ファイルをプログラムとして実行する権限、ディレクトリを検索する権限、ソケット(通信の端点)を作成する権限。
【0069】
ケーパビリティ中のcid23のもっとも簡単な例としては、uid(利用者識別子)、gid(利用者グループの識別子)がある。cid中では、uidはそのまま、gidはcid=−(gid+1)として扱う。ケーパビリティはオペレーティングシステムによって保護されているので、暗号化をする必要はない。より一般的な例としては、システム内で一意な数を生成し、特定のオブジェクトへの権限(の集合)にその数を割り当てる方法もある。
【0070】
本形態においては、ケーパビリティの表記として、権限を表す文字列とuidもしくはgidの値を[]で囲んだものを用いる。
【0071】
例えば、ケーパビリティリストとして
[darwx uid=201〕〔darwx gid=31]
を保持するプロセスは、uid=201、gid=31としての全ての権限を行使することができる。
[−−r−− uid=9〕[−a−w− uid=201][−a−w− gid=31]
を保持するプロセスは、uid=9としては読み取り権限のみを、uid=201、gid=31としては資源割り当て権限と書き込み権限のみを、行使することができる。このプロセスは実行権限を保持しないため、新たなプログラムを起動することはできない。
[−ar−x uid=9][−ar−x gid=9〕
を保持するプロセスは、uid=9、gid=9としては資源割り当て権限、読み取り権限、実行権限を行使することができる。このプロセスはケーパビリティの複製権限を保持しないため、このプロセス内で新たなプログラムを起動したとしても、ケーパビリティリストが空のプロセスとなる。このようなケーパビリティリストを持ったプロセスを乗っ取ったとしても、何らかの有益な情報を得るプログラムを起動することはできないであろう。すなわち、必要最小限の権限に設定することで、プログラムが乗っ取られたとしても、被害を最小限に食い止めることが可能となる。後述するケーパビリティ強制はこのようなケーパビリティリストの設定を、強制的に実施するものである、
【0072】
(アクセス制御の処理の流れ)
以下では図3に沿ってアクセス制御の流れを記述する。はじめにACLレポジトリ34の設定を行う。ACLレポジトリ34にはオブジェクトごとのアクセス制御リストが格納されており、アクセス制御リストはオブジェクト識別子31によって検索することができる。アクセス制御リストはシステムが動作中に変更を行うことも許可される。このため、アクセス制御リスト自体もオブジェクトとして扱われる。
【0073】
オペレーティングシステム13がプロセス1からのアクセス要求6を受け付けると、アクセス対象となるオブジェクトをオブジェクト識別子31に変換し、ACLレポジトリ34を検索し、オブジェクトのアクセス制御リスト35を取り出す。引き続き、アクセス制御リスト35と、アクセス種別32と、プロセスが保持するケーパビリティリスト7との3つの情報から、オブジェクトへのアクセスを許可すべきかどうかを決定する(36)。
【0074】
オペレーティングシステムがオブジェクトへのアクセスを許可する場合には、アクセス制御リスト中のケーパピリティ強制関数のリスト37を用いて、プロセスが保持するケーパビリティリスト7から強制されたケーパビリティリスト10を求め(40)、プロセスのケーパビリティリストとする。
【0075】
(アクセス制御リストとケーパビリティ強制)
図4はアクセス制御リストのエントリの例である。アクセス制御リストのエントリ中のアクセス権62の例を以下に示す。
【0076】
m(modify):アクセス制御リストを変更できる権限。
a(allocate):資源割り当て権限。アクセス制御リストにこの権限がない場合には、資源の割り当てが必要な要求(ディレクトリヘのファイルの登録、ファイルサイズの拡大、プロセスの生成など)は拒絶される。
r(read):読み取り権限。ファイルなどからデータを読み取る権限。
w(write):書き込み権限。ファイルなどへデータを書き込む権限。
x(execute):実行権限。ファイルをプログラムとして実行する権限、ディレクトリを検索する権限、ソケット(通信の端点)を作成する権限。
【0077】
アクセス制御リストを変更できる権限を有効とするためには、少なくともケーパビリティ中の権限に全ての権限を含んでいなければならない。それ以外の資源割り当て権限、読み取り権限、書き込み権限、実行権限を有効とするためには、少なくともケーパビリティ中の権限と対応するアクセス制御リストでのアクセス権の両者が設定されていなければならない。また、新たにファイルなどのオブジェクトを生成した場合に設定されるアクセス制御リストでのアクセス権は、対応するケーパビリティ中の権限を超えることはできない。
【0078】
アクセス許可に必要なケーパビリティの条件63は、ケーパビリティ中の権限の条件やcidの条件を論理式として記述する。多くの場合、アクセス種別を表すアクセス権からケーパビリティ中の権限の条件は一意に決定できるため、ケーパビリティ中の権限の条件は省略できる。
【0079】
アクセス制御リスト中のケーパビリティ強制関数64の例を以下に示す。
【0080】
f(flush):ケーパビリティリストを空にする。
i(insert):ケーパビリティリストに引数のケーパビリティを追加する。
m(modify):引数のケーパビリティのcidと同じcidを持つケーパビリティリスト中のケーパビリティについて、権限の論理積をとる。
,(concatenate):関数を前から順に適用する。
【0081】
本形態においては、アクセス制御リストの表記として、アクセス権を表す文字列、uidもしくはgidの値、:に引き続いてケーパビリティ強制関数を記述したものを用いる。
【0082】
(アクセス制御リストの例)
marw− uid=201
が指定されているオブジェクトは、uid==201を満たすケーパビリティを持つプロセスによってアクセス可能であり、アクセス制御リストの変更、資源の割り当て、読み取り、書き込みが可能である。
【0083】
marwx uid=10
が指定されているディレクトリは、uid=10を満たすケーパビリティを持つプロセスによってアクセス可能であり、アクセス制御リストの変更、ファイルの登録、読み取り、ファイル名の変更やファイルの削除、ディレクトリの検索が可能である。
−ar−x uid=201
が指定されているディレクトリは、uid=201を満たすケーパビリティを持つプロセスによってアクセス可能であり、ファイルの登録、読み取り、ファイル名の変更、ディレクトリの検索が可能である。
−−−x any :[−a−w− any],i[−−r−− uid=9]
が指定されているオブジェクトは、任意の実行権限を含むケーパビリティを持つプロセスによって実行可能であり、このオブジェクトを実行すると、プロセスが持つ全てのケーパビリティは、その権限と−a−w−の論理積がとられたものに修正され、uid=9の読み取り権限のケーパビリティがケーパビリティリストに追加される。プロセスの持つケーパビリティリストが
[darwx uid=201][darwx gid=31]
であるならば、ケーパビリティ強制によって、
[−−r−− uid=9〕[−a−w− uid=201][−a−w− gid=31]
となる。
【0084】
(属性によるケーパビリティ)
本発明では、ケーパビリティの表現として属性(属性名と属性値との組)の可変長のリストを用いる方法も提案している。これは、cidのフィールド23を属性リストに置き換えることで実現できる。例を図5に示す。
【0085】
属性としてどのようなものを用いるかには制限はなく、アクセスを制限するための判断に利用できるものは属性として利用できる。また、システムが提供する属性だけではなく、利相者が自由に定義できる属性を利用することも可能である。属性の例を以下に示す。
利用者識別子(uid):システムの利用者ごとに割り当てられた識別番号。
利用者グループ識別子(gid):システムの利用者グループごとに割り当てられた識別番号。
プログラム識別子(progid):プログラムごとに割り当てられた識別番号。
アプリケーション識別子(applid):アプリケーションの種類(アプリケーショングループ)ごとに割り当てられた識別番号。
情報起源識別子(origid):情報の起源ごとに割り当てられた識別番号。信頼のおけるサイト/信頼のおけないサイト/ローカルなどの区別を行う。表記上は情報起源名(orig)としても扱う。
セキュリティレベル(sl):機密分類を表し、一般(unclassified)、秘密(confidential)、極秘(secret)、機密(topsecret)などを考えることができる。
CPU使用率(pcpu):プロセスに対して予約されたCPV使用率。
ネットワーク帯域使用率(pnwb):プロセスに対して予約されたネットワーク帯域幅の使用率。
子プロセス数の最大数(nproc):プロセスが保持できる子プロセスの最大値。
同時利用最大数(nopen):ファイルを同時に利用できるプロセス数の最大値。
ファイル最大サイズ(fsize):生成可能なファイルの最大値。
【0086】
属性によるケーパビリティの表記としては、権限を表す文字列に引き続き、「属性名=属性値のリスト」を[]で囲んだものを用いる。
【0087】
(属性によるケーパビリティを用いた場合のアクセス制御)
ケーパビリティから1つ以上の権限を削除したり、ケーパビリティへ1つ以上の属性を追加することは、ケーパビリティを相対的に弱めるものと考える。そこで、「ケーパビリティC1がケーパビリティC2より弱い」ということを「C1≠C2、かつ、C2に含まれる全ての属性をC1が含み、かつ、C1に含まれる全ての権限をC2が含む」と定義する。例えば、ケーパビリティ[rightsx,y,z]は[rights x,y]を弱めたものであり、もし、あるオブジェクトが[rights x,y,z]でアクセス可能であるなら、[rights x,y]でも同様にアクセス可能とする。言い換えると、[rights x,y,z]でアクセス可能なオブジェクトの集合は、[rights x,y]の部分集合となっている。しかし、このようなアクセスを許可した場合に、ケーパビリティの強制の効果が消えてしまうため、[rghts x,y]でアクセスした場合には、自動的にzが強制されるものとする。これを「暗黙の強制」と呼ぶ。
【0088】
属性によるケーパビリティを用いた場合のケーパビリティ強制関数の例を以下に示す。
f(flush):ケーパビリティリストを空にする。
i(insert):ケーパビリティリストに引数のケーパビリティを追加する。
m(modify):ケーパビリティリスト中の各々のケーパビリティについて、引数のケーパビリティの権限との論理積をとり、引数のケーパビリティの属性を追加する。すでに同じ属性名があるときはその属性名の属性値が置き換えられる。
,(concatenate):関数を前から順に適用する。
【0089】
アクセス許可に必要なケーパビリティの条件としては、ケーパビリティ中の権限の条件や属性に関する条件を論理式として記述する。多くの場合には、アクセス種別を表すアクセス権からケーパビリティ中の権限の条件は一意に決定できるため、ケーパビリティ中の権限の条件は省略できる。
【0090】
(属性の認証を伴うアクセス制御の処理の流れ)
本発明では、ケーパビリティの強制(38)を行う際に、サブジェクトに関する情報に基づいてサブジェクトを認証し、その認証結果に基づいてケーパビリティ強制を行う方法も提案している。以下では図6に沿ってアクセス制御の流れを記述する。
【0091】
はじめにACLレポジトリ34の設定を行う。ACLレポジトリ34にはオブジェクトごとのアクセス制御リストが格納されており、アクセス制御リストはオブジェクト識別子31によって検索することができる。アクセス制御リストはシステムが動作中に変更を行うことも許可される。このため、アクセス制御リスト自体もオブジェクトとして扱われる。
【0092】
オペレーティングシステム13がプロセス1からのアクセス要求6を受け付けると、アクセス対象となるオブジェクトをオブジェクト識別子31に変換し、ACLレポジトリ34を検索し、オブジェクトのアクセス制御リスト35を取り出す。引き続き、アクセス制御リスト35と、アクセス種別32と、プロセスが保持するケーパビリティリスト7との3つの情報から、オブジェクトへのアクセスを許可できるかどうかを判断する(36)。
【0093】
オブジェクトヘのアクセスが許可できると判断した場合には、アクセス制御リスト中のケーパビリティ強制関数のリスト37をプロセスが保持するケーパビリティリスト7に適用する(38)。ケーパビリティ強制関数には、以下の四つが含まれる。
f(flush)ケーパビリティリストを空にする。
i(insert)ケーパビリティリストに引数のケーパビリティを追加する。
m(modify/authenticate)認証が不要な属性の場合には、ケーパビリティリスト中の各々のケーパビリティについて、引数のケーパビリティの権限との論理積をとり、引数のケーパビリティの属性を追加する。認証が必要な属性の場合には、ケーパビリティリスト中の各々のケーパビリティについて、引数のケーパビリティの属性を扱う認証サーバ2を呼出し、認証が成功すれば、ケーパビリティにその属性を追加し、引数のケーパビリティの権限との論理積をとる。もし、認証が失敗したときは、ケーパビリティ強制に失敗したとする。,(concatenate)関数を前から順に適用する。
【0094】
ケーパビリティ強制に失敗した場合には、オブジェクトヘのアクセスを不許可とする。そうでない場合には、強制されたケーパビリティリスト10をプロセスのケーパビリティリストとし、オブジェクトへのアクセスを許可する。
【0095】
認証サーバ2は属性名、属性値、その他の認証に必要な情報12を伴って呼び出される。そして、認証サーバ自体が保持する認証用のデータと照合し、認証を行い、結果11を返す。
【0096】
(認証サーバ)
認証すべき属性や強制の対象となっているケーパビリティの持つ属性ごとに認証サーバを置くこともできる。このようにする利点としては以下の理由が含まれる。
(1)個々の認証サーバのプログラム規模を小さくすることで設計上およびコーディング上のバグが可能な限り発生しないようにし、さらに、どれかひとつの認証サーバが乗っ取られたとしても、被害を最小限にとどめることができる。
(2)ケーパビリティが持つ属性にあわせて、認証サーバを用意することで、例えば、アプリケーションの種類やセキュリティレベルにあわせて認証方法を選択することができる。
【0097】
認証サーバを実装する上では、オペレーティングシステムが持っている動作モードを利用し、メンテナンス用モードまたはそれに相当する動作モードにおいて認証サーバを立ち上げ、通常の動作モードにおいては、認証サーバの停止や立ち上げを許さないようにするのが望ましい。また、認証サーバが利用する認証用のデータも、メンテナンス用モードまたはそれに相当する動作モードにおいてのみ任意の読み書きを許可し、通常の動作モードにおいては、書き込み禁止、もしくは、上書き禁止とするのが望ましい。
【0098】
前記のuid、gid、progid、applid、origidは、以下に示すように認証が必要な属性として扱うことができる。
uid:uid認証サーバは、利用者名とパスワードなどの利用者を特定できる情報を得て、利用者を認証するために認証サーバが保持しているデータと照合することで認証を行う。
gid:gid認証サーバは、ケーパビリティを入力とし、そのケーパビリティ中のuid属性を検証し、uidが属するグループに対するgidを返す。
progid:メモリ上に展開されたプログラムに対する電子的な署名を検証することで認証を行う。例えば、プログラムコードのMD5やSHA−1などのハッシュ関数によるハッシュ値を認証サーバに送り、認証サーバでは自身が保持するプログラム識別子とハッシュ値を照合する。
applid:applid認証サーバは、ケーパビリティを入力とし、そのケーパビリティ中のprogid属性を検証し、progidが属するアプリケーショングループに対するapplidを返す。
origid:origid認証サーバは、プロセスがアクセスしているファイル、デバイス、ソケットなどの一覧を入力とし、どのような情報起源をアクセスしているかを検証し、それに対するorigidを返す。
【0099】
【発明の効果】
以上説明したように、本発明によれば、コンピュータシステムにおけるアクセス制御おいて、アクセス対象であるオブジェクトおよびアクセス主体であるサブジェクトを詳細に分類し、その分類に基づいて特有の制限を強制的に加えることを可能とする。これにより、単一の特権利用者を排除し、プログラムの乗っ取りによる被害を最小限にとどめ、もしくは、プログラムの乗っ取りを排除し、システム全体で統一したアクセス制御を提供することでコンピュータシステムのセキュリティを高めることができる。
【図面の簡単な説明】
【図1】本発明の実施形態によるシステム全体のブロック図。
【図2】本発明の実施形態によるケーパビリティを示す図。
【図3】本発明の実施形態によるアクセス制御の処理の流れを示すブロック図。
【図4】本発明の実施形態によるアクセス制御リストのエントリを示す図。
【図5】本発明の実施形態による属性を含むケーパビリティを示す図。
【図6】本発明の実施形態による属性の認証を伴うアクセス制御の処理の流れを示すブロック図。
【符号の説明】
1 プロセス
2 認証サーバ
3 アクセス制御部
4 ケーパビリティリスト保持部
5 要求受理部
6 アクセス要求
7 オブジェクトのアクセス前のケーパビリティリスト
8 許可されたアクセス要求
9 アクセス許可フラグ
10 オブジェクトのアクセス検査後のケーパビリティリスト
11 認証結果
12 認証に必要な情報のリスト
13 オペレーティングシステム
22、52 ケーパビリティ中の権限
23 ケーパビリティ識別子cid
31 オブジェクト識別子
32 アクセス種別
34 ACLレポジトリ
35 アクセス制御リスト
36 アクセス権限検査部
37 ケーパビリティ強制関数のリスト
38、40 ケーパビリティ強制部
41 属性名と属性値の組のリストとケーパビリティリスト
42 認証用情報収集部
51 ケーパビリティの全データ長
53 属性値長1
54 属性名1
55 属性値1
56 属性値長2
57 属性名2
58 属性値2
62 アクセス権
63 アクセス許可に必要なケーパビリティの条件
64 ケーパビリティ強制関数
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system, and more particularly to a method for protecting resources in a computer system by access control in the computer system and accurately controlling access to the resources in the computer system.
[0002]
[Prior art]
With the progress of computer technology and communication technology, more and more computers are connected via a network, and a computer network closed to an organization or a community has been changed to a global network. However, it has become widespread while security considerations have not been made, and security issues such as unauthorized access to and unauthorized rewriting of information in computer systems and interruption of services provided on computer systems There are many problems.
[0003]
Today, most computers on computer networks operate on UNIX, compatible operating systems, or operating systems that are heavily influenced by UNIX. The cause of the frequent occurrence of the security problem is that these operating systems have a great problem from the viewpoint of access control.
[0004]
[Problems to be solved by the invention]
The first problem is that the system is protected by a single privileged user (superuser) authority. If you have superuser authority, you can control all resources provided by the operating system, and even if resources that are prohibited from being read or written are physically disabled, you can cancel the setting and read or write Is possible. For this reason, when a program that operates with superuser authority that exists in large numbers on the system is hijacked, all authority relating to the system is taken.
[0005]
The second problem is that authentication is performed only for the user when logging into the system. Since there is no mechanism for authenticating the file storing the program or the program being executed, there is a risk that detection will be delayed even if the program is replaced by some means.
[0006]
The third problem is that access control cannot be performed for users who are not registered in the system. For this reason, in an information providing service program or the like, a code for performing access control on information is incorporated in an application program.
[0007]
However, since the protection mechanism provided by the operating system cannot be used for such access control independently performed by such an application program, the risk of unauthorized information access due to problems in the program increases. Further, since access control is provided for each application, the setting method differs for each application, making it difficult to unify and manage the entire system.
[0008]
The fourth problem is that all programs operate with the maximum possible authority. For this reason , Even a program originally designed to access only a specific file is always in a state where it is possible to access an unexpected file, and illegal leakage or rewriting of information can occur at any time. In addition, when an unauthorized program is installed in the system, the program operates with the maximum authority of the user who executed the program, so the same situation as described above may occur. Even when the intermediate code is executed on the interpreter program or when the data is simply processed by the data processing program, the interpreter program or the data processing program itself may be defective. Therefore, access to resources other than those originally accessed by these programs is possible. If this is not limited, a similar problem occurs.
[0009]
Known techniques for access control include: Mamoru Maekawa, Arthur E.01dehoeft, Rodney R.0ldehoeft, 1987 The Benjamin / Cummings Publishing Company, Inc., "Operating System Advanced Concepts" (Corporation, “Advanced Concept of Operating System”), Chapter 8 Computer Security, and Dorothy ERDenning, 1982 Addison-Wesley Publishing Company, Inc. “Cryptography and Data Security” (Tadahiro Uesono et al.) In 1988, published by Baifukan Co., Ltd., “Cryptography and Data Security”), Chapter 4 is summarized in the section on access control.
[0010]
In these documents, an access matrix model is shown as a method for controlling access based on who is trying to access an object provided by a computer system.
[0011]
The access matrix model is composed of a set 0 of objects (objects) subject to access control, a set S of active objects (subjects) as subjects of accessing the object, and a “row” consisting of subjects and objects. It is composed of an access matrix A made up of a combination of “columns”. An element A [s, o] of the access matrix A represents an access right to the object o of the subject s. An access right is an access type permitted for an object.
[0012]
In a computer system, an object typically includes a file, a memory area, and a process, a subject includes a user, a process, and a domain, and an access type includes read, write, and execute. A domain is a protected environment in which processes are executed. In this model, when access from the subject s to the object o is requested, the access right A [s, o] is searched, and the access is always permitted or always set by setting the access right for the access type. It is not allowed. This access matrix model works correctly when the subject, object, and access matrix are all reliable.
[0013]
The access matrix is generally a sparse matrix, and it is not realistic to realize the matrix as it is. In the above document, a triple table, a capability list, an access list, and a lock / key system are shown as implementation methods.
[0014]
The triple table manages non-empty elements of A as a table of the form (s, o, A [s, o]).
[0015]
The capability list manages the objects that can be accessed by the subject s and their access rights in the form of (0, A [s, o]) for each subject. The value of (o, A [s, o]) is called capability, and the access right can be transferred by transferring a copy of the capability to another subject.
[0016]
The access list manages subjects that can access the object o and their access rights for each object in the form of (s, A [s, o]).
[0017]
Many operating systems such as UNIX employ access control using a degenerated access list. Each file in UNIX has an access list consisting of three elements. The first describes the access rights of the file owner, the second describes the access rights for all users of the owner's group, and the third describes the access rights for all other users. Access rights include read (r), write (w), and execute (x).
[0018]
The lock / key system has a list (L [1], r [1]), (L [2], r [2]) of access rights r [i] to the object L for the object o. .., And the subject s has the access right r [i] for the object o, that is, when A [s, o] = r [i], the key K [i] for the lock L [i] is s To give. The subject manages the key in the form of (o, K).
[0019]
In either method, the access is always permitted or not always permitted. Subject, object, and data for access control (triplet table, capability list, access list, lock list / key list) ) Works correctly if you can trust.
[0020]
Other known concepts related to access control include Discretionary Access Control (DAC), Mandatory Access Control (MAC), and Role-based Access Control (RBAC).
[0021]
The DAC controls access to an object for each subject or group to which the subject belongs, and each user on the system can set access control for an object owned by the user. This is realized by the access control list.
[0022]
MAC enforces control over all access on the system, and all subjects and all objects have a hierarchical classification (eg, no classification, confidential, confidential, confidential, etc.) and non-hierarchical A sensitivity label (referred to as a MAC label) expressed by a combination of categories (for example, sales, research and development, personnel, management, etc.) is assigned, and access control is performed based on the subject and object MAC labels. A subject can read an object when the subject MAC label sensitivity classification is greater than or equal to the object MAC label sensitivity classification and the subject MAC label category includes all of the object MAC label categories. (Leaddown).
[0023]
A subject writes to an object when the subject MAC label sensitivity classification is less than or equal to the object MAC label sensitivity classification and all of the subject MAC label categories are included in the object MAC label category. Can (light up). In general, the MAC is not used alone but is used together with the DAC.
[0024]
The RBAC is for describing a complicated access control policy more simply, and assigns a role for each subject and performs access control by assigning an access right for each role. The subject has the access right of the role assigned to the subject, and the role can have an inclusive relationship. Access control itself is realized by the access control list.
[0025]
The first problem related to the access control described above can be expected to have a certain effect due to an implementation ingenuity such as eliminating superuser authority and distributing authority relating to system management to a plurality of authorities. However, in general, most computer systems are managed by a small number of administrators, and even if the system is simply distributed to a plurality of authorities, the effect is limited. For example, whether you are logged in to the system over a trusted line, whether the system administrator is logged in to the system with the correct login procedure, and whether you are trying to control the system from an illegally replaced program If the execution context such as “how” is not utilized, there is a risk that the authority of the system administrator is taken in order and all the authority concerning the system is eventually taken. Utilization of execution context is not included in known techniques.
[0026]
As a second problem related to the access control, a known technique is used in which a file system or a memory area is periodically scanned and inspected by a checksum or the like stored safely. However, it is possible that the replacement of a program or file may not be detected, such as replacement of an inspection program, replacement that does not require a scanning interval, or existence of a storage area for a log file or a temporary file.
[0027]
The third problem related to the access control cannot be solved by the known access matrix model or MAC. This is because the access matrix model works correctly only when all of the subjects, objects, and access matrices are reliable. Non-system administrators can freely register subjects in the subject set S, and freely add access types. It is not allowed to do. The same applies to the MAC.
[0028]
In order to solve the fourth problem related to access control by using an access list or capability list that is not degenerated, subjects and objects are classified in detail, thereby setting access lists and capability lists. It is necessary to control the setting and transfer of capabilities. For example, when the user u operates the program p, it is necessary to manage not only A [u, o] and A [p, o] but also A [u [p, o]. . For this reason, in order to set access control for all combinations that permit access, an enormous description is required, which is not realistic.
[0029]
In addition, since it is not permitted for a person other than the system administrator to freely add subjects and access types, it is difficult to limit the authority for any subject. Even if the MAC is used together, it is not possible to prevent an unauthorized program from being installed in the system, and an unexpected file can be accessed. For this reason, the situation where an application or data cannot be trusted cannot be handled positively.
[0030]
In the technique disclosed in Japanese Patent Laid-Open No. 9-319659, the fourth problem is solved by dividing the MAC area into non-overlapping areas. However, it does not solve the first and third problems.
[0031]
US Pat. No. 5,864,683 places the first and fourth of the above problems by placing a completely separate protection domain in the system and defining a set of objects that are accessible from subjects within that protection domain. Is a solution. However, it does not solve the second and third problems.
[0032]
The present invention has been carried out against such a background. In access control in a computer system, an object to be accessed and a subject to be accessed are classified in detail, and specific restrictions based on the classification. It is an object of the present invention to provide an access control method and an access control apparatus that can forcibly add a password. The present invention eliminates a single privileged user and minimizes the damage caused by the hijacking of a program, or eliminates the hijacking of a program and provides access control that is unified throughout the system, thereby providing security for the computer system. It is an object of the present invention to provide an access control method and an access control apparatus that can improve the performance.
[0033]
[Means for Solving the Problems]
In the method of the present invention, a subject that is an access subject holds a capability list that represents the authority of the subject, and an object that is an access target has an access control list that represents a capability condition necessary for permitting access to the object. And when at least one of the capabilities in the capability list meets at least one of the capability conditions required for access permission in the access control list, access to the object is permitted and access to the object This includes restricting the scope of authority accessible from the subject by forcibly changing the capability of the subject based on the specification of capability enforcement defined for each object when permitted.
[0034]
According to the present invention, a subject can only discard the capabilities held by the subject itself and weaken the capabilities' authority, so that the subject has the capabilities enforced by the object being accessed. You must use it. Subject authority is dynamically limited and restricted by the accessed object, and the accessible range for each object can be restricted.
[0035]
In addition, a variable-length list of attributes (a pair of attribute name and attribute value) is used as the capability, and an access right deletion specification and an attribute addition or overwriting specification are used as the capability enforcement specification. This replaces capability enforcement with attribute list operations, and by observing the attribute list, the origin of subject authority can be traced.
[0036]
Further, when the capability is forced, the subject is authenticated based on the information about the subject, and the capability is forced based on the authentication result. By placing an authentication server for the attribute name, subject authentication is performed when the attribute name is enforced, so the choice of whether to authenticate and the choice of the authentication algorithm can be freely done according to the system management policy .
[0037]
The attributes in the capabilities are not limited in any way, not only the user, application type, origin of information (trusted site / untrusted site / local, etc.), security level, etc., but also CPU usage Those that can be handled as resources on the operating system, such as the rate, network bandwidth usage rate, and the maximum number of child processes, and those that can be used to determine access restrictions can be used as attributes in the capability.
[0038]
In addition, the elements in the access control list include not only the capabilities required for access permission but also the attribute conditions for the capabilities required for access permission, and a value with a certain attribute value to access the object. Expressions such as larger are also available.
[0039]
As a description of capability forcing, not only adding an attribute but also forcing that an attribute value is decreased by 1 when an object is accessed.
[0040]
That is, a first aspect of the present invention is an access control method for a computer system, and the feature of the present invention is that all accessible objects existing in the computer system and a database in the computer system are characterized. A first step of storing access control information for each one, a second step of determining access permission to a specific object from a specific subject using the computer system, and the second step The third step of accepting an access request from the subject to the object, limited within the scope of the access permission, and the capability in the access request to the object with respect to the capability list held by the subject. It is in place and a fourth step of forced of I.
[0041]
As information for determining the access permission, an object that the subject is trying to access and its access type, access control information of the object, and a capability list held by the subject are used as the access control information. Information for determining the access permission, including an access control list having an entry of a set of access type, capability condition necessary for access permission, and capability forced when access is permitted In addition, there is at least one combination of an effective capability in the capability list held by the subject that satisfies the capability condition necessary for access permission in the access type and an entry in the access control list of the object. Only the access of the object when there is permission it is desirable.
[0042]
When any subject in the capability list is changed by the subject itself, it is desirable that it is permitted to discard the capability or weaken the capability.
[0043]
It is desirable to include a capability forcing function that inputs a capability list before being forced as an input and outputs a capability list after being forced as a specification of the capability to be forced when the access is permitted.
[0044]
The capabilities in the capability list and the capabilities required for the access permission are configured as a variable-length list of attribute names and attribute values, and the capability conditions required for the access permissions are It is constructed as a variable length list of attribute name and attribute value conditions included in the capability, and the capability forcing function is a variable length pair consisting of attribute name and attribute value forcibly adding or overwriting the capability. It is configured as a list or defined as an operation that is compulsorily performed on the capability, and when the capability is weakened, the authority of the capability is deleted, or a pair of attribute name and attribute value is set in the capability It is desirable to do so by adding.
[0045]
Instead of the fourth step, based on attribute names and attribute values that are forcibly added or overwritten to the capability, information held by the subject, information specified by the subject, and for each subject A fifth step of collecting information necessary for authentication from the information held by the unique computer system, the information collected in the fifth step, and the validity of a preset subject A sixth step of verifying the validity of the subject from the information, and forcibly adding an attribute name and an attribute value to the capability in the capability list based on the verification result in the sixth step; Alternatively, a seventh step of overwriting can be provided.
[0046]
According to a second aspect of the present invention, there is provided an access control apparatus for a computer system. The feature of the present invention is that each of all accessible objects existing in the computer system and a database in the computer system is provided. Means for storing access control information; means for determining an access permission from a specific subject using the computer system to a specific object; and within the range of the access permission determined by the means for determining the access permission And means for accepting an access request from the subject to the object, and means for forcing the capability in the access request to the object with respect to a capability list held by the subject. It is in place.
[0047]
As information for determining the access permission, an object that the subject is trying to access and its access type, access control information of the object, and a capability list held by the subject are used as the access control information. An access control list having an entry of a set of an access type, a capability condition necessary for access permission, and a capability forced when access is permitted, and the means for determining the access permission includes: In the information for determining the access permission, the effective capabilities in the capability list held by the subject that satisfies the capability conditions necessary for the access permission in the access type and the access control list of the object of Combination of entry may be desirable to include means for permitting only the access of the object when at least one present.
[0048]
Means for changing any capability in the capability list by the subject itself is provided, and it is preferable that the means for changing comprises a means for discarding the capability and a means for weakening the capability.
[0049]
It is desirable to include a capability forcing function that inputs a capability list before being forced as an input and outputs a capability list after being forced as a specification of the capability to be forced when the access is permitted.
[0050]
The capabilities in the capability list and the capabilities required for the access permission are configured as a variable-length list of attribute names and attribute values, and the capability conditions required for the access permission are set as capabilities. Configured as a variable length list of included attribute names and attribute value conditions, and the capability forcing function as a variable length list of attribute names and attribute values that are forcibly added or overwritten to the capability. Configure or define as an operation that is compulsorily applied to the capability, and the means to weaken the capability is to add a pair of attribute name and attribute value to the capability and a means to delete the authority of the capability It is desirable to include the means to do.
[0051]
Alternatively, instead of means for forcing the capability, based on an attribute name and an attribute value forcibly added to or overwritten to the capability, information held by the subject, and information specified by the subject Means for collecting information necessary for authentication from information held by the computer system unique to each subject, and for verifying validity of the information collected by the collecting means and a preset subject Means for verifying the validity of the subject from the information, and the means for forcing the capability includes an attribute name and an attribute value in the capability list based on a verification result by the means for verifying the validity. It must be configured to include means for forcibly adding or overwriting capabilities. It can also be.
[0052]
According to a third aspect of the present invention, the access control method of the present invention is further installed in a computer device that includes predetermined hardware and predetermined basic software installed in the hardware. This is a recording medium on which software to be executed or software that uses the computer device as a device corresponding to the access control device of the present invention is recorded.
[0053]
DETAILED DESCRIPTION OF THE INVENTION
The configuration of the access control apparatus according to the embodiment of the present invention will be described with reference to FIGS. 1, 3, and 6. FIG. FIG. 1 is a block diagram of the entire system of the embodiment of the present invention. FIG. 3 is a block diagram of the access control unit of the embodiment of the present invention. FIG. 6 is a block diagram of an access control unit using the authentication server of the embodiment of the present invention.
[0054]
The present invention is an access control apparatus for a computer system as shown in FIG. 1, and the feature of the present invention is that the computer system and the computer system as shown in FIGS. An ACL repository 34 for storing access control information for every accessible object in the database, and an access authority checking unit 36 for determining permission to access a specific object from a specific subject using the computer system; The request acceptance unit 5 that accepts an access request to the object from the subject, and the capability list held by the subject are limited to the range of the access permission determined by the access authority inspection unit 36. The object It is in place and a capability forced unit 38 of forced capabilities in the access request Kutohe.
[0055]
As information for determining the access permission, an object that the subject is trying to access and its access type, access control information of the object, and a capability list held by the subject are used as the access control information. An access control list having an entry of a set of an access type, a capability condition necessary for access permission, and a capability forced when access is permitted, In the information for determining permission, an effective capability in the capability list held by the subject that satisfies the capability condition necessary for permitting access in the access type and an entry in the access control list of the object Only allow access of the object when a combination of at least one present.
[0056]
The capability list holding unit 4 can change any capability in the capability list according to the request of the subject itself. This change is made by discarding the capability or weakening the capability.
[0057]
A capability forcing function for inputting a capability list before being forced as an input and outputting a capability list after being forced as an indication of the capability to be forced when the access is permitted is included.
[0058]
The capabilities in the capability list and the capabilities required for the access permission are configured as a variable-length list of attribute names and attribute values, and the capability conditions required for the access permission are set as capabilities. It is configured as a variable length list of the attribute name and attribute value conditions included, and the capability forcing function is a variable length list of attribute names and attribute values that are forcibly added or overwritten to the capability. When the capability forcing unit 38 weakens the capability, the capability authority is deleted or the capability name and attribute value are added to the capability. This is done by adding a pair.
[0059]
Further, in FIG. 6, instead of the capability forcing unit 38 shown in FIG. 3, the information held by the subject based on the attribute name and the attribute value forcibly added or overwritten to the capability, and the subject An authentication information collection unit 42 that collects information necessary for authentication from designated information and information held by the computer system unique to each subject, information collected by the authentication information collection unit 42, and presetting And the authentication server 2 that verifies the validity of the subject from the information for verifying the validity of the subject, and the capability forcing unit 40 uses the attribute name and the attribute based on the verification result by the authentication server 2 The value is forcibly added or overwritten to the capability in the capability list.
[0060]
The access control apparatus according to the embodiment of the present invention is further installed in a computer apparatus provided with predetermined hardware and predetermined basic software installed in the hardware, thereby making the computer apparatus an access control apparatus according to the present invention. This is realized by installing the software in a computer device using a recording medium on which software corresponding to the device is recorded. Thereby, the computer apparatus executes the access control method of the present invention.
[0061]
In the following, embodiments of the present invention will be described in more detail.
[0062]
FIG. 1 shows an embodiment of the present invention. In this embodiment, the access control method according to the present invention is implemented in the operating system 13. All access requests 6 issued from the process 1 are subjected to access control according to the present invention in the access control unit 3, and only the access requests 8 permitted here are processed in the remaining part of the operating system. According to the present embodiment, the independence of the portion for realizing the access control is strengthened, and the modification of the operating system for realizing the access control method according to the present invention can be reduced.
[0063]
In the present application, an embodiment using a UNIX and UNIX-compatible operating system is shown as a base operating system, but the applicable range of the present invention is not limited to a UNIX and UNIX-compatible operating system. . Also, it does not depend on hardware architecture, such as a single processor system, a multiprocessor system, or a distributed computing system.
[0064]
In this embodiment, a subject (access subject) is a process (a program running on the operating system and a unit for allocating resources provided by the operating system), and an object (access target) is a file or other operating system. It is a resource to be provided. The capability list holding unit 4 is placed on a protected memory area on the system.
[0065]
The process 1 can indicate which capability in the capability list holding unit 4 held by the process itself, but cannot directly access or change the contents of the capability. Process 1 uses the capabilities held by its own process to pass a duplicate of the capability to another process (but only if it is permitted by the authority in the capability) It is possible to delete and weaken the capability.
[0066]
When a duplicate of a process is created, that is, when a child process is created, the capability list of the parent process is copied and taken over by the child process. When a new program is read and started, whether or not the capability is inherited is determined depending on the authority of each capability in the capability list.
[0067]
(Capability)
FIG. 2 is an example of capabilities. An example of the authority 22 in the capability is shown below.
[0068]
d (duplicate / modify): an authority for passing the capability copy to another process, removing an arbitrary authority from the authority field of the capability, or taking over the capability when a new program is started. a (allocate): Resource allocation authority. If this permission is not set during the capability, requests that require resource allocation (file creation, additional file size writing, process creation, etc.) are not allowed.
r (read): Read Right Limit. Permission to read data from files.
w (write): Write authority. Permission to write data to a file (overwrite).
x (execute): Execution authority. The right to execute a file as a program, the right to search a directory, and the right to create a socket (endpoint of communication).
[0069]
The simplest examples of cid 23 in the capability include uid (user identifier) and gid (user group identifier). In cid, uid is handled as it is, and gid is handled as cid = − (gid + 1). Capabilities are protected by the operating system, so no encryption is required. A more general example is a method of generating a unique number in the system and assigning that number to (a set of) rights to a particular object.
[0070]
In the present embodiment, as a description of capability, a character string representing authority and a value of uid or gid enclosed in [] are used.
[0071]
For example, as a capability list
[Darwx uid = 201] [darwx gid = 31]
Can exercise all the authority as uid = 201, gid = 31.
[--R-- uid = 9] [-a-w-uid = 201] [-a-w-gid = 31]
Can hold only read authority when uid = 9 and only resource allocation authority and write authority when uid = 201 and gid = 31. Since this process does not hold execution authority, a new program cannot be started.
[-Ar-x uid = 9] [-ar-x gid = 9]
Uid = 9 and gid = 9 can exercise resource allocation authority, read authority, and execution authority. Since this process does not hold the capability duplication authority, even if a new program is started in this process, the capability list becomes an empty process. Even if a process with such a capability list is hijacked, it will not be possible to launch a program that obtains some useful information. In other words, by setting the necessary minimum authority, even if the program is hijacked, damage can be minimized. Capability forcing described later is for forcibly setting such capability list.
[0072]
(Access control process flow)
Hereinafter, the flow of access control will be described with reference to FIG. First, the ACL repository 34 is set. The ACL repository 34 stores an access control list for each object, and the access control list can be searched by the object identifier 31. The access control list is also allowed to make changes while the system is operating. For this reason, the access control list itself is also handled as an object.
[0073]
When the operating system 13 receives the access request 6 from the process 1, the object to be accessed is converted into the object identifier 31, the ACL repository 34 is searched, and the access control list 35 of the object is taken out. Subsequently, it is determined from the three pieces of information of the access control list 35, the access type 32, and the capability list 7 held by the process whether access to the object should be permitted (36).
[0074]
When the operating system permits access to the object, the compulsory capability list 10 is obtained from the capability list 7 held by the process using the capability forcing function list 37 in the access control list (40). And a capability list of processes.
[0075]
(Access control list and capability enforcement)
FIG. 4 is an example of an entry in the access control list. An example of the access right 62 in the access control list entry is shown below.
[0076]
m (modify): Authority to change the access control list.
a (allocate): Resource allocation authority. If the access control list does not have this authority, requests that require resource allocation (file registration in the directory, file size expansion, process creation, etc.) are rejected.
r (read): Read authority. Permission to read data from files.
w (write): Write authority. Permission to write data to a file.
x (execute): Execution authority. The right to execute a file as a program, the right to search a directory, and the right to create a socket (endpoint of communication).
[0077]
In order to enable the authority to change the access control list, at least the authority in the capability must be included. In order to make other resource allocation authority, read authority, write authority, and execution authority effective, at least both the authority in the capability and the access authority in the corresponding access control list must be set. Further, the access right in the access control list set when a new object such as a file is created cannot exceed the right in the corresponding capability.
[0078]
The capability condition 63 necessary for access permission describes the authority condition and cid condition in the capability as a logical expression. In many cases, the authority condition in the capability can be uniquely determined from the access right representing the access type, so the authority condition in the capability can be omitted.
[0079]
An example of the capability forcing function 64 in the access control list is shown below.
[0080]
f (flash): The capability list is emptied.
i (insert): The argument capability is added to the capability list.
m (modify): Takes a logical product of authorities for the capabilities in the capability list having the same cid as that of the capability of the argument.
, (Concatenate): The functions are applied in order from the front.
[0081]
In this embodiment, the notation of the access control list uses a character string representing an access right, a value of uid or gid, and a description of a capability forcing function following:.
[0082]
(Example of access control list)
marw-uid = 201
Can be accessed by a process having a capability satisfying uid == 201, and the access control list can be changed, resources can be allocated, read and written.
[0083]
marwx uid = 10
The directory specified by can be accessed by processes with capabilities that satisfy uid = 10, and can change the access control list, register and read files, rename files, delete files, and search directories. It is.
-Ar-x uid = 201
Can be accessed by a process having capabilities that satisfy uid = 201, and file registration, reading, file name change, and directory search are possible.
--- xany: [-a-w-any], i [--r--uid = 9]
Can be executed by a process having a capability including an arbitrary execution authority, and when this object is executed, all the capabilities of the process are determined according to the authority and the logic of -aw. The product is modified so that the product is taken, and the capability of reading authority with uid = 9 is added to the capability list. The capability list of the process is
[Darwx uid = 201] [darwx gid = 31]
If this is the case,
[--R-- uid = 9] [-a-w-uid = 201] [-a-w-gid = 31]
It becomes.
[0084]
(Capability by attribute)
The present invention also proposes a method of using a variable-length list of attributes (a combination of an attribute name and an attribute value) as a capability expression. This can be realized by replacing the cid field 23 with an attribute list. An example is shown in FIG.
[0085]
There is no restriction on what kind of attribute is used, and what can be used for determination for restricting access can be used as an attribute. In addition to the attributes provided by the system, it is also possible to use attributes that can be freely defined by the interested party. Examples of attributes are shown below.
User identifier (uid): An identification number assigned to each user of the system.
User group identifier (gid): an identification number assigned to each user group of the system.
Program identifier (progid): An identification number assigned to each program.
Application identifier (applied): an identification number assigned to each type of application (application group).
Information origin identifier: an identification number assigned to each origin of information. Distinguish between trusted sites / untrusted sites / local. The notation is also treated as an information origin name (orig).
Security level (sl): represents a confidential classification, and can be considered as general (unclassified), confidential, confidential (secret), confidential (topsecret), and the like.
CPU utilization (pcpu): CPV utilization reserved for the process.
Network Bandwidth Usage (pnwb): Network bandwidth usage reserved for the process.
Maximum number of child processes (nproc): The maximum number of child processes that a process can hold.
Maximum number of simultaneous use (nopen): The maximum number of processes that can use a file simultaneously.
Maximum file size (fsize): Maximum value of a file that can be generated.
[0086]
As a description of capability by attribute, a character string representing authority is used followed by “attribute name = list of attribute value” enclosed in [].
[0087]
(Access control when using capabilities based on attributes)
Removing one or more authorities from a capability or adding one or more attributes to a capability is considered to weaken the capability relatively. Therefore, “capability C1 is weaker than capability C2” means “C1 ≠ C2, C1 includes all attributes included in C2, and C2 includes all authorities included in C1”. Define. For example, the capability [rightsx, y, z] is a weakening of [rights x, y], and if an object is accessible with [rights x, y, z], then [rights x, y] ] Is also accessible in the same manner. In other words, the set of objects accessible by [rights x, y, z] is a subset of [rights x, y]. However, when such access is permitted, the effect of compulsory capability disappears. i When accessing with ghts x, y], z is automatically forced. This is called “implicit enforcement”.
[0088]
An example of the capability forcing function when the capability by attribute is used is shown below.
f (flash): The capability list is emptied.
i (insert): The argument capability is added to the capability list.
m (modify): For each capability in the capability list, a logical product with the capability authority of the argument is taken and an attribute of the capability of the argument is added. If the same attribute name already exists, the attribute value of that attribute name is replaced.
, (Concatenate): The functions are applied in order from the front.
[0089]
As a capability condition necessary for permission of access, a privilege condition and an attribute condition in the capability are described as a logical expression. In many cases, the authority condition in the capability can be uniquely determined from the access right representing the access type, so the authority condition in the capability can be omitted.
[0090]
(Flow of access control processing with attribute authentication)
The present invention also proposes a method of performing subjecting of a subject based on information on the subject when forcing capability (38) and forcing capability based on the authentication result. Hereinafter, the flow of access control will be described with reference to FIG.
[0091]
First, the ACL repository 34 is set. The ACL repository 34 stores an access control list for each object, and the access control list can be searched by the object identifier 31. The access control list is also allowed to make changes while the system is operating. For this reason, the access control list itself is also handled as an object.
[0092]
When the operating system 13 receives the access request 6 from the process 1, the object to be accessed is converted into the object identifier 31, the ACL repository 34 is searched, and the access control list 35 of the object is taken out. Subsequently, it is determined from the three pieces of information of the access control list 35, the access type 32, and the capability list 7 held by the process whether access to the object can be permitted (36).
[0093]
If it is determined that access to the object can be permitted, the capability forcing function list 37 in the access control list is applied to the capability list 7 held by the process (38). Capability forcing functions include the following four.
Empty the f (flash) capability list.
The capability of the argument is added to the i (insert) capability list.
In the case of an attribute that does not require m (modify / authenticate) authentication, for each capability in the capability list, a logical product with the capability authority of the argument is taken, and the capability attribute of the argument is added. In the case of an attribute that requires authentication, for each capability in the capability list, the authentication server 2 that handles the capability attribute of the argument is called, and if the authentication is successful, the attribute is added to the capability. Logical AND with argument capability authority. If authentication fails, it is assumed that the capability forcing failed. , (Concatenate) function is applied in order from the front.
[0094]
If the forcible capability fails, access to the object is disallowed. Otherwise, the forced capability list 10 is made the process capability list and access to the object is permitted.
[0095]
The authentication server 2 is called with an attribute name, an attribute value, and other information 12 necessary for authentication. Then, the data is verified against the authentication data held by the authentication server itself, and the result 11 is returned.
[0096]
(Authentication server)
An authentication server can be placed for each attribute to be authenticated and for each attribute of the capability being enforced. Advantages of doing so include the following reasons.
(1) By minimizing the program size of each authentication server, design and coding bugs are avoided as much as possible, and even if one of the authentication servers is hijacked, damage is minimized. It can be kept in.
(2) By preparing an authentication server according to the attribute of the capability, for example, an authentication method can be selected according to the type of application and the security level.
[0097]
When implementing an authentication server, use the operating mode of the operating system, start the authentication server in the maintenance mode or equivalent operation mode, and stop or start the authentication server in the normal operation mode. It is desirable not to allow it. In addition, it is desirable that the authentication data used by the authentication server is allowed to be arbitrarily read / written only in the maintenance mode or the corresponding operation mode, and in the normal operation mode, it is prohibited to write or overwrite. .
[0098]
The uid, gid, proid, applied, and origin can be handled as attributes that require authentication as shown below.
uid: The uid authentication server obtains information that can identify a user such as a user name and a password, and performs authentication by collating with data held by the authentication server in order to authenticate the user.
gid: The gid authentication server receives the capability, verifies the uid attribute in the capability, and returns the gid for the group to which the uid belongs.
progid: Authentication is performed by verifying an electronic signature for a program developed on the memory. For example, a hash value by a hash function such as MD5 or SHA-1 of the program code is sent to the authentication server, and the authentication server collates the program identifier held by itself with the hash value.
applied: The applied authentication server takes the capability as an input, verifies the progid attribute in the capability, and returns an apply for the application group to which the progid belongs.
origin: The origin authentication server takes as input a list of files, devices, sockets, and the like accessed by the process, verifies what information origin is accessing, and returns the origin to that.
[0099]
【The invention's effect】
As described above, according to the present invention, in access control in a computer system, an object to be accessed and a subject to be accessed are classified in detail, and a specific restriction is forcibly added based on the classification. Make it possible. This eliminates a single privileged user and minimizes the damage caused by hijacking the program, or eliminates hijacking of the program and provides access control that is unified throughout the system, thereby improving the security of the computer system. Can be increased.
[Brief description of the drawings]
FIG. 1 is a block diagram of an entire system according to an embodiment of the present invention.
FIG. 2 is a diagram showing capabilities according to an embodiment of the present invention.
FIG. 3 is a block diagram showing a flow of access control processing according to the embodiment of the present invention.
FIG. 4 is a diagram showing entries in an access control list according to the embodiment of the present invention.
FIG. 5 is a diagram illustrating capabilities including attributes according to an embodiment of the present invention.
FIG. 6 is a block diagram showing a flow of access control processing with attribute authentication according to the embodiment of the present invention.
[Explanation of symbols]
1 process
2 Authentication server
3 Access control unit
4 Capability list holding part
5 Request acceptance department
6 Access request
7 Capability list before object access
8 Permitted access requests
9 Access permission flag
10 Capability list after object access check
11 Authentication results
12 List of information required for authentication
13 Operating system
22,52 Authority in capabilities
23 Capability identifier cid
31 Object identifier
32 Access type
34 ACL Repository
35 Access control list
36 Access Authority Inspection Department
37 List of capability forcing functions
38, 40 Capability forcing part
41 List of attribute name / attribute value pairs and capability list
42 Information collection unit for authentication
51 Total data length of capability
53 Attribute value length 1
54 Attribute name 1
55 Attribute value 1
56 Attribute value length 2
57 Attribute name 2
58 Attribute value 2
62 Access rights
63 Capability requirements for permission
64 Capability forcing function

Claims (14)

コンピュータシステム用のアクセス制御方法であって、
前記コンピュータシステムおよび前記コンピュータシステム中のデータベースに存在するアクセス可能なあらゆるオブジェクトのひとつひとつに対するアクセス制御情報を記憶手段に格納しておき
前記コンピュータシステムを使用中の特定のサブジェクトから特定のオブジェクトへのアクセス要求があると、アクセス制御部において当該アクセスの種別および前記記憶手段に格納されたアクセス制御情報ならびに当該サブジェクトが保持するケーパビリティリストを参照して当該サブジェクトからの当該オブジェクトへのアクセスの許可を決定するステップを含み
このアクセスの許可を決定するステップにおいて、アクセスを許可する場合には前記サブジェクトが保持するケーパビリティリストのケーパビリティを変更させ、変更が拒否されたときはアクセスを許可しないステップを含む
ことを特徴とするアクセス制御方法。
An access control method for a computer system, comprising:
Access control information for each accessible object existing in the computer system and a database in the computer system is stored in storage means ,
When there is an access request from a specific subject using the computer system to a specific object , the access control unit stores the access type, the access control information stored in the storage means, and the capability list held by the subject. Determining permission to access the object from the subject with reference to
The step of determining permission of access includes a step of changing the capability of the capability list held by the subject when permitting access and not permitting access when the change is rejected. Access control method.
前記アクセス許可を決定するための情報として、前記サブジェクトがアクセスしようとしているオブジェクトおよびそのアクセス種別と、前記オブジェクトのアクセス制御情報と、前記サブジェクトが保持するケーパビリティリストとを用い、
前記アクセス制御情報として、アクセス種別と、アクセス許可に必要なケーパビリティの条件と、アクセスが許可されたときに強制されるケーパビリティとの組をエントリとするアクセス制御リストを含み、
前記アクセス許可を決定するための情報に、当該アクセス種別におけるアクセス許可に必要なケーパビリティの条件を満たす当該サブジェクトが保持しているケーパビリティリスト中の有効なケーパビリティと当該オブジェクトのアクセス制御リスト中のエントリとの組合せが少なくとも1つは存在する場合にのみ当該オブジェクトのアクセスが許可される請求項1記載のアクセス制御方法。
As information for determining permission of the access, the object that the subject is trying to access and its access type, access control information of the object, and a capability list held by the subject,
The access control information includes an access control list having an entry of a set of an access type, a capability condition necessary for permitting access , and a capability forced when access is permitted,
In the information for determining the permission of access, an effective capability in the capability list held by the subject that satisfies the capability condition necessary for the access permission in the access type and the access control list of the object The access control method according to claim 1, wherein access to the object is permitted only when there is at least one combination with the entry.
前記ケーパビリティリスト中の任意のケーパビリティを前記サブジェクト自体が変更する場合には、ケーパビリティを廃棄するかあるいはケーパビリティを弱めることが限定的に認められる請求項1または2記載のアクセス制御方法。  3. The access control method according to claim 1, wherein, when an arbitrary capability in the capability list is changed by the subject itself, it is permitted to discard the capability or weaken the capability on a limited basis. 前記アクセスが許可されたときに強制されるケーパビリティの指定として、強制される前のケーパビリティリストを入力とし、強制された後のケーパビリティリストを出力するケーパビリティ強制関数を含む請求項1または2記載のアクセス制御方法。  A capability forcing function for inputting a capability list before being forced as an input and specifying a capability list to be forced when the access is permitted, and outputting a capability list after being forced. 3. The access control method according to 2. 前記ケーパビリティリスト中のケーパビリティおよび前記アクセス許可に必要なケーパビリティを、属性名と属性値とを組とした可変長のリストとして構成し、
前記アクセス許可に必要なケーパビリティの条件を、ケーパビリティに含まれる属性名および属性値の条件の可変長のリストとして構成し、
前記ケーパビリティ強制関数を、ケーパビリティに強制的に追加もしくは上書きする属性名と属性値とを組とした可変長のリストとして構成し、もしくは、ケーパビリティに強制的に施される演算として定義し、
前記ケーパビリティを弱めるときには、ケーパビリティの権限を削除する、あるいは、ケーパビリティに属性名と属性値との組を追加することによって行なう
請求項2ないし4のいずれかに記載のアクセス制御方法。
The capabilities in the capability list and the capabilities required for permitting the access are configured as a variable-length list of attribute names and attribute values,
The capability conditions necessary for permitting the access are configured as a variable-length list of attribute name and attribute value conditions included in the capability,
The capability forcing function is configured as a variable-length list of attribute names and attribute values that are forcibly added or overwritten to the capability, or is defined as an operation that is forcibly performed on the capability. ,
5. The access control method according to claim 2, wherein when the capability is weakened, the capability authority is deleted or a combination of an attribute name and an attribute value is added to the capability.
アクセスを許可する場合には前記サブジェクトが保持するケーパビリティリストのケーパビリティを変更させ、変更が拒否されたときはアクセスを許可しないステップ
前記ケーパビリティに強制的に追加もしくは上書きする属性名および属性値に基づいて、
前記サブジェクトが保持する情報と、前記サブジェクトから指定された情報と、前記サブジェクトごとに固有の前記コンピュータシステムが保持する情報とから認証に必要な情報を収集するステップと、
のステップで収集された情報と、あらかじめ設定されたサブジェクトの正当性を検証するための情報とから前記サブジェクトの正当性を検証するステップと、
のステップでの検証結果に基づいて、属性名と属性値を前記ケーパビリティリスト中のケーパビリティに強制的に追加、もしくは、上書きするステップと
含む請求項1または5記載のアクセス制御方法。
The allowed subjects to modify the capability of the capability list held in the case to allow access, steps that do not allow access when a change is rejected,
Based on attribute names and attribute values that are forcibly added or overwritten to the capability,
The information the subject held, the information specified from the subject, and Luz step to collect information required for authentication from the information held inherent said computer system for each of the subject,
And the child of the scan information that has been collected in the step, and Luz steps to verify the validity of the subject from the information in order to verify the validity of the subject that has been set in advance,
Based on the verification result at this step, force the addition of attribute names and attribute values to capabilities in the capability list, or access according to claim 1 or 5, wherein including an automatic answering step overwriting Control method.
コンピュータシステム用のアクセス制御装置であって、
前記コンピュータシステムおよび前記コンピュータシステム中のデータベースに存在するアクセス可能なあらゆるオブジェクトのひとつひとつに対するアクセス制御情報を記憶する手段と、
前記コンピュータシステムを使用中の特定のサブジェクトから特定のオブジェクトへのアクセス要求があると、当該アクセスの種別および前記記憶手段に格納されたアクセス制御情報ならびに当該サブジェクトが保持するケーパビリティリストを参照してオブジェクトへのアクセスの許可を決定する手段と、
当該サブジェクトのアクセスを許可する場合には当該サブジェクトが保持するケーパビリティリストのケーパビリティを変更させ、変更が拒否されるとアクセスを拒否するケーパビリティの強制手段と
を備える
ことを特徴とするアクセス制御装置。
An access control device for a computer system,
Means for storing access control information for each accessible object present in the computer system and a database in the computer system;
When there is an access request from a specific subject using the computer system to a specific object, refer to the access type, the access control information stored in the storage means, and the capability list held by the subject. A means of determining permission to access the object;
The access control is provided with a capability forcing means for changing the capability of the capability list held by the subject when permitting access to the subject and denying access when the change is rejected. apparatus.
前記アクセス許可を決定するための情報として、
前記サブジェクトがアクセスしようとしているオブジェクトおよびそのアクセス種別と、
前記オブジェクトのアクセス制御情報と、
前記サブジェクトが保持するケーパビリティリストと
を用い、
前記アクセス制御情報として、アクセス種別と、アクセス許可に必要なケーパビリティの条件と、アクセスが許可されたときに強制されるケーパビリティと
の組をエントリとするアクセス制御リストを含み、
前記アクセス許可を決定する手段は、前記アクセス許可を決定するための情報に、当該アクセス種別におけるアクセス許可に必要なケーパビリティの条件を満たす当該サブジェクトが保持しているケーパビリティリスト中の有効なケーパビリティと当該オブジェクトのアクセス制御リスト中のエントリとの組合せが少なくとも1つは存在する場合にのみ当該オブジェクトのアクセスを許可する手段を含む
請求項7記載のアクセス制御装置。
As information for determining the permission of the access,
The object that the subject is trying to access and its access type;
Access control information of the object;
Using the capability list held by the subject,
The access control information includes an access control list having an entry of a set of an access type, a capability condition necessary for permitting access , and a capability forced when access is permitted,
Means for determining the permission of the access, the information for determining the permission of the access, the capability in capability list satisfy the subject of the capabilities necessary to allow access in the access type holds 8. The access control apparatus according to claim 7, further comprising means for permitting access to the object only when at least one combination of a valid capability and an entry in the access control list of the object exists.
前記ケーパビリティリスト中の任意のケーパビリティを前記サブジェクト自体が変更する手段が設けられ、
この変更する手段は、ケーパビリティを廃棄する手段と、ケーパビリティを弱める手段とを備えた
請求項7または8記載のアクセス制御装置。
Means for changing any capability in the capability list by the subject itself;
The access control apparatus according to claim 7 or 8, wherein the means for changing comprises means for discarding capabilities and means for weakening capabilities.
前記アクセスが許可されたときに強制されるケーパビリティの指定として、強制される前のケーパビリティリストを入力とし、強制された後のケーパビリティリストを出力するケーパビリティ強制関数を含む請求項7ないし9のいずれかに記載のアクセス制御装置。  A capability forcing function for inputting a capability list before being forced as an input of a capability list before being forced and outputting a capability list after being forced as a specification of the capability to be forced when the access is permitted. The access control apparatus according to any one of 9. 前記ケーパビリティリスト中のケーパビリティおよび前記アクセス許可に必要なケーパビリティを属性名と属性値とを組とした可変長のリストとして構成し、
前記アクセス許可に必要なケーパビリティの条件をケーパビリティに含まれる属性名および属性値の条件の可変長のリストとして構成し、
前記ケーパビリティ強制関数を、ケーパビリティに強制的に追加もしくは上書きする属性名と属性値とを組とした可変長のリストとして構成し、もしくは、ケーパビリティに強制的に施される演算として定義し、
前記ケーパビリティを弱める手段は、ケーパビリティの権限を削除する手段と、ケーパビリティに属性名と属性値の組を追加する手段とを含む
請求項8ないし10のいずれかに記載のアクセス制御装置。
The capability to configure the capabilities and capabilities needed to allow the access in capability list and attribute names and values as a list of variable length which is a set,
The Configure condition of capabilities needed to allow access as a list of conditions for the attribute names and values variable-length included in the capability,
The capability forcing function is configured as a variable-length list of attribute names and attribute values that are forcibly added or overwritten to the capability, or is defined as an operation that is forcibly performed on the capability. ,
The access control apparatus according to any one of claims 8 to 10, wherein the means for weakening the capability includes means for deleting capability authority and means for adding a combination of an attribute name and an attribute value to the capability.
前記ケーパビリティ制手段に換えて、
前記ケーパビリティに強制的に追加もしくは上書きする属性名および属性値に基づいて、
前記サブジェクトが保持する情報と、前記サブジェクトから指定された情報と、前記サブジェクトごとに固有の前記コンピュータシステムが保持する情報とから認証に必要な情報を収集する手段と、
この収集する手段により収集された情報とあらかじめ設定されたサブジェクトの正当性を検証するための情報とから前記サブジェクトの正当性を検証する手段と
を備え、
前記ケーパビリティ強制手段は、この正当性を検証する手段による検証結果に基づいて属性名および属性値を前記ケーパビリティリスト中のケーパビリティに強制的に追加もしくは上書きする手段を含む
請求項7または11記載のアクセス制御装置。
In place of the strength Seite stage of the capability,
Based on attribute names and attribute values that are forcibly added or overwritten to the capability,
Means for collecting information required for authentication from information held by the subject, information specified from the subject, and information held by the computer system unique to each subject;
Means for verifying the validity of the subject from the information collected by the means for collecting and information for verifying the validity of the subject set in advance,
Force means of the capability is or claim 7 including means for forcibly add or override an attribute name and attribute value capability in the capability list on the basis of the verification result by the means for verifying the validity 11. The access control device according to 11.
所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置に請求項1ないし6のいずれかに記載のアクセス制御方法を実行させるソフトウェアが記録された記録媒体。  The access control method according to any one of claims 1 to 6 is executed on a computer device provided with predetermined hardware and predetermined basic software installed on the hardware, thereby further installing the computer device. Recording media on which software to be recorded is recorded. 所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を請求項7ないし12のいずれかに記載のアクセス制御装置に相応する装置として機能させるソフトウェアが記録された記録媒体。The computer apparatus corresponding to the access control apparatus according to any one of claims 7 to 12 is further installed in a computer apparatus including predetermined hardware and predetermined basic software installed in the hardware. recording medium which software has been recorded to apparatus and to the ability to.
JP2000337888A 2000-11-06 2000-11-06 ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM Expired - Fee Related JP3756397B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000337888A JP3756397B2 (en) 2000-11-06 2000-11-06 ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000337888A JP3756397B2 (en) 2000-11-06 2000-11-06 ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM

Publications (2)

Publication Number Publication Date
JP2002149494A JP2002149494A (en) 2002-05-24
JP3756397B2 true JP3756397B2 (en) 2006-03-15

Family

ID=18813198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000337888A Expired - Fee Related JP3756397B2 (en) 2000-11-06 2000-11-06 ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP3756397B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0212315D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device with protected file systems
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
JP4280110B2 (en) * 2003-05-16 2009-06-17 日本電信電話株式会社 Attribute approval device
JP2007034341A (en) * 2003-08-22 2007-02-08 Nec Corp Computer system, program execution environmental implementation used for computer system, and program therefor
EP1873678A4 (en) 2005-03-24 2013-10-09 Nec Corp Access right judgment system, access right judgment method, and access right judgment program
JP5227053B2 (en) * 2008-03-14 2013-07-03 エヌ・ティ・ティ・コミュニケーションズ株式会社 Authentication system, authentication method, server device, authentication device, program
JP5566341B2 (en) * 2011-06-01 2014-08-06 株式会社エヌ・ティ・ティ・データ Mobile terminal, mobile terminal control method, mobile terminal control program
EP2696303B1 (en) * 2012-08-03 2017-05-10 Alcatel Lucent Mandatory access control (MAC) in virtual machines
JP6783812B2 (en) * 2018-03-13 2020-11-11 株式会社東芝 Information processing equipment, information processing methods and programs
CN108874863B (en) 2018-04-19 2022-03-25 华为技术有限公司 Data access control method and database access device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859966A (en) * 1995-10-10 1999-01-12 Data General Corporation Security system for computer systems
JPH1049443A (en) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Information processing system
JP3765191B2 (en) * 1998-09-21 2006-04-12 富士ゼロックス株式会社 Object access control method

Also Published As

Publication number Publication date
JP2002149494A (en) 2002-05-24

Similar Documents

Publication Publication Date Title
CN109923548B (en) Method, system and computer program product for implementing data protection by supervising process access to encrypted data
Bishop A taxonomy of unix system and network vulnerabilities
JP3784423B2 (en) Improved method for data security and computer system
US7810153B2 (en) Controlling execution of computer applications
JP2686218B2 (en) Alias detection method on computer system, distributed computer system and method of operating the same, and distributed computer system performing alias detection
US7461249B1 (en) Computer platforms and their methods of operation
RU2408069C2 (en) Coordinated authority
US7660797B2 (en) Scanning data in an access restricted file for malware
US7308450B2 (en) Data protection method, authentication method, and program therefor
JP4975127B2 (en) Apparatus for providing tamper evidence to executable code stored on removable media
US20090282457A1 (en) Common representation for different protection architectures (crpa)
CN101366040A (en) Management of user access to objects
WO2007052388A1 (en) Method of protecting confidential file and confidential file protecting system
US20070079364A1 (en) Directory-secured packages for authentication of software installation
Pramanik et al. Security policies to mitigate insider threat in the document control domain
JP3756397B2 (en) ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM
CN1633085A (en) An access control method based on non-grade inter-role mapping
US20050038790A1 (en) Device and method for establishing a security policy in a distributed system
US20090204544A1 (en) Activation by trust delegation
Bishop et al. Goal-oriented auditing and logging
Zhang et al. SELinux-based operating system security research
CN118862085A (en) Manageable operating system based on active immunity
Holford et al. The concept of self-defending objects in the development of security aware applications
Lee et al. Vulnerabilities leading to denial of services attacks in grid computing systems: a survey
Jerbi et al. An access control reference architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051124

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: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051221

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

Free format text: PAYMENT UNTIL: 20100106

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120106

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees