説明

データベースアクセス管理システム、方法、及びプログラム

【課題】DBアクセス管理・制御を行うシステム等に係わり、(1)不正アクセスなどの対策、(2)マスク処理等の作業の手間の削減、(3)データ利用用途に応じた柔軟なマスク処理などを実現する。
【解決手段】本システムは、DB1を含むコンピュータシステム100で例えばDBサーバ2にセキュリティボックス10及びセキュリティマスタ50を有する。セキュリティボックス10で、マスタ設定部11は、セキュリティマスタ50の情報を管理者U0により設定する。ユーザによるDB1へのアクセスの際、ユーザ確認部12により、セキュリティマスタ50に基づき、当該ユーザの参照制限を含む状態を判断・確認し、DB1から取り出されたデータに対し、マスク処理部13により、上記状態に応じて所定のマスク処理を施し、当該マスク処理されたデータを返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース(DB)を含むコンピュータシステム等の技術に関し、特に、ユーザ(利用者)によるコンピュータシステムのDBのデータへのアクセスの際の制御により不正アクセス防止や個人情報保護などを実現するための技術に関する。
【背景技術】
【0002】
昨今、コンピュータシステムのDBに対する不正アクセスによる犯罪が発生しており、これを防止するために、DBに対するアクセスを管理・制御する方法が必要になっている。例えば基本的な方式としては、ユーザ端末からのコンピュータシステムのDBへのアクセスの際に当該ユーザがアクセス可能者かどうかを確認(例えばWWWサーバでユーザ認証)し、特定のユーザのみDBへのアクセス(データ参照など)を許可するといった方式が挙げられる。
【0003】
また特に、業務上のDBなどでデータに個人情報(例えば氏名・住所)などが含まれている場合、DBへの不正アクセスなどによって個人情報が盗まれたりしないように対策の必要がある。このための手段として、DBのデータの暗号化やマスク(目隠し)処理により、出力上意味を成さない情報に変換する技術が挙げられる。
【0004】
不正アクセス防止のためのDBアクセス管理・制御に係わる先行技術例として、特開平6−314288号公報(特許文献1)(「情報管理システムのセキュリティシステム」)などがある。特許文献1では、個人に応じたセキュリティを可能とするため、情報カードに記録された患者の基本情報、救急情報、病歴情報等の複数の項目に渡る個人情報のうち、カードの所有者である患者ごとにアクセス可能な項目が異なるように、アクセスカードのアクセス権をテーブルとして設定可能であり、患者は所定の項目の情報のみ閲覧でき、権限が無ければ他の項目の情報は閲覧できないこと、が記載されている。
【0005】
DBデータ情報のマスク(目隠し)処理に係わる先行技術例として、特開2008−33411号公報(特許文献2)(「個人情報マスキングシステム」等)などがある。特許文献2では、個人情報を含む順次ファイルからデータ構造に基づき個人情報をマスキングする技術、システムの動作テストのためのテストデータの生成などに関して記載されている。テストデータとして顧客データを含む順次ファイルを使用すると確実なテストを実施できるが、例えばテスト作業を外注する場合、顧客データをテストデータに使用することは個人情報保護の観点からできないこと、しかしテストデータとしては実際の顧客データに近いデータを使用した方が動作テストにおいて実際の環境に近い状態を実現できるためより好ましいこと、等が記載されている。
【0006】
特許文献2では、マスキングしようとするデータ項目をマスキング方法の選択肢と共に表示し、マスキング対象データ項目の選択及びマスキング方法の選択入力を受け付け、これに基づき、マスキング対象データ項目の文字列に対し対応するマスキング方法を適用して変換することでテスト用ファイルを生成する手段について記載されている。またマスキング処理(マスキング方法)としては、対象データ項目の文字列の少なくとも一部を所定の変換規則により他の文字に変換する処理などについて記載している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平6−314288号公報
【特許文献2】特開2008−33411号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
基本的なDBアクセス管理・制御の方式として、例えばDBを含むオープン系のコンピュータシステムでは、通常、DB(DBサーバ等)に対するアクセスは、WWWサーバ経由となる。このためWWWサーバが不正アクセスの防波堤となる。例えばWWWサーバでアクセスしてきたユーザ/端末の認証によりDBへのアクセスを認可・制限する。しかしこれを突破・侵入してくるアクセス、認可されていないユーザのアクセスなどがある。
【0009】
更に、業務上などのDBデータの取り扱いでは一般的に情報漏洩などの問題があるため、基本的にDBへのアクセスが可能な(認可された)ユーザであっても当該ユーザの属性(所属部門や職位など)・権限・アクセスレベル等に応じてDBデータにおける個人情報などの参照をブロック(防止)したいというニーズが存在する。
【0010】
この場合、前述のように、例えばユーザ属性などに応じてDBデータの個人情報などに相当する項目へのアクセスを制限する技術(特許文献1等)や、あるいは、当該項目のデータ情報をマスク処理してユーザに見えない・読めないようにする技術(特許文献2等)などにより、個人情報などの参照をブロックすることができる。
【0011】
しかしながら上記技術では以下のような場合に課題がある。上記DBを含むオープン系などのコンピュータシステム(一例として商品購入履歴管理のDBを含むシステム)を開発する場合などを考える。この場合、前述(特許文献2)のように、例えばシステム開発者が顧客のDBデータを開発用のテストのために利用することで、より確かなテストを実現できるが、顧客データをそのままテストに使用することは個人情報保護などの観点から問題(例えば開発者による個人情報の持ち出しの可能性の問題)がある。
【0012】
そこで、顧客のDBデータのうち個人情報などに相当する項目などを対象としてマスク処理し、当該マスク処理したデータ(「マスクデータ」)を用いてテストなどの用途に利用することで、個人情報保護を図り、情報漏洩などに対処できる。
【0013】
従来例では、上記マスク処理及びテストを行う場合、担当者により顧客のDBから取り出したデータ(個人情報などに相当するデータを含む)に対して、所定のプログラム(パッチ)を実行することによりマスク処理したデータを得るという作業をしていた。そして当該マスクデータを用いて開発者によりテスト処理を実行するといった作業をしていた。このように、別途マスク処理に係わる作業の手間がかかるという問題点があった。
【0014】
また上記担当者によるマスク処理の作業の際に、顧客のDBデータを取り扱うため、個人情報などに相当する項目の情報が担当者の目に触れてしまう可能性もあった。
【0015】
また、上記マスク処理が一律の内容である場合、当該マスクデータでは、テスト内容・種類(データ利用用途)によっては、扱い難かったり十分なテストができないといった不便の問題があった。例えば個人情報保護の観点からはDBの所定のデータ項目を完全にマスク処理してユーザに完全に見えないようにしてしまえば簡単であるが、当該マスクデータではテスト処理結果が確認できないといった場合がある。
【0016】
上記システム開発用のテストの場合に限らず、他の様々なデータ利用用途に関しても、一律のマスク処理では柔軟に対応することはできない。
【0017】
以上を鑑み、本発明の主な目的は、DBを含むコンピュータシステムのDBへのアクセスの管理・制御を行う情報処理システム等に係わり、上述の問題点を解決する技術を提供することである。即ち、(1)ユーザによるDBデータへの不正アクセス・個人情報漏洩などの問題(特に例えばシステム開発者などを含む組織内部のユーザによるDBデータの不正な持ち出し等の可能性)に対する有効な対策、(2)マスク処理及びテスト等の作業の手間の削減、(3)複数(各種)のデータ利用用途(例えばシステム開発用のテスト処理)に応じた柔軟なマスク処理の実現により情報保護などの効果とデータ利用の利便性の効果とのバランス、などを実現できる技術を提供する。
【課題を解決するための手段】
【0018】
本発明のうち代表的な形態は、DBを含んで成るコンピュータシステムのDBに対するアクセスを管理・制御する情報処理システム(DBアクセス管理システム)等であって、以下に示す構成を有することを特徴とする。
【0019】
本発明では、前述の(1)〜(3)のような課題(目的)に対し、(1)ユーザ/ユーザ属性(例えばシステム開発者)等に応じたDBアクセス制御(データ項目の参照の制限など)、(2)DBデータに対してユーザ/ユーザ属性等に応じた自動的なマスク処理の適用(実行)の制御、(3)複数(各種)のデータ利用用途を考慮した複数のマスク処理を柔軟に設定・選択可能な機能、といった解決手段を有する。
【0020】
本形態のシステムは例えば以下の構成である。本形態のDBアクセス管理システムは、ユーザの端末からのアクセスに基づいてDBへアクセスしてデータを取り出す処理を行うコンピュータシステムを含んで成り、前記コンピュータシステムは、前記ユーザによる前記DBへのアクセスを管理・制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有する。前記セキュリティボックスは、マスタ設定部と、ユーザ確認部と、マスク処理部と、を有する。前記マスタ設定部は、前記セキュリティマスタの情報を管理者により設定する処理を行い、当該設定情報は、前記ユーザまたはユーザ属性ごとに前記DBのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を規定する情報を含む。前記ユーザ確認部は、前記ユーザによる前記DBへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態を判断・確認する処理を行う。前記マスク処理部は、前記ユーザによるアクセスにより前記DBから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行う。上記構成により、前記ユーザが前記DBのデータを利用する際に自動的に前記マスク処理されたデータが利用される。
【発明の効果】
【0021】
本発明のうち代表的な形態によれば、(1)ユーザによるDBデータへの不正アクセス・個人情報漏洩などの問題(特に例えばシステム開発者などを含む組織内部のユーザによるDBデータの不正な持ち出し等の可能性)に対する有効な対策、(2)マスク処理及びテスト等の作業の手間の削減、(3)複数(各種)のデータ利用用途(例えばシステム開発用のテスト処理)に応じた柔軟なマスク処理の実現により情報保護などの効果とデータ利用の利便性の効果とのバランス、などを実現できる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施の形態のシステム(DBアクセス管理システム)の構成を示す図である。
【図2】図1のAPPサーバ(業務プログラム)−DBサーバ間の処理の構成例を示す図である。
【図3】図1のシステムの具体的な利用例(データ利用用途の例を含む)の構成を示す図である。
【図4】本実施の形態のシステムにおけるセキュリティボックスの処理例を示すフロー図である。
【図5】本実施の形態のシステムのDBデータ例を示す図であり、(a)は元のDBデータ例、(b)はDBデータ参照(マスク後)の第1の例、(c)DBデータ参照(マスク後)の第2の例を示す。
【図6】本実施の形態のシステムにおけるセキュリティマスタの設定情報の例を示す図であり、(a)は基本的な第1のテーブル、(b)はマスクルールに関する第2のテーブル、(c)はDBごとのマスクルールに関する第3のテーブルを示す。
【図7】本実施の形態のシステムにおける各ルールのマスク処理例を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態(DBアクセス管理システム、方法、及びプログラム等)を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【0024】
本実施の形態のシステム(図1等)は、ユーザ(端末)によるDBへのアクセス(参照等)の際の制御として、当該ユーザ/ユーザ属性等に応じて自動的にDBデータへのマスク(目隠し)処理を施して応答する処理機能(セキュリティボックス10)を有する。DBから取り出されたデータに含まれている対象項目等をマスク処理によりユーザに見えない・読めないように参照制限することにより個人情報保護などを図ると共に、当該ユーザによる当該マスクデータの効率的な利用(例えばテスト処理)を可能とする。上記処理機能(セキュリティボックス10)に関する設定として、管理者等により、ユーザ/ユーザ属性等に応じた参照制限及びマスク処理などの内容を設定可能である(セキュリティマスタ50)。
【0025】
また特に本システムでは、マスク処理に関して複数の各ルールのマスク処理を提供し(図1、13A〜13C等)、柔軟に設定が可能である。特に、ユーザ属性やデータ利用用途(例えばシステム開発用のテスト処理)に応じた関係付けでマスク処理(ルール)を設定し適用することで、個人情報保護などの効果とDBデータ利用の利便性とのバランスをとることができる。
【0026】
[システム構成]
図1において、本実施の形態のシステム(DBアクセス管理システム)の構成を示している。本システム全体は、コンピュータシステム100、ユーザ(U)の端末200、プリンタサーバ/プリンタ300、等がネットワーク90で接続される構成である。ネットワーク90(図3の91,92も同様)はインターネットあるいはLANや専用網など、コンピュータシステムに応じた通信手段を指している。
【0027】
コンピュータシステム100は、顧客(例えば企業・自治体等)が通常運用する所定の業務用などのシステムであり、本実施の形態では、ネットワーク90に接続されたオープン系(Web)のシステムである。
【0028】
コンピュータシステム100は、DB(データベース)1、DBサーバ2、APP(アプリケーション)サーバ3、WWWサーバ4、等の要素を有し、これらは図示しない通信手段により接続されている。
【0029】
DB1は、例えばリレーショナルデータベースであり、例えば顧客が業務上管理する所定のデータ情報(後述、図5)を格納している。DB1は、DBサーバ2内または他の記憶手段にて保持される。なおDB1は、ネットワーク型DB、階層型DBなどの種類を問わない。またDB1の数、物理配置は、複数存在してもよい。DBサーバ2は、DB1及びDB1へのアクセスを管理する既存(公知技術)のDBアクセス処理部21と、本特徴的な要素であるセキュリティボックス10及びセキュリティマスタ50とを備える。
【0030】
DBアクセス処理部21は、所定の方式、例えばSQLで、DB1に対するアクセス(操作)の処理を行う(例えば公知のリレーショナルDB管理システム)。例えばSELECT構文でDB1のデータを取り出す処理などを含む。DBサーバ2の動作時(DB1へのアクセス時)にDBアクセス処理部21とセキュリティボックス10とで連携するように予め設定されている。
【0031】
APPサーバ3は、業務プログラム31を含み、業務プログラム31の処理により、DBサーバ2及びWWWサーバ4と連携した所定の業務処理(サービス処理)を提供する。業務プログラム31の処理内容例は後述(図2)する。APPサーバ3(業務プログラム31)では、マスク処理されているデータ(マスクデータ)を含むDB1データの参照が行われる。
【0032】
WWWサーバ4は、ユーザの端末200からのアクセスに対して、所定のWebページ等によるサービス処理を提供する。WWWサーバ4は、ユーザ認証部41(公知技術)を含み、ユーザ認証部41の処理により、アクセスしてきたユーザ(端末)がコンピュータシステム100で認可されているユーザ(端末)であるかどうかを判断し、認可されていないユーザ(端末)である場合は当該アクセスを拒否する。
【0033】
ユーザ(U)が使用する端末200は、ネットワーク90を介してWWWサーバ4にアクセスする機能を持つWWWブラウザやOS等を備える例えば一般的なPC等のコンピュータである(公知技術)。図1ではあるユーザU1の端末200のみ例示している。ユーザ(U)は、例えばコンピュータシステム100を運用する企業の社員、あるいはコンピュータシステム100により提供されるサービス(Webページ等)にアクセスするエンドユーザ等である。
【0034】
ユーザ(U)の端末200は、DBデータ利用部60、及び記憶部70を備える。DBデータ利用部60は、当該ユーザのデータ利用用途に対応した、DB1のデータを利用する所定の処理手段により構成され、記憶部70が含まれる又は接続される。記憶部70は、DB1のデータ(DBデータ80)を記憶する、メモリやストレージや可搬媒体等の記憶手段により構成される。例えば、DBデータ利用部60では、ユーザ操作に基づきコンピュータシステム100から取得/参照されるDB1のデータ(DBデータ80)を記憶部70に格納し、端末200のディスプレイ画面に表示する処理などを行う。別例として、データ利用部60は、上記取得したDB1のデータに対し所定のプログラム処理を実行しその結果を記憶部70に格納し出力する処理などを行う。
【0035】
プリンタサーバ/プリンタ300は、DB1のデータの利用(出力)の一例として、ユーザの端末200からの操作に基づき、DB1のデータ(DBデータ80)をプリント処理し、帳票301として出力する場合に使用される。その他DB1のデータ(DBデータ80)は、ユーザのデータ利用用途に応じて使用され出力される。
【0036】
[セキュリティボックス]
図1で、セキュリティボックス10の構成例は以下である。セキュリティボックス10は、マスタ設定部11、ユーザ確認部12、及びマスク処理部13を有する。マスク処理部13は、詳しくは、ルールA処理部13A,ルールB処理部13B,ルールC処理部13C等の複数の各ルールのマスク処理部(プログラム)を含む。セキュリティボックス10の処理機能は、例えばDBサーバ2(ハードウェア・ソフトウェア)において本実施の形態のプログラムを実行する処理により実現できる。
【0037】
マスタ設定部11は、例えば管理者U0の操作に基づきセキュリティマスタ50の情報を設定する処理を行う。管理者U0により、マスタ設定部11を用いて、セキュリティマスタ50に必要な情報を設定する作業が適宜可能である。設定インタフェースは例えばWebページ画面による。例えば管理者U0の端末からマスタ設定部11により提供される設定用のWebページ画面にアクセスする。当該画面で、セキュリティマスタ50の設定用の情報、例えば後述の図6のようなテーブル情報を表示し、管理者U0の操作により各値を入力して設定を更新し保存することが可能である。
【0038】
ユーザ確認部12は、セキュリティマスタ50(図6)等を参照し、アクセスしてきたユーザ/ユーザ属性(部門・職位)等に応じた参照制限などの状態を確認し、また参照制限に応じて適用されるマスク処理(ルール)等を確認する処理を行う(後述、図4)。参照制限(参照制限有無及び制限項目)の確認として、当該ユーザ/端末が、DB1のアクセス対象のデータのうち、どの範囲(項目など)は参照可能としどの範囲(項目など)は参照不可能とするか等を確認する。
【0039】
マスク処理部13は、ユーザ確認部12による確認状態に基づき、及びセキュリティマスタ50等を参照して、DBアクセス処理部21によりDB1から取り出されたデータに対して、当該ユーザに適用する該当ルールのマスク処理を、対応するルール処理部(13A等)を用いて実行し、当該処理結果のマスクデータを返す処理を行う(後述、図4)。例えばルールAのマスク処理を適用する場合はルールA処理部13Aによるマスク処理が行われる。マスク処理では、所定のルール(アルゴリズム等)に従って、DB1のアクセス対象の項目などに対応した参照制限対象のエリアにおける文字列などのデータ値を処理することにより、ユーザに見えない・読めないように変換したデータ(マスクデータ)を生成する。
【0040】
[セキュリティマスタ]
図6を用いて、セキュリティマスタ50の構成例は以下である。セキュリティマスタ50の設定情報は、例えば図6(a)の第1のテーブルT1、図6(b)の第2のテーブルT2、図6(c)の第3のテーブルT3を含む。セキュリティマスタ50では、DB1のデータにおける各ユーザによりアクセス可能な対象とする範囲(項目など)、ないしは参照制限の対象とする範囲(項目など)を設定することにより、不正アクセス防止・個人情報保護などを図る。
【0041】
図6(a)の第1のテーブルT1では、項目として、(a)ユーザ名,(b)ユーザ属性,(c)参照制限有無,(d)マスクルール,(e)制限項目1,(f)制限項目2,(g)制限項目3,……等を有する。第1のテーブルT1では、例えば個別のユーザごとに又はユーザ属性ごとに、参照制限有無及び制限項目、適用マスクルールなどが関係付けて設定される。
【0042】
aのユーザ名は、ユーザ(U)の識別情報であり、コンピュータシステム100で基本的にアクセスが認可されるユーザが登録される。bのユーザ属性は、当該ユーザの属性として、本実施の形態では組織における所属する部門や職位、あるいはユーザグループ、ユーザ種別などを示す情報である。例えば「管理者」(U0対応)や「開発者A」「開発者B」などがある。またユーザ属性は、近い概念として、当該ユーザの職務・業務などを設定してもよい。
【0043】
cの参照制限有無は、当該ユーザの参照制限の有無を示すフラグ情報である。0は参照制限無し、1は参照制限有りを示す。dのマスクルールは、参照制限有り(1)の場合に適用するマスク処理(そのルール)を指定する情報である(図6(b)の第2のテーブルT2の情報を指し示す)。参照制限無し(0)の場合は設定されない(空白)。eの「制限項目1」等の制限項目は、参照制限有り(1)の場合における参照制限の対象となる項目を指定する情報であり、複数が設定可能である。
【0044】
T1の例えばユーザU1(開発者A)のレコードでは、参照制限有りであり、DB1のデータにおける「氏名」「住所」などの項目に対してルールAのマスク処理を施して制限することを設定している。
【0045】
図6(b)の第2のテーブルT2では、項目として、(a)マスクルール,(b)内容,(c)データ利用用途,(d)マスク位置、等を有する。T2では、T1のマスクルールの内容や、データ利用用途などの情報が関係付けて設定される。
【0046】
aのマスクルールは、T1のdと同じであるが、マスク処理(そのルール)を指定する情報である。本例では、ルールA,ルールB,ルールC,ルールD等がある。例えばルールAは、図1のルールA処理部13Aによるマスク処理(プログラム)を指し示す。bの内容は、マスクルールの内容を示す情報であり、対応するマスク処理のアルゴリズム(プログラム等)の名称や識別情報や概要説明その他である(詳しくは後述、図7)。ルールA〜Dに限らず、対応するルール処理部のプログラム等を用意することで複数のマスクルールを適宜設定可能である。
【0047】
cのデータ利用用途は、当該ルールでマスク処理されたデータ(マスクデータ)を含むDB1データを当該ユーザ(ユーザ属性等)が利用する場合の想定されるデータ利用用途を示す情報である。例えば、本実施の形態では、システム開発用のテストA,B,C等がある。例えば「テストA」は、図3のテストA処理部62Aで行う処理である。これらの異なる内容・種類のテスト処理(データ利用用途)に応じてそれぞれ適したマスク処理(ルール)を設定可能である。またデータ利用用途(例えば新しいテスト内容)に応じて新たなルールのマスク処理を追加したり調整したりする設定も可能である。
【0048】
dのマスク位置は、マスク対象エリア(項目など)の中でマスク対象となる位置(例えば何番目の文字列か)を任意に指定する情報である。本実施の形態では、柔軟なマスク処理を実現するため、ユーザ単位、項目単位、個別DBの項目指定単位などでマスク有無を決めることができると共に、dのようにマスク位置を任意に決めることができる。例えばルールBでは1,3,5番目の文字、ルールDでは2,4,6,8,10番目の文字が指定の記号(アスタリスクやパーセント)で置換される。
【0049】
セキュリティマスタ50の設定の際、管理者U0により、例えば、ユーザ属性(例えば開発者A,B,C等)に応じたデータ利用用途(例えばシステム開発用のテストA,B,C等)を考慮して、T1の参照制限及び適用ルール等の情報を設定する。上記のように、セキュリティマスタ50では、個別のユーザまたはユーザ属性等、及びそのデータ利用用途(テスト処理等)の単位に応じて、参照制限及びマスクルール等を柔軟に詳細に設定可能な構成である。これにより、データ利用(テスト等)の際の個人情報保護などを図りつつ、データ利用が従来よりもしやすくなる。
【0050】
なお、セキュリティマスタ50は、上記設定の形態に限らず、ユーザの権限やアクセスレベル等を設定して、当該単位ごとに参照制限や適用ルール等を設定可能としてもよい。また、所定の参照制限や適用ルールのセット(例えばユーザU1のレコードの設定に相当する情報)の単位で情報を定義し、当該単位で指定して設定可能にしてもよい。また更に、すべての制限項目(e,f,g等)に対して同一のマスクルール(d)が適用される形に限らず、制限項目ごとに異なるマスクルールを適用するように設定可能としてもよい。
【0051】
また例えばユーザ属性でユーザの職務・業務を設定し、当該職務・業務に応じた項目を設定可能とし、当該職務・業務に応じた項目については自動的に参照制限(マスク)せず、当該項目以外の項目については自動的に参照制限(マスク)するようにしてもよい。
【0052】
図6(c)のテーブルT3は、別の設定例である。対象として複数のDB1が存在する場合((h)DB名:住所マスタ,受注マスタ)で、DBごとに異なるルール(A,B)を設定している場合である。
【0053】
[基本処理]
図1のシステム構成で、ユーザ確認の処理を含む基本的な処理内容については以下である。まず予め管理者U0によりセキュリティボックス10のマスタ設定部11を用いてセキュリティマスタ50に対し情報(例えば図6)を設定しておく。また適宜、当該セキュリティマスタ50の設定情報の内容をメンテナンス(更新)が可能である。
【0054】
ユーザの端末200からのアクセスにつき、WWWサーバ4でユーザ認証部41により当該アクセスユーザ/端末を認証する(公知技術)。WWWサーバ4のユーザ認証を通過後、APPサーバ3の業務プログラム31経由で、あるいはWWWサーバ4から直接で、DBサーバ2へのアクセスが行われ、これによりDB1のデータの参照などが行われる。その際に経由するDBサーバ2では、WWWサーバ4(ユーザ認証)を突破してくる認可されていないユーザ/端末によるDB1へのアクセスにも対処できるように、DB1へのアクセスの際に常にセキュリティボックス10を通過(連携)するように予め設定(構成)されている。DB1へのアクセスの要求/命令を受けたDBアクセス処理部21は、上記設定に基づき、セキュリティボックス10の処理に連携する。
【0055】
連携するセキュリティボックス10の処理では、セキュリティマスタ50の設定情報に基づき、ユーザ確認部12により当該ユーザ/ユーザ属性等に応じた参照制限などの状態を確認し、DBアクセス処理部21によりDB1から取り出されるデータに対して、マスク処理部13により当該参照制限などの状態に応じたマスク処理を施して応答する。
【0056】
本実施の形態では、上記セキュリティボックス10(ユーザ確認部12)は、DB1へのアクセス要求/命令につき、セキュリティマスタ50のテーブル(図6)を参照し、以下(A1)〜(A4)のような点を含めて判断・確認を行う(図4にも対応する)。
【0057】
(A1) 当該ユーザ(/ユーザ属性等)は、DB1へのアクセス可能者(セキュリティマスタ50に登録されている基本的に認可されたユーザ)であるかどうか(図4のステップS14に対応する)。
【0058】
(A2) 上記ユーザ(認可ユーザ)はDB1のデータに対する参照制限が有るか無いか(同S16)。
【0059】
(A3) 上記参照制限に該当するDB1における特定の対象データ(個人情報に相当する項目など)は何か(同S19)。
【0060】
(A4) 上記参照制限及び対象データ(制限項目)に応じた適用マスクルール(種類)は何か(同S20)。
【0061】
セキュリティボックス10(マスク処理部13等)は、上記参照制限などの状態の確認・判断に基づき、DB1から取り出したデータについて、例えば以下(B1)〜(B4)のような対処を行う(図4にも対応する)。
【0062】
(B1) 当該ユーザ(/ユーザ属性等)がアクセス可能者ではない場合、当該DBアクセスを不許可し、エラーを応答する(図4のステップS15に対応する)。
【0063】
(B2) 当該ユーザが、アクセス可能者で、参照制限無しの場合、DB1から取り出されたデータ(対象項目など)をマスク処理無し(マスク無しデータ)で応答する(同S17)。
【0064】
(B3) 当該ユーザが、アクセス可能者で、参照制限有りの場合、参照制限項目及び適用マスクルールなどに応じて、DB1から取り出されたデータ(アクセス対象項目など)に対して、該当ルールのマスク処理を施し、当該データ(マスク済みデータ)を返す(同S21)。
【0065】
例えば、図6のようにユーザU1(開発者A)は参照制限有りで、参照制限項目が「氏名」「住所」などであり、適用マスクルールがルールA(ルールA処理部13Aによる)であり、図5(b)のようなマスクデータが得られ、応答される。
【0066】
(B4) B3の別例であるが、同様に、当該ユーザが、アクセス可能者で、B3とは別種類の参照制限有りのユーザである場合、当該参照制限の内容に応じて、DB1から取り出されたデータに対して該当ルールのマスク処理が施されたデータが応答される。
【0067】
例えば、図6のようにユーザU2(開発者B)は参照制限有りで、参照制限項目が「氏名」などであり、適用マスクルールがルールB(ルールB処理部13Bによる)であり、図5(c)のようなマスクデータが得られ、応答される。
【0068】
[DBアクセス時の流れ]
図1で、DBアクセス時の流れの概要は以下である(s1等は手順を示す)。例えばユーザU1が端末200からコンピュータシステム100へアクセスしてサービスを利用し、DB1から取り出されるデータを参照する場合である。
【0069】
(s1) ユーザU1の端末200からネットワーク90を介してWWWサーバ4にアクセス(ログイン、サービス要求等)する。なお当該アクセス要求には、例えばユーザIDないし端末IDといった識別情報が付属する(公知技術)。
【0070】
(s2) WWWサーバ4は、Webページを提供し、ユーザ認証部41を用いて、当該アクセスユーザ(端末)を認証し、認可されていないユーザ(端末)である場合は、このWWWサーバ4で当該アクセスを止める。
【0071】
(s3) ユーザ認証通過後、WWWサーバ4から、例えば所定のサービス処理(業務処理)の提供のためにAPPサーバ3にアクセスする。
【0072】
(s4) APPサーバ3は、WWWサーバ4からのアクセスにつき、業務プログラム31の処理により所定のサービス処理(業務処理)を提供する(詳しくは後述、図2)。ここでサービス処理(例)として、DBデータ(マスクデータ)の参照(例えばWebページ画面への表示)を含むとする。業務プログラム31中には、DB1のデータへアクセス(参照など)する命令などが含まれている。当該命令が有る場合、APPサーバ3(業務プログラム31)からDBサーバ2へアクセスが発生する。なお業務プログラム31は通常の業務処理を実装したプログラムであり、マスキングプログラムではなく、ここでマスキングプログラムを生成することはない。
【0073】
(s5) DBサーバ2は、APPサーバ3(業務プログラム31)からのアクセスを受けると、DBアクセス処理部21により、従来であればDB1に対してアクセス処理を行うが、本実施の形態では、DB1へのアクセス処理の前にセキュリティボックス10の処理へ連携する。
【0074】
(s6) DBアクセス処理部21からの連携に基づき、セキュリティボックス10は、DBアクセス直前の段階(DBアクセス要求時)での所定の処理を実行する。本実施の形態では、ユーザ確認部12により、セキュリティマスタ50などを参照しながら、当該アクセスユーザの参照制限などの状態を確認する。参照制限有りの場合は、下記でDB1から取り出されたデータに対してマスク処理部13によりマスク処理が行われ、参照制限無しの場合は行われない。
【0075】
(s7) セキュリティボックス10での処理後、DBサーバ2のDBアクセス処理部21は、DB1に対して命令に基づくデータ参照などの処理を実行する。例えばSQLのSELECT構文などにより行われ、これによりDB1から対象(命令で指定された項目など)のデータが取り出される。
【0076】
(s8) DBサーバ2のDBアクセス処理部21は、前記s6で連携している場合、セキュリティボックス10に連携し、s7でDB1から取り出したデータを渡す。
【0077】
(s9) セキュリティボックス10は、DBアクセス直後の段階(DBアクセス応答時)での所定の処理を実行する。本実施の形態では、特に、s6で参照制限有りの場合に、セキュリティマスタ50などを参照しながら、マスク処理部13により当該ユーザに応じたルールでのマスク処理を実行する。テーブル(図6)に基づき、当該ユーザ/ユーザ属性等に応じた適用マスクルールが確認され、当該適用マスクルールに応じたルール処理部(13A等)によるマスク処理が起動され実行される。これにより、DB1のデータにおける参照制限に該当するレコードや項目に対してマスク処理が施されたデータ(マスクデータ)が得られる。
【0078】
(s10) DBサーバ2のDBアクセス処理部21は、上記参照制限有りの場合、上記s9のマスクデータ(DB参照データ)を得て、要求元のAPPサーバ3(業務プログラム31)へ応答する。
【0079】
(s11) APPサーバ3(業務プログラム31)は、DBサーバ2から取得した上記マスクデータ(DB参照データ)を前記サービス処理の中に反映する。DBアクセス命令ごとに上記同様の処理が繰り返される。APPサーバ3(業務プログラム31)は、上記サービス処理の結果情報(例えばマスクデータを含んだDBデータ参照結果)をWWWサーバ2へ応答する。
【0080】
(s12) WWWサーバ4は、上記APPサーバ3から取得したサービス処理結果情報(マスクデータを含んだDBデータ参照結果)を含むWebページ画面(更新用データ)をネットワーク90を介してユーザU1の端末200へ応答する。
【0081】
(s13) ユーザU1の端末200(データ利用部60、記憶部70)では、上記Webページ画面(更新用データ)を取得してディスプレイ画面に表示する。これによりユーザU1はWebページ画面でマスクデータを含んだDBデータ参照結果を見ることができる。また例えば、データ利用部60及び記憶部70により、当該マスクデータを含んだDBデータ80を用いて所定のデータ利用のための処理を実行し、結果を保存及び出力することができる。
【0082】
[処理フロー]
図4を参照して、セキュリティボックス10の処理フロー例を説明する(S10等は処理ステップを表す)。
【0083】
(S10) セキュリティボックス10は、DBアクセス処理部21からの連携により、DBアクセス要求などを受け付ける。DBアクセス要求は、例えば、DB1のテーブルから指定のレコード・項目のデータを参照する命令などである。
【0084】
(S11) セキュリティボックス10は、S10のDBアクセス要求の情報を解読し、例えば、ユーザ情報、アクセス対象情報などに分解する。ユーザ情報は例えばユーザID/端末ID等の情報である。アクセス対象情報は例えばDB1のデータ参照の対象となるレコードや項目などの情報である。
【0085】
(S12) DBアクセス要求の情報が読み込み終了である場合(Y)はS24へ進み、読み込み終了ではない場合(N)は次のS13へ進む。
【0086】
(S13) ユーザ確認部12は、上記読み込み情報(DBアクセス要求のユーザ情報など)、及びセキュリティマスタ50のテーブル(図6)の情報を参照し、以降のステップで前述(A1〜A4等)の参照制限などの判断・確認の処理を行う。
【0087】
(S14) ユーザ確認部12は、まず、当該アクセスユーザがDBアクセス可能者かどうかを判断する(前記A1)。本実施の形態では、DBアクセス要求のユーザ情報をみて、図6のテーブルT1で「ユーザ名」(a)の項目に該当ユーザが登録されている場合は、DBアクセス可能者と判断する。アクセス可能者ではない場合(N)はS15へ進み、アクセス可能者である場合(Y)は次のS16へ進む。
【0088】
(S15) アクセス可能者ではない場合(N)、セキュリティボックス10は、前記B1のように、DBアクセス不可としてエラーを応答し、最初(S10)に戻る。
【0089】
(S16) 次にS16では、ユーザ確認部12は、当該ユーザの参照制限の有無を判断する(前記A2)。本実施の形態では、図6のテーブルT1の「参照制限有無」(c)の項目のフラグ値をみることで確認できる。参照制限無し(0)の場合(N)はS17へ進み、参照制限有り(1)の場合(Y)は次のS18へ進む。
【0090】
(S17) 参照制限無し(0)の場合(N)、当該DBアクセス要求でDB1から取り出されたデータについて、そのままマスク処理無しのデータを応答し、最初(S10)に戻る。
【0091】
(S18) 次に、ユーザ確認部12は、当該ユーザの参照制限有り(1)について、前記DBアクセス要求のアクセス対象情報、及びセキュリティマスタ50のテーブルT1の情報を参照しながら、以降のステップで、アクセス対象の項目のデータ値に関する処理を行う。
【0092】
(S19) ユーザ確認部12は、当該ユーザのアクセス対象の中の参照対象となる項目が参照制限に該当するかどうかを確認する。本実施の形態では、図6のテーブルT1の各「制限項目」(e等)の値が参照制限に該当する。対象項目が参照制限項目である場合(Y)はS20へ進み、参照制限項目ではない場合(N)はS22へ進む。
【0093】
(S22) S22では、対象項目のデータ値をそのままマスク処理無し(マスク無しデータ)とする。
【0094】
(S20) S20では、当該ユーザ(/ユーザ属性等)、及び対象項目に対して適用するマスクルールを判断する(前記A4)。本実施の形態では、図6のテーブルT1の「マスクルール」(d)をみて確認できる。本実施の形態では、ユーザ単位、DB単位、項目単位などで、マスク処理(ルール適用)を行うことができる。
【0095】
(S21) S21では、マスク処理部13により、S20の適用ルールに対応したルール処理部(13A等)を用いて、参照制限の対象項目(マスク処理対象エリア)のデータ値に対して、該当ルールのマスク処理を実行し、その結果のマスク済みデータを得る。
【0096】
(S23) S23では、S21によるマスク済みデータ(項目単位)、または、S22によるマスク無しデータ(項目単位)を、DBアクセス処理部21へ返す。
【0097】
(S24) S24では、セキュリティボックス10は、所定の終了処理を行い、DBアクセス処理部21へ処理を戻す。
【0098】
なお図4の処理例に限らず、例えばレコードの複数の項目データの参照の処理についてセキュリティボックス10で項目データごとに繰返し処理(S19〜S22等)を行い、その結果(マスク済みデータ/マスク無しデータを含むDB参照データ)をまとめてDBアクセス処理部21へ応答する形としてもよい。
【0099】
[APPサーバ−DBサーバ間の処理例]
図2を用いて、前記s4〜s11等に相当する、APPサーバ3(業務プログラム31)−DBサーバ2(DBアクセス処理部21)間の処理例は以下である。APPサーバ3は、端末200からのアクセスに基づくWWWサーバ4からのアクセス(例えばDB1内の複数の件数(レコード)のデータを参照するための要求に対応する)につき、図2のような内容の業務プログラム31を処理する。業務プログラム31は、所定のサービス処理(業務処理)の論理が記述されている。業務プログラム31中、DB接続命令(C1)、繰返し開始命令(C2)、DBアクセス命令(C3)、読込エリア保存(C4)、繰返し終了命令(C5)などが含まれている。DBアクセス命令(C3)は、DB1のデータ(指定のレコードや項目など)を参照する命令などである。これらの命令は例えばSQLを用いて記述される。例えば繰返し命令(C2〜C5)では複数の件数(レコード)のデータを参照する。
【0100】
業務プログラム31の処理中、DB接続命令(C1)があると、APPサーバ3(業務プログラム31)からDBサーバ2(DBアクセス処理部21)に対して、対応する要求/命令が発生し、この要求を受けてDBアクセス処理部21は、DB1への接続処理(CONNECT)を行う。
【0101】
また繰返し命令(C2〜C5)中に、DBアクセス命令(C3)(例えば指定のレコード・項目のデータの参照の命令)があると、その都度、DBサーバ2(DBアクセス処理部21)に対して、対応する要求/命令が発生する。この要求を受けてDBアクセス処理部21は、セキュリティボックス10との連携の処理(ユーザ確認)を行い、その後、DB1に対して、要求されたアクセス処理(例えば指定のレコード・項目のデータの参照)の処理を例えばSQLのSELECT構文などにより行い、その結果DB1から取り出されたデータを得る。そして、DBアクセス処理部21からセキュリティボックス10との連携の処理を行い、DB1のデータの該当項目に対して必要なマスク処理が施されたデータ(マスクデータ)を得た後、当該マスクデータをAPPサーバ3(業務プログラム31)に応答する。
【0102】
上記のようなDB1へのアクセス処理が例えばレコードの参照ごとに繰り返される。APPサーバ3は、一連の業務プログラム31の処理を実行後、その結果情報をWWWサーバ4へ応答し、更にWWWサーバ4からユーザの端末200へ応答される。DB1内の項目はマスクデータ(マスク処理されたデータ)ではないが、本技術により、DB1データ参照時にはマスクデータ(マスク処理方法はセキュリティマスタ50の指定に従う)を参照することになる。
【0103】
[利用例]
次に、図3等を用いて、本実施の形態のシステムの利用例、及びDB1のデータの利用用途の例として、システム開発用のテスト処理などを行う場合について説明する。図3で、上側は、顧客の通常運用の稼働環境である第1のコンピュータシステム101等を示し、下側は、第1のコンピュータシステム101を対象としたシステム開発環境である第2のコンピュータシステム102等を示す。基本的な構成要素は図1と重複している。
【0104】
第1のコンピュータシステム101において、図1の要素と同様に、DB1a、DBサーバ2a、APPサーバ3a、WWWサーバ4a等を有する。そして例えばDBサーバ2aにセキュリティボックス10及びセキュリティマスタ50を備える。DB1aは、元の完全なデータでありマスクデータを含まない(具体例は図5(a))。APPサーバ3aの業務プログラム31は、マスクデータの参照(オンライン照会やデータ吸い上げ)などを行う。端末201は、DB1aのデータを利用するためのDBデータ利用部61及び記憶部71を有し、DB1aから取り出されたDBデータ81(マスクデータを含む)を利用、記憶することができる。ユーザU1は、例えば第2のコンピュータシステム102側の開発者Aであり、システム開発用にDB1のデータ(81)を取り出す作業のために端末201を使用する(なお当該取り出し作業は図6のテーブルに登録された(認可された)他の担当者が行ってもよい)。ユーザU1(開発者A)により端末201から前述(図1等)と同様にコンピュータシステム101のDB1aのデータが取り出され、その際にセキュリティボックス10の機能により自動的にマスクデータが得られ(マスキングプログラム生成することなくマスクデータ参照可能である)、DBデータ81(マスクデータを含む)として記憶部71に格納される。
【0105】
第2のコンピュータシステム102において、図1の要素と同様に、DB1b、DBサーバ2b、APPサーバ3b、WWWサーバ4b等を有する。例えば2b,3b,4b等が開発対象となる。第2のコンピュータシステム102(DBサーバ2b)側はセキュリティボックス10等の具備は必要無い。また第2のコンピュータシステム102では、DB1bは、第1のコンピュータシステム101から取り出されたデータ(81,82)を用いるので、マスクデータを含んでいる。またAPPサーバ3b(業務プログラム31)として例えば#1(31A),#2(31B)のように複数が存在してよい。例えばAPPサーバ#1(31A)ではマスクデータの出力を行い、APPサーバ#2(31B)ではマスクデータの参照を行う(当然ながらマスク処理不要で参照可能である)。
【0106】
第2のコンピュータシステム102に対し、ユーザU1(開発者A)が端末202からアクセスする。ユーザU1の端末202は、DB1bのデータを利用するためのデータ利用部62及び記憶部72を備える。例えばユーザU1(開発者A)は、第1のコンピュータシステム101でDB1aから取り出され自動的にマスク処理され記憶部71に格納されたDBデータ81を、第2のコンピュータシステム102のユーザU1の端末202の記憶部72内へ移動/コピーさせ、DBデータ82とする。このDBデータの移動/コピーは、例えばDBデータ81を記憶媒体に格納して持ち運ぶ形や、ネットワーク90を介して転送する形など、データ利用に応じた形態となる。また図6のように任意にマスク位置の指定及びマスク文字(置換記号)の変更などが設定可能である。
【0107】
データ利用部62は、例として特に、テストA処理部62Aを含む。テストA処理部62Aは、DBデータ82を用いて、システム開発用の特定のテストAの処理を行う。同様に、図示しないが他のユーザU2(例えば開発者B)の端末に備えるテストB処理部62Bは、システム開発用の別の特定のテストBの処理を行う。同様に、図示しない複数のユーザUがそれぞれ端末で接続され、それぞれ同じまたは異なるデータ利用処理(テスト処理その他)を行ってもよい。
【0108】
[DBデータ]
図5(a)は、DB1に格納されている元のデータのテーブル例を示す。本テーブルは、店舗やECサイトで顧客が商品を購入した実績情報を管理する場合(商品購入履歴管理DB)である。本テーブルは、項目として、主キー、副キー、レコード区分、氏名、住所、TEL(電話番号)、購入商品、型名、その他各種項目を有する。
【0109】
図5(b)は、DB1の図5(a)のテーブルを対象としてデータを参照した結果の第1の例である。例えばユーザU1(開発者A)によるDB1へのアクセスにつき、図示する指定項目を参照した場合である。DB1から取り出されたデータの項目のうち、セキュリティマスタ50の設定(例えば図6(a)のユーザU1のレコードの設定に対応する)に基づき、参照制限に該当する項目「氏名」「住所」について、ルールAのマスク処理(図6(b)のテーブルT2のルールAで定義されている)が施された後のデータを示している。
【0110】
図5(c)は、DB1の図5(a)のテーブルを対象としてデータを参照した結果の第2の例である。例えばユーザU2(開発者B)によるDB1へのアクセスにつき、図示する指定レコードを参照した場合である。DB1から取り出されたデータの項目のうち、セキュリティマスタ50の設定(例えば図6(a)のユーザU2のレコードの設定に対応する)に基づき、参照制限に該当する項目「氏名」について、ルールBのマスク処理(図6(b)のテーブルT2のルールBで定義されている)が施された後のデータを示している。なお図5(c)ではマスク位置(T2のd)が1,3,5でマスク文字(置換記号)がアスタリスク(*)の場合である。
【0111】
[マスク処理]
図7は、図6(b)のテーブルT2及び図1の各ルール処理部に対応した、各ルールのマスク処理の内容例について示す。
【0112】
ルールA処理部13AによるルールAのマスク処理は、内容(例えばプログラム名称)が「連続アスタリスク」である。ルールAの処理論理は、参照制限に対応したマスク対象エリア(例えば項目)の文字を、すべて(連続的)、所定の記号、例えばアスタリスク(*)で置き換える(埋める)ものである。
【0113】
例えばT1の「制限項目1」で指定された項目「氏名」のデータ値が文字列“鈴木_太郎”のとき(なお“_”はスペース)、置き換え後のデータ値(マスク済みデータ)は文字列“*****”となる。
【0114】
ルールB処理部13BによるルールBのマスク処理は、内容が「部分アスタリスク」である。ルールBの処理論理は、マスク対象エリアの文字を、部分的に、所定の記号、例えばアスタリスク(*)で置き換えるものである。例えば、1,3,5文字目といったように1文字とびで置き換える。図6のT2のように任意にマスク位置(d)の指定及びマスク文字(置換記号)の変更が設定可能となっている。例えばマスク前の値“鈴木_太郎”は、マスク後の値“*木*太*”となる。
【0115】
ルールC処理部13CによるルールCのマスク処理は、内容が「不特定英数字」である。ルールCの処理論理は、マスク対象エリアの文字を、すべて、不特定(ランダム)の文字に置き換えるものである。置き換えの文字は例えば英数字である。例えばマスク前の値“鈴木_太郎”は、マスク後の値“ABCDE”となる。また図6(c)のように項目(制限項目)が例えば同じ「住所」でも、ユーザやDBごとにマスク処理を変更可能となっている。
【0116】
上記ルール(処理論理)の内容詳細、マスク対象エリア、置換記号などについては、マスタ設定部11を用いて適宜設定変更が可能である。例えばルールA処理部13A等のプログラムの追加や更新などが可能である。データ利用用途に応じて、その他の各種のルール(例えば文字コード値をシフトして別の文字に変換する等)が適宜設定可能である。また図6(c)のT3のように、テーブル上で個別に指定(設定)の無いユーザについては、「その他」のレコードで示すように、対象項目に対して所定のルール(例えばA)のマスクが自動的に実施されるように設定可能となっている。
【0117】
[マスク処理(ルール)とデータ利用用途(ユーザ属性等)との関係]
本システムでは、マスタ設定部11及びセキュリティマスタ50(図6)を用いることで、マスク処理(ルール)とデータ利用用途(ユーザ属性等)との対応関係を柔軟に設定することができる。例えば、データ利用用途として、システム開発用のテストA,B,C等がある(図3)。これらの各種のテスト処理ごとに、適用するルールのマスク処理を異なるように設定することができる。例えば図6のテーブルでは、ルールAに対してはデータ利用用途として開発者AによるテストAを関係付け、ルールBに対しては開発者BによるテストBを関係付けている。例えばルールAのマスク処理はテストAに適したマスクデータを生成する処理であり、ルールBのマスク処理はテストBに適したマスクデータを生成する処理である。すなわちデータ利用用途(各種のテスト)に適したマスクデータが自動的に得られるので、個人情報保護などを実現しつつ、テストがしやすい等、データ利用の利便性が高いという効果が得られる。
【0118】
同様に、システム開発用のテストの例に限らず、異なるデータ利用用途に対してそれぞれ参照制限及び適用ルール(マスク処理)を設定することができる。
【0119】
また例えば図7等のルールAの場合、当該マスクデータでは、対象エリア内の文字がすべてアスタリスク(*)で隠れるため、例えば氏名などが完全に見えなくなり保護されるが、当該マスクデータの利用用途として例えばテスト処理の内容によっては、ユーザ(開発者等)が当該マスクデータの処理結果を視認(確認)しにくいといった不便があり得る。そのような場合にも、本システムでは、データ利用用途(テスト処理等)の内容に応じて、参照制限及びルールの設定を調整が可能である。例えばテストAにはルールAが適し、テストBにはルールBが適するといったように効果的な関係付けで設定可能である。これにより、ユーザによるマスクデータの利用の際に、個人情報保護と利便性とのバランスを適切にすることができる。
【0120】
[効果・変形例など]
以上説明したように、本実施の形態によれば、(1)ユーザ/ユーザ属性等に応じた参照制限及びマスク処理の制御により、ユーザによるDB1のデータへの不正アクセス・個人情報漏洩などの問題(特に例えばシステム開発者などを含む組織内部のユーザによるDBデータの不正な持ち出し等の可能性)に対する有効な対策を実現できる。(2)またマスク処理及びテスト等の作業の手間の削減を実現できる。従来例ではDBから取り出したデータに対して別途プログラム処理によりマスクデータを得るといった作業の手間が必要であったが、そのような作業を不要化/削減し、個人情報項目などのマスク(目隠し)が容易に実現できる。(3)また複数(各種)のデータ利用用途(例えばシステム開発用のテスト処理)に応じた柔軟なマスク処理(複数のルールのマスク処理)の実現により情報保護などの効果とデータ利用の利便性の効果とのバランスを実現できる。
【0121】
また、従来例では、DBデータに対して別途プログラム処理によりマスクを施す場合、当該作業を行う担当者の目に該当の制限項目(マスク対象)のデータ情報が触れていた。一方、本実施の形態では、DB1側からデータを取り出して業務プログラム31等に対してデータを応答する時点で既にマスク処理済みのデータが得られるため、ユーザ(担当者)の目に該当データ情報が全く触れないで済み、即ち個人情報保護等の効果が高い。
【0122】
また、本マスク処理は、暗号化処理ではなく、DB1から取り出されマスク処理されたデータ自体を解読して元のデータを得ることはできない。したがって情報漏洩対策として効果が高い。
【0123】
なお、前記特許文献2では、マスキングプログラムを生成する必要があり、また、マスク対象入力は順次ファイルであるという制約がある。一方、本発明(本実施の形態)では、マスキングプログラムを生成することなくDB参照時に直接マスク可能である(マスキングプログラム生成無しにマスク可能である)。また、マスク対象入力は、DBに対して直接可能である(順次ファイルを介さずにマスク可能である)、という利点がある。
【0124】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【0125】
例えばDBのアクセス管理に限らず他の文書・ファイル等を対象とした同様のアクセス管理システムとしてもよい。またマスク処理の種類を拡張し、テキスト処理に限らずイメージ処理を用いてもよい。また例えばセキュリティボックス10等を具備する位置は、DBサーバ2に限らず、他の装置としてもよいし、専用のサーバなどを設けてもよい。前述のように、DB1へのアクセスの際に必ずセキュリティボックス10の処理を経由するように構成すればよい。
【産業上の利用可能性】
【0126】
本発明は、DBなどのデータのアクセス管理システム、システム開発用のシステム、などに利用可能である。
【符号の説明】
【0127】
1…DB、2…DBサーバ、3…APPサーバ、4…WWWサーバ、10…セキュリティボックス、11…マスタ設定部、12…ユーザ確認部、13…マスク処理部、13A…ルールA処理部、13B…ルールB処理部、13C…ルールC処理部、21…DBアクセス処理部、31…業務プログラム、41…ユーザ認証部、50…セキュリティマスタ、60,61,62…データ利用部、70,71,72…記憶部、100,101,102…コンピュータシステム、200,201,202…端末、300…プリンタサーバ/プリンタ、301…帳票。

【特許請求の範囲】
【請求項1】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムを含んで成るデータベースアクセス管理システムであって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理・制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスは、マスタ設定部と、ユーザ確認部と、マスク処理部と、を有し、
前記マスタ設定部は、前記セキュリティマスタの情報を管理者により設定する処理を行い、当該設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報を含み、
前記ユーザ確認部は、前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態を判断・確認する処理を行い、
前記マスク処理部は、前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行い、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理システム。
【請求項2】
請求項1記載のデータベースアクセス管理システムにおいて、
前記マスタ設定部は、前記設定情報として、前記ユーザまたはユーザ属性の情報と、前記ユーザまたはユーザ属性ごとの前記参照制限の有無の情報と、前記参照制限の対象となる項目の情報と、前記参照制限の対象となる項目に対して適用するマスク処理を指定する情報とを含む情報を設定すること、を特徴とするデータベースアクセス管理システム。
【請求項3】
請求項1記載のデータベースアクセス管理システムにおいて、
前記マスク処理部は、複数の各々のルールのマスク処理を行うルール処理部を備え、
前記マスタ設定部は、前記設定情報として、前記複数の各々のルールのマスク処理、及び前記参照制限のために適用するマスク処理を前記管理者により設定する処理を行い、
前記ユーザ確認部は、前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限に応じて適用するルールのマスク処理を判断・確認する処理を行うこと、を特徴とするデータベースアクセス管理システム。
【請求項4】
請求項3記載のデータベースアクセス管理システムにおいて、
前記マスタ設定部は、前記設定情報として、前記複数の各々のルールのマスク処理に対して関係付ける複数の各々のデータ利用用途もしくはユーザ属性を前記管理者により設定する処理を行い、
前記ユーザ確認部は、前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザのデータ利用用途もしくはユーザ属性に応じて適用するルールのマスク処理を判断・確認する処理を行うこと、を特徴とするデータベースアクセス管理システム。
【請求項5】
請求項3記載のデータベースアクセス管理システムにおいて、
前記ユーザ属性として、システム開発者を含み、
前記データベースのデータの利用用途として、システム開発用のテスト処理を含み、
前記マスタ設定部は、前記設定情報として、前記システム開発者のデータ利用用途であるテスト処理に対して適用するルールのマスク処理を設定すること、を特徴とするデータベースアクセス管理システム。
【請求項6】
請求項1記載のデータベースアクセス管理システムにおいて、
前記セキュリティボックスは、前記セキュリティマスタの情報に基づき、
前記ユーザの端末からの前記データベースへのアクセスの要求について、
当該ユーザがアクセス可能者かどうかを判断し、アクセス可能者ではない場合はアクセス不可能のエラーとする処理と、
当該ユーザの参照制限の有無を判断し、参照制限無しの場合はマスク処理無しのデータをそのまま応答する処理と、
当該ユーザの参照制限の対象データを判断し、前記要求のアクセス対象が当該参照制限の対象データである場合は当該対象データを前記マスク処理したデータを応答する処理と、を行うこと、を特徴とするデータベースアクセス管理システム。
【請求項7】
請求項1記載のデータベースアクセス管理システムにおいて、
前記コンピュータシステムは、
前記ユーザの端末からのアクセスを受けるWWWサーバ装置と、
前記WWWサーバ装置からアクセスされ業務プログラムによる処理を提供するアプリケーションサーバ装置と、
前記アプリケーションサーバ装置からアクセスされ前記データベースへアクセスしてデータを取り出す処理を行うデータベースサーバ装置と、を有し、
前記データベースサーバ装置に前記セキュリティボックス及び前記セキュリティマスタを備え、前記データベースへのアクセスの際に連携処理すること、を特徴とするデータベースアクセス管理システム。
【請求項8】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムで行われるデータベースアクセス管理方法であって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理・制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスの処理において、
前記セキュリティマスタの情報を管理者により設定する処理を行うステップと、
前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態を判断・確認する処理を行うステップと、
前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行うステップとを有し、
前記セキュリティマスタの設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報を含み、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理方法。
【請求項9】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムで実行されるデータベースアクセス管理プログラムであって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理・制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスの処理を実現するプログラムにおいて、
前記セキュリティマスタの情報を管理者により設定する処理を実行させるプログラムと、
前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態を判断・確認する処理を行うプログラムと、
前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行うプログラムとを有し、
前記セキュリティマスタの設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報を含み、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−8121(P2013−8121A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−139115(P2011−139115)
【出願日】平成23年6月23日(2011.6.23)
【出願人】(000233491)株式会社日立システムズ (394)
【Fターム(参考)】