JP2013205592A - 秘匿計算システム、集計装置及び集計結果復号プログラム - Google Patents

秘匿計算システム、集計装置及び集計結果復号プログラム Download PDF

Info

Publication number
JP2013205592A
JP2013205592A JP2012073950A JP2012073950A JP2013205592A JP 2013205592 A JP2013205592 A JP 2013205592A JP 2012073950 A JP2012073950 A JP 2012073950A JP 2012073950 A JP2012073950 A JP 2012073950A JP 2013205592 A JP2013205592 A JP 2013205592A
Authority
JP
Japan
Prior art keywords
result
aggregation
decoding
secret
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012073950A
Other languages
English (en)
Other versions
JP5492241B2 (ja
Inventor
Masanobu Koike
正修 小池
Koji Okada
光司 岡田
Takuya Yoshida
琢也 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2012073950A priority Critical patent/JP5492241B2/ja
Publication of JP2013205592A publication Critical patent/JP2013205592A/ja
Application granted granted Critical
Publication of JP5492241B2 publication Critical patent/JP5492241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】完全準同型暗号及び信頼できる第三者を利用せずに、集計対象データ及びその集計結果を秘匿した状態で集計装置に集計処理を実行させる。
【解決手段】集計装置100は、集計手段、秘匿集計結果送信手段及び集計方法名送信手段を備えている。前記集計手段は、各秘匿データを集計処理して秘匿集計結果を作成する。前記秘匿集計結果送信手段及び前記集計方法名送信手段は、前記秘匿集計結果及び集計方法名を各集計結果復号装置120、130,140に送信する。前記各集計結果復号装置120,130,140は、復号方法選択手段及び復号手段を備えている。前記復号方法選択手段は、受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する。前記復号手段は、前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る。
【選択図】図1

Description

本発明の実施形態は、秘匿計算システム、集計装置及び集計結果復号プログラムに関する。
近年、巨大なリソースやプラットフォーム、アプリケーションなどをサービスとして提供するビジネス形態が出現してきている。ここでいうリソースとは、CPU能力やメモリ、ハードディスクなどの計算機資源を指す。
この種のビジネス形態では、通常、複数のユーザ企業が同一のサービスを共有する。そこで、各ユーザ企業が有する情報を統合し、統計やデータマイニングを施す方法が注目されてきている。ここでデータマイニングとは、種々の統計的な解析手法を用い、大量の情報から有用な情報や、情報間の関連性を見つけ出す手法を指す。
一方、異なるユーザ企業間でサービスを共有することに伴い、自社の情報が他社に漏洩する可能性が指摘されている。例えば、統計やデータマイニングを施す際に、自社の情報をそのまま開示すると、自社の情報が他社に漏洩してしまう。また、統計やデータマイニングを施すサービス提供企業にも自社の情報が開示されるため、サービス提供企業側の過失で自社の情報が漏洩する可能性もある。
また、自社の情報に統計やデータマイニングを施した結果が企業活動を行う上での戦略的価値を持つ場合もあり、これらの情報の漏洩にも注意を払う必要がある。
そこで、自社の情報を秘匿しつつ、統計やデータマイニングを施した結果を得るための技術が提案されている。これらの提案では、秘匿したい数値を暗号化し、暗号化した状態で演算を実行する方法が述べられている。このように、秘匿した状態で演算することを秘匿計算と呼ぶ。
第1の提案方法は、データ集計処理において、各データに乱数を作用させて撹乱し、各々の撹乱データを集計すると撹乱が消去されて、所望の集計結果が得られる方式である。
第2の提案方法は、2次元の表データの集計処理において、各表内の各データに乱数を作用させて撹乱し、各々の撹乱データを集計すると撹乱が消去されて、所望の集計結果が得られる方式である。
第3の提案方法は、完全準同型暗号と呼ばれる方式である。暗号化前のデータ同士に任意の演算を行う場合、暗号化前のデータを暗号化して得られた暗号化データ同士にその演算に対応する演算を行い、演算結果を復号すると所望の結果(暗号化前のデータ同士の演算結果)となっている方式である。
特開2006−18053号公報
しかしながら、以上のような提案方法では、以下のような不都合がある。
第1の提案方法は、集計すると撹乱の効果が消去されるため、集計結果が集計装置に秘匿されていない。従って、集計結果も秘匿したい場合には利用できないという不都合がある。
第2の提案方法は、第1の提案方法の不都合と同じ不都合に加え、データを撹乱するための乱数の生成、配布に信頼できる第三者が必要である。この信頼できる第三者はデータの撹乱を消去するための情報を保持しているため、自社の情報や集計結果が第三者に知られてしまうという不都合がある。
第3の提案方法は、完全準同型暗号の処理速度が従来の暗号技術と比較して桁違いに遅く、とても実用に耐えないという不都合がある。
本発明が解決しようとする課題は、完全準同型暗号及び信頼できる第三者を利用せずに、集計対象データ及びその集計結果を秘匿した状態で集計装置に集計処理を実行させることが可能な秘匿計算システム、集計装置及び集計結果復号プログラムを提供することである。
実施形態の秘匿計算システムは、集計装置と、1個以上の集計結果復号装置とを備えている。
前記集計装置は、秘匿データ受信手段、秘匿データ記憶手段、集計手段、秘匿集計結果送信手段及び集計方法名送信手段を備えている。
前記秘匿データ受信手段は、前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する。
前記秘匿データ記憶手段は、前記受信された各秘匿データを記憶する。
前記集計手段は、前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する。
前記秘匿集計結果送信手段は、前記秘匿集計結果を前記各集計結果復号装置に送信する。
前記集計方法名送信手段は、前記集計処理に用いた集計方法を示す集計方法名を前記各集計結果復号装置に送信する。
前記各集計結果復号装置は、乱数生成手段、暗号化手段、秘匿データ送信手段、復号方法記憶手段、秘匿集計結果受信手段、集計方法名受信手段、復号方法選択手段及び集計結果復号手段を備えている。
前記乱数生成手段は、乱数を生成する。
前記暗号化手段は、前記生成された乱数を用いて前記集計対象データを暗号化することにより、前記秘匿データを得る。
前記秘匿データ送信手段は、前記得られた秘匿データを前記集計装置に送信する。
前記復号方法記憶手段は、予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶している。
前記秘匿集計結果受信手段は、前記送信された秘匿集計結果を受信する。
前記集計方法名受信手段は、前記送信された集計方法名を受信する。
前記復号方法選択手段は、前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する。
前記集計結果復号手段は、前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る。
一実施形態に係る秘匿計算システムの構成を示す模式図である。 同実施形態における集計装置の構成を示す模式図である。 同実施形態における集計結果復号装置の構成を示す模式図である。 同実施形態における動作を説明するための模式図である。 同実施形態における動作を説明するための模式図である。 同実施形態における復号演算の枠組みを示す模式図である。
以下、一実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
<一実施形態>
図1は一実施形態に係る秘匿計算システムの構成を示す模式図である。この秘匿計算システムは、集計装置100と3個の集計結果復号装置120,130,140とがネットワーク110を介して接続されている。なお、集計結果復号装置120,130,140は、3個に限らず、1個以上の任意の個数が使用可能となっている。
ここで集計装置200は、図2に示すように、データ受信部201、集計部202、記憶部203、集計方法記憶部204、集計方法送信部205及び集計結果送信部206を備えている。
ここで、データ受信部201は、各集計結果復号装置120,130,140により個別に生成された乱数(r1, r2, r3)に基づいて複数個の集計対象データ(p1, p2, p3)が個別に暗号化されてなる複数個の秘匿データ(c1, c2, c3)を受信する秘匿データ受信機能をもっている。
集計部202は、記憶部203内の各秘匿データ(c1, c2, c3)を集計処理(例、総和計算)して秘匿集計結果(d)を作成する集計機能をもっている。
記憶部203は、各部201,202,205,206から読出/書込可能なメモリであり、例えば、データ受信部201により受信された各秘匿データ(c1, c2, c3)を記憶する。
集計方法記憶部204は、各部201,202,205,206から読出/書込可能なメモリであり、例えば、集計部202による集計処理に用いた方法を示す集計方法名を記憶する。ここで、集計方法名としては、例えば、「総和計算」、「積の計算」、「内積計算」、「逆元計算」及び「大小比較」、等といったマルチパーティ計算で実行可能な集計方法名が使用可能となっている。
集計方法送信部205は、集計方法記憶部204から集計方法名を読み出す機能と、集計部202による集計処理に用いた方法を示す集計方法名を各集計結果復号装置120,130,140に送信する集計方法名送信機能をもっている。なお、集計方法送信部205は、集計方法記憶部204から集計方法名を読み出す機能を省略し、集計部202から集計処理に用いた方法を示す集計方法名を受けると、この集計方法名を各集計結果復号装置120,130,140に送信する構成としてもよい。
集計結果送信部206は、集計部202により作成された秘匿集計結果(d)を各集計結果復号装置120,130,140に送信する秘匿集計結果送信機能をもっている。
続いて、3個の集計結果復号装置120,130,140の構成を説明する。各集計結果復号装置120,130,140は、例えば、集計結果復号装置の機能を実現させるためのプログラム(集計結果復号プログラム)が予め収集装置100等からユーザのコンピュータに送信され、このユーザのコンピュータにインストールされて実現される。従って、各集計結果復号装置120,130,140が互いに同一構成となるため、ここでは、集計結果復号装置120を代表例に挙げて説明する。
集計結果復号装置120は、集計方法受信部301、集計結果受信部302、復号用パラメータ受信部303、復号用パラメータ計算部304、記憶部305、復号方法記憶部306、復号部307、復号用パラメータ送信部308、乱数生成部309、暗号化部310及び秘匿データ送信部311を備えている。
集計方法受信部301は、集計装置100から送信された集計方法名を受信する集計方法名受信機能をもっている。
集計結果受信部302は、集計装置100から送信された秘匿集計結果(d)を受信する秘匿集計結果受信機能をもっている。
復号用パラメータ受信部303は、他の集計結果復号装置130,140により個別に作成されたn−1個の分散値(r21, r31)を当該他の集計結果復号装置130,140から個別に受信する分散値受信機能と、他の集計結果復号装置130,140により個別に作成されたn−1個の分散情報(R2, R3)を当該他の集計結果復号装置130,140から個別に受信する分散情報受信機能とをもっている。
復号用パラメータ計算部304は、集計方法受信部301により受信した集計方法名に基づいて、復号方法記憶部306から復号方法を選択する復号方法選択機能と、
1個以上の集計結果復号装置の個数をn個としたとき、(n,n)しきい値法により、乱数(r1)を秘密分散してn個の分散値(r11, r12, r13)を作成する分散値作成機能と、記憶部305に保持した1個の分散値(r11)と、復号用パラメータ受信部303により受信したn−1個の分散値(r21, r31)とを用い、選択した復号方法に応じた集計方法に基づいて1個の分散情報(R1)を作成する分散情報作成機能と、当該作成した1個の分散情報(R1)と、復号用パラメータ受信部303により受信したn−1個の分散情報(R2, R3)とを用い、(n,n)しきい値法による復元処理を実行して、秘匿集計結果のうちの乱数の集計結果に相当する乱数集計データ(例えば、r1 + r2 + r3)を復元する乱数集計データ復元機能とをもっている。
記憶部305は、各部302〜304,307〜311から読出/書込可能なメモリであり、例えば、各部302〜304,307〜311に対する入出力データや処理途中のデータ等が適宜、記憶される。
復号方法記憶部306は、復号用パラメータ計算部304及び復号部307から読出可能なメモリであり、例えば、予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶する。ここで、集計方法名としては、例えば、「総和計算」、「積の計算」、「内積計算」、「逆元計算」及び「大小比較」、等といったマルチパーティ計算で実行可能な集計方法名が使用可能となっている。
復号部307は、復号用パラメータ計算部304により選択した復号方法を実行して、集計結果受信部302により受信した秘匿集計結果(d)を復号することにより、集計対象データの集計結果(例えば、p1 + p2 + p3)を得る集計結果復号機能をもっている。ここで、復号部307の集計結果復号機能は、復号用パラメータ計算部304により作成した乱数集計データ(例えば、r1 + r2 + r3)と、集計結果受信部302により受信した秘匿集計結果(d)とを用い、復号用パラメータ計算部304により選択した復号方法に応じた集計方法に基づいて、集計対象データの集計結果(例えば、p1 + p2 + p3)を(例えば、d - (r1 + r2 + r3)により)算出する集計結果算出機能を含んでいる(カッコ内の例示については、集計対象データの集計結果はp1 + p2 + p3であるが、それを求める演算式がd - (r1 + r2 + r3)となっている、という意味である)。また、復号とは、秘匿化の状態を解除することを意味する。
復号用パラメータ送信部308は、復号用パラメータ計算部304により作成した分散値(r11, r12, r13)のうち、1個の分散値(r11)を保持し、残りのn−1個の分散値(r12, r13)を他の集計結果復号装置130,140に送信する分散値送信機能と、復号用パラメータ計算部304により作成した分散情報(R1)を他の集計結果復号装置130,140に送信する分散情報送信機能とをもっている。
乱数生成部309は、乱数(r1)を生成する乱数生成機能をもっている。なお、生成された乱数(r1)は、記憶部305に書込まれてもよく、暗号化部310に送出されてもよい。
暗号化部310は、乱数生成部309により生成された乱数(r1)を用いて集計対象データ(p1)を暗号化することにより、秘匿データ(c1)を得る暗号化機能をもっている。用いる乱数(r1)は、記憶部305から読み出してもよく、乱数生成部309から受け取ってもよい。得られた秘匿データ(c1)は、記憶部305に書込まれてもよく、秘匿データ送信部311に送出されてもよい。
秘匿データ送信部311は、暗号化部310により得られた秘匿データ(c1)を集計装置100に送信する秘匿データ送信機能をもっている。送信する秘匿データ(c1)は、記憶部305から読み出してもよく、暗号化部310から受け取ってもよい。
次に、以上のように構成された秘匿計算システムの動作を図4及び図5を用いて説明する。
図4は集計処理が総和計算の場合の秘匿化方法を示した模式図である。
集計結果復号装置120では、乱数生成部309で乱数r1を生成し、記憶部305に格納する(S1)。また秘匿したいデータp1に対してc1 = p1 + r1を計算し(S2)、秘匿データc1を集計装置100の記憶部203に格納する(S3)。秘匿データc1はp1に乱数が加算されているため、p1を秘匿化したデータとなっている。
集計結果復号装置130は、同様に、乱数r2を生成し、集計結果復号装置130の記憶部305に格納する(S4)。また秘匿したい集計対象データp2に対してc2 = p2 + r2を計算し(S5)、秘匿データc2を集計装置100の記憶部203に格納する(S6)。
集計結果復号装置140は、同様に、乱数r3を生成し、集計結果復号装置140の記憶部305に格納する(S7)。また秘匿したい集計対象データp3に対してc3 = p3 + r3を計算し(S8)、秘匿データc3を集計装置100の記憶部203に格納する(S9)。
集計装置100は、各集計結果復号装置120,130,140から秘匿データc1, c2, c3をデータ受信部201を介して受信し、記憶部203に格納する(S3,S6,S9)。集計装置100は、記憶部203に格納されているc1, c2, c3に対して集計部202で集計処理を実行する(S10)。
ここで、集計処理はデータの総和計算であり、集計方法記憶部204から総和計算を行う機能を図示しないメモリにロードして行う。行われる計算はd = c1 + c2 + c3である。秘匿集計結果dは記憶部203に格納される。
集計装置100は、記憶部203に格納された秘匿集計結果dを集計結果送信部206から集計結果復号装置120,130,140に送信するとともに、集計処理における集計方法(ここでは、総和計算)を示す集計方法名を集計方法送信部205から集計結果復号装置120,130,140に送信する(S11,S12,S13)。
なお、秘匿集計結果dは、次式に示すように、本来の集計結果p1 + p2 + p3に乱数r1 + r2 + r3を加えた形となっている。
Figure 2013205592
すなわち、秘匿集計結果dは乱数で撹乱されているため、本来の集計結果(p1 + p2 + p3)を秘匿したものになっている。したがって、本来の集計結果は集計装置100に対して秘匿されている。
各集計結果復号装置120,130,140は、集計結果100から送信された秘匿集計結果dを、集計結果受信部302で受信し、記憶部305に格納する。また集計結果100から送信された集計方法を示す集計方法名を、集計方法受信部301で受信し、復号用パラメータ計算部304に通知する。
各集計結果復号装置120,130,140は集計方法名が総和計算を示すことから、復号方法記憶部306から集計方法名が総和計算の場合の復号機能を図示しないメモリにロードして、集計結果dの復号を開始する。なお、復号方法記憶部306は、集計方法名と、集計方法名が示す集計方法に応じた復号機能(復号方法)とを関連付けて記憶している。ここで、復号機能及び復号方法は、復号プログラムと読み替えてもよい。
図5は集計方法が総和計算の場合の復号方法のうち、復号用パラメータ計算方法を示した模式図である。
集計結果復号装置120は、記憶部305に格納している乱数r1、集計結果復号装置130が記憶部305に格納している乱数r2、集計結果復号装置140が記憶部305に格納している乱数r3から、それらの和r1 + r2 + r3を求める。
ただし乱数r1の情報は集計結果復号装置120以外にはまったく漏れず、乱数r2の情報は集計結果復号装置130以外にはまったく漏れず、乱数r3の情報は集計結果復号装置140以外にはまったく漏れないように各集計結果復号装置120,130,140により管理されている。
これは例えば乱数r1が漏洩し、集計装置100に伝わると、集計装置100は記憶部203に格納した秘匿データc1と合わせてc1 - r1を計算することで、集計結果復号装置が秘匿したかった元の集計対象データp1を復元することができるためである。
復号用パラメータ計算のために、シャミア(Shamir)の(3, 3)しきい値法を利用する。
集計結果復号装置120は記憶部305に格納している乱数r1から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r11, r12, r13を生成する(S14)。ここで分散値r11, r12, r13の生成は以下のように行う。まず2つの乱数a11、a12を生成し、2次多項式f1(x) = r1 + a11x + a12x^2を構成する。次にr11 = f1(1)、r12 = f1(2)、r13 = f1(3)を計算し、r11, r12, r13を求める。
集計結果復号装置120は、1個の分散値r11を記憶部305に格納する(S15)。残り2個の分散値r12,r13は復号用パラメータ送信部308から、それぞれ集計結果復号装置130,140に送信される。集計結果復号装置130は復号用パラメータ受信部303で他の分散値r12を受信し、記憶部305に格納する(S16)。集計結果復号装置140は復号用パラメータ受信部303で更に他の分散値r13を受信し、記憶部305に格納する(S17)。
集計結果復号装置130は、記憶部305に格納している乱数r2から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r21, r22, r23を生成する(S18)。生成の仕方は、集計結果復号装置120での生成方法と同様である。すなわち、まず2つの乱数a21、a22を生成し、2次多項式f2(x) = r2 + a21x + a22x^2を構成し、次にr21 = f2(1)、r22 = f2(2)、r23 = f2(3)を計算する。集計結果復号装置130は、1個の分散値r22を記憶部305に格納する(S19)。残り2個の分散値r21,r23は復号用パラメータ送信部308から、それぞれ集計結果復号装置120,140に送信される。
集計結果復号装置120は復号用パラメータ受信部303で他の分散値r21を受信し、記憶部305に格納する(S20)。集計結果復号装置140は復号用パラメータ受信部303で更に他の分散値r23を受信し、記憶部305に格納する(S21)。
集計結果復号装置140は、記憶部305に格納している乱数r3から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r31, r32, r33を生成する(S22)。生成の仕方は、集計結果復号装置120での生成方法と同様である。すなわち、まず2つの乱数a31、a32を生成し、2次多項式f3(x) = r3 + a31x + a32x^2を構成し、次にr31 = f3(1)、r32 = f3(2)、r33 = f3(3)を計算する。集計結果復号装置140は、1個の分散値r33を記憶部305に格納する(S23)。残り2個の分散値r31、r32は復号用パラメータ送信部308から、それぞれ集計結果復号装置120,130に送信する。集計結果復号装置120は復号用パラメータ受信部303で他の分散値r31を受信し、記憶部305に格納する(S24)。集計結果復号装置130は復号用パラメータ受信部303で更に他の分散値r32を受信し、記憶部305に格納する(S25)。
集計結果復号装置120は、記憶部305から分散値r11、r21、r31を読み出し、復号用パラメータ計算部304で分散情報R1 = r11 + r21 + r31を計算する(S26)。集計結果復号装置120は、分散情報R1を記憶部305に格納する(S27)。また、分散情報R1を復号用パラメータ送信部308から、集計結果復号装置130,140に送信する。集計結果復号装置130は復号用パラメータ受信部303で分散情報R1を受信し、記憶部305に格納する(S28)。集計結果復号装置140は復号用パラメータ受信部303で分散情報R1を受信し、記憶部305に格納する(S29)。
集計結果復号装置130は、記憶部305から分散値r12、r22、r32を読み出し、復号用パラメータ計算部304で分散情報R2 = r12 + r22 + r32を計算する(S30)。集計結果復号装置130は、分散情報R2を記憶部305に格納する(S31)。また、分散情報R2を復号用パラメータ送信部308から、集計結果復号装置120,140に送信する。集計結果復号装置120は復号用パラメータ受信部303で分散情報R2を受信し、記憶部305に格納する(S32)。集計結果復号装置140は復号用パラメータ受信部303で分散情報R2を受信し、記憶部305に格納する(S33)。
集計結果復号装置140は、記憶部305から分散値r13、r23、r33を読み出し、復号用パラメータ計算部304で分散情報R3 = r13 + r23 + r33を計算する(S34)。集計結果復号装置140は、分散情報R3を記憶部305に格納する(S35)。また、分散情報R3を復号用パラメータ送信部308から、集計結果復号装置120,130に送信する。集計結果復号装置120は復号用パラメータ受信部303で分散情報R3を受信し、記憶部305に格納する(S36)。集計結果復号装置130は復号用パラメータ受信部303で分散情報R3を受信し、記憶部305に格納する(S37)。
集計結果復号装置120は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理により、乱数集計データ(r1 + r2 + r3)を復元する(S38)。ここで(3,3)しきい値法による復元処理はラグランジュの補間公式より、3×R1 - 3×R2 + R3を計算することである。
集計結果復号装置130は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理、すなわち3×R1 - 3×R2 + R3を計算することにより、乱数集計データ(r1 + r2 + r3)を復元する(S39)。
集計結果復号装置140は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理、すなわち3×R1 - 3×R2 + R3を計算することにより、乱数集計データ(r1 + r2 + r3)を復元する(S40)。
ここで、3×R1 - 3×R2 + R3 = r1 + r2 + r3であることは、以下のように確かめることができる。生成の仕方から、各々の分散値r11, r12, r13, r21, r22, r23, r31, r32, r33は以下の値となる。
r11 = f1(1) = r1 + a11 + a12
r12 = f1(2) = r1 + 2×a11 + 4×a12
r13 = f1(3) = r1 + 3×a11 + 9×a12
r21 = f2(1) = r2 + a21 + a22
r22 = f2(2) = r2 + 2×a21 + 4×a22
r23 = f2(3) = r2 + 3×a21 + 9×a22
r31 = f3(1) = r3 + a31 + a32
r32 = f3(2) = r3 + 2×a31 + 4×a32
r33 = f3(3) = r3 + 3×a31 + 9×a32
したがって、分散情報R1, R2, R3の値は以下のようになる。
Figure 2013205592
各集計結果復号装置120,130,140は、それぞれ復号パラメータ計算により求めた乱数集計データ(r1 + r2 + r3)と、記憶部305に格納されている集計結果dから、復号部307でd - (r1 + r2 + r3)を計算することで、次式に示すように、集計対象データ(p1, p2, p3)の所望の集計結果である総和p1 + p2 + p3を得ることができる。
d - (r1 + r2 + r3)
= (c1 + c2 + c3) - (r1 + r2 + r3)
= ((p1 + r1) + (p2 + r2) + (p3 + r3)) - (r1 + r2 + r3)
= p1 + p2 + p3
上述したように本実施形態によれば、完全準同型暗号及び信頼できる第三者を利用せずに、集計対象データ及びその集計結果を秘匿した状態で集計装置に集計処理(例、データの総和計算)を実行させることができる。また、集計対象データの集計結果は、各集計結果復号装置120,130,140で参照することができる。
なお、本実施形態は、秘匿集計結果dをd = c1 + c2 + c3 = (p1 + p2 + p3) + (r1 + r2 + r3)とし、乱数集計データ(r1 + r2 + r3)を集計結果復号装置120,130,140が協力して求めた総和計算の例について説明したが、総和計算に限らず、例えば、積の計算を実行してもよい。積の計算の場合は、秘匿データc1をc1 = p1・r1等として積でマスクし、集計結果dをd = c1・c2・c3 = (p1・p2・p3)・(r1・r2・r3)とし、乱数集計データ(r1・r2・r3)を集計結果復号装置120,130,140が協力して求めればよい。また、本実施形態は、総和計算や積の計算に限らず、他の種類の計算も同様にして乱数r1, r2, r3についての計算で実現することができる。
補足すると、本実施形態は、図6に枠組みを示すように、目的の演算に応じたマルチパーティ計算(MPC)を用いて所望の計算を実行することができる。ここで、マルチパーティ計算のアルゴリズムについては、参考文献(例えば、SecureSCM, “WP9 Cryptographic Aspects, D9.2 Security Analysis”, July 2009, http://pi1.informatik.uni-mannheim.de/filepool/publications/octavian_securescm/SecureSCM-D.9.2.pdf )に記載されている。例えば、総和計算方法は、参考文献2.4.2節の“Addition of secrets”に記載されている。積の計算方法は、参考文献2.4.2節の“Multiplication of secrets”に記載されている。その他、内積計算は、参考文献2.4.2節の“Inner Product of secrets”に記載されている。逆元計算は、参考文献(p. 32)の“Protocol 3.12”に記載されている。大小比較は、参考文献5.2節に記載されている。また、他の種類の計算でも、マルチパーティ計算のアルゴリズムによって同様に実行可能である。
また、本実施形態は、3個の集計結果復号装置を用いる場合について説明したが、3個に限らず、4個以上の集計結果復号装置を用いる場合にも同様に実施可能である。
具体的には、4個以上の集計結果復号装置を用いる場合には、秘密分散の一般的な復元方法(ラグランジュの補間公式)を適用すれば、実行可能である。例えば、n個の集計結果復号装置(による総和)の場合、以下の[1]〜[3]に示すように実行可能である。
[1] 各々の集計結果復号装置iは、自己が生成した乱数ri を (n, n) しきい値法で分散し、分散値rij=fi(j)を他の n - 1 個の集計結果復号装置jに送付する。
Figure 2013205592
すなわち、(R1, … , Rn) は多項式 F(x) により、r1 + r2 + … + rn を (n, n) しきい値法で秘密分散した分散情報になっている。
[3] n 個の集計結果復号装置が協力して、F(x) に関するラグランジュの補間公式を適用し、r1 + r2 + … + rn を復元する。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…集計装置、110…ネットワーク、120,130,140…集計結果復号装置、201…データ受信部、202…集計部、203,305…記憶部、204…集計方法記憶部、205…集計方法送信部、206…集計結果送信部、301…集計方法受信部、302…集計結果受信部、303…復号用パラメータ受信部、304…復号用パラメータ計算部、306…復号方法記憶部、307…復号部、308…復号用パラメータ送信部、309…乱数生成部、310…暗号化部、311…秘匿データ送信部。

Claims (4)

  1. 集計装置と、1個以上の集計結果復号装置とを備えた秘匿計算システムであって、
    前記集計装置は、
    前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する秘匿データ受信手段と、
    前記受信された各秘匿データを記憶する秘匿データ記憶手段と、
    前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する集計手段と、
    前記秘匿集計結果を前記各集計結果復号装置に送信する秘匿集計結果送信手段と、
    前記集計処理に用いた集計方法を示す集計方法名を前記各集計結果復号装置に送信する集計方法名送信手段と
    を備え、
    前記各集計結果復号装置は、
    前記乱数を生成する乱数生成手段と、
    前記生成された乱数を用いて前記集計対象データを暗号化することにより、前記秘匿データを得る暗号化手段と、
    前記得られた秘匿データを前記集計装置に送信する秘匿データ送信手段と、
    予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶した復号方法記憶手段と、
    前記送信された秘匿集計結果を受信する秘匿集計結果受信手段と、
    前記送信された集計方法名を受信する集計方法名受信手段と、
    前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する復号方法選択手段と、
    前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る集計結果復号手段と
    を備えたことを特徴とする秘匿計算システム。
  2. 1個以上の集計結果復号装置に通信可能な集計装置であって、
    前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する秘匿データ受信手段と、
    前記受信された各秘匿データを記憶する秘匿データ記憶手段と、
    前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する集計手段と、
    前記秘匿集計結果を前記各集計結果復号装置に送信する秘匿集計結果送信手段と、
    前記集計処理の方法を示す集計方法名を前記各集計結果復号装置に送信する集計方法名送信手段と
    を備え、
    前記各集計結果復号装置は、
    前記乱数を生成し、当該乱数を用いて前記集計対象データを暗号化して前記秘匿データを得ると、当該得られた秘匿データを前記集計装置に送信し、前記集計装置から送信された秘匿集計結果及び集計方法名を受信し、前記受信した集計方法名に基づいて復号方法を選択し、前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得ることを特徴とする集計装置。
  3. 1個以上の集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを前記各集計結果復号装置から受信すると共に、前記各秘匿データを集計処理した結果を示す秘匿集計結果及び前記集計処理に用いた集計方法を示す集計方法名を前記各集計結果復号装置に送信する集計装置に通信可能で復号方法記憶手段を備えた前記各集計結果復号装置に個別に用いられる集計結果復号プログラムであって、
    前記集計結果復号装置を、
    予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて前記復号方法記憶手段に書き込む書込手段、
    前記送信された秘匿集計結果を受信する秘匿集計結果受信手段、
    前記送信された集計方法名を受信する集計方法名受信手段、
    前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する復号方法選択手段、
    前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る集計結果復号手段、
    として機能させるための集計結果復号プログラム。
  4. 請求項3に記載の集計結果復号プログラムにおいて、
    前記1個以上の集計結果復号装置の個数をn個としたとき、(n,n)しきい値法により、前記乱数を秘密分散してn個の分散値を作成する分散値作成手段と、
    前記作成した分散値のうち、1個の分散値を保持し、残りのn−1個の分散値を他の集計結果復号装置に送信する分散値送信手段と、
    前記他の集計結果復号装置により個別に作成されたn−1個の分散値を当該他の集計結果復号装置から個別に受信する分散値受信手段と、
    前記保持した1個の分散値と、前記受信したn−1個の分散値とを用い、前記選択した復号方法に応じた集計方法に基づいて1個の分散情報を作成する分散情報作成手段と、
    前記作成した分散情報を他の集計結果復号装置に送信する分散情報送信手段と、
    前記他の集計結果復号装置により個別に作成されたn−1個の分散情報を当該他の集計結果復号装置から個別に受信する分散情報受信手段と、
    前記作成した1個の分散情報と、前記受信したn−1個の分散情報とを用い、前記(n,n)しきい値法による復元処理を実行して、前記秘匿集計結果のうちの乱数の集計結果に相当する乱数集計データを復元する乱数集計データ復元手段と
    を更に備え、
    前記集計結果復号手段は、
    前記作成した乱数集計データと、前記受信した秘匿集計結果とを用い、前記選択した復号方法に応じた集計方法に基づいて、前記集計対象データの集計結果を算出する集計結果算出手段と
    を含んでいる集計結果復号プログラム。
JP2012073950A 2012-03-28 2012-03-28 秘匿計算システム、集計装置及び集計結果復号プログラム Active JP5492241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012073950A JP5492241B2 (ja) 2012-03-28 2012-03-28 秘匿計算システム、集計装置及び集計結果復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012073950A JP5492241B2 (ja) 2012-03-28 2012-03-28 秘匿計算システム、集計装置及び集計結果復号プログラム

Publications (2)

Publication Number Publication Date
JP2013205592A true JP2013205592A (ja) 2013-10-07
JP5492241B2 JP5492241B2 (ja) 2014-05-14

Family

ID=49524745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012073950A Active JP5492241B2 (ja) 2012-03-28 2012-03-28 秘匿計算システム、集計装置及び集計結果復号プログラム

Country Status (1)

Country Link
JP (1) JP5492241B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
KR101792520B1 (ko) 2016-12-30 2017-11-03 한라대학교 산학협력단 비밀 분산 기법을 이용한 디퍼렌셜 프라이버시 방법
JP2017203855A (ja) * 2016-05-10 2017-11-16 Kddi株式会社 演算システム、演算方法及び演算プログラム
CN107851403A (zh) * 2015-07-22 2018-03-27 日本电信电话株式会社 秘密计算装置、其方法及程序
US10601584B2 (en) 2017-04-05 2020-03-24 Fuji Electric Co., Ltd. Information processing apparatus, information processing system and medium
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109308A (ja) * 2006-10-24 2008-05-08 Nippon Telegr & Teleph Corp <Ntt> 個別情報を秘匿するクロス集計方法および装置、並びにプログラム
JP2011175072A (ja) * 2010-02-24 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、秘密計算方法、不正使用防止方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109308A (ja) * 2006-10-24 2008-05-08 Nippon Telegr & Teleph Corp <Ntt> 個別情報を秘匿するクロス集計方法および装置、並びにプログラム
JP2011175072A (ja) * 2010-02-24 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、秘密計算方法、不正使用防止方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013057622; 千田 浩司 他: '軽量検証可能3 パーティ秘匿関数計算の再考' コンピュータセキュリティシンポジウム2010 , 20101012, 2B4-1, 一般社団法人 情報処理学会 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
CN105593919A (zh) * 2013-10-10 2016-05-18 日本电信电话株式会社 秘密商转移装置、秘密比特分解装置、秘密模数转换装置、秘密商转移方法、秘密比特分解方法、秘密模数转换方法、程序
JPWO2015053185A1 (ja) * 2013-10-10 2017-03-09 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
CN107851403A (zh) * 2015-07-22 2018-03-27 日本电信电话株式会社 秘密计算装置、其方法及程序
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method
JP2017203855A (ja) * 2016-05-10 2017-11-16 Kddi株式会社 演算システム、演算方法及び演算プログラム
KR101792520B1 (ko) 2016-12-30 2017-11-03 한라대학교 산학협력단 비밀 분산 기법을 이용한 디퍼렌셜 프라이버시 방법
US10601584B2 (en) 2017-04-05 2020-03-24 Fuji Electric Co., Ltd. Information processing apparatus, information processing system and medium

Also Published As

Publication number Publication date
JP5492241B2 (ja) 2014-05-14

Similar Documents

Publication Publication Date Title
Archer et al. From keys to databases—real-world applications of secure multi-party computation
JP5492241B2 (ja) 秘匿計算システム、集計装置及び集計結果復号プログラム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP7190336B2 (ja) 通信装置、通信方法、および通信プログラム
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
Zhang et al. Feacs: A flexible and efficient access control scheme for cloud computing
JPWO2018016330A1 (ja) 通信端末、サーバ装置、プログラム
JP2019168590A (ja) 情報処理方法及び情報処理システム
Hammami et al. Using homomorphic encryption to compute privacy preserving data mining in a cloud computing environment
Cai et al. BCSolid: a blockchain-based decentralized data storage and authentication scheme for solid
Bakro et al. Performance analysis of cloud computing encryption algorithms
KR101553986B1 (ko) 분산 데이터 저장, 복원 시스템 및 방법
Dharini et al. Data security for cloud computing using RSA with magic square algorithm
Jin et al. Blockchain-based secure and privacy-preserving clinical data sharing and integration
US11018857B2 (en) Encryption scheme using multiple parties
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
Thilagavathy et al. Cloud computing: A survey on security issues and DNA, ID-base cryptography
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
Abdulhamid et al. Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment
Bozdemir et al. PRIDA: PRIvacy-preserving Data Aggregation with multiple data customers
Dabhade et al. Data security in cloud using aggregate key and Diffie-Hellman algorithm
Dhanaraj et al. Introduction to Homomorphic Encryption for Financial Cryptography
Singh et al. Secure and Efficient Enhanced Sharing of Data Over Cloud Using Attribute Based Encryption with Hash Functions
Lerman et al. Key Management as a Service.
Contiu Applied Cryptographic Access Control for Untrusted Cloud Storage

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140228

R150 Certificate of patent or registration of utility model

Ref document number: 5492241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150