(57)【要約】【課題】高速に秘匿計算を行える秘匿計算システム、秘匿計算サーバ、秘匿計算方法及び秘匿計算プログラムを提供すること。【解決手段】秘匿計算システム１は、データを提供する複数のデータ提供端末２０と、データを集計する秘匿計算サーバ１０と、データの集計結果を取得する集計端末３０と、を備え、複数のデータ提供端末２０は、それぞれ集計端末３０との間で、集計端末３０の秘密鍵を共有し、秘匿計算サーバ１０は、秘密鍵を用いて暗号化されたデータを、データ提供端末２０から受信すると、暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、集計端末３０へ送信する。【選択図】図１
2018146609.tif 000002
【特許請求の範囲】
【請求項１】
データを提供する複数のデータ提供端末と、
前記データを集計する秘匿計算サーバと、
前記データの集計結果を取得する集計端末と、を備え、
前記複数のデータ提供端末は、それぞれ前記集計端末との間で、当該集計端末の秘密鍵を共有し、
前記秘匿計算サーバは、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する秘匿計算システム。
【請求項２】
前記秘匿計算サーバは、暗号通信路を介して、前記暗号化されたデータを受信する請求項１に記載の秘匿計算システム。
【請求項３】
前記集計端末は、集計処理の度に異なる秘密鍵を生成する請求項１又は請求項２に記載の秘匿計算システム。
【請求項４】
データ提供端末及び集計端末が共有した秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信する受信部と、
前記暗号化されたデータの個数を、暗号文毎に集計する集計部と、
前記集計部による集計結果を、前記集計端末へ送信する送信部と、を備える秘匿計算サーバ。
【請求項５】
複数のデータ提供端末が、それぞれ集計端末との間で、当該集計端末の秘密鍵を共有し、
秘匿計算サーバが、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する秘匿計算方法。
【請求項６】
請求項１から請求項３のいずれかに記載の秘匿計算システムとしてコンピュータを機能させるための秘匿計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘匿計算を行うシステム、サーバ、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、プライバシ保護のために、対象データを暗号化したまま計算を行う秘匿計算の技術が求められている。
例えば、加法準同型暗号を用いた秘匿計算手法が提案されている（例えば、非特許文献１及び２参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｐｕｂｌｉｃ−Ｋｅｙ  Ｃｒｙｐｔｏｓｙｓｔｅｍｓ  Ｂａｓｅｄ  ｏｎ  Ｃｏｍｐｏｓｉｔｅ  Ｄｅｇｒｅｅ  Ｒｅｓｉｄｕｏｓｉｔｙ  Ｃｌａｓｓｅｓ，  ＥＵＲＯＣＲＹＰＴ  １９９９  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １７ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｔｈｅｏｒｙ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｔｅｃｈｎｉｑｕｅｓ，  ｐｐ．  ２２３−２３８．
【非特許文献２】高機密データも安全に二次利用可能な「秘密計算技術」，インターネット＜http://www.ntt.co.jp/journal/1403/files/jn201403067.pdf＞，ＮＴＴセキュアプラットフォーム研究所，ＮＴＴ技術ジャーナル，ｐｐ．６７−７０，２０１４．３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、加法準同型暗号を用いた手法は、べき乗算を多用しているために処理負荷が高く、低速だった。
【０００５】
本発明は、高速に秘匿計算を行える秘匿計算システム、秘匿計算サーバ、秘匿計算方法及び秘匿計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る秘匿計算システムは、データを提供する複数のデータ提供端末と、前記データを集計する秘匿計算サーバと、前記データの集計結果を取得する集計端末と、を備え、前記複数のデータ提供端末は、それぞれ前記集計端末との間で、当該集計端末の秘密鍵を共有し、前記秘匿計算サーバは、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する。
【０００７】
前記秘匿計算サーバは、暗号通信路を介して、前記暗号化されたデータを受信してもよい。
【０００８】
前記集計端末は、集計処理の度に異なる秘密鍵を生成してもよい。
【０００９】
本発明に係る秘匿計算サーバは、データ提供端末及び集計端末が共有した秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信する受信部と、前記暗号化されたデータの個数を、暗号文毎に集計する集計部と、前記集計部による集計結果を、前記集計端末へ送信する送信部と、を備える。
【００１０】
本発明に係る秘匿計算方法は、複数のデータ提供端末が、それぞれ集計端末との間で、当該集計端末の秘密鍵を共有し、秘匿計算サーバが、前記秘密鍵を用いて暗号化されたデータを、前記データ提供端末から受信すると、前記暗号化されたデータの個数を、暗号文毎に集計し、集計結果を、前記集計端末へ送信する。
【００１１】
本発明に係る秘匿計算プログラムは、前記秘匿計算システムとしてコンピュータを機能させるためのものである。
【発明の効果】
【００１２】
本発明によれば、高速に秘匿計算を行える。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る秘匿計算システムの構成を示す図である。
【図２】実施形態に係る秘匿計算サーバの機能構成を示す図である。
【図３】実施形態に係るデータ提供端末における処理内容を例示する図である。
【図４】実施形態に係る秘匿計算サーバにおける処理内容を例示する図である。
【図５】実施形態に係る集計端末における処理内容を例示する図である。
【図６】実施形態に係る秘匿計算方法を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る秘匿計算システム１の構成を示す図である。
秘匿計算システム１は、秘匿計算サーバ１０と、複数のデータ提供端末２０と、集計端末３０とを備える。
【００１５】
秘匿計算サーバ１０は、収集したデータの秘匿計算として集計計算を行い、集計端末３０に提供する情報処理装置である。
データ提供端末２０は、ユーザが所有するデータを暗号化により秘匿した上で秘匿計算サーバ１０に提供する端末装置である。
集計端末３０は、秘匿計算サーバ１０から秘匿された集計結果を取得し、復号することで元データの集計結果を取得する端末装置である。
【００１６】
データ提供端末２０と集計端末３０とは、例えば公開鍵暗号方式等、安全な鍵共有の方式により、秘密鍵を共有する。
集計端末３０は、集計処理を実行する度に、異なる秘密鍵を事前に生成し、データ提供端末２０のそれぞれと鍵交換する。各データ提供端末２０は、この秘密鍵を用いてデータを暗号化し、秘匿計算サーバ１０へ送信する。
ここで、データ提供端末２０において用いられる暗号化方式は、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の確定型暗号であり、ある平文の暗号文は、平文が同じであれば常に同じになる。
【００１７】
図２は、本実施形態に係る秘匿計算サーバ１０の機能構成を示す図である。
秘匿計算サーバ１０は、受信部１１と、集計部１２と、送信部１３とを備える。これら各機能部は、秘匿計算サーバ１０の記憶部に格納されたソフトウェアを制御部（ＣＰＵ）が読み出して実行することにより実現される。
【００１８】
受信部１１は、秘密鍵を用いて暗号化されたデータを、データ提供端末２０から受信する。
さらに、受信するデータの通信路は、データ提供端末２０及び秘匿計算サーバ１０の間で共有された個別の鍵により、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）等を用いて暗号化される。受信部１１は、複数のデータ提供端末２０のそれぞれから、互いに読み取りができない暗号通信路を介して、暗号化されたデータを受信する。
【００１９】
集計部１２は、暗号化されたデータの個数を、暗号文毎に集計する。
ここで、データ提供端末２０において用いられる暗号化方式は、前述のように確定型暗号のため、同じ暗号文の個数は、対応する同じ平文の個数と同一である。
送信部１３は、集計部による集計結果を、集計端末３０へ送信する。送信部１３から集計端末３０への通信路についても、暗号通信が用いられてよい。
【００２０】
ここで、秘匿計算の例として、アンケートの回答を集計する場合を説明する。
図３は、本実施形態に係るデータ提供端末２０における処理内容を例示する図である。
データ提供端末２０は、アンケートの回答としてＡ、Ｂ、Ｃ、Ｄの４種類の選択肢がある場合、例えば、入力データＡに対して、暗号化されたデータＥ（Ａ）が出力される。同様に、データＢ、Ｃ、Ｄに対しては、それぞれ暗号化されたデータＥ（Ｂ）、Ｅ（Ｃ）、Ｅ（Ｄ）が出力される。
【００２１】
図４は、本実施形態に係る秘匿計算サーバ１０における処理内容を例示する図である。
秘匿計算サーバ１０には、データ提供端末２０のそれぞれから、暗号化されたデータＥ（Ａ）、Ｅ（Ｂ）、Ｅ（Ｃ）、Ｅ（Ｄ）のいずれかが入力される。
秘匿計算サーバ１０は、暗号文毎に、入力されたデータの個数をカウントし、例えば、Ｅ（Ａ）：５個、Ｅ（Ｂ）：３個、Ｅ（Ｃ）：１個、Ｅ（Ｄ）：９個、といった集計結果を、集計端末３０へ出力する。
【００２２】
図５は、本実施形態に係る集計端末３０における処理内容を例示する図である。
集計端末３０は、秘匿計算サーバ１０から暗号文毎の集計結果を受信すると、データ提供端末２０と共有した秘密鍵により暗号文を復号し、Ａ：５個、Ｂ：３個、Ｃ：１個、Ｄ：９個、という結果を得る。
また、集計端末３０は、集計した値を受信した全暗号文数で割ることで、割合を求めることができる。例えば、データＡの割合は、５／（５＋３＋１＋９）と計算される。
さらに、集計端末３０は、データＡ、Ｂ、Ｃ、Ｄが数値である場合には、例えば（Ａ×５＋Ｂ×３＋Ｃ＋Ｄ×９）／（５＋３＋１＋９）を計算し、平均値を求めることができる。
【００２３】
図６は、本実施形態に係る秘匿計算方法を示すシーケンス図である。
ステップＳ１において、集計端末３０は、今回の集計作業で使用する秘密鍵Ｋを生成する。
ステップＳ２において、集計端末３０は、ステップＳ１で生成した秘密鍵をデータ提供端末２０毎に、それぞれの公開鍵で暗号化して各データ提供端末２０に送信し、各データ提供端末２０が私有鍵で復号することにより、鍵共有を行う。
【００２４】
ステップＳ３において、データ提供端末２０は、集計対象のデータを、ステップＳ２で共有した秘密鍵Ｋを用いて、共通鍵暗号方式により暗号化を行う。
【００２５】
ステップＳ４において、データ提供端末２０は、秘匿計算サーバ１０との間に暗号通信路を構築する。
ステップＳ５において、データ提供端末２０は、ステップＳ４で構築した暗号通信路を介して、ステップＳ３で暗号化したデータを秘匿計算サーバ１０へ送信する。
【００２６】
ステップＳ６において、秘匿計算サーバ１０は、複数のデータ提供端末２０から収集した暗号化されたデータの個数を、暗号文毎に集計する。
【００２７】
ステップＳ７において、秘匿計算サーバ１０は、集計端末３０との間に暗号通信路を構築する。
ステップＳ８において、秘匿計算サーバ１０は、ステップＳ７で構築した暗号通信路を介して、ステップＳ６で集計した結果を集計端末３０へ送信する。
【００２８】
ステップＳ９において、集計端末３０は、ステップＳ８で受信した暗号文を復号し、暗号化前のデータ毎に集計された結果を得る。
【００２９】
本実施形態によれば、データ提供端末２０において共通鍵暗号方式により暗号化されたデータを、秘匿計算サーバ１０が暗号化毎に集計する。集計端末３０は、暗号文を共通鍵により復号することにより、集計結果を得る。
したがって、秘匿計算システム１は、データの提供者と集計者とで秘密鍵の交換が終わると、秘匿計算サーバ１０ではデータの個数をカウントするのみで、集計結果を容易に算出できるので、複雑な演算を多用する加法準同型暗号を用いた秘匿計算手法に比べて、機能的な差異はなく、非常に高速に秘匿計算を行える。
【００３０】
このとき、秘匿計算サーバ１０は、暗号化されたデータを受信し、暗号化されたまま集計及び出力を行うため、元データを知り得ない。また、集計端末３０は、集計された結果のみを受信するため、どのユーザがどのデータを提供したかを知り得ない。
【００３１】
さらに、秘匿計算サーバ１０は、各データ提供端末２０との間で暗号通信路を構築するので、複数のデータ提供端末２０は、それぞれ他のデータ提供端末２０が提供したデータを知り得ない。
【００３２】
また、集計端末３０は、集計処理の度に異なる秘密鍵を生成するので、例えば、提供されるデータが前と同じであっても異なる暗号文が生成されるため、データの類推が困難となり、安全性が向上する。
【００３３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００３４】
本実施形態では、１種類のデータ（例えば、Ａ、Ｂ、Ｃ又はＤ）に対して集計計算を行う場合を例示したが、本発明はこれには限られない。例えば、複数のデータの組み合わせが提供されてもよい。例えば、データ提供者が（Ａ，Ｂ，Ｃ，Ｄ），（１，２，３，４）という２つの属性データを提供する場合、Ａ−１，Ａ−２，・・・，Ｂ−４，・・・といった組み合わせそれぞれについて、個数がカウントされ集計結果が出力される。
【００３５】
本実施形態では、データ提供端末２０からは、共通鍵暗号方式により暗号化されたデータが提供されたが、データの変換方式は、秘匿計算サーバ１０により元データが解読されない方式であればよい。例えば、提供されるデータは、ハッシュ関数により秘匿化されてもよく、この場合、集計端末３０では、データ提供端末２０と同様に生成したハッシュ値と照合することで、元データを復元できる。
【００３６】
秘匿計算システム１による秘匿計算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００３７】
１  秘匿計算システム
１０  秘匿計算サーバ
１１  受信部
１２  集計部
１３  送信部
２０  データ提供端末
３０  集計端末
【図１】
2018146609.tif 000003
【図２】
2018146609.tif 000004
【図３】
2018146609.tif 000005
【図４】
2018146609.tif 000006
【図５】
2018146609.tif 000007
【図６】
2018146609.tif 000008