(57)【要約】  第１計算機、第２計算機及び第３計算機を有する計算機システムが実行するデータ処理方法であって、第１計算機が、第１暗号化鍵を用いて第１データを暗号化し、第１暗号化鍵を用いて暗号化された第１データを第３計算機に送信する手順と、第２計算機が、第２暗号化鍵を用いて第２データを暗号化し、第２暗号化鍵を用いて暗号化された第２データを第３計算機に送信する手順と、前記第３計算機が、第２暗号化鍵から第１暗号化鍵への鍵付替え鍵を用いて、第２暗号化鍵を用いて暗号化された第２データから、第１暗号化鍵を用いて暗号化された第２データを生成する手順と、を含む。
2017149595.tif 000002
【特許請求の範囲】
【請求項１】
第１計算機、第２計算機及び第３計算機を有する計算機システムが実行するデータ処理方法であって、
前記第１計算機は、第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を有し、前記第２計算機は、第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を有し、前記第３計算機は、第３プロセッサと、前記第３プロセッサに接続される第３メモリと、を有し、
前記データ処理方法は、
前記第１プロセッサが、第１暗号化鍵を用いて、前記第１メモリに格納された第１データを暗号化し、前記第１暗号化鍵を用いて暗号化された第１データを前記第３計算機に送信する第１手順と、
前記第２プロセッサが、第２暗号化鍵を用いて、前記第２メモリに格納された第２データを暗号化し、前記第２暗号化鍵を用いて暗号化された第２データを前記第３計算機に送信する第２手順と、
前記第３プロセッサが、前記第２暗号化鍵から前記第１暗号化鍵への鍵付替え鍵を用いて、前記第２暗号化鍵を用いて暗号化された第２データから、前記第１暗号化鍵を用いて暗号化された第２データを生成する第３手順と、を含むことを特徴とするデータ処理方法。
【請求項２】
請求項１に記載のデータ処理方法であって、
前記第３プロセッサが、前記第１暗号化鍵を用いて暗号化された第１データ及び前記第１暗号化鍵を用いて暗号化された第２データに対する暗号化状態分析処理を行い、その結果を前記第１計算機に送信する第４手順をさらに含むことを特徴とするデータ処理方法。
【請求項３】
請求項２に記載のデータ処理方法であって、
前記第１プロセッサが、前記第１暗号化鍵を用いて暗号化分析クエリを生成して、前記第３計算機に送信する第５手順をさらに含み、
前記第４手順において、前記第３プロセッサは、前記暗号化分析クエリに基づいて前記暗号化状態分析処理を実行することを特徴とするデータ処理方法。
【請求項４】
請求項１に記載のデータ処理方法であって、
前記第１プロセッサが、前記第１手順を実行する前に前記第１暗号化鍵を生成して前記第１メモリに格納する第６手順と、
前記第２プロセッサが、前記第２手順を実行する前に前記第２暗号化鍵を生成して前記第２メモリに格納する第７手順と、
前記第３プロセッサが前記第３手順を実行する前に、前記第２プロセッサが前記第２暗号化鍵を前記第１計算機に送信する第８手順と、
前記第３プロセッサが前記第３手順を実行する前に、前記第１プロセッサが前記第１暗号化鍵及び前記第２暗号化鍵に基づいて前記第２暗号化鍵から前記第１暗号化鍵への鍵付替え鍵を生成して前記第３計算機に送信する第９手順と、をさらに含むことを特徴とするデータ処理方法。
【請求項５】
第１計算機、第２計算機及び第３計算機を有するデータ処理システムであって、
前記第１計算機は、第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を有し、前記第２計算機は、第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を有し、前記第３計算機は、第３プロセッサと、前記第３プロセッサに接続される第３メモリと、を有し、
前記第１プロセッサは、第１暗号化鍵を用いて、前記第１メモリに格納された第１データを暗号化し、前記第１暗号化鍵を用いて暗号化された第１データを前記第３計算機に送信し、
前記第２プロセッサは、第２暗号化鍵を用いて、前記第２メモリに格納された第２データを暗号化し、前記第２暗号化鍵を用いて暗号化された第２データを前記第３計算機に送信し、
前記第３プロセッサは、前記第２暗号化鍵から前記第１暗号化鍵への鍵付替え鍵を用いて、前記第２暗号化鍵を用いて暗号化された第２データから、前記第１暗号化鍵を用いて暗号化された第２データを生成することを特徴とするデータ処理システム。
【請求項６】
請求項５に記載のデータ処理システムであって、
前記第３プロセッサは、前記第１暗号化鍵を用いて暗号化された第１データ及び前記第１暗号化鍵を用いて暗号化された第２データに対する暗号化状態分析処理を行い、その結果を前記第１計算機に送信することを特徴とするデータ処理システム。
【請求項７】
請求項６に記載のデータ処理システムであって、
前記第１プロセッサは、前記第１暗号化鍵を用いて暗号化分析クエリを生成して、前記第３計算機に送信し、
前記第３プロセッサは、前記暗号化分析クエリに基づいて前記暗号化状態分析処理を実行することを特徴とするデータ処理システム。
【請求項８】
請求項５に記載のデータ処理システムであって、
前記第１プロセッサは、前記第１暗号化鍵を用いて前記第１データを暗号化する前に前記第１暗号化鍵を生成して前記第１メモリに格納し、
前記第２プロセッサは、前記第２暗号化鍵を用いて前記第２データを暗号化する前に前記第２暗号化鍵を生成して前記第２メモリに格納し、
前記第３プロセッサが前記第１暗号化鍵を用いて暗号化された第２データを生成する前に、前記第２プロセッサは、前記第２暗号化鍵を前記第１計算機に送信し、
前記第３プロセッサが前記第１暗号化鍵を用いて暗号化された第２データを生成する前に、前記第１プロセッサは、前記第１暗号化鍵及び前記第２暗号化鍵に基づいて前記第２暗号化鍵から前記第１暗号化鍵への鍵付替え鍵を生成して前記第３計算機に送信することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されたデータの分析に関する。
【背景技術】
【０００２】
近年、大量のデータを収集し分析を行い、価値のある知識を抽出するビックデータビジネスが普及をみせている。大量データの分析を実行する際、大容量のストレージや高速なＣＰＵおよびこれらを分散統制するシステムを必要とするため、クラウドなどの外部リソースに分析を依頼する事が考えられる。しかし、データを外部にアウトソースする場合、プライバシー上の問題が発生する。そのため、暗号化またはその他のプライバシー保護技術を施した後にデータをアウトソースし分析を行う秘匿分析技術が注目を集めている（例えば特許文献１参照）。また、小規模の機密データの分析を行う際に、大量のオープンデータ（公開されているデータ）と機密データの両方を入力とすることによって、分析精度を向上する事も試みられている。
【先行技術文献】
【特許文献】
【０００３】
特許文献１：国際公開第ＷＯ２０１５／０６３９０５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のデータ分析時に発生するプライバシー上の課題に対して、例えば、特許文献１では、分析用のデータ提供者が暗号化したままテキストマッチング可能な検索可能暗号を用いてデータを暗号化し、分析実行者がテキストマッチング機能を用いてクロス集計、相関ルール分析を行う方法が提案されている。この方法では、分析処理の対象となる暗号化データが全て同一の秘密鍵で暗号化されている必要がある。しかし、オープンデータ（公開されているデータ）も入力データとする際には、データ提供者がオープンデータも自身の秘密鍵で暗号化する必要があり、データ量が大きい場合には暗号化の負荷が高くなる。一方、データ提供者が自身の負荷を軽減するために分析実行者または第３者にオープンデータの暗号化を依頼する場合には、自身の秘密鍵を分析実行者等に渡す必要が生じ、鍵漏えいリスクが上昇する。
【課題を解決するための手段】
【０００５】
上記課題を解決するための、本発明の代表的なものの一例を示すと、次の通りである。すなわち、第１計算機、第２計算機及び第３計算機を有する計算機システムが実行するデータ処理方法であって、前記第１計算機は、第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を有し、前記第２計算機は、第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を有し、前記第３計算機は、第３プロセッサと、前記第３プロセッサに接続される第３メモリと、を有し、前記データ処理方法は、前記第１プロセッサが、第１暗号化鍵を用いて、前記第１メモリに格納された第１データを暗号化し、前記第１暗号化鍵を用いて暗号化された第１データを前記第３計算機に送信する第１手順と、前記第２プロセッサが、第２暗号化鍵を用いて、前記第２メモリに格納された第２データを暗号化し、前記第２暗号化鍵を用いて暗号化された第２データを前記第３計算機に送信する第２手順と、前記第３プロセッサが、前記第２暗号化鍵から前記第１暗号化鍵への鍵付替え鍵を用いて、前記第２暗号化鍵を用いて暗号化された第２データから、前記第１暗号化鍵を用いて暗号化された第２データを生成する第３手順と、を含むことを特徴とする。
【発明の効果】
【０００６】
本発明の一態様によれば、分析データ提供者のデータプライバシーを保護し、かつ、分析データ提供者の処理負荷を軽減しつつ、公開されているオープンデータも入力データソースとして加えた分析が可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態のデータ分析システムの概略を示すブロック図である。
【図２】本発明の実施形態のデータ提供者端末のハードウェアの概略を示すブロック図である。
【図３】本発明の実施形態のデータ分析システムにおいて実行される処理を示すフローチャートである。
【図４】本発明の実施形態における暗号化鍵Ａおよび暗号化鍵Ｂによる暗号化処理の一例の説明図である。
【図５】本発明の実施形態における暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵生成処理の一例の説明図である。
【図６】本発明の実施形態における暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵を用いた鍵付替え処理の一例の説明図である。
【発明を実施するための形態】
【０００８】
以下、本発明である、データ提供者の持つ機密データを暗号化しつつ、公開データ提供者の持つ公開データと暗号化状態で分析実行者が分析を行う方法の一実施形態を図面に基づいて詳細に説明する。なお、本実施例では、暗号化状態のデータに対する暗号化状態分析処理の詳細方法については言及しないが、例えば特許文献１で述べられている既存の暗号化状態分析処理方法を用いてもよい。
【０００９】
ここで、本発明の実施形態の概要を説明する。
【００１０】
すなわちオープンデータを暗号化する鍵を機密データと同一にする必要が生じるが、リソースの少ないデータ提供者が大量のオープンデータを暗号化しなくてはならないため、データ提供者の負荷が高くなる、という課題を解決するため、鍵の付替え技術を利用する方法が考えられる。鍵の付替え技術（または再暗号化技術とも称される）とは、鍵Ａで暗号化された暗号文を、鍵Ｂで暗号化された暗号文に（平文情報を変えずに）変換する技術の総称であり、共通鍵暗号方式と公開鍵暗号方式に大別される。暗号文の変換には鍵Ａおよび鍵Ｂのいずれとも異なる変換専用の鍵付替え鍵を用い、鍵Ａと鍵Ｂは必要としない点が特徴である。結果、鍵を付替えるエンティティに鍵Ａと鍵Ｂを提供する必要が無く、鍵Ａと鍵Ｂと平文情報を秘匿したまま鍵を付替える事が可能である。この鍵付替え技術を用いる事で、第３者がオープンデータを鍵Ｂで暗号化し、分析実行者は鍵付替え鍵を用いて鍵Ｂからデータ提供者の鍵Ａに変換し、鍵を統一することで前述の分析を実行することが可能となり、データ提供者がオープンデータを暗号化する負荷を無くす事が可能となる。
【００１１】
以下、図１および図２を用いて、本実施形態のシステム構成を示す。
【００１２】
図１は、本発明の実施形態のデータ分析システムの概略を示すブロック図である。
【００１３】
図示するように、本システムは、機密データを保持するデータ提供者端末１００と、公開データを保持する公開データ提供者端末２００と、暗号化データに対して特許文献１に記載されている方法等で分析を実行する分析実行者端末３００とがネットワーク４００を介して相互に情報を送受信できるように設計されている。
【００１４】
図２は、本発明の実施形態のデータ提供者端末１００のハードウェアの概略を示すブロック図である。
【００１５】
図示するように、データ提供者端末１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、補助記憶装置１０２と、メモリ１０３と、表示装置１０５と、入出力インターフェース１０６と、通信装置１０７と、が内部信号線１０４で連結し、構成される。また、補助記憶装置１０２には、プログラムコードが格納されている。プログラムコードは、メモリ１０３にロードされＣＰＵ１０１によって実行される。通信装置１０７は、ネットワーク４００に接続され、分析実行者端末３００または公開データ提供者端末２００との間でデータを送受信する。
【００１６】
また、公開データ提供者端末２００と、分析実行者端末３００も同様のハードウェア構成を含む。
【００１７】
以下、図３を用いて本実施形態のデータ分析システムの処理フローを示す。
【００１８】
本実施形態で使用する用語を定義する。
【００１９】
（１）暗号アルゴリズム
暗号アルゴリズムとは、暗号化鍵、復号化鍵を生成する鍵生成アルゴリズムと、平文データおよび暗号化鍵を入力とし、暗号文（暗号化データとも称する）を出力する暗号化アルゴリズムと、暗号文および復号化鍵を入力とし、暗号文に対応する平文を出力する復号化アルゴリズムの３つのアルゴリズムからなる。また、暗号化鍵と復号化鍵が同一のバイナリデータである暗号アルゴリズムを共通鍵暗号アルゴリズムと呼び、暗号化鍵と復号化鍵が異なる暗号アルゴリズムを公開鍵暗号アルゴリズムと呼ぶ。本実施形態では、特に断りが無い限り、共通鍵暗号アルゴリズムを暗号アルゴリズムとして扱う。
【００２０】
（２）暗号化状態分析用暗号アルゴリズム
上述した暗号アルゴリズムであって、さらに暗号化分析クエリ生成アルゴリズムと暗号化状態分析処理アルゴリズムの２つのアルゴリズムを具備する。暗号化分析クエリ生成アルゴリズムとは平文と復号化鍵を入力とし、平文に対応する暗号化分析クエリを出力する。暗号化状態分析処理アルゴリズムとは、暗号文と暗号化分析クエリを入力とし、特定の分析結果を出力する。本実施形態は、利用する暗号化状態分析用暗号方式を１つに固定して説明する。なお、具体的な方式としては特許文献１にあるような既存方式を用いてもよい。
【００２１】
（３）鍵付替え可能暗号アルゴリズム
上述した暗号化状態分析用暗号アルゴリズムであって、さらに鍵付替え鍵生成アルゴリズムと鍵付替えアルゴリズムを具備する。鍵付替え鍵生成アルゴリズムとは、暗号化鍵Ａと暗号化鍵Ｂを入力とし、暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵を出力する。鍵付替えアルゴリズムとは、暗号化鍵Ｂで暗号化された暗号文と、暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵と、を入力とし、同一の平文情報をもつ暗号化鍵Ａで暗号化された暗号文を出力する、つまり平文情報を変えずに鍵を暗号化鍵Ｂから暗号化鍵Ａへ付替える。
【００２２】
このようにして鍵を付替えられた暗号文は、暗号化鍵Ａに対応する復号化鍵Ａによって復号化することができ、それによって得られる平文は、暗号化鍵Ｂを使って暗号化される前の平文と同一である。鍵を付替える処理において、暗号文を一旦復号化して平文を生成する必要はない。さらに、暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵から暗号化鍵Ａ及び暗号化鍵Ｂを推定することは極めて困難である。
【００２３】
図３は、本発明の実施形態のデータ分析システムにおいて実行される処理を示すフローチャートである。
【００２４】
具体的には、図３は、データ提供者端末１００と、公開データ提供者端末２００と、分析実行者端末３００と間のデータ送受信およびプログラムの処理フローである。処理フローは事前の鍵共有処理フェーズと分析処理フェーズの２段階からなる。
【００２５】
まず、データ提供者端末１００は、暗号アルゴリズムの暗号化鍵および復号化鍵を生成する鍵生成アルゴリズムを実行し、暗号化鍵Ａおよび復号化鍵Ａを生成する（Ｓ１００）。一方、公開データ提供者端末２００は、同様に暗号アルゴリズムの暗号化鍵および復号化鍵を生成する鍵生成アルゴリズムを実行し、暗号化鍵Ｂおよび復号化鍵Ｂを生成する（Ｓ２００）。
【００２６】
なお、本実施例では、Ｓ１００及びＳ２００において同一の暗号アルゴリズムが使用され、かつ、それによって生成された鍵について鍵付替え鍵を生成可能であり、かつ、暗号化状態分析処理が可能である限り、いかなる暗号アルゴリズムが使用されてもよい。すなわち、使用される暗号アルゴリズムは共通鍵暗号アルゴリズムまたは公開鍵暗号アルゴリズムのいずれであってもよい。共通鍵暗号アルゴリズムが使用された場合、暗号化鍵Ａと復号化鍵Ａは同一であり、暗号化鍵Ｂと復号化鍵Ｂは同一である。
【００２７】
次に、公開データ提供者端末２００は、Ｓ２００で生成した暗号化鍵Ｂ（Ｄ１００）をデータ提供者端末１００に送信する。次に、データ提供者端末１００は、自身の持つ暗号化鍵Ａと暗号化鍵Ｂとを入力とし、鍵付替え鍵生成アルゴリズムを実行し、暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵を生成する（Ｓ３００）。次に、データ提供者端末１００は、Ｓ３００で生成した暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵を分析実行者端末３００に送信し、事前鍵共有処理フェーズを完了する。
【００２８】
分析処理フェーズでは、まず、データ提供者端末１００が自身の持つ機密データを暗号化鍵Ａで暗号化し（Ｓ４００）、分析実行者端末３００に暗号化データ（Ｄ３００）として送信する。一方、公開データ提供者端末２００は、自身の持つ公開データを暗号化鍵Ｂで暗号化し（Ｓ５００）、分析実行者端末３００に暗号化公開データ（Ｄ４００）として送信する。これらのデータを受信した段階で、分析実行者端末３００は暗号化鍵Ａで暗号化された機密データと、暗号化鍵Ｂで暗号化された暗号化公開データとを保持している。つまり、分析実行者端末３００が異なる鍵で暗号化されたデータを保持している点に注意する。
【００２９】
次に、分析実行者端末３００は、暗号化公開データ（Ｄ４００）と暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵（Ｄ２００）を入力とし、鍵付替えアルゴリズムを実行し（Ｓ６００）、暗号化鍵Ａで暗号化された暗号化公開データ（Ｄ５００）を生成する。次に、データ提供者端末１００は復号化鍵Ａを入力とし、暗号化分析クエリ生成アルゴリズムを実行し（Ｓ７００）、暗号化分析クエリ（Ｄ６００）を生成し、分析実行者端末３００に送信する。次に、分析実行者端末３００は暗号化データ（Ｄ３００）と、暗号化公開データ（Ｄ５００）と、暗号化分析クエリ（Ｄ６００）と、を入力として暗号化状態分析処理（Ｓ８００）を実行し、分析結果（Ｄ７００）を生成し、データ提供者端末１００に分析結果（Ｄ７００）を送信し、分析処理を終了する。
【００３０】
図４は、本発明の実施形態における暗号化鍵Ａおよび暗号化鍵Ｂによる暗号化処理（Ｓ４００、Ｓ５００）の一例の説明図である。
【００３１】
図４（ａ）に示す通り、データ提供者端末１００は、平文１と同じビット長の暗号化鍵Ａに対して、平文１と暗号化鍵Ａのビット列としての排他的論理和を、暗号化鍵Ａで暗号化された平文１の暗号化データとして生成する。図４（ｂ）に示すように、平文２と暗号化鍵Ｂに対しても同様の処理が行われる。なお、図４では、暗号化鍵Ａによる暗号化の対象を「平文１」としているが、「平文１」の代わりに、「平文１のハッシュ値」、または、別の「暗号化方式による平文１の暗号文」を、暗号化鍵Ａによる暗号化対象としてもよい。
【００３２】
図５は、本発明の実施形態における暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵生成処理（Ｓ３００）の一例の説明図である。
【００３３】
図５に示す通り、ＢからＡへの鍵付替鍵（Ｄ２００）は、暗号化鍵Ｂと暗号化鍵Ａのビット列としての排他的論理和である。
【００３４】
図６は、本発明の実施形態における暗号化鍵Ｂから暗号化鍵Ａへの鍵付替え鍵（Ｄ２００）を用いた鍵付替え処理（Ｓ６００）の一例の説明図である。
【００３５】
図６に示す通り、データ提供者端末１００は、暗号化鍵Ｂで暗号化された暗号文（Ｄ４００）と暗号化鍵Ｂから暗号化鍵Ａへの鍵付替鍵（Ｄ２００）との排他的論理和を計算することで、排他的論理和の性質によって暗号化鍵Ｂが消去され、暗号化鍵Ａで暗号化された平文２が出力される。
【００３６】
なお、本発明は、上述の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【００３７】
例えば、本実施の形態では、公開データ提供者端末２００は１つであったが、データ分析システムが複数の公開データ提供者端末２００−１、２００−２、・・・、２００−ｎを含んで構成されていてもよい。この場合、各公開データ提供者端末２００−１、・・・、２００−ｎは、それぞれ復号化鍵Ｂ−１、Ｂ−２、・・・、Ｂ−ｎ、暗号化鍵Ｂ−１、Ｂ−２、・・・、Ｂ−ｎを保持し、それぞれの暗号化鍵をデータ提供者端末１００に送信する。データ提供者端末１００は、それぞれの鍵に対応する暗号化鍵Ｂ−１から暗号化鍵Ａへの鍵付替鍵、暗号化鍵Ｂ−２から暗号化鍵Ａへの鍵付替鍵、・・・、暗号化鍵Ｂ−ｎから暗号化鍵Ａへの鍵付替鍵を生成して（Ｓ３００）、分析実行者端末３００に送信する。分析実行者端末３００は、それらの鍵付替鍵を用いて、各公開データ提供者から受信した暗号化公開データをそれぞれ暗号化鍵Ａで暗号化された暗号文に変換する鍵付替え処理をして（Ｓ６００）、暗号化状態分析処理（Ｓ８００）を実行してもよい。
【００３８】
なお、上記の暗号化鍵Ｂ−１、Ｂ−２、・・・、Ｂ−ｎは、それぞれ異なっていてもよいし、同一であってもよい。これらが同一である場合、分析実行者端末３００は、一つの鍵付替鍵を用いて各公開データ提供者端末から受信した暗号化公開データの鍵付替え処理（Ｓ６００）を行うことができる。
【００３９】
また、同様に本実施の形態では、データ提供者端末１００は１つであったが、データ分析システムが複数のデータ提供者端末１００−１、１００−２、・・・、１００−ｎを含んで構成されてもよい。さらに、前述と同様に、分析実行者端末３００は、鍵付替え鍵を事前に保持する事で、全ての各データ提供者端末１００−１、１００−２、・・・、１００−ｎの暗号化データを、暗号化鍵Ａに鍵を付替えた後に、暗号化状態分析処理（Ｓ８００）を行ってもよい。
【００４０】
具体的には、例えば、ネットワーク４００にさらに鍵管理者端末（図示省略）が接続され、この鍵管理者端末が、複数の暗号化鍵Ａ−１、Ａ−２、・・・、Ａ−ｎを生成して、それぞれ複数のデータ提供者端末１００−１、１００−２、・・・、１００−ｎに配布してもよい。なお、鍵管理者端末も、例えば、図２に示すデータ提供者端末１００と同様の計算機によって実現することができる。
【００４１】
例えば、データ提供者端末１００−１が、自身が保持するデータに加えて、他のデータ提供者端末１００−２、・・・、１００−ｎが保持するデータも対象とする分析を分析実行者端末３００に依頼する場合、データ提供者端末１００−１、１００−２、・・・、１００−ｎは、それぞれ、自身が保持する暗号化鍵Ａ−１、Ａ−２、・・・、Ａ−ｎを用いて自身が保持するデータを暗号化して（Ｓ４００）、その暗号化データ（Ｄ３００）を分析実行者端末３００に送信する。
【００４２】
一方、鍵管理者端末は、暗号化鍵Ａ−２から暗号化鍵Ａ−１への鍵付替鍵、・・・、暗号化鍵Ａ−ｎから暗号化鍵Ａ−１への鍵付替鍵を生成してそれらをデータ提供者端末１００−１に送信し、データ提供者端末１００−１がそれらの鍵付替鍵を分析実行者端末３００に送信する。あるいは、鍵管理者端末が生成した鍵付替鍵を分析実行者端末３００に直接送信してもよい。
【００４３】
分析実行者端末３００は、受信した鍵付替鍵を用いて暗号化鍵Ａ−１への鍵付替え処理（Ｓ６００）を実行することによって、データ提供者端末１００−１、１００−２、・・・、１００−ｎから提供された暗号化データを対象とする暗号化状態分析処理（Ｓ８００）を実行することが可能になる。
【００４４】
さらに、一つまたは複数の公開データ提供者端末２００から送信された公開データについても、既に説明した方法で暗号化鍵Ａ−１への鍵付替え処理をすることによって、複数のデータ提供者端末１００から提供されたデータに加えて、一つまたは複数の公開データ提供者端末２００から提供された暗号化公開データも対象とした暗号化状態分析処理（Ｓ８００）を実行することが可能になる。
【００４５】
以上の本発明の実施形態によれば、データ提供者端末１００は、自身が保持する分析データを暗号化して出力するが、その暗号化に使用した暗号化鍵Ａおよびその復号化に使用する復号化鍵Ａのいずれも分析実行者端末３００等に渡す必要がない。また、データ提供者端末１００は暗号化鍵Ｂから暗号化鍵Ａへの鍵付替鍵を生成してそれを分析実行者端末３００に渡すが、その鍵付替鍵から暗号化鍵Ａおよび復号化鍵Ａを推定することは極めて困難である。これによって、分析データ提供者のデータプライバシーが保護される。さらに、上記のようにデータ提供者端末１００は分析データの暗号化処理及び鍵付替鍵の生成処理を行う必要があるが、公開データの暗号化処理を行う必要がない。これによって、分析データ提供者の処理負荷が軽減される。分析実行者端末３００は、データ提供者端末１００から取得した鍵付替鍵を用いて、暗号化公開データの暗号化鍵を付替えることによって、データ提供者端末１００から取得した暗号化データおよび公開データ提供者端末２００から取得した暗号化公開データの両方を対象として、データ提供者端末１００から取得した暗号化分析クエリを用いた分析処理を行うことができる。これによって、公開されているオープンデータも入力データソースとして加えた分析が可能となる。
【００４６】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００４７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４８】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【図１】
2017149595.tif 000003
【図２】
2017149595.tif 000004
【図３】
2017149595.tif 000005
【図４】
2017149595.tif 000006
【図５】
2017149595.tif 000007
【図６】
2017149595.tif 000008
【国際調査報告】
2017149595.tif 000009
2017149595.tif 000010