(57)【要約】【課題】顧客の情報や動向を漏洩させることなく収集し、ＯＬＡＰ等で情報の分析処理を行う場合、通常のＤＢを利用する場合と同等の効率での情報分析を可能とする。【解決手段】暗号ＤＢ１１にデータを登録するとき、暗号ＤＢサーバ９に持たせた暗号鍵１０でデータを暗号化してから登録する。前述とは別なマートＤＢサーバ１２を用意し、ネットワークとは隔離された場所に置き、データを蓄積する暗号ＤＢサーバ９とのみネットワークの接続を可能にしておく。２つのＤＢサーバ間は、通常ネットワークを接続せず、定期的にＤＢサーバ９のデータをマートＤＢサーバに移行するときのみ接続する。マートＤＢサーバ１２は、暗号鍵１０と対となっている復号鍵１４を保持し、データ移行時、復号鍵１４を用いてデータを復号化してからマートＤＢ１３に保存する。データ移行が終わったら即座にネットワークを切断する。【選択図】      図１
2006228037.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して採取したデータを格納するデータベースの情報漏洩防止方法において、ネットワークを介して採取したデータを暗号化して暗号化データベースサーバ内の暗号化データベースに格納しておき、暗号化データベースのデータを取得するときにのみ前記暗号化データベースサーバに接続されるマートデータベースサーバ内のマートデータベースに、前記暗号化データベースから取得したデータを復号化して格納しておくことを特徴とするデータベースの情報漏洩防止方法。
【請求項２】
前記暗号化データベースサーバとマートデータベースサーバとの間の接続は、マートデータベースサーバからのみ行うことが可能とされていることを特徴とする請求項１記載のデータベースの情報漏洩防止方法。
【請求項３】
前記暗号化データベースに格納される個々のデータの一部のデータのみが暗号化されていることを特徴とする請求項１または２記載のデータベースの情報漏洩防止方法。
【請求項４】
前記暗号化データベースを持つ暗号化データベースサーバが暗号鍵を保持してデータの暗号化を行い、前記マートデータベースを持つマートデータベースサーバが復号鍵を保持して前記暗号化データベースからのデータの復号を行うことを特徴とする請求項１、２または３記載のデータベースの情報漏洩防止方法。
【請求項５】
前記ネットワークを介したデータの採取がアプリケーションサーバにより行われ、該アプリケーションサーバが暗号鍵を保持して採取したデータ暗号化を行って、暗号化したデータを前記暗号化データベースサーバに送信し、前記マートデータベースを持つマートデータベースサーバが復号鍵を保持して前記暗号化データベースからのデータの復号を行うことを特徴とする請求項１、２または３記載のデータベースの情報漏洩防止方法。
【請求項６】
前記暗号鍵が公開暗号鍵であり、前記復号鍵が前記公開暗号鍵と対となる秘密鍵であることを特徴とする請求項４または５記載のデータベースの情報漏洩防止方法。
【請求項７】
ネットワークを介して採取したデータを格納するＷｅｂデータベースシステムにおいて、ネットワークを介して採取したデータを暗号化して暗号化データベースに格納する暗号化データベースサーバと、暗号化データベースのデータを取得するときにのみ前記暗号化データベースサーバに接続されるマートデータベースサーバとを備え、マートデータベースサーバは、自サーバ内のマートデータベースに、前記暗号化データベースから取得したデータを復号化して格納しておくことを特徴とするＷｅｂデータベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース（以下、ＤＢという）の情報漏洩防止方法及びＷｅｂデータベースシステムに係り、特に、会員の情報やインターネットでの動向をネットワークを介して採取して保持するＤＢの情報漏洩防止に用いて好適なＤＢの情報漏洩防止方法及びＷｅｂデータベースシステムに関する。
【背景技術】
【０００２】
近年、インターネットやＬＡＮが幅広く利用されるようになってきている。そうした中で、会員の情報やインターネットでの動向をＷｅｂサーバ、アプリケーションサーバを介してＤＢに保持するシステムが数多く利用されている。
【０００３】
図４は一般的な会員の情報やインターネットでの動向を保持するＷｅｂＤＢシステムの構成を示すブロック図である。図４において、１は一般ユーザ、２は不正ユーザ、３はＷｅｂサーバ、４はアプリケーションサーバ、５はＤＢサーバ、６はネットワークである。
【０００４】
会員情報等を保持するＷｅｂＤＢシステムは、図４に示すように、インターネット、ＬＡＮ等のネットワーク６にＷｅｂサーバ３が接続され、このＷｅｂサーバ３にアプリケーションサーバ４を介してＤＢサーバ５が接続されて構成されている。図示システムは、会員情報等を保持するＤＢシステムを運用するサービス会社等の会員になろうとする一般ユーザ１が、ネットワーク６に接続可能なＰＣ等の情報処理機器を備えて、Ｗｅｂサーバ３にアクセスして会員登録を行い、会員専用の情報を閲覧したり、アンケートに答えたりするシステムである。そして、会員登録の情報やアンケートで回答した情報、会員のＷｅｂサーバ３での動向等は、アプリケーションサーバ４に採取されＤＢサーバ５内のＤＢに格納される。
【０００５】
前述したように、図４に示す一般的なＷｅｂＤＢシステムは、ＤＢがＷｅｂサーバ３、アプリケーションサーバ４を経由してインターネット等のネットワークに接続され、ユーザがインターネット等のネットワークを介してＤＢサーバ５内のＤＢに対して直接読み書きすることができるように構成されている。そのため、クラッカー等の不正ユーザ２は、各サーバに存在するセキュリティーホールをついて攻撃を行って、不正にＤＢサーバ５内のＤＢにアクセスすることができ、一般ユーザの情報の窃盗、改竄等が行われることがある。また、不正ユーザ２は、一般ユーザのふりをして（なりすまし）不正にＤＢサーバ５内のＤＢにアクセスすることもある。このように、ＷｅｂＤＢシステムは、窃盗、改竄、なりすましなどの攻撃を受ける可能性が常に付きまとっている。
【０００６】
ＷｅｂＤＢシステムは、そのＤＢ内のファイルが常に前述したような脅威にさらされているため、このような脅威を避けるための従来技術として、情報が盗まれた場合にも利用することができないようにＤＢ内の情報を暗号化して情報の漏洩を防止する方法が、例えば、特許文献１、特許文献２等に記載されて知られている。
【０００７】
特許文献１に記載の従来技術は、ＤＢ内のデータファイルを暗号化アルゴリズムによって暗号化し、データへのアクセスを暗号化／復号モジュールによって処理し、ユーザのアクセスを暗号化／復号モジュールを使用して行うようにすることによりセキュリティーを確保するというものである。
【０００８】
また、特許文献２に記載の従来技術は、ＤＢ内のデータファイルを暗号化したままでは、データの検索に時間がかかってしまうという問題を解決して、かつ、セキュリティーを確保するために、暗号化テーブルとインデックステーブルとを用意し、インデックステーブルに平文を入れておくというものである。そして、この従来技術は、検索時には、インデックステーブルを参照することにより目的の項目を絞り込むことを可能にし、これにより検索時に平文テーブルを作成する必要をなくして、検索の高速化を図っている。
【特許文献１】特表平１１−５０９３４９号公報
【特許文献２】特開２００３−１８６７２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述した特許文献１に記載の従来技術は、ＤＢに保存する全てのデータを暗号化しているため、このＤＢを使用してデータの検索を行ったりする場合には、ＤＢ内のデータを復号化して平文テーブルを作る必要があり、検索等の処理に多大な時間が必要となってしまうという問題点を有している。
【００１０】
また、特許文献２に記載の従来技術は、平文インデックスを作成することにより検索の処理を高速化することができるものであるが、インデックスが平文のためインデックスに使用している部分に関してはその情報が漏洩してしまうという問題点を有している。さらに、この従来技術は、ＯＬＡＰシステムのように情報の収集、分析を主としたシステムを使用してＤＢ内の情報の分析を行おうとする場合、大量のデータを必要とするため、結局、大量のデータの復号化を必要とすることになり、この復号化の処理が分析のたびに必要となるため非効率なものになってしまうという問題点を生じさせてしまう。
【００１１】
本発明の目的は、前述した従来技術の問題点を解決し、ＯＬＡＰシステムのように収集、分析を主としたシステムを使用する場合にも、顧客の情報や動向を漏洩させることなく収集し、情報の分析処理を行う場合には、通常の（暗号化していない平文の）ＤＢを利用する場合と同等の効率で情報の分析を行うことができるようにしたＤＢの情報漏洩防止方法及びＷｅｂデータベースシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明によれば前記目的は、ネットワークを介して採取したデータを格納するデータベースの情報漏洩防止方法において、ネットワークを介して採取したデータを暗号化して暗号化データベースサーバ内の暗号化データベースに格納しておき、暗号化データベースのデータを取得するときにのみ前記暗号化データベースサーバに接続されるマートデータベースサーバ内のマートデータベースに、前記暗号化データベースから取得したデータを復号化して格納しておくことにより達成される。
【００１３】
また、前記目的は、ネットワークを介して採取したデータを格納するＷｅｂデータベースシステムにおいて、ネットワークを介して採取したデータを暗号化して暗号化データベースに格納する暗号化データベースサーバと、暗号化データベースのデータを取得するときにのみ前記暗号化データベースサーバに接続されるマートデータベースサーバとを備え、マートデータベースサーバが、自サーバ内のマートデータベースに、前記暗号化データベースから取得したデータを復号化して格納しておくことにより達成される。
【発明の効果】
【００１４】
本発明によれば、データを暗号化してＤＢ内に保持することとしているので、セキュリティーホールをつかれてデータが盗まれたとしても暗号化されているため情報が漏洩してしまうようなことを防止することができる。
【００１５】
また、本発明によれば、通常時、外部との接続を持たない安全な場所に復号化したデータを置くこととしているので、ＯＬＡＰ等によりＤＢのデータを一気に大量に利用するような場合、復号化したデータ利用することができるので、データの分析を高速に行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明によるＤＢの情報漏洩防止方法及びＷｅｂＤＢシステムの実施形態を図面により詳細に説明する。
【００１７】
図１は本発明の一実施形態によるＷｅｂＤＢシステムの構成例を示すブロック図である。図１において、９は暗号化ＤＢサーバ、１０は暗号鍵、１１は暗号化ＤＢ、１２はマートＤＢサーバ、１３はマートＤＢ、１４は復号鍵であり、他の符号は図４の場合と同一である。
【００１８】
図１に示すＷｅｂＤＢシステムの構成例も、図４に示して説明したと同様に、クライアントとしてのＰＣ等を使用する一般ユーザ１がインターネット等のネットワーク６を介してＷｅｂサーバ３から提供されるＷｅｂページで会員登録を行ったり、会員用のページを閲覧したり、アンケートに回答したりすることができるシステムの例である。
【００１９】
図１に示すＷｅｂＤＢシステムは、図４に示したと同様に、インターネット、ＬＡＮ等のネットワーク６にＷｅｂサーバ３が接続され、このＷｅｂサーバ３にアプリケーションサーバ４を介して暗号化ＤＢ１１を備える暗号化ＤＢサーバ９が接続されて構成されており、さらに、マートＤＢ１３を備えるマートＤＢサーバ１２が暗号化ＤＢサーバ９に接続可能に設けられている。前述のＷｅｂサーバ３は、アプリケーションサーバ４によりその制御が行われる。
【００２０】
前述において、アプリケーションサーバ４は、会員登録の情報やアンケートで回答した情報、会員のＷｅｂサーバ３での動向等を採取して暗号化ＤＢサーバ９に送信する。暗号化ＤＢサーバ９は、受領した情報を自サーバが持つ暗号鍵１０により暗号化して暗号化ＤＢ１１に格納する。本発明の実施形態では、暗号鍵１０を暗号化ＤＢサーバ９に持たせるとしているが、本発明は、暗号鍵１０をアプリケーションサーバ４に持たせるようにすることができる。
【００２１】
マートＤＢサーバ１２のマートＤＢ１３には、暗号化ＤＢサーバ９の暗号化ＤＢ１１内に、暗号鍵１０により暗号化されて格納されているデータを復号鍵１４で復号化したデータが格納されている。また、マートＤＢサーバ１２は、通常、暗号化ＤＢサーバ９には接続されておらず、暗号化ＤＢ１１内のデータを取り込むときにだけ、マートＤＢサーバ１２から暗号化ＤＢサーバ９に接続される。
【００２２】
前述した図１に示す本発明の実施形態によるＷｅｂＤＢシステムの構成例において、アプリケーションサーバ４、暗号化ＤＢサーバ９及びマートＤＢ１２は、システムの運用者側で管理されている装置である。そして、これらのサーバ及び一般ユーザが使用するクライアント装置は、いずれも、ＣＰＵ、主メモリ、ハードディスク装置、入出力装置等を備えて構成されるＰＣ、ＷＳ等のよく知られた情報処理装置により構成することができ、後述する本発明の実施形態での各種処理は、主メモリにロードしたプログラムをＣＰＵに実行させることにより実施される。
【００２３】
図２は暗号化ＤＢ１１へのデータ登録の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２４】
（１）アプリケーションサーバ４は、暗号化ＤＢ１１へのデータ登録クエリーを暗号化ＤＢサーバ９に発行し、会員の登録情報、会員用のページを閲覧、アンケートの回答結果等の顧客の情報や動向を暗号化ＤＢサーバ９に送信する（ステップＳ２０１）。
【００２５】
（２）暗号化ＤＢサーバ９は、登録のためにアプリケーションサーバ４から送信されてきたデータを暗号鍵１０を使用して暗号化する（ステップＳ２０２）。
【００２６】
（３）そして、暗号化ＤＢサーバ９は、暗号化したデータを暗号化ＤＢ１１へ登録し、ここでの処理を終了する（ステップＳ２０３）。
【００２７】
前述したように、暗号化されて登録されている暗号化ＤＢ１１内のデータは、悪意のあるユーザが暗号化ＤＢサーバ９にアクセスして盗まれたとしても、暗号鍵１０（一般に、暗号鍵と復号鍵とは同一である場合が多い）が盗まれない限り復号化することができず、データの内容が漏洩することはない。しかし、暗号化ＤＢサーバ９内での暗号鍵１０は、暗号化ＤＢ１１内のデータとは別に通常の手段ではアクセスすることができないように保存する必要がある。暗号鍵１０に対する安全性の確保のために、本発明は、暗号化ＤＢサーバ９で使用する暗号鍵１０と後述するマートＤＢサーバ１２で使用する復号鍵とを異なるものとした鍵方式、例えば、公開暗号鍵方式を使用することもでき、この場合、暗号鍵１０として公開暗号鍵が使用される。
【００２８】
図３はマートＤＢサーバ１２が暗号化ＤＢのデータを取得してマートＤＢに格納する処理動作を説明するフローチャートであり、次に、これについて説明する。なお、この処理は、例えば、１日に１回程度、しかも夜間等の時間帯に起動されて実行されればよく、また、暗号化ＤＢ内のデータの取得は、新たに登録された部分、上書きにより更新された部分だけについて行えばよい。
【００２９】
（１）まず、マートＤＢサーバ１２から暗号化ＤＢサーバ９へネットワークを接続する。このとき、マートＤＢサーバ１２は、暗号化ＤＢサーバ９からのデータのみを受け取り、それ以外のマシンからのパケットを無視する設定としておく。また、マートＤＢサーバ１２のデータは、暗号化ＤＢサーバ９からは取り出すことができないように設定しておく。これにより、復号鍵１４を盗まれることを防止することができる（ステップＳ３０１）。
【００３０】
（２）ステップ３０１の処理でネットワークの接続を行った後、マートＤＢサーバ１２は、暗号化ＤＢサーバ９内の暗号化ＤＢ１１のデータを順次取り出してきて、取り出したデータをマートＤＢサーバ１２が持つ復号鍵１４で復号化する（ステップＳ３０２、Ｓ３０３）。
【００３１】
（３）その後、マートＤＢサーバ１２は、復号化したデータをマートＤＢ１３に保存する。このときに、復号化したデータをそのままマートＤＢ１３に移行するのではなく、ある程度加工して分析等の処理に適した形に変更してもよい。この変更により、結果の分析が行いやすくなったり高速になったりすることがあるからである（ステップＳ３０４）。
【００３２】
（４）全てのデータ移行が終わった後、直ちに、マートＤＢサーバ１２と暗号化ＤＢサーバ９との間のネットワークの切断を行って処理を終了する（ステップＳ３０５）。
【００３３】
図２、図３により説明した本発明の実施形態での処理は、処理プログラムとして構成し、各サーバが備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体にに格納して提供することができる。
【００３４】
前述において、暗号化ＤＢサーバ９で使用される暗号鍵１０として公開暗号鍵が使用された場合、マートＤＢサーバ１２で使用される復号鍵１４としては、公開暗号鍵と対になる秘密鍵が使用される。
【００３５】
前述のようにして作成されたマートＤＢ１３内の復号されているデータは、分析されてレポートとして提出されたり、分析結果をもとに顧客に対して新たなアクションを起こしたりするために利用される。
【００３６】
また、暗号化ＤＢ１１のデータのマートＤＢサーバ１２への移行は、リアルタイムには行われないが、ＯＬＡＰ系では常に分析を行うのではないので分析前にデータ移行を行えば問題はなく、例えば、夜間にバッチ処理によりデータ移行を実行しておき、朝から分析作業を行うようにすればよい。
【００３７】
前述した本発明の実施形態において、暗号化ＤＢサーバ９の暗号鍵として、公開暗号鍵を使用した場合、暗号化した暗号化ＤＢ内のデータは、公開暗号鍵と対になる秘密鍵がないと復号化することができず、しかも、暗号化ＤＢサーバ９やアプリケーションサーバ８には、復号化するための秘密鍵１４が保持されていないため、暗号化ＤＢ１１にあるデータが盗まれたとしても復号化することができないため情報が漏洩することはない。
【００３８】
秘密鍵１４を持つのは、普段は暗号化ＤＢサーバ９ともネットワークが切断されているマートＤＢサーバ１２だけであり、マートＤＢサーバ１２が外のネットワークとはつながっていないため、暗号化されたデータを復号化することができる秘密鍵１４を外部から盗むことができない。そのため、データを盗んだクラッカーが暗号化されたデータを復号化することはできない。
【００３９】
前述した本発明の実施形態は、全てのデータを暗号化しているので、Ｗｅｂサーバ３で提供するアプリケーションが蓄積したデータを変更したり利用したりすることができない。本発明の実施形態は、基本的には蓄積型のＤＢを想定しているため、外のアプリケーションからの変更の利用はあまり考える必要はない。しかし、本発明は、各テーブルのプライマリーキーだけを暗号化しないという方法をとることができる。これによって、情報の上書きを行うことが可能になる。例えば、ある会員がアンケートに回答したが、内容を変更したくなり再度アンケートに回答したとき全てのデータが暗号化されていると、以前にその会員が回答したデータがどれだか判らないが、プライマリーキーだけ暗号化されていなければ会員ＩＤなどをキーに以前の回答データが格納されている部分が判るため、上書きをすることが可能となる。また、あるページをその会員が初めて閲覧したかなど単純な情報であればプライマリーキーさえわかれば取得することが可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態によるＷｅｂＤＢシステムの構成例を示すブロック図である。
【図２】暗号化ＤＢへのデータ登録の処理動作を説明するフローチャートである。
【図３】マートＤＢサーバが暗号化ＤＢのデータを取得してマートＤＢに格納する処理動作を説明するフローチャートである。
【図４】一般的な会員の情報やインターネットでの動向を保持するＷｅｂＤＢシステムの構成を示すブロック図である。
【符号の説明】
【００４１】
１  一般ユーザ
２  不正ユーザ
３  Ｗｅｂサーバ
４  アプリケーションサーバ
５  ＤＢサーバ
６  ネットワーク
９  暗号化ＤＢサーバ
１０  暗号鍵
１１  暗号化ＤＢ
１２  マートＤＢサーバ
１３  マートＤＢ
１４  復号鍵
【図１】
2006228037.tif 000003
【図２】
2006228037.tif 000004
【図３】
2006228037.tif 000005
【図４】
2006228037.tif 000006