説明

情報処理方法及び装置、並びにコンピュータシステム

【課題】データベース内のデータを、利用に適した形で適切に秘匿する。
【解決手段】本方法は、オリジナルマトリクスと、オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成する第1処理と、マスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2コンピュータに送信する第2処理とを含む。そして、上記マスクマトリクスが、複数のユーザが用いるマスクマトリクスを加算するとゼロ行列となるように生成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、データの秘匿化技術に関する。
【背景技術】
【0002】
例えば、各支店における各商品の月別売上表をサーバで共有し、本部の集計担当者が各種集計処理を実施するケースを考える。例えば図1の左に示すように、支店Aでは、商品A、商品B及び商品Cの月毎の売上を表す売上表を有し、支店Bでは、同じく商品A、商品B及び商品Cの月毎の売上を表す売上表を有する。そして、図1の右に示すように、本部では、全ての支店に関して、商品A、商品B、商品Cそれぞれについての売上合計値(例えばX)、全商品についての月毎の売上合計値(例えばY)といった集計値を算出する。場合によっては、特定の月における特定の商品についての売上合計値(例えば1月における商品Aの売上高合計ΣiAi1(iは支店のパラメータ))や、全売上高というような集計値(例えばZ)を計算する場合もある。
【0003】
このような場合に、各支店では細かい売上高を他の支店などに知らせたくなく、本部も細かい情報を把握できなくとも集計値を得られればよい、といった要望が出てくることがある。しかしながら、このような要望に十分対応できるような技術は存在しない。
【0004】
例えば、データを秘匿化するために、データを暗号化してサーバに保持させるようなことも考えられる。しかし、第三者がこのデータを集計する場合には、結局復号化しなければならず、結果としてデータの中身そのものを第三者が見ることになってしまう。
【0005】
さらに、元データにノイズ(すなわち乱数)を加えることで、元データを秘匿しつつ、統計的にある程度の精度でクロス集計を可能にするという技術も存在している。このような技術における集計システムでは、各ユーザに対して、指定したパラメータ(具体的には維持確率)を与えて値をランダム化させた上で集計を行い、この集計値から真の集計値を統計的に推定するというものである。但し、この方法は、以下のような問題を有している。すなわち、元データに対してノイズが小さいと元データのおおよその値がわかってしまう。また集計値が近似値である。さらに、クラウド側で集計処理の後統計的推定処理という別の処理を行うことになる。特に、クラウド上の他社サービスに独自機能を追加することは難しい場合があり、実用上は問題となることがある。
【0006】
また、準同型暗号という技術も存在している。この技術を用いれば、暗号化したままで暗号化前の値の演算が可能となるが、これまでは視聴履歴収集システムや電子投票システムといった特殊なシステムに用いられてきた。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−108488号公報
【特許文献2】特開2000−236305号公報
【特許文献3】特開2010−128865号公報
【非特許文献】
【0008】
【非特許文献1】Paillier, P., Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, Proc. Eurocrypt 99, pp.223-238, 1999.
【発明の概要】
【発明が解決しようとする課題】
【0009】
このように、上で述べた従来技術では、データベース内のデータを、利用に適した形で適切に秘匿することはできない。
【0010】
従って、本技術の目的は、一側面として、データベース内のデータを、利用に適した形で適切に秘匿するための技術を提供することである。
【課題を解決するための手段】
【0011】
本技術に係る情報処理方法は、(A)第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つオリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、(B)第3のデータ格納部に格納されているマスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2の処理とを含む。そして、上記マスクマトリクスが、複数のユーザが用いるマスクマトリクスを加算すると、ゼロ行列となるように生成されている。
【発明の効果】
【0012】
データベース内のデータを利用に適した形で適切に秘匿できるようになる。
【図面の簡単な説明】
【0013】
【図1】図1は、従来技術の問題を説明するための図である。
【図2】図2は、本技術の実施の形態に係るシステム全体の概要図である。
【図3】図3は、マスク配信サーバの機能ブロック図である。
【図4】図4は、ユーザ装置の機能ブロック図である。
【図5】図5は、集計サーバの機能ブロック図である。
【図6】図6は、管理者装置の機能ブロック図である。
【図7】図7は、本実施の形態における処理フローを示す図である。
【図8】図8は、本実施の形態における処理フローを示す図である。
【図9】図9は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【0014】
最初に、本技術の実施の形態の概要を説明する。各ユーザiについて、例えば各商品の月別売上表のようなオリジナルマトリクスOMiが存在する場合、このオリジナルマトリクスOMiにマスクマトリクスMMiを加算する。このマスクマトリクスMMiは、全ユーザについて加算するとゼロ行列になるように生成されている。但し、MMiのいずれもがゼロ行列ではないものとする。
【0015】
具体的には、ユーザ1については、以下のような行列の加算演算が行われる。他のユーザでも同様の加算演算が行われる。
【0016】
【数1】

【0017】
なお、例えば、オリジナルマトリクスOMiの要素値を表すa乃至dは商品名を表し、最初の下付け文字はユーザ番号を表し、2番目の下付け文字は月番号を表す。また、例えば、マスクマトリクスMMiの要素値を表すmの最初の下付け文字は商品名を表し、次の下付け文字はユーザ番号を表し、3番目の下付け文字は月番号を表す。
【0018】
このような加算演算でマスク化マトリクスMKMiを生成すれば、オリジナルマトリクスOMiを復元することはできないので、基本的な秘匿化がなされる。
【0019】
そして、マスク化マトリクスMKMiの総和を計算すると、オリジナルマトリクスOMiの総和が得られる。これは、以下のように表される。
【0020】
ΣiMKMi
=Σi(OMi+MMi
=ΣiOMi+ΣiMMi
=ΣiOMi+0
=ΣiOMi
【0021】
オリジナルマトリクスの総和ΣiOMiからは、個々のオリジナルマトリクスOMiを復元することはできないので、この点においても基本的な秘匿化がなされている。
【0022】
このようなオリジナルマトリクスの総和ΣiOMiが得られれば、全てのユーザに関して、商品A、商品B、商品Cそれぞれについての売上合計値、全商品についての月毎の売上合計値、特定の月における特定の商品についての売上合計値、全売上高というような集計値を計算することも可能になる。
【0023】
但し、上で述べたような単純なマスク化だけでは、マスク化マトリクスを盗聴又は収集すれば、上で述べたようにオリジナルマトリクスの総和が得られるようになってしまう。盗聴しなくとも、例えばマスク化マトリクスを、例えばクラウドシステムに集めて、クラウドシステムの集計サーバでその総和を算出すると、算出完了時にオリジナルマトリクスの総和が、クラウドシステムに対して露出してしまう。
【0024】
そこで、本実施の形態では、準同型暗号を導入する。各ユーザは、準同型暗号における管理者の公開鍵を取得して、マスク化マトリクスをそれぞれ暗号化する。クラウドシステムなどにおいては、各ユーザから暗号化されたマスク化マトリクスを受信し、例えば管理者からの要求に応じて、暗号化された、マスク化マトリクスの総和が得られるように、採用された準同型暗号における演算を実施する。準同型暗号には、様々な方式があるが、例えばElGamal暗号やPailler暗号を採用する場合、平文における加算結果を暗号化した値を得るためには、暗号化された値の乗算を行うことになる。このように、平文における加算を実現するために実施すべき演算を、暗号化された値に対して行う。
【0025】
このようにすれば、通信路だけではなくクラウドシステムなどの集計サーバにおいても、オリジナルマトリクス及びオリジナルマトリクスの総和が露出することを防止できる。
【0026】
これに対して秘密鍵を有する管理者は、個々のオリジナルマトリクスについてはマスクマトリクスによって秘匿化されているが、オリジナルマトリクスの総和を取得することができる。
【0027】
以下、このような処理を実施するためのコンピュータシステムについて図2乃至図8を用いて説明する。
【0028】
図2に、本実施の形態に係るコンピュータシステムの一例を示す。例えばインターネットなどのコンピュータネットワーク9には、複数のユーザ装置1乃至3(数は3に限定されず、任意の整数でよい)と、管理者装置5と、クラウドシステムなどに配置される集計サーバ7と、マスクマトリクスMMを配布するためのマスク配信サーバ6とが接続されている。
【0029】
ユーザ装置1乃至3は、例えば支店毎のコンピュータであって、例えば支店の他のコンピュータなどに接続されている。また、管理者装置5は、例えば本部のコンピュータであって、例えば本部の他のコンピュータなどに接続されている。マスク配信サーバ6は、例えばクラウドシステム、管理者及びユーザとは独立に管理及び運営されており、上で述べたような各ユーザのマスクマトリクスMMiを加算するとゼロ行列となるように各マスクマトリクスMMiを生成して、各ユーザ装置に配布する。集計サーバ7は、各ユーザ装置から受信したデータを蓄積すると共に、例えば管理者装置5からの要求に応じて所定の集計処理を実施し、集計結果を管理者装置5に送信する。
【0030】
図3に、本実施の形態に係るマスク配信サーバ6の機能ブロック図を示す。マスク配信サーバ6は、マスク生成部61と、マスク配信部62と、配信先データ格納部63とを有する。マスク配信サーバ6は、予め管理者などからマスクマトリクスMMの配布先のデータを受信して、配信先データ格納部63に格納しておく。マスク生成部61は、例えば定期的に又は任意のタイミングで、各ユーザ装置のために上で述べた性質を有するマスクマトリクスMMを生成し、マスク配信部62に出力する。マスク配信部62は、配信先データ格納部63に格納されている配布先のデータに従って、各ユーザ装置に対して、生成したマスクマトリクスMMを送信する。
【0031】
図4に、本実施の形態に係るユーザ装置(例えばユーザ装置1)の機能ブロック図を示す。ユーザ装置1は、オリジナルマトリスク取得部101と、オリジナルマトリクス格納部102と、マスク受信部103と、マスク格納部104と、マスク処理部105と、マスク化マトリクス格納部108と、暗号化処理部109と、公開鍵格納部110と、暗号化データ格納部111と、送信部112とを有する。
【0032】
オリジナルマトリクス取得部101は、ユーザ装置1に接続されている他のコンピュータなどからオリジナルマトリクスのデータを取得して、オリジナルマトリクス格納部102に格納する。場合によっては、オリジナルマトリクス取得部101が、オリジナルマトリクスを生成する。また、マスク受信部103は、マスク配信サーバ6からマスクマトリクスMMを受信し、マスク格納部104に格納する。
【0033】
マスク処理部105は、オリジナルマトリクス格納部102に格納されているオリジナルマトリクスOMとマスク格納部104に格納されているマスクマトリクスMMを加算することでマスク化マトリクスMKMを生成し、マスク化マトリクス格納部108に格納する。
【0034】
暗号化処理部109は、予め定められた準同型暗号方式に従って、公開鍵格納部110に格納されている管理者装置5のための公開鍵で、マスク化マトリクスMKMを暗号化することで、暗号化された行列データE(MKM)を生成して、暗号化データ格納部111に格納する。送信部112は、暗号化データ格納部111に格納されている暗号化された行列データE(MKM)を、クラウドシステムにおける集計サーバ7に送信する。
【0035】
図5に、本実施の形態に係る集計サーバ7の機能ブロック図を示す。集計サーバ7は、データ受信部71と、データベース(DB)72と、集計要求処理部73と、データ格納部74とを有する。集計要求処理部73は、採用されている準同型暗号方式において暗号化したまま平文の加算を実現するための演算を実施する演算部731を有する。例えば、平文の加算結果を暗号化した値を得るために、暗号化したデータ同士の乗算を行う。
【0036】
データ受信部71は、ユーザ装置1乃至3から、暗号化された行列データE(MKM)を受信すると、DB72に格納する。なお、このDB72は、ユーザ装置1乃至3のためのデータベースであり、管理者装置5からの集計要求に基づき集計処理が実施されるデータを格納するものとする。すなわち、ユーザのグループ毎に分別管理される。また、集計要求処理部73は、管理者装置5から集計要求を受信すると、DB72から、各ユーザ装置からの暗号化された行列データE(MKM)を読み出す。そして、集計要求処理部73の演算部731は、暗号化された行列データE(MKM)について上で述べたように所定の演算を実施する。処理途中及び処理結果のデータについては、データ格納部74に格納する。
【0037】
上でも述べたように、このような処理を実施することでオリジナルマトリクスの総和ΣiOMiの暗号化データE(ΣiOMi)が得られる。
【0038】
集計要求処理部73は、管理者装置5に対して、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を送信する。
【0039】
図6に、本実施の形態に係る管理者装置5の機能ブロック図を示す。管理者装置5は、集計要求部51と、受信データ格納部52と、復号化処理部53と、秘密鍵格納部54と、復号化データ格納部55と、出力処理部57とを有する。
【0040】
集計要求部51は、例えば管理者装置5に接続されている他のコンピュータなどから集計要求を送信するように指示されると、集計要求を集計サーバ7に送信し、集計サーバ7から、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を受信し、受信データ格納部52に格納する。
【0041】
復号化処理部53は、秘密鍵格納部54に格納されている秘密鍵を用いて、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を復号化して、復号化データ格納部55に格納する。
【0042】
出力処理部57は、復号化データ格納部55に格納されているオリジナルマトリクスの総和ΣiOMiをそのまま例えば管理者装置5に接続されている他のコンピュータなどに出力する。なお、オリジナルマトリクスの総和ΣiOMiからさらに集計処理を実施しても良い。例えば、1月における全ユーザ及び全商品の売上合計値を算出するようにしてもよいし、1月から6月までにおける全ユーザ及び商品Aについての売上合計値を算出するようにしても良い。
【0043】
次に、図7及び図8を用いて図2に示したシステムにおける処理の流れについて説明する。まず、マスク配信サーバ6のマスク生成部61は、定期的に又は任意のタイミングで、ΣiMMi=0を満たすように、マスクマトリクスMMiを生成し、マスク配信部62に出力する(図7:ステップS1)。例えば、配信先データ格納部63に格納されている配布先のデータから生成個数Nを特定して、(N−1)個のマスクマトリクスMMについては、その各要素値を乱数で生成する。そして、(N−1)個のマスクマトリクスMMの総和を算出してその符号を反転させることで、N個目のマスクマトリクスMMNを生成する。その他、Nを複数のグループに分けて、各グループで上で述べたような方法でグループ内のマスクマトリクスMMの総和が0になるようにマスクマトリクスMMを生成するようにしても良い。また、マスクマトリクスMMの形状(次元数及び各次元のサイズ)は、予め与えられているものとする。
【0044】
マスク配信サーバ6のマスク配信部62は、マスク生成部61から受け取ったマスクマトリクスMMiを、配信先データ格納部63に格納されているユーザ装置のアドレスに配信する(ステップS3)。なお、マスク配信サーバ6と各ユーザ装置との間の通信は、例えば公開鍵暗号方式などの暗号によって秘匿化する。
【0045】
例えばユーザ装置1のマスク受信部103は、マスク配信サーバ6からマスクマトリクスMM1を受信し、マスク格納部104に格納する(ステップS5)。この後、任意のタイミング又は定期的に、以下の処理を実施する。
【0046】
例えば、オリジナルマトリクス取得部101が、集計サーバ7に送信すべきオリジナルマトリクスOM1を取得してオリジナルマトリクス格納部102に格納すると、マスク処理部105は、マスク格納部104に格納されているマスクマトリクスMM1と、オリジナルマトリクス格納部102に格納されているオリジナルマトリクスOM1とを加算することでマスク化マトリクスMKM1を生成して、マスク化マトリクス格納部108に格納する(ステップS7)。
【0047】
その後、暗号化処理部109は、公開鍵格納部110に格納されている管理者の公開鍵で、準同型暗号方式にて、マスク化マトリクスMKM1を暗号化して、暗号化データ格納部111に格納する(ステップS11)。そして、送信部112は、暗号化データ格納部111に格納されており、暗号化されたマスク化マトリクスE(MKM1)を、集計サーバ7に送信する(ステップS13)。
【0048】
これに対して、集計サーバ7のデータ受信部71は、各ユーザ装置から、暗号化されたマスク化マトリクスE(MKMi)を受信し、DB72に格納する(ステップS15)。マスクマトリクスMMiが配布された全てのユーザ装置から、暗号化されたマスク化マトリクスE(MKMi)を受信すれば、以下の処理を実施することができるようになる。
【0049】
次に、管理者装置5の集計要求部51は、マスク化マトリクスの総和の集計要求を、集計サーバ7に送信する(図8:ステップS21)。これに対して、集計サーバ7の集計要求処理部73は、管理者装置5から、マスク化マトリクスの総和の集計要求を受信する(ステップS23)。そうすると、集計要求処理部73は、DB72から、暗号化されたマスク化マトリクスE(MKMi)を読み出し、演算部731は、暗号化された、マスク化マトリクスの総和が得られるように、暗号化したまま所定の演算を実施して、演算結果(E(ΣiMKMi))をデータ格納部74に格納する(ステップS25)。但し、E(ΣiMKMi)=E(ΣiOMi
【0050】
そして、集計要求処理部73は、演算結果(E(ΣiMKMi))を、要求送信元の管理装置5に送信する(ステップS27)。これに対して管理装置5の集計要求部51は、集計サーバ7から演算結果(E(ΣiMKMi))を受信し、受信データ格納部52に格納する(ステップS29)。復号化処理部53は、秘密鍵格納部54に格納されている秘密鍵を用いて、演算結果を復号化して、復号化データ格納部55に格納する(ステップS31)。これによって、上で述べたように、オリジナルマトリクスの総和ΣiOMiが得られたことになる。
【0051】
その後、出力処理部57は、管理者からの要求等に応じて、各種集計演算を実施して、管理者装置5に接続されている他のコンピュータなどに出力する(ステップS33)。
【0052】
例えば図1の例では、図1の右に示すように、全ての支店に関して、商品A、商品B、商品Cそれぞれについての売上合計値(例えばX)、全商品についての月毎の売上合計値(例えばY)といった集計値を算出する。場合によっては、特定の月における特定の商品についての売上合計値(例えば1月における商品Aの売上高合計ΣiAi1(iは支店のパラメータ))や、全売上高というような集計値(例えばZ)を計算する場合もある。オリジナルマトリクスの総和ΣiOMiをそのまま出力しても良い。
【0053】
以上のような処理を実施することで、管理者は各ユーザの個別データについては参照することはできないが、ユーザ全体のデータについては、集計サーバ7に対しても秘匿化したままオリジナルマトリクスの総和ΣiOMiを管理者は得ることができるようになる。オリジナルマトリクスの総和ΣiOMiが得られると、それを用いてさらなる集計処理を行うことも可能である。
【0054】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、集計サーバ7における秘匿性が他の手法にて確保されるのであれば、準同型暗号方式を採用せずに、他の暗号方式を装置間で採用するようにしてもよい。
【0055】
また、上の例では集計サーバ7が、集計のために演算を実施する例を示したが、単にデータの蓄積のみを行って、演算自体については管理者装置5が行う場合もある。
【0056】
その他、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。さらに、上で述べた機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。
【0057】
さらに各装置は、1台のコンピュータで実装される場合もあれば、複数台のコンピュータで実装される場合もある。さらに、マスク配信サーバ6を設けずに、郵送その他の手法によって別途マスクマトリクスを配布するようにしても良い。
【0058】
なお、上で述べたユーザ装置、管理者装置5、マスク配信サーバ6及び集計サーバ7は、コンピュータ装置であって、図9に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0059】
以上述べた本実施の形態をまとめると、以下のようになる。
【0060】
本実施の形態に係る情報処理方法は、(A)第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つオリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1のステップと、(B)第3のデータ格納部に格納されているマスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2のステップとを含む。そして、マスクマトリクスは、複数のユーザが用いるマスクマトリクスを加算すると、ゼロ行列となるように生成されている。
【0061】
このようにすることで、各ユーザのオリジナルマトリクスは秘匿化されるが、全ユーザのマスク化マトリクスを加算すれば、オリジナルマトリクスの総和を得ることができる。そうすれば、各種集約処理結果も得ることができるようになる。
【0062】
また、上で述べた第2のステップが、マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化されたマスク化マトリクスを、第2のコンピュータに送信するステップを含むようにしても良い。このように準同型暗号方式を採用すれば、第2のコンピュータで暗号化したままマスク化マトリクスの総和を得るような演算を行うことができる。
【0063】
さらに、本情報処理方法において、(C)第2のコンピュータが、複数のユーザのコンピュータからの暗号化されたマスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3のステップと、(D)第2のコンピュータが、第4のデータ格納部に格納されている演算結果を、特定のユーザ(例えば管理者)のコンピュータに送信する第4のステップとをさらに含むようにしても良い。準同型暗号は様々なタイプのものがあるので、平文の加算結果を暗号化した値を得るための演算を実施する。
【0064】
また、本情報処理方法において、(E)特定のユーザのコンピュータが、第2のコンピュータからの演算結果を特定のユーザの秘密鍵で復号化することで、マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5のステップをさらに含むようにしても良い。
【0065】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
【0066】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0067】
(付記1)
コンピュータにより実行される情報処理方法であって、
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2の処理と、
を含み、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理方法。
【0068】
(付記2)
前記第2の処理が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2のコンピュータに送信する処理
を含む付記1記載の情報処理方法。
【0069】
(付記3)
前記第2のコンピュータが、前記複数のユーザのコンピュータからの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3の処理と、
前記第2のコンピュータが、前記第4のデータ格納部に格納されている演算結果を、前記特定のユーザのコンピュータに送信する第4の処理と、
をさらに含む付記2記載の情報処理方法。
【0070】
(付記4)
前記特定のユーザのコンピュータが、前記第2のコンピュータからの前記演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5の処理
をさらに含む付記3記載の情報処理方法。
【0071】
(付記5)
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納するマスク処理部と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザの情報処理装置からのデータを蓄積する第2の情報処理装置に送信する出力部と、
を有し、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理装置。
【0072】
(付記6)
前記出力部が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2の情報処理装置に送信する暗号化処理部
を含む付記5記載の情報処理装置。
【0073】
(付記7)
付記6記載の情報処理装置と、
前記第2の情報処理装置と、
を有し、
前記第2の情報処理装置が、
前記複数のユーザの情報処理装置からの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納し、第4のデータ格納部に格納されている演算結果を、特定のユーザの情報処理装置に送信する、
コンピュータシステム。
【0074】
(付記8)
前記特定のユーザの情報処理装置
をさらに有し、
前記特定のユーザの情報処理装置が、
前記第2の情報処理装置からの演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する
付記7記載のコンピュータシステム。
【符号の説明】
【0075】
1−3 ユーザ装置
5 管理者装置
6 マスク配信サーバ
7 集計サーバ
101 オリジナルマトリクス取得部
102 オリジナルマトリクス格納部
103 マスク受信部
104 マスク格納部
105 マスク処理部
108 マスク化マトリクス格納部
109 暗号化処理部
110 公開鍵格納部
111 暗号化データ格納部
112 送信部
51 集計要求部
52 受信データ格納部
53 復号化処理部
54 秘密鍵格納部
55 復号化データ格納部
57 出力処理部
61 マスク生成部
62 マスク配信部
63 配信先データ格納部
71 データ受信部
72 DB
73 集計要求処理部
74 データ格納部

【特許請求の範囲】
【請求項1】
コンピュータにより実行される情報処理方法であって、
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2の処理と、
を含み、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理方法。
【請求項2】
前記第2の処理が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2のコンピュータに送信する処理
を含む請求項1記載の情報処理方法。
【請求項3】
前記第2のコンピュータが、前記複数のユーザのコンピュータからの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3の処理と、
前記第2のコンピュータが、前記第4のデータ格納部に格納されている演算結果を、前記特定のユーザのコンピュータに送信する第4の処理と、
をさらに含む請求項2記載の情報処理方法。
【請求項4】
前記特定のユーザのコンピュータが、前記第2のコンピュータからの前記演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5の処理
をさらに含む請求項3記載の情報処理方法。
【請求項5】
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納するマスク処理部と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザの情報処理装置からのデータを蓄積する第2の情報処理装置に送信する出力部と、
を有し、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理装置。
【請求項6】
前記出力部が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2の情報処理装置に送信する暗号化処理部
を含む請求項5記載の情報処理装置。
【請求項7】
請求項6記載の情報処理装置と、
前記第2の情報処理装置と、
を有し、
前記第2の情報処理装置が、
前記複数のユーザの情報処理装置からの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納し、第4のデータ格納部に格納されている演算結果を、特定のユーザの情報処理装置に送信する、
コンピュータシステム。
【請求項8】
前記特定のユーザの情報処理装置
をさらに有し、
前記特定のユーザの情報処理装置が、
前記第2の情報処理装置からの演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する
付記7記載のコンピュータシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−26996(P2013−26996A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−162775(P2011−162775)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】