IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特開2022-139721データ提供装置、集計システム及びデータ提供プログラム
<>
  • 特開-データ提供装置、集計システム及びデータ提供プログラム 図1
  • 特開-データ提供装置、集計システム及びデータ提供プログラム 図2
  • 特開-データ提供装置、集計システム及びデータ提供プログラム 図3
  • 特開-データ提供装置、集計システム及びデータ提供プログラム 図4
  • 特開-データ提供装置、集計システム及びデータ提供プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022139721
(43)【公開日】2022-09-26
(54)【発明の名称】データ提供装置、集計システム及びデータ提供プログラム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20220915BHJP
【FI】
G09C1/00 620Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021040227
(22)【出願日】2021-03-12
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】清本 晋作
(57)【要約】
【課題】差分プライバシを保ったまま、アグリゲータが容易に集計値を計算できるデータ提供装置、集計システム及びデータ提供プログラムを提供すること。
【解決手段】複数のノードに分散された数値を集計する集積装置20に対して、当該数値を提供するノードとしてのデータ提供装置10は、プライバシを保護すべき数値をx個に分割した値それぞれにノイズを加算し、x回に分けて集積装置20に送信するデータ送信部111を備え、集積装置20において、複数のノードの全てから受信した値の累計処理をx回実行させることでノイズ付きの集計値を算出させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のノードに分散された数値を集計する集積ノードに対して、当該数値を提供するノードとしてのデータ提供装置であって、
プライバシを保護すべき前記数値をx個に分割した値それぞれにノイズを加算し、x回に分けて前記集積ノードに送信するデータ送信部を備え、
前記集積ノードにおいて、前記複数のノードの全てから受信した値の累計処理をx回実行させることでノイズ付きの集計値を算出させるデータ提供装置。
【請求項2】
前記データ送信部は、前記数値をx個に等分する請求項1に記載のデータ提供装置。
【請求項3】
前記ノイズは、0をピークとした正負対称な第1の分布に従った値である請求項1又は請求項2に記載のデータ提供装置。
【請求項4】
前記第1の分布は、ラプラス分布である請求項3に記載のデータ提供装置。
【請求項5】
前記データ送信部は、総計が0となるx個の乱数を生成し、前記分割した値それぞれに前記ノイズと共に加算する請求項1又は請求項2に記載のデータ提供装置。
【請求項6】
前記乱数は、0をピークとした正負対称な第2の分布に従った値である請求項5に記載のデータ提供装置。
【請求項7】
前記第2の分布は、ラプラス分布である請求項6に記載のデータ提供装置。
【請求項8】
前記集積ノードから、前記累計処理の度に、計算結果のハッシュ値を受信する結果取得部を備える請求項1から請求項7のいずれかに記載のデータ提供装置。
【請求項9】
請求項1から請求項8のいずれかに記載の複数のデータ提供装置と、
前記複数のデータ提供装置からそれぞれ値を受信し、前記累計処理を実行する前記集積ノードとしての集積装置と、を備える集計システム。
【請求項10】
前記集積装置は、受信したデータの記憶容量が所定以下に制限される請求項9に記載の集計システム。
【請求項11】
請求項1から請求項8のいずれかに記載のデータ提供装置としてコンピュータを機能させるためのデータ提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散されたデータの差分プライバシを実現するシステムに関する。
【背景技術】
【0002】
従来、個人情報を収集し解析結果を提供する際に、個々のデータを復元できないように解析結果を加工する差分プライバシの実現が求められている。さらに、解析を行う集積ノード(アグリゲータ)に対しても個人情報を秘匿できる分散差分プライバシに関する技術が提案されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Vibhor Rastogi and Suman Nath, "Differentially Private Aggregation of Distributed Time-Series with Transformation and Encryption," Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, June 2010, pp. 735-746
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の手法では、個人情報を収集するアグリゲータは、集計値を計算するために、秘匿されたデータを用いた秘密計算を行う必要があった。
【0005】
本発明は、差分プライバシを保ったまま、アグリゲータが容易に集計値を計算できるデータ提供装置、集計システム及びデータ提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るデータ提供装置は、複数のノードに分散された数値を集計する集積ノードに対して、当該数値を提供するノードとしての装置であって、プライバシを保護すべき前記数値をx個に分割した値それぞれにノイズを加算し、x回に分けて前記集積ノードに送信するデータ送信部を備え、前記集積ノードにおいて、前記複数のノードの全てから受信した値の累計処理をx回実行させることでノイズ付きの集計値を算出させる。
【0007】
前記データ送信部は、前記数値をx個に等分してもよい。
【0008】
前記ノイズは、0をピークとした正負対称な第1の分布に従った値であってもよい。
【0009】
前記第1の分布は、ラプラス分布であってもよい。
【0010】
前記データ送信部は、総計が0となるx個の乱数を生成し、前記分割した値それぞれに前記ノイズと共に加算してもよい。
【0011】
前記乱数は、0をピークとした正負対称な第2の分布に従った値であってもよい。
【0012】
前記第2の分布は、ラプラス分布であってもよい。
【0013】
前記データ提供装置は、前記集積ノードから、前記累計処理の度に、計算結果のハッシュ値を受信する結果取得部を備えてもよい。
【0014】
本発明に係る集計システムは、前記複数のデータ提供装置と、前記複数のデータ提供装置からそれぞれ値を受信し、前記累計処理を実行する前記集積ノードとしての集積装置と、を備える。
【0015】
前記集積装置は、受信したデータの記憶容量が所定以下に制限されてもよい。
【0016】
本発明に係るデータ提供プログラムは、前記データ提供装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0017】
本発明によれば、差分プライバシを保ったまま、アグリゲータが容易に集計値を計算できる。
【図面の簡単な説明】
【0018】
図1】実施形態における集計システムの全体構成を示す図である。
図2】実施形態におけるデータ提供装置の機能構成を示す図である。
図3】実施形態における集積装置の機能構成を示す図である。
図4】実施形態における集計システムによる利用者への情報提供の流れを示す図である。
図5】実施形態における集積装置におけるデータ集計の流れを例示するフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態における集計システム1の全体構成を示す図である。
【0020】
集計システム1は、複数(N個)のデータ提供装置10と、集積装置20とを備える。
データ提供装置10は、分散データが保持されたデータベース(DB)を含むノードであり、集積装置20(アグリゲータ)は、これら複数のデータ提供装置10からそれぞれ分散データ(数値)を受信し、利用者からの要求に応じて集計値を提供する集積ノードである。
【0021】
図2は、本実施形態におけるデータ提供装置10の機能構成を示す図である。
データ提供装置10は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部11及び記憶部12の他、各種データの入出力デバイス及び通信デバイス等を備える。
【0022】
制御部11は、データ提供装置10の全体を制御する部分であり、記憶部12に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部11は、CPUであってよい。
【0023】
記憶部12は、ハードウェア群をデータ提供装置10として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部12は、本実施形態の各機能を制御部11に実行させるためのプログラム(データ提供プログラム)の他、複数のデータ提供装置10に分散されたデータを保持するデータベース、集積装置20から受信した検証用のデータ等を記憶する。
【0024】
制御部11は、データ送信部111と、結果受信部112とを備える。
データ送信部111は、データ提供装置10がデータベースに保持しているプライバシを保護すべき数値を、複数(x個)に分割(例えば、等分割)した値それぞれにノイズを加算し、x回に分けて集積装置20に送信する。
【0025】
集積装置20は、複数のデータ提供装置10の全てから受信した値の累計処理をx回実行することで、ノイズ付きの集計値(総計)を算出できる。
ここで、加算されるノイズは、0をピークとした正負対称な第1の分布に従った値であることが好ましい。第1の分布は、例えば、ラプラス分布又は正規分布等である。
【0026】
また、データ送信部111は、総計が0となる、あるいは確率的にほぼ0に近くなるx個の乱数を生成し、分割した値それぞれにノイズと共に加算してもよい。
このとき、乱数は、0をピークとした正負対称な第2の分布に従った値であることが好ましい。第2の分布は、例えば、ラプラス分布又は正規分布等である。
【0027】
結果受信部112は、集積装置20から、累計処理が行われる度に、計算結果のハッシュ値を受信し、この集積装置20が正しく集計値を算出したか否かを後で再計算によって検証できるように保存する。
【0028】
図3は、本実施形態における集積装置20の機能構成を示す図である。
集積装置20は、データ提供装置10と同様に、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部21及び記憶部22の他、各種データの入出力デバイス及び通信デバイス等を備える。
【0029】
制御部21は、集積装置20の全体を制御する部分であり、記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部21は、CPUであってよい。
【0030】
記憶部22は、ハードウェア群を集積装置20として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部22は、本実施形態の各機能を制御部21に実行させるためのプログラムの他、複数のデータ提供装置10から受信したデータの集計値等を記憶する。
【0031】
制御部21は、データ受信部211と、累計処理部212と、結果送信部213と、要求処理部214とを備える。
【0032】
データ受信部211は、複数のデータ提供装置10のそれぞれから、x個に分割されノイズ(及び乱数)が加算された数値データを、x回に分けて受信する。
ここで、受信したデータは、ストレージ(記憶部22)に一時保存されてもよいが、この受信したデータの記憶容量は所定以下に制限され、全てのデータを保存しておくことはできない。
【0033】
累計処理部212は、複数のデータ提供装置10の全てから受信した値を累計する。累計処理部212は、この累計処理をx回実行することで、複数のデータ提供装置10が保持している全ての数値のノイズ付きの集計値(総計)を算出する。
【0034】
結果送信部213は、累計処理部212が累計処理を実行する度に、計x回、その時点での計算結果のハッシュ値を算出し、全てのデータ提供装置10へ送信する。
【0035】
要求処理部214は、利用者の端末から総計又は平均値等の集計値のリクエストを受信すると、累計処理部212により算出された総計に基づいて、要求された集計値をノイズ付きで計算して要求元へ提供する。
【0036】
図4は、本実施形態における集計システム1による利用者への情報提供の流れを示す図である。
【0037】
n個のデータ提供装置10(DB~DB)は、それぞれ数値データDを保持しており、Dをxで割り(D/x)、x回に分割して集積装置20(集積ノード)へ送信する。
このとき、j(1≦j≦x)回目の送信データには、乱数Rijと、1/xの大きさとなったデータの差分プライバシを満足するノイズ(noise/x)とが加算される。
【0038】
全ノード(DB~DB)が1回目の送信を終えると、集積ノードでは、累積値として((D+D+…+D)/x)+(sum(noise/x))+R11+R21+…+Rn1が得られる。
このとき、x分割されたデータの和に対して、ノイズの和sum(noise/x)によって差分プライバシが確保され、かつ、乱数によって各値もマスクされている。
【0039】
この1回目の累計処理により得られた値に対して、ハッシュ値が計算され、全てのノード(DB~DB)に返送され、各ノードは、送信したデータと共にこのハッシュ値を保管する。
【0040】
次に、集積ノードは、この累計値に対して、さらに2回目のデータを累計し、1回目と同様にハッシュ値を計算して全てのノード(DB~DB)に返送する。x回目の累計値は、(D+D+…+D)+sum(noise)となり、乱数がキャンセルされ、ノイズによって差分プライバシを満たした累計値が得られる。
そして、集積ノードは、利用者からの要求に応じて、この累計値又はnで割った平均値等、差分プライバシを保った集計結果を提供する。
【0041】
図5は、本実施形態における集積装置20におけるデータ集計の流れを例示するフローチャートである。
ステップS1において、累計処理部212は、集計結果である累計値を0に初期化する。
【0042】
ステップS2において、データ受信部211は、n個のデータ提供装置10のいずれかから、分割されノイズが加算された数値データを受信する。
【0043】
ステップS3において、データ受信部211は、全て(n個)のデータ提供装置10から数値データを受信したか否かを判定する。この判定がYESの場合、処理はステップS4に移り、判定がNOの場合、処理はステップS2に戻る。
【0044】
ステップS4において、累計処理部212は、受信したn個の数値データを累計値に加算する。なお、累計処理部212は、ステップS2で数値データを1件受信する度に累計値に加算してもよい。
【0045】
ステップS5において、結果送信部213は、累計値のハッシュ値を計算し、全て(n個)のデータ提供装置10へ送信する。
【0046】
ステップS6において、累計処理部212は、データ提供装置10それぞれからx回ずつ数値データを受信したか否かを判定する。この判定がYESの場合、処理は終了し、判定がNOの場合、処理はステップS2に戻る。
【0047】
本実施形態によれば、集計システム1は、分散データを保持している各ノード(データ提供装置10)がデータをx分割し、それぞれにノイズを加算し、x回に分けてアグリゲータ(集積装置20)に送信する。
したがって、データ提供装置10は、加算されたノイズにより差分プライバシを保ったまま、アグリゲータにデータを送信し、アグリゲータは、受信した数値データを累計することで、処理の重い秘密計算をすることなく、容易に集計値を計算できる。
また、集計システム1は、データを分割することにより、差分プライバシを満足するノイズの幅を小さくでき、この結果、集計値におけるノイズの幅も抑制できるため、誤差の小さい有用な情報を提供できる。
【0048】
データ提供装置10は、数値データをx等分することで、分割処理を容易にし、また、適切な大きさ(1/x)のノイズを容易に加算することができる。
【0049】
データ提供装置10は、0をピークとした正負対称な第1の確率分布に従った値をノイズとして加算することにより、確率的に元の値からの誤差を小さく、また、x個を総和したときのノイズの総和も確率的に小さくすることができる。この結果、集計システム1は、集計値として有用なデータを提供することができる。
具体的には、データ提供装置10は、ノイズの確率分布をラプラス分布又は正規分布とすることで、安全性及び有用性の点で適切なノイズを加算できる。
【0050】
データ提供装置10は、総計が0となるx個の乱数を生成し、分割した値それぞれにノイズと共に加算する。
これにより、集積装置20に送信されるデータが秘匿されると共に、加算された乱数をキャンセルするためには、x個全てを足す必要があるため、集積装置20に確実に計算を実行させることができる。
【0051】
データ提供装置10は、0をピークとした正負対称な第2の確率分布に従った値を乱数として加算することにより、確率的に元の値からの誤差を小さくできる。
具体的には、データ提供装置10は、乱数の確率分布をラプラス分布又は正規分布とすることで、安全性及び有用性の点で適切な乱数を加算できる。
【0052】
データ提供装置10は、累計処理の度に、計算結果のハッシュ値を集積装置20から受信して保存しておく。
これにより、例えば、別の集積ノードに代えた場合の計算結果のハッシュ値と比較することにより、集積装置20が正しく計算を実行していることを確認することができる。
【0053】
集積装置20において、累計値以外、受信した数値データを保存できない、あるいは一部のみしか保存できないように、ストレージサイズを制限することにより、元データを復元されるリスクをさらに低減でき、安全性が向上する。
【0054】
なお、本実施形態により、例えば、プライバシを確保したデータ解析を容易にできることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0055】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0056】
集計システム1による集計方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0057】
1 集計システム
10 データ提供装置
11 制御部
12 記憶部
20 集積装置
21 制御部
22 記憶部
111 データ送信部
112 結果受信部
211 データ受信部
212 累計処理部
213 結果送信部
214 要求処理部
図1
図2
図3
図4
図5