(57)【要約】【課題】  データベースシステム等にアクセスする際に、良好な利便性を有するとともに、良好なセキュリティを確保することのできるアクセス制御方法及びデータベースシステムを得る。【解決手段】  データベースシステム１を利用するユーザのアクセス権限レベル及びデータベース内の各データの秘密区分レベルを、それぞれあらかじめアクセス権限テーブル１４２及び秘密区分テーブル１４３に設定しておき、ユーザがデータベース１４１にアクセスする際は、（ユーザのアクセス権限レベル）≧（データの秘密区分レベル）の場合に読みとり可とするとともに、（ユーザのアクセス権限レベル）≦（データの秘密区分レベル）の場合に書き込み可とする。【選択図】  図１
2007293630.tif 000002
【特許請求の範囲】
【請求項１】
サブジェクト毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、オブジェクト毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記サブジェクトが前記オブジェクトにアクセスする際は、前記サブジェクトに設定されたアクセス権限及び前記オブジェクトに設定された秘密区分との比較結果に基づき前記オブジェクトへのアクセスを制御するアクセス制御方法において、
前記サブジェクトのアクセス権限が前記オブジェクトの秘密区分より高い場合には、前記サブジェクトは前記オブジェクトに対して読みとり可かつ書き込み不可とし、
前記サブジェクトのアクセス権限が前記オブジェクトの秘密区分より低い場合には、前記サブジェクトは前記オブジェクトに対して書き込み可かつ読みとり不可とし、
前記サブジェクトのアクセス権限と前記オブジェクトの秘密区分とが等しい場合には、前記サブジェクトは前記オブジェクトに対して読みとり及び書き込みともに可としたことを特徴とするアクセス制御方法。
【請求項２】
ユーザ毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、データベース内のデータの種別毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記ユーザが前記データベースにアクセスする際は、前記ユーザに設定されたアクセス権限及び前記データの種別に設定された秘密区分との比較結果に基づき前記データへのアクセスを制御するアクセス制御方法において、
前記ユーザのアクセス権限が前記データの種別の秘密区分より高い場合には、前記ユーザは前記データに対して読みとり可かつ書き込み不可とし、
前記ユーザのアクセス権限が前記データの種別の秘密区分より低い場合には、前記ユーザは前記データに対して書き込み可かつ読みとり不可とし、
前記ユーザのアクセス権限と前記データの種別の秘密区分とが等しい場合には、前記ユーザは前記データに対して読みとり及び書き込みともに可としたことを特徴とするアクセス制御方法。
【請求項３】
ユーザ毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、データベース内のデータの種別毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記ユーザが前記データベースにアクセスする際は、前記ユーザに設定されたアクセス権限及び前記データの種別に設定された秘密区分との比較結果に基づき前記データへのアクセスを制御するアクセス制御方法において、
前記ユーザからの前記データベース内のデータに対するアクセス要求を受けつけ、
このアクセス要求を発したユーザのアクセス権限及びアクセス対象のデータの秘密区分をそれぞれ前記アクセス権限テーブル及び秘密区分テーブルから取得し、
取得した前記ユーザのアクセス権限と前記データの秘密区分とを比較し、
前記ユーザのアクセス権限が前記データの秘密区分より高い場合には前記データに対する読みとりを可かつ書き込みを不可とする判定を行なう一方、
前記ユーザのアクセス権限が前記データの秘密区分より低い場合には前記データに対する読みとりを不可とする判定を行なうとともに前記ユーザに前記データに対する書き込みを可とする特権を付与し、
前記ユーザのアクセス権限と前記データの秘密区分とが等しい場合には前記データに対する読みとり及び書き込みともに可とする判定を行ない、
前記判定及び特権に基づき前記データにアクセスすることを特徴とするアクセス制御方法。
【請求項４】
ユーザ毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、データベース内のデータの種別毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記ユーザが前記データにアクセスする際は、前記ユーザに設定されたアクセス権限及び前記データの種別に設定された秘密区分との比較に基づき前記データへのアクセスを制御するデータベースシステムにおいて、
前記ユーザからの前記データベース内のデータに対するアクセス要求を受けつけ、このユーザの前記アクセス権限とこのデータの前記秘密区分とを比較して、このユーザの前記アクセス権限がこのデータの前記秘密区分より高い場合にはこのデータに対する書き込みを不可とするとともに、このユーザの前記アクセス権限がこのデータの秘密区分より低い場合にはこのデータの読みとりを不可と判定する秘密区分比較処理部と、
この秘密区分比較処理部の判定結果に基づき、前記ユーザのアクセス権限が前記データの秘密区分より低い場合には、前記ユーザに前記データの書き込みを可とする特権を付与する特権処理部と、
前記秘密区分比較処理部及び前記特権処理部での処理結果に基づき、前記データベース内のデータに対して書き込み及び読みとりを行なうデータアクセス処理部とを備えたことを特徴とするデータベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに対する良好なセキュリティを確保するアクセス制御方法及びこれを用いたデータベースシステムに関する。
【背景技術】
【０００２】
異なる種類の情報をそれぞれにデータベース化して管理する場合、それぞれのデータベース毎に分けて複数の管理システムを構築することなく、１つのデータベース管理システム内に、これら種類の異なる複数のデータベースを格納し管理する手法を用いることによって、業務全体の統一性及び利便性を維持・確保することが多い。このようなデータベース管理システムでは、多数のユーザがそれぞれに、業務に必要な異なるデータベースを取扱うことから、ユーザに対して必要な情報を必要な形態で提供する利便性とともに、不要なデータのアクセスを防止するなどデータの機密性も必須であり、そのためのセキュリティ機能があわせて実装される。
【０００３】
良好なセキュリティを有するアクセス方式として、システム管理あるいはシステム管理者と独立させてセキュリティ管理あるいはセキュリティ管理者を設けた強制アクセス制御が知られている。一般に、強制アクセス制御においては、例えば、システムに存在するすべてのプロセスやファイル等にあらかじめポリシーに基づきセキュリティ属性を付与するとともに、付与されたセキュリティ属性を識別してこれらプロセスからファイル等へのアクセスの可否を判断するためのリファレンスモニタを設けておく。そして、プロセスからファイル等にアクセスするときは、必ずリファレンスモニタによるセキュリティ属性のチェックを通過しなければならないように構成される。
【０００４】
すなわち、上述のようなデータベース管理システムにおいては、セキュリティ属性として、例えば、各ユーザ（Ｕ１〜Ｕｍ）に対してはあらかじめアクセス権限レベル（ＬＵ１〜ＬＵｍ）を、また各データベースあるいはデータベース内の各データ（Ｄ１〜Ｄｎ）に対してはあらかじめ秘密区分レベル（ＬＤ１〜ＬＤｎ）を設定しておく。そして、ユーザがデータベースにアクセスする際は、ユーザのアクセス権限レベル（以下、ＬＵｊと表す）とデータの秘密区分レベル（以下、ＬＤｋと表す）との関係が、ＬＵｊ≧ＬＤｋのときにユーザ（Ｕｊ）は対象のデータベースまたはデータ（Ｄｋ）の読み書きを可能とし、それ以外は読み書きを不可能とするように制御する。
【０００５】
このようにして、権限のないユーザからのデータベースに対するアクセスを防止することによって、データの機密性を維持しセキュリティを確保している。前述のような制御を用いてデータベースアクセスを限定した事例が開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２０００−４７９２４号公報（第２９ページ、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来のアクセス制御のように、ＬＵｊ≧ＬＤｋのときにユーザ（Ｕｊ）は対象のデータベースまたはデータ（Ｄｋ）の読み書きを可能にすると、このユーザが意図的あるいは操作ミスによって、本来より低い秘密区分レベルのデータとして更新されてしまう可能性がある。このため、場合によっては誰でもアクセスが可能なデータとなって流出する危険性があった。
【０００７】
また、ユーザが、本来はより高い秘密区分を付与すべきと判断されるデータを所持している場合、例えば、秘密区分の高い重要な情報を取得したユーザがこれを自身より上位のユーザに報告する場面などにおいては、より高い秘密区分レベルのデータとして書きこむことができない。このため、本来よりも低い秘密区分レベルのデータとして登録あるいは更新されることになって、データに対する十分な機密性を維持できなかった。
【０００８】
このような危険性を減らしてデータの機密性を維持するために、より低い秘密区分レベルのデータは取り扱えないように、Ｌｕｊ＝ＬＤｋ、すなわちユーザのアクセス権限レベルとデータの秘密区分レベルとが等しいときのみ読み書きを可能にすることも考えられる。しかし、この場合には、ユーザは単一の秘密区分レベルのデータのみ扱うことができ、上記した報告の場面などにおける異なる秘密区分レベルの間でのデータの受け渡しができない。その結果、１つのデータベース管理システム内に種類の異なる複数のデータベースを格納し管理することによる業務全体の統一性の確保が失われ、利便性の低下を招いていた。
【０００９】
本発明は、上述の事情を考慮してなされたものであり、データベースシステム等にアクセスする際に、アクセスの利便性を備えつつ良好なセキュリティを確保するアクセス制御方法及びこれを用いたデータベースシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のアクセス制御方法は、サブジェクト毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、オブジェクト毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記サブジェクトが前記オブジェクトにアクセスする際は、前記サブジェクトに設定されたアクセス権限及び前記オブジェクトに設定された秘密区分との比較結果に基づき前記オブジェクトへのアクセスを制御するアクセス制御方法において、前記サブジェクトのアクセス権限が前記オブジェクトの秘密区分より高い場合には、前記サブジェクトは前記オブジェクトに対して読みとり可かつ書き込み不可とし、前記サブジェクトのアクセス権限が前記オブジェクトの秘密区分より低い場合には、前記サブジェクトは前記オブジェクトに対して書き込み可かつ読みとり不可とし、前記サブジェクトのアクセス権限と前記オブジェクトの秘密区分とが等しい場合には、前記サブジェクトは前記オブジェクトに対して読みとり及び書き込みともに可としたことを特徴とする。
【００１１】
また、本発明のデータベースシステムは、ユーザ毎にあらかじめアクセス権限が設定されたアクセス権限テーブルと、データベース内のデータの種別毎にあらかじめ秘密区分が設定された秘密区分テーブルとを備え、前記ユーザが前記データにアクセスする際は、前記ユーザに設定されたアクセス権限及び前記データの種別に設定された秘密区分との比較に基づき前記データへのアクセスを制御するデータベースシステムにおいて、前記ユーザからの前記データベース内のデータに対するアクセス要求を受けつけ、このユーザの前記アクセス権限とこのデータの前記秘密区分とを比較して、このユーザの前記アクセス権限がこのデータの前記秘密区分より高い場合にはこのデータに対する書き込みを不可とするとともに、このユーザの前記アクセス権限がこのデータの秘密区分より低い場合にはこのデータの読みとりを不可と判定する秘密区分比較処理部と、この秘密区分比較処理部の判定結果に基づき、前記ユーザのアクセス権限が前記データの秘密区分より低い場合には、前記ユーザに前記データの書き込みを可とする特権を付与する特権処理部と、前記秘密区分比較処理部及び前記特権処理部での処理結果に基づき、前記データベース内のデータに対して書き込み及び読みとりを行なうデータアクセス処理部とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、データベースシステム等にアクセスする際に、良好な利便性を有するとともに、良好なセキュリティを確保することのできるアクセス制御方法及びデータベースシステムを得ることができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明に係るアクセス制御方法及びこれを用いたデータベースシステムを実施するための最良の形態について、図１乃至図５を参照して説明する。
【実施例１】
【００１４】
図１は、本発明に係るデータベースシステムの一実施例を示すブロック図である。この図1に例示したように、このデータベースシステム１は、秘密区分比較処理部１１、特権処理部１２、データアクセス処理部１３、及びデータベース部１４から構成されている。
【００１５】
秘密区分比較処理部１１は、サブジェクトとしてのユーザからオブジェクトとしてのデータベース１４１に対するアクセス要求を受けつけ、後述するアクセス権限テーブル１４２及び秘密区分テーブル１４３に基づき、アクセス要求を行なったユーザのアクセス権限とアクセス対象のデータの秘密区分とを比較する。そして、アクセス権限がデータの秘密区分より高い場合には、このデータへの書き込みを不可とするとともに、低い場合には読みとりを不可と判定する。
【００１６】
特権処理部１２は、秘密区分処理部１１における判定結果に基づき、ユーザのアクセス権限がデータの秘密区分より低い場合に、ユーザに対して書き込みを可とする特権を付与する。データアクセス処理部１３は、これら秘密区分処理部１１及び特権処理部１２での処理結果に基づき、データベース部１４内のデータベース１４１に対して書き込み及び読みとりを行なう。
【００１７】
データベース部１４は、データベース１４１、アクセス権限テーブル１４２、及び秘密区分テーブル１４３を備えている。データベース１４１は、例えば、種別の異なるデータが格納されたデータベースである。アクセス権限テーブル１４２は、このデータベースシステム１を利用するユーザ毎にあらかじめアクセス権限が設定されたテーブルであり、その一例を図２に示す。この図２に例示したように、アクセス権限テーブル１４２には、複数のユーザＵ１〜Ｕｍのそれぞれに対してあらかじめアクセス権限レベルＬＵ１〜ＬＵｍが設定されている。このアクセス権限レベルＬＵｊは、例えば自然数等の定量値で表され、その大小によってユーザＵｊのアクセス権限レベルの高低を表している。
【００１８】
秘密区分テーブル１４３は、データベース１４１内に格納されたデータの種別毎にあらかじめ秘密区分が設定されたテーブルであり、その一例を図３に示す。この図３に例示したように、秘密区分テーブル１４３には、データベース１４１内に格納されたデータの種別を意味するデータ名Ｄ１〜Ｄｎのそれぞれに対してあらかじめ秘密区分レベルＬＤ１〜ＬＤｎが設定されている。この秘密区分レベルも上記したアクセス権限レベルと同様に、例えば、自然数等の定量値で表され、その大小によってデータＤｋの秘密区分の高低を表している。
【００１９】
次に、前出の図１乃至図３、ならびに図４及び図５のフローチャートを参照して、上述のように構成されたデータベースシステム１の動作について、そのアクセス制御方法を含めて説明する。
【００２０】
はじめに、書き込み時の動作について説明する。図４は、データベースシステム１の書き込み時の動作を説明するためのフローチャートである。まず、このデータベースシステム１を利用するユーザのアクセス権限を、各ユーザ毎にあらかじめアクセス権限テーブル１４２に設定する。あわせて、データベース１４１に格納されたデータの秘密区分を、データの種別毎にあらかじめ秘密区分テーブル１４２に設定する（ＳＴ４１）。
【００２１】
ユーザからデータベース１４１への書き込み要求が送られてくると、秘密区分比較処理部１１は、これを受けつける。この書き込み要求内には、例えば、要求を発したユーザ名、ならびに書き込み対象のデータ種別としてのデータ名およびデータ本体が含まれている（ＳＴ４２）。
【００２２】
これに続けて秘密区分比較処理部１１は、書き込み要求内に含まれるユーザ名及びデータ名に対応したユーザのアクセス権限レベル、及びデータの秘密区分レベルを、それぞれアクセス権限テーブル１４２、及び秘密区分テーブル１４３から取得する（ＳＴ４３）。これらは、図２及び図３の例示したように、それぞれ定量値で表現されている。そして、これらを比較する（ＳＴ４４）。
【００２３】
比較の結果、ユーザのアクセス権限レベルがデータの秘密区分レベルよりも高い場合には（ＳＴ４５のＡ）、データの書き込みを不可とし、この書き込み要求を発したユーザに対して書き込み不可の応答を返送する（ＳＴ４６）。
【００２４】
一方、比較の結果、ユーザのアクセス権限レベルがデータの秘密区分レベルよりも低い場合には（ＳＴ４５のＣ）、この書き込みの要求を可とする特権を付与するため、比較結果を特権処理部１２に通知する。特権処理部１２は、秘密区分比較処理部１１からの通知を受けとり、この書き込み要求に対して書き込みの特権を付与した上で、データアクセス部１３に送出する（ＳＴ４７）。
【００２５】
また、比較の結果、ユーザのアクセス権限レベルとデータの秘密区分レベルとが等しい場合には（ＳＴ４５のＢ）、この書き込み要求を可としてデータアクセス部１３に送出する。
【００２６】
そして、データアクセス部１３は、これら秘密区分比較処理部１１、及び特権処理部１２からのそれぞれの処理結果に基づき、データベース部１４内のデータベース１４１に対象のデータを書き込む（ＳＴ４８）。この後、動作終了が指示されるまで、ユーザからの書き込み要求に対して上記したＳＴ４２のステップからの動作が繰り返される（ＳＴ４９）。
【００２７】
次に、読みとり時の動作について説明する。図５は、データベースシステム１の読みとり時の動作を説明するためのフローチャートである。まず、このデータベースシステム１を利用するユーザのアクセス権限を、各ユーザ毎にあらかじめアクセス権限テーブル１４２に設定する。あわせて、データベース１４１に格納されたデータの秘密区分を、データの種別毎にあらかじめ秘密区分テーブル１４２に設定する（ＳＴ５１）。
【００２８】
ユーザからデータベース１４１の読みとり要求が送られてくると、秘密区分比較処理部１１は、これを受けつける。この読みとり要求内には、例えば、要求を発したユーザ名、及び読みとり対象のデータ名が含まれている（ＳＴ５２）。
【００２９】
これに続けて秘密区分比較処理部１１は、読みとり要求内に含まれるユーザ名及びデータ名に対応したユーザのアクセス権限レベル、及びデータ秘密区分レベルを、それぞれアクセス権限テーブル１４２、及び秘密区分テーブル１４３から取得する（ＳＴ５３）。そして、これらを比較する（ＳＴ５４）。
【００３０】
比較の結果、ユーザのアクセス権限レベルがデータの秘密区分よりも低い場合には（ＳＴ５５のＡ）、データの読みとりを不可とし、この読みとり要求を発したユーザに対して読みとり不可の応答を返送する（ＳＴ５６）。一方、ユーザアクセス権限レベルがデータの秘密区分レベルよりも高いか等しい場合には（ＳＴ５５のＢ）、この読みとり要求を可としてデータアクセス部１３に送出する。
【００３１】
そしてデータアクセス部１３は、データベース部１４内のデータベース１４１から対象のデータを読みとる（ＳＴ５７）。読みとったデータは、秘密区分比較処理部１１経由で要求元のユーザに転送される（ＳＴ５８）。この後、動作終了が指示されるまで、ユーザからの読みとり要求に対して上記下ＳＴ５２のステップからの動作が繰り返される（ＳＴ５８）。
【００３２】
以上説明したように、本実施例においては、データベースシステム１を利用するユーザのアクセス権限レベル及びデータベース内の各データの秘密区分レベルを、それぞれあらかじめアクセス権限テーブル１４２及び秘密区分テーブル１４３に設定しておき、ユーザがデータベース１４１にアクセスする際は、（ユーザのアクセス権限レベル）≧（データの秘密区分レベル）の場合に読みとり可とするとともに、（ユーザのアクセス権限レベル）≦（データの秘密区分レベル）の場合に書き込み可としている。
【００３３】
従って、ユーザは、自身のアクセス権限レベルより高い秘密区分のデータに対しては読みとることができないので、高い秘密区分レベルのデータの流出を防止することができる。また、自身のアクセス権限レベルより低い秘密区分レベルのデータに対しては、書き込むことができないので、誤ってあるいは意図的に、秘密区分レベルを低くした書き込みによるデータの流出を防止することができる。さらに、ユーザは、書き込みの特権を付与されることによって、自身のアクセス権限レベルより高い秘密区分レベルのデータの書き込みを行なうことができるので、例えば、高い秘密区分レベルを付与すべき重要情報の報告等に際して、良好な利便性を得ることができる。
【００３４】
これにより、データベースシステム等にアクセスする際に、良好な利便性を有するとともに、良好なセキュリティを確保することのできるアクセス制御方法及びデータベースシステムを得ることができる。
【図面の簡単な説明】
【００３５】
【図１】本発明に係るデータベースシステムの一実施例を示すブロック図。
【図２】アクセス権限テーブルの一例を示す図。
【図３】秘密区分テーブルの一例を示す図。
【図４】データベースシステムの書き込み時の動作を説明するためのフローチャート。
【図５】データベースシステムの読みとり時の動作を説明するためのフローチャート。
【符号の説明】
【００３６】
１  データベースシステム
１１  秘密区分比較処理部
１２  特権処理部
１３  データアクセス処理部
１４  データベース部
１４１  データベース
１４２  アクセス権限テーブル
１４３  秘密区分テーブル
【図１】
2007293630.tif 000003
【図２】
2007293630.tif 000004
【図３】
2007293630.tif 000005
【図４】
2007293630.tif 000006
【図５】
2007293630.tif 000007