(57)【要約】      （修正有）【課題】二次的なデータベースが公開される場合であっても、適切にアクセス制限を行う。【解決手段】データ管理システムは、ＤＢサーバ１００と鍵管理サーバ２００とを含んで構成される。鍵管理サーバ２００は、クライアント端末３００から、ＤＢサーバ１００のデータベースのデータを含むデータベースを、ＤＢサーバ１００へ登録するための登録要求を、当該データベースの利用許諾条件及び登録許諾条件を示す情報と共に受信するＤＢ利用／登録請求入力ポート２０６と、利用許諾条件及び登録許諾条件が、取得元のデータベースの登録許諾条件を満たすか否かを判断するＤＢ登録条件可否判断モジュール２１１と、登録許諾条件を満たすと判断された場合、データベースをＤＢサーバ１００への登録のために暗号化する登録用暗号鍵を生成して送信する暗号鍵生成モジュール２１２とを備える。【選択図】図３
2008124837.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続されるデータベースサーバと鍵管理サーバとを含んで構成されるデータ管理システムであって、
前記データベースサーバは、
暗号化されたデータベースを格納するデータベース格納手段と、
前記鍵管理サーバから送信されるサーバ用暗号鍵によって、前記データベース格納手段に格納されたデータベースを復号する復号手段と、
前記鍵管理サーバから送信される演算手順を示す情報に基づいて、前記復号手段により復号されたデータベースに対して演算を行う演算手段と、
前記演算手段による演算の結果のデータを前記鍵管理サーバから送信される端末用暗号鍵によって暗号化して出力すると共に、前記鍵管理サーバから送信されるサーバ用暗号鍵によって、前記復号手段により復号されたデータベースを再暗号化する暗号化手段と、を備え、
前記鍵管理サーバは、
前記データベースサーバに格納されるデータベースの利用許諾条件及び登録許諾条件を示す情報を、ユーザ及び当該データベースの属性毎に格納する条件格納手段と、
端末から送信される、前記データベースサーバに格納されるデータベースに格納されるデータの取得要求及び当該取得要求に係るユーザを特定する情報を受信する取得要求受信手段と、
前記受信手段により受信された取得要求に係るデータが前記ユーザにより利用可能か否かを、前記条件格納手段に格納された前記利用許諾条件を参照することにより判断する利用可否判断手段と、
前記利用可否判断手段により、前記取得要求に係るデータが前記ユーザにより利用可能と判断された場合、当該データが格納されるデータベースを復号及び暗号化するサーバ用暗号鍵、及び前記取得されるデータを暗号化する端末用暗号鍵を生成する利用用暗号鍵生成手段と、
前記取得要求に係るデータを取得するための演算手順を示す情報、並びに前記暗号鍵生成手段により生成された前記サーバ用暗号鍵及び前記端末用暗号鍵と共に、前記端末からの前記取得要求に係るデータの送信要求を前記データベースサーバに送信する送信要求手段と、
前記端末から、前記送信要求手段による送信に応じて取得された前記データをデータベースとして前記データベースサーバへ登録するための登録要求を、当該データベースの、ユーザ及び属性毎の利用許諾条件及び登録許諾条件を示す情報と共に受信する登録要求受信手段と、
前記登録要求受信手段により受信された登録要求に係るデータの前記利用許諾条件及び前記登録許諾条件が、当該データの取得元となったデータベースの登録許諾条件を満たすか否かを、前記条件格納手段に格納された前記登録許諾条件を参照することにより判断する登録可否判断手段と、
前記登録可否判断手段により、前記登録要求に係るデータの前記利用許諾条件及び前記登録許諾条件が、当該データの取得元となったデータベースの登録許諾条件を満たすと判断された場合、当該データを前記データベースサーバへの登録のために暗号化する登録用暗号鍵を生成して、前記端末に送信する登録用暗号鍵生成手段と、を備える
ことを特徴とするデータ管理システム。
【請求項２】
前記データベースサーバと前記鍵管理サーバとは一体に構成されていることを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
前記データベースサーバは、前記データベース格納手段に格納されるデータベースの属性を示す情報を格納する属性情報格納手段を更に備えることを特徴とする請求項１又は２に記載のデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースサーバに格納されているデータベースをセキュアに利用可能に管理するデータ管理システムに関する。
【背景技術】
【０００２】
最近、機密のデータベースを無断で外に持ち出して自宅のパソコンに入れて使用しているうちにファイル交換システム等を通じてインターネット上に流出するという事件が相次いでおり、機密データの保護が危機に晒されている。このような危機を防ぐために、データベースへのアクセス権を制限し、アクセス権のないものに対してデータベースへのアクセスができないようにする技術が用いられている。
【０００３】
その一つに、例えば特許文献１に記載されているように、セキュリティデスクリプタを用いるものがある。但し、この方法では、セキュリティデスクリプタを上書きされたりして、オブジェクトがハッキングされる危険がある。そこで、データベース自体を暗号化して、アクセス権のある者だけに暗号鍵を与えることで、機密のデータベースを保護する方法が用いられている。
【特許文献１】特表２００２−５１７８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、アクセス権のある者だけに暗号鍵を与える方法には、アクセス権を有している者が暗号化されたデータベースを復号して復号されたデータを含む二次的なデータベースを生成して公開してしまえば、当初のデータベースのアクセス権を有さない者まで参照できてしまうという問題点があった。
【０００５】
本発明は、以上の問題点を解決するためになされたものであり、データベースに格納されたデータから生成される二次的なデータベースが公開される場合であっても、適切にアクセス制限を行うことができるデータ管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るデータ利用システムは、ネットワークを介して互いに接続されるデータベースサーバと鍵管理サーバとを含んで構成されるデータ管理システムであって、データベースサーバは、暗号化されたデータベースを格納するデータベース格納手段と、鍵管理サーバから送信されるサーバ用暗号鍵によって、データベース格納手段に格納されたデータベースを復号する復号手段と、鍵管理サーバから送信される演算手順を示す情報に基づいて、復号手段により復号されたデータベースに対して演算を行う演算手段と、演算手段による演算の結果のデータを鍵管理サーバから送信される端末用暗号鍵によって暗号化して出力すると共に、鍵管理サーバから送信されるサーバ用暗号鍵によって、復号手段により復号されたデータベースを再暗号化する暗号化手段と、を備え、鍵管理サーバは、データベースサーバに格納されるデータベースの利用許諾条件及び登録許諾条件を示す情報を、ユーザ及び当該データベースの属性毎に格納する条件格納手段と、端末から送信される、データベースサーバに格納されるデータベースに格納されるデータの取得要求及び当該取得要求に係るユーザを特定する情報を受信する取得要求受信手段と、受信手段により受信された取得要求に係るデータがユーザにより利用可能か否かを、条件格納手段に格納された利用許諾条件を参照することにより判断する利用可否判断手段と、利用可否判断手段により、取得要求に係るデータがユーザにより利用可能と判断された場合、当該データが格納されるデータベースを復号及び暗号化するサーバ用暗号鍵、及び取得されるデータを暗号化する端末用暗号鍵を生成する利用用暗号鍵生成手段と、取得要求に係るデータを取得するための演算手順を示す情報、並びに暗号鍵生成手段により生成されたサーバ用暗号鍵及び端末用暗号鍵と共に、端末からの取得要求に係るデータの送信要求をデータベースサーバに送信する送信要求手段と、端末から、送信要求手段による送信に応じて取得されたデータをデータベースとしてデータベースサーバへ登録するための登録要求を、当該データベースの、ユーザ及び属性毎の利用許諾条件及び登録許諾条件を示す情報と共に受信する登録要求受信手段と、登録要求受信手段により受信された登録要求に係るデータの利用許諾条件及び登録許諾条件が、当該データの取得元となったデータベースの登録許諾条件を満たすか否かを、条件格納手段に格納された登録許諾条件を参照することにより判断する登録可否判断手段と、登録可否判断手段により、登録要求に係るデータの利用許諾条件及び登録許諾条件が、当該データの取得元となったデータベースの登録許諾条件を満たすと判断された場合、当該データをデータベースサーバへの登録のために暗号化する登録用暗号鍵を生成して、端末に送信する登録用暗号鍵生成手段と、を備えることを特徴とする。
【０００７】
本発明に係るデータ利用システムでは、データベースサーバのデータベースに格納されたデータの取得要求は、端末から鍵管理サーバに送信される。鍵管理サーバでは、当該データベースの利用許諾条件を満たすユーザから利用許諾条件を満たす属性のデータに行われた取得要求が行われた場合のみ、当該データの取得のための２つの暗号鍵が生成される。即ち、端末では、当該データベースの利用許諾条件を満たすユーザにより利用許諾条件を満たす属性のデータのみが取得される。
【０００８】
また、データベースサーバに格納されたデータベースから取得されたデータをデータベースサーバに新たなデータベースとして登録する際には、鍵管理サーバにおいて以下の処理が行われる。即ち、鍵管理サーバにおいて、当該新たなデータベースの利用許諾条件及び登録許諾条件が、取得元となったデータベースの登録許諾条件を満たす場合のみ、登録のための登録用暗号鍵が生成される。これにより、データベースに格納されたデータから生成される二次的なデータベースがデータベースサーバに登録されて公開される場合であっても、二次的なデータベースの利用許諾条件がデータの取得元のデータベースの登録許諾条件を踏襲するので、適切にアクセス制限を行うことができる。
【０００９】
データベースサーバと鍵管理サーバとは一体に構成されていることが望ましい。この構成によれば、より簡易な構成で本発明に係るデータ管理システムを実現することができる。
【００１０】
データベースサーバは、データベース格納手段に格納されるデータベースの属性を示す情報を格納する属性情報格納手段を更に備えることが望ましい。この構成によれば、属性情報格納手段に格納されている情報を参照することにより、どのようなデータベースがデータベース格納手段に格納されているかをユーザが知ることができる。
【発明の効果】
【００１１】
本発明では、データベースサーバに格納されたデータベースから取得されたデータをデータベースサーバに新たなデータベースとして登録する際には、鍵管理サーバにおいて以下の処理が行われる。即ち、鍵管理サーバにおいて、当該新たなデータベースの利用許諾条件及び登録許諾条件が、取得元となったデータベースの登録許諾条件を満たす場合のみ、登録のための登録用暗号鍵が生成される。従って、本発明によれば、データベースに格納されたデータから生成される二次的なデータベースがデータベースサーバに登録されて公開される場合であっても、二次的なデータベースの利用許諾条件がデータの取得元のデータベースの登録許諾条件を踏襲するので、適切にアクセス制限を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面とともに本発明によるデータ管理システムの好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１３】
図１に、本発明に係るデータ管理システム１の実施形態を示す。図２に示すように、本実施形態に係るデータ管理システム１は、ＤＢサーバ（データベースサーバ）１００と、鍵管理サーバ２００と、クライアント端末３００とを含んで構成されている。データ管理システム１は、ＤＢサーバ１００に格納されているデータベースを利用可能に管理するシステムである。ＤＢサーバ１００、鍵管理サーバ２００及びクライアント端末３００は、それぞれネットワークＮに接続されており互いにデータの送受信を行うことができる。ネットワークＮは、具体的には例えば、インターネットやイントラネットに相当する。
【００１４】
ＤＢサーバ１００は、データベースを格納しており、クライアント端末３００から鍵管理サーバ２００を介して送られてくる要求（利用請求）に応じて、当該データベースに格納されたデータを出力する装置である。ＤＢサーバ１００に格納されるデータベースは、リレーショナルデータベースである。ＤＢサーバ１００は、図２に示すように、ＤＢサーバ１００は機能的な構成要素として、ＤＢデータベース１０１（データベース格納手段）と、ＤＢサムネイルデータベース１０２（属性情報格納手段）と、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３と、暗号鍵入力ポート１０４と、ＤＢ暗号化モジュール１０５（暗号化手段）と、ＤＢ復号モジュール１０６（復号手段）と、ＤＢ演算手順入力ポート１０７と、ＤＢ演算処理制御モジュール１０８と、データベース管理モジュール１０９と、ＤＢ演算モジュール１１０（演算手段）と、ＤＢ／ＤＢサムネイル入出力ポート１１１と、ＤＢ演算手順ストレージ・モジュール１１２とを備えて構成されている。これらの構成要素について機能については、後述する処理の説明において述べる。ＤＢサーバ１００は、ＣＰＵ（Central Processing Unit）、メモリ、ハードディクス、通信モジュール等のハードウェアを供えており、これらのハードウェアがプログラム等により動作することにより上述した機能的な構成要素が実現される。
【００１５】
鍵管理サーバ２００は、ＤＢサーバ１００に格納されたデータベースのアクセス権を管理するための装置である。図３に示すように、鍵管理サーバ２００は機能的な構成要素として、ＤＢ登録データベース２０１（条件格納手段）と、ＤＢサーバ用ＤＢ利用／登録履歴データベース２０２と、クライアント端末用ＤＢ利用履歴データベース２０３と、ＤＢサーバ用暗号鍵データベース２０４と、クライアント端末用暗号鍵データベース２０５と、ＤＢ利用／登録請求入力ポート２０６（取得要求受信手段、登録要求受信手段）と、データベース管理モジュール２０８と、ＤＢ演算手順検索モジュール２０９と、ＤＢ利用実行可否判断モジュール２１０と、ＤＢ登録条件可否判断モジュール２１１（登録可否判断手段）と、暗号鍵生成モジュール２１２（利用用暗号鍵生成手段、登録用暗号鍵生成手段）、暗号鍵送出モジュール２１３（送信要求手段）と、暗号鍵出力ポート２１４とを備えて構成されている。これらの構成要素について機能については、後述する処理の説明において述べる。鍵管理サーバ２００は、ＣＰＵ、メモリ、ハードディクス、通信モジュール等のハードウェアを供えており、これらのハードウェアがプログラム等により動作することにより上述した機能的な構成要素が実現される。また、鍵管理サーバ２００は、データベースのアクセス権を管理する装置であるので、耐タンパ性の高い構成とすることが望ましい。
【００１６】
クライアント端末３００は、ユーザにより用いられる端末であり、ユーザの操作によるデータベースのデータの生成、参照等に用いられる。クライアント端末３００は、具体的には例えば、ＰＣ（Personal Computer）等に相当する。なお、図１では、クライアント端末３００は１つしか描かれていないが、通常、データ管理システム１には、複数のクライアント端末３００が含まれている。
【００１７】
図４に示すように、クライアント端末３００は機能的な構成要素として、ユーザ・インタフェース３０１と、ＤＢ登録請求モジュール３０２と、ＤＢ利用／登録請求出力ポート３０３と、ＤＢ利用請求モジュール３０４と、ＤＢ演算手順生成モジュール３０５と、暗号鍵入力ポート３０６と、ＤＢ暗号化モジュール３０７と、ＤＢ復号モジュール３０８と、ＤＢストレージ・モジュール３０９と、ＤＢ入出力ポート３１０とを備えて構成されている。クライアント端末３００は、ＣＰＵ、メモリ、ハードディクス、通信モジュール等のハードウェアを供えており、これらのハードウェアがプログラム等により動作することにより上述した機能的な構成要素が実現される。
【００１８】
引き続いて、データ管理システム１で実行される処理について説明する。まず、図４のシーケンス図を用いて、クライアント端末３００において、新規にデータベースが作成されて、ＤＢサーバ１００に登録されるまでの処理を説明する。
【００１９】
まず、クライアント端末３００では、ユーザＡによってクライアント端末３００のユーザ・インタフェース３０１が用いられて、データベースが作成される（Ｓ０１）（以下、ユーザＡによって作成されたデータベースをＤＢ（ａ）と表記する）。ユーザ・インタフェース３０１は、例えば、キーボードやモニタ等のユーザからのデータの入力を受け付けて、ユーザに参照されるようにデータを出力するためのものである。ＤＢ（ａ）は、リレーショナルデータベースである。例えば、ＤＢ（ａ）は、企業の各社員の営業に関するデータを保持している。具体的には、図６（ａ）に示すテーブルを保持しており、当該テーブルには、レコード毎に各属性（フィールド）（“社員ＩＤ”、“担当地区”、“営業成績”）のデータが格納されている。また、ＤＢ（ａ）の属性には、上記以外にも例えば、“氏名”等が含まれていてもよい。
【００２０】
続いて、クライアント端末３００では、ＤＢ（ａ）をＤＢサーバ１００に登録するために、ＤＢ（ａ）のサムネイル（メタデータ）（以下、ＤＢｔｈ（ａ）と表記する）、利用許諾条件（以下、ｕＣ（ａ）と表記する）及び登録許諾条件（以下、ｒＣ（ａ）と表記する）が生成される。
【００２１】
サムネイルとは、データベースの「レコード数、属性名（フィールド名）、データの形式」について定義した情報である。この情報を参照することにより、データベースにどのようなデータが格納されているかを知ることができる。例えば、図６（ａ）に示すＤＢ（ａ）については、｛レコード数：９、属性名：“社員ＩＤ”（文字列）、“担当地区”（カテゴリ、区分：Ａ、Ｂ、Ｃ、“営業成績”（正整数、単位：千円／週）｝というサムネイルＤＢｔｈ（ａ）が生成される。この生成は、例えば、生成されたＤＢ（ａ）が参照されて自動的に行なわれてもよいし、ユーザＡのクライアント端末３００に対する操作により行われてもよい。
【００２２】
また、利用許諾条件とは、データベースの利用することができる権限を示した条件である。利用許諾条件は、ユーザ及びデータベースの属性毎に設定される。具体的には、利用許諾条件を示す情報は、図７（ａ）に示すようなテーブルに情報が格納される。テーブルは、行方向に、ユーザ識別子で特定されるユーザ毎の利用許諾のデータを保持しており、列方向に、各属性（“社員ＩＤ”、“担当地区”、“営業成績”）のデータに対する利用許諾のデータを保持している。
【００２３】
また、利用許諾内容は、「読み込み」「集計・演算」「二次ＤＢへの書き出し」に分かれている。「読み込み」とは、当該データを（ＤＢサーバ１００の）メモリへ読込むことである。「集計・演算」とは、上記「読み込み」によりメモリ上へ読み込まれたデータを集計したり、データに対して演算を行ったりすることである。集計あるいは演算されたデータは、新たな（二次）データベースを構成するデータとされる。「二次ＤＢへの書き出し」は、上記「読み込み」によりメモリ上へ読み込まれたデータを新たな（二次）データベースを構成するデータとして（ＤＢサーバ１００のディスク等に）書き出すことである。利用許諾条件のテーブルには、ユーザ（識別子）及び属性毎に「読み込み」「集計・演算」「二次ＤＢへの書き出し」の各項目に対して、許諾される内容が書き込まれている（従って、許諾されないものについては空欄となる）。許可される内容については、例えば、「読み込み」「二次ＤＢへの書き出し」であれば、“シーケンシャル”“ランダム”等読込み方や、「集計・演算」であれば、“他ＤＢの変数との乗除算”等の演算内容等を特定する具体的な処理内容まで指定されるものである。
【００２４】
例えば、図７（ａ）に示すように“社員ＩＤ”については、ユーザＢ及びユーザＣに対して、「読み込み」及び「二次ＤＢへの書き出し」が許諾されており、ユーザＤに対しては、何も許諾されていない。“営業成績”については、ユーザＢ及びユーザＣに対して、「読み込み」及び「集計・演算」が許諾されており、ユーザＤに対しては、何も許諾されていない。「集計・演算」の許諾内容は、ユーザＢに対しては“担当地区別の標準偏差”の演算が許されているのみであるが、ユーザＣに対しては“担当地区別の標準偏差”の演算に加えて、“他のＤＢの変数との乗除算”“担当地区別の標準偏差”の導出が許諾されている。
【００２５】
また、登録許諾条件とは、データベースから取得されたデータが新たな（二次）データベースの構成要素となった場合に、当該新たなデータベースに設定されるべき利用許諾条件の範囲（上限）を示したものである。また、登録許諾条件ｒＣ（ａ）は、新たなデータベースに設定されるべき登録許諾条件の範囲（上限）にもなっている。登録許諾条件に設定されていない利用態様を許諾するような利用許諾条件や登録許諾要件を設定した二次データベースをＤＢサーバ１００に登録することはできない。具体的には、登録許諾条件を示す情報は、利用許諾条件と同様に、図７（ｂ）に示すようなテーブルに情報が格納される。
【００２６】
利用許諾条件ｕＣ（ａ）及び登録許諾条件ｒＣ（ａ）は、ユーザＡによって、クライアント端末３００のユーザ・インタフェース３０１が用いられて作成される。当該生成された、ＤＢｔｈ（ａ）、ｕＣ（ａ）及びｒＣ（ａ）は、ＤＢ（ａ）に係る各情報として、ＤＢ登録請求モジュール３０２に格納される。
【００２７】
続いて、クライアント端末３００では、ＤＢ登録請求モジュール３０２において、ＤＢｔｈ（ａ）にｕＣ（ａ）及びｒＣ（ａ）が付される。続いて、ＤＢｔｈ（ａ）、ｕＣ（ａ）及びｒＣ（ａ）がＤＢ（ａ）のＤＢサーバ１００への登録要求（登録請求）として、ＤＢ利用／登録請求出力ポート３０３を介して、鍵管理サーバ２００に送信される（Ｓ０２）。なお、この登録要求には、ユーザＡを特定するユーザ識別子が含まれているものとする。この処理は、ユーザＡのクライアント端末３００に対する操作をトリガとして行われる。
【００２８】
鍵管理サーバ２００では、送信された登録要求がＤＢ利用／登録請求入力ポート２０６によって受信される。受信された登録要求は、ＤＢ登録モジュール２０７に出力される。続いて、ＤＢ登録モジュール２０７によって、ＤＢｔｈ（ａ）に対して、データベースを特定するＩＤである“ＩＤ：ＤＢ（ａ）”が生成されて、割り当てられる。続いて、ＤＢ登録モジュール２０７からデータベース管理モジュール２０８を介して、ＤＢ登録データベース２０１に当該ＩＤ及び登録要求に係る情報である｛“ＩＤ：ＤＢ（ａ）”、“ユーザＡ”、“ＤＢｔｈ（ａ）”、“ｕＣ（ａ）”、“ｒＣ（ａ）”｝が格納される（Ｓ０３）。
【００２９】
続いて、ＤＢ登録モジュール２０７から暗号鍵生成モジュール２１２に対して、暗号鍵を作成する指示が行われる。指示を受けた暗号鍵生成モジュール２１２によって、ＤＢ（ａ）用の暗号鍵Ｋ（ａ）が生成される。この暗号鍵は、データベースをＤＢサーバ１００に登録する際にデータベースを暗号化する、登録用暗号鍵である。また、この暗号鍵は、共通鍵であり、この暗号鍵により暗号化されたデータベースは、この暗号鍵によって復号することができる。生成された暗号鍵Ｋ（ａ）は、データベース管理モジュール２０８を介して、ＤＢサーバ用暗号鍵データベース２０４に格納される。この格納の際には、暗号鍵は、例えばＤＢ（ａ）のＩＤである“ＩＤ：ＤＢ（ａ）”に対応付けられる等して、ＤＢ（ａ）に対するものであると識別できるようにされる。また、セキュリティを向上するために、暗号鍵が格納されるＤＢサーバ用暗号鍵データベース２０４及びクライアント端末用暗号鍵データベース２０５は、特別なチップ等の耐タンパなエリアに形成されている。
【００３０】
生成された暗号鍵Ｋ（ａ）は、暗号鍵生成モジュール２１２から暗号鍵送出モジュール２１３に出力される。続いて、暗号鍵は、暗号鍵送出モジュール２１３から、暗号鍵出力ポート２１４を介して、登録要求を送信したクライアント端末３００に送信される（Ｓ０４）。この送信は、セキュリティを向上するために、ＳＳＬ（Secure Socket Layer）等によって保護された状態で行われる。なお、暗号鍵の送付と併せて、鍵管理サーバ２００からクライアント端末３００に、ＤＢ（ａ）のＩＤ“ＩＤ：ＤＢ（ａ）”が通知される。
【００３１】
ユーザＡのクライアント端末３００では、暗号鍵入力ポート３０６によって、鍵管理サーバ２００から送信された暗号鍵Ｋ（ａ）が受信される。続いて、ＤＢ暗号化モジュール３０７によって、ＤＢ（ａ）がＫ（ａ）で暗号化される（以下、暗号化されたデータベースを「ｅｎＤＢ」と表記する）。暗号化されたデータベースであるｅｎＤＢ（ａ）は、ＤＢストレージ・モジュール３０９に格納される。その後、ｅｎＤＢ（ａ）には、“ＩＤ：ＤＢ（ａ）”及びＤＢｔｈ（ａ）が付されて、ＤＢサーバ１００に送信（アップロード）される（Ｓ０５）。
【００３２】
ＤＢサーバ１００では、ＤＢ／ＤＢサムネイル入出力ポート１１１によって、ｅｎＤＢ（ａ）が受信される。受信されたｅｎＤＢ（ａ）は、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３に出力されて、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３によって“ＩＤ：ＤＢ（ａ）”に対応付けられてＤＢデータベース１０１に格納される。また、ＤＢｔｈ（ａ）は、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３によって、“ＩＤ：ＤＢ（ａ）”に対応付けられてＤＢサムネイルデータベース１０２に格納される（Ｓ０６）。以上が、クライアント端末３００において新規にデータベースが作成されて、ＤＢサーバ１００に登録されるまでの処理である。
【００３３】
以降の説明では、ユーザＢが、ユーザＡのクライアント端末３００とは別のクライアント端末３００によって、データベースＤＢ（ｂ）を生成して、上記と同様の処理によって、ｅｎＤＢ（ｂ）をＤＢサーバ１００に登録したものとする。ＤＢ（ｂ）は、ユーザＡと同じ企業の各社員の人事に関するデータを保持している。具体的には、図６（ｂ）に示すテーブルを保持しており、当該テーブルには、レコード毎に各属性（“社員ＩＤ”、“住所”、“人事評価”）のデータが格納されている。また、ＤＢ（ｂ）の属性には、上記以外にも例えば、“氏名”等が含まれていてもよい。また、ＤＢ（ｂ）の利用許諾条件ｕＣ（ｂ）は図８（ａ）に示されるものであり、ＤＢ（ｂ）の登録許諾条件ｒＣ（ｂ）は図８（ｂ）に示されるものである。
【００３４】
引き続いて、図９のシーケンス図を用いて、ユーザＡ及びユーザＢとは異なるユーザＣのクライアント端末３００によって、ＤＢサーバ１００からＤＢ（ａ）及びＤＢ（ｂ）のデータが取得されて、新たなデータベースが生成されるまでの処理を説明する。
【００３５】
まず、クライアント端末３００では、ユーザ・インタフェース３０１に対するユーザＣの操作によって、ＤＢサーバ１００にデータベースの参照要求が送信される（Ｓ１１）。
【００３６】
ＤＢサーバ１００では、クライアント端末３００から送信された参照要求がＤＢ／ＤＢサムネイル入出力ポート１１１によって受信される。参照要求は、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３に出力される。続いて、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３によって、ＤＢサムネイルデータベース１０２からデータベースのサムネイルが取得されて、ＤＢ／ＤＢサムネイル入出力ポート１１１を介して、ユーザＣのクライアント端末３００に送信される（Ｓ１２）。送信されるサムネイルには、ＤＢｔｈ（ａ）及びＤＢｔｈ（ｂ）が含まれる。
【００３７】
ユーザＣのクライアント端末３００では、ＤＢサーバ１００から送信されたサムネイルが受信されて、ユーザＣが参照できるようにユーザ・インタフェース３０１によって画面表示等の出力が行われる。表示されたサムネイルのうちのＤＢｔｈ（ａ）及びＤＢｔｈ（ｂ）に基づいて、ユーザＣによって、ＤＢ（ａ）及びＤＢ（ｂ）からデータを取得して、図１０に示すようなテーブルを有するデータベースＤＢ（ｃ）を生成する演算手順Ｆ（ｃ）を示す情報が生成される（Ｓ１３）。
【００３８】
ＤＢ（ｃ）は、ユーザＡ及びユーザＢと同じ企業の社員の担当地区毎に人事評価の適切さを表す“実力指数”のデータを保持したものである。“実力指数”は、社員毎に“営業成績”の数値から“人事評価”の数値を割ることにより算出される値である。ユーザＣは、例えば社長室長であって、人事制度の改善と営業体制の強化とに取り組んでいるとする。ユーザＣは、営業部長であるユーザＡの作成した営業に係るデータベースと、人事部長であるユーザＢの作成した人事に係るデータベースとから、営業成績に対する人事評価に社員毎の目立った乖離が無いかどうかや営業部員の配置に問題がないかどうかを検証しようとする場合に上記のＤＢ（ｃ）が生成される。
【００３９】
演算手順Ｆ（ｃ）は例えば、以下のようなものである。
（１）ＤＢ（ａ）[フィールド｛“社員ＩＤ”，“担当地区”，“営業成績”｝×レコード｛“ｎ”（ｎ＝１−９）｝]をシーケンシャルに読み出す。
（２）ＤＢ（ｂ）[フィールド｛“社員ＩＤ”，“人事評価”｝×レコード｛“ｎ”（ｎ＝１−９）｝]をシーケンシャルに読み出す。
（３）“実力指数”＝ＤＢ（ａ）｛“営業成績”｝÷ＤＢ（ｂ）｛“人事評価”｝を“社員ＩＤ”をキーとして計算する。
（４）ＤＢ（ｃ）[フィールド｛“担当地区”，“実力指数”｝×レコード｛“ｍ”（ｍ＝１−９）｝]に“担当地区”、“実力指数”を書き込む。
これらの演算手順Ｆ（ｃ）は、例えば、リレーショナルデータベースに対する操作等を行うＳＱＬにより生成される。
【００４０】
Ｆ（ｃ）の生成は、ユーザＣがクライアント端末３００のユーザ・インタフェース３０１を操作することによって行われ、生成されたＦ（ｃ）は、ＤＢ演算手順生成モジュール３０５に格納される。続いて、ユーザＣの操作をトリガとして、ＤＢ利用請求モジュール３０４によって、ＤＢ演算手順生成モジュール３０５からＦ（ｃ）が取得されて、当該Ｆ（ｃ）と共にＤＢ（ａ）及びＤＢ（ｂ）のデータの取得要求（利用許諾請求）が、ＤＢ利用／登録請求出力ポート３０３を介して、鍵管理サーバ２００に送信される（Ｓ１４）。なお、取得要求には、ユーザＣからの要求であることを特定できるように、ユーザＣを特定するユーザ識別子が付されている。
【００４１】
続いて、鍵管理サーバ２００では、当該取得要求が、ＤＢ利用／登録請求入力ポート２０６によって受信される。取得要求に含まれるＦ（ｃ）は、ＤＢ利用／登録請求入力ポート２０６からＤＢ演算手順検索モジュール２０９及びＤＢ利用実行可否判断モジュール２１０に出力される。ＤＢ演算手順検索モジュール２０９では、Ｆ（ｃ）に基づいて、当該Ｆ（ｃ）によりアクセスされるデータベースを検出して、ＤＢ演算手順検索モジュール２０９を介してＤＢ登録データベース２０１に対して、当該データベースに関する利用許諾条件に関する情報の取得要求を行う。上記の例の場合は、ＤＢ（ａ）及びＤＢ（ｂ）に関する利用許諾条件、即ち、ｕＣ（ａ）及びｕＣ（ｂ）の取得要求が行われる。当該取得要求によって取得された利用許諾条件に関する情報は、データベース管理モジュール２０８からＤＢ利用実行可否判断モジュール２１０に入力される。
【００４２】
続いて、ＤＢ利用実行可否判断モジュール２１０によって、Ｆ（ｃ）により特定される取得要求に係るデータが、ユーザＣにより利用可能か否かを、ｕＣ（ａ）及びｕＣ（ｂ）を参照して判断される（Ｓ１５）。この判断は、論理演算を行うことにより行われる。利用不可であると判断された場合は、鍵管理サーバ２００からクライアント端末３００にデータが取得できない旨が通知される（Ｓ１６）。
【００４３】
図７（ａ）及び図８（ａ）に示すように、ユーザＣに関しては、
（１）ＤＢ（ａ）の“社員ＩＤ”，“担当地区”，“営業成績”のシーケンシャルな読み込み
（２）ＤＢ（ａ）の“担当地区”のシーケンシャルな書き出し
（３）ＤＢ（ａ）の“営業成績”の他のデータベースの変数との乗除算
（４）ＤＢ（ｂ）の“社員ＩＤ”，“人事評価”のシーケンシャルな読み込み
（５）ＤＢ（ｂ）の“人事評価”の他のデータベースの変数との乗除算
が許諾されているので、Ｆ（ｃ）により特定される取得要求に係るデータが、ユーザＣにより利用可能と判断される。なお、上記の何れかの許諾がなされていない場合は、利用不可であると判断される。
【００４４】
ＤＢ利用実行可否判断モジュール２１０により利用可能と判断されると、その旨が暗号鍵生成モジュール２１２に通知される。続いて、暗号鍵生成モジュール２１２により、端末用暗号鍵ｋ（ｃ）が生成される。端末用暗号鍵は、Ｆ（ｃ）により生成されるＤＢ（ｃ）を暗号化及び復号するための暗号鍵である。更に、ＤＢ（ｃ）を再暗号化するための暗号鍵ｋ１（ｃ）が生成される。生成された暗号鍵ｋ（ｃ）／ｋ１（ｃ）は、暗号鍵送出モジュール２１３に出力され、暗号鍵出力ポート２１４からユーザＣのクライアント端末３００に送信される（Ｓ１７）。また、生成された暗号鍵ｋ（ｃ）／ｋ１（ｃ）は、データベース管理モジュール２０８を介して、クライアント端末用暗号鍵データベース２０５に格納される。
【００４５】
また、暗号鍵生成モジュール２１２では、ｅｎＤＢ（ａ）及びｅｎＤＢ（ｂ）を復号するためのサーバ用暗号鍵Ｋ（ａ）及びＫ（ｂ）が生成される。なお、ここでの暗号鍵Ｋ（ａ）及びＫ（ｂ）の生成の意味には、既に生成された暗号鍵Ｋ（ａ）及びＫ（ｂ）をＤＢサーバ用暗号鍵データベース２０４等から取得することも含む（以下、同様）。更に、復号されたＤＢ（ａ）及びＤＢ（ｂ）を再暗号化するための暗号鍵Ｋ１（ａ）及びＫ１（ｂ）が生成される。生成された暗号鍵ｋ（ｃ）、Ｋ（ａ）／Ｋ１（ａ）及びＫ（ｂ）／Ｋ１（ｂ）は暗号鍵送出モジュール２１３に出力され、暗号鍵送出モジュール２１３によって暗号鍵出力ポート２１４を介してＤＢサーバ１００に送信される（Ｓ１８）。また、生成された暗号鍵Ｋ（ａ）／Ｋ１（ａ）及びはＫ（ｂ）／Ｋ１（ｂ）は、データベース管理モジュール２０８を介して、ＤＢサーバ用暗号鍵データベース２０４に格納される。
【００４６】
暗号鍵がＤＢサーバ１００に送信される際には、取得要求に係るデータを取得するための演算手順を示したＦ（ｃ）と共に、Ｆ（ｃ）により生成されるＤＢ（ｃ）をユーザＣのクライアント端末３００へ送信する送信要求もＤＢサーバ１００に送信される。当該送信が行われると、ユーザＣからの取得要求の事実、Ｆ（ｃ）の内容、Ｋ（ａ）／Ｋ１（ａ）及びＫ（ｂ）／Ｋ１（ｂ）を送出したことが、ＤＢサーバ用ＤＢ利用／登録履歴データベース２０２に格納される（Ｓ１９）。また、ユーザＣからの取得要求の事実、Ｆ（ｃ）の内容、ｋ（ｃ）／ｋ１（ｃ）を送出したことが、クライアント端末用ＤＢ利用履歴データベース２０３に格納される（Ｓ１９）。
【００４７】
ＤＢサーバ１００では、送信された暗号鍵ｋ（ｃ）、Ｋ（ａ）／Ｋ１（ａ）及びＫ（ｂ）／Ｋ１（ｂ）が暗号鍵入力ポート１０４によって受信され、Ｆ（ｃ）を含む送信要求がＤＢ演算手順入力ポート１０７によって受信される。続いて、暗号鍵Ｋ（ａ）及びＫ（ｂ）がＤＢ復号モジュール１０６に出力される。また、暗号鍵ｋ（ｃ）、Ｋ１（ａ）及びＫ１（ｂ）は、ＤＢ暗号化モジュール１０５に出力される。続いて、ＤＢ復号モジュール１０６では、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３を介してＤＢデータベース１０１から、ｅｎＤＢ（ａ）及びｅｎＤＢ（ｂ）が取得される。続いて、ＤＢ復号モジュール１０６によってｅｎＤＢ（ａ）及びｅｎＤＢ（ｂ）がＫ（ａ）及びＫ（ｂ）で復号されて、ＤＢ（ａ）及びＤＢ（ｂ）がＤＢサーバ１００の演算メモリ上に展開される。
【００４８】
続いて、ＤＢ演算手順入力ポート１０７からＦ（ｃ）がＤＢ演算手順ストレージ・モジュール１１２を介してＤＢ演算モジュール１１０に入力される。ＤＢ演算モジュール１１０によって、ＤＢサーバ１００の演算メモリ上のＤＢ（ａ）及びＤＢ（ｂ）に対して、Ｆ（ｃ）に従う演算処理が行われ、ＤＢ（ｃ）が生成される。生成されたＤＢ（ｃ）は、ＤＢ暗号化モジュール１０５に出力され、暗号鍵ｋ（ｃ）で暗号化される。暗号化されたｅｎＤＢ（ｃ）は、ユーザＣのクライアント端末３００に送信される（Ｓ２０）。
【００４９】
また、復号されたＤＢ（ａ）及びＤＢ（ｂ）も、ＤＢ暗号化モジュール１０５によって、暗号鍵Ｋ１（ａ）及びＫ１（ｂ）で再暗号化されて、ＤＢデータベース１０１に再び格納される。なお、Ｋ（ａ）及びＫ（ｂ）は廃棄される。また、上記のデータベースの入出力の処理は、ＤＢ演算手順入力ポート１０７により受信された送信要求に基づいて、ＤＢ演算処理制御モジュール１０８及びデータベース管理モジュール１０９等により行われる。
【００５０】
一方、クライアント端末３００では、暗号鍵入力ポート３０６によって、鍵管理サーバ２００から送信される暗号鍵ｋ（ｃ）／ｋ１（ｃ）が受信される。受信されたｅｎＤＢ（ｃ）は、ＤＢストレージ・モジュール３０９に出力される。また、ＤＢ入出力ポート３１０によって、ＤＢサーバ１００から送信されるｅｎＤＢ（ｃ）が受信される。暗号鍵ｋ（ｃ）はＤＢ復号モジュール３０８に出力され、暗号鍵ｋ１（ｃ）はＤＢ暗号化モジュール３０７に出力される。続いて、ＤＢ復号モジュール３０８によって、ｅｎＤＢ（ｃ）が復号されて、ＤＢ（ｃ）としてクライアント端末３００において利用可能となる。クライアント端末３００において、使用後、ＤＢ（ｃ）又はその改変ファイルが閉じられると、ＤＢ暗号化モジュール３０７によって、暗号鍵ｋ１（ｃ）で再暗号化される（Ｓ２１）。
【００５１】
再暗号化されたＤＢ（ｃ）を、復号するにはｋ１（ｃ）を鍵管理サーバ２００に要求する。当該要求を受けた鍵管理サーバ２００では、上述した処理と同様に、暗号鍵ｋ１（ｃ）及びｋ２（ｃ）が生成されて、クライアント端末３００に送信される（Ｓ２２）。鍵管理サーバ２００では、ユーザＣからの取得要求の事実、ｋ１（ｃ）／ｋ２（ｃ）を送出したことが、クライアント端末用ＤＢ利用履歴データベース２０３に格納される（Ｓ２３）。以上が、ユーザＣのクライアント端末３００によって、ＤＢサーバ１００からＤＢ（ａ）及びＤＢ（ｂ）のデータが取得されて、新たなデータベースが生成されるまでの処理である。
【００５２】
なお、上述した暗号鍵を更新する過程を省略して、暗号鍵ｋ（ｃ）を耐タンパなエリアに保管して反復使用することで簡易な再暗号化を行うシステムも考えられる。確かに、仮に暗号鍵ｋ（ｃ）をハッキングされても、被害はＤＢ（ｃ）とその改変ファイルに及ぶだけで大きく広がるおそれは少なく、ＤＢ（ｃ）自体もｕＣ（ａ）及びｕＣ（ｂ）というフィルタを通過しているので機密性がそれほど高いものではないと考えられる。
【００５３】
しかし、暗号化更新の過程を省くことは暗号鍵ハッキングの危険性を増すことには違いがなく、クライアント端末３００でのデータベース使用状況を鍵管理サーバ２００の履歴に残さないことも事後監査の可能性を閉ざすことには違いがない。また、機密性とは相対的なもので、あるアクセス権にとっては機密性が高くないことでも、他のアクセス権にとっては高いということもありえるので注意が必要である。
【００５４】
逆に上述した暗号鍵更新の過程が担保されているのであれば、これを利用して例えば、ユーザＣがユーザＤのクライアント端末３００にｅｎＤＢ（ｃ）を転送し、ユーザＤが鍵管理サーバ２００にｋ１（ｃ）を要求し、鍵管理サーバ２００は要求に基づいて「ユーザＤのアクセス権」を参照して、ｋ１（ｃ）発行の可否を判断して、可ならｋ１（ｃ）をユーザＤのクライアント端末３００に送るファイル交換システムも考えられる。
【００５５】
しかし、ユーザＣがＤＢ（ｃ）を他のユーザの利用に供したいのであれば、ＤＢ（ｃ）を鍵管理サーバ２００に登録すれば済むことである。あえて、上記のようなファイル交換システムを併用する必要はなく、併用すればシステムを複雑にしてセキュリティホールを拡大するおそれがある。
【００５６】
引き続いて、図１１のシーケンス図を用いて、上述のように生成されたＤＢ（ｃ）あるいはその改変ファイルが、二次データベースとしてＤＢサーバ１００に登録されるまでの処理を説明する。
【００５７】
まず、上述した処理と同様に、ユーザＣのクライアント端末３００では、ＤＢ（ｃ）をＤＢサーバ１００に登録するために、ＤＢ（ｃ）のサムネイルＤＢｔｈ（ｃ）、利用許諾条件ｕＣ（ｃ）及び登録許諾条件ｒＣ（ｃ）が生成される。図１２（ａ）に利用許諾条件ｕＣ（ｃ）を、図１２（ｂ）に登録許諾条件ｒＣ（ｃ）をそれぞれ示す。
【００５８】
続いて、クライアント端末３００では、ＤＢ登録請求モジュール３０２において、ＤＢｔｈ（ｃ）にｕＣ（ｃ）及びｒＣ（ｃ）が付される。続いて、ＤＢｔｈ（ｃ）、ｕＣ（ｃ）及びｒＣ（ｃ）がＤＢ（ｃ）のＤＢサーバ１００への登録要求として、ＤＢ利用／登録請求出力ポート３０３を介して、鍵管理サーバ２００に送信される（Ｓ４１）。
【００５９】
鍵管理サーバ２００では、送信された登録要求がＤＢ利用／登録請求入力ポート２０６によって受信される。受信された登録要求は、ＤＢ登録条件可否判断モジュール２１１に出力される。ＤＢ登録条件可否判断モジュール２１１では、ｕＣ（ｃ）及びｒＣ（ｃ）が、ＤＢ（ｃ）の取得元となったＤＢ（ａ）のｒＣ（ａ）及びＤＢ（ｂ）のｒＣ（ｂ）を満たすか否かが、ＤＢ登録データベース２０１に格納されたｒＣ（ａ）及びｒＣ（ｂ）が参照されて判断される（Ｓ４２）。この判断は、論理演算を行うことにより行われる。また、ＤＢ（ｃ）が、ＤＢ（ａ）及びＤＢ（ｂ）からデータに基づいて生成されていることは、例えば、ＤＢ（ｃ）が生成される際に用いられたＦ（ｃ）が参照されて判断される。なお、上記の判断の対象となるのは、ＤＢ（ａ）あるいはＤＢ（ｂ）からそのまま利用されている属性のデータ（ＤＢ（ｃ）では“担当地区”）のみであり、ＤＢ（ｃ）を生成される際に新たに生成された属性（ＤＢ（ｃ）では“実力指数”）については、判断の対象外となる。
【００６０】
判断対象となる属性の“担当地区”は、ＤＢ（ａ）から取得されたものであるので、図１２に示すｕＣ（ｃ）及びｒＣ（ｃ）の“担当地区”に係る許諾条件と図７（ｂ）に示すｒＣ（ａ）の“担当地区”に係る許諾条件とが比較される。“担当地区”のデータに関しては、ｒＣ（ａ）はユーザＣ以外のユーザには、「読み込み」「集計・演算」「二次ＤＢへの書き出し」を許諾しておらず、ｕＣ（ｃ）及びｒＣ（ｃ）の何れもデータの所有者であったユーザＡ以外のユーザには、「読み込み」「集計・演算」「二次ＤＢへの書き出し」を許諾していないので、各ユーザ及び属性の各項目について比較論理演算の結果、条件を満たすと判断される。
【００６１】
ここで、例えば、ｕＣ（ｃ）又はｒＣ（ｃ）において、ユーザＢに対して、“担当地区”に係るデータについて、「読み込み」「集計・演算」「二次ＤＢへの書き出し」の何れかが許諾されていた場合、ｒＣ（ａ）を満たさないので、比較論理演算の結果、条件を満たさないと判断される。このように判断された場合、鍵管理サーバ２００からクライアント端末３００にＤＢ（ｃ）の登録ができない旨が通知される（Ｓ４３）。
【００６２】
この判断は、ＤＢ（ｃ）が、他のデータベースから当該データベースを作成したユーザがアクセス権のある者にしか公開したくないデータを取得していた場合、それらのデータがＤＢ（ｃ）の登録によって開示されることを防いでいる。
【００６３】
条件を満たすと判断された場合は、上述したＤＢ（ａ）の登録時と同様に以下の処理が行われる。まず、ＤＢ登録モジュール２０７によって、ＤＢｔｈ（ｃ）に対して、データベースを特定するＩＤである“ＩＤ：ＤＢ（ｃ）”が生成されて、割り当てられる。続いて、ＤＢ登録モジュール２０７からデータベース管理モジュール２０８を介して、ＤＢ登録データベース２０１に当該ＩＤ及び登録要求に係る情報である｛“ＩＤ：ＤＢ（ｃ）”、“ユーザＣ”、“ＤＢｔｈ（ｃ）”、“ｕＣ（ｃ）”、“ｒＣ（ｃ）”｝が格納される（Ｓ４４）。
【００６４】
続いて、ＤＢ登録モジュール２０７から暗号鍵生成モジュール２１２に対して、暗号鍵を作成する指示が行われる。指示を受けた暗号鍵生成モジュール２１２によって、ＤＢ（ｃ）用の暗号鍵Ｋ（ｃ）が生成される。この暗号鍵は、データベースをＤＢサーバ１００に登録する際にデータベースを暗号化する、登録用暗号鍵である。また、この暗号鍵は、共通鍵である。生成された暗号鍵Ｋ（ｃ）は、データベース管理モジュール２０８を介して、ＤＢサーバ用暗号鍵データベース２０４及びクライアント端末用暗号鍵データベース２０５に格納される。
【００６５】
生成された暗号鍵Ｋ（ｃ）は、暗号鍵生成モジュール２１２から暗号鍵送出モジュール２１３に出力される。続いて、暗号鍵は、暗号鍵送出モジュール２１３から、暗号鍵出力ポート２１４を介して、登録要求を送信したクライアント端末３００に送信される（Ｓ４５）。なお、暗号鍵の送付と併せて、鍵管理サーバ２００からクライアント端末３００に、ＤＢ（ｃ）のＩＤ“ＩＤ：ＤＢ（ｃ）”が通知される。上記の処理が行われると、ユーザＣからの登録要求の事実、Ｋ（ｃ）を送出したことが、クライアント端末用ＤＢ利用履歴データベース２０３に格納される（Ｓ４６）。
【００６６】
ユーザＣのクライアント端末３００では、暗号鍵入力ポート３０６によって、鍵管理サーバ２００から送信された暗号鍵Ｋ（ｃ）が受信される。続いて、ＤＢ暗号化モジュール３０７によって、ＤＢ（ｃ）がＫ（ｃ）で暗号化される。暗号化されたデータベースであるｅｎＤＢ（ｃ）は、ＤＢストレージ・モジュール３０９に格納される。その後、ｅｎＤＢ（ｃ）には、“ＩＤ：ＤＢ（ｃ）”及びＤＢｔｈ（ｃ）が付されて、ＤＢサーバ１００に送信（アップロード）される（Ｓ４７）。
【００６７】
ＤＢサーバ１００では、ＤＢ／ＤＢサムネイル入出力ポート１１１によって、ｅｎＤＢ（ｃ）が受信される。受信されたｅｎＤＢ（ｃ）は、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３に出力されて、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３によって“ＩＤ：ＤＢ（ｃ）”に対応付けられてＤＢデータベース１０１に格納される。また、ＤＢｔｈ（ｃ）は、ＤＢ／ＤＢサムネイルストレージ・モジュール１０３によって、“ＩＤ：ＤＢ（ｃ）”に対応付けられてＤＢサムネイルデータベース１０２に格納される（Ｓ４８）。以上が、クライアント端末３００において新規にデータベースが作成されて、ＤＢサーバ１００に登録されるまでの処理である。
【００６８】
上記の処理によりＤＢ（ａ）及びＤＢ（ｂ）から生成された二次データベースであるＤＢ（ｃ）がＤＢサーバ１００に登録され公開される際には、ＤＢ（ａ）及びＤＢ（ｂ）に設定された権限を継承した、利用許諾条件が設定されるので、適切にアクセス制限を行うことができる。
【００６９】
また、本実施形態では、ＤＢサーバ１００に登録されるデータベースは利用されるとき以外は常に暗号化されているので、暗号鍵を所持しているものしか参照することができず、高いセキュリティを保つことができる。また、暗号鍵は暗号化のたびに更新されるので、暗号鍵そのものをハッキングしても解読の用をなさない。また、暗号鍵と引き換えに、データベースの利用及び登録の履歴が残るので、事後監査が容易である。
【００７０】
即ち、本実施形態によれば、（１）一旦クライアント端末３００にダウンロードしたデータベース及びその改変ファイル（上書き保存、名前を変えて保存、識別子を変えて保存したファイルなど）は、メモリに入れて持ち出したり、ネットを通じて転送したり、プリンタに出力したりしても暗号化されていて解読できない。（２）暗号化されたデータベースであっても、内容を秘匿したままで相互に演算処理を施して、所望する二次データベースを得ることができる。（３）ハッキングした暗号鍵でデータベースを開けようとしたり、一旦入手した暗号鍵を保存しておいて別の機会にデータベースを開けようとしたりしても、データベースは常に更新された暗号鍵で再暗号化されているので開けることはできない。
【００７１】
また、本実施形態のように、ＤＢサーバ１００が、ＤＢデータベース１０１に格納されているデータベースの属性を示す情報を含むサムネイルを格納するＤＢサムネイルデータベース１０２を備えることとすれば、ＤＢデータベース１０１に格納されているデータベースが暗号化されているにもかかわらず、上述したようにクライアント端末３００のユーザが、どのようなデータベースがデータベース格納手段に格納されているかを知ることができる。
【００７２】
なお、本実施形態では、ＤＢサーバ１００と鍵管理サーバ２００とは別々の構成にしていたが、それらが一体に構成されていることとしてもよい。この構成によれば、より簡易な構成で本発明に係るデータ管理システム１を実現することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係るデータ管理システムの構成を示す図である。
【図２】本発明の実施形態に係るＤＢサーバの構成を示す図である。
【図３】本発明の実施形態に係る鍵管理サーバの構成を示す図である。
【図４】本発明の実施形態に係るクライアント端末の構成を示す図である。
【図５】本発明の実施形態に係るデータ管理システムにおける処理を示すシーケンス図である。
【図６】実施形態に係るデータベースのテーブルを示す図である。
【図７】データベースの利用許諾条件及び登録許諾条件を示す図である。
【図８】データベースの利用許諾条件及び登録許諾条件を示す図である。
【図９】本発明の実施形態に係るデータ管理システムにおける別の処理を示すシーケンス図である。
【図１０】複数のデータベースから生成されたデータベースのテーブルを示す図である。
【図１１】本発明の実施形態に係るデータ管理システムにおける別の処理を示すシーケンス図である。
【図１２】データベースの利用許諾条件及び登録許諾条件を示す図である。
【符号の説明】
【００７４】
１…データ管理システム、１００…ＤＢサーバ、１０１…ＤＢデータベース、１０２…ＤＢサムネイルデータベース、１０３…ＤＢ／ＤＢサムネイルストレージ・モジュール、１０４…暗号鍵入力ポート、１０５…ＤＢ暗号化モジュール、１０６…ＤＢ復号モジュール、１０７…ＤＢ演算手順入力ポート、１０８…ＤＢ演算処理制御モジュール、１０９…データベース管理モジュール、１１０…演算モジュール、１１１…ＤＢ／ＤＢサムネイル入出力ポート、１１２…ＤＢ演算手順ストレージ・モジュール、２００…鍵管理サーバ、２０１…ＤＢ登録データベース、２０２…ＤＢサーバ用ＤＢ利用／登録履歴データベース、２０３…クライアント端末用利用履歴データベース、２０４…ＤＢサーバ用暗号鍵データベース、２０５…クライアント端末用暗号鍵データベース、２０６…ＤＢ利用／登録請求入力ポート、２０７…ＤＢ登録モジュール、２０８…データベース管理モジュール、２０９…ＤＢ演算手順検索モジュール、２１０…ＤＢ利用実行可否判断モジュール、２１１…登録条件可否判断モジュール、２１２…暗号鍵生成モジュール、２１３…暗号鍵送出モジュール、２１４…暗号鍵出力ポート、３００…クライアント端末、３０１…ユーザ・インタフェース、３０２…ＤＢ登録請求モジュール、３０３…ＤＢ利用／登録請求出力ポート、３０４…ＤＢ利用請求モジュール、３０５…ＤＢ演算手順生成モジュール、３０６…暗号鍵入力ポート、３０７…ＤＢ暗号化モジュール、３０８…ＤＢ復号モジュール、３０９…ＤＢストレージ・モジュール、３１０…入出力ポート、Ｎ…ネットワーク。
【図１】
2008124837.tif 000003
【図２】
2008124837.tif 000004
【図３】
2008124837.tif 000005
【図４】
2008124837.tif 000006
【図５】
2008124837.tif 000007
【図６】
2008124837.tif 000008
【図７】
2008124837.tif 000009
【図８】
2008124837.tif 000010
【図９】
2008124837.tif 000011
【図１０】
2008124837.tif 000012
【図１１】
2008124837.tif 000013
【図１２】
2008124837.tif 000014