(57)【要約】【課題】既存のプログラムやデータベースの修正なしに、データベースの保安性を強化し、その管理をより容易にし、既存のマスキング処理方法に比べて速度を改善すること。【解決手段】実行されるＳＱＬ文を分析し、そのＳＱＬ文に該当するマスキング情報を生成し、実行されたＳＱＬ文に応じた結果データを使用者の権限に応じて、一部あるいは全部を変更して伝達する。【選択図】図７
2010267249.tif 000002
【特許請求の範囲】
【請求項１】
データベースの保安構成に適用されてＳＱＬの実行に応じた結果の一部をマスキングするＳＱＬマスキング装置であって、
受信ＳＱＬ文を単位構成に区分し、その相関関係を既に設定されているマスキングルールを基準に分類し、ＳＱＬ結果のデータフォーマットの中のマスキングされる部分に対する情報を含むマスキング情報を生成する実行ＳＱＬマスキング情報部と、
上記実行ＳＱＬマスキング情報部から生成されたマスキング情報を、上記ＳＱＬ文の実行に応じたＳＱＬ結果データに適用し、マスキングされたＳＱＬ結果データを生成する実行ＳＱＬマスキング適用部と
を備えることを特徴とするＳＱＬマスキング装置。
【請求項２】
上記実行ＳＱＬマスキング情報部は、受信ＳＱＬ文の単位構成のうち、マスキングする部分を判断するルールを格納するマスキングルール格納部を備えることを特徴とする請求項１に記載のＳＱＬマスキング装置。
【請求項３】
上記マスキングルール格納部は、使用者ＩＤ、テーブル名、コラム名、コラム内のマスキング領域、及びマスキングの有無のうちの少なくとも一つ以上の情報を格納することを特徴とする請求項２に記載のＳＱＬマスキング装置。
【請求項４】
上記実行ＳＱＬマスキング情報部は、
実行されるＳＱＬ文をパーシングし、パーシングされた結果中のマスキング可能部分を選別するＳＱＬパーシング部と、
マスキングする部分を判断するルールを格納するマスキングルール格納部と、
上記ＳＱＬパーシング部が選別したマスキング可能部分の間の相関関係を把握し、上記マスキングルール格納部に格納されているマスキングルールに応じて、マスキング対象を選別し、ＳＱＬ結果のデータフォーマットの中のマスキング対象をマスキング情報として生成する実行ＳＱＬマスキング情報生成部と
を備えることを特徴とする請求項１に記載のＳＱＬマスキング装置。
【請求項５】
上記ＳＱＬパーシング部は、上記データベースの保安構成に既に含まれているＳＱＬパーシング部を利用することを特徴とする請求項４に記載のＳＱＬマスキング装置。
【請求項６】
上記実行ＳＱＬマスキング情報生成部は、上記マスキングルールと、マスキング可能部分の間の相関関係とに応じて、マスキング対象と関連した全てのマスキング可能部分を選別し、それにより得られるＳＱＬ結果のデータフォーマットの中のマスキングされる部分の位置情報をマスキング情報として生成することを特徴とする請求項４に記載のＳＱＬマスキング装置。
【請求項７】
データベースの保安構成に適用されてＳＱＬの実行に応じた結果の一部をマスキングするＳＱＬマスキング方法であって、
受信ＳＱＬ文を単位構成に区分し、その相関関係を既に設定されているマスキングルールを基準に分類し、ＳＱＬ結果のデータフォーマットの中のマスキングされる部分に対する情報を含むマスキング情報を生成する実行ＳＱＬマスキング情報段階と、
上記実行ＳＱＬマスキング情報段階において生成されたマスキング情報を、上記ＳＱＬ文の実行に応じたＳＱＬ結果データに適用し、マスキングされたＳＱＬ結果データを生成する実行ＳＱＬマスキング適用段階と
を含むことを特徴とするＳＱＬマスキング方法。
【請求項８】
上記実行ＳＱＬマスキング情報段階は、受信ＳＱＬ文の単位構成のうち、マスキングする部分を判断するルールを格納するマスキングルール格納段階を含むことを特徴とする請求項７に記載のＳＱＬマスキング方法。
【請求項９】
上記マスキングルール格納段階は、使用者ＩＤ、テーブル名、コラム名、コラム内のマスキング領域、及びマスキングの有無のうちの少なくとも一つ以上の情報を格納することを特徴とする請求項８に記載のＳＱＬマスキング方法。
【請求項１０】
上記実行ＳＱＬマスキング情報段階は、
実行されるＳＱＬ文をパーシングし、パーシングされた結果中のマスキング可能部分を選別するＳＱＬパーシング段階と、
マスキングする部分を判断するルールを格納するマスキングルール格納段階と、
上記ＳＱＬパーシング段階において選別されたマスキング可能部分の間の相関関係を把握し、上記マスキングルール格納段階において格納されたマスキングルールに応じて、マスキング対象を選別し、ＳＱＬ結果のデータフォーマットの中のマスキング対象をマスキング情報として生成する実行ＳＱＬマスキング情報生成段階と
を含むことを特徴とする請求項７に記載のＳＱＬマスキング方法。
【請求項１１】
上記ＳＱＬパーシング段階においては、上記データベースの保安構成に既に含まれているＳＱＬパーシング部を利用することを特徴とする請求項１０に記載のＳＱＬマスキング方法。
【請求項１２】
上記実行ＳＱＬマスキング情報生成段階は、上記マスキングルールと、マスキング可能部分の間の相関関係とに応じて、マスキング対象と関連した全てのマスキング可能部分を選別し、それにより得られるＳＱＬ結果のデータフォーマットの中のマスキングされる部分の位置情報をマスキング情報として生成することを特徴とする請求項１０に記載のＳＱＬマスキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＱＬマスキング装置及び方法に関する。特に、本発明は、ＳＱＬ処理の際に使用者権限に合うように個別ＳＱＬのマスキング情報を生成し、実行されたＳＱＬ結果データの一部あるいは全部を変更して伝達することにより、データベースの保安性及び速度を高め、その管理を容易にしたＳＱＬマスキング装置及び方法に関する。
【背景技術】
【０００２】
情報通信時代に入り、各種情報を収集して活用するか、これを通じて、ビジネス情報（ＢＩ：Ｂｕｓｉｎｅｓｓ  Ｉｎｆｏｒｍａｔｉｏｎ）を得るための多様なシステムが登場しており、このようなシステムは、ＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）関連技術の進歩に基づいている。
【０００３】
このようなＤＢＭＳは、ビジネス関連情報、顧客情報、商品情報、コンテンツ情報などを含む多様で膨大な資料を格納及び管理している。このような情報を効果的に管理するための関係型データベース管理システムとして、オラクル（Ｏｒａｃｌｅ）、サイベース（Ｓｙｂａｓｅ）、マイＳＱＬ（ＭｙＳＱＬ）、マイクロソフトＳＱＬサーバ（ＭＳ  ＳＱＬ  Ｓｅｒｖｅｒ）等の多様なＤＢＭＳが使われている。
【０００４】
また、重要な情報を管理するＤＢＭＳの保安性を高めるための保安システムの構成は、最近頻繁に発生する情報の流出や情報の操作のような多様な保安事故を防止するために、一定の規模以上のシステムにおいては一般に適用されている。
【０００５】
図１は、保安構成が適用された基本的なデータベースシステムの構成を示す。ここで、複数のクライアント端末機１が、通信網２を介してＤＢＭＳ５、６に接続され、このＤＢＭＳ５、６に対する接続情報をログで管理するために、ゲートウェイサーバやスニッフィング（Ｓｎｉｆｆｉｎｇ）のための保安モジュール３などを備える。このような構成以外にも、プロキシーゲートウェイサーバやＤＢＭＳ５、６の内部にエージェント（ａｇｅｎｔ）を構成する方式が、個別にあるいは複合的に構成され得る。
【０００６】
上記保安モジュールは、基本的にログイン情報（セッション情報、ＩＰ住所、ログイン時刻、ＤＢ情報、ＤＢ勘定情報、プロトコル、ログイン時の適用規則情報）を含むことができる。
【０００７】
このような保安構成は、管理者により許可された使用者のみがＤＢＭＳに接近することができるようにするか、ＤＢＭＳへの接近及び使用内訳に対するモニタリング、強制セッション終了などを実施することができるようにし、使用内容をログで格納し、使用者別に接近政策を設定するなどの多様な保安機能を提供することができる。
【０００８】
このような保安構成にもかかわらず、多様な方法でデータの情報流出や操作が発生する。一般に、データベースの情報流出や情報操作は、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕｇａｇｅ）を通じて行われる。従って、使用者の権限に応じて、使用することができるＳＱＬを制限するか、照合及び更新することができるコラムを制限することにより、ＤＢＭＳの保安性を強化する。
【０００９】
上記のように照合を制限するために、データの照合の際に、照合されたデータの一部あるいは全部を、データベースに格納されているもとのデータと違った字、形などに置き換える。これをマスキングであると言う。マスキングの一般的な方法は、以下のようである。
【００１０】
図２は、商用データベースシステムにおけるマスキングシステムの構成を示す。複数のクライアント端末機１０が通信網２０を介してＤＢＭＳ５０、５１に接続され、ＤＢＭＳ５０にデータ暗号化５２により既に格納されたデータが、ＳＱＬにより要請されると、保安モジュールが使用者権限をチェックし、権限がある場合、データ復号化５３により、ＳＱＬ結果データが返還される。
【００１１】
上記方法は、ＤＢ自体の保安性はあるが、ＳＱＬ結果返還５４以後のデータは、暗号化が解除された状態で、保安性がなく、ＤＢＭＳに直接設けられ運営されるので、ＤＢＭＳの性能低下の原因となり、使用者の権限に応じて暗号化フォーマットの設定などの細部的なマスキングが不可能である。
【００１２】
図３は、プログラムによるマスキングシステムの構成を示す。プログラム６０によりＳＱＬが呼出６２され、ＳＱＬ結果データが返還（６３）されると、返還されたデータを使用者権限に応じてマスキング部６１がマスキングして伝達するように構成される。
【００１３】
上記方法は、使用者権限に応じた細部的なマスキングを適用することができるが、既に使われているシステムとＤＢＭＳに適用する場合、そのシステムとＤＢＭＳに合うようにカスタマイズを必要とし、ＳＱＬ結果返還（６３）の際にデータ流出の可能性が存在する。また、システムが変更されるか、使用者権限が変更される場合、プログラム６０の内部のマスキング部６１のコードを変更しなければならないので、汎用性が落ち、カスタマイズに応じた費用が発生する。
【００１４】
図４は、保安モジュール１１０の内部に位置するマスキング部１１６を利用したマスキングシステムの構成を示す。保安モジュール１１０は、保安管理部１１５と、マスキング部１１６とを備える。
【００１５】
図５は、図４のマスキング部１１６の構成図を示す。マスキング部１１６は、実行ＳＱＬ結果データ２００を、マスキングルール格納部２２５に格納されたマスキングルールと比較して、マスキングの可否を判断し、マスキング適用部２２６でマスキングを適用してマスキングされたＳＱＬ結果データ２１０を生成する。上記マスキングルールは、正規式の表現による方法と、テーブルの列及び行の指定による方法とがある。
【００１６】
例えば、正規式によるマスキング方法は、実行ＳＱＬ結果データ２００から住民番号様式（ＸＸＸＸＸＸ−ＸＸＸＸＸＸＸ）あるいは生年月日ＸＸ／ＸＸ／ＸＸなどのフォーマットを発見してマスキングをする方法である。テーブルの列及び行の指定による方法は、実行ＳＱＬ結果データ２００のヘッダからコラムや区分子を認識し、各コラムがマスキング対象に該当するかを、マスキングルール格納部２２５に格納されたマスキングルールと比較してマスキングする方法である。
【００１７】
上記方法は、既に使われているプログラム及びＤＢＭＳに、カスタマイズなしに適用可能であり、使用者権限に応じた細部的なマスキングの適用が可能である。しかし、正規式による表現方法は、様式のみ同じであれば、データがマスキングされるので、願わないデータがマスキングされるか、様式を変えて照合する場合にマスキングされない。また、列及び行の指定による方法は、該当列及び行を、分けて照合するか、合わせて照合する場合にマスキングされない。即ち、上記方法のように、実行ＳＱＬ結果データ２００に既に格納されているマスキングルールを使用してマスキングの有無を判断する場合、いかなる情報を検索することか、知らない状態で受信されるＳＱＬ結果データに含まれている情報のみを根拠に、マスキングを実施するので、ＳＱＬが変更されるか複雑になる場合に相変らずデータの流出の可能性が存在する。
【００１８】
従って、多様な使用者の権限に応じて、細部的なマスキングが可能であり、多様なプログラム及びＤＢＭＳに汎用的に適用することができ、既に使われているプログラム及びＤＢＭＳにカスタマイズなしに適用可能であり、データの流出の可能性のないマスキング方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
前述した問題点を改善するための本発明の目的は、実行されるＳＱＬ文を分析し、そのＳＱＬ文に該当する個別のＳＱＬマスキング情報を生成することにより、多様な使用者の権限に応じて、細部的にマスキングの適用を可能にしたＳＱＬマスキング装置及び方法を提供することである。
【００２０】
本発明の他の目的は、実行されるＳＱＬの結果データを使用してマスキングすることにより、多様なプログラム及びＤＢＭＳに共通的に適用することができるようにしたＳＱＬマスキング装置及び方法を提供することである。
【００２１】
本発明の更に他の目的は、既存のプログラムの修正やＤＢＭＳの変更なしに、マスキングルールを変更することにより、実行されるＳＱＬの結果データを変更して提供することにより、既存のシステムの環境の変更なしに、適用することができるようにしたＳＱＬマスキング装置及び方法を提供することである。
【００２２】
本発明の更に他の目的は、要請されたＳＱＬ文をパーシングして、要請されたＳＱＬ結果データに対するマスキングフォーマットを決定することにより、ＳＱＬ文を変形、操作しても、該当部分のマスキングを維持することができるようにしたＳＱＬマスキング装置及び方法を提供することである。
【課題を解決するための手段】
【００２３】
上記課題を解決するために、本発明の第１の形態に係るＳＱＬマスキング装置は、保安管理部とマスキング部とを備える。
【００２４】
保安管理部は、ログイン情報（セッション情報、ＩＰ住所、ログイン時刻、ＤＢ情報、ＤＢ勘定情報、プロトコル、ログイン時の適用規則情報）及びＳＱＬ情報（ログイン情報別要請ＳＱＬ、ログイン情報別実行ＳＱＬ結果）等を含む。
【００２５】
上記マスキング部は、実行ＳＱＬ文を分析し、実質的にマスキングする対象に関する実行ＳＱＬマスキング情報を生成する実行ＳＱＬマスキング情報部と、上記実行ＳＱＬマスキング情報と、実行ＳＱＬ結果データとを利用して、マスキングされたＳＱＬ結果データを生成する実行ＳＱＬマスキング適用部とを備える。
【００２６】
上記実行ＳＱＬマスキング情報部は、実行ＳＱＬ文をパーシングし、そのパーシングされた結果を分析して、マスキング可能部分を選別するＳＱＬパーシング部と、マスキングする部分を判断するルールを格納するマスキングルール格納部と、上記マスキングルール格納部のルールを基準に上記ＳＱＬパーシング部のマスキング可能部分の構文分析上の組合せを解釈して実行されたＳＱＬ結果のデータフォーマットの中のマスキングする部分に関する情報を生成する実行ＳＱＬマスキング情報生成部とを備える。
【００２７】
上記実行ＳＱＬマスキング適用部は、上記実行ＳＱＬマスキング情報部が提供する実行ＳＱＬマスキング情報と、上記実行ＳＱＬ文により実行されたＳＱＬ結果データとを使用してマスキングされたＳＱＬ結果データを生成する。
【発明の効果】
【００２８】
本発明に係るＳＱＬマスキング装置及び方法は、実行されるＳＱＬ文を分析し、使用者の権限に応じて、個別のＳＱＬマスキング政策を生成して適用する。これにより、多様な使用者の権限に応じて、細部的にマスキングを適用可能にするので、データベースの保安性を改善する優れた効果を有する。
【００２９】
本発明に係るＳＱＬマスキング装置及び方法は、実行されるＳＱＬの結果データを使用してマスキングする。これにより、多様なプログラム及びＤＢＭＳに共通的に適用可能にするので、多様なシステムの環境においても、汎用性に優れる。また、別途のカスタマイズが必要でないので、費用が節減される効果を有する。
【００３０】
本発明に係るＳＱＬマスキング装置及び方法は、既存のプログラムの修正やＤＢＭＳの変更なしに、マスキング判断政策を変更する。これにより、実行されるＳＱＬの結果データが変更し提供されるので、使用者権限管理及び情報制御管理が容易になり、データベース管理の容易性が増大する効果を有する。
【００３１】
本発明に係るＳＱＬマスキング装置及び方法は、要請されたＳＱＬ文をパーシングして、要請されたＳＱＬ結果データに対するマスキングフォーマットを決定する。これにより、ＳＱＬ文を変形、操作しても、該当部分のマスキングを維持することができるので、データベースの保安性を増大させる効果を有する。
【００３２】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００３３】
【図１】ログ情報を格納する保安モジュールが適用されたデータベースシステムの構成図である。
【図２】商用ＤＢＭＳの暗号化／復号化により示されるＳＱＬマスキングシステムの構成図である。
【図３】プログラムにより示されるＳＱＬマスキングシステムの構成図である。
【図４】保安モジュールにより示される一般的なＳＱＬマスキングシステムの構成図である。
【図５】一般的なＳＱＬマスキングシステムのマスキング部の構成図である。
【図６】本発明の実施形態に係るＳＱＬマスキングシステムのマスキング部の構成図である。
【図７】本発明の実施形態に係る実行ＳＱＬマスキング情報部の構成図である。
【図８】図５のマスキング部と図６のマスキング部との結果の差異を示す例示図である。
【図９】本発明の実施形態に係るマスキング部の動作のフローチャートである。
【発明を実施するための形態】
【００３４】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００３５】
上記のような本発明を、添付の図面を参照して詳しく説明する。
【００３６】
図４は、ＳＱＬマスキング方式を説明するための一般的なデータベースシステムの構成を示す。図４に示されたように、複数のクライアント端末機１００と、ＤＢＭＳ１２０と、これらの間に設けられてＳＱＬ実行を監視する保安モジュール１１０とを備える構成を概略的に示す。
【００３７】
上記保安モジュール１１０は、データベースシステムの保安のために、ゲートウェイ、プロキシーゲートウェイ、スニッフィングサーバ、エージェントなどを含む任意の保安モジュールのうちの一つでありうる。
【００３８】
上記保安モジュール１１０は、保安管理部１１５とマスキング部１１６とを備える。上記保安管理部１１５は、基本的にログイン情報（セッション情報、ＩＰ住所、ログイン時刻、ＤＢ情報、ＤＢ勘定情報、プロトコル、ログイン時の適用規則情報）及びＳＱＬ情報（ログイン情報別要請ＳＱＬ、ログイン情報別実行ＳＱＬ結果）等を含み、ＤＢ接近保安を管理し、ログＤＢ４０にログを残す。上記マスキング部１１６は、ＳＱＬ実行結果中の一部をマスキングルールに応じてマスキングする機能を行う。
【００３９】
図６は、本発明の一実施形態に係るマスキング部の構成を示し、実行ＳＱＬマスキング情報部３３０と、実行ＳＱＬマスキング適用部３４０とを備える。
【００４０】
上記マスキング部は、実行ＳＱＬ文を受信し、該当ＳＱＬ文を分析し、該当ＳＱＬ文のマスキング情報を生成し、該当ＳＱＬ文の結果データに対して、該当ＳＱＬ文のマスキング情報を使用してマスキングを適用した後、マスキングされたＳＱＬ結果データを伝送する。
【００４１】
上記マスキング部は、マスキングルールを更新するか又は変更するために、保安管理部と通信することができる。また、該当ＳＱＬ文のマスキング情報をログＤＢに格納して監査資料として活用するか、マスキングルールの更新に用いることができる。
【００４２】
上記実行ＳＱＬマスキング情報部３３０は、実行ＳＱＬ文３００を受信し、実行ＳＱＬ結果データ３４１のマスキングに用いる実行ＳＱＬマスキング情報３３１を生成する。
【００４３】
上記実行ＳＱＬマスキング適用部３４０は、上記実行ＳＱＬマスキング情報部３３０から生成された実行ＳＱＬマスキング情報３３１と、上記実行ＳＱＬ文３００により実行された実行ＳＱＬ結果データ３４１とを使用してマスキングされたＳＱＬ結果データ３１０を生成する。
【００４４】
上記実行ＳＱＬマスキング情報部３３０は、クライアントから実行要請されたＳＱＬ文を受信し、マスキングしなければならない部分を分析する。また、マスキングしなければならない部分のフォーマットが多様であっても、マスキングが可能であるように格納されているマスキングルールを使用して、マスキングしなければならない部分に対するマスキングの可能の可否、フォーマットの設定などの情報を含む実行ＳＱＬマスキング情報３１０を生成する。
【００４５】
上記実行ＳＱＬマスキング情報３３１は、ただ要請されたＳＱＬ結果データのコラム単位の操作、即ちコラム単位のマスキングの可否だけでなく、該当コラム値の範囲を制限し、範囲を超過する行に対するマスキングを実施するか、特定の行の範囲を制限してマスキングを実施するなどのすべての可能な種類のマスキング情報であることに留意する。
【００４６】
上記実行ＳＱＬマスキング適用部３４０は、該当ＳＱＬの結果データが伝送されると、上記実行ＳＱＬマスキング情報３３１を使用して、該当結果データにマスキングを実施し、マスキングされたＳＱＬ結果データ３１０を生成する。
【００４７】
図７は、本発明の一実施形態に係る実行ＳＱＬマスキング情報部４２０を示す。図７に示されたように、ＳＱＬ対象とマスキング情報を通じてマスキング対象を具体的に決定するように構成された例である。
【００４８】
上記実行ＳＱＬマスキング情報部４２０は、実行ＳＱＬ文をパーシングし、そのパーシングされた結果を分析して、マスキング可能部分を選別するＳＱＬパーシング部４３０と、マスキングする部分を判断するルールを格納するマスキングルール格納部４４０と、上記マスキングルール格納部４４０のルールを基準に上記ＳＱＬパーシング部４３０のマスキング可能部分の構文分析上の組合せを解釈し、実行されたＳＱＬ結果データのフォーマットの中のマスキングする部分に関する情報を生成する実行ＳＱＬマスキング情報生成部４５０とを備える。
【００４９】
上記ＳＱＬパーシング部４３０は、クライアントからＳＱＬが要請される場合、該当ＳＱＬをパーシングして意味のあるトークン（ｔｏｋｅｎ）に分解し、構文分析を実施し、マスキングをすることができるトークンをマスキング可能部分として設定する。
【００５０】
上記ＳＱＬパーシング部４３０は、必要な場合、実行されるＳＱＬの使用者情報、実行されるＳＱＬ文など、実行ＳＱＬ文と関連した可能な情報を格納することができる。
【００５１】
一方、上記ＳＱＬパーシング部４３０は、保安管理部が権限の管理のために使用するＳＱＬパーシング部を利用するか、そのパーシングされたトークンを選別する比較的簡単な追加の構成を付加して、実行ＳＱＬマスキング情報部４２０において活用することができる。
【００５２】
以下の表１及び表２は、本発明の動作の原理を説明するためのマスキングルールとＳＱＬ文の例を示すものである。
【００５３】
【表１】
2010267249.tif 000003
【００５４】
【表２】
2010267249.tif 000004
【００５５】
上記例において、上記ＳＱＬパーシング部４３０は、表２のＳＱＬ文をパーシングして、表２のマスキング可能部分に表示されたマスキング可能部分を抽出することができる。表２のマスキング可能部分とマスキング対象部分とにおいて、｛｝の内は、該当マスキング可能部分の演算に使用されるすべてのマスキング可能部分の和集合である。
【００５６】
上記マスキングルール格納部４４０は、使用者権限に応じて、マスキング可能部分をマスキング対象部分に選別する可能な種類のルールを格納しており、その格納形態は、テーブル、コーディング、メモリなど多様である。
【００５７】
例えば、上記マスキングルール格納部４４０のように、表１のテーブルの形態に格納されれば、使用者権限に応じた各コラムのマスキングの有無、即ち使用者ＩＤ、テーブル名、コラム名、コラム内のマスキング領域、マスキングの有無などの情報により表現されることができる。
【００５８】
ＳＱＬマスキング情報生成部４５０は、ＳＱＬパーシング部４３０から得られるマスキング可能部分と、マスキングルール格納部４４０のルールを使用して実行されるＳＱＬ文を要請した使用者情報とをマッピングして、実行ＳＱＬマスキング情報を生成する。
【００５９】
例えば、表１のマスキングルールを有するマスキングシステムにおいて、ｓｃｏｔｔという使用者が、表２のＳＱＬ文を使用してクエリーをする場合に、ＳＱＬパーシング部４３０は、表２のマスキング可能部分を生成し、表１のマスキングルールに応じて、ｊｕｍｉｎ＿ｎｏを含むすべてのコラム、すなわちｕｓｅｒ＿ｉｎｆｏ．ｊｕｍｉｎ＿ｎｏ、ｊｕ＿ｎｏ１｛ｕｓｅｒ＿ｉｎｆｏ．ｊｕｍｉｎ＿ｎｏ｝、ｊｕ＿ｎｏ２｛ｕｓｅｒ＿ｉｎｆｏ．ｊｕｍｉｎ＿ｎｏ｝を、マスキング対象部分として実行ＳＱＬマスキング情報を生成する。また、ｕｓｅｒ＿ｉｎｆｏ．ｕｓｅｒ＿ｎａｍｅが、表１のマスキングルールに応じて、マスキングされないように、実行ＳＱＬマスキング情報を生成する。
【００６０】
上記例においては、マスキングの有無だけを含んだが、各コラムに対するフォーマットや行値の範囲のようなコラム内のマスキング領域（例えば、住民番号の場合に後の桁の８字のみをマスキング）等、多様な条件により実行ＳＱＬマスキング情報を生成することができる。
【００６１】
上記例においては、マスキング可能部分のうちの使用者権限のない部分が、１つ以上含まれれば、全てマスキング対象部分として演算したが、その演算は、マスキングルールに格納されている形態で多様に実施することができることは自明である。
【００６２】
図８は、本発明の一実施形態に係る実行結果と、既存の方式の実行結果との差異を示す。表１のマスキングルールと表２のＳＱＬ文をもって実行すれば、図５のマスキング部を適用したＳＱＬマスキング方法５００においては、実行されたＳＱＬの結果データのヘッダ情報を使用してマスキングルールを適用することにより、実行されるＳＱＬ文のフォーマットが変更されるか、該当コラム名が変更されて、照合によりマスキングされることはない。しかし、同一のＳＱＬ文を使用して図６のマスキング部を適用したＳＱＬマスキング方法５１０においては、実行されるＳＱＬ文をパーシングしてマスキング対象を全てチェックするので、フォーマットに合わないか、個別のＳＱＬ文が変更されても、マスキングが適用されることが分かる。
【００６３】
図８に示されたように、既存の方式（５０５）を適用すれば、ｊｕｍｉｎ＿ｎｏ（５０１）のようなヘッダ情報やフォーマットの明確なマスキング可能部分は、マスキング対象部分に変わってマスキングされるが、ｊｕ＿ｎｏ１（５０２）やｊｕ＿ｎｏ２（５０３）のようなマスキング可能部分は、ヘッダ情報やフォーマットが明確でなくて、データがそのまま露出される。しかし、本発明の実施形態に係る方式（５１５）を適用すれば、ｊｕｍｉｎ＿ｎｏ（５１０）、ｊｕ＿ｎｏ１（５１１）、ｊｕ＿ｎｏ２（５１２）等のようなマスキング可能部分が、全てＳＱＬ文の段階でマスキング対象部分に設定されてマスキングされるので、データの保安性を維持することができる。
【００６４】
図９は、本発明の一実施形態に係るマスキング部のフローチャートを示す。図９に示されたフローチャートは、基本的に、ＳＱＬ文を要請する段階Ａと、要請されたＳＱＬ文で実行ＳＱＬマスキング情報を生成する段階Ｂと、要請されたＳＱＬ文を実行する段階Ｃと、生成された実行ＳＱＬマスキング情報を適用する段階Ｄと、マスキングされたＳＱＬ結果データを伝送する段階Ｅとを含む。
【００６５】
ここで、上記実行ＳＱＬマスキング情報段階Ｂは、要請されたＳＱＬ文をパーシングする段階Ｂ−１と、パーシングされたＳＱＬ文及びマスキングルール格納部のマスキングルールを使用して、実行ＳＱＬマスキング情報を生成する段階Ｂ−２とに分けられる。
【００６６】
示されたように、クライアントからＳＱＬ文が要請されると、要請されたＳＱＬ文をパーシングしてマスキング可能部分に設定し、既に格納されたマスキングルールに応じて、要請されたＳＱＬ文に対するマスキング情報を生成し、該当ＳＱＬ文が実行されてその結果データが伝達されると、生成されたマスキング情報を使用して該当ＳＱＬ文の結果データをマスキングし、マスキングされたＳＱＬ結果データを伝送する。
【００６７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００６８】
４０  ログＤＢ、１００  クライアント、１１０  保安モジュール、
１１５  保安管理部、１１６、２２０、３２０  マスキング部、
１２０  ＤＢＭＳ、４２０  実行ＳＱＬマスキング情報部
【図１】
2010267249.tif 000005
【図２】
2010267249.tif 000006
【図３】
2010267249.tif 000007
【図４】
2010267249.tif 000008
【図５】
2010267249.tif 000009
【図６】
2010267249.tif 000010
【図７】
2010267249.tif 000011
【図８】
2010267249.tif 000012
【図９】
2010267249.tif 000013