(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6722608
(24)【登録日】2020年6月24日
(45)【発行日】2020年7月15日
(54)【発明の名称】秘匿計算システム、秘匿計算サーバ、秘匿計算方法及び秘匿計算プログラム
(51)【国際特許分類】
G09C 1/00 20060101AFI20200706BHJP
G06F 21/10 20130101ALI20200706BHJP
G06F 21/60 20130101ALI20200706BHJP
【FI】
G09C1/00 650Z
G06F21/10
G06F21/60 320
【請求項の数】6
【全頁数】8
(21)【出願番号】特願2017-38141(P2017-38141)
(22)【出願日】2017年3月1日
(65)【公開番号】特開2018-146609(P2018-146609A)
(43)【公開日】2018年9月20日
【審査請求日】2019年2月20日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】清本 晋作
【審査官】
青木 重徳
(56)【参考文献】
【文献】
特開2012−058852(JP,A)
【文献】
特開2014−096692(JP,A)
【文献】
特開2014−209677(JP,A)
【文献】
特開2013−210933(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
G06F 21/10
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
データを提供する複数のデータ提供端末と、
前記データを集計する秘匿計算サーバと、
前記データの集計結果を取得する集計端末と、を備え、
前記複数のデータ提供端末は、それぞれ前記集計端末との間で、当該集計端末の秘密鍵を共有し、
前記秘匿計算サーバは、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、当該データの値毎にカウントし、当該カウントの結果を、前記集計端末へ送信する秘匿計算システム。
【請求項2】
前記秘匿計算サーバは、暗号通信路を介して、前記暗号化されたデータを受信する請求項1に記載の秘匿計算システム。
【請求項3】
前記集計端末は、集計処理の度に異なる秘密鍵を生成する請求項1又は請求項2に記載の秘匿計算システム。
【請求項4】
データ提供端末及び集計端末が共有した秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信する受信部と、
前記暗号化されたデータの個数を、当該データの値毎にカウントする集計部と、
前記集計部によるカウントの結果を、前記集計端末へ送信する送信部と、を備える秘匿計算サーバ。
【請求項5】
複数のデータ提供端末が、それぞれ集計端末との間で、当該集計端末の秘密鍵を共有し、
秘匿計算サーバが、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、当該データの値毎にカウントし、当該カウントの結果を、前記集計端末へ送信する秘匿計算方法。
【請求項6】
請求項1から請求項3のいずれかに記載の秘匿計算システムとしてコンピュータを機能させるための秘匿計算プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘匿計算を行うシステム、サーバ、方法及びプログラムに関する。
【背景技術】
【0002】
従来、プライバシ保護のために、対象データを暗号化したまま計算を行う秘匿計算の技術が求められている。
例えば、加法準同型暗号を用いた秘匿計算手法が提案されている(例えば、非特許文献1及び2参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Public−Key Cryptosystems Based on Composite Degree Residuosity Classes, EUROCRYPT 1999 Proceedings of the 17th international conference on Theory and application of cryptographic techniques, pp. 223−238.
【非特許文献2】高機密データも安全に二次利用可能な「秘密計算技術」,インターネット<http://www.ntt.co.jp/journal/1403/files/jn201403067.pdf>,NTTセキュアプラットフォーム研究所,NTT技術ジャーナル,pp.67−70,2014.3
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、加法準同型暗号を用いた手法は、べき乗算を多用しているために処理負荷が高く、低速だった。
【0005】
本発明は、高速に秘匿計算を行える秘匿計算システム、秘匿計算サーバ、秘匿計算方法及び秘匿計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る秘匿計算システムは、データを提供する複数のデータ提供端末と、前記データを集計する秘匿計算サーバと、前記データの集計結果を取得する集計端末と、を備え、前記複数のデータ提供端末は、それぞれ前記集計端末との間で、当該集計端末の秘密鍵を共有し、前記秘匿計算サーバは、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する。
【0007】
前記秘匿計算サーバは、暗号通信路を介して、前記暗号化されたデータを受信してもよい。
【0008】
前記集計端末は、集計処理の度に異なる秘密鍵を生成してもよい。
【0009】
本発明に係る秘匿計算サーバは、データ提供端末及び集計端末が共有した秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信する受信部と、前記暗号化されたデータの個数を、暗号文毎に集計する集計部と、前記集計部による集計結果を、前記集計端末へ送信する送信部と、を備える。
【0010】
本発明に係る秘匿計算方法は、複数のデータ提供端末が、それぞれ集計端末との間で、当該集計端末の秘密鍵を共有し、秘匿計算サーバが、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する。
【0011】
本発明に係る秘匿計算プログラムは、前記秘匿計算システムとしてコンピュータを機能させるためのものである。
【発明の効果】
【0012】
本発明によれば、高速に秘匿計算を行える。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る秘匿計算システムの構成を示す図である。
【
図2】実施形態に係る秘匿計算サーバの機能構成を示す図である。
【
図3】実施形態に係るデータ提供端末における処理内容を例示する図である。
【
図4】実施形態に係る秘匿計算サーバにおける処理内容を例示する図である。
【
図5】実施形態に係る集計端末における処理内容を例示する図である。
【
図6】実施形態に係る秘匿計算方法を示すシーケンス図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る秘匿計算システム1の構成を示す図である。
秘匿計算システム1は、秘匿計算サーバ10と、複数のデータ提供端末20と、集計端末30とを備える。
【0015】
秘匿計算サーバ10は、収集したデータの秘匿計算として集計計算を行い、集計端末30に提供する情報処理装置である。
データ提供端末20は、ユーザが所有するデータを暗号化により秘匿した上で秘匿計算サーバ10に提供する端末装置である。
集計端末30は、秘匿計算サーバ10から秘匿された集計結果を取得し、復号することで元データの集計結果を取得する端末装置である。
【0016】
データ提供端末20と集計端末30とは、例えば公開鍵暗号方式等、安全な鍵共有の方式により、秘密鍵を共有する。
集計端末30は、集計処理を実行する度に、異なる秘密鍵を事前に生成し、データ提供端末20のそれぞれと鍵交換する。各データ提供端末20は、この秘密鍵を用いてデータを暗号化し、秘匿計算サーバ10へ送信する。
ここで、データ提供端末20において用いられる暗号化方式は、AES(Advanced Encryption Standard)等の確定型暗号であり、ある平文の暗号文は、平文が同じであれば常に同じになる。
【0017】
図2は、本実施形態に係る秘匿計算サーバ10の機能構成を示す図である。
秘匿計算サーバ10は、受信部11と、集計部12と、送信部13とを備える。これら各機能部は、秘匿計算サーバ10の記憶部に格納されたソフトウェアを制御部(CPU)が読み出して実行することにより実現される。
【0018】
受信部11は、秘密鍵を用いて暗号化されたデータを、データ提供端末20から受信する。
さらに、受信するデータの通信路は、データ提供端末20及び秘匿計算サーバ10の間で共有された個別の鍵により、SSL(Secure Sockets Layer)等を用いて暗号化される。受信部11は、複数のデータ提供端末20のそれぞれから、互いに読み取りができない暗号通信路を介して、暗号化されたデータを受信する。
【0019】
集計部12は、暗号化されたデータの個数を、暗号文毎に集計する。
ここで、データ提供端末20において用いられる暗号化方式は、前述のように確定型暗号のため、同じ暗号文の個数は、対応する同じ平文の個数と同一である。
送信部13は、集計部による集計結果を、集計端末30へ送信する。送信部13から集計端末30への通信路についても、暗号通信が用いられてよい。
【0020】
ここで、秘匿計算の例として、アンケートの回答を集計する場合を説明する。
図3は、本実施形態に係るデータ提供端末20における処理内容を例示する図である。
データ提供端末20は、アンケートの回答としてA、B、C、Dの4種類の選択肢がある場合、例えば、入力データAに対して、暗号化されたデータE(A)が出力される。同様に、データB、C、Dに対しては、それぞれ暗号化されたデータE(B)、E(C)、E(D)が出力される。
【0021】
図4は、本実施形態に係る秘匿計算サーバ10における処理内容を例示する図である。
秘匿計算サーバ10には、データ提供端末20のそれぞれから、暗号化されたデータE(A)、E(B)、E(C)、E(D)のいずれかが入力される。
秘匿計算サーバ10は、暗号文毎に、入力されたデータの個数をカウントし、例えば、E(A):5個、E(B):3個、E(C):1個、E(D):9個、といった集計結果を、集計端末30へ出力する。
【0022】
図5は、本実施形態に係る集計端末30における処理内容を例示する図である。
集計端末30は、秘匿計算サーバ10から暗号文毎の集計結果を受信すると、データ提供端末20と共有した秘密鍵により暗号文を復号し、A:5個、B:3個、C:1個、D:9個、という結果を得る。
また、集計端末30は、集計した値を受信した全暗号文数で割ることで、割合を求めることができる。例えば、データAの割合は、5/(5+3+1+9)と計算される。
さらに、集計端末30は、データA、B、C、Dが数値である場合には、例えば(A×5+B×3+C+D×9)/(5+3+1+9)を計算し、平均値を求めることができる。
【0023】
図6は、本実施形態に係る秘匿計算方法を示すシーケンス図である。
ステップS1において、集計端末30は、今回の集計作業で使用する秘密鍵Kを生成する。
ステップS2において、集計端末30は、ステップS1で生成した秘密鍵をデータ提供端末20毎に、それぞれの公開鍵で暗号化して各データ提供端末20に送信し、各データ提供端末20が私有鍵で復号することにより、鍵共有を行う。
【0024】
ステップS3において、データ提供端末20は、集計対象のデータを、ステップS2で共有した秘密鍵Kを用いて、共通鍵暗号方式により暗号化を行う。
【0025】
ステップS4において、データ提供端末20は、秘匿計算サーバ10との間に暗号通信路を構築する。
ステップS5において、データ提供端末20は、ステップS4で構築した暗号通信路を介して、ステップS3で暗号化したデータを秘匿計算サーバ10へ送信する。
【0026】
ステップS6において、秘匿計算サーバ10は、複数のデータ提供端末20から収集した暗号化されたデータの個数を、暗号文毎に集計する。
【0027】
ステップS7において、秘匿計算サーバ10は、集計端末30との間に暗号通信路を構築する。
ステップS8において、秘匿計算サーバ10は、ステップS7で構築した暗号通信路を介して、ステップS6で集計した結果を集計端末30へ送信する。
【0028】
ステップS9において、集計端末30は、ステップS8で受信した暗号文を復号し、暗号化前のデータ毎に集計された結果を得る。
【0029】
本実施形態によれば、データ提供端末20において共通鍵暗号方式により暗号化されたデータを、秘匿計算サーバ10が暗号化毎に集計する。集計端末30は、暗号文を共通鍵により復号することにより、集計結果を得る。
したがって、秘匿計算システム1は、データの提供者と集計者とで秘密鍵の交換が終わると、秘匿計算サーバ10ではデータの個数をカウントするのみで、集計結果を容易に算出できるので、複雑な演算を多用する加法準同型暗号を用いた秘匿計算手法に比べて、機能的な差異はなく、非常に高速に秘匿計算を行える。
【0030】
このとき、秘匿計算サーバ10は、暗号化されたデータを受信し、暗号化されたまま集計及び出力を行うため、元データを知り得ない。また、集計端末30は、集計された結果のみを受信するため、どのユーザがどのデータを提供したかを知り得ない。
【0031】
さらに、秘匿計算サーバ10は、各データ提供端末20との間で暗号通信路を構築するので、複数のデータ提供端末20は、それぞれ他のデータ提供端末20が提供したデータを知り得ない。
【0032】
また、集計端末30は、集計処理の度に異なる秘密鍵を生成するので、例えば、提供されるデータが前と同じであっても異なる暗号文が生成されるため、データの類推が困難となり、安全性が向上する。
【0033】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0034】
本実施形態では、1種類のデータ(例えば、A、B、C又はD)に対して集計計算を行う場合を例示したが、本発明はこれには限られない。例えば、複数のデータの組み合わせが提供されてもよい。例えば、データ提供者が(A,B,C,D),(1,2,3,4)という2つの属性データを提供する場合、A−1,A−2,・・・,B−4,・・・といった組み合わせそれぞれについて、個数がカウントされ集計結果が出力される。
【0035】
本実施形態では、データ提供端末20からは、共通鍵暗号方式により暗号化されたデータが提供されたが、データの変換方式は、秘匿計算サーバ10により元データが解読されない方式であればよい。例えば、提供されるデータは、ハッシュ関数により秘匿化されてもよく、この場合、集計端末30では、データ提供端末20と同様に生成したハッシュ値と照合することで、元データを復元できる。
【0036】
秘匿計算システム1による秘匿計算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【0037】
1 秘匿計算システム
10 秘匿計算サーバ
11 受信部
12 集計部
13 送信部
20 データ提供端末
30 集計端末