説明

情報フィルタ、情報フィルタの制御方法、情報フィルタの制御プログラム及び記録媒体

【課題】インターネットに於けるあらゆるサービス形態に対応し、カバートチャネルを分析・制御する使い勝手の良いシステムを提供する。
【解決手段】この情報フィルタは、アクセスされる関係データベース及びXMLデータベースを格納するデータベースと、アクセスする主体、アクセスされる客体及びパミッションを有するアクセストリプルと、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有している組織体との関係をデータベース化した属性データベースと、カバートチャネル分析エンジンと、組織体と組織体の関係、組織体と主体の関係及び主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベースと、アクセス要求がある時にアクセスルールに従ってカバートチャネルか否かを決定する推論エンジンと、データベースへのアクセス要求に対するアクセス制御を実行する情報フィルタ部と、を備えて構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報フィルタ及び情報フィルタの制御方法に関し、さらに詳しくは、Webアプリケーションシステムに於けるデータベースのアクセス制御に関するものである。
【背景技術】
【0002】
現在、インターネットを介した電子商取引や銀行決済、或いは電子図書館の進展など様々なサービスが普及している。また近年、企業が互いに連携することにより、複数のサービスに対してユーザはシングルサインオンでポータルサーバーにアクセスできるサービスの提供が盛んに行われつつある。これらのサービスを実現するシステムは、一般にWebアプリケーションシステムと呼ばれている。しかし、この様なインターネットを介したコンピュータシステムへの不正なアクセス、或いはサービス提供側の内部による不正アクセスにより、個人情報が漏洩したり、或いは改竄される事件が大きな社会問題となっている。
この問題を防止するために、サービス提供者サイドでは、「ファイアウォールをインターネットの境界に設置してIPパケットをフィルタリングする」、「ユーザ認証、サーバ認証を行って互いに身元を確認する」、「データを暗号化してインターネット内部の盗聴を防止する」と言う技術を導入する。そして、更にシステムの最深部にあるデータベースへのアクセス制御によってユーザのアクセスを限定することにより最低限のガードを行っているが、これだけでは情報の読み書きに伴うカバートチャネルを防止することができない。そこで、カバートチャネルを分析する技術が必要である。
従来、この問題に対してセキュリティモデルを実現するメカニズムにより対処している。著名なセキュリティモデルには、Chinese Wallモデル、米国のBell and LaPadula(BLP)モデル、ANSI標準のRole Based Access Control(RBAC)モデル等がある。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし上記のセキュリティモデルであるChinese Wallモデルは、カバートチャネルを分析しているが、競合する2社と仲介的な1社の間で情報をやりとりすると言う限定的な場合しか使えない。またBLPモデルはカバートチャネルを分析制御の対象にせず、情報の流れを1方向にのみ限定する制御をするにとどまっている。即ちこれらのモデルは、モデルが対象とするサービスが軍用などの非常に制限されたサービス、つまり、セキュリティは高いが、使い勝手が悪いサービスに適用されている。またRBACモデルは企業に於ける職位等、役割に対するパミッション(アクセス権(リード権、ライト権))を決めるモデルであり、カバートチャネルを積極的に扱っていない。
【0004】
図9を参照してカバートチャネルの概念について説明する。図9(a)は図9(b)のアクセス行列に基づいて複数のユーザ間を情報ファイルが転送されていく様子を示した図である。図9(b)はユーザなどのアクセス主体(Subject)がアクセスされるファイルなどの客体(Object)に対して持っているアクセス権(リード権、ライト権)を行と列に配置したアクセス行列の一例を示す図である。この図9(b)において、アクセスを起こすアクセス主体は、列方向にS1、S2、S3、S4が配置され、ユーザ名やプログラム名などがこれに当たる。また、アクセスされる客体は、行方向にO1、O2、O3が配置され、ディレクトリ名やファイル名などの情報がこれに当たる。そして、枠内の対応位置にはそれぞれアクセス権が設定されていて、Rはリード権、Wはライト権、¬Rはリード権の否定をそれぞれ意味している。この例では、主体S1は客体O1、O2、O3をリードする権利があり、更にO2をライトする権利がある。主体S2は客体O1、O2、O3をリードする権利があり、更にO3をライトする権利がある。主体S3は客体O1、O2をリードする権利がなく、客体O3のみをリードする権利がある。また主体S4は客体O1、O2、O3をリードする権利のみがある。
【0005】
このアクセス権に基づいて動作例を説明すると、ユーザS1が秘密情報40が記載されたファイルO1をファイルサーバ41からリードする。次にユーザS1がファイルO1をファイルO2にコピーペーストすると、この時点でファイルO2には秘密情報40が記載された内容がライトされる。そのファイルO2をユーザS2がリードして、ファイルO3にコピーペーストする。この時点でファイルO3には秘密情報40が記載された内容がライトされる。次にユーザS3はファイルO3をリードする権利があるので、ファイルO3をリードする。ここまでは図9(b)のアクセス行列に従った動作であるが、本来ファイルO1をリードする権利がないユーザS3が実質的にファイルO1の秘密情報40を読み取ったことと等価となり、秘密情報がこの時点で漏洩したことになる。一般にこの様な現象をカバートチャネル(Covert Channel)と言う。
そこで、インターネットに於けるあらゆるサービス形態に対応し、カバートチャネルを分析・制御する使い勝手の良いシステムが求められている。また、アクセスされるデータが格納されるデータベースも、関係データベースだけでなく、XMLデータベースにおいて特にカバートチャネルが問題となるが、これら2種類併用する場合にも対処しなくてはならない。(一般にその他のあらゆる形態のデータベースにおいてもカバートチャネルの問題がある)。
本発明は、かかる課題に鑑み、データベース(関係データベース、XMLデータベース等)のカバートチャネルを分析・制御するための情報フィルタをシステムに備えることにより、インターネットに於けるあらゆるサービス形態に対応し、カバートチャネルを分析・制御する使い勝手の良いシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明はかかる課題を解決するために、請求項1は、アクセスされる関係データベース及びXMLデータベースを格納するデータベースと、アクセスする主体、アクセスされる客体及びパミッションのデータを記憶するアクセストリプルと、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有若しくは所有している複数の組織体との関係をデータベース化した属性データベースと、前記パミッションを与えない場合と与える場合を分析するカバートチャネル分析エンジンと、前記各組織体間の関係、前記組織体と主体の関係及び前記主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベースと、アクセス要求がある時にアクセスルールベースに格納されたアクセスルールに従って前記カバートチャネルか否かを決定する推論エンジンと、前記データベースへのアクセス要求に対するアクセス制御を実行する情報フィルタ部と、を備えたことを特徴とする。
また、本発明ではデータベースを関係データベース、XMLデータベースとして説明するが、オブジェクト指向データベース等、他のデータベースでも「情報の名前」と「その内容」を「情報の名前」から検索すると言うデータベースの本質的な機能を持つ全てのデータベースが本発明の対象となる事は言うまでもない。
本発明の情報フィルタは、データベースのデータに対するアクセス要求がある時、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有している組織体との関係を属性データベースにデータベース化しておき、組織体と組織体の関係、組織体と主体の関係、主体と客体の関係からカバートチャネルであるか否かを判定するルールベースをアクセスルールベースにより作成し、アクセス要求がある時にアクセスルールに従ってカバートチャネルか否かを決定するものである。
【0007】
請求項2は、前記情報フィルタ部は、前記データベースへのアクセス要求に対するアクセス制御を実行するために、前記アクセストリプルを参照することを特徴とする。
アクセストリプルは<主体、客体、パミッション>の3つの組合せである。アクセストリプルの具体例は、<氏名、ファイル名(設計書)、READ>であれば、氏名の対象がファイル名をREADする事を表し、或いは<役職(部長)、人事ファイル名、(READ、WRITE)>と記されている場合は、部長が人事ファイル名を(READ、WRITE)する事を表す。
本発明の情報フィルタは、アクセストリプルが有するこれらのデータを参照することにより、パミッションが与えられるか否かを的確に判断することができる。
請求項3は、前記アクセストリプルは、前記アクセス要求がある前に前記カバートチャネル分析エンジンによって、既にあるアクセストリプルの集合(アクセス行列)のカバートチャネルを分析し、情報フィルタを設置下上で、前記アクセス要求が生じた時、更にそのアクセストリプルで新たに生じるカバートチャネルを分析し、前記パミッションを与えない場合と与える場合とを前期アクセスルールベースのルールによって判断することを特徴とする。
例えば、ある会社のアクセストリプルを作成する場合、アクセス要求は、1)会社内部のアクセストリプルを取りまとめて整理する。このとき、社員からのアクセス要求をシステム管理者が取りまとめる場合や、システム管理者が単独で設計する場合がある。2)作成したアクセストリプルの集合(アクセス行列)についてカバートチャネルを分析する。これによって会社内部だけのカバートチャネルの制御が可能になる。3)次に他の会社からのアクセス要求についてアクセストリプルとして受信し、社内のアクセス行列と照らして情報漏えいと情報改ざんがないかどうかカバートチャネルを分析する。
【0008】
請求項4は、前記情報フィルタの対象は前記関係データベースのスキーマ若しくはインスタンス、又は前記XMLデータベースのタグの中のタイトル、或いはこれらの組み合わせであることを特徴とする。
ファイアウォールとの比較において、ファイアウォールはIPパケットのIPアドレスとポート番号を検出し、IPアドレスとポート番号をフィルタ処理するだけである。つまり、データベースの「情報の名前」をIPパケットから分析する事は困難である。「情報の名前」を分析するためにはデータベースのアプリケーションソフトのレベルで実行しなければならない。本発明の情報フィルタはRDBのスキーマ、インスタンス、又はXMLデータベースのタグの中のタイトルの分析のためにWebアプリケーションシステムと言う上位層での実装を行う。従って「情報の名前」に相当するスキーマ、インスタンス、タグ等を直接的に分析制御することができる。
請求項5は、前記情報フィルタの対象は情報の名前と情報の内容を扱うデータベースにおける情報の名前若しくは情報の内容、或いはこれらの組み合わせであることを特徴とする。
【0009】
請求項6は、データベースのデータに対するアクセス要求がある時、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有若しくは所有している複数の組織体との関係をデータベース化しておき、前記各組織体間の関係、前記組織体と主体の関係、前記主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベースを作成し、前記アクセス要求がある時にアクセスルールに従って前記カバートチャネルか否かを決定することを特徴とする。
本発明は請求項1と同様の作用効果を奏する。
請求項7は、請求項6に記載の情報フィルタの制御方法をコンピュータが制御可能にプログラミングしたことを特徴とする。
請求項8は、請求項7に記載の情報フィルタの制御プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする。
【発明の効果】
【0010】
本発明によれば、情報フィルタは、データベースのデータに対するアクセス要求がある時、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有している組織体との関係を属性データベースにデータベース化しておき、組織体と組織体の関係、組織体と主体の関係、主体と客体の関係からカバートチャネルであるか否かを判定するルールベースをアクセスルールベースにより作成し、アクセス要求がある時にアクセスルールに従ってカバートチャネルか否かを決定するので、インターネットに於けるあらゆるサービス形態に対応し、カバートチャネルを分析・制御することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図1は本発明の情報フィルタの基本的な機能ブロック図である。この情報フィルタ100は、アクセスされる関係データベース(RDB)及びXMLデータベース(XMLDB)を格納するデータベース2と、アクセスする主体、アクセスされる客体及びパミッションのデータを記憶するアクセストリプル(アクセス行列)3と、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有若しくは所有している組織体との関係をデータベース化した属性データベース4と、パミッションを与えない場合と与える場合とを分析するカバートチャネル分析エンジン7と、組織体と組織体の関係、組織体と主体の関係及び主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベース5と、アクセス要求がある時にアクセスルールベースに格納されたアクセスルールに従ってカバートチャネルか否かを決定する推論エンジン6と、データベース2へのアクセス要求に対するアクセス制御を実行する情報フィルタ部1と、を備えて構成される。また、情報フィルタ部1とデータベース2の間には関係データベースのインスタンスを検出するRDBインスタンス検出部2−1と、XMLボディのRDB呼び出し検出部2−2とを備えている。
そして情報フィルタ部1は、データベース2へのアクセス要求0に対するアクセス制御を実行するために、アクセストリプル3を参照する。アクセストリプルとは、アクセスする主体、アクセスされる客体、パミッションを指す。アクセストリプル(アクセス行列)3は、アクセス要求がある前に、カバートチャネル分析エンジン7によって、パミッションを与えない場合と与える場合とを分析しておく。この様な操作を情報フィルタと呼んでいる。この機能は情報をフィルタリングすると言う意味ではファイアウォールの機能と似ている様に見えるが、次の2点が大きく異なる。即ち、フィルタする情報がファイアウォールではIPパケットのIPアドレス、及びポート番号であるが、本発明の情報フィルタの対象は関係データベース(RDB)のスキーマ、或いはインスタンスであり、又はXMLデータベースのタグの中のタイトルである点と、カバートチャネル分析結果が反映される点である。
データベースのデータに対するアクセス要求がある時、アクセスしようとする主体、アクセスされる客体、アクセスされる客体を保有・所有している組織体(コミュニティと呼ぶ)との関係(これを属性と呼ぶ)を属性データベース4にデータベース化しておき、コミュニティとコミュニティの関係、コミュニティと主体の関係、主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベース5を作成し、アクセス要求がある時に、アクセスルールに従ってカバートチャネルかどうかを推論エンジン6により決定する。
【0012】
図2はアクセス制御属性のリンク構造を示す図である。以下で定義する各属性は、属性の関係を持つと定義する。このように属性間を関係付けた構造が、属性データベース4の内容である。
以下、コミュニティ10、主体11、客体12の属性の定義を示す。
<コミュニティ10の属性の定義>
コミュニティ10はコミュニティの名称を示す名前10aと言う属性を持つ。コミュニティ同士の関係については、競合10bという属性を持ち、競合するか否かと言う関係がコミュニティの属性として重要である。競合10bは他のコミュニティとの関係で競合・連携・独立の何れかに設定される。
Federation:連携しているコミュニティ名
Conflict:競合しているコミュニティ名
Dependence:他のコミュニティに従属するコミュニティ名
Independence:単独で存在するコミュニティ名
またコミュニティ内は主体に対する役割10c、階層10dと言う属性を持つ。
<主体11の属性の定義>
(1)名前属性:主体名
(2)競合属性:主体が属するコミュニティから刻印される競合属性
(3)役割属性:主体の役割
(4)階層属性:主体のセキュリティレベル
(5)プライベート属性:プライベートな情報に関する属性
<客体12の属性の定義>
客体12の属性は、主体11の属性が刻印された競合、所有、階層、役割、プライベートと言うアクセス制御属性の他に、メタ言語・コノーテーションと言う構造を持つ。
(1)名前属性:データベースに格納するための名前
(2)所有属性:客体を所有する主体
(3)競合属性:主体から刻印される競合属性
(4)役割属性:客体にアクセス許可される主体の役割
(5)階層属性:客体のセキュリティレベル
(6)プライベート属性:客体が主体のプライベートな情報を含む場合に刻印される
【0013】
<客体の属性2:客体自体の属性の定義>
メタ言語12f、コノーテーション12g:
Title(客体名):資源に与えられた名前
Subject:資源の内容の主題
Description:資源の内容の説明
Type:資源の内容の種類またはジャンル
Identifier:特定の文脈での曖昧さの無い資源への参照
Source:ある派生した資源から、元の資源への参照
Relation:関連するリソースへの参照
Coverage:資源の範囲または領域
その他12a:
Date:資源のライフサイクルに於けるイベントに関連する日
Format:資源の物理的または電子的形式
Language:資源の内容を記述する言語
【0014】
次にコミュニティ、主体、客体、及びそれらを構成する属性の構造、即ち、各属性間の関係を定義する。
<アクセス制御属性のリンク構造の定義>
1)コミュニティ10の属性“競合”10bはコミュニティ内名前属性を介して役割と階層にリンクする。
2)主体11の属性と客体12の属性“所有”12eは、その主体11がアクセス許可される客体12にリンクする。
3)コミュニティ10の属性“役割”10cは、コミュニティ10に属する主体11の名前11aにリンクする。更にその主体11がアクセス許可される客体12にリンクする。
4)コミュニティの属性“階層”は、コミュニティに属する主体の名前にリンクする。更にその主体がアクセス許可される客体にリンクする。
5)主体11との属性“プライベート”11bは、その主体11がアクセス許可される客体12にリンクする。
尚、図2中、矢印は始点の属性が終点の属性に刻印されることを意味する。ここで刻印とは、始点が持つアクセス制御に必要な機能要求が終点の属性に転写されることを意味する。例えば、コミュニティ10と主体11の間の“役割”10c、11cと言う属性は、コミュニティ10(その名前)が要求するコミュニティ内の“役割”10cと言う機能が、そのコミュニティ10に参画する主体11の“役割”11cとなる。言い換えれば、矢印の始点の属性側から終点の属性側に対して“アクセス権限を始点側が指定する様にしてください”と指示していると見るのである。
【0015】
また主体11と客体12の間は、主体11を書き留めておく“書かれたもの”としての客体12に対して、主体11の属性“役割”11c、“階層”11dが刻印される。また、主体11と客体12の特別な場合として、主体11が客体12を産出したという“所有”12e、或いは、主体11が社会システムの中に於いて客体12を交換することによって“所有”すると言う場合が刻印される。
また個人情報は、本来主体11が持っているプライベートと言う個人情報を侵犯されない権利を“記述した”客体であり、主体から客体へのプライベート11bと言う属性で刻印されるとする。この様に主体11によって刻印される客体12の属性は、Dublin Coreの中の属性の一部として必要十分にまとまっている。Dublin Coreとは図書館、博物館・美術館、インターネットなどいろいろなコミュニティからの草の根参加者によって構成されたDublin Core Metadata Initiative(DCMI)と呼ばれる組織によって進められてきたメタデータであり、ネットワーク上の情報資源の発見のためのメタデータとして広く認められ、いろいろな分野での利用が進んでいる。
客体12の属性には、客体12自体が持つ“記号と意味の構造”で分類されるメタ言語12f、コノーテーション12gがある。この構造を導入しないとメタ言語12fだけでは表現できないレトリック等、記号の象徴的意味をも扱うデータベースを構築できない。モデルではメタ言語12f、コノーテーション12gの2つを属性として規定する。なぜなら、メタ言語12fとしての客体12と、コノーテーション12gとしての客体12では、アクセス権限の制約が異なるからである。
【0016】
次に属性データベースの作成と、客体への書き込みによって記載される属性について説明する。図1の属性データベース4、および、図2のアクセス制御属性のリンク構造に於いて、システム管理者は、コミュニティ間の競合の関係、コミュニティ内の主体の役割などを属性データベース4に登録する。
主体11はデータベース2にアクセスする時、可能な限り主体11の属性を記入する。
データベースへ2の書き込みが許可された主体11の属性は、客体12の中のヘッダ部に書き込まれる。この様にして、主体11の属性が客体12に自動的に書き込まれる機能を有す。
客体12の属性、所有、その他客体自身の属性は、客体12に書き込む主体11が入力する、あるいは、所定フォーマットのデータシートを使用する。
図1の属性データベース4と推論エンジン6は次のように使用される。
アクセス要求=<主体の属性、客体の属性、パミッション>がデータベースに来る、データベースが設置されているコミュニティの属性と、アクセス要求主体が属しているコミュニティの関係、主体の属性間の関係、客体との関係、を属性データベースから引いてくる。
アクセス要求からだけでは記載が不十分な場合でも、推論エンジン(6)によって、属性間の関係を推論する。この場合、不足している情報があるゆえに、危険になる事がないような制御を行う。
【0017】
次にアクセスルールベース5について説明する。図1のアクセスルールベース5に書き込むアクセスルールの一例を示す。
(アクセスルール)
2つの属性集合ξ、ηをコミュニティ、主体、客体の属性の任意の組合せであるとし、アクセス規則を適用するための比較をξ.R.η(.R.は2項関係を表す)とする。
(属性間のアクセスルール)
(1)競合属性はアクセスの判定に於いて全てに優先する。
(2)ξ.R.ηの少なくとも一方が役割属性と階層属性を2つ同時に含む時、ξ、η間のアクセスルールは階層属性のルールに従う。
(3)ξ.R.ηの少なくとも一方が所有属性を含む時、(1)(2)のルールの下で所有属性のルールに従う。
(4)ξ.R.ηの少なくとも一方がプライベート属性を含む時、(1)(2)のルールの下でプライベート属性のルールに従う。
【0018】
(属性のアクセス禁止ルール)
[競合属性]
(1)ξとηがそれぞれコミュニティ名属性と役割属性の組合せを含み、かつそれらが競合関係であるならば、ξ.R.ηに於いて競合属性間のアクセスが禁止される。
[階層属性]
(1)ξが階層属性(セキュリティレベル)を含み、ηが階層属性を含まない時、かつ、セキュリティレベルが機密性を目的とするならば、ξ.R.ηによってξの階層属性からηへの客体流出が禁止される。
(2)ξが階層属性(セキュリティレベル)を含み、ηが階層属性を含まない時、かつ、セキュリティレベルがインテグリティを目的とするならば、ξ.R.ηによってξの階層属性からηへの客体流入が禁止される。
[所有属性]
(1)ξ.R.ηの一方、ηが所有属性を含む時、ηはξからのWRITEが禁止される。
(2)ξ.R.ηが所有属性を含み、所有関係に矛盾がない時、ξはηへWRITE可能である。
(3)所有属性に対するREADのアクセスは、競合属性、階層属性に従う。
[プライベート属性]
(1)ξ.R.ηの一方、ηが所有属性を含む時、ηはξからのアクセスが禁止される。
(2)ξ.R.ηの一方、ηが所有属性を含む時、かつ、ηのプライベート属性にアクセス許可された属性の値をξが持つ場合、ξ.R.ηのアクセスが許可される。
(3)ξ.R.ηに於いて、ξとηが同一のプライベート属性の値を持つ時、ξ.R.ηのアクセスが許可される。
図1のアクセスルールベース5と推論エンジン6は次のように使用される。
アクセス要求=<主体の属性、客体の属性、パミッション>がデータベースに来る、属性データベースから、カバートチャネル分析に必要な属性を揃える(前述:図1の属性データベース4と推論エンジン6)。
アクセストリプル3に既に登録済みでない場合、カバートチャネル分析エンジン7でカバートチャネル分析する。その結果を、アクセスルールベース5に照らして判定する。判定は推論エンジン6で実行される。
判定結果は情報フィルタ部1へ転送され、アクセス要求に対して許可、不許可を処理する。即ち、許可ならデータベース2へのアクセスを許可する。不許可ならアクセス不許可をアクセス要求元に送り返す。
【0019】
次に本発明の実施例について説明する。関係データベース(RDB)、XMLデータベースに於いて、何をアクセストリプル3の客体とするかを示す。関係データベースでは、関数従属と言う特性に基づいて客体に従属関係が付く。また、RDBのインスタンスの中にXMLデータベースを呼び出す機能がある場合は、図1のRDBインスタンス検出部2−1でアクセス要求を再度検出し、情報フィルタ部1に戻す。図1のXMLボディのRDB呼び出し検出部2−2では、XMLデータベースのデータのボディからRDBを呼ぶリンクが張られている場合であり、これもアクセス要求と見做して情報フィルタ部1に戻す。図1のXMLボディのRDB、XMLDB呼び出し検出部2−2では、XMLデータベースのデータのボディからRDB、或いはXMLDBを呼ぶリンクが張られている場合であり、これもアクセス要求と見做して情報フィルタ部1に戻す。
(実施例1):XMLデータベースの場合
図3はXMLデータフォーマットの模式図である。客体はタグ<title>に書かれる客体の属性である。タグ<Body>13の内容はテキストや図表などの情報の内容である。<Body>13の中に、更にURLやRDBの検索文が書き込まれる場合も想定される。その場合、アクセス要求主体はURLやRDBの検索文が書き込まれているXMLデータにアクセスした主体であるとして、再びアクセス要求が情報フィルタ部1に入力される。
【0020】
(実施例2):RDBの場合
図4はRDBの関数従属の場合の図である。DBの関数従属に於ける客体RDB14を、R(a0、b0、c0、d0)、R(a1、b1、c1、e1)、R(d2、f2、g2)とする(図4)。この時、関数従属とRDBのスキーマ15のaが決まればbが決まる事を言い、R(a)→R(b)と書く。この時パミッションの割付はR(a)、R(b)をそれぞれ客体とし、各々に割り振れるようにしておかないと、カバートチャネルが発生する。つまり、関数従属でR(a)→R(b)が成り立つから、R(a)にアクセスできるならば、従属しているR(b)にもアクセス可能である、と無制限にパミッションを割り振ると、カバートチャネルが引き起こされる。例えば、図4に於いて関数従属が、
R(a0、b0、c0)→R(a1、b1、c1)
R(a0、b0、c0)→R(d0)
R(d0)→R(d2)
である場合、もし、R(a1、b1、c1、e1)とR(d2、f2、g2)が競合するコミュニティに属していると、
R(d2)→R(d0)、R(d0)→R(a0、b0、c0)、R(a0、b0、c0)→R(a1、b1、c1)
となり、仲介的コミュニティにあるR(a0、b0、c0、d0)を介してR(d2)が競合コミュニティに漏えいする。
(実施例3):RDBの場合
図5はRDBのインスタンスごとのアクセス制御の場合の図である。RDBのインスタンスを介したアクセス制御RDBでは、インスタンスをまとめてタグを振り、インスタンスごとにアクセス制御する場合がある。この場合の客体は、R(τ)、R(a、b、c)である。
【0021】
(実施例4):RDBの場合
図6はRDBのインスタンスにURL或いはXMLデータベースへのリンクが張ってある場合の図である。RDBのインスタンスにURL、或いはXMLデータベースへのリンクが張ってある場合、客体はR(a、b、c)である。インスタンスにURL、XMLデータベースへのリンクがある場合、それを検知し、アクセス要求主体はURLやXMLデータベースの検索文が書き込まれているRDBにアクセスした主体であるとして、そのアクセス要求が、再び情報フィルタ部1に入力される。
(実施例5):XMLDBの場合
図7はXMLDB内の文書のボディにRDBへのリンクが刻印された場合を示す図である。XML文書のボディにはURL等を用いて他のWebアプリケーションシステムのDBにアクセスすることが可能である。これは同一Webアプリ内にあるDBへのアクセスも同様にして実行される。
【0022】
図8はXMLボディのRDB、XMLDB呼び出し検出部の詳細を示す図である。XMLパーサ部2−2−1は、XML文書を分析しデータベース2へのリンクを検出する。アクセストリプル検出部2−2−2は、XMLパーサ部2−2−1で検出されたデータベース2へのアクセス記述から、誰が(主体)、どういうデータに(客体)、この場合はREADしようとしているのかを抽出し、アクセストリプルとして取りまとめ、改めてカバートチャネル分析を実行する。カバートチャネル分析した結果、カバートチャネルが無ければXMLパーサ分析したXMLデータのアクセスを許可する。もしカバートチャネルが見つかれば、改めて情報フィルタをかけ、XMLパーサ分析したXMLデータのアクセスを許可するか、或いはアクセスを禁止する。
この様な処理は、XMLボディの中にXMLDBがリンクされている場合も同様にして実行される。またこの処理はXMLDBにアクセスした時、実行される方式や、現在情報フィルタ部が把握しているアクセストリプル全てについて、XMLDBのボディを事前にチェックする方式が考えられる。
【図面の簡単な説明】
【0023】
【図1】本発明の情報フィルタの基本的な機能ブロック図である。
【図2】アクセス制御属性のリンク構造を示す図である。
【図3】XMLデータフォーマットの模式図である。
【図4】RDBの関数従属の場合の図である。
【図5】RDBのインスタンスごとのアクセス制御の場合の図である。
【図6】RDBのインスタンスにURL或いはXMLデータベースへのリンクが張ってある場合の図である。
【図7】XMLDB内の文書のボディにRDBへのリンクが刻印された場合を示す図である。
【図8】XMLボディのRDB、XMLDB呼び出し検出部の詳細を示す図である。
【図9】(a)は(b)のアクセス行列に基づいて複数のユーザ間を情報ファイルが伝送していく様子を示した図であり、(b)はユーザなどのアクセス主体がアクセスされるファイルなどの客体に対して持っているアクセス権(リード権、ライト権)を行と列に配置したアクセス行列の一例を示す図である。
【符号の説明】
【0024】
1 情報フィルタ部、2 データベース、2−1 RDBインスタンス検出部、2−2 XMLボディのRDB呼び出し検出部、3 アクセストリプル、4 属性データベース、5 アクセスルールベース、6 推論エンジン、7 カバートチャネル分析エンジン、100 情報フィルタ

【特許請求の範囲】
【請求項1】
アクセスされる関係データベース及びXMLデータベースを格納するデータベースと、アクセスする主体、アクセスされる客体及びパミッションのデータを記憶するアクセストリプルと、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有若しくは所有している複数の組織体との関係をデータベース化した属性データベースと、前記パミッションを与えない場合と与える場合を分析するカバートチャネル分析エンジンと、前記各組織体間の関係、前記組織体と主体の関係及び前記主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベースと、アクセス要求がある時にアクセスルールベースに格納されたアクセスルールに従って前記カバートチャネルか否かを決定する推論エンジンと、前記データベースへのアクセス要求に対するアクセス制御を実行する情報フィルタ部と、を備えたことを特徴とする情報フィルタ。
【請求項2】
前記情報フィルタ部は、前記データベースへのアクセス要求に対するアクセス制御を実行するために、前記アクセストリプルを参照することを特徴とする請求項1に記載の情報フィルタ。
【請求項3】
前記アクセストリプルは、前記アクセス要求がある前に前記カバートチャネル分析エンジンによって、既にあるアクセストリプルの集合のカバーとチャネルを分析し、情報フィルタを設置したうえで、前記アクセス要求が生じた時、更にそのアクセストリプルで新たに生じるカバーとチャネルを分析し、前記パミッションを与えない場合と与える場合とを前記アクセスルールベースのルールによって判断することを特徴とする請求項1又は2に記載の情報フィルタ。
【請求項4】
前記情報フィルタの対象は前記関係データベースのスキーマ若しくはインスタンス、又は前記XMLデータベースのタグの中のタイトル、或いはこれらの組み合わせであることを特徴とする請求項1、2又は3に記載の情報フィルタ。
【請求項5】
前記情報フィルタの対象は情報の名前と情報の内容を扱うデータベースにおける情報の名前若しくは情報の内容、或いはこれらの組み合わせであることを特徴とする請求項1、2又は3に記載の情報フィルタ。
【請求項6】
データベースのデータに対するアクセス要求がある時、アクセスしようとする主体、アクセスされる客体及びアクセスされる客体を保有若しくは所有している複数の組織体との関係をデータベース化しておき、前記各組織体間の関係、前記組織体と主体の関係、前記主体と客体の関係を示すアクセスルールをデータベース化したアクセスルールベースを作成し、前記アクセス要求がある時にアクセスルールベースに格納されたアクセスルールに従って前記カバートチャネルか否かを決定することを特徴とする情報フィルタの制御方法。
【請求項7】
請求項6に記載の情報フィルタの制御方法をコンピュータが制御可能にプログラミングしたことを特徴とする情報フィルタの制御プログラム。
【請求項8】
請求項7に記載の情報フィルタの制御プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−102645(P2007−102645A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−294189(P2005−294189)
【出願日】平成17年10月6日(2005.10.6)
【出願人】(305027456)東洋ネットワークシステムズ株式会社 (200)
【Fターム(参考)】