(57)【特許請求の範囲】
【請求項１】
１つ以上の属性のそれぞれに対して複数の要素を示すデータベースを保持する複数の機関端末に対して、クライアント端末が照合属性についての解析を要求し、
前記クライアント端末からの要求に応じて、前記複数の機関端末のそれぞれが、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末に送信し、
前記アウトソース端末が、前記複数の機関端末から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、
前記複数の機関端末のそれぞれが、前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも２以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する
データ解析方法。
【請求項２】
前記クライアント端末は、前記複数の機関端末のうちの１つの機関端末であって、前記複数の機関端末のうちの当該クライアント端末を除く残りの複数の機関端末に対して、前記照合属性についての解析を要求する
請求項１に記載のデータ解析方法。
【請求項３】
前記アウトソース端末は、前記複数の機関端末のうちの１つの機関端末であって、前記複数の機関端末のうちの当該アウトソース端末を除く残りの複数の機関端末に対して、前記統合変換データを送信する
請求項１または２に記載のデータ解析方法。
【請求項４】
前記複数の機関端末のそれぞれは、
前記照合属性に属する要素に対して前記変換処理を行うときには、
前記要素に対してブルームフィルタを適用することによって、前記要素を少なくとも１つの整数値からなるＢＦ値に変換し、前記ＢＦ値を暗号化する
請求項１〜３の何れか１項に記載のデータ解析方法。
【請求項５】
前記クライアント端末は、さらに、
前記複数の機関端末のそれぞれに対して、必要属性についての解析を要求し、
前記複数の機関端末のそれぞれは、さらに、
当該機関端末が保持する前記データベースによって示される前記必要属性に属する複数の要素のうち、前記共通要素に関連付けられている要素を、出力要素として選択し、前記共通要素および出力要素を解析結果として前記クライアント端末に送信する
請求項１〜４の何れか１項に記載のデータ解析方法。
【請求項６】
前記クライアント端末は、さらに、
前記複数の機関端末のそれぞれから送信された前記解析結果を取得し、複数の前記解析結果のそれぞれに含まれる出力要素を統合する
請求項５に記載のデータ解析方法。
【請求項７】
前記クライアント端末は、
前記必要属性についての解析の要求では、
前記複数の機関端末のそれぞれに対して、前記解析結果を得るための条件を付加する
請求項５に記載のデータ解析方法。
【請求項８】
前記クライアント端末は、
前記必要属性についての解析の要求では、
前記複数の機関端末のうちの２つ以上の機関端末に前記必要属性が含まれていることを、前記条件として付加する
請求項７に記載のデータ解析方法。
【請求項９】
１つ以上の属性のそれぞれについて複数の要素を示すデータベースを保持する複数の機関端末と、
前記複数の機関端末に対して、照合属性についての解析を要求するクライアント端末と、
アウトソース端末とを備え、
前記複数の機関端末のそれぞれは、
前記クライアント端末からの要求に応じて、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データを前記アウトソース端末に送信し、
前記アウトソース端末は、
前記複数の機関端末から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、
前記複数の機関端末のそれぞれは、
前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも２以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する
データ解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを解析する方法およびシステムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の普及に伴い、人から物までの各発信源から発信されたデータがビッグデータとして収集され、データのみならず、データを収集する機関も爆発的に増加している。【０００３】
これに対して、複数の機関のデータの共通集合、和集合またはサイズを求めるデータ解析方法が提案されている（例えば、非特許文献１または２参照）。【０００４】
一般に、データは病院などの各機関で独立に収集されて保管されている。上述の提案されているデータ解析方法では、各機関で保管されているデータを、１つの属性に属する複数の要素の集合として取り扱い、各機関が同じ要素を持つかどうかを判定している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】L. Kissner and D. Song. Privacy-preserving set operations. In CRYPTO 2005, volume 3621 of LNCS, pages 241-257. Springer, 2005
【非特許文献２】D. Many, M. Burkhart, and X. Dimitropoulos. Fast private set operations with sepia. Technical Report, 345, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記非特許文献１のデータ解析方法では、機関の数が多いほど莫大な時間がかかるという問題がある。また、上記非特許文献２のデータ解析方法では、各機関のデータを秘匿するための信頼できる機関、すなわち他機関のデータを入手できる機関（いわゆるデータ預託機関）を要するため、実用性が難しいという問題がある。【０００７】
そこで、本発明は、かかる問題に鑑みてなされたものであって、データの解析に要する時間を短縮し、信頼できる機関が不要で、実用性を向上したデータ解析方法を提供する。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るデータ解析方法は、１つ以上の属性のそれぞれに対して複数の要素を示すデータベースを保持する複数の機関端末に対して、クライアント端末が照合属性についての解析を要求し、前記クライアント端末からの要求に応じて、前記複数の機関端末のそれぞれが、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末に送信し、前記アウトソース端末が、前記複数の機関端末から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、前記複数の機関端末のそれぞれが、前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも２以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する。なお、複数の機関端末のそれぞれは、例えば病院または学校などの機関において得られた検診結果などのデータベースを保持している。【０００９】
これにより、複数の機関端末のそれぞれから送信された変換データは、アウトソース端末によって統合され、その統合された複数の変換データからなる統合変換データが、その複数の機関端末のそれぞれに送信される。つまり、照合属性についての解析に要する計算の全てを複数の機関端末のそれぞれに負わせることなく、各機関端末の計算の一部をアウトソース端末に集約することができる。その結果、解析の対象とされる機関端末の数、すなわち機関の数が増えても、データの解析に要する全体的な計算量を抑えることができ、データの解析、すなわち照合属性のマッチングに要する時間を短縮することができる。つまり、従来では、データ解析の負荷が機関数に依存していたが、その依存を抑えることができる。また、データが１つの機関で収集されることを抑えることができ、機関数に依存する計算をアウトソース端末に依頼することができる。【００１０】
また、複数の機関端末のそれぞれからアウトソース端末に送信される変換データは暗号化されているため、アウトソース端末では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末によって生成される。したがって、本発明に係るデータ解析方法では、アウトソース端末は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。【００１１】
また、アウトソース端末から複数の機関端末のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、複数の機関端末のそれぞれは、アウトソース端末から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、複数の機関端末のそれぞれが保持するデータベースの内容を、他の機関端末にもアウトソース端末にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。【００１２】
また、前記クライアント端末は、前記複数の機関端末のうちの１つの機関端末であって、前記複数の機関端末のうちの当該クライアント端末を除く残りの複数の機関端末に対して、前記照合属性についての解析を要求してもよい。また、前記アウトソース端末は、前記複数の機関端末のうちの１つの機関端末であって、前記複数の機関端末のうちの当該アウトソース端末を除く残りの複数の機関端末に対して、前記統合変換データを送信してもよい。【００１３】
また、前記複数の機関端末のそれぞれは、前記照合属性に属する要素に対して前記変換処理を行うときには、前記要素に対してブルームフィルタを適用することによって、前記要素を少なくとも１つの整数値からなるＢＦ値に変換し、前記ＢＦ値を暗号化してもよい。【００１４】
これにより、要素がデータの大きさとは独立なＢＦ値に変換されるため、統合変換データと、データベースのうちの照合属性に属する複数の要素のそれぞれとの照合にかかる負荷を軽減することができ、処理速度を向上することができる。【００１５】
また、前記クライアント端末は、さらに、前記複数の機関端末のそれぞれに対して、必要属性についての解析を要求し、前記複数の機関端末のそれぞれは、さらに、当該機関端末が保持する前記データベースによって示される前記必要属性に属する複数の要素のうち、前記共通要素に関連付けられている要素を、出力要素として選択し、前記共通要素および出力要素を解析結果として前記クライアント端末に送信してもよい。【００１６】
従来のデータ解析方法では、各機関で保管されているデータは、１つの属性に属する複数の要素の集合として取り扱われている。しかしながら、一般に、データは複数の属性を持つため、従来のデータ解析方法では、その複数の属性を持つデータを取り扱うことができず、現実の利用には適さない。【００１７】
そこで、本発明では、上述のように、照合属性だけでなく必要属性についての解析も行われる。これにより、一般的な複数の属性を持つデータ（すなわちデータベース）を取り扱うことができ、実用性をさらに向上することができる。【００１８】
また、前記クライアント端末は、さらに、前記複数の機関端末のそれぞれから送信された前記解析結果を取得し、複数の前記解析結果のそれぞれに含まれる出力要素を統合してもよい。【００１９】
これにより、複数の機関端末のそれぞれから送信された共通要素および出力要素がクライアント端末に取得され、クライアント端末によって、複数の機関端末のそれぞれの共通要素および出力要素が統合される。これにより、任意のデータベースの統合を、プライバシーを保護しつつ、機関数に依存せず、データベースの属性の数を規制することなくセキュアに実現することができる。【００２０】
また、前記クライアント端末は、前記必要属性についての解析の要求では、前記複数の機関端末のそれぞれに対して、前記解析結果を得るための条件を付加してもよい。例えば、前記クライアント端末は、前記必要属性についての解析の要求では、前記複数の機関端末のうちの２つ以上の機関端末に前記必要属性が含まれていることを、前記条件として付加する。【００２１】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００２２】
本発明のデータ解析方法は、データの解析に要する時間を短縮し、実用性を向上することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施の形態におけるデータ解析システムの構成図である。
【図２】図２は、実施の形態のデータ解析システムにおけるクライアント端末、アウトソース端末および機関端末のそれぞれの処理を示す図である。
【図３】図３は、実施の形態におけるデータ処理システムの処理動作を示すフローチャートである。
【図４】図４は、実施の形態におけるデータ解析システムによる解析の一例を示す図である。
【図５】図５は、実施の形態におけるデータ解析システムによる解析の他の例を示す図である。
【図６】図６は、実施の形態におけるデータ解析システムによる解析のさらに他の例を示す図である。
【図７】図７は、実施の形態におけるデータ解析システムによる解析のさらに他の例を示す図である。
【図８】図８は、実施の形態におけるデータ解析システムによる解析のさらに他の例を示す図である。
【図９】図９は、実施の形態におけるデータ解析システムによる解析のさらに他の例を示す図である。
【図１０】図１０は、ＰＤＤＩを説明するための図である。
【図１１】図１１は、システムモデルを説明するための図である。
【図１２】図１２は、システム動作と特徴を示す図である。
【図１３】図１３は、ＰＤＤＩシステムの導入概要を示す図である。
【図１４】図１４は、第１の適用事例を示す図である。
【図１５】図１５は、第２の適用事例を示す図である。
【図１６】図１６は、第３の適用事例を示す図である。
【図１７】図１７は、第４の適用事例を示す図である。
【図１８】図１８は、第５の適用事例を示す図である。
【図１９】図１９は、一部の機関のみで行われる突合属性による統合を示す図である。
【図２０】図２０は、機関内で突合属性が重複するデータの統合を示す図である。
【図２１】図２１は、突合属性の逐次的拡張を示す図である。
【図２２】図２２は、システム動作と特徴を示す図である。
【発明を実施するための形態】
【００２４】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００２５】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００２６】
（実施の形態１）
図１は、本実施の形態におけるデータ解析システムの構成図である。
【００２７】
本実施の形態におけるデータ解析システム１００は、それぞれ例えばインターネットなどのネットワークによって接続されたクライアント端末１０１と、アウトソース端末１０２と、機関端末１１１〜１１４とを含む。
【００２８】
クライアント端末１０１は、データの解析を依頼する依頼者によって操作される端末装置である。
【００２９】
機関端末１１１〜１１４のそれぞれは、例えば病院、企業または学校などのデータ保有機関（以下、単に機関という）に設置された端末装置であって、その機関において生成または取得されたデータベースを保持している。つまり、機関端末１１１は、データベースＳ１を保持し、機関端末１１２は、データベースＳ２を保持し、機関端末１１３は、データベースＳ３を保持し、機関端末１１４は、データベースＳ４を保持している。
【００３０】
データベースＳ１〜Ｓ４は、複数の属性と、その複数の属性のそれぞれに属する複数の要素とを示す。例えば、複数の属性のそれぞれは、名前、身長、体重、仕事有無、趣味、世帯構造、有業率、運動履歴、飲酒、地域、医療保険、喫煙、就寝時間、血圧、空腹時血糖、尿糖、または中性脂肪である。要素は、数値、文字、文字列、または、有無を示すフラグなどであってもよい。
【００３１】
アウトソース端末１０２は、機関端末１１１〜１１４のそれぞれからデータを取得して処理する端末装置である。
【００３２】
このようなデータ解析システム１００では、まず、クライアント端末１０１が解析属性要求を機関端末１１１〜１１４に対して送信する。解析属性要求は、照合属性と必要属性とを示す。照合属性は例えば「名前」である。
【００３３】
このような解析属性要求を受け付けた各機関の機関端末１１１〜１１４のそれぞれは、自らが保持するデータベースに示される複数の属性から、解析属性要求によって示される照合属性（例えば「名前」）を選択する。そして、機関端末１１１〜１１４のそれぞれは、その照合属性に属する要素を用いて後述する変換データを生成し、その変換データをアウトソース端末１０２に送信する。具体的には、機関端末１１１は、属性「名前」に属する要素「Ａｌｉｃｅ」を用いて変換データを生成する。
【００３４】
アウトソース端末１０２は、各機関の機関端末１１１〜１１４のそれぞれから変換データを取得し、それらの変換データから統合変換データを生成する。そして、アウトソース端末１０２は、その生成された統合変換データを機関端末１１１〜１１４のそれぞれに送信する。
【００３５】
機関端末１１１〜１１４のそれぞれは、アウトソース端末１０２から統合変換データを取得すると、その統合変換データと、自らが保持するデータベースにおける照合属性に属する各要素とを照合する。機関端末１１１〜１１４のそれぞれは、その照合によって、データベースＳ１〜Ｓ４のそれぞれの照合属性に共通に属している要素を共通要素として見つけ出す。例えば、機関端末１１１〜１１４のそれぞれは、データベースＳ１〜Ｓ４のそれぞれの照合属性「名前」に共通に属している要素「Ａｌｉｃｅ」を共通要素として見つけ出す。
【００３６】
そして、機関端末１１１〜１１４のそれぞれは、自らが保持するデータベースに示される複数の属性から、上述の解析属性要求によって示される必要属性を選択する。具体的には、機関端末１１１は、属性「体重」を必要属性として選択する。機関端末１１２は、属性「飲酒」を必要属性として選択する。機関端末１１３は、属性「喫煙」を必要属性として選択する。機関端末１１４は、属性「血圧」を必要属性として選択する。
【００３７】
次に、機関端末１１１〜１１４のそれぞれは、自らが保持するデータベースの必要属性に属する複数の要素のうち、上述の照合属性に属する共通要素に関連付けられた要素を出力要素として選択する。そして、機関端末１１１〜１１４のそれぞれは、その共通要素と出力要素とを解析結果としてクライアント端末１０１に送信する。
【００３８】
図２は、データ解析システム１００におけるクライアント端末１０１、アウトソース端末１０２および機関端末１１１のそれぞれの処理を示す図である。なお、図２では、機関端末１１１の処理を示すが、機関端末１１２〜１１４のそれぞれも機関端末１１１と同様の処理を行う。
【００３９】
本実施の形態におけるデータ解析システム１００では、第０フェーズ〜第５フェーズまでの６つのフェーズにおいて処理が行われる。
【００４０】
第０フェーズは、初期設定フェーズであって、このフェーズでは、機関端末１１１が、クライアント端末１０１およびアウトソース端末１０２との間で暗号通信を行うための初期設定を行う。
【００４１】
第１フェーズは、解析属性入力フェーズである。このフェーズでは、クライアント端末１０１が、例えば依頼者による操作に基づいて、照合属性および必要属性を取得する。そして、クライアント端末１０１は、その照合属性および必要属性を示す解析属性要求を機関端末１１１〜１１４のそれぞれに送信する。
【００４２】
第２フェーズは、変換データ生成フェーズである。このフェーズでは、機関端末１１１が、上述の変換データを生成してアウトソース端末１０２に送信する。
【００４３】
第３フェーズは、変換データ統合フェーズである。このフェーズでは、アウトソース端末１０２が、機関端末１１１〜１１４のそれぞれから取得した変換データを統合することによって、統合変換データを生成する。また、このフェーズでは、アウトソース端末１０２が、生成された統合変換データを機関端末１１１〜１１４のそれぞれに送信する。
【００４４】
第４フェーズは、解析結果出力フェーズである。このフェーズでは、機関端末１１１が、自らが保持しているデータベースＳ１を、統合変換データを用いて照合することによって、上述の共通要素を解析結果の一部として出力する。
【００４５】
第５フェーズは、必要属性出力フェーズである。このフェーズでは、機関端末１１１が、自らが保持しているデータベースＳ１において必要属性に属する複数の要素のうち、共通要素に関連付けられている要素を、出力要素として選択し、共通要素と出力要素とを解析結果としてクライアント端末１０１に送信する。
【００４６】
図３は、データ解析システム１００の処理動作を示すフローチャートである。なお、この図３のフローチャートにおいて、ｉは、ｎ（ｎは２以上の整数）個の機関（または機関端末）のうちの何れか１つを識別するための識別子である。図１または図２の例では、ｉによって、４個の機関１〜４（または機関端末１１１〜１１４）のうちの何れか１つが識別される。
【００４７】
まず、初期設定フェーズ（ステップＳ１０１）では、機関端末ｉは、ｘｉ∈Ｚｑに対して、ｙｉ＝ｇｘｉ∈Ｚｑを算出する。ｙｉは、機関端末ｉ以外の他の各機関端末に、機関端末ｉの公開鍵として公開される。ｘｉは、機関端末ｉの秘密鍵である。そして、機関端末ｉは、ｙ＝ｙ１×・・・×ｙｎを計算する。ｙは、ｎ個の機関端末の公開鍵である。なお、秘密鍵ｘ＝Σｘｉは、何れの機関端末にも知られていない。
【００４８】
次に、解析属性入力フェーズ（ステップＳ１０２）では、クライアント端末１０１は、各機関端末に解析属性要求を送信することにより、各機関端末に照合属性および必要属性を通知する。また、この解析属性入力フェーズにおいて、各機関端末は、クライアント端末１０１から照合属性および必要属性の通知を受けると、自らが保持するデータベースから、その通知された照合属性に属する複数の要素のみを取り出す。なお、機関端末ｉのデータベースにおいて、照合属性に属する複数の要素からなる集合は、Ｓｉ＝｛ｖ１，・・・，ｖｗｉ｝として表される。ｖ１，・・・，ｖｗｉのそれぞれは、要素、すなわち集合の元であって、データ数（要素数）であるｗｉは、ｗｉ＝｜Ｓｉ｜として示される。
【００４９】
次に、変換データ生成フェーズ（ステップＳ１０３）において、機関端末ｉは、変換データを生成する。すなわち、機関端末ｉは、照合属性の集合Ｓｉ＝｛ｖ１，・・・，ｖｗｉ｝の全ての元に対してブルームフィルタを適用することによって、その元をＢＦ値に変換する。ＢＦ値は、ｍ（ｍは１以上の整数）個の２値（０または１）からなる配列のデータである。言い換えれば、機関端末ｉは、照合属性の集合Ｓｉの元を、ＢＦ（Ｓｉ）＝［ＢＦｉ（０），・・・，ＢＦｉ（ｍ−１）］に変換する。ＢＦｉ（０），・・・，ＢＦｉ（ｍ−１）のそれぞれは、配列の要素であって、０または１の２値である。なお、本実施の形態では、ＢＦ値を、ｍ個の２値からなる配列として扱うが、２値の代わりに多値を用いてもよい。つまり、ＢＦ値は、ｍ個の整数値からなる配列であってもよい。
【００５０】
そして、機関端末ｉは、上記配列の各要素から１を減算することによって、ＢＦ（Ｓｉ）−１＝［ＢＦｉ［０］−１，・・・，ＢＦｉ［ｍ−１］−１］の配列を得る。なお、この配列は、ｍ個の０または−１の要素からなる。さらに、機関端末ｉは、ｎ個の機関端末の公開鍵ｙを用いて、そのＢＦ（Ｓｉ）−１＝［ＢＦｉ［０］−１，・・・，ＢＦｉ［ｍ−１］−１］の配列を、その配列に含まれる要素ごとに暗号化する。なお、このときの暗号化には、準同型暗号、例えばべき乗ＥｌＧａｍａｌ暗号が用いられる。べき乗ＥｌＧａｍａｌ暗号では、ｍの代わりにｍのべき乗、すなわちｇｍを暗号化する。この暗号化によって、機関端末ｉは、［Ｅ（ＢＦｉ［０］−１），・・・，Ｅ（ＢＦｉ［ｍ−１］−１）］、つまりＥ（ＢＦ（Ｓｉ）−１）を生成する。そして、機関端末ｉは、そのＥ（ＢＦ（Ｓｉ）−１）を変換データとしてアウトソース端末１０２に送信する。
【００５１】
次に、変換データ統合フェーズ（ステップＳ１０４）において、アウトソース端末１０２は、ｎ個の機関端末のそれぞれから変換データであるＥ（ＢＦ（Ｓｉ）−１）を取得すると、それらのＥ（ＢＦ（Ｓｉ）−１）を統合する。すなわち、アウトソース端末１０２は、ｎ個のＥ（ＢＦ（Ｓｉ）−１）に対する乗算を行う。その結果、アウトソース端末１０２は、Ｅ（ＢＦ（Ｓ１）−１）×・・・×Ｅ（ＢＦ（Ｓｎ）−１）によって、統合されたＢＦ値の暗号化データであるＥ（ＩＢＵ（∪Ｓｉ）−ｎ）＝［Ｅ（ΣＢＦｉ［０］−ｎ），・・・，Ｅ（ΣＢＦｉ［ｍ−１］−ｎ）］を算出する。さらに、アウトソース端末１０２は、その暗号化データを、ｒ＝［ｒ０，・・・，ｒｍ−１］∈Ｚｑｍでランダマイズする。その結果、アウトソース端末１０２は、［Ｅ（ΣＢＦｉ［０］−ｎ）ｒ０，・・・，Ｅ（ΣＢＦｉ［ｍ−１］−ｎ）ｒｍ−１］をＥ（ｒ（ＩＢＵ（∪Ｓｉ）−ｎ））として算出する。そして、アウトソース端末１０２は、Ｅ（ｒ（ＩＢＵ（∪Ｓｉ）−ｎ））を統合変換データとしてｎ個の機関端末に送信する。
【００５２】
次に、解析結果出力フェーズ（ステップＳ１０５）において、機関端末ｉは、アウトソース端末１０２から統合変換データであるＥ（ｒ（ＩＢＵ（∪Ｓｉ）−ｎ））を取得すると、そのＥ（ｒ（ＩＢＵ（∪Ｓｉ）−ｎ））を復号する。つまり、全ての機関端末ｉのそれぞれは、自らの秘密鍵である機関端末ｉの秘密鍵ｘｉを用いて、全ての機関端末ｉとの共同でＥ（ｒ（ＩＢＵ（∪Ｓｉ）−ｎ））を復号することによって、ｒ（ＩＢＵ（∪Ｓｉ）−ｎ）＝［（ΣＢＦｉ［０］−ｎ）ｒ０，・・・，（ΣＢＦｉ［ｍ−１］−ｎ）ｒｍ−１］を取得する。そして、機関端末ｉは、照合属性の集合Ｓｉに含まれるｗｉ個の各元に対してブルームフィルタを適用した結果と、取得したｒ（ＩＢＵ（∪Ｓｉ）−ｎ）＝［（ΣＢＦｉ［０］−ｎ）ｒ０，・・・，（ΣＢＦｉ［ｍ−１］−ｎ）ｒｍ−１］の配列とを照合することにより、照合属性の集合Ｓｉの中にその元がｎ個の機関端末の共通要素（∩Ｓｉ）であるか否かを決定する。
【００５３】
なお、照合属性の集合Ｓｉの各元のＢＦ（Ｓｉ）は、上述のように０または１のｍ個の要素からなる配列である。また、ｒ（ＩＢＵ（∪Ｓｉ）−ｎ）＝［（ΣＢＦｉ［０］−ｎ）ｒ０，・・・，（ΣＢＦｉ［ｍ−１］−ｎ）ｒｍ−１］は、０の要素を含むｍ個の要素からなる配列である。ｎ個の機関端末から、ｎ個の機関端末で共通の元に対応する変換データがアウトソース端末１０２に送信された場合、その共通の元のＢＦ（Ｓｉ）に含まれる１の要素は、ｒ（ＩＢＵ（∪Ｓｉ）−ｎ）では０の要素として含まれている。つまり、共通の元の（ＢＦ（Ｓｉ）−１）に含まれる０の要素は、変換データの統合およびランダマイズなどが行われても、０の要素として存在する。例えば、ｎ個の機関端末で共通の元のＢＦ（Ｓｉ）が（１，０，１，１,・・・０，１）の配列である場合、ｒ（ＩＢＵ（∪Ｓｉ）−ｎ）は、（０，ａ，０，０,・・・ｂ，０）の配列となる（ａおよびｂは任意の値）。したがって、機関端末ｉは、自らが保持する集合Ｓｉに含まれる複数の元のＢＦ（Ｓｉ）のうち、ｒ（ＩＢＵ（∪Ｓｉ）−ｎ）の０の要素と同じ位置に１の要素が配置されているＢＦ（Ｓｉ）に対応するＳｉの元を、共通要素として見つけ出す。
【００５４】
なお、上述の変換データ生成フェーズ、変換データ統合フェーズ、および解析結果出力フェーズのそれぞれの処理は、集合Ｓｉの各元に対して実行される。つまり、これらのフェーズでは、ｎ個の機関端末のそれぞれが有する集合Ｓｉ＝｛ｖ１，・・・，ｖｗｉ｝の各元に対する処理を順次実行した結果を送信する。
【００５５】
次に、必要属性出力フェーズ（ステップＳ１０６）において、機関端末ｉは、自ら保持しているデータベースにおいて必要属性に属する複数の要素のうち、共通要素（∩Ｓｉ）に関連付けられている要素を出力要素として、そのデータベースから取り出す。そして、機関端末ｉは、その共通要素および出力要素を暗号化し、その暗号化された共通要素および出力要素を解析結果としてクライアント端末１０１に送信する。
【００５６】
このように、本実施の形態では、アウトソース端末１０２が統合変換データを生成するため、データの解析に要する時間を短縮することができる。また、ｎ個の機関端末のそれぞれからアウトソース端末１０２に送信される変換データは暗号化されているため、アウトソース端末１０２では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末１０２によって生成される。したがって、本実施の形態におけるデータ解析方法では、アウトソース端末１０２は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。
【００５７】
また、本実施の形態では、アウトソース端末１０２からｎ個の機関端末のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、ｎ個の機関端末のそれぞれは、アウトソース端末１０２から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、ｎ個の機関端末のそれぞれが保持するデータベースの内容を、他の機関端末にもアウトソース端末１０２にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。
【００５８】
図４は、データ解析システム１００による解析の一例を示す図である。
【００５９】
例えば、クライアント端末１０１は、依頼者による操作に基づいて、（体重，血圧）を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、その（体重，血圧）を示す解析属性要求を機関端末１１１〜１１３に送信する。機関端末１１１〜１１３は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末１１１は、自らが保持する検診データであるデータベースＳ１に含まれる（体重，血圧）＝（９０，１６０）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１２は、自らが保持する検診データであるデータベースＳ２に含まれる（体重，血圧）＝（９０，１６０）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１３は、自らが保持する検診データであるデータベースＳ３に含まれる（体重，血圧）＝（９０，１６０）、（９０，１２０）および（９０，１１０）を解析結果としてクライアント端末１０１に暗号化して送信する。
【００６０】
クライアント端末１０１は、機関端末１１１〜１１３から送信された解析結果を取得する。つまり、クライアント端末１０１は、機関端末１１１〜１１３のデータベースＳ１〜Ｓ３から、これらのデータベースＳ１〜Ｓ３のそれぞれで体重に属する共通の属性値（共通要素）である「９０」に関連付けられた、血圧の属性値（出力要素）を取得する。そして、クライアント端末１０１は、体重「９０」と、その体重「９０」に関連付けられている血圧の属性値「１６０」、「１６０」、「１６０」、「１２０」および「１１０」を出力または表示する。
【００６１】
このように、本実施の形態におけるデータ解析システム１００では、クライアント端末１０１を操作する依頼者は、各機関（機関端末）の検診データが秘匿された状態で、照合属性に紐づく収集したい属性値を求めることができる。
【００６２】
図５は、データ解析システム１００による解析の他の例を示す図である。
【００６３】
図４に示す例と同様、クライアント端末１０１は、依頼者による操作に基づいて、（体重，血圧）を（照合属性，必要属性）として受け付ける。この照合属性は、解析の条件とされる属性であり、必要属性は、解析の対象とされる属性である。
【００６４】
そして、クライアント端末１０１は、図４に示す例と同様、その（体重，血圧）を示す解析属性要求を機関端末１１１〜１１３に送信する。機関端末１１１は、自らが保持するデータベースＳ１に含まれる（体重，血圧）＝（９０，１６０）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１２は、自らが保持するデータベースＳ２に含まれる（体重，血圧）＝（９０，１６０）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１３は、自らが保持するデータベースＳ３に含まれる（体重，血圧）＝（９０，１６０）、（９０，１２０）および（９０，１１０）を解析結果としてクライアント端末１０１に暗号化して送信する。
【００６５】
クライアント端末１０１は、機関端末１１１〜１１３から送信された解析結果を取得する。つまり、クライアント端末１０１は、機関端末１１１〜１１３のデータベースＳ１〜Ｓ３から、これらのデータベースＳ１〜Ｓ３のそれぞれで体重に属する共通の属性値（共通要素）である「９０」に関連付けられた、血圧の属性値（出力要素）を取得する。そして、クライアント端末１０１は、体重「９０」に関連付けられている血圧の属性値の集計結果を出力または表示する。例えば、クライアント端末１０１は、機関端末１１１〜１１３のそれぞれの機関において、体重「９０」の人が５人いることと、体重「９０」であって且つ血圧「１６０」の人が３人いることを表示する。
【００６６】
このように、本実施の形態におけるデータ解析システム１００では、クライアント端末１０１を操作する依頼者は、各機関（機関端末）の検診データが秘匿された状態で、照合属性に関連する統計値を求めることができる。
【００６７】
図６は、データ解析システム１００による解析のさらに他の例を示す図である。
【００６８】
例えば、機関端末１１１は、糖尿病の診療を行う機関である病院Ａにおいて取得された情報をデータベースＳ１として保持する。データベースＳ１における、ＩＤ、尿糖、血糖およびＨｂＡ１ｃなどはそれぞれ糖尿病患者の属性である。このようなデータベースＳ１は、それらの属性に属する複数の要素を示す。機関端末１１２は、心筋梗塞の診療を行う機関である病院Ｂにおいて取得された情報をデータベースＳ２として保持する。データベースＳ２における、ＩＤ、心電図、胸部ＣＴおよび胸部ＭＲＩなどはそれぞれ心筋梗塞患者の属性である。このようなデータベースＳ２は、それらの属性に属する複数の要素を示す。
【００６９】
この場合、クライアント端末１０１は、例えば依頼者による操作に基づいて、病院Ａに対する（ＩＤ，（尿糖，血糖））を（照合属性，必要属性）として受け付け、病院Ｂに対する（ＩＤ，心臓カテーテル）を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、（ＩＤ，（尿糖，血糖））を示す解析属性要求を病院Ａの機関端末１１１に送信し、（ＩＤ，心臓カテーテル）を示す解析属性要求を病院Ｂの機関端末１１２に送信する。
【００７０】
機関端末１１１および１１２は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末１１１は、自らが保持するデータベースＳ１に含まれる（ＩＤ，尿糖，血糖）＝（Ｊｏｈｎ，＋，１１０）および（Ｄａｖｅ，＋，１６０）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１２は、自らが保持するデータベースＳ２に含まれる（ＩＤ，心臓カテーテル）＝（Ｊｏｈｎ，ＩＳＲ）および（Ｄａｖｅ，ＩＳＲ）を解析結果としてクライアント端末１０１に暗号化して送信する。
【００７１】
クライアント端末１０１は、機関端末１１１および１１２から送信された解析結果を取得する。つまり、クライアント端末１０１は、データベースＳ１およびＳ２から、これらのデータベースＳ１およびＳ２のそれぞれでＩＤに属する共通の要素である「Ｊｏｈｎ」に関連付けられている、尿糖、血糖および心臓カテーテルの要素を出力要素として取得する。さらに、クライアント端末１０１は、データベースＳ１およびＳ２から、これらのデータベースＳ１およびＳ２のそれぞれでＩＤに属する共通の要素である「Ｄａｖｅ」に関連付けられている、尿糖、血糖および心臓カテーテルの要素を出力要素として取得する。そして、クライアント端末１０１は、ＩＤ「Ｊｏｈｎ」に関連付けられている尿糖、血糖および心臓カテーテルの出力要素を統合し、ＩＤ「Ｄａｖｅ」に関連付けられている尿糖、血糖および心臓カテーテルの出力要素を統合する。ここで、クライアント端末１０１は、その統合において、ＩＤ「Ｊｏｈｎ」およびＩＤ「Ｄａｖｅ」を削除する。これにより、データの秘匿性をさらに高めることができる。
【００７２】
また、上述の例では、機関端末１１１は、（ＩＤ，尿糖，血糖）＝（Ｊｏｈｎ，＋，１１０）および（Ｄａｖｅ，＋，１６０）を暗号化して送信し、機関端末１１２は、（ＩＤ，心臓カテーテル）＝（Ｊｏｈｎ，ＩＳＲ）および（Ｄａｖｅ，ＩＳＲ）を暗号化して送信した。しかし、機関端末１１１および１１２のそれぞれは、ＩＤに属する要素（例えば「Ｊｏｈｎ」または「Ｄａｖｅ」）を送信せず、そのＩＤに属する要素を照合子に変換し、その照合子を暗号化して送信してもよい。
【００７３】
図７は、データ解析システム１００による解析のさらに他の例を示す図である。
【００７４】
例えば、機関端末１１１は、機関である病院Ａにおける検査によって記録された情報をデータベースＳ１として保持する。機関端末１１２は、機関である病院Ｂにおける検査によって記録された情報をデータベースＳ２として保持する。機関端末１１３は、機関である病院Ｃにおける検査によって記録された情報をデータベースＳ３として保持する。データベースＳ１〜Ｓ３はそれぞれ、検査項目の属性として、身長、体重および血圧などを示し、かつ、それらの属性に属する複数の要素を示す。
【００７５】
この場合、クライアント端末１０１は、例えば依頼者による操作に基づいて、病院Ａ〜Ｃに対する（体重，（身長，血圧，血液，視力，ＬＤＨ））を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、（体重，（身長，血圧，血液，視力，ＬＤＨ））を示す解析属性要求を病院Ａ〜Ｃの機関端末１１１〜１１３に送信する。
【００７６】
機関端末１１１、１１２および１１３は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末１１１は、自らが保持するデータベースＳ１に含まれる（体重，（身長，血圧，血液，視力，ＬＤＨ））＝（９０，（１５９，１５５，Ａ，０．７，１５０））を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１２は、自らが保持するデータベースＳ２に含まれる（体重，（身長，血圧，血液，視力，ＬＤＨ））＝（９０，（１５５，１６０，Ｏ，０．７，２２７））を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１３は、自らが保持するデータベースＳ３に含まれる（体重，（身長，血圧，血液，視力，ＬＤＨ））＝（９０，（１６０，１６３，ＡＢ，１．０，２６４））を解析結果としてクライアント端末１０１に暗号化して送信する。
【００７７】
クライアント端末１０１は、機関端末１１１、１１２および１１３から送信された解析結果を取得する。つまり、クライアント端末１０１は、データベースＳ１、Ｓ２およびＳ３のそれぞれから、これらのデータベースＳ１、Ｓ２およびＳ３のそれぞれで体重に属する共通の要素である「９０」に関連付けられている、身長、血圧、血液、視力、およびＬＤＨの要素を出力要素として取得する。これにより、クライアント端末１０１は、病院Ａ〜Ｃのそれぞれで検査を受けた体重「９０」の人の身長、血圧、血液、視力、およびＬＤＨのそれぞれの数値など取得することができる。その結果、複数の機関（上述の例では病院）のデータからの収集を行うことで、より多いデータを収集できる。すなわち、複数の機関のデータの照合結果を活用することができるため、収集されるデータを増やすことができ、良い解析結果を得ることができる。例えば肥満の患者の血圧は高いという解析結果を受けることができる。
【００７８】
このように、本実施の形態におけるデータ解析システム１００では、クライアント端末１０１を操作する依頼者は、病院Ａ〜Ｃの検診データが互いに秘匿された状態で、体重「９０」の患者の検診記録を統合することができる。つまり、各病院の検診記録の統合分析が可能になり、体重「９０」の患者の検診記録を各病院でも共有することができる。さらに、体重「９０」以外の患者の検診記録を秘匿にしておくことができる。
【００７９】
図８は、データ解析システム１００による解析のさらに他の例を示す図である。
【００８０】
例えば、機関端末１１１は、機関である学校Ａで発生した事故の情報をデータベースＳ１として保持する。機関端末１１２は、機関である学校Ｂで発生した事故の情報をデータベースＳ２として保持する。機関端末１１３は、機関である学校Ｃで発生した事故の情報をデータベースＳ３として保持する。データベースＳ１〜Ｓ３はそれぞれ、事故情報の属性として、名前、症状、場所および入院（入院の有無）などを示し、かつ、それらの属性に属する複数の要素を示す。
【００８１】
この場合、クライアント端末１０１は、例えば依頼者による操作に基づいて、学校Ａ〜Ｃに対する（入院，場所）を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、その（入院，場所）を示す解析属性要求を学校Ａ〜Ｃの機関端末１１１〜１１３に送信する。
【００８２】
機関端末１１１、１１２および１１３は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末１１１は、自らが保持するデータベースＳ１に含まれる（入院，場所）＝（１，ブランコ）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１２は、自らが保持するデータベースＳ２に含まれる（入院，場所）＝（１，ブランコ）を解析結果としてクライアント端末１０１に暗号化して送信する。機関端末１１３は、自らが保持するデータベースＳ３に含まれる（入院，場所）＝（１，ブランコ）、（１，鉄棒）および（１，スベリ台）を解析結果としてクライアント端末１０１に暗号化して送信する。
【００８３】
クライアント端末１０１は、機関端末１１１、１１２および１１３から送信された解析結果を取得する。つまり、クライアント端末１０１は、データベースＳ１、Ｓ２およびＳ３のそれぞれから、これらのデータベースＳ１、Ｓ２およびＳ３のそれぞれで入院に属する共通の要素である「１」に関連付けられている、場所の要素を出力要素として取得する。その結果、複数の機関（上述の例では学校）のデータからの収集を行うことで、より多いデータを収集できる。すなわち、複数の機関のデータの照合結果を活用することができるため、収集されるデータを増やすことができ、良い解析結果を得ることができる。つまり、上述の例の場合、クライアント端末１０１は、学校Ａ〜Ｃのそれぞれで、入院事故が発生した場所がどこであったかを把握することができる。例えば、ブランコでは入院事故が多いことを把握することができる。
【００８４】
このように、本実施の形態におけるデータ解析システム１００では、学校Ａ〜Ｃのそれぞれの機関と個人とのプライバシーを確保しながら、学校Ａ〜Ｃのデータを収集することで、事故の原因究明の強化を図ることができる。
【００８５】
図９は、データ解析システム１００による解析のさらに他の例を示す図である。
【００８６】
例えば、機関端末１１１は、機関である小学校における検診によって記録された情報をデータベースＳ１として保持する。機関端末１１２は、機関である大学における検診によって記録された情報をデータベースＳ２として保持する。機関端末１１３は、機関である企業における検診によって記録された情報をデータベースＳ３として保持する。データベースＳ１〜Ｓ３はそれぞれ共に、検診項目の属性として、名前、性別、身長および体重などを示す。また、データベースＳ１は、さらに、検査項目の属性としてＢＭＩを示し、データベースＳ２は、さらに、検査項目の属性としてＢＰ（血圧）を示し、データベースＳ３は、さらに、検査項目の属性としてＢＰ、ＦＢＳ（空腹時血糖）およびＰＢＧ（食後血糖）を示す。また、データベースＳ１〜Ｓ１は、それらの属性に属する複数の要素を示す。
【００８７】
この場合、クライアント端末１０１は、例えば依頼者による操作に基づいて、小学校に対する（（名前，性別），（身長，体重））を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、その（（名前，性別），（身長，体重））を示す解析属性要求を小学校の機関端末１１１に送信する。さらに、クライアント端末１０１は、例えば依頼者による操作に基づいて、大学に対する（（名前，性別），（身長，体重，ＢＰ））を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、その（（名前，性別），（身長，体重，ＢＰ））を示す解析属性要求を大学の機関端末１１２に送信する。さらに、クライアント端末１０１は、例えば依頼者による操作に基づいて、企業に対する（（名前，性別），（身長，体重，ＢＰ，ＦＢＳ，ＰＢＧ））を（照合属性，必要属性）として受け付ける。そして、クライアント端末１０１は、その（（名前，性別），（身長，体重，ＢＰ，ＦＢＳ，ＰＢＧ））を示す解析属性要求を企業の機関端末１１３に送信する。
【００８８】
機関端末１１１、１１２および１１３は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、小学校の機関端末１１１は、自らが保持するデータベースＳ１に含まれる（（名前，性別），（身長，体重））＝（（Ｄａｖｅ，Ｍ），（１２０，４０））および（（Ｃａｔｅ，Ｆ），（１１８，２１））を解析結果としてクライアント端末１０１に暗号化して送信する。
【００８９】
大学の機関端末１１２は、自らが保持するデータベースＳ２に含まれる（（名前，性別），（身長，体重，ＢＰ））＝（（Ｄａｖｅ，Ｍ），（１７９，６８，１３０／８３））および（（Ｃａｔｅ，Ｆ），（１６０，４８，１２２／８０））を解析結果としてクライアント端末１０１に暗号化して送信する。
【００９０】
企業の機関端末１１３は、自らが保持するデータベースＳ３に含まれる（（名前，性別），（身長，体重，ＢＰ，ＦＢＳ，ＰＢＧ））＝（（Ｄａｖｅ，Ｍ），（１８０，１００，１４５／９５，１３０，２１０））および（（Ｃａｔｅ，Ｆ），（１６０，５０，１２５／８５，１００，１４０））を解析結果としてクライアント端末１０１に暗号化して送信する。
【００９１】
クライアント端末１０１は、機関端末１１１、１１２および１１３から送信された解析結果を取得する。つまり、クライアント端末１０１は、データベースＳ１、Ｓ２およびＳ３から、これらのデータベースＳ１、Ｓ２およびＳ３のそれぞれで名前および性別に属する共通の要素である「Ｄａｖｅ，Ｍ」に関連付けられている、身長、体重、ＢＰ、ＦＢＳ、およびＰＢＧの要素を出力要素として取得する。さらに、クライアント端末１０１は、データベースＳ１、Ｓ２およびＳ３から、これらのデータベースＳ１、Ｓ２およびＳ３のそれぞれで名前および性別に属する共通の要素である「Ｃａｔｅ，Ｇ」に関連付けられている、身長、体重、ＢＰ、ＦＢＳ、およびＰＢＧの要素を出力要素として取得する。その結果、クライアント端末１０１は、小学校、大学および企業のそれぞれで検診を受けた同一人物の身長および体重などの数値を取得することができる。つまり、クライアント端末１０１は、人の成長過程における解析結果を取得することができる。
【００９２】
このように、本実施の形態におけるデータ解析システム１００では、小学校、大学および企業の各機関のデータが秘匿された状態で、それらの機関に跨る同一人物に関する時系列のデータを統合することができる。
【００９３】
なお、上述の例では、機関端末１１１〜１１３のそれぞれは、名前および性別のそれぞれの要素（「Ｄａｖｅ」または「Ｃａｔｅ」など）を暗号化して送信したが、図６に示す例と同様に、その要素を照合子に変換し、その照合子を暗号化して送信してもよい。
【００９４】
（まとめ）
以上のように、本実施の形態におけるデータ解析システム１００によるデータ解析方法では、解析属性入力フェーズにおいて、１つ以上の属性のそれぞれに対して複数の要素を示すデータベースＳ１〜Ｓ４を保持する機関端末１１１〜１１４に対して、クライアント端末１０１が照合属性についての解析を要求する。次に、変換データ生成フェーズにおいて、クライアント端末１０１からの要求に応じて、機関端末１１１〜１１４のそれぞれが、その機関端末のデータベースのうち、照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末１０２に送信する。次に、変換データ統合フェーズにおいて、アウトソース端末１０２が、機関端末１１１〜１１４から送信された複数の変換データを統合することによって統合変換データを生成し、その統合変換データを機関端末１１１〜１１４のそれぞれに送信する。そして、解析結果出力フェーズにおいて、機関端末１１１〜１１４のそれぞれが、アウトソース端末１０２から送信された統合変換データと、その機関端末のデータベースのうちの、照合属性に属する複数の要素のそれぞれとを照合することによって、機関端末１１１〜１１４において共通に保持されている、照合属性に属する要素を共通要素として特定する。
【００９５】
これにより、機関端末１１１〜１１４のそれぞれから送信された変換データは、アウトソース端末１０２によって統合され、その統合された複数の変換データからなる統合変換データが、その機関端末１１１〜１１４のそれぞれに送信される。つまり、照合属性についての解析、すなわち照合属性のマッチングに要する計算の全てを機関端末１１１〜１１４のそれぞれに負わせることなく、各機関端末１１１〜１１４の計算の一部をアウトソース端末１０２に集約することができる。その結果、解析の対象とされる機関端末の数、すなわち機関の数が増えても、データの解析に要する全体的な計算量を抑えることができ、データの解析に要する時間を短縮することができる。つまり、従来では、データ解析の負荷が機関数に依存していたが、その依存を抑えることができる。また、データが１つの機関で収集されることを抑えることができ、機関数に依存する計算をアウトソース端末１０２に依頼することができる。
【００９６】
また、機関端末１１１〜１１４のそれぞれからアウトソース端末１０２に送信される変換データは暗号化されているため、アウトソース端末１０２では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末１０２によって生成される。したがって、本発明に係るデータ解析方法では、アウトソース端末１０２は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。
【００９７】
また、アウトソース端末１０２から機関端末１１１〜１１４のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、機関端末１１１〜１１４のそれぞれは、アウトソース端末１０２から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、機関端末１１１〜１１４のそれぞれが保持するデータベースＳ１〜Ｓ４の内容を、他の機関端末にもアウトソース端末１０２にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。
【００９８】
また、本実施の形態では、機関端末１１１〜１１４のそれぞれは、照合属性に属する要素に対して変換処理を行うときには、要素に対してブルームフィルタを適用することによって、その要素を少なくとも１つの整数値からなるＢＦ値に変換し、そのＢＦ値を暗号化する。
【００９９】
これにより、要素がデータの大きさとは独立なＢＦ値に変換されるため、統合変換データと、データベースのうちの照合属性に属する複数の要素のそれぞれとの照合にかかる負荷を軽減することができ、処理速度を向上することができる。
【０１００】
また、本実施の形態では、クライアント端末１０１は、さらに、機関端末１１１〜１１４のそれぞれに対して、必要属性についての解析を要求する。機関端末１１１〜１１４のそれぞれは、さらに、その機関端末が保持するデータベースによって示される必要属性に属する複数の要素のうち、共通要素に関連付けられている要素を、出力要素として選択し、共通要素および出力要素を解析結果としてクライアント端末１０１に送信する。
【０１０１】
従来のデータ解析方法では、各機関で保管されているデータは、１つの属性に属する複数の要素の集合として取り扱われている。しかしながら、一般に、データは複数の属性を持つため、従来のデータ解析方法では、その複数の属性を持つデータを取り扱うことができず、現実の利用には適さない。一方、本実施の形態では、上述のように、照合属性だけでなく必要属性についての解析も行われる。これにより、一般的な複数の属性を持つデータ（すなわちデータベース）を取り扱うことができ、実用性をさらに向上することができる。
【０１０２】
なお、本実施の形態では、必要属性についての解析の要求は、照合属性についての解析の要求とともに解析属性要求として行われる。しかし、必要属性についての解析の要求は、照合属性についての解析の要求の後に行われてもよい。
【０１０３】
また、本実施の形態では、クライアント端末１０１は、さらに、機関端末１１１〜１１４のそれぞれから送信された解析結果を取得し、複数の解析結果のそれぞれに含まれる出力要素を統合する。
【０１０４】
これにより、機関端末１１１のそれぞれから送信された共通要素および出力要素がクライアント端末１０１に取得され、クライアント端末１０１によって、機関端末１１１〜１１４のそれぞれの共通要素および出力要素が統合される。これにより、任意のデータベースの統合を、プライバシーを保護しつつ、機関数に依存せず、データベースの属性の数を規制することなくセキュアに実現することができる。
【０１０５】
（その他の変形例）
上記実施の形態では、クライアント端末１０１は、機関端末１１１〜１１４とは独立した端末装置であったが、機関端末１１１〜１１４のうちの１つの機関端末であってもよい。この場合、クライアント端末１０１としての機関端末は、機関端末１１１〜１１４のうちのそのクライアント端末１０１を除く残りの複数の機関端末に対して、照合属性についての解析を要求する。
【０１０６】
また、上記実施の形態では、アウトソース端末１０２は、機関端末１１１〜１１４のうちの１つの機関端末であってもよい。この場合、アウトソース端末１０２としての機関端末は、機関端末１１１〜１１４のうちのそのアウトソース端末１０２を除く残りの複数の機関端末に対して、統合変換データを送信する。
【０１０７】
また、上記実施の形態では、解析属性要求を受けたｎ個の機関端末のそれぞれは、ｎ個の機関端末の全てにおいて共通に保持されている共通要素を特定した。しかし、解析属性要求を受けたｎ個の機関端末のそれぞれは、ｄ（２≦ｄ≦ｎ−１）個の機関端末のみにおいて共通に保持されている共通要素を特定してもよい。
【０１０８】
この場合、ｎ個の機関端末のそれぞれは、図３の変換データ生成フェーズにおいて、ＢＦ（Ｓｉ）＝［ＢＦｉ（０），・・・，ＢＦｉ（ｍ−１）］から、ＢＦ（Ｓｉ）−１＝［ＢＦｉ［０］−１，・・・，ＢＦｉ［ｍ−１］−１］を算出することなく、ＢＦ（Ｓｉ）を暗号化することによって、変換データを生成する。また、アウトソース端末１０２は、図３の変換データ統合フェーズにおいて、暗号化データをランダマイズすることなく統合変換データを生成する。そして、ｎ個の機関端末のそれぞれは、図３の解析結果出力フェーズにおいて、照合属性の集合Ｓｉの各元のＢＦ（Ｓｉ）と、ＩＢＵ（∪Ｓｉ）＝［（ΣＢＦｉ［０］），・・・，（ΣＢＦｉ［ｍ−１］）］とを照合することにより、照合属性の集合Ｓｉの中からｄ個の機関端末で共通の元である共通要素を見つけ出す。例えば、ｄ個の機関端末で共通の元のＢＦ（Ｓｉ）が（１，０，１，１,・・・０，１）の配列である場合、ＩＢＵ（∪Ｓｉ）は、（ｄ，ａ，ｄ，ｄ,・・・ｂ，ｄ）の配列となる（ａおよびｂは任意の値）。したがって、機関端末ｉは、自らが保持する集合Ｓｉに含まれる複数の元のＢＦ（Ｓｉ）のうち、１の要素がＩＢＵ（∪Ｓｉ）の値ｄの要素と同じ位置に配置されているＢＦ（Ｓｉ）の元を、共通要素として見つけ出す。
【０１０９】
（実施の形態２）
本実施の形態では、上記実施の形態１におけるデータ解析システムを利用したＰＤＤＩ（Privacy-preserving Distributed Data Integration）システムについて、説明する。
【０１１０】
図１０は、ＰＤＤＩを説明するための図である。
【０１１１】
ＰＤＤＩステムは、情報漏洩を懸念することなく、複数機関が所有するデータ統合を実現する。ＰＤＤＩにより以下の（１）〜（３）を実現することができる。（１）プライバシーを保護しつつ、スモールデータをビッグデータに変換。（２）各機関の希少データを統合することで、プライバシーを保護した精度の高い解析。（３）各機関の持つ異なる属性を統合することで、プライバシーを保護した多角的な解析。
【０１１２】
また、ＰＤＤＩシステムには以下の（１）〜（４）の特徴がある。（１）高機密性：各機関が許可したデータのみが許可された機関でのみ閲覧可能。（２）高汎用性：データ数・機関数に非依存。対象機関・突合項目・出力項目を自由に設定可能。（３）導入容易性：データ預託機関は不要。（４）高速性：ＰＤＤＩ計算機によりデータ秘匿性を保持しながら処理速度を向上。
【０１１３】
図１１は、システムモデルを説明するための図である。
【０１１４】
データ保有機関は、データの提供と利用許可属性の設定を行う。ＰＤＤＩ計算機は、機関数依存の計算処理を代行する。また、ＰＤＤＩ計算機は、データを知ることはできない。クライアント（端末）は、突合した必要属性を入手する。なお、クライアントは、データ保有機関が兼ねることもある。また、情報は分散管理されていて、各機関から他機関へは送付されない。ここで、突合属性は、突合子として使う属性であり、必要属性は、突合後にクライアントへ送付する属性である。
【０１１５】
図１２は、システム動作と特徴を示す図である。
【０１１６】
ＰＤＤＩ計算機へ渡されるのは暗号化不可逆データであるため、データ保有機関が所有する突合データは機関の外部へ出力されず完全に秘匿される。クライアントは各機関が公開を許可した属性のみを入手し、それ以外の情報は入手しない。全通信経路は暗号化されるため、許可された機関以外は解読できない。
【０１１７】
図１３は、ＰＤＤＩシステムの導入概要を示す図である。
【０１１８】
ＰＤＤＩシステムは、非可逆圧縮したデータの暗号化により突合を行い、統合データを暗号化して利用者に送信することで、各機関が独立してデータを保管しながら、データ突合を行う。本システムでは、突合データは各機関から外部に出ない。統合データは、必要な機関を除く全外部に対して秘匿される。
【０１１９】
計算機不要モデルでは、ＰＤＤＩ計算機の構築は不要で、研究所のクラウドが利用される。一方、計算機構築モデルでは、グループ毎にＰＤＤＩ計算機を構築する。どちらのモデルにおいても突合データ及び統合データは完全に秘匿される。
【０１２０】
図１４は、第１の適用事例を示す図である。第１の適用事例は、機関の横断的な医療データの統合である。
【０１２１】
複数の医療機関に通院する患者の医療データは、それぞれの医療機関において独立に管理されているが、同一患者のデータを突合して統合することで異なる病気の相互作用などをより多角的に解析することが可能となる。ＰＤＤＩシステムでは，それぞれの医療機関が独立に所有する医療データに対して、氏名・生年月日等のプライバシー情報を外部へ出さずに，同一患者のデータを突合して統合することができる。
【０１２２】
図１５は、第２の適用事例を示す図である。第２の適用事例は、健診データの統合である。
【０１２３】
個人の検診データを統合することで、幼少期の検査値が成人時の生活習慣病にどのように影響するかを解析することができる。これにより、生活習慣病などの保健指導を効果的に行なうことができる。ＰＤＤＩシステムでは、学校や企業で独立に保管された検診データから、プライバシーを保護しつつ、同一人物の検診データを統合し、長期間の個人の検診データを構築できる。図１５に示す例では、ＰＤＤＩシステムは、図９に示す例と同様、個人の健診データを突合し、その個人にその健診データを返却するために、その個人の名前を出力している。これにより、個人に健診データを還元することができる。この場合には、必要属性に照合属性が含まれる。一方、この個人の健診データを例えば研究などに利用する場合には、ＰＤＤＩシステムは、その個人の名前を削除する。
【０１２４】
図１６は、第３の適用事例を示す図である。第３の適用事例は、電動車いすの事故情報の統合である。
【０１２５】
業界全体で各メーカーの製品事故情報などを統合できると、未然に製品の欠陥理由が解析されて、安全な製品開発が促進される。製品事故情報の統合は各メーカーのデータのプライバシーを保護する必要がある。ＰＤＤＩシステムでは各メーカーのプライバシーを保護し、重篤な事故データの抽出と統合を実現する。
【０１２６】
図１７は、第４の適用事例を示す図である。第４の適用事例は、同じ病気の治療法の統合である。
【０１２７】
特定の病名に対する治療歴を統合・解析し、効果的な治療法を研究することができる。ＰＤＤＩシステムを利用することにより、病院名と氏名は秘匿される。
【０１２８】
図１８は、第５の適用事例を示す図である。第５の適用事例は、ガンと脳卒中の関連性調査である。
【０１２９】
多くの患者は疾患毎に専門病院へ通院するため、異なる疾患同士の関連性を調査するためにはデータ統合が必要となる。ＰＤＤＩシステムを利用することにより、個人情報を病院外へ出さずにデータ統合することができる。
【０１３０】
図１９は、一部の機関のみで行われる突合属性による統合を示す図である。
【０１３１】
ＰＤＤＩシステムでは、図１６に示すように、「全ての機関で使われている突合属性」のみが統合可能である。しかし、図１９に示すように、一部の機関のみで使われている属性を突合キーとしてもよい。つまり、図１６に示す例では、全メーカーに死亡例がある場合に、ＰＤＤＩシステムは、それらの死亡例のデータを出力する。一方、図１９に示す例では、全てのメーカーに死亡例がなくても、ＰＤＤＩシステムは、死亡例のデータを抽出して出力する。すなわち、抽出されるデータは共通集合ではない。
【０１３２】
図２０は、機関内で突合属性が重複するデータの統合を示す図である。
【０１３３】
ＰＤＤＩシステムでは、機関内で同一の突合属性を持つレコード同士は、データ統合でマージされる。しかし、上記のような場合も別レコードとみなして統合処理してもよい。なお、図２０に示す例は、照合属性を利用したデータ抽出への応用例を示しているとも言える。
【０１３４】
図２１は、突合属性の逐次的拡張を示す図である。
【０１３５】
ＰＤＤＩシステムでは、突合属性は固定されており、指定した属性のＡＮＤ結合として定義されている。しかし、突合の一意性が得られるまで突合属性の適用範囲を拡張する機能が追加されてもよい。つまり、属性「名前」だけで突合できない場合には、図２１に示すように、ＰＤＤＩシステムは、属性「名前」だけでなく属性「住所（例えば都市）」も突合属性に含めてもよい。
【０１３６】
図２２は、システム動作と特徴を示す図である。
【０１３７】
ＰＤＤＩ計算機へ渡されるのは暗号化不可逆データであるため、データ保有機関が所有する突合データは機関の外部へ出力されず完全に秘匿される。また、各機関がクライアントへの公開を許可した属性データのみが統合されるため、必要以上のデータが機関から外へ出ることはない。全データは暗号化して送受信されるため、ＰＤＤＩを利用する機関以外が通信を傍受することはできない。
【０１３８】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の各端末などを実現するソフトウェアは、図３に示すフローチャートの各ステップをコンピュータに実行させるプログラムである。
【０１３９】
また、上記各実施の形態における「統合」とは、複数のデータを正しく紐付けることを意味する。例えば、機関Ａのデータベースに（Ｊｏｈｎ、癌データＡ）があり、機関Ｂのデータベースに（Ｊｏｈｎ、心筋梗塞データＸ）がある場合、（癌データＡ）と（心筋梗塞データＸ）とを紐付けることを「統合」という。なお、このようなデータの紐づけは、突合属性（すなわち照合属性）に属する共通要素を用いて行われる。例えば、上述の例では、突合属性「氏名」に属する共通要素「Ｊｏｈｎ」を用いて、データの紐づけが行われる。
【０１４０】
また、本発明のデータ解析方法は、データベースの属性を突合属性（すなわち照合属性）、必要属性、およびそれ以外の属性に分類し、データ所有者のプライバシーのみならず、そのデータを管理する機関のプライバシーの保護も実現する方式である。具体的には、本発明のデータ解析方法では、各機関のもつデータベースの突合を突合属性に対して行い、各機関の突合属性を持つデータの必要属性を統合する。ここで、本発明のデータ解析方法によってデータ解析を行うシステムは、例えば、突合属性「病名」に属するデータ「認知症」で、各機関のデータベースの突合を行い、突合したデータの各機関のもつ必要属性「年齢、飲酒、喫煙」に属するデータを統合する。このとき、システムは、統合したデータが誰のデータであるかのみならず、どの機関からのデータであるかを秘匿する。さらに、必要属性には、２機関以上に含まれるなどの、実際の出力値を計算するための条件を付加することができる。
【０１４１】
以上、一つまたは複数の態様に係るデータ解析方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１４２】
本発明にかかるデータ解析方法は、データの解析に要する時間を短縮し、信頼できる機関が不要で、実用性を向上することができるという効果を奏し、例えば、病院、学校、または企業などの各機関におけるデータベースを解析するシステムなどに有用である。
【符号の説明】
【０１４３】
１００    データ解析システム
１０１    クライアント端末
１０２    アウトソース端末
１１１〜１１４    機関端末
【図１】
0006802572.tif 000002
【図２】
0006802572.tif 000003
【図３】
0006802572.tif 000004
【図４】
0006802572.tif 000005
【図５】
0006802572.tif 000006
【図６】
0006802572.tif 000007
【図７】
0006802572.tif 000008
【図８】
0006802572.tif 000009
【図９】
0006802572.tif 000010
【図１０】
0006802572.tif 000011
【図１１】
0006802572.tif 000012
【図１２】
0006802572.tif 000013
【図１３】
0006802572.tif 000014
【図１４】
0006802572.tif 000015
【図１５】
0006802572.tif 000016
【図１６】
0006802572.tif 000017
【図１７】
0006802572.tif 000018
【図１８】
0006802572.tif 000019
【図１９】
0006802572.tif 000020
【図２０】
0006802572.tif 000021
【図２１】
0006802572.tif 000022
【図２２】
0006802572.tif 000023