IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2024-151833データ開示装置、及びデータ開示方法
<>
  • 特開-データ開示装置、及びデータ開示方法 図1
  • 特開-データ開示装置、及びデータ開示方法 図2
  • 特開-データ開示装置、及びデータ開示方法 図3
  • 特開-データ開示装置、及びデータ開示方法 図4
  • 特開-データ開示装置、及びデータ開示方法 図5
  • 特開-データ開示装置、及びデータ開示方法 図6
  • 特開-データ開示装置、及びデータ開示方法 図7
  • 特開-データ開示装置、及びデータ開示方法 図8
  • 特開-データ開示装置、及びデータ開示方法 図9
  • 特開-データ開示装置、及びデータ開示方法 図10
  • 特開-データ開示装置、及びデータ開示方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151833
(43)【公開日】2024-10-25
(54)【発明の名称】データ開示装置、及びデータ開示方法
(51)【国際特許分類】
   G06F 21/62 20130101AFI20241018BHJP
   H04L 9/08 20060101ALI20241018BHJP
   G06F 16/2457 20190101ALI20241018BHJP
【FI】
G06F21/62
H04L9/08 F
H04L9/08 D
G06F16/2457
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023065569
(22)【出願日】2023-04-13
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】樫山 俊彦
(72)【発明者】
【氏名】茂木 和彦
(72)【発明者】
【氏名】西川 記史
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175BA01
5B175GB03
(57)【要約】
【課題】利用目的に合致した場合にのみ、データを開示するとともに、開示後のデータが他の用途で参照されてしまうことに対するリスクを低減する。
【解決手段】データ開示装置は、ユーザからのクエリに応じてデータを開示するデータ開示装置であって、1以上の演算装置と、1以上のメモリリソースと、1以上の記憶装置と、を備え、前記演算装置は、前記クエリを受け付け、前記クエリが所定のルールを順守しているか否かを確認し、前記クエリが前記所定のルールを順守していることを確認できた場合、前記クエリに応じたクエリ処理としてテーブルデータを検索することによりクエリ実行結果を取得し、前記ユーザが保持する秘密鍵に対応する公開鍵を用いて前記クエリ実行結果を暗号化し、暗号化した前記クエリ実行結果を前記ユーザに提供することを特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザからのクエリに応じてデータを開示するデータ開示装置であって、
1以上の演算装置と、1以上のメモリリソースと、1以上の記憶装置と、を備え、
前記演算装置は、
前記クエリを受け付け、
前記クエリが所定のルールを順守しているか否かを確認し、
前記クエリが前記所定のルールを順守していることを確認できた場合、前記クエリに応じたクエリ処理としてテーブルデータを検索することによりクエリ実行結果を取得し、
前記ユーザが保持する秘密鍵に対応する公開鍵を用いて前記クエリ実行結果を暗号化し、
暗号化した前記クエリ実行結果を前記ユーザに提供する
ことを特徴とするデータ開示装置。
【請求項2】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記ユーザからの1以上の前記公開鍵を受け付けて前記記憶装置に登録し、
前記クエリ実行結果の暗号化に用いた前記公開鍵の情報を前記ユーザに提供する
ことを特徴とするデータ開示装置。
【請求項3】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記記憶装置に格納された前記テーブルデータを検索することにより前記クエリ実行結果を取得する
ことを特徴とするデータ開示装置。
【請求項4】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
ネットワークを介して接続可能な1以上のデータベースに格納された暗号化された状態の前記テーブルデータを検索することによって、暗号化された状態の前記クエリ実行結果を取得し、
前記データベースから取得した、1以上の暗号化された状態の前記クエリ実行結果を復号して統合する
ことを特徴とするデータ開示装置。
【請求項5】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記ユーザの属性に基づいて前記クエリに適用する前記ルールを特定する
ことを特徴とするデータ開示装置。
【請求項6】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記ユーザが認証された場合のみ、前記クエリ処理を実行する
ことを特徴とするデータ開示装置。
【請求項7】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記テーブルデータの保有者から前記ユーザに対する前記データの開示について合意が得られた場合のみ、前記クエリ処理を実行する
ことを特徴とするデータ開示装置。
【請求項8】
請求項1に記載のデータ開示装置であって、
前記演算装置は、
前記クエリ実行結果を前記記憶装置に格納し、
前記記憶装置に格納した前記クエリ実行結果に対応するクエリを再び受け付けた場合、前記クエリ処理を省略して、前記記憶装置に格納した前記クエリ実行結果を流用する
ことを特徴とするデータ開示装置。
【請求項9】
ユーザからのクエリに応じてデータを開示するデータ開示装置によるデータ開示方法であって、
前記データ開示装置は、1以上の演算装置と、1以上のメモリリソースと、1以上の記憶装置と、を有し、
前記データ開示方法は、
前記演算装置が、前記クエリを受け付け、
前記演算装置が、前記クエリが所定のルールを順守しているか否かを確認するステップと、
前記演算装置が、前記クエリが前記所定のルールを順守していることを確認できた場合、前記クエリに応じたクエリ処理としてテーブルデータを検索することによりクエリ実行結果を取得するステップと、
前記演算装置が、前記ユーザが保持する秘密鍵に対応する公開鍵を用いて前記クエリ実行結果を暗号化するステップと、
前記演算装置が、暗号化した前記クエリ実行結果を前記ユーザに提供するステップと、
を含むことを特徴とするデータ開示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ開示装置、及びデータ開示方法に関する。
【背景技術】
【0002】
例えば、あるメーカに対して同一の部品を供給する複数のサプライヤが存在する場合、競合するサプライヤ間で、部品に関する各種の情報(原料調達先、原料価格、製造コスト、納品価格等)を共有することは通常あり得ない。
【0003】
しかしながら、例えば、災害や戦争等の有事に際しては、部品の欠品、納期遅延、品質低下等を防ぐため、競合するサプライヤ間で部品に関するデータを共有する必要が生じ得る。ただし、自社のデータを競合他社に開示するに際しては、誤ってデータが他に流出した場合でも、当該データを秘匿できる仕組みが必要である。
【0004】
データの開示、秘匿に関し、例えば特許文献1には「機密情報を含むデータを所有するデータホルダ端末から秘匿情報処理サーバに提供される前記データの暗号化データに対してデータ処理を行う秘匿情報処理システムであって、前記秘匿情報処理サーバは、前記暗号化データに対する処理要求を受信する処理要求実行部と、前記暗号化データを暗号化したまま所定条件に合致するデータを抽出する秘匿抽出の実行を指示する秘匿抽出処理部と、安全な信頼領域において当該信頼領域のみで利用可能な暗号鍵を用いて前記暗号化データを復号し処理する信頼領域処理部と、前記秘匿抽出を実行可能な秘匿抽出可能暗号で暗号化された前記暗号化データを格納する暗号化データ保持部と、を備え、前記処理要求実行部が前記処理要求を受信すると、前記信頼領域処理部が、前記処理要求及び前記暗号鍵に基づいて、前記処理要求における処理対象の条件に合致するデータの抽出を前記秘匿抽出によって行う秘匿抽出クエリを生成し、前記秘匿抽出処理部が、前記生成された前記秘匿抽出クエリの実行を指示することによって、前記暗号化データ保持部から暗号化したまま前記処理対象の暗号化データを抽出し、前記信頼領域処理部が、前記秘匿抽出処理部が抽出した前記処理対象の暗号化データを前記暗号鍵で復号して、前記処理要求が要求するデータ処理を実行し、前記処理要求実行部が、前記データ処理の実行結果を前記処理要求の送信元に返信することを特徴とする秘匿情報処理システム」が記載されている。
【0005】
また、例えば特許文献2には「加工処理の対象となるソースデータから生成される二次データが、統計情報を用いるデータ取扱いルールに準拠しているか否かを判定する判定部と、前記判定部による判定結果に応じた処理を行うデータ処理部と、を備え、前記判定部は、前記二次データの生成に先立って、前記加工処理の対象となる前記ソースデータから前記統計情報を推定し、前記推定された前記統計情報に基づいて生成される前記二次データが前記統計情報の統計値を満たしているか否かに基づいて、前記データ取扱いルールに準拠しているか否かを判定し、前記データ処理部は、前記データ取扱いルールに準拠していると判定された場合に前記加工処理を実行して前記二次データを生成し、前記データ取扱いルールに準拠していないと判定された場合に前記加工処理を実行しない、データ管理装置」が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2021-39143号公報
【特許文献2】特開2022-137857号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術によれば、いわゆる検索可能暗号を用いてデータを公開できる。しかしながら、利用者側に提供されたデータが利用者によって当初の利用目的の範囲内でのみ利用されているか否かを確認することはできない。
【0008】
特許文献2に記載の技術によれば、生成される二次データがデータ取扱いルールに準拠していない場合にソースデータを二次データに加工する加工処理を行わないことにより、データ準備工数を削減できる。しかしながら、利用者側に提供された二次データについては、だれがどのような目的であっても参照可能となっている。
【0009】
本発明は、上記の点に鑑みてなされたものであって、利用目的に合致した場合にのみ、データを開示するとともに、開示後のデータが他の用途で参照されてしまうことに対するリスクを低減できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
【0011】
上記課題を解決するため、本発明の一態様に係るデータ開示装置は、ユーザからのクエリに応じてデータを開示するデータ開示装置であって、1以上の演算装置と、1以上のメモリリソースと、1以上の記憶装置と、を備え、前記演算装置は、前記クエリを受け付け、前記クエリが所定のルールを順守しているか否かを確認し、前記クエリが前記所定のルールを順守していることを確認できた場合、前記クエリに応じたクエリ処理としてテーブルデータを検索することによりクエリ実行結果を取得し、前記ユーザが保持する秘密鍵に対応する公開鍵を用いて前記クエリ実行結果を暗号化し、暗号化した前記クエリ実行結果を前記ユーザに提供することを特徴とする。
【発明の効果】
【0012】
本発明によれば、利用目的に合致した場合にのみ、データを開示できるとともに、開示後のデータが他の用途で参照されてしまうことに対するリスクを低減できる。
【0013】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0014】
図1図1は、本発明の第1の実施形態に係るデータ開示システムの構成例を示す図である。
図2図2は、ルール管理テーブルの一例を示す図である。
図3図3は、ユーザテーブルの一例を示す図である。
図4図4は、公開鍵管理テーブルの一例を示す図である。
図5図5は、ルール順守公開鍵対応管理テーブルの一例を示す図である。
図6図6は、秘密鍵管理テーブルの一例を示す図である。
図7図7は、第1の実施形態に対応するデータ開示処理の一例を説明するフローチャートである。
図8図8は、UI画面の表示例を示す図である。
図9図9は、UI画面の表示例を示す図である。
図10図10は、本発明の第2の実施形態に係るデータ開示システムの構成例を示す図である。
図11図11は、第2の実施形態に対応するデータ開示処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の複数の実施形態について図面に基づいて説明する。なお、各実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合、及び原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須ではない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除しない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似又は類似するもの等を含む。
【0016】
<本発明の第1の実施形態に係るデータ開示システム10-1の構成例>
図1は、本発明の第1の実施形態に係るデータ開示システム10-1の構成例を示している。
【0017】
データ開示システム10-1は、例えば、ユーザA,B,Cからのクエリに応じ、データ参照の利用目的が所定のルールに合致している場合にのみ、クエリに応じたデータを開示するようにするものである。
【0018】
データ開示システム10-1は、データ開示装置20、及びデータ開示装置20とネットワーク11を介して接続されたクライアント装置30A~30Cを備える。
【0019】
ネットワーク11は、LAN(Local Area Network)やWAN(Wide Area Network)、インターネット等の双方向通信網である。クライアント装置30A~30Cは、パーソナルコンピュータ等の一般的なコンピュータである。
【0020】
データ開示装置20は、CPU(Central Processing Unit)等のプロセッサ21、DRAM(Dynamic Random Access Memory)等のメモリ22、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ23、Ethernet(商標)カードやWi-Fi(商標)アダプタ等の通信IF(Interface)24、並びにI/O25を介して接続されたディスプレイ等の出力デバイス26、及びキーボードやマウス、メディアドライブ等の入力デバイス27を備えるサーバコンピュータやパーソナルコンピュータ等の一般的なコンピュータからなる。プロセッサ21、メモリ22、及びストレージ23は、それぞれ本発明の演算装置、メモリリソース、及び記憶装置に相当する。
【0021】
プロセッサ21は、メモリ22に格納されたプログラム221を実行することにより、公開鍵登録部211、クエリ受付部212、データ開示制御部213、ルール順守チェック部214、クエリ実行部215、暗号化部216、及び認証・合意管理部217の各機能ブロックを実現する。
【0022】
なお、プログラム221は、予めメモリ22に格納しておいてもよいし、必要な時に、ストレージ23から読み出したり、入力デバイス27から入力したり、通信IF24を介して他の装置からダウンロードしたりしてメモリ22に格納するようにしてもよい。公開鍵登録部211は、ユーザから送信された一つ以上の公開鍵を公開鍵管理テーブル236に登録する。
【0023】
クエリ受付部212は、UI画面1000(図8)に対してユーザが入力したクエリを受け付け、クエリIDを発行してルール順守公開鍵対応管理テーブル237に登録する。
【0024】
データ開示制御部213は、ユーザがクエリを入力するための画面であって、且つ、クエリ実行結果を提示するUI画面1000(図8)をクライアント装置30A~30Cに表示させる。
【0025】
ルール順守チェック部214は、ユーザからのクエリ、又は当該クエリの実行結果が所定のルールを順守しているか否かを確認し、その確認結果をクエリIDに対応付けてルール順守公開鍵対応管理テーブル237に登録する。
【0026】
クエリ実行部215は、ユーザからのクエリに応じたクエリ処理を実行する。例えば、クエリ実行部215は、クエリ処理として、クエリに合致するデータをテーブルデータ231から抽出、取得する。そして、クエリ実行部215は、クエリ実行結果(テーブルデータ231から抽出、取得したデータ)をクエリIDに対応付けてルール順守公開鍵対応管理テーブル237に登録する。
【0027】
暗号化部216は、クエリ実行部215によるクエリ実行結果を、対応するクエリを入力したユーザのユーザIDに対応付けて公開鍵管理テーブル236に登録されている公開鍵を用いて暗号化する。なお、同一のユーザIDに対応付けて複数の公開鍵が公開鍵管理テーブル236に登録されている場合、暗号化部216が一つの公開鍵を選択して暗号化に用いればよい。
【0028】
認証・合意管理部217は、所定の認証サーバからユーザ認証情報を取得してルール順守公開鍵対応管理テーブル237に登録する。ユーザ認証情報の項目を設けたことにより、認証されたユーザにのみ、データを開示することができる。また、認証・合意管理部217は、クエリを送信したユーザに対してデータを開示することに関し、データ保有者の合意を取得して、ルール順守公開鍵対応管理テーブル237に登録する。データ保有者の合意の項目を設けたことにより、データ保有者の合意が得られている場合のみ、データを開示することができる。
【0029】
ストレージ23には、そのDBデータ領域にテーブルデータ231、及びビューデータ232が格納される。テーブルデータ231には、ユーザA,B,C等に開示するデータが記録されている。ストレージ23にテーブルデータ231を格納することにより、開示するデータを一元的に管理できる。ビューデータ232は、クエリ実行部215によって実行されたクエリ実行結果であり、以前に実行済みのクエリが再び受け付けられた場合に流用される。ビューデータ232を記録しておくことにより、以前に実行済みのクエリが再び受け付けられた場合のクエリ処理を省略できる。また、ストレージ23には、ルール管理テーブル234、ユーザテーブル235、公開鍵管理テーブル236、及びルール順守公開鍵対応管理テーブル237が格納される。
【0030】
ルール管理テーブル234は、ストレージ23に予め格納されている。ルール管理テーブル234には、クエリに関するルールや、クエリ実行結果に関するルールが予め登録されている。
【0031】
ユーザテーブル235は、ストレージ23に予め格納されている。ユーザテーブル235には、ユーザの属性(属する国(地域)、組織等)が登録されている。
【0032】
公開鍵管理テーブル236には、公開鍵登録部211により、ユーザから送信された公開鍵が登録される。
【0033】
ルール順守公開鍵対応管理テーブル237には、ユーザから送信されたクエリを処理する過程における各種の情報が登録される。各テーブルの詳細については後述する。
【0034】
通信IF24は、ネットワーク11を介してクライアント装置30等と接続し、各種のデータ、情報を通信する。I/O25は、出力デバイス26に対して各種データを出力し、入力デバイス27から入力されるデータを受け付ける。
【0035】
プロセッサ21が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介してデータ開示装置20に提供され、非一時的記憶媒体であるストレージ23に格納される。このため、データ開示装置20は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0036】
また、データ開示装置20は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。例えば、データ開示装置20の機能を実現する複数のプログラムは、各々が別個の物理的又は論理的計算機上で動作するものでも、複数が組み合わされて一つの物理的又は論理的計算機上で動作するものでもよい。
【0037】
ユーザA,B,Cそれぞれが使用するクライアント装置30A~30Cは、パーソナルコンピュータ等の一般的なコンピュータである。クライアント装置30Aは、クライアント装置30Aがデータ開示装置20に登録した公開鍵(暗号鍵)に対応する秘密鍵(復号鍵)を管理する秘密鍵管理テーブル31を有する。秘密鍵管理テーブル31の詳細については後述する。クライアント装置30B,30Cについても同様である。
【0038】
以下、ユーザA,B,C、及びクライアント装置30A~30Cを個々に区別する必要がない場合、単に、ユーザ、及びクライアント装置30と称する。
【0039】
次に、図2は、ルール管理テーブル234の一例を示している。ルール管理テーブル234には、ルールIDに対応付けて、ルールの内容、適用国(地域)、及び適用組織の各項目の情報が登録されている。ただし、ルール管理テーブル234に記録される項目は上述した例に限られない。
【0040】
ルールIDの項目には、当該ルールを一意に識別するための識別情報が登録されている。適用国(地域)、及び適用組織の項目には、適用当該ルールの適用対象とするユーザの属性(国(地域)、組織)が登録されている。適用国(地域)、及び適用組織の項目を設けたことにより、ルールの適用対象を設定できる。
【0041】
例えば、図2のルールIDが「Rule1」であるルールは、その内容が「日集計値の場合、・・・」であり、適用国が「日本」であり、適用組織が「T社グループ」であることを表している。
【0042】
次に、図3は、ユーザテーブル235の一例を示している。ユーザテーブル235には、ユーザIDに対応付けて、ユーザが属する国(地域)、及び組織の各項目の情報が登録されている。ただし、ユーザテーブル235に登録される項目は上述した例に限られない。ユーザIDの項目には、当該ユーザを一意に識別するための識別情報が登録されている。
【0043】
例えば、図3のユーザIDが「UserA」であるユーザは、属する国、及び組織が「日本」、「T社」であることを表している。
【0044】
次に、図4は、公開鍵管理テーブル236の一例を示している。公開鍵管理テーブル236には、ユーザIDに対応付けて、当該ユーザから送信された公開鍵が登録される。ただし、ルール管理テーブル234に登録される項目は上述した例に限られない。
【0045】
例えば、図4のユーザIDが「UserA」であるユーザが送信した公開鍵は、「KeyA_1~KeyA_10」の10種類であることを表している。ユーザは複数の公開鍵を登録でき、当該複数の公開鍵にそれぞれ対応する秘密鍵を保持しているので、仮に秘密鍵の一部が流出したとしても、流出していない秘密鍵に対応する公開鍵を用いて開示するデータを暗号化すれば、開示したデータの漏洩を抑止できる。
【0046】
次に、図5は、ルール順守公開鍵対応管理テーブル237の一例を示している。ルール順守公開鍵対応管理テーブル237には、クエリIDに対応付けて、ルール順守結果、違反ルール、認証ユーザ、国(地域)、組織、対象テーブルデータ、データ保有者、保有者合意、公開鍵番号、及びクエリ実行結果の各項目の情報が登録される。
【0047】
クエリIDの項目には、ユーザが送信されたクエリを一意に識別するための識別情報が登録される。ルール順守結果の項目には、当該クエリが当該クエリに適用された全てのルールを順守しているか否かを表す情報が登録される。違反ルールの項目には、当該クエリが順守していないルールのルールIDが登録される。認証ユーザ、国(地域)、及び組織の項目には、当該クエリを送信したユーザのユーザID、属する国(地域)、及び組織が登録される。対象テーブルの項目には、当該クエリによって要求されたデータを含むテーブルデータ231の識別情報が登録される。データ保有者、及び保有者合意の項目には、当該クエリによって要求されたテーブルデータ231の保有者の識別情報、及び当該保有者のデータ開示に対する合意の有無が登録される。公開鍵番号の項目には、当該クエリに応じてデータを開示する際のデータの暗号化に用いた公開鍵の番号が登録される。クエリ実行結果には、当該クエリの結果を表すビューデータ232へのパスが登録される。
【0048】
例えば、図5のクエリIDが「Q1」であるクエリは、ルールIDが「Rule1」であるルールに順守しておらず、当該クエリは実行されなかったことを表している。また例えば、クエリIDが「Q2」であるクエリは、ルール順守結果が「OK」であり、他に問題がないため、クエリが実行されて、その結果が公開鍵「KeyA_1」を用いて暗号化されてユーザに開示されたことを表している。さらに、例えば、クエリIDが「Q4」であるクエリは、ユーザID「UserA」、「UserB」、「UserC」から送信されているが、「UserA」又は「UserB」の一方からのクエリが実行され、当該一方からのクエリを実行した結果「View4」がビューデータ232として保存され、他方に対するクエリ実行結果として流用されたことを表している。また、「UserC」からのクエリ「Q4」については、対象テーブル「Table2」の保有者である「Org2」が「UserC」又はその属性(国や組織)に対するデータの開示に合意していないため、当該クエリは実行されなかったことを表している。
【0049】
次に、図7は、第1の実施形態によるデータ開示処理の一例を説明するフローチャートである。
【0050】
当該データ開示処理の前提として、データ開示装置20のストレージ23には、テーブルデータ231、ルール管理テーブル234、及びユーザテーブル235が格納済みであるとする。また、クライアント装置30には、データ開示制御部213によってUI画面1000(図8)が表示されているものとする。
【0051】
図8、及び図9は、クライアント装置30に表示されたUI画面1000の表示例を示している。UI画面1000は、ユーザがクエリを入力するための入力欄1001、ユーザがクエリの実行を指示するための「実行」ボタン1002、クエリ実行結果を表示するための表示欄1003が設けられている。なお、図8はクエリ実行結果が得られた場合、図9はクエリ実行結果が得られなかった場合の表示例である。
【0052】
当該データ開示処理は、例えば、ユーザが、UI画面1000の入力欄1001にクエリを入力し、「実行」ボタン1002を操作したことに応じ、当該クエリ、及びユーザの公開鍵がデータ開示装置20に送信されたことに応じて開始される。
【0053】
はじめに、公開鍵登録部211が、ユーザの公開鍵を公開鍵管理テーブル236に登録する(ステップS1)。次に、クエリ受付部212が、ユーザからのクエリにクエリIDを発行し、ルール順守公開鍵対応管理テーブル237に登録する(ステップS2)。
【0054】
次に、ルール順守チェック部214が、ユーザテーブル235を参照してユーザの属性(国、組織)を確認し、ルール管理テーブル234を参照してユーザからのクエリに適用するルールを特定する。そして、ルール順守チェック部214が、当該クエリが当該ルールを順守しているか否かを確認し、当該クエリのクエリIDに対応付けて、ルール順守結果、違反ルール、認証ユーザ、国(地域)、組織、対象テーブル、及びデータ保有者の各項目の情報をルール順守公開鍵対応管理テーブル237に登録する(ステップS3)。ただし、当該ルールの内容によって、クエリ実行結果を確認しなければ当該ルールを順守しているか否かを判定できないルールがある。その場合、クエリ実行部215が、当該クエリに応じたクエリ処理を実行し、そのクエリ実行結果に基づいて、ルール順守チェック部214が、当該クエリが当該ルールを順守しているか否かを判定するようにすればよい。
【0055】
次に、ルール順守チェック部214が、ステップS3において当該クエリが当該ルールを順守していることを確認できたか否かを判定する(ステップS4)。
【0056】
ここで、ルール順守チェック部214が、当該クエリが当該ルールを順守していることを確認できたと判定した場合(ステップS4でYES)、次に、認証・合意管理部217が、クエリを送信したユーザの正当性を確認するためのユーザ認証情報を例えば、所定のサーバから取得し、また、データ保有者による当該ユーザに対するデータ提供の合意の有無を表す合意情報を当該データ保有者から取得する。そして、認証・合意管理部217が、ユーザ認証情報、及び合意情報を、当該クエリのクエリIDに対応付けて、ルール順守公開鍵対応管理テーブル237に登録する(ステップS5)。
【0057】
次に、クエリ実行部215が、当該クエリに応じたクエリ処理を実行する。具体的には、ストレージ23のDBデータ領域に格納されているテーブルデータ231から、当該クエリに合致するデータを抽出、取得する(ステップS6)。なお、上述したステップS3において、既に当該クエリに応じたクエリ処理を実行済みである場合、ステップS6ではクエリ処理を省略し、ステップS3で得たクエリ実行結果を流用してもよい。
【0058】
次に、クエリ実行部215が、クエリ実行結果(テーブルデータ231から抽出、取得したデータ)をビューデータ232としてストレージ23のDBデータ領域に格納し、当該ビューデータ232へのパスをルール順守公開鍵対応管理テーブル237に登録する(ステップS7)。
【0059】
次に、暗号化部216が、公開鍵管理テーブル236から、当該クエリを送信したユーザに対応する公開鍵を取得し、当該公開鍵を暗号鍵として用い、クエリ実行結果を暗号化する。さらに、暗号化部216が、当該公開鍵の番号をルール順守公開鍵対応管理テーブル237に登録する(ステップS8)。
【0060】
次に、データ開示制御部213が、暗号化されたクエリ実行結果へのパス(URL(Uniform Resource Locator)、及び暗号化に使用した公開鍵の番号をクライアント装置30に送信する(ステップS9)。これに応じ、クライアント装置30では、表示されているUI画面1000(図8)の表示欄1003に、暗号化されたクエリ実行結果へのパス(URL)が表示される。当該パスをユーザが操作すると、暗号化されたクエリ実行結果がクライアント装置30にダウンロードされ、暗号化に使用した公開鍵に対応する復号鍵を用いて復号されてユーザに提示される。
【0061】
なお、ステップS4において、ルール順守チェック部214が、当該クエリが当該ルールを順守していることを確認できなかったと判定した場合(ステップS4でNO)、次に、データ開示制御部213が、クエリ実行結果を提供できないことをクライアント装置30に送信する(ステップS10)。これに応じ、クライアント装置30では、表示されているUI画面1000(図9)の表示欄1003に、クエリ実行結果を提供できない旨のメッセージを表示する。以上が、第1の実施形態によるデータ開示処理の説明である。
【0062】
以上に説明したデータ開示処理によれば、予め定められたルールを順守できるクエリのみに応じて、データを開示することができる。なお、データを開示する際には、当該クエリを送信したユーザが管理している秘密鍵でのみ復号可能な暗号化データが提供されるので、仮に当該暗号化データが外部に流出した場合であっても、その内容が参照されることを抑止できる。
【0063】
<本発明の第2の実施形態に係るデータ開示システム10-2の構成例>
次に、図10は、本発明の第2の実施形態に係るデータ開示システム10-2の構成例を示している。
【0064】
データ開示システム10-2は、データ開示システム10-1(図1)に対し、データ開示装置20のプロセッサ21が実現する機能ブロックとして、クエリ結果統合部218を追加したものである。また、データ開示システム10-2は、データ開示システム10-1においてストレージ23に格納していたテーブルデータ231の代わりに、ネットワーク11に接続されたデータ保有者サーバ40に暗号化テーブルデータ41を格納したものである。なお、データ保有者サーバ40の数は、一つに限らず、複数存在し得る。
【0065】
データ開示システム10-2の構成要素のうち、クエリ結果統合部218、データ保有者DB40、及び暗号化テーブルデータ41以外のものについては、データ開示システム10-1の構成要素と共通であって同一の符号を付しているので、その説明は適宜省略する。
【0066】
データ開示システム10-2におけるクエリ実行部215とデータ保有者サーバ40とは、いわゆる検索可能暗号技術を用いることに、暗号化されている暗号化テーブルデータ41からクエリに応じたデータを暗号化された状態で抽出、取得することができる。
【0067】
クエリ結果統合部218は、1以上のデータ保有者DB40の暗号化テーブルデータ41から抽出、取得された、暗号化されたクエリ実行結果を、予め保持する復号鍵を用いて復号して統合する。
【0068】
次に、図11は、第2の実施形態によるデータ開示処理の一例を説明するフローチャートである。
【0069】
当該データ開示処理は、第1の実施形態によるデータ開示処理(図7)のステップS6を、ステップS21,S22に置換したものである。ステップS1~S5,S7~10については、第1の実施形態によるデータ開示処理(図7)と同様であるので、その説明は適宜省略する。
【0070】
ステップS5の後、次に、クエリ実行部215が、当該クエリを実行する。具体的には、データ保有者DB40に格納されている暗号化テーブルデータ41から、当該クエリに応じたデータを抽出、取得する(ステップS21)。次に、クエリ結果統合部218が、クエリ実行部215によるクエリ実行結果である、暗号化された状態のクエリ実行結果を、予め保持する復号鍵を用いて復号して統合する(ステップS21)。
【0071】
次に、クエリ実行部215が、復号されて統合されたクエリ実行結果をビューデータ232としてストレージ23のDBデータ領域に格納し、当該ビューデータ232へのパスをルール順守公開鍵対応管理テーブル237に登録する(ステップS7)。
【0072】
これ以降、図7のステップS8~S10と同様の処理が行われる。以上が、第2の実施形態によるデータ開示処理の説明である。
【0073】
以上に説明した第2の実施形態によるデータ開示処理によれば、第1の実施形態と同様の作用、効果が得られることに加え、開示するデータ(テーブルデータ)をデータ保有者DB40にて暗号化された状態で管理できる。
【0074】
本発明は、上述した実施形態に限定されるものではなく、様々な変形が可能である。例えば、上述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えたり、追加したりすることが可能である。
【0075】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0076】
10-1,10-2・・・データ開示システム、11・・・ネットワーク、20・・・データ開示装置、21・・・プロセッサ、22・・・メモリ、23・・・ストレージ、26・・・出力デバイス、27・・・入力デバイス、30・・・クライアント装置、31・・・秘密鍵管理テーブル、40・・・データ保有者サーバ、41・・・暗号化テーブルデータ、211・・・公開鍵登録部、212・・・クエリ受付部、213・・・データ開示制御部、214・・・ルール順守チェック部、215・・・クエリ実行部、216・・・暗号化部、217・・・認証・合意管理部、218・・・クエリ結果統合部、221・・・プログラム、231・・・テーブルデータ、232・・・ビューデータ、234・・・ルール管理テーブル、235・・・ユーザテーブル、236・・・公開鍵管理テーブル、237・・・ルール順守公開鍵管理テーブル、237・・・ルール順守公開鍵対応管理テーブル、237・・・ルール順守公開鍵対応テーブル、1000・・・UI画面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11