(57)【特許請求の範囲】
【請求項１】
顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムであって、
前記顧客装置は、
前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成手段と、
前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成手段によって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定手段と、
前記データ配列において、前記配列順位決定手段によって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成手段と、
前記収集用データ配列作成手段によって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成手段と、
前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成手段によって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出手段と、
前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信手段と、を備え、
前記収集センターは、
前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成手段と、
前記暗号化乱数生成手段によって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布手段と、
前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成手段によって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化手段と、
を備えたことを特徴とするデータ収集システム。
【請求項２】
前記複数の顧客装置の間を循環する経路が、前記第一の循環経路として予め設定される場合であって、
前記顧客装置は、
前記第一の循環経路において１番目に位置する顧客装置として設定されている場合は、前記配列順位決定用乱数生成手段によって生成された前記配列順位決定用乱数を自身に固有設定された暗号化方式により暗号化することで暗号化リストを作成し、前記第一の循環経路において２番目以降に位置する顧客装置として設定されている場合は、自身の直前に位置する顧客装置から受信した暗号化リストに、前記配列順位決定用乱数生成手段によって生成された前記配列順位決定用乱数を追加したリストを作成したうえで、当該リストを構成するすべての要素を自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する第一の暗号化手段と、
前記第一の循環経路において、最後尾に位置する顧客装置から暗号化リストを受信した場合、または、自身の直前に位置する顧客装置から暗号化リストを再度受信した場合、当該暗号化リストを構成する要素のうち、自身が生成した前記配列順位決定用乱数に該当する要素より以降にある要素を、前記自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する第二の暗号化手段と、
前記第一の循環経路において１番目に位置する顧客装置として設定されている場合は、前記複数の顧客装置すべてにより前記第二の暗号化手段を用いた暗号化処理が終了した後の暗号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を所定の基準に従って並べ替えた復号化リストを作成し、前記第一の循環経路において２番目以降に位置する顧客装置として設定されている場合は、自身の直前に位置する顧客装置から受信した復号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を前記所定の基準に従って並べ替えた新たな復号化リストを作成するリスト復号化手段と、
をさらに備え、
前記顧客通信手段は、前記第一の循環経路において自身の隣に位置する顧客装置との間で暗号化リストおよび復号化リストを通信し、さらに、前記第一の循環経路において最後尾に位置する顧客装置である場合は、前記リスト復号化手段によって作成した前記復号化リストを最終復号化リストとして他の顧客装置に送信し、
前記配列順位決定手段は、前記最終復号化リストにおいて、前記配列順位決定用乱数生成手段によって生成された前記配列順位決定用乱数が位置する順位を前記配列順位として決定することを特徴とする請求項１に記載のデータ収集システム。
【請求項３】
前記複数の顧客装置および前記収集センターの間を循環する経路が、前記第一の循環経路として予め設定される場合であって、
前記収集センターは、
前記第一の循環経路において最後尾に位置する顧客装置から受信した暗号化リストを構成するすべての要素を自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する収集センター暗号化手段と、
前記第一の循環経路において最後尾に位置する顧客装置から再度受信した暗号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を前記所定の基準に従って並べ替えた復号化リストを作成する収集センター復号化手段と、
前記第一の循環経路において１番目に位置する顧客装置および最後尾に位置する顧客装置との間で、暗号化リストおよび復号化リストを通信するセンターリスト通信手段と、
をさらに備え、
前記第二の暗号化手段は、前記循環経路において１番目に位置する顧客装置である場合、前記収集センターから受信した暗号化リストを構成する要素のうち、自身が生成した前記配列順位決定用乱数に該当する要素より以降にある要素を、前記自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成し、
前記リスト復号化手段は、前記循環経路において１番目に位置する顧客装置である場合、前記収集センターから受信した復号化リストを用いて新たな復号化リストを作成し、
前記顧客通信手段は、前記第一の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化リストおよび復号化リストを通信し、さらに、前記第一の循環経路において最後尾に位置する顧客装置である場合は、前記リスト復号化手段によって作成した前記復号化リストを前記最終復号化リストとして前記収集センターに送信し、
前記センターリスト通信手段は、受信した前記最終復号化リストを、前記複数の顧客装置すべてに送信し、
前記配列順位決定手段は、前記収集センターから受信した前記最終復号化リストを用いて前記配列順位として決定することを特徴とする請求項２に記載のデータ収集システム。
【請求項４】
顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムに適用されるデータ収集方法であって、
前記顧客装置は、
前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成ステップと、
前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成ステップによって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定ステップと、
前記データ配列において、前記配列順位決定ステップによって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成ステップと、
前記収集用データ配列作成ステップによって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成ステップと、
前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成ステップによって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出ステップと、
前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信ステップと、を含み、
前記収集センターは、
前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成ステップと、
前記暗号化乱数生成ステップによって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布ステップと、
前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成ステップによって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化ステップと、
を含んだことを特徴とするデータ収集方法。
【請求項５】
顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムに適用されるデータ収集方法をコンピュータに実行させるデータ収集プログラムであって、
前記顧客装置は、
前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成手順と、
前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成手順によって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定手順と、
前記データ配列において、前記配列順位決定手順によって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成手順と、
前記収集用データ配列作成手順によって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成手順と、
前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成手順によって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出手順と、
前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信手順と、をコンピュータに実行させ、
前記収集センターは、
前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成手順と、
前記暗号化乱数生成手順によって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布手順と、
前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成手順によって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化手順と、
をコンピュータに実行させることを特徴とするデータ収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ収集システム、データ収集方法およびデータ収集プログラムに関する。
【背景技術】
【０００２】
従来より、民生（家庭・業務）部門における省エネルギーには、エネルギー需要実態に即した機器性能やエネルギー管理が必要とされており、民生部門における需要実態の把握の重要性が増している。このため、エネルギー関連の研究機関や企業では、業務用ビルや個別家庭などの需要家のエネルギー使用実態の調査を進めている。
【０００３】
しかし、エネルギー使用実態の計測への協力を厭わない需要家を集めることは容易ではない。エネルギー使用実態の計測に参加してもよいとする需要家が少ないことの大きな要因としては、近年の個人情報および企業情報の保護意識の高まりにより、需要家の生活状況や事業活動を反映する個別のエネルギー需要に関する需要データを記録されることへの抵抗感、および、個別の需要データの漏洩に対する懸念が挙げられる。
【０００４】
そこで、エネルギー使用実態の調査を行なうエネルギー関連の研究機関や企業は、一般的に、需要家との間で、計測した需要データを非公開とする契約を取り交わすが、その結果、需要データに基づくエネルギー機器やエネルギー管理システムの性能評価は、非公開の限られた数の計測データに基づいた性能評価でしかないのが現状である。
【０００５】
例えば、研究機関や企業が特定の機器の性能評価結果が良かったと主張しても、高評価の要因が、調査対象となった需要家の特異性によるものである可能性を否定することができない。このため、研究機関や企業の行なう性能評価結果は、客観性に乏しいものとなってしまう。
【０００６】
多様な需要実態に即したエネルギー機器やエネルギー管理システムの性能評価を客観的に行なうためには、 多数の需要家のエネルギー需要データを集積したデータベース（以下、エネルギー需要データベースと記す）を構築することが必要となる。
【０００７】
しかし、多数の需要家が協力して実現できるエネルギー需要データベースの構築には、プライバシーを心配せずに需要家が安心して計測に協力できることが必要とされる。
【０００８】
このため、エネルギー需要データベースの構築においては、インターネットショッピングにおける電子認証と同様に、需要家のプライバシーを保護した需要データの収集・共用技術が不可欠とされる。そこで、非特許文献１では、暗号化方式により需要データを収集して需要特性を算出する技術が開示されている。
【０００９】
非特許文献１において開示されている技術は、具体的には、需要家から需要データを収集するデータセンター（以下、単に「センター」と記す）が、需要家から個別に需要データを収集するのではなく、各需要家の持つ需要データの総和を「セキュア総和計算」により求め、全需要家の需要データの総和から、平均および分散を求めることにより、需要特性を算出する手法である。
【００１０】
以下、センターが３つの需要家１〜３（具体的には、需要家１〜３それぞれにおいて計測された需要データを保持する需要家装置１〜３）から需要データを収集する際に、非特許文献１において開示されている技術を適用した場合を具体例として、図２１および図２２を用いて説明する。図２１および図２２は、従来技術を説明するための図である。
【００１１】
なお、需要家１〜３は、自分の需要データが他人（センター、他の需要家および第三者）に知られないことを前提に、需要データを提供することを承諾した需要家である。
【００１２】
まず、センターは、図２１の（Ａ）に示すように、乱数「Ｒ１，Ｒ２，Ｒ３」を生成し、生成した乱数「Ｒ１，Ｒ２，Ｒ３」それぞれを、需要家装置１〜３に対して、暗号通信（ＳＳＬ通信）により送信する。ここで、需要家装置１は、需要家１の需要データ「Ｖ１」を、需要家装置２は、需要家２の需要データ「Ｖ２」を、需要家装置３は、需要家３の需要データ「Ｖ３」をそれぞれ保持しているとする。
【００１３】
そして、各需要家装置は、自身が保持する需要データに、センターから受信した乱数を加算する。
【００１４】
具体的には、図２１の（Ｂ）に示すように、需要家装置１は、センターから「乱数：Ｒ１」を受信して、「需要データ：Ｖ１」と「乱数：Ｒ１」とを加算した「Ｖ１＋Ｒ１」を算出することにより、自身が保持する需要データを暗号化する。同様に、需要家装置２は、「Ｖ２＋Ｒ２」を算出し、需要家装置３は、「Ｖ３＋Ｒ３」を算出することで、自身が保持する需要データを暗号化する。
【００１５】
そして、各需要家装置は、暗号化した需要データの累積和を算出する。ここで、予め、需要家装置１、需要家装置２、需要家装置３、センターの順にデータを送る経路が設定されているとする。
【００１６】
具体的には、図２２の（Ａ）に示すように、まず、需要家装置１は、算出した「Ｖ１＋Ｒ１」を需要家装置２に送信し、需要家装置２は、受信した「Ｖ１＋Ｒ１」と、自身が暗号化した需要データ「Ｖ２＋Ｒ２」とを加算した累積和「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２」を算出する。続いて、需要家装置２は、算出した「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２」を需要家装置３に送信し、需要家装置３は、受信した「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２」と、自身が暗号化した需要データ「Ｖ３＋Ｒ３」とを加算した累積和「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２＋Ｖ３＋Ｒ３」を算出する。そののち、需要家装置３は、累積和「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２＋Ｖ３＋Ｒ３」をセンターに送信する。
【００１７】
そして、センターは、受信した累積和から、需要データの平均を算出する。
【００１８】
具体的には、センターは、図２２の（Ｂ）に示すように、需要家装置３から受信した暗号化した需要データの累積和（暗号化和）「Ｖ１＋Ｒ１＋Ｖ２＋Ｒ２＋Ｖ３＋Ｒ３」から、自身が生成した乱数の和（乱数和）「Ｒ１＋Ｒ２＋Ｒ３」を引くことにより、需要家１〜３の需要データの和「Ｖ１＋Ｖ２＋Ｖ３」を算出し、需要データの和から需要データの平均「（Ｖ１＋Ｖ２＋Ｖ３）／３」を算出する。さらに、センターは、需要データの和および需要データの平均から需要データの分散を算出する。
【００１９】
そして、センターは、需要データの平均および需要データの分散を用いて、需要特性の分析を行なう。これにより、需要データを提供する需要家同士が結託したとしても、センターが、需要家のいずれか、もしくは、第三者と結託しない限り、各需要家の需要データが漏洩することを回避できる。
【００２０】
したがって、センターは、自分の需要データが秘匿できるのであれば需要データを提供してもよいとする需要家を、需要データの収集対象とすることができるので、多数の需要家が協力するエネルギー需要データベースの構築が可能となる。
【００２１】
【非特許文献１】佐野・篠原，「プライバシーを保護した需要データの収集・公開に関する調査」，電中研調査報告R06019，2007．
【発明の開示】
【発明が解決しようとする課題】
【００２２】
ところで、上記した従来の技術は、需要家の需要データを個別に収集できないため、詳細な分析が行なえないという課題があった。すなわち、上記した従来の技術において収集できるのは、需要家のデータ（元データ、または、需要家が計算したデータ）の「累積和」であり、需要家の個別のデータ自身は得ることができない。このため、可能な需要データの分析は、需要家が計算したデータの累積和として得られる共分散行列、時系列相関行列等に基づく分析に限定される。また、データ収集時には想定しなかった分析を行う必要が生じた場合には、再度、その分析に応じたデータ収集が必要となる。例えば、時系列分析を当初予定していない場合、分析に必要な時系列相関行列が収集済みデータからは得られないため、再度、需要家から時系列相関行列を収集しなければならなかった。再収集の手間が生じる上に、需要家は再収集に備えて過去のデータを蓄積しなければならなかった。
【００２３】
なお、これまで上記した従来の技術を用いても、需要家のデータを個別に収集できないため、詳細な分析が行なえないという課題があったことについて説明した。しかし、上記した課題が生じるのは、需要家のエネルギー需要に関するデータを収集する場合に限定されるものではなく、センターと契約した顧客から任意のデータを収集する場合において上記した従来の技術を用いたとしても、顧客のデータを個別に収集できないため、詳細な分析が行なえないという課題があった。
【００２４】
ここで、上記した従来の技術におけるデータの収集対象は、自分のデータが秘匿できるのであれば自身のデータを提供してもよいとする顧客であるが、顧客によっては、自分のデータが第三者に対して秘匿され、かつ、自分のデータであることがセンターによって特定されない（匿名）ならば、自分のデータを提供することに同意する顧客も存在すると考えられる。
【００２５】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、提供するデータが第三者に対して秘匿され、かつ、提供するデータがセンターに対して匿名性が確保できるのであれば、自分のデータを提供してもよいとする各顧客から、第三者への秘匿とセンターへの匿名性とを確保して個別のデータを収集することにより、詳細なデータの分析を行うことが可能になるデータ収集システム、データ収集方法およびデータ収集プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
上述した課題を解決し、目的を達成するため、このシステムは、顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムであって、前記顧客装置は、前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成手段と、前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成手段によって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定手段と、前記データ配列において、前記配列順位決定手段によって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成手段と、前記収集用データ配列作成手段によって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成手段と、前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成手段によって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出手段と、前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信手段と、を備え、前記収集センターは、前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成手段と、前記暗号化乱数生成手段によって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布手段と、前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成手段によって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化手段と、を備えたこと要件とする。
【００２７】
また、この方法は、顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムに適用されるデータ収集方法であって、前記顧客装置は、前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成ステップと、前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成ステップによって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定ステップと、前記データ配列において、前記配列順位決定ステップによって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成ステップと、前記収集用データ配列作成ステップによって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成ステップと、前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成ステップによって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出ステップと、前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信ステップと、を含み、前記収集センターは、前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成ステップと、前記暗号化乱数生成ステップによって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布ステップと、前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成ステップによって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化ステップと、を含んだことを要件とする。
【００２８】
また、このプログラムは、顧客ごとに設置され、設置された顧客のデータを取得する複数の顧客装置と、前記複数の顧客装置から前記データを収集する収集センターとを含んで構成されるデータ収集システムに適用されるデータ収集方法をコンピュータに実行させるデータ収集プログラムであって、前記顧客装置は、前記データの収集用配列であるデータ配列に自身が計測したデータを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する配列順位決定用乱数生成手順と、前記配列順位を決定するために予め設定された第一の循環経路を介して、前記複数の顧客装置によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを、前記第一の循環経路を介して順に復号化することで最終的に作成された最終復号化リストと、前記配列順位決定用乱数生成手順によって生成された前記配列順位決定用乱数とを用いて前記配列順位を決定する配列順位決定手順と、前記データ配列において、前記配列順位決定手順によって決定された前記配列順位に自身が計測したデータを配置した収集用データ配列を作成する収集用データ配列作成手順と、前記収集用データ配列作成手順によって作成された前記収集用データ配列に、前記収集センターから配布された暗号化用の乱数列である暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する暗号化収集用データ配列作成手順と、前記データを収集するために予め設定された第二の循環経路において自身の直前に位置する顧客装置から受信した暗号化収集用データ配列に、前記暗号化収集用データ配列作成手順によって作成された前記暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用配列として算出する累積和配列算出手順と、前記第二の循環経路において自身の隣に位置する顧客装置または前記収集センターとの間で暗号化収集用データ配列を通信する顧客通信手順と、をコンピュータに実行させ、前記収集センターは、前記複数の顧客装置それぞれに対応する複数の前記暗号化乱数列を生成する暗号化乱数生成手順と、前記暗号化乱数生成手順によって生成された複数の前記暗号化乱数列それぞれを、対応する顧客装置それぞれに配布する暗号化乱数列配布手順と、前記第二の循環経路において最後尾に位置する顧客装置から受信した暗号化収集用データ配列を、前記暗号化乱数生成手順によって生成された複数の前記暗号化乱数列を用いて復号化する暗号化収集用データ配列復号化手順と、をコンピュータに実行させることを要件とする。
【発明の効果】
【００２９】
開示のシステム、方法およびプログラムによれば、提供するデータが第三者に対して秘匿され、かつ、提供するデータがセンターに対して匿名性が確保できるのであれば、自分のデータを提供してもよいとする各顧客から、第三者への秘匿とセンターへの匿名性とを確保して個別のデータを収集することができ、詳細なデータの分析を行うことが可能になる。
【発明を実施するための最良の形態】
【００３０】
以下に添付図面を参照して、この発明に係るデータ収集システム、データ収集方法およびデータ収集プログラムの好適な実施例を詳細に説明する。なお以下では、本発明を需要家のエネルギー需要に関する需要データを収集する需要データ収集システムに適用した場合を実施例として説明する。
【実施例】
【００３１】
［本実施例における需要データ収集システムの概要および特徴］
まず最初に、図１を用いて、本実施例における需要データ収集システムの概要および特徴について説明する。図１は、本実施例における需要データ収集システムの概要および特徴を説明するための図である。
【００３２】
本実施例における需要データ収集システムは、業務用ビルや個別家庭などの需要家ごとに設置され、設置された需要家のエネルギー需要に関する需要データを計測する複数の需要家装置と、複数の需要家装置から需要データを収集するセンターとを含んで構成されることを概要とする。例えば、図１の（Ａ）に示すように、本実施例におけるセンター２０は、３つの需要家にそれぞれ設置される３つの需要家装置１０それぞれが計測した需要データを収集し、収集した需要データの分析を行なう。ここで、需要家は、特許請求の範囲に記載の「顧客」に対応し、需要データは、同じく「データ」に対応し、需要家装置１０は、同じく「顧客装置」に対応し、センター２０は、同じく「収集センター」に対応する。
【００３３】
なお、本実施例における需要データ収集システムにおいては、センター２０と、複数の需要家装置１０との間で、特定のデータを送受信するために用いられる循環経路が設定されている。例えば、本実施例における需要データ収集システムにおいては、図１の（Ａ）に示すように、「１番目の需要家装置１０、２番目の需要家装置１０、３番目の需要家装置１０、センター２０」の順で、特定のデータデータを送受信することが、センター２０の管理者により予め設定されている。
【００３４】
すなわち、本実施例における需要データ収集システムは、１番目の需要家装置１０が計測した需要データ「Ｖ１」と、２番目の需要家装置１０が計測した需要データ「Ｖ２」と、３番目の需要家装置１０が計測した需要データ「Ｖ３」とが、循環経路を介してセンター２０に収集されることを概要とする。
【００３５】
ここで、需要家装置１０が設置される需要家は、提供する需要データが第三者に対して秘匿され、かつ、提供する需要データの匿名性が確保できるのであれば、自分の需要データを提供してもよいとする需要家であり、本実施例における需要データ収集システムは、このような需要家から、第三者への秘匿と匿名性とを確保して個別の需要データを収集することにより、詳細な需要データの分析を行うことが可能になることを主たる特徴とする。
【００３６】
すなわち、本実施例における需要データ収集システムを構成するセンター２０は、個々の需要データ（Ｖ１，Ｖ２，Ｖ３）が第三者に漏洩せず、さらに、例えば、需要データ「Ｖ２」を計測した需要家装置１０がセンター２０に特定されないことを確保して、３つの需要家装置１０から個々の需要データ（Ｖ１，Ｖ２，Ｖ３）を収集することにより、時系列分析などの詳細な需要データの分析を行う。
【００３７】
この主たる特徴について簡単に説明すると、本実施例における各需要家装置１０は、需要データの収集用配列であるデータ配列に自身が計測した需要データを配置する配列順位を決定するための乱数として、配列順位決定用乱数を生成する。
【００３８】
具体的には、需要家装置１０それぞれは、「０から１」までの乱数を生成し、生成した乱数を配列順位決定用乱数とする。
【００３９】
例えば、図１の（Ｂ）に示すように、１番目の需要家装置１０は、配列順位決定用乱数として「Ｒ１＝０．８」を生成し、２番目の需要家装置１０は、配列順位決定用乱数として「Ｒ２＝０．２」を生成し、３番目の需要家装置１０は、配列順位決定用乱数として「Ｒ３＝０．５」を生成する。
【００４０】
そして、本実施例における需要データ収集システムを構成する各需要家装置１０およびセンター２０は、複数の需要家装置１０によって生成されたすべての配列順位決定用乱数を、循環経路を介して多重に暗号化した暗号化リストを作成し、さらに、暗号化リストを、循環経路を介して順に復号化することで、複数の需要家装置１０によって生成された配列順位決定用乱数それぞれを値の大小に基づいて並べ替えた最終的な復号化リスト（以下、最終復号化リストと記す）を作成する。
【００４１】
具体的には、各需要家装置１０およびセンター２０は、セキュア集合和アルゴリズム（例えば、「Clifton，M.Kantarcioglu et al. Tools for Privacy Preserving. Distributed Data Mining. SIGKDD， vol.4/2，pp.1-7，2003．」参照）により、最終復号化リストを作成する。
【００４２】
例えば、本実施例における需要データ収集システムを構成する各需要家装置１０およびセンター２０は、「セキュア集合和アルゴリズム」を用いることにより、図１の（Ｂ）に示すように、１番目、２番目および３番目の需要家装置１０がそれぞれ生成した配列順位決定用乱数「０．８」、「０．２」および「０．５」が小さい順に並べ替えられた最終復号化リスト「０．２＜０．５＜０．８」を作成する。
【００４３】
なお、本実施例における「セキュア集合和アルゴリズム」による最終復号化リストの作成処理については、後に詳述する。
【００４４】
そして、センター２０は、最終復号化リストを複数の需要家装置１０にそれぞれ送信し、各需要家装置１０は、受信した最終復号化リストにおいて、自身が生成した配列順位決定用乱数が位置する順位を配列順位として決定する。
【００４５】
具体的には、各需要家装置１０は、最終復号化リストを参照して、自身が生成した配列順位決定用乱数が位置する順位を同定し、同定した順位を配列順位として決定する。例えば、図１の（Ｂ）に示すように、１番目の需要家装置１０は、自身が生成した配列順位決定用乱数「０．８」が、最終復号化リストにおいて３番目にあると同定し、配列順位を「３位」と決定する。同様に、２番目の需要家装置１０は、配列順位を「１位」と決定し、３番目の需要家装置１０は、配列順位を「２位」と決定する。
【００４６】
ここで、各需要家装置１０が生成した配列順位決定用乱数は、他の需要家装置１０およびセンター２０に対して暗号化された状態で渡されている。このため、例えば、２番目の需要家装置１０が生成した配列順位決定用乱数は、他の需要家装置１０およびセンター２０に対して秘密となる。従って、各需要家装置１０が決定した順位は、他の需要家装置１０およびセンター２０に対して秘匿された秘密順位となる。
【００４７】
そして、本実施例における需要データ収集システムを構成する各需要家装置１０は、データ配列において、決定された配列順位に自身が計測した需要データを配置することにより収集用データ配列を作成する。例えば、図１の（Ｃ）に示すように、配列順位「３位」である１番目の需要家装置１０は、自身が計測した需要データ「Ｖ１」を、データ配列の３番目に配置し、データ配列の１番目および２番目には、「０」を配置することにより、３つの要素からなる収集用データ配列を作成する。
【００４８】
また、配列順位「１位」である２番目の需要家装置１０は、図１の（Ｃ）に示すように、自身が計測した需要データ「Ｖ２」を、データ配列の１番目に配置し、データ配列の２番目および３番目には、「０」を配置した収集用データ配列を作成する。また、配列順位「２位」である３番目の需要家装置１０は、図１の（Ｃ）に示すように、自身が計測した需要データ「Ｖ３」を、データ配列の２番目に配置し、データ配列の１番目および３番目には、「０」を配置した収集用データ配列を作成する。
【００４９】
そして、本実施例における需要データ収集システムを構成するセンター２０は、各需要家装置１０それぞれに対して暗号化用の乱数列である暗号化乱数列を配布し、本実施例における需要データ収集システムを構成する各需要家装置１０は、作成した収集用データ配列を、暗号化乱数列を用いて暗号化した暗号化収集用データ配列を作成する。
【００５０】
例えば、センター２０は、３つの乱数からなる暗号化乱数列を３種類生成し、生成した３種類の暗号化乱数列それぞれを、１番目、２番目および３番目の需要家装置１０に配布し、各需要家装置１０は、作成した３つの要素からなる収集用データ配列に、３つの乱数からなる暗号化乱数列を加算することにより暗号化収集用データ配列を作成する。
【００５１】
そして、本実施例における需要データ収集システムは、「セキュア総和計算」により、予め設定された循環経路を用いて収集した暗号化収集用データ配列を復号化する。
【００５２】
具体的には、本実施例における需要データ収集システムを構成する各需要家装置１０は、図１の（Ａ）に示す循環経路に従って、暗号化収集用データ配列を送受信する。この際、各需要家装置１０は、受信した暗号化収集用データ配列と自身が作成した暗号化収集用データ配列との累積和配列を算出し、算出した累積和配列を新たな暗号化収集用データ配列として送信する。これにより、センター２０は、循環経路の最後尾に位置する需要家装置１０（図１の（Ａ）に示す３番目の需要家装置１０）より暗号化収集用データ配列を受信し、受信した暗号化収集用データ配列を、３種類の暗号化乱数列を用いて復号化し、復号化収集用データ配列を作成する。
【００５３】
例えば、センター２０は、図１の（Ｄ）に示すように、「セキュア総和計算」により復号化収集用データ配列を作成し、復号化収集用データ配列を構成する３つの要素「Ｖ２，Ｖ３，Ｖ１」を、個別の需要データとして収集する。ただし、個々の需要データの計測が、どの需要家装置１０により行なわれたのかは特定することができない。なお、本実施例における「セキュア総和計算」の処理については、後に詳述する。
【００５４】
このようなことから、本実施例における需要データ収集システムは、各需要家装置１０それぞれにおいて決定された秘密の順位を用いて収集用データ配列を作成したうえで、「セキュア総和計算」により第三者への秘匿とセンターへの匿名性とを確保して個別の需要データを収集することができ、詳細な需要データの分析を行うことが可能になることを主たる特徴とする。
【００５５】
［本実施例における需要家装置の構成］
次に、図２を用いて、本実施例における需要家装置の構成を説明する。図２は、本実施例における需要家装置の構成を示すブロック図である。
【００５６】
図２に示すように、本実施例における需要家装置１０は、配列順位割り当て部１１と、需要データ計測部１２と、収集用データ配列作成部１３と、総和計算手続き部１４と、通信部１５と、暗号通信部１６とを備える。
【００５７】
配列順位割り当て部１１は、データ配列に、後述する需要データ計測部１２によって計測された需要データを配置するための配列順位を、セキュア集合和アルゴリズムを用いて割り当てるための処理部であり、図２に示すように、配列順位決定用乱数生成部１１ａと、需要家暗号化部１１ｂと、需要家復号化部１１ｃと、配列順位決定部１１ｄとを備える。ここで、配列順位決定用乱数生成部１１ａは、特許請求の範囲に記載の「配列順位決定用乱数生成手段」に対応し、需要家暗号化部１１ｂは、同じく「第一の暗号化手段」および「第二の暗号化手段」に対応し、需要家復号化部１１ｃは、同じく「リスト復号化手段」に対応し、配列順位決定部１１ｄは、同じく「配列順位決定手段」に対応する。
【００５８】
配列順位決定用乱数生成部１１ａは、配列順位を決定するための乱数として、配列順位決定用乱数を生成する。
【００５９】
需要家暗号化部１１ｂは、上述した循環経路（例えば、図１の（Ａ）参照）において１番目に位置する需要家装置１０として設定されている場合は、配列順位決定用乱数生成部１１ａによって生成された配列順位決定用乱数を自身に固有設定された暗号化方式により暗号化することで暗号化リストを作成する。また、需要家暗号化部１１ｂは、循環経路において２番目以降に位置する需要家装置１０として設定されている場合は、自身の直前に位置する需要家装置１０から受信した暗号化リストに、配列順位決定用乱数生成部１１ａによって生成された配列順位決定用乱数によって生成された配列順位決定用乱数を追加したリストを作成したうえで、当該リストを構成するすべての要素を自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する。なお、上記した需要家暗号化部１１ｂによる暗号化処理を、以下、第一の暗号化処理と記す。
【００６０】
さらに、需要家暗号化部１１ｂは、循環経路において、自身の直前に位置するセンター２０から暗号化リストを受信した場合、または需要家装置１０から暗号化リストを再度受信した場合、当該暗号化リストを構成する要素のうち、自身が生成した配列順位決定用乱数に該当する要素より以降にある要素を、自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する。なお、上記した需要家暗号化部１１ｂによる暗号化処理を、以下、第二の暗号化処理と記す。
【００６１】
需要家復号化部１１ｃは、循環経路において１番目に位置する需要家装置１０として設定されている場合は、複数の需要家装置１０およびセンター２０すべてにより第二の暗号化処理が終了した後の暗号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を、値の小さい順に並べ替えた復号化リストを作成する。また、需要家復号化部１１ｃは、循環経路において２番目以降に位置する需要家装置１０として設定されている場合は、自身の直前に位置する需要家装置１０から受信した復号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を、値の小さい順に並べ替えた復号化リストを作成する。
【００６２】
配列順位決定部１１ｄは、後述する通信部１５を介してセンター２０から受信した最終復号化リストにおいて、配列順位決定用乱数生成部１１ａによって生成された配列順位決定用乱数が位置する順位を配列順位として決定する。
【００６３】
需要データ計測部１２は、需要家装置１０が設置される需要家のエネルギー需要に関するデータである需要データを計測する。
【００６４】
収集用データ配列作成部１３は、データ配列において、配列順位決定部１１ｄによって決定された配列順位に、需要データ計測部１２によって計測された需要データを配置した収集用データ配列を作成する。ここで、収集用データ配列作成部１３は、特許請求の範囲に記載の「収集用データ配列作成手段」に対応する。
【００６５】
総和計算手続き部１４は、「セキュア総和計算」により、暗号化収集用データ配列を復号化するために用いられるデータを作成するための処理部であり、図２に示すように、暗号化収集用データ配列作成部１４ａと、累積和配列算出部１４ｂとを備える。ここで、暗号化収集用データ配列作成部１４ａは、特許請求の範囲に記載の「暗号化収集用データ配列作成手段」に対応し、累積和配列算出部１４ｂは、同じく「累積和配列算出手段」に対応する。
【００６６】
暗号化収集用データ配列作成部１４ａは、収集用データ配列作成部１３によって作成された収集用データ配列に、センター２０から配布された暗号化乱数列を加算することにより、当該収集用データ配列を暗号化した暗号化収集用データ配列を作成する。
【００６７】
ここで、センター２０は、生成した暗号化乱数列を暗号通信（例えば、ＳＳＬ通信）によって暗号通信部１６に送信する。すなわち、暗号通信部１６は、暗号通信用に設置された通信部であり、暗号化収集用データ配列作成部１４ａは、暗号通信部１６がセンター２０から受信した暗号化乱数列を用いて、暗号化収集用データ配列を作成する。
【００６８】
累積和配列算出部１４ｂは、循環経路において自身の直前に位置する需要家装置１０から受信した暗号化収集用データ配列に、暗号化収集用データ配列作成部１４ａによって作成された暗号化収集用データ配列を加算した累積和配列を新たな暗号化収集用データ配列として算出する。
【００６９】
通信部１５は、循環経路において自身の直前に位置する需要家装置１０、またはセンター２０から、暗号化リストおよび復号化リストを受信する。また、通信部１５は、需要家暗号化部１１ｂによって作成された暗号化リスト、および、需要家復号化部１１ｃによって作成された復号化リストを、循環経路において自身の直後に位置する需要家装置１０、またはセンター２０に送信する。また、通信部１５は、循環経路において最後尾に位置する場合は、需要家復号化部１１ｃによって作成した復号化リストを最終復号化リストとしてセンター２０に送信する。
【００７０】
さらに、通信部１５は、循環経路において自身の直前に位置する需要家装置１０から、当該需要家装置１０の暗号化収集用データ配列を受信する。また、通信部１５は、循環経路において自身の直後に位置する需要家装置１０、またはセンター２０に、累積和配列算出部１４ｂによって算出された累積和配列を新たな暗号化収集用データ配列として送信する。ここで、通信部１５は、特許請求の範囲に記載の「顧客通信手段」に対応する。
【００７１】
［本実施例におけるセンターの構成］
続いて、図３を用いて、本実施例におけるセンターの構成を説明する。図３は、本実施例におけるセンターの構成を示すブロック図である。
【００７２】
図３に示すように、本実施例におけるセンター２０は、配列順位割り当て部２１と、総和計算部２２と、通信部２３と、暗号通信部２４と、需要データ記憶部２５とを備える。
【００７３】
配列順位割り当て部２１は、配列順位割り当て部１１と同様に、配列順位を、セキュア集合和アルゴリズムを用いて割り当てるための処理部であり、図３に示すように、センター暗号化部２１ａと、センター復号化部２１ｂとを備える。ここで、センター暗号化部２１ａは、特許請求の範囲に記載の「収集センター暗号化手段」に対応し、センター復号化部２１ｂは、同じく「収集センター復号化手段」に対応する。
【００７４】
センター暗号化部２１ａは、循環経路において最後尾に位置する需要家装置１０から受信した暗号化リストを構成するすべての要素を自身に固有設定された暗号化方式により暗号化して新たな暗号化リストを作成する。なお、センター暗号化部２１ａによる暗号化処理は、上述した第一の暗号化処理の一環として行われる。
【００７５】
センター復号化部２１ｂは、循環経路において最後尾に位置する需要家装置から再度受信した暗号化リストを、自身に固有設定された復号化方式により復号化して、復号化したリストに含まれる要素を、値の小さい順に並べ替えた復号化リストを作成する。
【００７６】
総和計算部２２は、「セキュア総和計算」により、暗号化収集用データ配列を復号化するための処理部であり、図３に示すように、暗号化乱数列生成部２２ａと、データ配列復号化部２２ｂとを備える。ここで、暗号化乱数列生成部２２ａは、特許請求の範囲に記載の「暗号化乱数生成手段」に対応し、データ配列復号化部２２ｂは、同じく「暗号化収集用データ配列復号化手段」に対応する。
【００７７】
暗号化乱数列生成部２２ａは、複数の需要家装置１０それぞれに対応する複数の暗号化乱数列を生成する。
【００７８】
なお、暗号通信部２４は、暗号化乱数列生成部２２ａによって生成された複数の暗号化乱数列それぞれを、対応する需要家装置１０それぞれに、暗号化通信によって配布する。ここで、暗号通信部２４は、特許請求の範囲に記載の「暗号化乱数列配布手段」に対応する。
【００７９】
データ配列復号化部２２ｂは、循環経路において最後尾に位置する需要家装置１０から受信した暗号化収集用データ配列を、暗号化乱数列生成部２２ａによって生成された複数の暗号化乱数列を用いて復号化することにより、匿名性が確保された各需要家装置１０の需要データを個別に取得し、その結果を、需要データ記憶部２５に格納する。
【００８０】
需要データ記憶部２５は、データ配列復号化部２２ｂによって取得された個別の需要データを記憶する。具体的には、「セキュア総和計算」の処理が、時系列に沿った形式で行なわれた場合、各時刻において復号化された収集用データ配列にある個々の要素を、個別の需要データとして記憶する。
【００８１】
例えば、需要データ記憶部２５は、図３に示すように、時刻「ｔ１」において収集され、データ配列復号化部２２ｂによって復号化された収集用データ配列の１番目にある需要データを、「Ｖ１１」と記憶し、２番目にある需要データを、「Ｖ１２」と記憶し、３番目にある需要データを、「Ｖ１３」と記憶する。同様に、需要データ記憶部２５は、図３に示すように、時刻「ｔ２」や時刻「ｔ３」において収集され、データ配列復号化部２２ｂによって復号化された収集用データ配列の各需要データを記憶する。
【００８２】
通信部２３は、循環経路において最後尾に位置する需要家装置１０から、暗号化リストおよび最終復号化リストを受信し、循環経路において最初に位置する需要家装置１０に、センター暗号化部２１ａによって作成された暗号化リストおよびセンター復号化部２１ｂによって作成された復号化リストを送信する。
【００８３】
また、通信部２３は、循環経路において最後尾に位置する需要家装置１０から、暗号化収集用データ配列を受信する。ここで、通信部２３は、特許請求の範囲に記載の「センターリスト通信手段」に対応する。
【００８４】
なお、センター２０の管理者は、需要データ記憶部２５によって記憶された個別の需要データを用いて、需要特性の分析を行なう。
【００８５】
上述したように、本実施例における需要データ収集システムは、各需要家装置１０が備える配列順位割り当て部１１およびセンター２０が備える配列順位割り当て部２１が協調して処理（「セキュア集合和アルゴリズム」を用いた処理）を行なうことにより、各需要家装置１０に対して配列順位を割り当てる。さらに、各需要家装置１０が備える総和計算手続き部１４およびセンター２０が備える総和計算部２２が協調して処理（「セキュア総和計算」の処理）を行なうことにより、各需要家装置１０から個別の需要データを、匿名性を確保したうえで収集する。
【００８６】
これらの処理の具体例を、図４〜１２を用いて説明する。図４は、需要家装置による配列決定用乱数生成から第一の暗号化までの処理を説明するための図であり、図５は、センターによる第一の暗号化処理を説明するための図であり、図６は、需要家装置による第二の暗号化処理を説明するための図であり、図７は、センターによる復号化処理を説明するための図であり、図８は、需要家装置による復号化処理を説明するための図であり、図９は、センターによる最終復号化リストの配布処理を説明するための図であり、図１０は、センターによる暗号化乱数列生成から配布までの処理を説明するための図であり、図１１は、暗号化収集用データ配列作成処理を説明するための図であり、図１２は、暗号化収集用データ配列の復号化処理を説明するための図である。
【００８７】
なお、以下で説明する需要データ収集システムは、図１の（Ａ）に示すように、３つの需要家装置１０とセンター２０とから構成される。また、以下では、説明を容易にするために、センター２０を「Ｕｓｅｒ０」、１番目の需要家装置１０を「Ｕｓｅｒ１」、２番目の需要家装置１０を「Ｕｓｅｒ２」、３番目の需要家装置１０を「Ｕｓｅｒ３」として記載する。
【００８８】
まず、配列順位を割り当てる処理について説明する。図４に示すように、Ｕｓｅｒ１、Ｕｓｅｒ２およびＵｓｅｒ３は、所定の時刻となると、配列順位決定用乱数生成部１１ａにより配列順位決定用乱数としてＲ１、Ｒ２およびＲ３が生成され、Ｕｓｅｒ１、Ｕｓｅｒ２、Ｕｓｅｒ３、Ｕｓｅｒ０の順に第一の暗号化処理が行なわれる。なお、以下では、図１の（Ｂ）に示すように、「Ｒ１＝０．８、Ｒ２＝０．２、Ｒ３＝０．５」として説明を行なう。
【００８９】
ここで、Ｕｓｅｒ０が備えるセンター暗号化部２１ａの暗号化方式は、暗号化関数Ｅ０によって行なわれ、Ｕｓｅｒ１が備える需要家暗号化部１１ｂの暗号化方式は、暗号化関数Ｅ１によって行われ、Ｕｓｅｒ２が備える需要家暗号化部１１ｂの暗号化方式は暗号化、関数Ｅ２によって行われ、Ｕｓｅｒ３が備える需要家暗号化部１１ｂの暗号化方式は、暗号化関数Ｅ３によって行われる。なお、暗号化関数Ｅ０〜Ｅ３による暗号化は、例えば、Ｐｏｈｌｉｇ−Ｈｅｌｌｍａｎ暗号のように、以下の２つの条件を満たすものである。
【００９０】
１つ目の条件は、各暗号化関数は、交換可能であるとする条件である。例えば、「Ｅ１によって暗号化した値を、さらにＥ２によって暗号化した値」は、「Ｅ２によって暗号化した値を、さらにＥ１によって暗号化した値」と同じものであるとする条件である。
【００９１】
２つ目の条件は、異なるデータを各暗号化関数によって暗号化した値が偶然一致する確率は、非常に小さいとする条件である。
【００９２】
すなわち、図４に示すように、Ｕｓｅｒ１は、需要家暗号化部１１ｂによって、Ｒ１をＥ１によって暗号化した「Ｅ１（Ｒ１）」を作成し、作成した「Ｅ１（Ｒ１）」を暗号化リストとして、自身の通信部１５を介して、Ｕｓｅｒ２の通信部１５に送信する。
【００９３】
そして、Ｕｓｅｒ２の需要家暗号化部１１ｂは、図４に示すように、受信した「Ｅ１（Ｒ１）」の末尾に、Ｒ２を追加したリスト「（Ｅ１（Ｒ１），Ｒ２）」を作成したうえで、Ｅ２によって暗号化リスト「（Ｅ１２（Ｒ１），Ｅ２（Ｒ２））」を作成する。Ｕｓｅｒ２は、作成した「（Ｅ１２（Ｒ１），Ｅ２（Ｒ２））」をＵｓｅｒ３に送信する（通信部１５を介した処理）。
【００９４】
そして、Ｕｓｅｒ３の需要家暗号化部１１ｂは、図４に示すように、受信した「（Ｅ１２（Ｒ１），Ｅ２（Ｒ２））」の末尾に、Ｒ３を追加したリスト「（Ｅ１２（Ｒ１），Ｅ２（Ｒ２），Ｒ３）」を作成したうえで、Ｅ３によって暗号化リスト「（Ｅ１２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ３（Ｒ３））」を作成する。Ｕｓｅｒ３は、作成した「（Ｅ１２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ３（Ｒ３））」をＵｓｅｒ０に送信する（通信部１５と通信部２３と介した処理）。
【００９５】
そして、Ｕｓｅｒ０のセンター暗号化部２１ａは、図５に示すように、受信した「（Ｅ１２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ３（Ｒ３））」を、Ｅ０によって暗号化リスト「（Ｅ１２３０（Ｒ１），Ｅ２３０（Ｒ２），Ｅ３０（Ｒ３））」を作成する。センター暗号化部２１ａによって作成された「（Ｅ１２３０（Ｒ１），Ｅ２３０（Ｒ２），Ｅ３０（Ｒ３））」は、通信部２３により、Ｕｓｅｒ１の通信部１５に送信される。
【００９６】
続いて、第二の暗号化処理が行なわれる。すなわち、図６に示すように、Ｕｓｅｒ０から「（Ｅ１２３０（Ｒ１），Ｅ２３０（Ｒ２），Ｅ３０（Ｒ３））」を受信したＵｓｅｒ１の需要家暗号化部１１ｂは、自身が生成した配列順位決定用乱数（Ｒ１）に該当する要素より以降にある要素を、Ｅ１により暗号化して新たな暗号化リストを作成する。すなわち、Ｕｓｅｒ１の需要家暗号化部１１ｂは、「Ｅ２３０（Ｒ２）」および「Ｅ３０（Ｒ３）」のみをＥ１により暗号化し、新たな暗号化リスト「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１３０（Ｒ３））」を作成する。そして、Ｕｓｅｒ１の通信部１５は、「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１３０（Ｒ３））」を、Ｕｓｅｒ２の通信部１５に送信する。
【００９７】
そして、図６に示すように、Ｕｓｅｒ１から「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１３０（Ｒ３））」を受信したＵｓｅｒ２の需要家暗号化部１１ｂは、「Ｅ１３０（Ｒ３）」のみをＥ２により暗号化し、新たな暗号化リスト「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１２３０（Ｒ３））」を作成する。そして、Ｕｓｅｒ２の通信部１５は、「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１２３０（Ｒ３））」を、Ｕｓｅｒ３の通信部１５に送信する。
【００９８】
そして、図６に示すように、Ｕｓｅｒ２から「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１２３０（Ｒ３））」を受信したＵｓｅｒ３の需要家暗号化部１１ｂは、自身が生成した配列順位決定用乱数（Ｒ３）以降にデータがないので、第二の暗号化処理をしないと判断して、受信した暗号化リストを、通信部１５を介して、Ｕｓｅｒ０の通信部２３に送信する。
【００９９】
続いて、復号化処理が行なわれる。ここで、Ｕｓｅｒ０が備えるセンター復号化部２１ｂの復号化方式は、暗号化関数Ｅ０に対応する復号化関数Ｄ０によって行なわれ、Ｕｓｅｒ１が備える需要家復号化部１１ｃの復号化方式は、暗号化関数Ｅ１に対応する復号化関数Ｄ１によって行われ、Ｕｓｅｒ２が備える需要家復号化部１１ｃの復号化方式は、暗号化関数Ｅ２に対応する復号化関数Ｄ２によって行われ、Ｕｓｅｒ３が備える需要家復号化部１１ｃの復号化方式は、暗号化関数Ｅ３に対応する復号化関数Ｄ３によって行われる。
【０１００】
すなわち、図７に示すように、Ｕｓｅｒ０が備えるセンター復号化部２１ｂは、Ｕｓｅｒ３から受信した第二の暗号化処理終了後の暗号化リスト「（Ｅ１２３０（Ｒ１），Ｅ１２３０（Ｒ２），Ｅ１２３０（Ｒ３））」に復号化関数Ｄ０を施すことにより、リスト「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３））」を作成する。さらに、リストの各要素の値を小さい順に並べ替えたリスト「｛Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３）｝」を復号化リストとして作成する。そして、センター復号化部２１ｂによって作成された復号化リスト「｛Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３）｝」は、通信部２３により、Ｕｓｅｒ１の通信部１５に送信される。
【０１０１】
そして、図８に示すように、Ｕｓｅｒ１が備える需要家復号化部１１ｃは、Ｕｓｅｒ０から受信した復号化リスト「｛Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３）｝」に対して復号化関数Ｄ１を施したのちに値の小さい順に各要素を並べ替えることにより、新たな復号化リスト「｛Ｅ２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ２３（Ｒ３）｝」を作成し、Ｕｓｅｒ１が備える通信部１５は、新たな復号化リストを、Ｕｓｅｒ２が備える通信部１５に送信する。
【０１０２】
そして、図８に示すように、Ｕｓｅｒ２が備える需要家復号化部１１ｃは、Ｕｓｅｒ１から受信した復号化リスト「｛Ｅ２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ２３（Ｒ３）｝」に対して復号化関数Ｄ２を施したのちに値の小さい順に各要素を並べ替えることにより、新たな復号化リスト「｛Ｅ３（Ｒ１），Ｅ３（Ｒ２），Ｅ３（Ｒ３）｝」を作成し、Ｕｓｅｒ２が備える通信部１５は、新たな復号化リストを、Ｕｓｅｒ３が備える通信部１５に送信する。
【０１０３】
そして、図８に示すように、Ｕｓｅｒ３が備える需要家復号化部１１ｃは、Ｕｓｅｒ２から受信した復号化リスト「｛Ｅ３（Ｒ１），Ｅ３（Ｒ２），Ｅ３（Ｒ３）｝」に対して復号化関数Ｄ３を施したのちに値の小さい順に各要素を並べ替えることにより、新たな復号化リスト「｛Ｒ１，Ｒ２，Ｒ３｝」を作成し、Ｕｓｅｒ３が備える通信部１５は、自身が循環経路における最後尾の需要家装置１０であることから、「｛Ｒ１，Ｒ２，Ｒ３｝」を最終復号化リストとして、Ｕｓｅｒ０の通信部２３に送信する。
【０１０４】
続いて、最終復号化リストの配布処理が行なわれる。すなわち、図９に示すように、Ｕｓｅｒ０の通信部２３は、受信した「｛Ｒ１，Ｒ２，Ｒ３｝」を、Ｕｓｅｒ１、Ｕｓｅｒ２およびＵｓｅｒ３それぞれの通信部１５に送信する。こののち、Ｕｓｅｒ１〜３の配列順位決定部１１ｄは、受信した「｛Ｒ１，Ｒ２，Ｒ３｝」を参照して、自身の配列順位を決定する。
【０１０５】
上述したように、各需要家装置１０は、配列順位決定用乱数を本人のみが復号化できる暗号化データとして外部に送信するため、第三者に元の配列順位決定用乱数を読み取られることが回避できる。だだし、暗号化データと復号化されたリストのデータの並び順に対応関係がある場合、配列順位決定用乱数を、第三者によって推定される可能性がある。このため、並べ替えの方法を、値の大きい順で並べ替えたり、ランダムに並べ替たりといった方法に、所定の時間ごとに変更する場合であってもよい。
【０１０６】
次に、需要データの収集処理について説明する。まず、Ｕｓｅｒ０（センター２０）の暗号化乱数列生成部２２ａは、複数の需要家装置１０それぞれに対応する複数の暗号化乱数列を生成する。すなわち、図１０に示すように、暗号化乱数列生成部２２ａは、Ｕｓｅｒ１に対応する暗号化乱数列として、［Ｒ１１，Ｒ１２，Ｒ１３］を生成し、Ｕｓｅｒ２に対応する暗号化乱数列として、［Ｒ２１，Ｒ２２，Ｒ２３］を生成し、Ｕｓｅｒ３に対応する暗号化乱数列として、［Ｒ３１，Ｒ３２，Ｒ３３］を生成する。
【０１０７】
そして、図１０に示すように、Ｕｓｅｒ０は、暗号通信部２４（暗号通信）から、生成した暗号化乱数列を、対応する需要家装置１０（Ｕｓｅｒ１〜３）の暗号通信部１６に送信する。ここで、Ｕｓｅｒ１〜３それぞれは、決定された配列順位に基づいて、収集用データ配列作成部１３により、収集用データ配列［０，０，Ｖ１］［Ｖ２，０，０］［０，Ｖ３，０］を作成する。
【０１０８】
なお、センター２０による暗号化乱数列のための条件として、以下の条件がある。すなわち、各需要家装置１０の需要データおよび、各需要家装置１０の需要データの総和は、「０から（ｎ−１）」の範囲にあることが既知であるとする条件である。
【０１０９】
この条件下において、暗号化乱数列生成部２２ａは、「０から（ｎ−１）」上で一様分布をする乱数を生成する。
【０１１０】
そして、図１１の（Ａ）に示すように、Ｕｓｅｒ０から暗号化乱数列［Ｒ１１，Ｒ１２，Ｒ１３］を受信したＵｓｅｒ１の暗号化収集用データ配列作成部１４ａは、［０，０，Ｖ１］を暗号化した暗号化収集用データ配列［Ｒ１１，Ｒ１２，Ｖ１＋Ｒ１３］を作成する。同様に、Ｕｓｅｒ２の暗号化収集用データ配列作成部１４ａは、暗号化収集用データ配列［Ｖ２＋Ｒ２１，Ｒ２２，Ｒ２３］を作成し、Ｕｓｅｒ３の暗号化収集用データ配列作成部１４ａは、暗号化収集用データ配列［Ｒ３１，Ｖ３＋Ｒ３２，Ｒ３３］を作成する。
【０１１１】
なお、暗号化収集用データ配列における要素の値は、単に収集用データ配列における要素に暗号化乱数列の要素を加算した値ではなく、加算した値を、上述した「０から（ｎ−１）」で定まる値「ｎ」で割った余りとなる。例えば、Ｕｓｅｒ１の暗号化収集用データ配列における要素「Ｖ１＋Ｒ１３」の値は、実際には、「Ｖ１＋Ｒ１３」を「ｎ」で割った場合の余りとなる。
【０１１２】
そして、図１１の（Ｂ）に示すように、Ｕｓｅｒ１の通信部１５は、Ｕｓｅｒ２に暗号化収集用データ配列［Ｒ１１，Ｒ１２，Ｖ１＋Ｒ１３］を送信し、Ｕｓｅｒ２の累積和配列算出部１４ｂは、受信した［Ｒ１１，Ｒ１２，Ｖ１＋Ｒ１３］と、暗号化収集用データ配列［Ｖ２＋Ｒ２１，Ｒ２２，Ｒ２３］の累積和配列を算出して、新たな暗号化収集用データ配列とする。すなわち、Ｕｓｅｒ２の累積和配列算出部１４ｂは、［Ｒ１１＋（Ｖ２＋Ｒ２１），Ｒ１２＋Ｒ２２，（Ｖ１＋Ｒ１３）＋Ｒ２３］を新たな暗号化収集用データ配列として作成する。なお、累積和配列の各要素も、加算した値を「ｎ」で割った場合の余りとなる。
【０１１３】
そして、図１１の（Ｂ）に示すように、Ｕｓｅｒ２の通信部１５は、Ｕｓｅｒ３に新たな暗号化収集用データ配列［Ｒ１１＋（Ｖ２＋Ｒ２１），Ｒ１２＋Ｒ２２，（Ｖ１＋Ｒ１３）＋Ｒ２３］を送信し、Ｕｓｅｒ３の累積和配列算出部１４ｂは、受信した暗号化収集用データ配列と、暗号化収集用データ配列［Ｒ３１，Ｖ３＋Ｒ３２，Ｒ３３］の累積和配列を算出して、新たな暗号化収集用データ配列とする。すなわち、Ｕｓｅｒ３の累積和配列算出部１４ｂは、［Ｒ１１＋（Ｖ２＋Ｒ２１）＋Ｒ３１，Ｒ１２＋Ｒ２２＋（Ｖ３＋Ｒ３２），（Ｖ１＋Ｒ１３）＋Ｒ２３＋Ｒ３３］を新たな暗号化収集用データ配列として作成する。
【０１１４】
そして、図１１の（Ｂ）に示すように、Ｕｓｅｒ３の通信部１５は、Ｕｓｅｒ０に新たな暗号化収集用データ配列［Ｒ１１＋（Ｖ２＋Ｒ２１）＋Ｒ３１，Ｒ１２＋Ｒ２２＋（Ｖ３＋Ｒ３２），（Ｖ１＋Ｒ１３）＋Ｒ２３＋Ｒ３３］を送信する。ここで、図１１に示すように、「Ｒａ＝Ｒ１１＋Ｒ２１＋Ｒ３１、Ｒｂ＝Ｒ１２＋Ｒ２２＋Ｒ３２、Ｒｃ＝Ｒ１３＋Ｒ２３＋Ｒ３３」として定義すると、Ｕｓｅｒ０の通信部２３は、Ｕｓｅｒ３から暗号化収集用データ配列［Ｖ２＋Ｒａ，Ｖ３＋Ｒｂ，Ｖ１＋Ｒｃ］を受信する。
【０１１５】
そして、図１２に示すように、暗号化収集用データ配列［Ｖ２＋Ｒａ，Ｖ３＋Ｒｂ，Ｖ１＋Ｒｃ］を受信したＵｓｅｒ０のデータ配列復号化部２２ｂは、暗号化乱数列生成部２２ａによって生成された暗号化乱数列により既知となっている「Ｒａ」、「Ｒｂ」および「Ｒｃ」を、［Ｖ２＋Ｒａ，Ｖ３＋Ｒｂ，Ｖ１＋Ｒｃ］から差し引くことで、［Ｖ２，Ｖ３，Ｖ１］を取得することで、個別の需要データ「Ｖ２」、「Ｖ３」および「Ｖ１」を取得する。
【０１１６】
［本実施例における需要データ収集システムによる配列順位決定処理の手順］
次に、図１３および図１４を用いて、本実施例における需要データ収集システムによる配列順位決定処理を説明する。図１３は、本実施例における需要家装置の配列順位決定処理を説明するためのフローチャートであり、図１４は、本実施例におけるセンターの配列順位決定処理を説明するためのフローチャートである。
【０１１７】
［本実施例における需要家装置の配列順位決定処理の手順］
図１３に示すように、まず、本実施例における需要家装置１０は、所定の時刻となると（ステップＳ１３０１肯定）、配列順位決定用乱数生成部１１ａは、配列順位決定用乱数を生成する（ステップＳ１３０２）。
【０１１８】
ここで、循環経路において最初に位置する需要家装置１０である場合（ステップＳ１３０３肯定）、需要家暗号化部１１ｂは、第一の暗号化処理により、配列順位決定用乱数を暗号化した暗号化リストを作成し、作成した暗号化リストを直後に位置する需要家装置１０に送信する（ステップＳ１３０５）。
【０１１９】
一方、循環経路において最初に位置する需要家装置１０でない場合（ステップＳ１３０３否定）、需要家暗号化部１１ｂは、直前に位置する需要家装置１０から暗号化リストを受信すると（ステップＳ１３０４肯定）、第一の暗号化処理により、配列順位決定用乱数を暗号化した暗号化リストを作成し、作成した暗号化リストを直後に位置する需要家装置１０、またはセンター２０に送信する（ステップＳ１３０５）。
【０１２０】
そして、（最初に位置する需要家装置１０の場合は）センター２０から、または（２番目以降に位置する需要家装置１０の場合は）直前に位置する需要家装置１０から暗号化リストを受信すると（ステップＳ１３０６肯定）、需要家暗号化部１１ｂは、第二の暗号化処理により、暗号化リストを作成し、作成した暗号化リストを、直後に位置する需要家装置１０、または（最後尾に位置する需要家装置１０である場合は）センター２０に送信する（ステップＳ１３０７）。
【０１２１】
そののち、（最初に位置する需要家装置１０の場合は）センター２０から、または（２番目以降に位置する需要家装置１０の場合は）直前に位置する需要家装置１０から復号化リストを受信すると（ステップＳ１３０８肯定）、需要家復号化部１１ｃは、復号化処理により、復号化リストを作成し、作成した復号化リストを、直後に位置する需要家装置１０、または（最後尾に位置する需要家装置１０である場合は）センター２０に送信する（ステップＳ１３０９）。
【０１２２】
続いて、センター２０から最終復号化リストを受信すると（ステップＳ１３１０肯定）、配列順位決定部１１ｄは、受信した最終復号化リストにおいて、配列順位決定用乱数生成部１１ａによって生成された配列順位決定用乱数が位置する順位を配列順位として決定し（ステップＳ１３１１）、処理を終了する。
【０１２３】
［本実施例におけるセンターの配列順位決定処理の手順］
図１４に示すように、まず、本実施例におけるセンター２０は、最後尾に位置する需要家装置１０から（第一の暗号化処理済みの）暗号化リストを受信すると（ステップＳ１４０１肯定）、センター暗号化部２１ａは、受信した暗号化リストを暗号化する（ステップＳ１４０２）。
【０１２４】
そして、最後尾に位置する需要家装置１０から（第二の暗号化処理済みの）暗号化リストを受信すると（ステップＳ１４０３肯定）、センター復号化部２１ｂは、受信した暗号化リストを復号化した復号化リストを作成し、通信部２３を介して、作成した復号化リストを最初に位置する需要家装置１０に送信する（ステップＳ１４０４）。
【０１２５】
そののち、通信部２３は、最後尾に位置する需要家装置１０から最終復号化リストを受信すると（ステップＳ１４０５肯定）、最終復号化リストを、すべての需要家装置１０に送信して（ステップＳ１４０６）、処理を終了する。
【０１２６】
なお、本実施例では、予め設定された所定の時刻となった場合に、各需要家装置１０が同時に配列順位決定用乱数を生成する場合について説明したが、本発明はこれに限定されるものではなく、センター２０からの指示を契機に、各需要家装置１０が同時に配列順位決定用乱数を生成する場合であってもよい。
【０１２７】
また、本実施例では、各需要家装置１０が同時に配列順位決定用乱数を生成する場合について説明したが、本発明はこれに限定されるものではなく、センター２０からの指示を契機に、最初に位置する需要家装置１０が配列順位決定用乱数を生成して暗号化リストを作成し、以降は、直前に位置する需要家装置１０から暗号化リストを受信したことを契機に配列順位決定用乱数を生成して暗号化リストを作成する場合であってもよい。
【０１２８】
［本実施例における需要データ収集システムによる需要データ収集処理の手順］
次に、図１５および図１６を用いて、本実施例における需要データ収集システムによる需要データ収集処理を説明する。図１５は、本実施例における需要家装置の需要データ収集処理を説明するためのフローチャートであり、図１６は、本実施例におけるセンターの需要データ収集処理を説明するためのフローチャートである。
【０１２９】
［本実施例における需要家装置の需要データ収集処理の手順］
図１５に示すように、まず、本実施例における需要家装置１０は、センター２０から暗号化乱数列を受信すると（ステップＳ１５０１肯定）、収集用データ配列作成部１３は、配列順位決定部１１ｄによって決定された配列順位に、需要データ計測部１２によって計測された需要データを配置し、収集用データ配列を作成し（ステップＳ１５０２）、暗号化収集用データ配列作成部１４ａは、収集用データ配列を暗号化して暗号化収集用データ配列を作成する（ステップＳ１５０３）。
【０１３０】
ここで、循環経路において最初に位置する需要家装置１０である場合（ステップＳ１５０４肯定）、通信部１５は、暗号化収集用データ配列を直後に位置する需要家装置１０に送信して（ステップＳ１５０５）、処理を終了する。
【０１３１】
一方、循環経路において最初に位置する需要家装置１０でない場合（ステップＳ１５０４否定）、直前に位置する需要家装置１０から、暗号化収集用データ配列を受信すると（ステップＳ１５０６肯定）、累積和配列算出部１４ｂは、受信した暗号化収集用データ配列と暗号化収集用データ配列作成部１４ａによって作成された暗号化収集用データ配列とを加算して累積和配列を作成し、作成した累積和配列を新たな暗号化収集用データ配列として、直後に位置する需要家装置１０、または（最後尾に位置する需要家装置１０である場合は）センター２０に、通信部１５を介して送信し（ステップＳ１５０７）、処置を終了する。
【０１３２】
［本実施例におけるセンターの需要データ収集処理の手順］
図１６に示すように、まず、本実施例におけるセンター２０は、管理者により予め設定されている需要データ収集の時刻となると（ステップＳ１６０１肯定）、暗号化乱数列生成部２２ａは、各需要家装置１０の暗号化乱数列を生成して、暗号通信部２４を介して、各需要家装置１０に送信する（ステップＳ１６０２）。
【０１３３】
そして、最後尾に位置する需要家装置１０から、暗号化収集用データ配列を受信すると（ステップＳ１６０３肯定）、データ配列復号化部２２ｂは、暗号化乱数列生成部２２ａによって生成された暗号化乱数列を用いて、受信した暗号化収集用データ配列を復号化する（ステップＳ１６０４）。
【０１３４】
そののち、データ配列復号化部２２ｂは、復号化したデータ配列にある個々の要素を、個別の需要データとして、需要データ記憶部２５に格納し（ステップＳ１６０５）、処理を終了する。
【０１３５】
［本実施例の効果］
上記したように、本実施例によれば、各需要家装置１０およびセンター２０は、予め設定された循環経路を介して、各需要家装置１０によって生成されたすべての配列順位決定用乱数が多重に暗号化された暗号化リストを作成し、さらに、作成した暗号化リストを、循環経路を介して順に復号化することで最終的に作成された最終復号化リストを作成する。各需要家装置１０は、センター２０から受信した最終復号化リストにおいて、自身が生成した配列順位決定用乱数の位置する順位を配列順位として決定する。
【０１３６】
そして、センター２０は、需要データを収集するために、暗号化乱数列を生成して、生成した暗号化乱数列を各需要家装置１０に暗号通信により送信する。各需要家装置１０は、暗号化乱数列を受信すると、決定した配列順位に自身の需要データを配置した収集用データ配列を作成し、作成した収集用データ配列に受信した暗号化乱数列を加算して暗号化収集用データ配列を作成する。
【０１３７】
そして、各需要家装置１０は、循環経路を介して受信した暗号化収集用データ配列と自身が作成した暗号化収集用データ配列との累積和配列を新たな暗号化収集用データ配列として順に作成し、センター２０は、循環経路を介して受信した暗号化収集用データ配列を、暗号化乱数列を用いて復号化するので、各需要家装置１０それぞれにおいて決定された秘密の順位を用いて収集用データ配列を作成したうえで、「セキュア総和計算」により個別の需要データを収集するので、各需要家装置１０それぞれにおいて決定された秘密の順位を用いて収集用データ配列を作成したうえで、「セキュア総和計算」により第三者への秘匿と匿名性とを確保して個別の需要データを収集することができ、詳細な需要データの分析を行うことが可能になる。すなわち、一度決定された配列順位を所定の期間（例えば、１週間など）継続して用いることで、センター２０は、同じ位置に配列された需要データを、同一の需要家の需要データとして詳細な分析（例えば、時系列分析など）を行なうことが可能となる。
【０１３８】
なお、上記した実施例では、配列順位を決定する際に用いられる循環経路（特許請求の範囲に記載の「第一の循環経路」）と、需要データを収集する際に用いられる循環経路（特許請求の範囲に記載の「第二の循環経路」）とが同一である場合について説明したが、本発明はこれに限定されるものではなく、「第一の循環経路」と、「第二の循環経路」とが異なる場合であってもよい。
【０１３９】
例えば、「第一の循環経路」は、「第二の循環経路」と逆方向に循環する経路であってもよい。また、図４に示す需要データ収集システムにおいて、「第一の循環経路」は、「Ｕｓｅｒ１、Ｕｓｅｒ３、Ｕｓｅｒ２、Ｕｓｅｒ０」であり、「第二の循環経路」は、「Ｕｓｅｒ３、Ｕｓｅｒ１、Ｕｓｅｒ２、Ｕｓｅｒ０」であるといったように、需要データ収集システムの参加者を任意の順番に並べ替えた場合であってもよい。
【０１４０】
また、上記した実施例では、「第一の循環経路」と、「第二の循環経路」とが固定されて処理を行なう場合について説明したが、本発明はこれに限定されるものではなく、配列順位を決定する処理を開始するごとに、「第一の循環経路」を変更したり、需要データの収集処理を開始するごとに、「第二の循環経路」を変更したりする場合であってもよい。
【０１４１】
このように、「第一の循環経路」と「第二の循環経路」とを異なる経路としたり、「第一の循環経路」と「第二の循環経路」とを変更したりすることにより、第三者によるデータの推定を困難にすることが可能になる。
【０１４２】
また、上記した実施例では、複数の需要家装置１０とセンター２０とが協調して配列順位を決定する場合について説明したが、本発明はこれに限定されるものではなく、複数の需要家装置１０のみが協調して配列順位を決定する場合であってもよい。
【０１４３】
複数の需要家装置１０のみが協調して配列順位を決定する場合について、図１７〜２０を用いて説明する。図１７は、変形例における第一の暗号化処理を説明するための図であり、図１８は、変形例における第二の暗号化処理を説明するための図であり、図１９は、変形例における復号化処理を説明するための図であり、図２０は、変形例における最終復号化リストの配布処理を説明するための図である。
【０１４４】
複数の需要家装置１０のみが協調して配列順位を決定する場合、図１の（Ａ）などで示した循環経路とは別の循環経路である順位用循環経路が予め設定される。すなわち、図１７に示すように、センター２０（Ｕｓｅｒ０）を除いた順位用循環経路として、Ｕｓｅｒ１、Ｕｓｅｒ２、Ｕｓｅｒ３の順にデータを送受信する経路が設定される。
【０１４５】
そして、複数の需要家装置１０のみが協調して配列順位を決定する場合も、図１７に示すように、Ｕｓｅｒ１、Ｕｓｅｒ２およびＵｓｅｒ３は、所定の時刻となると、配列順位決定用乱数生成部１１ａにより配列順位決定用乱数としてＲ１、Ｒ２およびＲ３が生成され、Ｕｓｅｒ１、Ｕｓｅｒ２、Ｕｓｅｒ３の順に第一の暗号化処理が行なわれる。
【０１４６】
すなわち、図１７に示すように、Ｕｓｅｒ１〜Ｕｓｅｒ３の需要家暗号化部１１ｂは、図４にしめした場合と同様に、第一の暗号化処理により、暗号化リストを順に作成する。そして、図１７に示すように、Ｕｓｅｒ３の通信部１５は、センター２０ではなく、Ｕｓｅｒ１に対して、第一の暗号化処理済みの暗号化リスト「（Ｅ１２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ３（Ｒ３））」を送信する。
【０１４７】
続いて、第二の暗号化処理が行なわれる。すなわち、図１８に示すように、Ｕｓｅｒ３から「（Ｅ１２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ３（Ｒ３））」を受信したＵｓｅｒ１の需要家暗号化部１１ｂは、自身が生成した配列順位決定用乱数（Ｒ１）に該当する要素より以降にある要素を、Ｅ１により暗号化して新たな暗号化リスト「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１３（Ｒ３））」を作成し、Ｕｓｅｒ２に送信する。
【０１４８】
そして、図１８に示すように、Ｕｓｅｒ１から「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１３（Ｒ３））」を受信したＵｓｅｒ２の需要家暗号化部１１ｂは、「Ｅ１３（Ｒ３）」のみをＥ２により暗号化し、新たな暗号化リスト「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３））」を作成し、Ｕｓｅｒ３に送信する。
【０１４９】
そして、図１８に示すように、Ｕｓｅｒ２から「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３））」を受信したＵｓｅｒ３の需要家暗号化部１１ｂは、自身が生成した配列順位決定用乱数（Ｒ３）以降にデータがないので、第二の暗号化処理をしないと判断して、受信した暗号化リストを、Ｕｓｅｒ１に送信する。
【０１５０】
続いて、復号化処理が行なわれる。すなわち、図１９に示すように、Ｕｓｅｒ１が備える需要家復号化部１１ｃは、Ｕｓｅｒ３から受信した第二の暗号化処理終了後の暗号化リスト「（Ｅ１２３（Ｒ１），Ｅ１２３（Ｒ２），Ｅ１２３（Ｒ３））」に復号化関数Ｄ１を施すことにより、リスト「（Ｅ２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ２３（Ｒ３））」を作成する。さらに、リストの各要素の値を小さい順に並べ替えたリスト「｛Ｅ２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ２３（Ｒ３）｝」を復号化リストとして作成する。そして、Ｕｓｅｒ１は、作成した復号化リストをＵｓｅｒ２に送信する。
【０１５１】
そして、図１９に示すように、Ｕｓｅｒ２が備える需要家復号化部１１ｃは、Ｕｓｅｒ１から受信した復号化リスト「｛Ｅ２３（Ｒ１），Ｅ２３（Ｒ２），Ｅ２３（Ｒ３）｝」に対して復号化関数Ｄ２を施したのちに値の小さい順に各要素を並べ替えることにより、新たな復号化リスト「｛Ｅ３（Ｒ１），Ｅ３（Ｒ２），Ｅ３（Ｒ３）｝」を作成し、Ｕｓｅｒ２が備える通信部１５は、新たな復号化リストを、Ｕｓｅｒ３が備える通信部１５に送信する。
【０１５２】
そして、図１９に示すように、Ｕｓｅｒ３が備える需要家復号化部１１ｃは、Ｕｓｅｒ２から受信した復号化リスト「｛Ｅ３（Ｒ１），Ｅ３（Ｒ２），Ｅ３（Ｒ３）｝」に対して復号化関数Ｄ３を施したのちに値の小さい順に各要素を並べ替えることにより、新たな復号化リスト「｛Ｒ１，Ｒ２，Ｒ３｝」を作成する。
【０１５３】
続いて、最終復号化リストの配布処理が行なわれる。すなわち、Ｕｓｅｒ３は、自身が循環経路における最後尾の需要家装置１０であることから、「｛Ｒ１，Ｒ２，Ｒ３｝」を最終復号化リストとして、図２０に示すように、Ｕｓｅｒ１およびＵｓｅｒ２に送信する。こののち、Ｕｓｅｒ１〜３の配列順位決定部１１ｄは、「｛Ｒ１，Ｒ２，Ｒ３｝」を参照して、自身の配列順位を決定する。
【０１５４】
このように複数の需要家装置１０のみが配列順位を決定する場合、センター２０において、図３に示す配列順位割り当て部２１を設置する必要がなくなるので、需要データの収集にかかるコストを軽減することができる。
【０１５５】
また、上記した実施例では、収集するデータとして需要家のエネルギー需要に関する需要データを収集する場合について説明したが、本発明はこれに限定されるものではなく、センター２０と契約した顧客に関する任意のデータを取得する複数の顧客装置から、第三者への秘匿とセンターへの匿名性とを確保して各顧客のデータを収集する場合であってもよい。
【０１５６】
また、上記した実施例において図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１５７】
なお、本実施例で説明したデータ収集方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１５８】
以上のように、本発明に係るデータ収集システム、データ収集方法およびデータ収集プログラムは、顧客のデータを取得する複数の顧客装置からデータを収集する場合に有用であり、特に、第三者への秘匿とセンターへの匿名性とを確保して個別のデータを収集することにより、詳細なデータの分析を行うことに適する。
【図面の簡単な説明】
【０１５９】
【図１】本実施例における需要データ収集システムの概要および特徴を説明するための図である。
【図２】本実施例における需要家装置の構成を示すブロック図である。
【図３】本実施例におけるセンターの構成を示すブロック図である。
【図４】需要家装置による配列決定用乱数生成から第一の暗号化までの処理を説明するための図である。
【図５】センターによる第一の暗号化処理を説明するための図である。
【図６】需要家装置による第二の暗号化処理を説明するための図である。
【図７】センターによる復号化処理を説明するための図である。
【図８】需要家装置による復号化処理を説明するための図である。
【図９】センターによる最終復号化リストの配布処理を説明するための図である。
【図１０】センターによる暗号化乱数列生成から配布までの処理を説明するための図である。
【図１１】暗号化収集用データ配列作成処理を説明するための図である。
【図１２】暗号化収集用データ配列の復号化処理を説明するための図である。
【図１３】本実施例における需要家装置の配列順位決定処理を説明するためのフローチャートである。
【図１４】本実施例におけるセンターの配列順位決定処理を説明するためのフローチャートである。
【図１５】本実施例における需要家装置の需要データ収集処理を説明するためのフローチャートである。
【図１６】本実施例におけるセンターの需要データ収集処理を説明するためのフローチャートである。
【図１７】変形例における第一の暗号化処理を説明するための図である。
【図１８】変形例における第二の暗号化処理を説明するための図である。
【図１９】変形例における復号化処理を説明するための図である。
【図２０】変形例における最終復号化リストの配布処理を説明するための図である。
【図２１】従来技術を説明するための図である。
【図２２】従来技術を説明するための図である。
【符号の説明】
【０１６０】
１０  需要家装置
１１  配列順位割り当て部
１１ａ  配列順位決定用乱数生成部
１１ｂ  需要家暗号化部
１１ｃ  需要家復号化部
１１ｄ  配列順位決定部
１２  需要データ計測部
１３  収集用データ配列作成部
１４  総和計算手続き部
１４ａ  暗号化収集用データ配列作成部
１４ｂ  累積和配列算出部
１５  通信部
１６  暗号通信部
２０  センター
２１  配列順位割り当て部
２１ａ  センター暗号化部
２１ｂ  センター復号化部
２２  総和計算部
２２ａ  暗号化乱数列生成部
２２ｂ  データ配列復号化部
２３  通信部
２４  暗号通信部
２５  需要データ記憶部
【図１】
0005070133.tif 000002
【図２】
0005070133.tif 000003
【図３】
0005070133.tif 000004
【図４】
0005070133.tif 000005
【図５】
0005070133.tif 000006
【図６】
0005070133.tif 000007
【図７】
0005070133.tif 000008
【図８】
0005070133.tif 000009
【図９】
0005070133.tif 000010
【図１０】
0005070133.tif 000011
【図１１】
0005070133.tif 000012
【図１２】
0005070133.tif 000013
【図１３】
0005070133.tif 000014
【図１４】
0005070133.tif 000015
【図１５】
0005070133.tif 000016
【図１６】
0005070133.tif 000017
【図１７】
0005070133.tif 000018
【図１８】
0005070133.tif 000019
【図１９】
0005070133.tif 000020
【図２０】
0005070133.tif 000021
【図２１】
0005070133.tif 000022
【図２２】
0005070133.tif 000023