(57)【要約】【課題】チェックに時間をかけすぎることなく、アプリケーションの動作に関してセキュリティの制約、動作制限を任意にかけることができ、かつ高速な応答性能を備えるようにする。【解決手段】予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成手段を備える。また、メッセージパーザ手段が、メッセージ列を解析し、その解析結果がパージングテーブルに格納された情報と一致する場合に、そのメッセージの送出を遮断するようにする。【選択図】図１
2009211113.tif 000002
【特許請求の範囲】
【請求項１】
予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成手段と、
メッセージ列を解析し、当該解析結果が前記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ手段と、を備えたことを特徴とするメッセージフィルタリング装置。
【請求項２】
前記セキュリティポリシーは、メッセージによる動作名に、許可または不許可とする安全レベルを関連付けて定義されたことを特徴とする請求項１記載のメッセージフィルタリング装置。
【請求項３】
動作名に、該動作の機能のためのメッセージ列を関連付けてなるメッセージデータセットを格納し、
前記パージングテーブル生成手段は、前記メッセージデータセットと前記セキュリティポリシーとに基づいて前記パージングテーブルを生成することを特徴とする請求項２記載のメッセージフィルタリング装置。
【請求項４】
前記パージングテーブル生成手段は、前記メッセージパーザ手段による解析前に、前記パージングテーブルを生成し、装置内に格納することを特徴とする請求項１から３の何れか１項に記載のメッセージフィルタリング装置。
【請求項５】
請求項１から４の何れか１項に記載のメッセージフィルタリング装置が、サーバ装置とクライアント装置との間に接続されて構成されたことを特徴とするメッセージフィルタリングシステム。
【請求項６】
予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成工程と、
メッセージ列を解析し、当該解析結果が前記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ工程と、を備えたことを特徴とするメッセージフィルタリング方法。
【請求項７】
前記セキュリティポリシーは、メッセージによる動作名に、許可または不許可とする安全レベルを関連付けて定義されたことを特徴とする請求項６記載のメッセージフィルタリング方法。
【請求項８】
前記パージングテーブル生成工程では、動作名に当該動作の機能のためのメッセージ列を関連付けてなるメッセージデータセットと、前記セキュリティポリシーとに基づいて前記パージングテーブルを生成することを特徴とする請求項７記載のメッセージフィルタリング方法。
【請求項９】
前記パージングテーブル生成工程では、前記メッセージパーザ工程による解析前に、前記パージングテーブルを生成することを特徴とする請求項６から８の何れか１項に記載のメッセージフィルタリング方法。
【請求項１０】
予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成処理と、
メッセージ列を解析し、当該解析結果が前記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ処理と、をコンピュータに実行させることを特徴とするメッセージフィルタリング装置のプログラム。
【請求項１１】
前記セキュリティポリシーは、メッセージによる動作名に、許可または不許可とする安全レベルを関連付けて定義されたことを特徴とする請求項１０記載のメッセージフィルタリング装置のプログラム。
【請求項１２】
前記パージングテーブル生成処理では、動作名に当該動作の機能のためのメッセージ列を関連付けてなるメッセージデータセットと、前記セキュリティポリシーとに基づいて前記パージングテーブルを生成することを特徴とする請求項１１記載のメッセージフィルタリング装置のプログラム。
【請求項１３】
前記パージングテーブル生成処理では、前記メッセージパーザ処理による解析前に、前記パージングテーブルを生成することを特徴とする請求項１０から１２の何れか１項に記載のメッセージフィルタリング装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント−サーバシステムにおける両者間のメッセージをフィルタリングするメッセージフィルタリング装置、システム、方法、および装置のプログラムに関する。
【背景技術】
【０００２】
本発明に関連するクライアント−サーバ技術として、ウインドウシステムがあり、代表的にものにＸ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍがある。その構成の資料として特許文献１の図３に示されるようなものがある。
【０００３】
また、いわゆるＯＳとアプリケーションの通信プロトコルとしてメッセージをやり取りするものがある。ＯＳとしてＵＮＩＸ（登録商標）やＷＩＮＤＯＷＳ（登録商標）などが代表例としてあげられる。さらに上述のメッセージをフィルタリングする例として、特許文献２の「オブジェクト指向メッセージフィルタリングのシステム及び方法」などがある。
【０００４】
さらに一般的な言語処理のため技法としてＬＲパーザやＧＬＲパーザがある。ＧＬＲパーザの高速化に関しては、非特許文献１などがある。
【特許文献１】特許第３２４８１９９号公報
【特許文献２】特表平１０−５００５０７号公報
【非特許文献１】植木正裕、外２名、「ＧＬＲパーザの効率化に関する研究」、自然言語処理、情報処理学会、平成９年１１月、第８５号、ｐ４５〜５１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１，２、非特許文献１のものなど、各関連技術には、以下の問題があった。
第１の問題点は、上述の各関連技術では、アプリケーションの動作に関し、セキュリティの制約を一部しかかけられなかった点である。
【０００６】
第２の問題点は、上述の各関連技術では、一括してアプリケーションの動作に制限がかけられなかった点である。
【０００７】
第３の問題点は、メッセージのフィルタリングにより、アプリケーションの動作に制限をかける場合、メッセージ単位での制御しかできないか、メッセージ列単位でフィルタをかける場合は、そのチェックに時間がかかり操作性を低下させることである。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、チェックに時間をかけすぎることなく、アプリケーションの動作に関してセキュリティの制約、動作制限を任意にかけることができ、かつ高速な応答性能を備えたメッセージフィルタリング装置、システム、方法、および装置のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明に係るメッセージフィルタリング装置は、予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成手段と、メッセージ列を解析し、当該解析結果が上記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ手段と、を備えたことを特徴とする。
【００１０】
また、本発明に係るメッセージフィルタリングシステムは、上述した本発明に係るメッセージフィルタリング装置が、サーバ装置とクライアント装置との間に接続されて構成されたことを特徴とする。
【００１１】
また、本発明に係るメッセージフィルタリング方法は、予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成工程と、メッセージ列を解析し、当該解析結果が上記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ工程と、を備えたことを特徴とする。
【００１２】
また、本発明に係るメッセージフィルタリング装置のプログラムは、予め定められたセキュリティポリシーに基づいてパージングテーブルを生成するパージングテーブル生成処理と、メッセージ列を解析し、当該解析結果が上記パージングテーブルに格納された情報と一致する場合に該メッセージの送出を遮断するメッセージパーザ処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、チェックに時間をかけすぎることなく、アプリケーションの動作に関してセキュリティの制約、動作制限を任意にかけることができる。また、高速な応答性能を備えることができる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明に係るメッセージフィルタリング装置、システム、方法、および装置のプログラムを適用した一実施形態について、図面を用いて詳細に説明する。
本実施形態は、クライアント−サーバシステムにおける両者間のメッセージをフィルタリングすることによりセキュリティを保持する好適なものを例示している。
【００１５】
本実施形態のメッセージフィルタリングシステムは、図１に示されるように、クライアント部１００と、サーバ部２００と、メッセージフィルタ部３００とが接続されて構成される。
メッセージフィルタ部３００は、メッセージパーザ部３０１と、パージングテーブル３０２と、セキュリティポリシー定義テーブル３０３と、パージングテーブル生成機構３０４と、メッセージデータセット３０５と、メッセージ蓄積部３０６とを備える。
【００１６】
このように、本実施形態のシステムは、クライアント部とサーバ部とを異なるマシン上に分離した構成とし、ネットワークを介して利用可能にした構成となっている。
【００１７】
一般に、コンピュータ内の通信において、クライアントタスクは、サーバタスクが提供するサービスを前提として動作する。例えば、ウィンドウの生成や表示、キーボードからの入力、ディスクアクセス等のサービスは通常サーバサービスを提供するＯＳ側に事前に準備されている。クライアント側のタスクが必要とするサービスは、ウィンドウマネージャーなどにより適当なサーバ側タスクによって実行される。この際クライアントとサーバの間の通信の単位は一般にメッセージと呼ばれるものになる。
クライアント部１００とサーバ部２００の装置間には、このメッセージがやり取りされる。
【００１８】
クライアント部１００は、サーバクライアントシステムにおいて、クライアント側にて発生するタスクを生成する部分である。ＯＳとアプリケーションとの関係では、主にアプリケーションが実施される部分である。
サーバ部２００は、サーバ側にてタスク生成処理する部分である。ＯＳとアプリケーションとの関係では、主にＯＳ側のプログラムが実施される部分である。
【００１９】
メッセージフィルタ部３００は、クライアント部１００とサーバ部２００の間に位置し、通信されるメッセージを条件によりフィルタする装置である。
メッセージフィルタ部３００は、メッセージパーザ部３０１とパージングテーブル３０２を備えて構成される。メッセージパーザ部３０１は、クライアント部１００とサーバ部２００の間で通信されるメッセージ列を解析する装置であり、一般にパーザと呼ばれる装置である。パージングテーブル３０２は、メッセージパーザ部３０１のための解析方法をテーブルにしたものである。
【００２０】
パージングテーブル生成機構３０４は、セキュリティポリシー定義テーブル３０３とメッセージデータセット３０５との情報に基づいて、パージングテーブル３０２を生成する機構である。
【００２１】
セキュリティポリシー定義テーブル３０３は、どのようなメッセージ列がセキュリティポリシーに反するかなどの条件が特定の形式で記載されるものである。メッセージデータセット３０５は、該当システムで利用されるメッセージが特定の形式記載されたものである。メッセージ蓄積部３０６は、サーバ部とクライアント部でやり取りしたメッセージを蓄積する部分である。
【００２２】
次に、図１〜図４を参照して、本実施形態の特徴について詳細に説明する。
クライアント部１００は、サーバクライアントシステムにおいて、クライアント側にて発生するタスクを生成する部分である。ＯＳとアプリケーションとの関係では、主にアプリケーションが実施される部分である。
サーバ部２００は、サーバ側にてタスク生成処理する部分である。ＯＳとアプリケーションとの関係では、主にＯＳ側のプログラムが実施される部分である。
【００２３】
クライアント部１００およびサーバ部２００は、本実施形態で必要不可欠な構成要素であるが、従来のシステムでも通常組み込まれている部分であり、本実施形態においても特に新規なものではない。
【００２４】
メッセージフィルタ部３００は、クライアント部１００とサーバ部２００の間に位置し、通信されるメッセージを条件によりフィルタする装置である。本装置は、メッセージパーザ部３０１と、パージングテーブル３０２と、メッセージ蓄積部３０６とを備えて構成される。
【００２５】
このメッセージフィルタ部３００は、従来のシステムになかった装置であり、本実施形態の特徴となる部分である。
また、メッセージフィルタ部３００の構成要素であるパージングテーブル３０２を作成する装置として、パージングテーブル生成機構３０４がある。さらに、このパージングテーブル生成機構３０４が利用するデータを格納するものとして、セキュリティポリシー定義テーブル３０３と、メッセージデータセット３０５とが設けられている。
【００２６】
メッセージフィルタ部３００は、クライアント部１００とサーバ部２００の間に位置し、通信されるメッセージをモニタしている。
メッセージの例を図２に示す。このときのメッセージは通常ＯＳが定義するものである。
【００２７】
メッセージフィルタ部３００は、クライアント部（アプリケーションソフト）からのメッセージを常時監視しており、メッセージパーザ部３０１がそのメッセージ列をパージングしている。通常は、メッセージはそのままサーバ部（ＯＳ）側に渡される。ただし、パージングの結果が、パージングテーブル３０２に合致するような場合は、メッセージをフィルタリングして、サーバ部に渡さないようにする。これにより、アプリケーションによらずその動作を制御することが可能になる。パージングの方法については、一般的に知られている手法としてＬＲ法やＧＬＲ法などがあるが、本実施形態においてはそのアルゴリズムを特に規定しない。
【００２８】
本実施形態では、１つの特徴として、文法の定義に、図４に示すような「メッセージデータセット」と、図３に示すような「セキュリティポリシー定義テーブル」とを利用している。
【００２９】
「メッセージデータセット」とは、特定の機能を実施する際に使われるメッセージの列を記載したものである。例えば、エディタなどで特定部位をマークし、それをＣＯＰＹする場合の一連のメッセージ列は、アプリケーションによらずほぼ同じものである。
このような特定の機能のためのメッセージ列に特定のシンボル（動作名）を割り振ったものが「メッセージデータセット」である。動作名として、例えば「Ｔｅｘｔ＿Ｃｏｐｙ（文のコピー）」などと言うものが定義される。
【００３０】
また、セキュリティポリシー定義テーブル３０３には、どのようなメッセージ列がセキュリティポリシーに反するかなどの条件が特定の形式で記載されるものである。このときのシンボル（動作名）と「メッセージデータセット」中のシンボル（動作名）は同一のものである。
【００３１】
このように、メッセージデータセット３０５は、図４に示すように、各シンボル（動作名）に、その動作を実現する機能のためのメッセージ列を関連付けて構成される。
また、セキュリティポリシー定義テーブル３０３は、図３に示すように、メッセージにより実現されるシンボル（動作名）に、許可または不許可とする安全レベルを関連付けて定義される。
【００３２】
パージングテーブル生成機構３０４は、「セキュリティポリシー定義テーブル」と「メッセージデータセット」からパージングテーブル３０２を作成する。作成の方法としては、ＬＲ法やＧＬＲ法など文法が定義されている状態でのパージングテーブルの作成と同一であり、こうした公知技術を利用するものであってよい。
また、パージングテーブル３０２の生成は、メッセージパーザ部３０１による解析前に予め行われ、メッセージフィルタ部３００内に格納される。
【００３３】
なお、メッセージ蓄積部３０６は、サーバ部とクライアント部でやり取りしたメッセージを蓄積する部分であり、条件により過去のメッセージ列を参照しなくてはならない場合にアクセスするための記憶域である。この場合、パージングテーブルで部分的に条件にマッチするメッセージ列のみを記憶することによりアクセスの高速化も可能である。
【００３４】
次に、本実施形態を実現する具体的な適用例について説明する。
本実施形態に係るシステムの実装上の形態として、いわゆる記憶装置としてメモリやハードディスク、計算装置としてＣＰＵなどを有するコンピュータが想定できる。さらに、利用者の入出力をつかさどるクライアント端末とサーバを分離して配置するネットワークコンピュータやリモート端末などでの実施形態も想定できる。端末装置として、携帯電話やＰＤＡ（Personal Digital Assistant）などを使った実施も想定できる。
【００３５】
このように、本実施形態では、アプリケーションの種類によらずその操作を第３者が容易に制御することが可能になる。このため、本実施形態は、ＰＣ（Personal Computer）だけでは無く、携帯端末やＰＤＡあるいは車載のナビゲーション装置などにも利用することが可能である。
【００３６】
第１の効果は、「最適なセキュリティを実現する機能」を提供できることである。
一般に、個別に作成されるアプリケーションソフト（ＡＰ）に対し、第３者がセキュリティポリシーにあった条件を課すことは、これまで困難であった。例えば、特定のＡＰからのＣＯＰＹしたテキストデータを特定のＡＰにはペーストできないようにする、といった指定は困難であった。
本実施形態では、ＡＰとＯＳ間のメッセージをフィルタリングすることが可能であるため、個別のＡＰによらず動作を制御することが可能である。このため、アプリケーションの動作に関して、セキュリティの制約や動作制限を任意にかけることができる。
【００３７】
第２の効果は、「高速な応答性能」を提供できることである。
一般に、メッセージのフィルタはユーザの挙動に応じリアルタイムに処理する必要がある。この動作が遅いと、遅延などが発生し、操作性能を低下させたり、メッセージの消失を引き起こしたりする。ただし、セキュリティポリシーの設定方法によっては、長い間に蓄積したメッセージを走査しなくてはならない場合がある。例えば、特定のファイルＡをオープンし、そこから他のファイルＢへのペーストを許すが、そのファイルＢの印刷は許可しないなどの場合である。
【００３８】
これを阻止するためには、Ｂが印刷されるまでのメッセージ列に対し走査を行う必要がある。しかし、Ｂが印刷されるタイミングが不明であるため、それまでのメッセージ列が膨大になる可能性もある。
本実施形態では、事前にメッセージ列の高速のパージングが可能なようにセキュリティポリシーから必要なパタンを事前に生成する。
【００３９】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
例えば、上述した実施形態では、メッセージフィルタリングシステムとして説明したが、このメッセージフィルタ部３００における各部の機能を備えたメッセージフィルタリング装置としても、本発明は同様に実現することができる。
【００４０】
また、このメッセージフィルタリング装置は、ＰＣ（Personal Computer）だけでは無く、携帯端末やＰＤＡあるいは車載のナビゲーション装置、各種の専用機器等により実現されてもよい。
【００４１】
また、上述した各実施形態としてのメッセージフィルタリング装置を実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのＣＰＵに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリーカード、ＲＯＭ等を用いてよい。
【００４２】
この本発明に係るプログラムによれば、当該プログラムによって制御されるコンピュータに、上述した本発明に係る実施形態としてのメッセージフィルタリング装置における各機能を実現させることができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態としてのメッセージフィルタリングシステムの構成例を示すブロック図である。
【図２】メッセージの例を示す図である。
【図３】セキュリティポリシー定義テーブルの例を示す図である。
【図４】メッセージデータセットの例を示す図である。
【符号の説明】
【００４４】
１００    クライアント部
２００    サーバ部
３００    メッセージフィルタ部
３０１    メッセージパーザ部
３０２    パージングテーブル
３０３    セキュリティポリシー定義テーブル
３０４    パージングテーブル生成機構
３０５    メッセージデータセット
３０６    メッセージ蓄積部
【図１】
2009211113.tif 000003
【図２】
2009211113.tif 000004
【図３】
2009211113.tif 000005
【図４】
2009211113.tif 000006