JP2002149494A - アクセス制御方法およびアクセス制御装置および記録媒体 - Google Patents

アクセス制御方法およびアクセス制御装置および記録媒体

Info

Publication number
JP2002149494A
JP2002149494A JP2000337888A JP2000337888A JP2002149494A JP 2002149494 A JP2002149494 A JP 2002149494A JP 2000337888 A JP2000337888 A JP 2000337888A JP 2000337888 A JP2000337888 A JP 2000337888A JP 2002149494 A JP2002149494 A JP 2002149494A
Authority
JP
Japan
Prior art keywords
capability
access
subject
list
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.)
Granted
Application number
JP2000337888A
Other languages
English (en)
Other versions
JP3756397B2 (ja
Inventor
Satoshi Moriai
敏 盛合
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/ja
Publication of JP2002149494A publication Critical patent/JP2002149494A/ja
Application granted granted Critical
Publication of JP3756397B2 publication Critical patent/JP3756397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 アクセス対象であるオブジェクトおよびアク
セス主体であるサブジェクトを詳細に分類し、その分類
に基づいて特有の制限を強制的に加える。単一の特権利
用者を排除し、プログラムの乗っ取りによる被害を最小
限にとどめ、もしくは、プログラムの乗っ取りを排除
し、セキュリティを高める。 【解決手段】 アクセス主体であるサブジェクトはサブ
ジェクトの権限をあらわすケーパビリティリストを保持
し、アクセス対象であるオブジェクトはオブジェクトの
アクセスを許可するために必要なケーパビリティの条件
を表すアクセス制御リストを保持し、ケーパビリティリ
スト中のケーパビリティの少なくとも1つが、アクセス
制御リスト中のアクセス許可に必要なケーパビリティの
条件の少なくとも1つを満たすとき、オブジェクトヘの
アクセスが許可され、オブジェクトヘのアクセスが許可
された場合に、オブジェクトごとに定義されたケーパビ
リティ強制の指定に基づき、サブジェクトが持つケーパ
ビリティを強制的に変更する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムに関し、特にコンピュータシステムにおいてアクセ
ス制御によってコンピュータシステム中の資源を保護
し、コンピュータシステム中の資源へのアクセスを正確
に制御する方法に関する。
【0002】
【従来の技術】コンピュータ技術および通信技術の進展
に伴い、ますます多くのコンピュータがネットワークを
介して接続されるようになり、組織やコミュニティに閉
じていたコンピュータネットワークが、全地球的なネッ
トワークへと変化してきている。しかしながら、セキュ
リティ面での考慮がなされていない中での普及となって
おり、コンピュータシステム中の情報の無許可アクセス
や無許可の書き換え、コンピュータシステム上で提供さ
れるサービスの妨害など、セキュリティ上の問題が多発
している。
【0003】今日、コンピュータネットワーク上の大半
のコンピュータは、UNIX(登録商標)、その互換オ
ペレーティングシステム、もしくは、UNIXから多大
な影響を受けたオペレーティングシステムで運用されて
いる。前記のセキュリティ上の問題が多発している原因
はこれらのオペレーティングシステムがアクセス制御の
観点からは大きな問題を抱えていることにある。
【0004】
【発明が解決しようとする課題】問題の第1は、単一の
特権利用者(スーパユーザ)権限によってシステムを保
護している点にある。スーパユーザ権限があれば、オペ
レーティングシステムで提供されるすべての資源が制御
可能となり、読み取りや書き込みの禁止が設定された資
源でも、物理的に不可能でない限り、その設定を解除
し、読み取りや書き込みが可能である。このため、シス
テム上に多数存在するスーパユーザ権限で動作するプロ
グラムが乗っ取られると、システムに関する全ての権限
を奪取されてしまう。
【0005】問題の第2は、認証がシステムへのログイ
ン時に利用者についてのみ行われる点にある。プログラ
ムを格納したファイルや実行中のプログラムを認証する
機構がないため、何らかの手段でプログラムが置き換え
られても発覚が遅れる危険性がある。
【0006】問題の第3は、システムに登録されていな
い利用者に対するアクセス制御が行えない点にある。こ
のため、情報提供サービスプログラムなどでは、情報に
対するアクセス制御を行うためのコードがアプリケーシ
ョンプログラムに組み込まれている。
【0007】しかし、このようなアプリケーションプロ
グラムが独自に行うアクセス制御についてはオペレーテ
ィングシステムが提供する保護機構を利用できないた
め、プログラム上の不具合による不正な情報アクセスの
危険性は高まってしまう。また、アプリケーションごと
にアクセス制御が提供されるため、アプリケーションご
とにその設定方法が異なり、システム全体を統一して管
理運用を行うことが困難となっている。
【0008】問題の第4は、全てのプログラムが可能な
限りの最大の権限で動作する点にある。このため。本来
は特定のファイルのみをアクセスするように設計された
プログラムでも、想定外のファイルをアクセスすること
が常に可能な状態にあり、情報の不正な漏洩や書き換え
がいつでも発生し得る。また、不正なプログラムがシス
テムにインストールされた場合には、そのプログラムを
実行した利用者の最大の権限でそのプログラムが動作す
るため、前記と同様の状況が発生し得る。中間コードを
インタプリタプログラム上で実行させる場合や、単にデ
ータをデータ処理プログラムで処理する場合でも、イン
タプリタプログラムやデータ処理プログラム自体に不具
合があり得るため、これらのプログラムが本来アクセス
する資源以外へのアクセスを制限しなければ、同様の問
題が発生する。
【0009】アクセス制御に関する公知の技術として
は、Mamoru Maekawa,Arthur E.01dehoeft,Rodney R.0ld
ehoeft著,1987年 The Benjamin/Cummings Publishing C
ompany,Inc.刊,“Operating System Advanced Concept
s”(前川守監訳、1990年丸善株式会社刊,「オペレーティ
ングシステムの先進的概念」)、第8章コンピュータセキュ
リティに関する箇所,および,Dorothy E.R.Denning著,19
82年 Addison-Wesley Publishing Company,Inc.刊“Cry
ptography 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(RBA
C)がある。
【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/modif
y):ケーパビリティの複製を他のプロセスに渡した
り、ケーパビリティの権限フィールドから任意の権限を
取り除いたり、新たなプログラムを起動したときにケー
パビリティを引き継ぐための権限。 a(allocate):資源割り当て権限。ケーパビ
リティ中にこの権限が設定されていない場合には、資源
の割り当てが必要な要求(ファイルの生成、ファイルサ
イズの追加書き込み、プロセスの生成など)は許可され
ない。 r(read):読み取り楕限。ファイルなどからデー
タを読み取る権限。 w(write):書き込み権限。ファイルなどへデー
タを(上書きで)書き込む権限。 x(execute):実行権限。ファイルをプログラ
ムとして実行する権限、ディレクトリを検索する権限、
ソケット(通信の端点)を作成する権限。
【0069】ケーパビリティ中のcid23のもっとも
簡単な例としては、uid(利用者識別子)、gid
(利用者グループの識別子)がある。cid中では、u
idはそのまま、gidはcid=−(gid+1)と
して扱う。ケーパビリティはオペレーティングシステム
によって保護されているので、暗号化をする必要はな
い。より一般的な例としては、システム内で一意な数を
生成し、特定のオブジェクトへの権限(の集合)にその
数を割り当てる方法もある。
【0070】本形態においては、ケーパビリティの表記
として、権限を表す文字列とuidもしくはgidの値
を[]で囲んだものを用いる。
【0071】例えば、ケーパビリティリストとして [darwx uid=201〕〔darwx gid
=31] を保持するプロセスは、uid=201、gid=31
としての全ての権限を行使することができる。 [−−r−− uid=9〕[−a−w− uid=2
01][−a−w− gid=31] を保持するプロセスは、uid=9としては読み取り権
限のみを、uid=201、gid=31としては資源
割り当て権限と書き込み権限のみを、行使することがで
きる。このプロセスは実行権限を保持しないため、新た
なプログラムを起動することはできない。 [−ar−x uid=9][−ar−x gid=
9〕 を保持するプロセスは、uid=9、gid=9として
は資源割り当て権限、読み取り権限、実行権限を行使す
ることができる。このプロセスはケーパビリティの複製
権限を保持しないため、このプロセス内で新たなプログ
ラムを起動したとしても、ケーパビリティリストが空の
プロセスとなる。このようなケーパビリティリストを持
ったプロセスを乗っ取ったとしても、何らかの有益な情
報を得るプログラムを起動することはできないであろ
う。すなわち、必要最小限の権限に設定することで、プ
ログラムが乗っ取られたとしても、被害を最小限に食い
止めることが可能となる。後述するケーパビリティ強制
はこのようなケーパビリティリストの設定を、強制的に
実施するものである、
【0072】(アクセス制御の処理の流れ)以下では図
3に沿ってアクセス制御の流れを記述する。はじめにA
CLレポジトリ34の設定を行う。ACLレポジトリ3
4にはオブジェクトごとのアクセス制御リストが格納さ
れており、アクセス制御リストはオブジェクト識別子3
1によって検索することができる。アクセス制御リスト
はシステムが動作中に変更を行うことも許可される。こ
のため、アクセス制御リスト自体もオブジェクトとして
扱われる。
【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=2
01][−a−w− gid=31] となる。
【0084】(属性によるケーパビリティ)本発明で
は、ケーパビリティの表現として属性(属性名と属性値
との組)の可変長のリストを用いる方法も提案してい
る。これは、cidのフィールド23を属性リストに置
き換えることで実現できる。例を図5に示す。
【0085】属性としてどのようなものを用いるかには
制限はなく、アクセスを制限するための判断に利用でき
るものは属性として利用できる。また、システムが提供
する属性だけではなく、利相者が自由に定義できる属性
を利用することも可能である。属性の例を以下に示す。 利用者識別子(uid):システムの利用者ごとに割り
当てられた識別番号。 利用者グループ識別子(gid):システムの利用者グ
ループごとに割り当てられた識別番号。 プログラム識別子(progid):プログラムごとに
割り当てられた識別番号。 アプリケーション識別子(applid):アプリケー
ションの種類(アプリケーショングループ)ごとに割り
当てられた識別番号。 情報起源識別子(origid):情報の起源ごとに割
り当てられた識別番号。信頼のおけるサイト/信頼のお
けないサイト/ローカルなどの区別を行う。表記上は情
報起源名(orig)としても扱う。 セキュリティレベル(sl):機密分類を表し、一般
(unclassified)、秘密(confide
ntial)、極秘(secret)、機密(tops
ecret)などを考えることができる。 CPU使用率(pcpu):プロセスに対して予約され
たCPV使用率。 ネットワーク帯域使用率(pnwb):プロセスに対し
て予約されたネットワーク帯域幅の使用率。 子プロセス数の最大数(nproc):プロセスが保持
できる子プロセスの最大値。 同時利用最大数(nopen):ファイルを同時に利用
できるプロセス数の最大値。 ファイル最大サイズ(fsize):生成可能なファイ
ルの最大値。
【0086】属性によるケーパビリティの表記として
は、権限を表す文字列に引き続き、「属性名=属性値の
リスト」を[]で囲んだものを用いる。
【0087】(属性によるケーパビリティを用いた場合
のアクセス制御)ケーパビリティから1つ以上の権限を
削除したり、ケーパビリティへ1つ以上の属性を追加す
ることは、ケーパビリティを相対的に弱めるものと考え
る。そこで、「ケーパビリティC1がケーパビリティC
2より弱い」ということを「C1≠C2、かつ、C2に
含まれる全ての属性をC1が含み、かつ、C1に含まれ
る全ての権限をC2が含む」と定義する。例えば、ケー
パビリティ[rightsx,y,z]は[right
s x,y]を弱めたものであり、もし、あるオブジェ
クトが[rights x,y,z]でアクセス可能で
あるなら、[rights x,y]でも同様にアクセ
ス可能とする。言い換えると、[rights x,
y,z]でアクセス可能なオブジェクトの集合は、[r
ightsx,y]の部分集合となっている。しかし、
このようなアクセスを許可した場合に、ケーパビリティ
の強制の効果が消えてしまうため、[rlghts
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(flus
h)ケーパビリティリストを空にする。i(inser
t)ケーパビリティリストに引数のケーパビリティを追
加する。m(modify/authenticat
e)認証が不要な属性の場合には、ケーパビリティリス
ト中の各々のケーパビリティについて、引数のケーパビ
リティの権限との論理積をとり、引数のケーパビリティ
の属性を追加する。認証が必要な属性の場合には、ケー
パビリティリスト中の各々のケーパビリティについて、
引数のケーパビリティの属性を扱う認証サーバ2を呼出
し、認証が成功すれば、ケーパビリティにその属性を追
加し、引数のケーパビリティの権限との論理積をとる。
もし、認証が失敗したときは、ケーパビリティ強制に失
敗したとする。,(concatenate)関数を前
から順に適用する。
【0094】ケーパビリティ強制に失敗した場合には、
オブジェクトヘのアクセスを不許可とする。そうでない
場合には、強制されたケーパビリティリスト10をプロ
セスのケーパビリティリストとし、オブジェクトへのア
クセスを許可する。
【0095】認証サーバ2は属性名、属性値、その他の
認証に必要な情報12を伴って呼び出される。そして、
認証サーバ自体が保持する認証用のデータと照合し、認
証を行い、結果11を返す。
【0096】(認証サーバ)認証すべき属性や強制の対
象となっているケーパビリティの持つ属性ごとに認証サ
ーバを置くこともできる。このようにする利点としては
以下の理由が含まれる。 (1)個々の認証サーバのプログラム規模を小さくする
ことで設計上およびコーディング上のバグが可能な限り
発生しないようにし、さらに、どれかひとつの認証サー
バが乗っ取られたとしても、被害を最小限にとどめるこ
とができる。 (2)ケーパビリティが持つ属性にあわせて、認証サー
バを用意することで、例えば、アプリケーションの種類
やセキュリティレベルにあわせて認証方法を選択するこ
とができる。
【0097】認証サーバを実装する上では、オペレーテ
ィングシステムが持っている動作モードを利用し、メン
テナンス用モードまたはそれに相当する動作モードにお
いて認証サーバを立ち上げ、通常の動作モードにおいて
は、認証サーバの停止や立ち上げを許さないようにする
のが望ましい。また、認証サーバが利用する認証用のデ
ータも、メンテナンス用モードまたはそれに相当する動
作モードにおいてのみ任意の読み書きを許可し、通常の
動作モードにおいては、書き込み禁止、もしくは、上書
き禁止とするのが望ましい。
【0098】前記のuid、gid、progid、a
pplid、origidは、以下に示すように認証が
必要な属性として扱うことができる。 uid:uid認証サーバは、利用者名とパスワードな
どの利用者を特定できる情報を得て、利用者を認証する
ために認証サーバが保持しているデータと照合すること
で認証を行う。 gid:gid認証サーバは、ケーパビリティを入力と
し、そのケーパビリティ中のuid属性を検証し、ui
dが属するグループに対する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 ケーパビリティ強制関数

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステム用のアクセス制御
    方法であって、 前記コンピュータシステムおよび前記コンピュータシス
    テム中のデータベースに存在するアクセス可能なあらゆ
    るオブジェクトのひとつひとつに対するアクセス制御情
    報を記憶する第一のステップと、 前記コンピュータシステムを使用中の特定のサブジェク
    トから特定のオブジェクトへのアクセス許可を決定する
    第二のステップと、 この第二のステップによって決定された前記アクセス許
    可の範囲内に限定し、前記サブジェクトから前記オブジ
    ェクトへのアクセス要求を受理する第三のステップと、 前記サブジェクトが保持するケーパビリティリストに対
    して前記オブジェクトヘの前記アクセス要求におけるケ
    ーパビリティの強制を行う第四のステップとを備えるこ
    とを特徴とするアクセス制御方法。
  2. 【請求項2】 前記アクセス許可を決定するための情報
    として、 前記サブジェクトがアクセスしようとしているオブジェ
    クトおよびそのアクセス種別と、 前記オブジェクトのアクセス制御情報と、 前記サブジェクトが保持するケーパビリティリストとを
    用い、 前記アクセス制御情報として、 アクセス種別と、 アクセス許可に必要なケーパビリティの条件と、 アクセスが許可されたときに強制されるケーパビリティ
    との組をエントリとするアクセス制御リストを含み、 前記アクセス許可を決定するための情報に、当該アクセ
    ス種別におけるアクセス許可に必要なケーパビリティの
    条件を満たす当該サブジェクトが保持しているケーパビ
    リティリスト中の有効なケーパビリティと当該オブジェ
    クトのアクセス制御リスト中のエントリとの組合せが少
    なくとも1つは存在する場合にのみ当該オブジェクトの
    アクセスが許可される請求項1記載のアクセス制御方
    法。
  3. 【請求項3】 前記ケーパビリティリスト中の任意のケ
    ーパビリティを前記サブジェクト自体が変更する場合に
    は、 ケーパビリティを廃棄するかあるいはケーパビリティを
    弱めることが限定的に認められる請求項1または2記載
    のアクセス制御方法。
  4. 【請求項4】 前記アクセスが許可されたときに強制さ
    れるケーパビリティの指定として、強制される前のケー
    パビリティリストを入力とし、強制された後のケーパビ
    リティリストを出力するケーパビリティ強制関数を含む
    請求項1または2記載のアクセス制御方法。
  5. 【請求項5】 前記ケーパビリティリスト中のケーパビ
    リティおよび前記アクセス許可に必要なケーパビリティ
    を、属性名と属性値とを組とした可変長のリストとして
    構成し、 前記アクセス許可に必要なケーパビリティの条件を、ケ
    ーパビリティに含まれる属性名および属性値の条件の可
    変長のリストとして構成し、 前記ケーパビリティ強制関数を、ケーパビリティに強制
    的に追加もしくは上書きする属性名と属性値とを組とし
    た可変長のリストとして構成し、もしくは、ケーパビリ
    ティに強制的に施される演算として定義し、 前記ケーパビリティを弱めるときには、ケーパビリティ
    の権限を削除する、あるいは、ケーパビリティに属性名
    と属性値との組を追加することによって行なう請求項2
    ないし4のいずれかに記載のアクセス制御方法。
  6. 【請求項6】 前記第四のステップに換えて、 前記ケーパビリティに強制的に追加もしくは上書きする
    属性名および属性値に基づいて、 前記サブジェクトが保持する情報と、 前記サブジェクトから指定された情報と、 前記サブジェクトごとに固有の前記コンピュータシステ
    ムが保持する情報とから認証に必要な情報を収集する第
    五のステップと、 この第五のステップで収集された情報と、あらかじめ設
    定されたサブジェクトの正当性を検証するための情報と
    から前記サブジェクトの正当性を検証する第六のステッ
    プと、 この第六のステップでの検証結果に基づいて、属性名と
    属性値を前記ケーパビリティリスト中のケーパビリティ
    に強制的に追加、もしくは、上書きする第七のステップ
    とを備える請求項1または5記載のアクセス制御方法。
  7. 【請求項7】 コンピュータシステム用のアクセス制御
    装置であって、 前記コンピュータシステムおよび前記コンピュータシス
    テム中のデータベースに存在するアクセス可能なあらゆ
    るオブジェクトのひとつひとつに対するアクセス制御情
    報を記憶する手段と、 前記コンピュータシステムを使用中の特定のサブジェク
    トから特定のオブジェクトへのアクセス許可を決定する
    手段と、 このアクセス許可を決定する手段によって決定された前
    記アクセス許可の範囲内に限定し、前記サブジェクトか
    ら前記オブジェクトへのアクセス要求を受理する手段
    と、 前記サブジェクトが保持するケーパビリティリストに対
    して前記オブジェクトヘの前記アクセス要求におけるケ
    ーパビリティの強制を行う手段とを備えることを特徴と
    するアクセス制御装置。
  8. 【請求項8】 前記アクセス許可を決定するための情報
    として、 前記サブジェクトがアクセスしようとしているオブジェ
    クトおよびそのアクセス種別と、 前記オブジェクトのアクセス制御情報と、 前記サブジェクトが保持するケーパビリティリストとを
    用い、 前記アクセス制御情報として、 アクセス種別と、 アクセス許可に必要なケーパビリティの条件と、 アクセスが許可されたときに強制されるケーパビリティ
    との組をエントリとするアクセス制御リストを含み、 前記アクセス許可を決定する手段は、前記アクセス許可
    を決定するための情報に、当該アクセス種別におけるア
    クセス許可に必要なケーパビリティの条件を満たす当該
    サブジェクトが保持しているケーパビリティリスト中の
    有効なケーパビリティと当該オブジェクトのアクセス制
    御リスト中のエントリとの組合せが少なくとも1つは存
    在する場合にのみ当該オブジェクトのアクセスを許可す
    る手段を含む請求項7記載のアクセス制御装置。
  9. 【請求項9】 前記ケーパビリティリスト中の任意のケ
    ーパビリティを前記サブジェクト自体が変更する手段が
    設けられ、 この変更する手段は、 ケーパビリティを廃棄する手段と、 ケーパビリティを弱める手段とを備えた請求項7または
    8記載のアクセス制御装置。
  10. 【請求項10】 前記アクセスが許可されたときに強制
    されるケーパビリティの指定として、強制される前のケ
    ーパビリティリストを入力とし、強制された後のケーパ
    ビリティリストを出力するケーパビリティ強制関数を含
    む請求項7ないし9のいずれかに記載のアクセス制御装
    置。
  11. 【請求項11】 前記ケーパビリティリスト中のケーパ
    ビリティおよび前記アクセス許可に必要なケーパビリテ
    ィを属性名と属性値とを組とした可変長のリストとして
    構成し、 前記アクセス許可に必要なケーパビリティの条件をケー
    パビリティに含まれる属性名および属性値の条件の可変
    長のリストとして構成し、 前記ケーパビリティ強制関数を、ケーパビリティに強制
    的に追加もしくは上書きする属性名と属性値とを組とし
    た可変長のリストとして構成し、もしくは、ケーパビリ
    ティに強制的に施される演算として定義し、 前記ケーパビリティを弱める手段は、 ケーパビリティの権限を削除する手段と、 ケーパビリティに属性名と属性値の組を追加する手段と
    を含む請求項8ないし10のいずれかに記載のアクセス
    制御装置。
  12. 【請求項12】 前記ケーパビリティの強制を行なう手
    段に換えて、 前記ケーパビリティに強制的に追加もしくは上書きする
    属性名および属性値に基づいて、 前記サブジェクトが保持する情報と、 前記サブジェクトから指定された情報と、 前記サブジェクトごとに固有の前記コンピュータシステ
    ムが保持する情報とから認証に必要な情報を収集する手
    段と、 この収集する手段により収集された情報とあらかじめ設
    定されたサブジェクトの正当性を検証するための情報と
    から前記サブジェクトの正当性を検証する手段とを備
    え、 前記ケーパビリティを強制する手段は、この正当性を検
    証する手段による検証結果に基づいて属性名および属性
    値を前記ケーパビリティリスト中のケーパビリティに強
    制的に追加もしくは上書きする手段を含む請求項7また
    は11記載のアクセス制御装置。
  13. 【請求項13】 所定のハードウェアと、このハードウ
    ェアにインストールされた所定の基本ソフトウェアとを
    備えたコンピュータ装置に、さらにインストールするこ
    とによりそのコンピュータ装置に請求項1ないし6のい
    ずれかに記載のアクセス制御方法を実行させるソフトウ
    ェアが記録された記録媒体。
  14. 【請求項14】 所定のハードウェアと、このハードウ
    ェアにインストールされた所定の基本ソフトウェアとを
    備えたコンピュータ装置に、さらにインストールするこ
    とによりそのコンピュータ装置を請求項7ないし12の
    いずれかに記載のアクセス制御装置に相応する装置とす
    るソフトウェアが記録された記録媒体。
JP2000337888A 2000-11-06 2000-11-06 アクセス制御方法およびアクセス制御装置および記録媒体 Expired - Fee Related JP3756397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000337888A JP3756397B2 (ja) 2000-11-06 2000-11-06 アクセス制御方法およびアクセス制御装置および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000337888A JP3756397B2 (ja) 2000-11-06 2000-11-06 アクセス制御方法およびアクセス制御装置および記録媒体

Publications (2)

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

Family

ID=18813198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000337888A Expired - Fee Related JP3756397B2 (ja) 2000-11-06 2000-11-06 アクセス制御方法およびアクセス制御装置および記録媒体

Country Status (1)

Country Link
JP (1) JP3756397B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341896A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> 属性承認装置、属性承認リソース管理装置、および属性承認装置監査統計サーバ
WO2005020074A1 (ja) * 2003-08-22 2005-03-03 Nec Corporation コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム
JP2005531831A (ja) * 2002-05-28 2005-10-20 シンビアン リミテッド 保護されたファイルシステムを有する移動体無線デバイス
JP2006503369A (ja) * 2002-10-16 2006-01-26 ヴォーメトリック インコーポレイテッド セキュアなファイルシステムサーバーのアーキテクチャ及び方法
JP2009223502A (ja) * 2008-03-14 2009-10-01 Ntt Communications Kk 認証システム、認証方法、サーバ装置、認証装置、プログラム
US8336059B2 (en) 2005-03-24 2012-12-18 Nec Corporation Access right checking system, access right checking method, and access right checking program
JP2012252471A (ja) * 2011-06-01 2012-12-20 Ntt Data Corp 携帯端末、携帯端末制御方法、携帯端末制御プログラム
JP2015529898A (ja) * 2012-08-03 2015-10-08 アルカテル−ルーセント 仮想マシンにおける強制保護制御
CN108874863A (zh) * 2018-04-19 2018-11-23 华为技术有限公司 一种数据访问的控制方法及数据库访问装置
JP2019159830A (ja) * 2018-03-13 2019-09-19 株式会社東芝 情報処理装置、情報処理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319659A (ja) * 1995-10-10 1997-12-12 Data General Corp コンピュータ・システム用のセキュリティ制御方法
JPH1049443A (ja) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JP2000099477A (ja) * 1998-09-21 2000-04-07 Fuji Xerox Co Ltd オブジェクトのアクセス管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319659A (ja) * 1995-10-10 1997-12-12 Data General Corp コンピュータ・システム用のセキュリティ制御方法
JPH1049443A (ja) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JP2000099477A (ja) * 1998-09-21 2000-04-07 Fuji Xerox Co Ltd オブジェクトのアクセス管理方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005531831A (ja) * 2002-05-28 2005-10-20 シンビアン リミテッド 保護されたファイルシステムを有する移動体無線デバイス
JP4896400B2 (ja) * 2002-10-16 2012-03-14 ヴォーメトリック インコーポレイテッド セキュアなファイルシステムサーバーのアーキテクチャ及び方法
JP2006503369A (ja) * 2002-10-16 2006-01-26 ヴォーメトリック インコーポレイテッド セキュアなファイルシステムサーバーのアーキテクチャ及び方法
JP2004341896A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> 属性承認装置、属性承認リソース管理装置、および属性承認装置監査統計サーバ
WO2005020074A1 (ja) * 2003-08-22 2005-03-03 Nec Corporation コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム
JP2007034341A (ja) * 2003-08-22 2007-02-08 Nec Corp コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム
US8336059B2 (en) 2005-03-24 2012-12-18 Nec Corporation Access right checking system, access right checking method, and access right checking program
JP2009223502A (ja) * 2008-03-14 2009-10-01 Ntt Communications Kk 認証システム、認証方法、サーバ装置、認証装置、プログラム
JP2012252471A (ja) * 2011-06-01 2012-12-20 Ntt Data Corp 携帯端末、携帯端末制御方法、携帯端末制御プログラム
JP2015529898A (ja) * 2012-08-03 2015-10-08 アルカテル−ルーセント 仮想マシンにおける強制保護制御
US9374377B2 (en) 2012-08-03 2016-06-21 Alcatel Lucent Mandatory protection control in virtual machines
JP2019159830A (ja) * 2018-03-13 2019-09-19 株式会社東芝 情報処理装置、情報処理方法およびプログラム
CN108874863A (zh) * 2018-04-19 2018-11-23 华为技术有限公司 一种数据访问的控制方法及数据库访问装置
US11947700B2 (en) 2018-04-19 2024-04-02 Huawei Technologies Co., Ltd. Data access control method and database access apparatus

Also Published As

Publication number Publication date
JP3756397B2 (ja) 2006-03-15

Similar Documents

Publication Publication Date Title
CN109923548B (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
US11947688B2 (en) Secure computing system
US10162975B2 (en) Secure computing system
US8893300B2 (en) Security systems and methods to reduce data leaks in enterprise networks
JP4906188B2 (ja) 信頼できないコンテントを安全に実行するための方法およびシステム
US8484483B2 (en) Method for protecting computer programs and data from hostile code
JP3784423B2 (ja) データセキュリティのための改良された方法、およびコンピュータシステム
US8646044B2 (en) Mandatory integrity control
US20050004924A1 (en) Control of access to databases
JP4975127B2 (ja) 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置
US20090282457A1 (en) Common representation for different protection architectures (crpa)
WO2007052388A1 (ja) 機密ファイル保護方法、及び機密ファイル保護システム
US9129098B2 (en) Methods of protecting software programs from unauthorized use
US9219728B1 (en) Systems and methods for protecting services
JP3756397B2 (ja) アクセス制御方法およびアクセス制御装置および記録媒体
US20050038790A1 (en) Device and method for establishing a security policy in a distributed system
JP2004126634A (ja) ファイル保護システム
KR102430882B1 (ko) 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
US11841970B1 (en) Systems and methods for preventing information leakage
van Staden The use of a virtual machine as an access control mechanism in a relational database management system.
Morris Private computing on public platforms
Brustoloni et al. Updates and Asynchronous Communication in Trusted Computing Systems
Taylor The Last Line of Defense
Indoria Trusted Operating System Appro
KR20020034862A (ko) 컴퓨터의 응용프로그램의 비밀값 제어방법

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