説明

電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラム

【課題】コンピュータシステムにおいて、データベースに登録されるデータのセキュリティの一層の向上を図り得る、電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラムを提供する。
【解決手段】項目データを含むデータセットを管理する電子データ管理システム10は、サーバ装置20とデータベース装置30とを備える。データベース装置30は、予めデータセットの種類毎に設定され、且つ各項目データに対応した係数を含む係数セットを格納する。サーバ装置20は、データセットが入力されると、その種類に基づいて、対応する係数セットを取得するデータベース検索部203と、入力されたデータセットに固有の番号を採番し、各項目データを、取得された係数セットにおいて対応する係数と採番した番号とから算出した算出値と共に、データベース装置30における別々のテーブルに登録するデータ登録部207とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースなどに登録されている電子データを管理するための、電子データ管理システム、サーバ装置、電子データ管理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットが世界的に普及し、通信速度の高速化がかなりのスピードで進んでいる。その中で情報システムの利用形態は、分散処理技術や仮想化技術の進展により、これまでの高価な高性能機を単独で使用する方式から、複数台の普及機を組み合わせて必要な処理能力を得る方式、高性能機上で複数の環境を同時稼動させる方式など、処理に必要なリソース量を臨機応変に変更できる方式を採用する方向に進んでいる。
【0003】
また、景気悪化に伴い情報システムへの投資が鈍化している昨今では、これまで各企業が個別で構築利用してきた情報システムをリプレースする際、コスト高になりがちな個別システムの構築よりも、短期間の構築が可能であり、同時に構築及び運用にかかるコストが低い情報システムが求められている。
【0004】
このような背景から、各企業が情報システムリソースを必要な時に必要な分だけ確保でき、同時に、情報システム運用のための人的リソースを最低限に抑えることができる、クラウドコンピューティングが登場している。クラウドコンピューティングは、今後さらに普及、発展していくものと予想されている。
【0005】
但し、クラウドコンピューティングは、まだまだ過渡期ともいえる状態であり、非特許文献1は、クラウドコンピューティングにおける様々な問題点を指摘している。例えば、各企業が自社で運用しているコンピュータシステムをクラウドコンピューティングへ移行する場合、自社で管理していた各データをクラウドサービス上に預けることになる。このため、各企業のシステム管理者は、預けるデータに対して、機密性(他利用者とのデータ混合、漏洩、盗難など)、及び完全性(データ欠損及び消失、削除データの消滅担保など)といった点で懸念を有している。
【0006】
特に、クラウドコンピューティングでは、処理能力のスケーラビリティがフレキシブルにコントロールされると同時に、各処理が仮想化環境を使用したマルチテナントで実行される事になるため、他利用者との境界が利用者側からの視点では曖昧に見えてしまう。このため、データの混合による情報漏洩を懸念する状況が高まっており、早期に、クラウドコンピューティングを提供するシステムが、情報漏えいなどの事故が起き難い環境にあること、利用者が安心してクラウドコンピューティングを利用できる状況にあることを明示する必要がある。
【0007】
このような状況に対応するため、データを管理する上で、現在取りうる手法としては、データを格納したハードディスク全体を暗号化する手法、データベース上で、利用アカウント単位で暗号鍵を設定して暗号化を行い、利用アカウント毎に、暗号鍵の管理表又はロールを設定する手法、などが挙げられる。
【0008】
更に、データの安全をよりいっそう確保するため、例えば、特許文献1、特許文献2、及び特許文献3は、格納されるデータを、個人情報に特化した個人識別部分と非識別部分とに分割し、分割されたデータを一意に結合するための情報を暗号鍵などで秘匿化する技術を開示している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−34423号公報
【特許文献2】特開2005−182275号公報
【特許文献3】特開2007−317075号公報
【非特許文献】
【0010】
【非特許文献1】「クラウド・コンピューティング社会の基盤に関する研究会 報告書」、[online]、平成22年3月24日、独立行政法人情報処理推進機構、インターネット<URL: http://www.ipa.go.jp/about/research/2009cloud/pdf/100324_cloud.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0011】
ところで、特許文献1に開示された技術では、登録対象となるデータは、個人識別部分と非識別部分とに分割されるに過ぎず、登録対象となるデータの一意性の消失が不十分である。このため、特許文献1に開示された技術は、個人情報に特化するのであれば問題ないが、企業が保有する機密性の高い情報、例えば、経理情報、受発注情報に対して適用できないという問題がある。
【0012】
つまり、特許文献1に開示された技術は、企業のデータ管理技術としては適用できず、この技術では、企業の情報システムの置き換えを進めるためのクラウドコンピューティングなどで必要とされている機密性を満たすことは困難である。
【0013】
一方、特許文献2又は特許文献3に開示された技術では、分割されたデータ間の関係を示す識別子は暗号化されるため、特許文献1に開示された技術を用いた場合よりも、分割されたデータの一意性の消失は大きく、個人情報以外への適用も可能であると考えられる。
【0014】
しかしながら、特許文献2又は特許文献3に開示された技術では、分割された各データは一意性が消失された状態で格納されるが、分割の程度が大まかである場合、分割によって得られた各データがまとまって格納されている場合等に、データが漏洩しやすいという問題がある。
【0015】
本発明の目的の一例は、上記問題を解消し、コンピュータシステムにおいて、データベースに登録されるデータのセキュリティの一層の向上を図り得る、電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0016】
上記目的を達成するため、本発明の一側面における電子データ管理システムは、複数の項目データを含むデータセットを管理するための電子データ管理システムであって、
サーバ装置と、データベース装置と、を備え、
前記データベース装置は、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む係数セットを格納し、
前記サーバ装置は、
データセットが入力されると、入力されたデータセットの種類に基づいて、前記データベース装置から、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、ことを特徴とする。
【0017】
上記目的を達成するため、本発明の一側面におけるサーバ装置は、複数の項目データを含むデータセットを管理するためのサーバ装置であって、
データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、
ことを特徴とする。
【0018】
また、上記目的を達成するため、本発明の一側面における電子データ管理方法は、複数の項目データを含むデータセットを管理するための方法であって、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を有する、ことを特徴とする。
【0019】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、複数の項目データを含むデータセットの管理をコンピュータによって実行するためのプログラムであって、
前記コンピュータに、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0020】
以上のように、本発明における、電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラムによれば、コンピュータシステムにおいて、データベースに登録されるデータのセキュリティの一層の向上を図ることができる。
【図面の簡単な説明】
【0021】
【図1】図1は、本発明の実施の形態における電子データ管理システムの全体構成を概略的に示すブロック図である。
【図2】図2は、本発明の実施の形態におけるサーバ装置及びデーベース装置の構成を示すブロック図である。
【図3】図3は、データベース装置に登録されている管理テーブルの一例を示す図である。
【図4】図4は、データベース装置に登録されている項目テーブルの一例を示す図である。
【図5】図5は、データベース装置に登録されている結合情報テーブルの一例を示す図である。
【図6】図6は、データベース装置に登録されているアクセスレベルテーブルの一例を示す図である。
【図7】図7は、データベース装置に登録されているアクセス権限テーブルの一例を示す図である。
【図8】図8は、本発明の実施の形態における電子データ管理システムのデータ登録時の動作を示すフロー図である。
【図9】図9は、本発明の実施の形態における電子データ管理システムのデータ検索時の動作を示すフロー図である。
【図10】図10は、本発明の実施の形態におけるWebサーバ装置を実現するコンピュータの一例を示すブロック図である。
【図11】図11は、実施例1において登録データとして用いられる個人情報データの一例を示す図である。
【図12】図12は、実施例1においてデータベース装置に登録されているアクセスレベルテーブルの一例を示す図である。
【図13】図13は、実施例1においてデータベース装置に登録されているアクセス権限テーブルの一例を示す図である。
【図14】図14は、実施例1においてデータベース装置に登録されている管理テーブルの一例を示す図である。
【図15】図15は、実施例1においてデータベース装置に登録されている項目テーブルの形式を示す図である。
【図16】図16は、実施例1においてデータベース装置に登録されている、項目データと項目テーブルとの対応一覧を示す図である。
【図17】図17は、実施例1においてデータベース装置に登録されている項目テーブルの一例を示す図である。
【図18】図18は、実施例1においてデータベース装置に登録されている結合情報テーブルの一例を示す図である。
【図19】図19は、実施例2において検索対象となる登録済みのデータセットの一例を示す図である。
【図20】図20は、実施例2においてデータベース装置に登録されているアクセスレベルテーブルの一例を示す図である。
【図21】図21は、実施例2においてデータベース装置に登録されているアクセス権限テーブルの一例を示す図である。
【図22】図22は、実施例2においてデータベース装置に登録されている管理テーブルの一例を示す図である。
【図23】図23は、実施例2においてデータベース装置に登録されている、項目データと項目テーブルとの対応一覧を示す図である。
【図24】図24は、実施例2においてデータベース装置に登録されている項目テーブルの一例を示す図である。
【図25】図25は、実施例2においてデータベース装置に登録されている結合情報テーブルの一例を示す図である。
【発明を実施するための形態】
【0022】
(発明の概要)
本発明は、ネットワークを介してサーバ上で動作する、データベースが格納する電子データを、項目単位での分割する技術を用いて、一意性を消失させ、それによって、セキュリティ性の高い電子データの管理および運用を可能とする。本発明は、特に、クラウドコンピューティングに有用である。
【0023】
本発明は、項目単位で分割された電子データ(以下「項目データ」とする。)毎に、各項目データを連結するための識別子を設け、その識別子を隠蔽化して管理する。これにより、本発明は、容易に各項目データを連結できないようにできる。また、本発明では、各項目データは、平文字列または暗号データとして、別々のテーブルに登録または更新される。更に、本発明では、識別子の隠蔽化を一時的に解除して、項目データを結合して、元のデータとすることもできる。
【0024】
本発明は、サーバ装置上で動作するアプリケーションプログラムを介して認証された利用者のアクセス権限に応じて、分割前の電子データに対して行える操作の内容、及び項目データに対して行える操作の内容を設定できる。
【0025】
更に、本発明は、利用者が、その権限情報に基づいてデータベースに格納された電子データにアクセスした時に、利用者が電子データにアクセスする権利を持っているかどうかをチェックすることができる。
【0026】
具体的には、本発明は、利用者が、電子データの各項目を検索する権利及び表示する権利を持っているかどうかをチェックする。また、本発明は、利用者が、電子データの各項目へのアクセス権限を持っている場合は、逐次復号を行いながら各項目からデータを抽出し、そして、抽出したデータを、一意な情報の塊として利用可能にする。
【0027】
(実施の形態)
以下、本発明の実施の形態における、電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラムについて、図1〜図10を参照しながら説明する。
【0028】
[システム構成]
最初に、図1を用いて、本実施の形態における電子データ管理システム10の構成について説明する。図1は、本発明の実施の形態における電子データ管理システムの全体構成を概略的に示すブロック図である。
【0029】
図1に示すように、本実施の形態における電子データ管理システム10は、複数の項目データを含むデータセットを管理するために用いられる。電子データ管理システム100は、サーバ装置20と、データベース装置30とを備えている。本実施の形態において、サーバ装置20は、利用者にWebサービスを提供するWebサーバ装置である。以降においては、「Webサーバ装置20」と表記する。また、Webサーバ装置20は、利用者の端末40にネットワークを介して接続され、利用者による端末40を介した操作を受け付ける。
【0030】
また、図1に示すように、Webサーバ装置20は、OS(Operation System)上で、1又は2以上のアプリケーションプログラム(以下「アプリケーション」とする。)21を実行する。また、Webサーバ装置20は、データ制御部22を備えている。データ制御部22は、アプリケーション21からの要求に基づき、データベース装置30に格納されているデータを操作する。
【0031】
続いて、図2を用いて、本実施の形態におけるWebサーバ装置20及びデータベース装置30の構成について説明する。図2は、本発明の実施の形態におけるサーバ装置及びデーベース装置の構成を示すブロック図である。
【0032】
データベース装置30は、Webサーバ装置20にLANなどのネットワークを介して接続されている。データベース装置30は、データセットの種類毎に設定された係数セットを格納している。係数セットは、データセットを構成する各項目データに対応した係数を含んでいる。本実施の形態では、後述するように、係数セットは、管理テーブルとして、データベース装置30に登録されている。
【0033】
Webサーバ装置20は、データ制御部22において、主に、データベース検索部203と、データ登録部207とを備えている。データベース検索部203は、データセットが入力されると、入力されたデータセットの種類に基づいて、データベース装置30から、入力されたデータセットに対応する係数セットを取得する。
【0034】
データ登録部207は、入力されたデータセットに固有の番号(以下「リンク番号」と表記する。)を採番する。また、データ登録部207は、入力されたデータセットの項目データ毎に、取得された係数セットにおける対応する係数と採番したリンク番号とから、キー値を算出する。そして、データ登録部207は、入力されたデータセットの各項目データを、それに対応するキー値と共に、データベース装置30における別々のテーブル(以下「項目テーブル」と表記する。)に登録する。
【0035】
このように、本実施の形態における電子データ管理システム10では、データベース装置30に登録される電子データ(データセット)は、項目データ毎に、別々のテーブルに登録される。また、バラバラになった各項目データを連結するための識別子、即ち、リンク番号と係数とは、両者を用いて計算を行うことによって隠蔽される。従って、本実施の形態における電子データ管理システム10によれば、コンピュータシステムにおいて、データベース装置に登録されるデータのセキュリティの一層の向上を図ることができる。
【0036】
ここで、図3〜図7を用いて、本実施の形態における、電子データ管理システム10、Webサーバ装置20及びデータベース装置30の構成について更に具体的に説明する。図3は、データベース装置に登録されている管理テーブルの一例を示す図である。図4は、データベース装置に登録されている項目テーブルの一例を示す図である。図5は、データベース装置に登録されている結合情報テーブルの一例を示す図である。図6は、データベース装置に登録されているアクセスレベルテーブルの一例を示す図である。図7は、データベース装置に登録されているアクセス権限テーブルの一例を示す図である。
【0037】
図2に示すように、本実施の形態では、データベース装置30には、システムの構築時において、予め、管理テーブル301、項目テーブル302、結合情報テーブル303、アクセスレベルテーブル304、及びアクセス権限テーブル305が格納されている。このうち、アクセスレベルテール304とアクセス権限テーブル305とが合わさって、権限レベル毎に、データセットに対して実行できる処理の範囲を規定するアクセス権限情報となる。
【0038】
図3に示すように、管理テーブル301は、項目テーブルを管理するためのテーブルである。管理テーブル301は、項目として、データ名301Aと、項目テーブル一覧301Bと、リンク対応係数一覧301Cと、暗号対応一覧301Dとを有する。
【0039】
このうち、データ名301は、登録対象となるデータセットの種類の名称を示している。項目テーブル一覧301Bは、データセットの各項目データが登録される項目テーブル(図4参照)の名称の一覧である。また、項目テーブル一覧301Bにおいて、各項目テーブルは、テーブル名を表す文字列によって構成されている。
【0040】
リンク対応係数一覧301Cは、登録対象となるデータセットに対応する係数セットを示している。係数セットには、登録対象となるデータセットの項目データ毎の係数が含まれている。本実施の形態では、各係数は、リンク番号に乗算されてキー値とされる。キー値は、後述するように、対応する項目データと共に、項目テーブル(図4参照)に登録される。
【0041】
暗号対応一覧301Dは、各項目テーブルにおいて、項目データを暗号化するかどうかを示す文字列(Y:暗号化する、N:未暗号)の一覧である。また、本実施の形態では、テーブル一覧301B、リンク対応係数一覧301C、及び暗号対応一覧301D、それぞれを構成している各文字列は、例えば、AES(Advanced Encryption Standard)などのブロック暗号方式によって暗号化されていても良い。
【0042】
図4に示すように、項目テーブル302は、登録対象となるデータセットの各項目データが登録されるテーブルであり、登録対象となるデータセットに含まれる項目データ毎に作成される。言い換えると、項目テーブル302は、管理テーブル301の項目テーブル一覧301Bに記述されている項目テーブルの数だけ作成される。
【0043】
また、項目テーブル302は、項目として、キー値302Aと、データ302Bとを有する。キー値302Aは、各データに固有でふられるリンク番号と各項目表毎に定義された係数との乗算値で表される。また、項目テーブル302は、暗号対応一覧301Dに定義された文字列が「Y」の場合は、暗号化されて登録され、「N」の場合は、暗号化されずに登録される。
【0044】
図5に示すように、結合情報テーブル303は、項目として、データ名303Aと、リンク番号303Bと、キー値一覧303Cとを有する。データ名303Aは、図3に示したデータ名301Aと同一であり、登録対象となるデータセットの種類を示す。リンク番号303Bは、上述したように、登録対象となるデータセットについて採番された固有の番号である。
【0045】
キー値一覧303Cは、項目データ毎に算出されたキー値の一覧である。本実施の形態では、キー値は、上述したように、項目データに対応する係数とリンク番号303Bとを乗算することによって算出される。また、本実施の形態では、キー値一覧303Cを表す文字列は、暗号化されていても良い。
【0046】
図6に示すように、アクセスレベルテーブル304は、権限レベルを定義している。アクセスレベルテーブル304は、項目として、定義対象となる権限レベル(アクセスレベル)304Aと、データ名304Bと、定義対象となる権限レベルの名称(権限名称)304Cとを有する。データ名304Bは、図3に示したデータ名301Aと同一であり、定義対象となる権限レベルが設定されたデータセットの種類を示す。
【0047】
図7に示すように、アクセス権限テーブル305は、図6で定義された権限レベルに付与されている権限を定義している。アクセス権限テーブル305は、項目として、権限名称305Aと、検索権305Bと、入力権305Cと、更新権305Dと、削除権305Eとを有している。
【0048】
権限名称305Aは、図6に示した権限名称304Cと同一であり、定義対象となる権限レベルの名称を示している。検索権305Bは、項目データの検索時又は項目データの結合時において検索可能な項目テーブル302の名称の一覧で示されている。入力権305Cは、データの登録が可能か否かを示している。更新権305Dは、データの更新が可能かどうかを示している。削除権305Eは、データの削除が可能か否かを示している。
【0049】
また、図2に示すように、本実施の形態では、Webサーバ装置20は、データ制御部22において、上述したデータベース検索部203とデータ登録部207とに加え、データ受取部201と、アクセス権限情報取得部202と、項目テーブル操作部204と、暗号化部205と、復号化部206と、データ結合部208と、返却部209とを備えている。
【0050】
データ受取部201は、アプリケーション21を介して、利用者が端末40で入力した各種データを受け取り、受け取ったデータをアクセス権限情報取得部202に出力する。具体的には、利用者がデータセットのデータベース装置30への登録を指示した場合は、データ受取部201は、アプリケーション21から、登録対象となるデータセット(登録データ)51と、利用者情報52と、データ名53とを受け取る。利用者情報52は、利用者に設定された権限レベルを示す情報(アクセスレベル304A)である。データ名53は、登録データの種類の名称(データ名301)である。
【0051】
一方、利用者がデータベース装置30を対象としてデータセットの検索を指示した場合は、データ受取部201は、アプリケーション21から、検索データ54と、利用者情報52と、データ名53とを受け取る。この場合、検索データ54としては、登録されているデータセットに含まれる項目データが挙げられる。
【0052】
アクセス権限情報取得部202は、データ受取部201からデータを受け取る。そして、アクセス権限情報取得部202は、利用者情報52及びデータ名53に基づいて、アクセスレベルテーブル304及びアクセス権限テーブル305から、登録データ51についてのアクセス権限情報、又は検索データ54を含むデータセットについてのアクセス権限情報を取得する。
【0053】
項目テーブル操作部204は、各項目データを項目テーブルに登録する際に必要となるリンク番号を特定するための情報を、データ登録部207に渡す。データ登録部207は、項目テーブル操作部204から受け取った情報に基づいて、リンク番号を採番する。
【0054】
暗号化部205は、入力されたデータセットに含まれる全部または一部の項目データ、更には、データベース装置30に登録されている各種テーブルの情報を暗号化する。復号化部206は、暗号化された項目データ、暗号化されたテーブルの情報を復号化する。
【0055】
データ結合部208は、データセットの検索が指示された場合に、対応する項目テーブルから各項目データを取得し、取得した項目データを結合して、1つのデータセットを復元する。返却部209は、アプリケーション21に対して、データを返却する。
【0056】
[システム構成:データ登録処理]
ここで、Webサーバ装置20がデータセットを登録する際の処理に沿って、Webサーバ装置20を構成する各部について更に具体的に説明する。
【0057】
まず、利用者が、端末40からネットワークを介して、Webサーバ装置20に接続して、ログイン認証を要求する。ログイン認証の完了後、利用者が電子データ(データセット)の登録を求める場合は、アプリケーション21から、登録対象となるデータセット、データセットのデータ名、及びデータセットの利用者情報が、データ制御部22のデータ受取部201に引き渡される。
【0058】
データ受取部201は、登録対象となるデータセット(登録データ51)、利用者情報、52及びデータ名53を受け取り、その後、これらをアクセス権限情報取得部202に渡す。アクセス権限情報取得部202は、利用者情報53及びデータ名53に基づいて、アクセスレベルテーブル304とアクセス権限テーブル305とから、利用者についてのアクセス権限情報を取得する。アクセス権限情報取得部202は、取得したアクセス権限情報と、登録対象となるデータセットと、データ名とを、データベース検索部203に引き渡す。
【0059】
データベース検索部203は、アクセス権限情報に基づいて、利用者が、登録対象となるデータセットの登録を行うための権利を有するかどうかを確認する。そして、データベース検索部203は、利用者が権利を有することを確認できると、管理テーブル301から、項目テーブル一覧301B、リンク対応係数一覧301C、暗号対応一覧301Dを取得する。
【0060】
また、取得したテーブルに関する情報が暗号化されている場合は、データベース検索部203は、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。更に、データベース検索部203は、復号化したテーブルに関する情報と、登録データ51と、アクセス権限情報と、データ名53とを、項目テーブル操作部204に渡す。
【0061】
項目テーブル操作部204は、登録対象となるデータセットを項目データ毎に分割し、分割された各項目データのうち、暗号対応一覧301Dにおいて「N:未暗号」に設定されている項目データを特定する。
【0062】
また、項目テーブル操作部204は、特定した項目データを用いて、予め作成されている複数の項目テーブル302の中から、対応する項目テーブル302を特定し、特定した項目テーブル302のキー値302Aを取得する。なお、「対応する項目テーブル302」とは、例えば、特定した項目データと同一種類の項目データが登録されている項目テーブルを意味する。
【0063】
そして、項目テーブル操作部204は、取得したキー値302Aに登録されている値を、特定した項目データに対応する係数で除算して、リンク番号を算出し、算出されたリンク番号と同じリンク番号を持つデータセットが存在するかどうかを判定する。また、項目テーブル操作部204は、判定結果をデータ登録部207に渡す。
【0064】
項目テーブル操作部204によって電子データが存在しないと判定された場合は、データ登録部207は、先に算出されたリンク番号を採番する。そして、データ登録部207は、項目テーブル302毎に、採番したリンク番号と各項目データに対応する係数とを乗算し、得られたキー値302Aを、対応する項目テーブル302に登録する。
【0065】
また、データ登録部207は、暗号対応一覧301Dから取得した、項目データの暗号化又は非暗号化を示す一覧に基づき、必要があれば暗号化部205によって項目データを暗号化させ、暗号化された項目データを登録する。続いて、データ登録部207は、結合情報テーブル303において、リンク番号を登録し、加えて、リンク番号と係数との乗算から得られたキー値の一覧を登録する。
【0066】
[システム構成:データ検索処理]
続いて、Webサーバ装置20がデータセットを検索する際の処理に沿って、Webサーバ装置20を構成する各部について更に具体的に説明する。
【0067】
まず、利用者が、端末40からネットワークを介して、Webサーバ装置20に接続して、ログイン認証を要求する。ログイン認証が完了した後、利用者は、データベース装置30登録されているデータを検索するため、検索データ(例えば項目データ)54、利用者情報52、及び検索データを含むデータセットのデータ名53を入力する。これにより、端末40から、アプリケーション21を経由して、検索データ54と、利用者情報52と、データ名53とが、データ制御部22のデータ受取部201に引き渡される。
【0068】
データ受取部201は、検索データ54、利用者情報52、及びデータ名53を受け取り、その後、これらをアクセス権限情報取得部202に渡す。アクセス権限情報取得部202は、利用者情報に基づいて、アクセスレベルテーブル304とアクセス権限テーブル305とから、利用者についてのアクセス権限情報を取得する。アクセス権限情報取得部202は、取得したアクセス権限情報と、検索データ54と、データ名53とを、データベース検索部203に引き渡す。
【0069】
データベース検索部203は、アクセス権限情報に基づいて、利用者が、検索データを検索するための権利を有するかどうかを確認する。そして、データベース検索部203は、利用者が権利を有することを確認できると、管理テーブル301から、項目テーブル一覧301B、リンク対応係数一覧301C、暗号対応一覧301Dを取得する。
【0070】
また、取得したテーブルに関する情報が暗号化されている場合は、データベース検索部203は、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。更に、データベース検索部203は、復号化したテーブルに関する情報と、検索データと、権限情報と、データ名とを、項目テーブル操作部204に引き渡す。
【0071】
項目テーブル操作部204は、暗号対応一覧301Dに基づき、入力された検索データに対応する項目テーブル302が、暗号化の対象となっているかどうかを確認する。そして、項目テーブル操作部204は、確認の結果、暗号化の対象となっていない場合は、検索データを用いて、対応する項目テーブル302を検索する。一方、項目テーブル操作部204は、確認の結果、暗号化の対象となっている場合は、検索データを暗号化文字列としてから、対応する項目テーブル302を検索する。
【0072】
続いて、項目テーブル操作部204は、検索によって特定された項目テーブル302のキー値302Aを、リンク対応係数一覧301Cの対応する係数で除算し、リンク番号を取得する。そして、項目テーブル操作部204は、データ名53と、テーブルに関する情報と、アクセス権限情報と、取得したリンク番号とを、データ結合部208に引き渡す。
【0073】
データ結合部208は、まず、項目テーブル操作部204が特定したリンク番号に基づき、検索データを含むデータセットの各項目データについてのキー値を特定する。また、データ結合部208は、特定したキー値を用いて、データベース装置30に登録されている項目テーブルから、検索データを含むデータセットの各項目データを取得し、取得した各項目データを結合する。
【0074】
具体的には、データ結合部208は、結合情報テーブル303を、データ名とリンク番号とで検索し、キー値一覧303Cを取得する。次いで、データ結合部208は、設定されている権限の範囲で、各項目テーブル302を対象として、取得したキー値一覧を構成している各値を検索する。これにより、検索データと同一のデータセットを構成する他の項目データが取得される。
【0075】
また、データ結合部208は、暗号対応一覧301Dの内容に従って、必要があれば復号化部206に復号化させ、取得した各項目データを、元のデータセットで設定されている並び方に合わせて1つのデータセットとし、得られたデータセットを返却部209に引き渡す。その後、返却部209は、受け取ったデータセットをアプリケーション21に返却する。
【0076】
[システム動作]
次に、本発明の実施の形態における電子データ管理システム10の動作について図8及び図9を用いて説明する。また、本実施の形態では、電子データ管理システム10を動作させることによって、電子データ管理方法が実施される。よって、本実施の形態における電子データ管理方法の説明は、以下の電子データ管理システム10の動作説明に代える。以下の説明では、適宜、図1〜図7を参酌する。
【0077】
[システム動作:データ登録処理]
まず、図8を用いて、データ登録時における電子データ管理システムの動作について説明する。図8は、本発明の実施の形態における電子データ管理システムのデータ登録時の動作を示すフロー図である。
【0078】
まず、利用者が、端末40からネットワークを介してWebサーバ装置20に接続してシステムのログイン認証を求めると、Webサーバ装置20のアプリケーション21は、ログイン認証を実行する(ステップS101)。
【0079】
次に、Webサーバ装置20において、アプリケーション21は、ログイン認証が完了すると、端末40の表示画面に、データ登録画面を表示させる(ステップS102)。利用者が、端末40の表示画面上で各項目データ、利用者情報52、データ名53を入力すると、端末40は、各項目データで構成されたデータセット(登録データ51)、利用者情報52、データ名53をアプリケーション21に送信する。
【0080】
アプリケーション21は送信されてきた、登録データ51、利用者情報52、及びデータ名53を受信する。また、アプリケーション21は、受信した、登録データ51、利用者情報52、及びデータ名53をデータ制御部22に引き渡す(ステップS103)。
【0081】
次に、データ制御部22は、データセットの登録処理を開始する(ステップS104)。具体的には、ステップS104では、データ受取部201が、登録データ51、利用者情報52、及びデータ名53を受け取り、これらをアクセス権限情報取得部202に渡す。
【0082】
次に、アクセス権限情報取得部202は、利用者情報52に基づいて、アクセスレベルテーブル304とアクセス権限テーブル305とを検索して、利用者についてのアクセス権限情報を取得する(ステップS105)。また、アクセス権限情報取得部202は、取得したアクセス権限情報と、登録データ51と、データ名53とを、データベース検索部203に引き渡す。
【0083】
次に、データベース検索部203は、データ名53を用いて管理テーブル301を検索し、項目テーブル一覧301B、リンク対応係数一覧301C、暗号対応一覧301Dを取得する(ステップS106)。ステップS106では、データベース検索部203は、必要に応じて、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。また、データベース検索部203は、テーブルに関する情報、登録データ51、アクセス権限情報、及びデータ名53を、項目テーブル操作部204に渡す。
【0084】
次に、項目テーブル操作部204は、登録データ51を項目データ毎に分割する(ステップS107)。また、項目テーブル操作部204は、項目データを使用して、項目テーブル一覧301Bに記述された名称が付与された項目テーブル302を検索する(ステップS108)。
【0085】
次に、項目テーブル操作部204は、ステップS108の検索結果に基づいて、登録データが既に登録されているかどうかを判定する(ステップS109)。ステップS109の判定の結果、登録データが既に登録されている場合(ステップS109Yes)は、返却部209がアプリケーション21を介して、エラー通知を利用者に返却する(ステップS111)。
【0086】
一方、ステップS109の判定の結果、登録データが未だ登録されていない場合(ステップS109No)は、暗号化部205が、暗号対応一覧301Dに従って、暗号化が必要な項目データの暗号化を実行する(ステップS110)。
【0087】
次に、データ登録部207は、各項目データを連結するためのリンク番号を採番し、リンク対応係数一覧301Cに記述された各係数とリンク番号とを用いて、項目データ毎に、乗算を実行してキー値を求める(ステップS112)。
【0088】
次に、データ登録部207は、乗算によって求められたキー値と、それに対応する項目データとを、対応する項目テーブル302に登録する(ステップS113)。その後、データ登録部207は、データ名53と、リンク番号と、算出したキー値の一覧を暗号化して得られたデータとを、結合情報テーブル303に登録する(ステップS114)。ステップS114の終了後、データ制御部22におけるデータ登録処理は終了する。
【0089】
[システム動作:データ検索処理]
続いて、図9を用いて、データ検索時における電子データ管理システムの動作について説明する。図9は、本発明の実施の形態における電子データ管理システムのデータ検索時の動作を示すフロー図である。
【0090】
まず、利用者は、端末40からネットワークを介してWebサーバ装置20に接続してシステムのログイン認証を求めると、Webサーバ装置20のアプリケーション21は、ログイン認証を実行する(ステップS201)。ステップS201は、図8に示したステップS101と同様の処理である。
【0091】
次に、Webサーバ装置20において、アプリケーション21は、ログイン認証が完了すると、端末40の表示画面に、検索画面を表示させる(ステップS202)。利用者が、端末40の表示画面上で、検索データ(項目データ)54、利用者情報52、及びデータ名53を入力すると、端末40は、検索データ(項目データ)54、利用者情報52、及びデータ名53をアプリケーション21に送信する。
【0092】
アプリケーション21は送信されてきた、検索データ54、利用者情報52、及びデータ名53を受信する。また、アプリケーション21は、受信した、検索データ54、利用者情報52、及びデータ名53を、データ制御部22に引き渡す(ステップS203)。
【0093】
次に、データ制御部22は、検索データに基づいて検索処理を開始する(ステップS204)。具体的には、ステップS204では、データ受取部201が、検索データ54、利用者情報52、及びデータ名53を受け取り、これらをアクセス権限情報取得部202に渡す。
【0094】
次に、アクセス権限情報取得部202は、利用者情報52とデータ名53とに基づいて、アクセスレベルテーブル304とアクセス権限テーブル305とを検索して、利用者についてのアクセス権限情報を取得する(ステップS205)。ステップS205は、図8に示したステップS105と同様の処理である。アクセス権限情報取得部202は、取得したアクセス権限情報と、検索データ54と、データ名53とを、データベース検索部203に引き渡す。
【0095】
次に、データベース検索部203は、データ名53を用いて管理テーブル301を検索し、項目テーブル一覧301B、リンク対応係数一覧301C、暗号対応一覧301Dを取得する(ステップS206)。ステップS206は、図8に示したステップS106と同様の処理である。ステップS206においても、データベース検索部203は、必要に応じて、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。また、データベース検索部203は、テーブルに関する情報、検索データ54、アクセス権限情報52、及びデータ名53を、項目テーブル操作部204に渡す
【0096】
次に、項目テーブル操作部204は、検索データ54に複数の項目データが含まれている場合は、検索データ54を項目データ毎に分割する(ステップS207)。続いて、項目テーブル操作部204は、暗号対応一覧301Dに基づき、検索データに対応する項目テーブル302が暗号化の対象となっているかどうかを判定する(ステップS208)。
【0097】
ステップS208の判定の結果、暗号化の対象となっている場合(ステップS208Yes)は、項目テーブル操作部204は、暗号化部205に検索データを暗号化させ(ステップS209)、暗号化された検索データを用いて、対応する項目テーブルを検索する(ステップS210)。一方、ステップS208の判定の結果、暗号化の対象となっていない場合(ステップS208Yes)は、検索データをそのまま用いて、対応する項目テーブルを検索する(ステップS210)。
【0098】
次に、項目テーブル操作部204は、検索された項目テーブル302のキー値302Aを、リンク対応係数一覧301Cの対応する係数で除算し、リンク番号を算出する(ステップS211)。また、項目テーブル操作部204は、データ名53と、テーブルに関する情報と、アクセス権限情報と、取得したリンク番号とを、データ結合部208に引き渡す。
【0099】
次に、データ結合部208は、データ名53と算出したリンク番号とを用いて、結合情報テーブル303を検索し、対応するキー値一覧303Cを特定する(ステップS212)。また、データ結合部208は、特定したキー値一覧303Cが暗号化されている場合は、復号化部206に復号化を行わせる。
【0100】
次に、データ結合部208は、アクセス権限テーブル305から取得した検索権305Bを確認し、そこに記述されている項目データを特定する。そして、データ結合部208は、特定した項目データに対応する項目テーブル302全てを対象として、ステップS212で取得したキー値を用いて検索を行って、検索データ54に対応する項目データを特定する。また、データ結合部208は、特定した項目データを一つのデータセットとする(ステップS213)。
【0101】
また、ステップS213において、データ結合部208は、特定された項目データが、暗号対応一覧301Dにおいて暗号化対象となっているかどうかを確認し、暗号化されている場合は、復号化部206にこれを復号化させる。
【0102】
その後、データ結合部208が、データセットを返却部209に渡すと、返却部209は、受け取ったデータセットをアプリケーション21に返却する(ステップS214)。ステップS214の終了後、データ制御部22におけるデータ検索処理は終了する。
【0103】
以上のように本実施の形態によれば、電子データを一意に管理するための識別子を、隠蔽化することができるので、情報の一意性を、項目データ単位で見た場合に消失させることできる。また、本実施の形態によれば、項目データ単位で分割されたデータ自身を必要に応じて暗号化できるので、項目データ単体でも意味を消失させることができる。更に、本本実施の形態によれば、利用者のアクセス権限を細かく定義できるので、情報を利用するアプリケーションにおいて、提供する情報の制御を行うことも可能となる。
【0104】
本発明の実施の形態におけるプログラムは、コンピュータに、図8に示すステップS101〜S114、図9に示すステップS201〜S214を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるWebサーバ装置20を実現することができる。また、これにより、本実施の形態における電子データ管理システム10を構築できる。
【0105】
上記の場合、コンピュータのCPU(Central Processing Unit)は、データ受取部201、アクセス権限情報取得部202、データベース検索部203、項目テーブル操作部204、暗号化部205、復号化部206、データ登録部207、データ結合部208、及び返却部209として機能し、処理を行なう。
【0106】
ここで、本実施の形態におけるプログラムを実行することによって、Webサーバ装置20を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態におけるWebサーバ装置を実現するコンピュータの一例を示すブロック図である。
【0107】
図10に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0108】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0109】
また、記憶装置113の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0110】
また、記録媒体120の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
【実施例1】
【0111】
続いて、上述した実施の形態における電子データ管理システムの実施例1について、図12〜図18を用いて説明する。図11は、実施例1で登録データとして用いられる個人情報データの一例を示す図である。図12は、実施例1においてデータベース装置に登録されているアクセスレベルテーブルの一例を示す図である。図13は、実施例1においてデータベース装置に登録されているアクセス権限テーブルの一例を示す図である。図14は、実施例1においてデータベース装置に登録されている管理テーブルの一例を示す図である。
【0112】
図15は、実施例1においてデータベース装置に登録されている項目テーブルの形式を示す図である。図16は、実施例1においてデータベース装置に登録されている、項目データと項目テーブルとの対応一覧を示す図である。図17は、実施例1においてデータベース装置に登録されている項目テーブルの一例を示す図である。図18は、実施例1においてデータベース装置に登録されている結合情報テーブルの一例を示す図である。
【0113】
また、本実施例1では、電子データ管理システムにおいてデータ登録処理が実行される場合について、実例を挙げて詳細に説明する。更に、以下においては、図8を参照しながら、図8に示したフローに沿って説明する。
【0114】
[ステップS101]
まず、利用者が、端末40からネットワークを介してWebサーバ装置20に接続してシステムのログイン認証を求めると、Webサーバ装置20のアプリケーション21は、ログイン認証を実行する。
【0115】
[ステップS102]
次に、アプリケーション21は、ログイン認証が完了すると、端末40の表示画面に、データ登録画面を表示させる。
【0116】
[ステップS103]
利用者は、端末40の画面上で、例えば、登録データとして図11に示す個人情報データA300を入力し、利用者情報として「level 1」を入力し、更に、データ名53として「PERSONAL」を入力する。そして、端末40が、これらのデータをWebサーバ装置20に送信すると、アプリケーション21は、送信されてきたデータを受信する。Webサーバ装置20において、アプリケーション21は、送信されてきた個人情報データ、利用者情報52、データ名53を、データ制御部22に引き渡す。
【0117】
[ステップS104]
次に、データ制御部22は、登録処理を開始する。具体的には、データ受取部201が、人情報データA301、利用者情報「level 1」、データ名「PERSONAL」を受け取り、これらをアクセス権限情報取得部202に渡す。
【0118】
[ステップS105]
次に、アクセス権限情報取得部202は、利用者情報「level 1」とデータ名「PERSONAL」とを用いて、図12に示すアクセスレベルテーブルA304を検索し、権限名称として「TBL_NM_1」を取得する。
【0119】
続いて、アクセス権限情報取得部202は、取得した権限名称「TBL_NM_1」を用いて、図13に示すアクセス権限テーブルA305の権限名称の欄を検索する。これにより、アクセス権限情報取得部202は、アクセス権限情報を取得する。具体的には、アクセス権限情報取得部202は、検索権として「暗号化(TA;TB;TC;TD;TE;TF;TG;TH;TI;TJ)」を、入力権として「Y」を、更新権として「Y」を、削除権として「Y」をそれぞれ取得する。また、アクセス権限情報取得部202は、取得したアクセス権限情報と、個人情報データA301と、データ名「PERSONAL」とを、データベース検索部203に引き渡す。
【0120】
[ステップS106]
次に、データベース検索部203は、データ名「PERSONAL」を用いて、図14に示す管理テーブルA301のデータ名の欄を検索する。これにより、データベース検索部203は、暗号化された項目テーブル一覧「暗号化(TA;TB;TC;TD;TE;TF;TG;TH;TI;TJ)」と、リンク対応係数一覧「暗号化(3;5;7;9;11;13;15;17;19;21)」と、暗号対応一覧「暗号化(Y;Y;N;N;N;N;N;N;Y;Y)」とを取得する。
【0121】
取得されたデータは暗号化されているため、データベース検索部203は、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。また、データベース検索部203は、テーブルに関する情報、個人情報データA301、アクセス権限情報、及びデータ名「PERSONAL」を、項目テーブル操作部204に渡す。
【0122】
[ステップS107]
続いて、項目テーブル操作部204は、個人情報データA300を、図16に示す「項目データと項目テーブルとの対応一覧」に沿って、項目データ毎に分割する。
【0123】
[ステップS108]
次に、項目テーブル操作部204は、項目データを使用して、図17に示された各項目テーブルを検索し、項目テーブル一覧(図14参照)に記述された名称が付与された項目テーブルを特定する。
【0124】
図17に示された各項目テーブルには、図14に示された項目テーブル一覧に記述されている名称が付与されている。また、図17に示された各項目テーブルは、図15に示す項目テーブルA302の形式で定義されている。
【0125】
[ステップS109、S111]
次に、項目テーブル操作部204は、ステップS108の検索結果に基づいて、登録データが既に登録されているかどうかを判定する。判定の結果、登録データが既に登録されている場合は、返却部209がアプリケーション21を介して、エラー通知を利用者に返却する。
【0126】
[ステップS110]
一方、判定の結果、登録データが既に登録されていない場合は、暗号化部205が、図14に示された暗号対応一覧に従って、各項目データを暗号化する。本実施例1では、暗号化部205は、「氏:AAAA」、「名:BBBB」、「カード番号:12345」、「生年月日:19000101」を暗号化する。
【0127】
[ステップS112]
次に、データ登録部207が、各項目データを連結するためのリンク番号を採番し、リンク対応係数一覧(図14参照)に記述された各係数と、採番したリンク番号を乗算する。具体的には、例えば、リンク番号として「3」が採番されたとすると、リンク対応係数一覧に記述された係数は「3;5;7;9;11;13;15;17;19;21」であるから、それぞれに「3」が乗算される。結果、乗算値として、「9;15;21;27;33;39;45;51;57;63」が得られる。
【0128】
[ステップS113]
次に、データ登録部207は、図17に示すように、ステップS112で得られた各乗算値をキー値に設定して、各項目データを、対応する項目テーブルに登録する。
【0129】
[ステップS113]
次に、図18に示すように、データ登録部207は、データ名「PERSONAL」と、リンク番号「3」と、算出したキー値の一覧「9;15;21;27;33;39;45;51;57;63」を暗号化して得られた情報とを、結合情報テーブルA303に登録する。これにより、電子データ管理システムにおけるデータ登録処理は終了する。
【実施例2】
【0130】
続いて、上述した実施の形態における電子データ管理システムの実施例2について、図19〜図23を用いて説明する。図19は、実施例2において検索対象となる登録済みのデータセットの一例を示す図である。図20は、実施例2においてデータベース装置に登録されているアクセスレベルテーブルの一例を示す図である。
【0131】
図21は、実施例2においてデータベース装置に登録されているアクセス権限テーブルの一例を示す図である。図22は、実施例2においてデータベース装置に登録されている管理テーブルの一例を示す図である。図23は、実施例2においてデータベース装置に登録されている、項目データと項目テーブルとの対応一覧を示す図である。図24は、実施例2においてデータベース装置に登録されている項目テーブルの一例を示す図である。図25は、実施例2においてデータベース装置に登録されている結合情報テーブルの一例を示す図である。
【0132】
また、本実施例2では、電子データ管理システムにおいてデータ検索処理が実行される場合について、実例を挙げて詳細に説明する。具体的には、本実施例2では、データベース装置30には、図19に示す売上げデータB300が事前に登録されているとする。更に、以下においては、図9を参照しながら、図9に示したフローに沿って説明する。
【0133】
[ステップS201]
まず、利用者が、端末40から、ネットワークを介してWebサーバ装置20に接続してシステムのログイン認証を求めると、Webサーバ装置20のアプリケーション21は、ログイン認証を実行する。
【0134】
[ステップS202]
次に、アプリケーション21は、ログイン認証が完了すると、端末40の表示画面に、検索画面を表示させる。
【0135】
[ステップS203]
利用者は、本実施例2では、端末40の画面上で、例えば、検索データとして商品名「ABCDEFG」を入力し、利用者情報として「Level 2」を入力し、更に、データ名として「URIAGE」を入力する。そして、端末40が、これらのデータをWebサーバ装置20に送信すると、アプリケーション21は、送信されてきたデータを受信する。Webサーバ装置20において、アプリケーション21は、送信されてきた、商品名「ABCDEFG」、利用者情報「Level 2」、データ名「URIAGE」を、データ制御部22に引き渡す。
【0136】
[ステップS204]
次に、データ制御部22は、検索処理を開始する。具体的には、データ受取部201が、商品名「ABCDEFG」利用者情報「Level 2」、データ名「URIAGE」を受け取り、これらをアクセス権限情報取得部202に渡す。
【0137】
[ステップS205]
次に、アクセス権限情報取得部202は、利用者情報「Level 2」とデータ名「URIAGE」とを用いて、図20に示すアクセスレベルテーブルB304を検索し、権限名称として「TBL_NM_2」を取得する。
【0138】
続いて、アクセス権限情報取得部202は、取得した権限名称「TBL_NM_2」を用いて、図21に示すアクセス権限テーブルB305の権限名称の欄を検索する。これにより、アクセス権限情報取得部20は、アクセス権限情報を取得する。具体的には、アクセス権限情報取得部202は、検索権として「暗号化(TA;TB;TC;TF)」を、入力権として「Y」を、更新権として「Y」を、削除権として「Y」をそれぞれ取得する。また、アクセス権限情報取得部202は、取得したアクセス権限情報と、商品名「ABCDEFG」と、データ名「URIAGE」とを、データベース検索部203に引き渡す。
【0139】
[ステップS206]
次に、データベース検索部203は、データ名「URIAGE」を用いて、図22に示す管理テーブルB301を検索し、暗号化された項目テーブル一覧「TA;TB;TC;TD;TE;TF」と、暗号化されたリンク対応係数一覧「3;5;7;9;11;13」と、暗号化された暗号対応一覧「N;Y;Y;N;Y;Y」とを取得する。
【0140】
また、データベース検索部203は、取得したテーブルに関する情報を復号化部206に渡して、復号済みデータとする。更に、データベース検索部203は、テーブルに関する情報、商品名「ABCDEFG」、アクセス権限情報、及びデータ名「URIAGE」を、項目テーブル操作部204に渡す。
【0141】
[ステップS207、S208]
次に、項目テーブル操作部204は、暗号対応一覧301Dに基づき、検索データである商品名「ABCDEFG」に対応する項目テーブル302が、暗号化の対象となっているかどうかを判定する。なお、本実施例2では、検索データに複数の項目データは含まれていないため、ステップS207は実行されない。
【0142】
[ステップS209]
次に、本実施例2では、検索データは商品名であり、商品名は暗号対応一覧「N;Y;Y;N;Y;Y」(図22参照)に示すように暗号化の対象とされているので、項目テーブル操作部204は、暗号化の対象となっていると判定する。よって、項目テーブル操作部204は、暗号化部205に商品名「ABCDEFG」を暗号化させる。
【0143】
[ステップS210]
また、項目テーブル操作部204は、暗号化された商品名を用いて、対応する項目テーブルを検索する。具体的には、図23に示した、項目データと項目テーブルとの対応一覧から分かるように、商品名は、図24に示す項目テーブルTBに存在する。従って、項目テーブル操作部204は、対応する項目テーブルとして、項目テーブルTBを特定し、更に、項目テーブルTBのデータの欄を暗号化された検索データ「ABCDEFG」で検索し、キー値「15」を取得する。
【0144】
[ステップS211]
次に、項目テーブル操作部204は、検索された項目テーブルのキー値を、リンク対応係数一覧の対応する係数で除算し、リンク番号を算出する。具体的には、項目テーブル操作部204は、検索の結果から得られたキー値「15」を、リンク対応係数一覧「3;5;7;9;11;13」(図22参照)に記述された係数における、対応する係数で除算して、リンク番号「3」を算出する。また、項目テーブル操作部204は、データ名「URIAGE」、テーブルに関する情報と、アクセス権限情報と、取得したリンク番号とを、データ結合部208に引き渡す。
【0145】
[ステップS212]
次に、データ結合部208は、データ名「URIAGE」とリンク番号「3」とを用いて、図25に示す結合情報テーブルB303を検索し、暗号化されたキー値一覧「9;15;21;27;33;39」を取得する。また、データ結合部208は、復号化部206にキー値一覧の復号化を行わせる。
【0146】
[ステップS213]
次に、データ結合部208は、ステップS205で取得した検索権「TA;TB;TC;TF」(図21参照)を確認し、そこに記述されている項目テーブルを特定する。本実施例2では、データ結合部208は、図24に示す、項目テーブルTA、項目テーブルTB、項目テーブルTC、項目テーブルTFを特定する。そして、データ結合部208は、特定した項目テーブルを対象として、ステップS212で取得したキー値「9;15;21;27;33;39」を用いて検索を実行する。
【0147】
これにより、データ結合部208は、項目データとして、「20100101」、「ABCDEFG」、「A12345」、「100000」を特定する。また、データ結合部208は、特定された項目データが、暗号対応一覧において暗号化対象となっているかどうかを確認し、暗号化されている場合は、復号化部206にこれを復号化させる。その後、データ結合部208は、特定した項目データを一つのデータセットとする。
【0148】
[ステップS214]
その後、データ結合部208が、データセットを返却部209に渡すと、返却部209は、受け取ったデータセットをアプリケーション21に返却する。これにより、電子データ管理システムにおけるデータ検索処理は終了する。
【0149】
以上、実施例1及び2によれば、情報の一意性を項目データ単位で完全に消失させることできる。また、その後、簡単に、元のデータに戻すこともできる。結果、データベース装置に登録されるデータのセキュリティが一層向上される。
【0150】
上述した実施の形態及び実施例の一部又は全部は、以下に記載する(付記1)〜(付記20)によって表現することができるが、以下の記載に限定されるものではない。
【0151】
(付記1)
複数の項目データを含むデータセットを管理するための電子データ管理システムであって、
サーバ装置と、データベース装置と、を備え、
前記データベース装置は、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む係数セットを格納し、
前記サーバ装置は、
データセットが入力されると、入力されたデータセットの種類に基づいて、前記データベース装置から、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、
ことを特徴とする電子データ管理システム。
【0152】
(付記2)
前記サーバ装置が、項目テーブル操作部を更に備え、
前記項目テーブル操作部は、
前記データベース装置から、前記入力されたデータセットのいずれかの項目データと同一種類の項目データが登録されているテーブルを特定し、
特定したテーブルに登録されている前記算出値と前記同一種類の項目データに対応する係数とから、前記同一種類の項目データを含むデータセットの固有の番号を特定し、
前記データ登録部が、前記項目テーブル操作部が特定した番号に基づいて、採番を行う、付記1に記載の電子データ管理システム。
【0153】
(付記3)
前記サーバ装置が、データ結合部を更に備え、
前記データベース検索部が、データセットの検索が指示された場合に、前記データベース装置から、検索対象となったデータセットに対応する前記係数セットを取得し、
前記項目テーブル操作部が、前記データベース装置から、前記検索対象となったデータセットのいずれかの項目データが登録されているテーブルを特定し、特定したテーブルに登録されている前記算出値と、取得された前記係数セットにおける当該項目データに対応する前記係数とから、前記検索対象となったデータセットの固有の番号を特定し、
前記データ結合部は、前記項目テーブル操作部が特定した前記固有の番号に基づき、前記検索対象となったデータセットの各項目データについての前記算出値を特定し、
特定した前記算出値を用いて、前記データベース装置に登録されている前記テーブルから、前記検索対象となったデータセットの各項目データを取得し、取得した各項目データを結合して、前記検索対象となったデータセットとする、付記2に記載の電子データ管理システム。
【0154】
(付記4)
前記サーバ装置が、前記入力されたデータセットに含まれる全部または一部の項目データを暗号化する、暗号化部を更に備え、
前記データ登録部が、暗号化された項目データについては、暗号化された状態で前記テーブルに登録する、付記1〜3のいずれかに記載の電子データ管理システム。
【0155】
(付記5)
前記データベース装置が、更に、権限レベル毎に、データセットに対して実行できる処理の範囲を規定する、アクセス権限情報を格納し、
前記サーバ装置が、権限レベルが入力されると、前記データベース装置から、入力された権限レベルについてのアクセス権限情報を取得し、取得したアクセス権限情報が規定する範囲で処理を実行する、
付記1〜4のいずれかに記載の電子データ管理システム。
【0156】
(付記6)
複数の項目データを含むデータセットを管理するためのサーバ装置であって、
データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、
ことを特徴とするサーバ装置。
【0157】
(付記7)
項目テーブル操作部を更に備え、
前記項目テーブル操作部は、
前記データベース装置から、前記入力されたデータセットのいずれかの項目データと同一種類の項目データが登録されているテーブルを特定し、
特定したテーブルに登録されている前記算出値と前記同一種類の項目データに対応する係数とから、前記同一種類の項目データを含むデータセットの固有の番号を特定し、
前記データ登録部が、前記項目テーブル操作部が特定した番号に基づいて、採番を行う、付記6に記載のサーバ装置。
【0158】
(付記8)
データ結合部を更に備え、
前記データベース検索部が、データセットの検索が指示された場合に、前記データベース装置から、検索対象となったデータセットに対応する前記係数セットを取得し、
前記項目テーブル操作部が、前記データベース装置から、前記検索対象となったデータセットのいずれかの項目データが登録されているテーブルを特定し、特定したテーブルに登録されている前記算出値と、取得された前記係数セットにおける当該項目データに対応する前記係数とから、前記検索対象となったデータセットの固有の番号を特定し、
前記データ結合部は、前記項目テーブル操作部が特定した前記固有の番号に基づき、前記検索対象となったデータセットの各項目データについての前記算出値を特定し、
特定した前記算出値を用いて、前記データベース装置に登録されている前記テーブルから、前記検索対象となったデータセットの各項目データを取得し、取得した各項目データを結合して、前記検索対象となったデータセットとする、付記7に記載のサーバ装置。
【0159】
(付記9)
前記入力されたデータセットに含まれる全部または一部の項目データを暗号化する、暗号化部を更に備え、
前記データ登録部が、暗号化された項目データについては、暗号化された状態で前記テーブルに登録する、付記6〜8のいずれかに記載のサーバ装置。
【0160】
(付記10)
前記データベース装置が、更に、権限レベル毎に、データセットに対して実行できる処理の範囲を規定する、アクセス権限情報を格納しており、
権限レベルが入力されると、前記データベース装置から、入力された権限レベルについてのアクセス権限情報を取得する、アクセス権限情報取得部を更に備え、
前記データベース検索部、前記データ登録部、前記項目テーブル操作部、及び前記データ結合部が、前記アクセス権限情報取得部が取得したアクセス権限情報が規定する範囲で処理を実行する、
付記8に記載のサーバ装置。
【0161】
(付記11)
複数の項目データを含むデータセットを管理するための方法であって、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を有する、ことを特徴とする電子データ管理方法。
【0162】
(付記12)
(c)前記データベース装置から、前記入力されたデータセットのいずれかの項目データと同一種類の項目データが登録されているテーブルを特定し、
特定したテーブルに登録されている前記算出値と前記同一種類の項目データに対応する係数とから、前記同一種類の項目データを含むデータセットの固有の番号を特定する、ステップを更に有し、
前記(b)のステップにおいて、前記(c)のステップで特定した番号に基づいて、採番を行う、付記11に記載の電子データ管理方法。
【0163】
(付記13)
(d)データセットの検索が指示された場合に、前記データベース装置から、検索対象となったデータセットに対応する前記係数セットを取得する、ステップと、
(e)前記データベース装置から、前記検索対象となったデータセットのいずれかの項目データが登録されているテーブルを特定し、特定したテーブルに登録されている前記算出値と、取得された前記係数セットにおける当該項目データに対応する前記係数とから、前記検索対象となったデータセットの固有の番号を特定する、ステップと、
(f)前記(e)のステップで特定した前記固有の番号に基づき、前記検索対象となったデータセットの各項目データについての前記算出値を特定し、特定した前記算出値を用いて、前記データベース装置に登録されている前記テーブルから、前記検索対象となったデータセットの各項目データを取得し、取得した各項目データを結合して、前記検索対象となったデータセットとする、ステップと、
を更に有する、付記12に記載の電子データ管理方法。
【0164】
(付記14)
(g)前記入力されたデータセットに含まれる全部または一部の項目データを暗号化する、ステップを更に有し、
前記(b)のステップにおいて、暗号化された項目データについては、暗号化された状態で前記テーブルに登録する、付記11〜13のいずれかに記載の電子データ管理方法。
【0165】
(付記15)
前記データベース装置が、更に、権限レベル毎に、データセットに対して実行できる処理の範囲を規定する、アクセス権限情報を格納しており、
(h)権限レベルが入力されると、前記データベース装置から、入力された権限レベルについてのアクセス権限情報を取得する、ステップを更に有し、
前記(a)のステップ〜前記(f)のステップが、前記(h)のステップで取得したアクセス権限情報が規定する範囲で実行される、
付記13に記載の電子データ管理方法。
【0166】
(付記16)
複数の項目データを含むデータセットの管理をコンピュータによって実行するためのプログラムであって、
前記コンピュータに、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を実行させるプログラム。
【0167】
(付記17)
(c)前記データベース装置から、前記入力されたデータセットのいずれかの項目データと同一種類の項目データが登録されているテーブルを特定し、
特定したテーブルに登録されている前記算出値と前記同一種類の項目データに対応する係数とから、前記同一種類の項目データを含むデータセットの固有の番号を特定する、ステップを、更に前記コンピュータに実行させ、
前記(b)のステップにおいて、前記(c)のステップで特定した番号に基づいて、採番を行う、付記16に記載のプログラム。
【0168】
(付記18)
(d)データセットの検索が指示された場合に、前記データベース装置から、検索対象となったデータセットに対応する前記係数セットを取得する、ステップと、
(e)前記データベース装置から、前記検索対象となったデータセットのいずれかの項目データが登録されているテーブルを特定し、特定したテーブルに登録されている前記算出値と、取得された前記係数セットにおける当該項目データに対応する前記係数とから、前記検索対象となったデータセットの固有の番号を特定する、ステップと、
(f)前記(e)のステップで特定した前記固有の番号に基づき、前記検索対象となったデータセットの各項目データについての前記算出値を特定し、特定した前記算出値を用いて、前記データベース装置に登録されている前記テーブルから、前記検索対象となったデータセットの各項目データを取得し、取得した各項目データを結合して、前記検索対象となったデータセットとする、ステップと、
を、更に前記コンピュータに実行させる、付記17に記載のプログラム。
【0169】
(付記19)
(g)前記入力されたデータセットに含まれる全部または一部の項目データを暗号化する、ステップを、更に前記コンピュータに実行させ、
前記(b)のステップにおいて、暗号化された項目データについては、暗号化された状態で前記テーブルに登録する、付記16〜18のいずれかに記載のプログラム。
【0170】
(付記20)
前記データベース装置が、更に、権限レベル毎に、データセットに対して実行できる処理の範囲を規定する、アクセス権限情報を格納しており、
(h)権限レベルが入力されると、前記データベース装置から、入力された権限レベルについてのアクセス権限情報を取得する、ステップを、更に前記コンピュータに実行させ、
前記(a)のステップ〜前記(f)のステップが、前記(h)のステップで取得したアクセス権限情報が規定する範囲で実行される、
付記18に記載のプログラム。
【産業上の利用可能性】
【0171】
以上、本発明によれば、コンピュータシステムにおいて、データベースに登録されるデータのセキュリティの一層の向上が図られる。本発明は、データベースを利用する種々のコンピュータシステムに有用である。
【符号の説明】
【0172】
10 電子データ管理システム
20 Webサーバ装置
21 アプリケーションプログラム
22 データ制御部
30 データベース装置
40 端末
51 登録データ
52 利用者情報
53 データ名
54 検索データ
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
201 データ受取部
202 アクセス権限情報取得部
203 データベース検索部
204 項目テーブル操作部
205 暗号化部
206 復号化部
207 データ登録部
208 データ結合部
209 返却部
301 管理テーブル
302 項目テーブル
303 結合情報テーブル
304 アクセスレベルテーブル
305 アクセス権限テーブル

【特許請求の範囲】
【請求項1】
複数の項目データを含むデータセットを管理するための電子データ管理システムであって、
サーバ装置と、データベース装置と、を備え、
前記データベース装置は、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む係数セットを格納し、
前記サーバ装置は、
データセットが入力されると、入力されたデータセットの種類に基づいて、前記データベース装置から、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、
ことを特徴とする電子データ管理システム。
【請求項2】
前記サーバ装置が、項目テーブル操作部を更に備え、
前記項目テーブル操作部は、
前記データベース装置から、前記入力されたデータセットのいずれかの項目データと同一種類の項目データが登録されているテーブルを特定し、
特定したテーブルに登録されている前記算出値と前記同一種類の項目データに対応する係数とから、前記同一種類の項目データを含むデータセットの固有の番号を特定し、
前記データ登録部が、前記項目テーブル操作部が特定した番号に基づいて、採番を行う、請求項1に記載の電子データ管理システム。
【請求項3】
前記サーバ装置が、データ結合部を更に備え、
前記データベース検索部が、データセットの検索が指示された場合に、前記データベース装置から、検索対象となったデータセットに対応する前記係数セットを取得し、
前記項目テーブル操作部が、前記データベース装置から、前記検索対象となったデータセットのいずれかの項目データが登録されているテーブルを特定し、特定したテーブルに登録されている前記算出値と、取得された前記係数セットにおける当該項目データに対応する前記係数とから、前記検索対象となったデータセットの固有の番号を特定し、
前記データ結合部は、前記項目テーブル操作部が特定した前記固有の番号に基づき、前記検索対象となったデータセットの各項目データについての前記算出値を特定し、
特定した前記算出値を用いて、前記データベース装置に登録されている前記テーブルから、前記検索対象となったデータセットの各項目データを取得し、取得した各項目データを結合して、前記検索対象となったデータセットとする、請求項2に記載の電子データ管理システム。
【請求項4】
前記サーバ装置が、前記入力されたデータセットに含まれる全部または一部の項目データを暗号化する、暗号化部を更に備え、
前記データ登録部が、暗号化された項目データについては、暗号化された状態で前記テーブルに登録する、請求項1〜3のいずれかに記載の電子データ管理システム。
【請求項5】
前記データベース装置が、更に、権限レベル毎に、データセットに対して実行できる処理の範囲を規定する、アクセス権限情報を格納し、
前記サーバ装置が、権限レベルが入力されると、前記データベース装置から、入力された権限レベルについてのアクセス権限情報を取得し、取得したアクセス権限情報が規定する範囲で処理を実行する、
請求項1〜4のいずれかに記載の電子データ管理システム。
【請求項6】
複数の項目データを含むデータセットを管理するためのサーバ装置であって、
データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、データベース検索部と、
前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、データ登録部と、を備えている、
ことを特徴とするサーバ装置。
【請求項7】
複数の項目データを含むデータセットを管理するための方法であって、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を有する、ことを特徴とする電子データ管理方法。
【請求項8】
複数の項目データを含むデータセットの管理をコンピュータによって実行するためのプログラムであって、
前記コンピュータに、
(a)データセットが入力されると、予めデータセットの種類毎に設定され、且つ、各項目データに対応した係数を含む、係数セットを格納している、データベース装置から、入力されたデータセットの種類に基づいて、前記入力されたデータセットに対応する前記係数セットを取得する、ステップと、
(b)前記入力されたデータセットに固有の番号を採番し、そして、前記入力されたデータセットの各項目データを、取得された前記係数セットにおける当該項目データに対応する係数と採番した前記番号とから算出された、算出値と共に、前記データベース装置における別々のテーブルに登録する、ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−159919(P2012−159919A)
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願番号】特願2011−17692(P2011−17692)
【出願日】平成23年1月31日(2011.1.31)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】