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

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

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特開2024-42933局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置
<>
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図1
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図2
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図3
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図4
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図5
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図6
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図7
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図8
  • 特開-局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024042933
(43)【公開日】2024-03-29
(54)【発明の名称】局所差分プライバシー処理方法、プログラム、および、局所差分プライバシー処理システム、端末装置
(51)【国際特許分類】
   H04K 1/02 20060101AFI20240322BHJP
   G06F 21/62 20130101ALI20240322BHJP
   G06F 16/2458 20190101ALI20240322BHJP
【FI】
H04K1/02
G06F21/62 345
G06F16/2458
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022147858
(22)【出願日】2022-09-16
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(72)【発明者】
【氏名】三本 知明
(72)【発明者】
【氏名】松中 隆志
(72)【発明者】
【氏名】横山 浩之
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175BA01
5B175CA07
(57)【要約】
【課題】局所差分プライバシーを満たしつつ、多次元データをより低次元のデータに変換することができる差分プライバシー処理システムを実現する。
【解決手段】差分プライバシー処理システム1000では、(1)アグリゲータ2が、端末装置UEにより、ランダムサンプリング処理および第1LDP処理を実行することで取得されたデータを収集し、(2)アグリゲータ2が、収集したデータを考慮し決定したデータ整形アルゴリズムによる処理を端末装置UEにより実行させ、さらに、第2LDP処理を実行させることで取得されたデータを、アグリゲータ2が収集する。これにより、差分プライバシー処理システム1000では、LDP(局所差分プライバシー)を満たすデータ集合を取得することができる。
【選択図】図4

【特許請求の範囲】
【請求項1】
複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムに用いられる局所差分プライバシー処理方法であり、複数次元の入力データに対して次元削減処理を行いつつ、局所差分プライバシー処理を実行する局所差分プライバシー処理方法であって、
前記端末装置が、前記複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行するランダムサンプリング処理ステップと、
前記端末装置が、前記ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する第1LDP処理ステップと、
データ収集装置が、前記端末装置から、前記第1LDP処理を実行することで取得したデータを収集する第1データ収集ステップと、
データ収集装置が、前記第1データ収集ステップで収集したデータの集合データを考慮して、データ整形アルゴリズムを決定するデータ整形アルゴリズム決定処理ステップと、
前記端末装置が、前記データ収集装置により決定された前記データ整形アルゴリズムにより、前記入力データに対して、データ整形処理を実行するデータ整形処理ステップと、
前記端末装置が、前記データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する第2LDP処理ステップと、
データ収集装置が、前記端末装置から、前記第2LDP処理を実行することで取得したデータを収集する第2データ収集ステップと、
を備える局所差分プライバシー処理方法。
【請求項2】
第1グループに属する複数の端末装置と、第2グループに属する複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムに用いられる局所差分プライバシー処理方法であり、複数次元の入力データに対して次元削減処理を行いつつ、局所差分プライバシー処理を実行する局所差分プライバシー処理方法であって、
前記第1グループに属する前記端末装置が、前記複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行するランダムサンプリング処理ステップと、
前記第1グループに属する前記端末装置が、前記ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する第1LDP処理ステップと、
データ収集装置が、前記第1グループに属する前記端末装置から、前記第1LDP処理を実行することで取得したデータを収集する第1データ収集ステップと、
データ収集装置が、前記第1データ収集ステップで収集したデータの集合データを考慮して、データ整形アルゴリズムを決定するデータ整形アルゴリズム決定処理ステップと、
前記第2グループに属する前記端末装置が、前記データ収集装置により決定された前記データ整形アルゴリズムにより、前記入力データに対して、データ整形処理を実行するデータ整形処理ステップと、
前記第2グループに属する前記端末装置が、前記データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する第2LDP処理ステップと、
データ収集装置が、前記第2グループに属する前記端末装置から、前記第2LDP処理を実行することで取得したデータを収集する第2データ収集ステップと、
を備える局所差分プライバシー処理方法。
【請求項3】
前記入力データは、m次元(m:自然数)のデータであり、
前記ランダムサンプリング処理ステップは、
確率k/m(k:自然数、k<m)で、m次元の入力データから、k次元分のデータをランダムに選択し、選択した次元のデータを抽出することで、前記ランダムサンプリング処理を実行する、
請求項1または2に記載の局所差分プライバシー処理方法。
【請求項4】
前記第1LDP処理ステップは、
前記プライバシーバジェットε
ε=ln((m/k)×(exp(ε)-1)+1)
ln():自然対数
を満たす値に設定し、前記第1LDP処理を実行する、
請求項3に記載の局所差分プライバシー処理方法。
【請求項5】
請求項1また2に記載の局所差分プライバシー処理方法をコンピュータに実行させるためのプログラム。
【請求項6】
複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムであって、
前記端末装置は、
複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行するランダムサンプリング処理部と、
前記ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する第1LDP処理部と、
を備え、
データ収集装置は、
前記端末装置から、前記第1LDP処理を実行することで取得したデータを収集し、第1データ収集データ集合を取得するデータアクセス処理部と、
前記第1データ収集データ集合を考慮して、データ整形アルゴリズムを決定するデータ整形アルゴリズム決定処理部と、
を備え、
前記端末装置は、さらに、
前記データ整形アルゴリズム決定処理部により決定された前記データ整形アルゴリズムにより、前記入力データに対して、データ整形処理を実行するデータ整形処理部と、
前記データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する第2LDP処理部と、
を備え、
前記データ収集装置の前記データアクセス処理部は、前記端末装置から、前記第2LDP処理を実行することで取得したデータを収集し、第2データ収集データ集合を取得する、
局所差分プライバシー処理システム。
【請求項7】
第1グループに属する複数の端末装置と、第2グループに属する複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムであって、
前記第1グループに属する前記端末装置は、
複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行するランダムサンプリング処理部と、
前記ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する第1LDP処理部と、
を備え、
データ収集装置は、
前記第1グループに属する前記端末装置から、前記第1LDP処理を実行することで取得したデータを収集し、第1データ収集データ集合を取得するデータアクセス処理部と、
前記第1データ収集データ集合を考慮して、データ整形アルゴリズムを決定するデータ整形アルゴリズム決定処理部と、
を備え、
前記第2グループに属する前記端末装置は、
前記データ収集装置により決定された前記データ整形アルゴリズムにより、前記入力データに対して、データ整形処理を実行するデータ整形処理部と、
前記データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する第2LDP処理部と、
を備え、
データ収集装置の前記データアクセス処理部は、前記第2グループに属する前記端末装置から、前記第2LDP処理を実行することで取得したデータを収集し、第2データ収集データ集合を取得する、
局所差分プライバシー処理システム。
【請求項8】
請求項6または7に記載の局所差分プライバシー処理システムに用いられる前記端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、個人のプライバシーを保護しつつデータ分析を可能にするプライバシー保護技術に関する。
【背景技術】
【0002】
近年、個人データがビッグデータとして収集され、その解析結果を活用することで、多くの課題が解決すると考えられている。そのようなデータの収集・活用にはプライバシー保護が重要である。そのため、個人のプライバシーを保護しつつデータ分析を可能にするプライバシー保護技術が種々開発されている。このようなプライバシー保護技術として、データ提供の際に提供者が自身のデータにノイズを付与してデータを提供する局所差分プライバシー(LDP:Local Differential Privacy)という方法を用いる技術が注目されている(例えば、非特許文献1を参照)。局所差分プライバシーは、データ提供者自らがノイズを加えたデータを提供者に与えることで、データのプライバシーを保護しつつ、データ提供者は収集したノイズ付き全データをヒストグラムなどに活用できるという技術である。
【0003】
また、近年、多次元のデータを収集し、収集したデータに対して、プライバシーを保護しつつ、多様な解析処理を実行できるようにする技術が求められている。収集されるデータが多次元データである場合、特定の目的の解析処理を行うために、当該多次元データの全ての次元のデータに対して、解析処理を行うと効率的でないことが多い。これに対処するために、このような場合、データの次元を削減し、次元削減後のデータを解析処理の対象とすることが多い。したがって、多次元データに対して差分プライバシーを満たしつつ、次元削減を行う手法が求められている。
【0004】
局所差分プライバシー(LDP)は、プライバシーバジェットεによってプライバシー強度が表され、1次元のデータdに対しては、ε-LDPを満たす確率的撹乱ノイズを、データdに加えることでε-LDPを満たす。m次元データd={d,・・・,d}(m:自然数)に対しては、各データd(i:自然数、1≦i≦m)に、ε/m-LDPを満たす確率的撹乱メカニズムを適用する、あるいは、m次元データからL個(L:自然数、L<m)の次元のみをランダムに抽出し、抽出したデータにε/L-LDPを満たす確率的撹乱メカニズムを適用し、残りのm-L個の次元を破棄することで、ε-LDPを満たす処理を実行できることが知られている。
【0005】
例えば、非特許文献1には、上記手法により、m次元データに対して、ε-LDPを満たす処理を実行可能とする技術の開示がある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Wang Ning et al., "Collecting and Analyzing Multidimensional Data with Local Differential Privacy," 2019 IEEE 35th International Conference on Data Engineering (ICDE), 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、局所差分プライバシー(LDP)技術を多次元データに適用する場合、以下の課題がある。
【0008】
局所差分プライバシー(LDP)では、プライバシーバジェットεの値が大きいほどプライバシーの強度が弱く、データに加える確率的ノイズが小さくなる。そのため、局所差分プライバシー(LDP)では、プライバシーバジェットを一定値εと決め、かつ、すべての次元のデータを提供しようとする場合、次元数mに比例して各次元のデータ(m次元データに含まれる各データ)に与えるノイズが大きくなり有用性が低下する。
【0009】
一方、非特許文献1の技術等では、データの次元数をL個に減らす場合、多次元データdから、ランダムにL個の次元のデータを選択する処理が実行される。このようにランダムにL個の次元のデータを選択する処理を採用している理由は、データを直接確認してから恣意的に次元を選ぶと、次元の選び方にデータの情報が含まれてしまい、正確にプライバシーの評価ができなくなるからである。局所差分プライバシー(LDP)は、複数のデータを収集する際に、各データ提供者が利用する技術であるため、各データ提供者が上記のような方法で処理を行ったデータをデータ収集者へ送信すると、データ収集者の元にはランダムに異なるL個の次元が選ばれたデータが集まることになり、非効率的である(データ収集者が、データ収集者の元に集められたデータの次元を適切に把握することができず、収集したデータに対して所定の処理を効率良く行うことができない)。
【0010】
したがって、LDPを満たした上で、多次元データをより低次元のデータに変換できる技術が求められている。
【0011】
本発明では、上記課題に鑑み、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができる局所差分プライバシー処理システム、端末装置、局所差分プライバシー処理方法、およびプログラムを実現することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、第1の発明は、複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムに用いられる局所差分プライバシー処理方法であり、複数次元の入力データに対して次元削減処理を行いつつ、局所差分プライバシー処理を実行する局所差分プライバシー処理方法である。当該方法は、ランダムサンプリング処理ステップと、第1LDP処理ステップと、第1データ収集ステップと、データ整形アルゴリズム決定処理ステップと、第2LDP処理ステップと、第2データ収集ステップと、を備える。
【0013】
ランダムサンプリング処理ステップでは、端末装置が、複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行する。
【0014】
第1LDP処理ステップでは、端末装置が、ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する。
【0015】
第1データ収集ステップでは、データ収集装置が、端末装置から、第1LDP処理を実行することで取得したデータを収集する。
【0016】
データ整形アルゴリズム決定処理ステップでは、データ収集装置が、第1データ収集ステップで収集したデータの集合データを考慮して、データ整形アルゴリズムを決定する。
【0017】
データ整形処理ステップでは、端末装置が、データ収集装置により決定されたデータ整形アルゴリズムにより、入力データに対して、データ整形処理を実行する。
【0018】
第2LDP処理ステップでは、端末装置が、データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する。
【0019】
第2データ収集ステップでは、データ収集装置が、端末装置から、第2LDP処理を実行することで取得したデータを収集する。
【0020】
この局所差分プライバシー処理方法では、(1)データ収集装置が、端末装置により、ランダムサンプリング処理および第1LDP処理を実行することで取得されたデータを収集し、(2)データ収集装置が、収集したデータを考慮し決定したデータ整形アルゴリズムによる処理を端末装置により実行させ、さらに、第2LDP処理を実行させることで取得されたデータを、データ収集装置が収集する。これにより、この局所差分プライバシー処理方法では、LDP(局所差分プライバシー)を満たすデータ集合を取得することができる。
【0021】
つまり、この差分プライバシー処理方法では、上記処理により、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができ、さらに、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換したデータ集合を取得することができる。
【0022】
第2の発明は、第1グループに属する複数の端末装置と、第2グループに属する複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムに用いられる局所差分プライバシー処理方法であり、複数次元の入力データに対して次元削減処理を行いつつ、局所差分プライバシー処理を実行する局所差分プライバシー処理方法である。当該方法は、ランダムサンプリング処理ステップと、第1LDP処理ステップと、第1データ収集ステップと、データ整形アルゴリズム決定処理ステップと、データ整形処理ステップと、第2LDP処理ステップと、第2データ収集ステップと、を備える。
【0023】
ランダムサンプリング処理ステップでは、第1グループに属する端末装置が、複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行する。
【0024】
第1LDP処理ステップでは、第1グループに属する端末装置が、ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する。
【0025】
第1データ収集ステップでは、データ収集装置が、第1グループに属する端末装置から、第1LDP処理を実行することで取得したデータを収集する。
【0026】
データ整形アルゴリズム決定処理ステップでは、データ収集装置が、第1データ収集ステップで収集したデータの集合データを考慮して、データ整形アルゴリズムを決定する。
【0027】
データ整形処理ステップでは、第2グループに属する端末装置が、データ収集装置により決定されたデータ整形アルゴリズムにより、入力データに対して、データ整形処理を実行する。
【0028】
第2LDP処理ステップでは、第2グループに属する端末装置が、データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する。
【0029】
第2データ収集ステップでは、データ収集装置が、第2グループに属する端末装置から、第2LDP処理を実行することで取得したデータを収集する。
【0030】
この差分プライバシー処理方法では、(1)データ収集装置が、第1グループに属する端末装置により、ランダムサンプリング処理および第1LDP処理を実行することで取得されたデータを収集し、(2)データ収集装置が収集したデータに基づいて決定したデータ整形アルゴリズムによる処理を第2グループに属する端末装置により実行させ、さらに、第2LDP処理を実行させることで取得されたデータを、データ収集装置が収集することで、LDP(局所差分プライバシー)を満たすデータ集合Dを取得することができる。
【0031】
つまり、この差分プライバシー処理方法では、上記処理により、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができ、さらに、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換したデータ集合を取得することができる。
【0032】
第3の発明は、第1または第2の発明であって、入力データは、m次元(m:自然数)のデータである。
【0033】
そして、ランダムサンプリング処理ステップは、確率k/m(k:自然数、k<m)で、m次元の入力データから、k次元分のデータをランダムに選択し、選択した次元のデータを抽出することで、ランダムサンプリング処理を実行する。
【0034】
これにより、この局所差分プライバシー処理方法では、確率k/mのランダムサンプリング処理により、次元削減処理を実現できる。
【0035】
第4の発明は、第3の発明であって、第1LDP処理ステップは、プライバシーバジェットε
ε=ln((m/k)×(exp(ε)-1)+1)
ln():自然対数
を満たす値に設定し、第1LDP処理を実行する。
【0036】
これにより、この局所差分プライバシー処理方法では、プライバシーバジェットεを消費するランダムサンプリング処理および第1LDP処理を実現できる。
【0037】
第5の発明は、第1また第2の発明である局所差分プライバシー処理方法をコンピュータに実行させるためのプログラムである。
【0038】
これにより、第1また第2の発明と同様の効果を奏する局所差分プライバシー処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【0039】
第6の発明は、複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムである。
【0040】
端末装置は、ランダムサンプリング処理部と、第1LDP処理部と、を備える。
【0041】
ランダムサンプリング処理部は、複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行する。
【0042】
第1LDP処理部は、ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する。
【0043】
データ収集装置は、データアクセス処理部と、データ整形アルゴリズム決定処理部と、を備える。
【0044】
データアクセス処理部は、端末装置から、第1LDP処理を実行することで取得したデータを収集し、第1データ収集データ集合を取得する。
【0045】
データ整形アルゴリズム決定処理部は、第1データ収集データ集合を考慮して、データ整形アルゴリズムを決定する。
【0046】
端末装置は、さらに、データ整形処理部と、第2LDP処理部と、を備える。
【0047】
データ整形処理部は、データ整形アルゴリズム決定処理部により決定されたデータ整形アルゴリズムにより、入力データに対して、データ整形処理を実行する。
【0048】
第2LDP処理部は、データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する。
【0049】
そして、データ収集装置のデータアクセス処理部は、端末装置から、第2LDP処理を実行することで取得したデータを収集し、第2データ収集データ集合を取得する。
【0050】
これにより、第1の発明と同様の効果を奏する局所差分プライバシー処理システムを実現することができる。
【0051】
第7の発明は、第1グループに属する複数の端末装置と、第2グループに属する複数の端末装置と、データ収集装置とを備える局所差分プライバシー処理システムである。
【0052】
第1グループに属する端末装置は、ランダムサンプリング処理部と、第1LDP処理部と、を備える。
【0053】
ランダムサンプリング処理部は、複数次元の入力データに対して、ランダムに当該入力データの次元を選択し、選択した次元のデータを抽出することで、次元削減したデータを取得する処理であるランダムサンプリング処理を実行する。
【0054】
第1LDP処理部は、ランダムサンプリング処理後のデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第1LDP処理を実行する。
【0055】
データ収集装置は、データアクセス処理部と、データ整形アルゴリズム決定処理部と、を備える。
【0056】
データアクセス処理部は、第1グループに属する端末装置から、第1LDP処理を実行することで取得したデータを収集し、第1データ収集データ集合を取得する。
【0057】
データ整形アルゴリズム決定処理部は、第1データ収集データ集合を考慮して、データ整形アルゴリズムを決定する。
【0058】
第2グループに属する端末装置は、データ整形処理部と、第2LDP処理部と、を備える。
【0059】
データ整形処理部は、データ収集装置により決定されたデータ整形アルゴリズムにより、入力データに対して、データ整形処理を実行する。
【0060】
第2LDP処理部は、データ整形処理を実行されたデータに対して、プライバシーバジェットεでの局所差分プライバシー処理である第2LDP処理を実行する。
【0061】
そして、データ収集装置のデータアクセス処理部は、第2グループに属する端末装置から、第2LDP処理を実行することで取得したデータを収集し、第2データ収集データ集合を取得する。
【0062】
これにより、第2の発明と同様の効果を奏する局所差分プライバシー処理システムを実現することができる。
【0063】
第8の発明は、第6または第7の発明である局所差分プライバシー処理システムに用いられる端末装置である。
【0064】
これにより、第6または第7の発明である局所差分プライバシー処理システムに用いられる端末装置を実現できる。
【発明の効果】
【0065】
本発明によれば、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができる局所差分プライバシー処理システム、端末装置、局所差分プライバシー処理方法、およびプログラムを実現することができる。
【図面の簡単な説明】
【0066】
図1】第1実施形態に係る差分プライバシー処理システム1000の概略構成図。
図2】第1実施形態に係る端末装置UE1の概略構成図。
図3】第1実施形態に係るアグリゲータ2の概略構成図。
図4】第1実施形態に係る差分プライバシー処理システム1000で実行される処理のシーケンス図。
図5】第1実施形態に係る差分プライバシー処理システム1000での処理の実施例(一例)を示す図。
図6】第1実施形態の第1変形例に係る差分プライバシー処理システム1000Aの概略構成図。
図7】第1実施形態の第1変形例に係る差分プライバシー処理システム1000Aで実行される処理のシーケンス図。
図8】第1実施形態の第1変形例の差分プライバシー処理システム1000Aでの処理の実施例(一例)を示す図。
図9】CPUバス構成を示す図。
【発明を実施するための形態】
【0067】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0068】
<1.1:差分プライバシー処理システムの構成>
図1は、第1実施形態に係る差分プライバシー処理システム1000の概略構成図である。
【0069】
図2は、第1実施形態に係る端末装置UEの概略構成図である。
【0070】
図3は、第1実施形態に係るアグリゲータ2の概略構成図である。
【0071】
差分プライバシー処理システム1000は、図1に示すように、n個(n:自然数)の端末装置UE~UEと、アグリゲータ2(データ収集装置)と、アグリゲータ2に接続され、データを記憶保持するデータ格納部DB1と、を備える。n個(n:自然数)の端末装置UE~UEとアグリゲータ2(データ収集装置)とは、例えば、ネットワーク(このネットワークは、有線、無線のいずれのネットワークでもよく、有線、無線のネットワークを複数組み合わせたネットワークであってもよい)を介して、互いにデータ通信を行うことができるように接続されている。
【0072】
端末装置UEは、図2に示すように、入力部11と、ランダムサンプリング処理部12と、第1LDP処理部13と、データ整形処理部14と、第2LDP処理部15と、第1通信インターフェース16とを備える。
【0073】
入力部11は、データ入力を行うための機能部であり、例えば、外部および/または内部の記憶装置(不図示)からデータを、データDinとして、入力する。入力部11は、データDinに対して、入力データ調整処理を行い、後段の機能部が要求する仕様(フォーマット)のデータを取得し、取得したデータを、データD11として、ランダムサンプリング処理部12および/またはデータ整形処理部14に出力する。
【0074】
ランダムサンプリング処理部12は、入力部11から出力されるデータD11を入力し、当該データD11に対してランダムサンプリング処理を実行する。そして、ランダムサンプリング処理は、ランダムサンプリング処理後のデータを、データD12として、第1LDP処理部13に出力する。
【0075】
第1LDP処理部13は、ランダムサンプリング処理部12から出力されるデータD12を入力し、当該データD12に対して第1LDP処理を実行する。そして、第1LDP処理部13は、第1LDP処理後のデータを、データD13として、第1通信インターフェース16に出力する。
【0076】
データ整形処理部14は、入力部11から出力されるデータD11と、第1通信インターフェース16から出力されるデータD14(データ整形処理のアルゴリズムを指定するデータを含むデータ)とを入力する。データ整形処理部14は、データD11に対して、データD14で指示されているデータ整形処理アルゴリズムにより、データ整形処理を行う。そして、データ整形処理部14は、データ整形処理後のデータを、データD15として、第2LDP処理部15に出力する。
【0077】
第2LDP処理部15は、データ整形処理部14から出力されるデータD15を入力し、当該データD15に対して第2LDP処理を実行する。そして、第2LDP処理部15は、第2LDP処理後のデータを、データD16として、第1通信インターフェース16に出力する。
【0078】
第1通信インターフェース16は、アグリゲータ2と通信(外部装置と通信)を行うための通信インターフェースである。なお、第i番目(i:自然数、1≦i≦n)の端末装置UEの第1通信インターフェース16が外部へ送信するデータをデータDo_UE(UE)と表記し、第1通信インターフェース16が外部から受信するデータをデータDi_UE(UE)と表記する。
【0079】
第1通信インターフェース16は、第1LDP処理部13から出力されるデータD13を入力し、当該データD13を含むデータであって外部に送信できるデータに変換したデータを、データDo_UE(UE)として、外部(例えば、アグリゲータ2)に送信する。また、第1通信インターフェース16は、第2LDP処理部15から出力されるデータD16を入力し、当該データD16を含むデータであって外部に送信できるデータに変換したデータを、データDo_UE(UE)として、外部(例えば、アグリゲータ2)に送信する。
【0080】
また、第1通信インターフェース16は、外部(アグリゲータ2)から受信したデータDi_UE(UE)から、データ整形処理のアルゴリズムを指定するデータを抽出し、データ整形処理のアルゴリズムを指定するデータを、データD14として、データ整形処理部14に出力する。
【0081】
なお、端末装置UE~UEは、端末装置UEと同様の構成、機能を有している。
【0082】
アグリゲータ2(データ収集装置)は、例えば、ネットワークを介して、通信可能に、端末装置UE~UEと接続されており、端末装置UE~UEから送信されるデータを収集する装置(例えば、サーバ装置)である。また、アグリゲータ2は、データ格納部DB1と接続されており、所定のデータをデータ格納部DB1に書き込み、および/または、所定のデータをデータ格納部DB1から読み出す。アグリゲータ2は、図3に示すように、第2通信インターフェース21と、データアクセス処理部22と、データ整形アルゴリズム決定処理部23と、制御部24と、バスBus1とを備える。アグリゲータ2の各機能部は、バスBus1に接続されており、アグリゲータ2の各機能部は、互いに、バスBus1を介して、コマンド、データ等を送受信することができる。なお、アグリゲータ2は、各機能部が直接接続される構成を有するものであってもよい。
【0083】
第2通信インターフェース21は、端末装置UEからUEと通信(外部装置と通信)を行うための通信インターフェースである。なお、第2通信インターフェース21が第i番目(i:自然数、1≦i≦n)の端末装置UEから受信するデータをデータDi_Agr(UE)と表記し、第2通信インターフェース21が端末装置UEへ送信するデータをデータDo_Agr(UE)と表記する。
【0084】
第2通信インターフェース21は、制御部24からの指令に従い、端末装置UEから送信されるデータDi_Agr(UE)を受信し、当該データDi_Agr(UE)に対して所定の処理(データDi_Agr(UE)に含まれる所定のデータを抽出し、抽出したデータをデータアクセス処理部22に出力する処理等)を行い、処理後のデータを、必要に応じて、所定の機能部に出力する。また、第2通信インターフェース21は、制御部24からの指令に従い、データ整形アルゴリズム決定処理部23やデータアクセス処理部22から出力されるデータであって、端末装置UEへ送信するデータを入力した場合、当該データを含む通信データ(送信データ)をデータDo_Agr(UE)として、端末装置UEへ送信する。
【0085】
データアクセス処理部22は、制御部24からの指令に従い、第2通信インターフェース21が端末装置UEから受信したデータを入力し(バスBus1を介して第2通信インターフェース21から入力し)、当該データをデータ格納部DB1に書き込む処理を行う。また、データアクセス処理部22は、制御部24からの指令に従い、データ格納部DB1から所定のデータを読み出し、読み出したデータを、バスBus1を介して、第2通信インターフェース21に出力する。
【0086】
データ整形アルゴリズム決定処理部23は、制御部24の指令に基づいて、データ整形アルゴリズムを決定する処理(データ整形アルゴリズム決定処理)を実行し、当該処理の処理結果を含むデータを第2通信インターフェース21に出力する。
【0087】
制御部24は、アグリゲータ2の各機能部に指令(制御信号)を出力することで、アグリゲータ2の各機能部を制御する。また、制御部24は、第2通信インターフェース21が外部(端末装置UE)から受信したデータ(コマンド、データ等)を解析し、当該解析結果に基づいて、アグリゲータ2の各機能部を制御する。制御部24は、第2通信インターフェース21が外部(端末装置UE)から受信したデータであって、データアクセス処理部22に出力され、データ格納部DB1に記憶されたデータの状況を考慮して、所定のタイミングで、データ整形アルゴリズム決定処理部23に、データ整形アルゴリズム決定処理を実行するよう指示する指令(制御信号)を出力する。また、制御部24は、所定のタイミングで、データ整形アルゴリズム決定処理部23、および/または、データアクセス処理部22から第2通信インターフェース21に出力されたデータを、所定の送信先(端末装置UE)に送信するよう指示する指令(制御信号)を、第2通信インターフェース21に出力する。
【0088】
データ格納部DB1は、データアクセス処理部22に接続されており、データアクセス処理部22の指示に従い、データの書き込み処理および/または読み出し処理を行う。データ格納部DB1は、例えば、データベースにより実現される。
【0089】
<1.2:差分プライバシー処理システムの動作>
以上のように構成された差分プライバシー処理システム1000の動作について、以下、説明する。
【0090】
図4は、差分プライバシー処理システム1000で実行される処理のシーケンス図である。
【0091】
まず、前提知識として、局所差分プライバシーについて、説明する。
【0092】
≪局所差分プライバシー≫
局所差分プライバシーについて、説明する。
【0093】
局所差分プライバシーモデルでは、n人のデータ提供者がそれぞれデータD(1<i<n)を持つ。そして、各データDはd個の属性A,・・・,Aを含む。各属性は離散値または連続値であり、離散値の場合では、k個のカテゴリ1,2,・・・,kを持ち、連続値の場合では正規化され[-1,1]の領域を持つ。このとき各データ提供者はデータ収集者にランダムノイズ関数fを通したf(D)を送信する.
<定義>局所差分プライバシー:
関数fが全ての2つの入力データの組み合わせD,D’と全てのfが取りえる出力結果tに対して、以下の式を満たすとき関数fはε-局所差分プライバシーを満たすと言う。
Pr[f(D)=t]≦exp(ε)・Pr[f(D’)=t
Pr []は、[]内の事象が起こる確率を意味する。すなわち、Pr[f(D)=t]は関数fにデータDを入力した際に出力がtとなる確率を示す。データ提供者は、データ収集者に上記を満たす関数fを用いてノイズを加えたデータを送信する。そのため、データ収集者はある値tを受け取った際にそれがf(D)から作られたものかf(D’)から送られたものかを判別することが難しい。
【0094】
差分プライバシー処理システム1000では、端末装置UEが、局所差分プライバシーを用いた処理を行うことで、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換する。
【0095】
以下、差分プライバシー処理システム1000の動作を、図4を参照しながら、説明する。
【0096】
(ステップS1):
ステップS1において、端末装置UEからUEは、それぞれ、ランダムサンプリング処理を実行する。具体的には、以下の処理が実行される。
【0097】
端末装置UE(i:自然数、1≦i≦n)の入力部11は、例えば、外部および/または内部の記憶装置(不図示)からデータを、データDinとして、入力する。データDinには、データ提供者(例えば、端末装置UEのユーザ)が保有するデータd={di1,・・・,dim}∈S(m次元(m:自然数)のデータ)が含まれるものとする。
【0098】
入力部11は、データDinに対して、入力データ調整処理を行い、データd={di1,・・・,dim}を取得する。そして、入力部11は、データdを含むデータを、データD11として、ランダムサンプリング処理部12に出力する。
【0099】
ランダムサンプリング処理部12は、確率β=k/mでランダムサンプリング処理を行う。つまり、ランダムサンプリング処理部12は、m次元データdから、ランダムにk次元分のデータを取得(選択)する(dを構成するm個のデータ(属性)から、ランダムにk個のデータ(属性)を取得する)。すなわち、ランダムサンプリング処理部12は、d={di1,・・・,dim}∈Sに対してランダムサンプリング処理を行い、ランダムサンプリング処理後のデータd ={d i1,・・・,d ik}∈Sを取得する。
【0100】
そして、ランダムサンプリング処理部12は、上記により取得したランダムサンプリング処理後のデータd (k次元分のデータ)を含むデータを、データD12として、第1LDP処理部13に出力する。
【0101】
(ステップS2):
ステップS2において、端末装置UEからUEは、それぞれ、第1LDP処理を実行する。具体的には、以下の処理が実行される。
【0102】
端末装置UEの第1LDP処理部13は、ランダムサンプリング処理部12から出力されるデータD12に対して第1LDP処理を実行する。具体的には、以下の処理が実行される。
【0103】
第1LDP処理部13は、プライバシーバジェットεを下記数式のように設定する。
【数1】
ε:端末装置UEで消費するプライバシーバジェット(端末装置UEがランダムサンプリング処理(確率β=k/m)および第1LDP処理(プライバシーバジェットεでのLDP処理)を実行したときに消費するプライバシーバジェット)
そして、第1LDP処理部13は、上記プライバシーバジェットεでLDPメカニズムを適用し(上記プライバシーバジェットεによるLDP処理を実行し)、LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}を取得する。つまり、第1LDP処理部13は、ランダムサンプリング処理後のデータd (k次元分のデータ)に対して、プライバシーバジェットεによるLDP処理(メカニズムMによる処理)を実行し、LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}を取得する。すなわち、第1LDP処理部13は、
(d)=M(d )=dMs ={dMs i1,・・・,dMs ik
M():プライバシーバジェットεによるLDP処理を施した結果データを取得する関数
():ランダムサンプリング処理およびプライバシーバジェットεによるLDP処理を施した結果データを取得する関数
に相当する処理を行う。
【0104】
そして、第1LDP処理部13は、第1LDP処理後のデータを含むデータを、データD13として、第1通信インターフェース16に出力する。
【0105】
(ステップS3):
ステップS3において、端末装置UEからUEは、それぞれ、第1LDP処理後のデータを、アグリゲータ2に送信し、アグリゲータ2は、当該データを受信する処理を行う。具体的には、以下の処理が実行される。
【0106】
端末装置UE(i:自然数、1≦i≦n)の第1通信インターフェース16は、第1LDP処理部13から出力されるデータD13を入力し、当該データD13を含むデータであって外部に送信できるデータに変換したデータを、データDo_UE(UE)(この第1LDP処理後のデータを含む送信データDo_UE(UE)をD1_LDP(UE)と表記する)として、アグリゲータ2に送信する。
【0107】
アグリゲータ2は、第2通信インターフェース21により、端末装置UEからUEのそれぞれから送信されるデータDo_UE(UE)~Do_UE(UE)(データD1_LDP(UE)~D1_LDP(UE))を、データDi_Agr(UE)~Di_Agr(UE)として、受信する。
【0108】
(ステップS4):
ステップS4において、アグリゲータ2は、データ収集処理を行う。具体的には、以下の処理が実行される。
【0109】
アグリゲータ2の制御部24は、端末装置UE(i:自然数、1≦i≦n)から第1LDP処理後のデータを含む送信データを受信した場合、第2通信インターフェース21に対して、当該データに含まれる第1LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}を取り出し、当該データdMs ={dMs i1,・・・,dMs ik}を、データアクセス処理部22に出力するよう指示する指令(制御信号)を出力する。
【0110】
第2通信インターフェース21は、上記指令(制御信号)に従い、第1LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}を取り出し、当該データdMs ={dMs i1,・・・,dMs ik}を、データアクセス処理部22に出力する。
【0111】
また、アグリゲータ2の制御部24は、データアクセス処理部22に対して、第2通信インターフェース21から出力される第1LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}をデータ格納部DB1に書き込む(記憶する)よう指示する指令(制御信号)を出力する。
【0112】
データアクセス処理部22は、上記指令(制御信号)に従い、第1LDP処理後のデータdMs ={dMs i1,・・・,dMs ik}をデータ格納部DB1に書き込む(記憶する)。
【0113】
アグリゲータ2により上記処理を実行することで、端末装置UE(i:自然数、1≦i≦n)から送信された第1LDP処理後のデータdMs (=M(d))を収集し、データ格納部DB1に記憶させることができる。つまり、アグリゲータ2により上記処理を実行することで、端末装置UEにより取得された第1LDP処理後のデータdMs (=M(d))を収集したデータ集合D(下記数式に対応するデータ集合)を取得することができる。
【数2】
なお、「∪x」は、データx(あるいは集合x)の和集合を表す。
【0114】
(ステップS5):
ステップS5において、アグリゲータ2は、データ整形アルゴリズム決定処理を行う。具体的には、以下の処理が実行される。
【0115】
アグリゲータ2の制御部24は、ステップS4で収集したデータを考慮し、データ整形アルゴリズム決定処理部23に対して、データ整形アルゴリズム決定処理を実行するよう指示する指令(制御信号)を出力する。
【0116】
データ整形アルゴリズム決定処理部23は、制御部24の上記指令に従い、ステップS4で収集したデータを考慮し、データ整形アルゴリズムを決定する処理(データ整形アルゴリズム決定処理)を実行し、当該処理の処理結果を含むデータを第2通信インターフェース21に出力する。なお、ここでは、説明便宜のため、所定の次元データを抽出する処理をデータ整形アルゴリズムに決定したものとして、以下、説明する。なお、アグリゲータ2で決定(採用)されるデータ整形アルゴリズムは、端末装置UEから収集したデータであるデータ集合Dを参照し、当該データ集合Dの各データの属性や特性(特徴)に基づいて、データ集合Dのデータに対してデータ整形処理を行うことを可能とするアルゴリズムであれば、いずれのアルゴリズムでもよい。
【0117】
(ステップS6):
ステップS6において、アグリゲータ2は、端末装置UEからUEのそれぞれへ、決定したデータ整形アルゴリズムを特定するデータを含む送信データを送信し、端末装置UEからUEのそれぞれは、当該データを受信する処理を行う。具体的には、以下の処理が実行される。
【0118】
アグリゲータ2の制御部24は、データ整形アルゴリズム決定処理部23に対して、決定したデータ整形アルゴリズムを特定するデータを、第2通信インターフェース21に出力するよう指示する指令(制御信号)を出力する。
【0119】
データ整形アルゴリズム決定処理部23は、上記制御指令に従い、決定したデータ整形アルゴリズムを特定するデータを、第2通信インターフェース21に出力する。
【0120】
アグリゲータ2の制御部24は、第2通信インターフェース21に対して、データ整形アルゴリズム決定処理部23から入力した決定したデータ整形アルゴリズムを特定するデータを含めた送信データを、端末装置UEからUEのそれぞれへ送信するよう指示する指令(制御信号)を出力する。
【0121】
第2通信インターフェース21は、上記制御指令に従い、端末装置UEからUEのそれぞれへ、決定したデータ整形アルゴリズムを特定するデータを含めた送信データ(この送信データをD_deci_R(UE)(送信先:UE)と表記する)を送信する。
【0122】
端末装置UEからUEは、それぞれ、アグリゲータ2から送信されるD_deci_R(UE)~D_deci_R(UE)を受信する。
【0123】
(ステップS7):
ステップS7において、端末装置UEからUEのそれぞれは、データ整形処理を実行する。具体的には、以下の処理が実行される。
【0124】
端末装置UEの第1通信インターフェース16は、受信したデータD_deci_R(UE)(=Di_UE(UE))から、決定したデータ整形アルゴリズムを特定するデータを抽出し、抽出したデータを含むデータを、データD14として、データ整形処理部14に出力する。
【0125】
データ整形処理部14は、入力部11から出力されるデータD11と、第1通信インターフェース16から出力されるデータD14(データ整形処理のアルゴリズムを指定するデータを含むデータ)とを入力し、データD11(データd)に対して、データD14で指示されているデータ整形処理アルゴリズムにより、データ整形処理を行う。つまり、データ整形処理部14は、
=A(d
={d i1,・・・,d ip
:入力データ(d={di1,・・・,dim}∈S
:出力データ(データ整形処理後のデータ)
A():アグリゲータ2により決定されたデータ整形アルゴリズムによるデータ整形処理の処理結果を取得する関数
p:次元削減後の次元数(p:自然数、p<m)
に相当する処理を実行することで、データ整形処理を行う。なお、本実施形態では、アグリゲータ2により決定されたデータ整形アルゴリズムによるデータ整形処理は、所定の次元のデータを取得(選択して抽出)する処理である。
【0126】
そして、データ整形処理部14は、データ整形処理後のデータd を、データD15として、第2LDP処理部15に出力する。
【0127】
(ステップS8):
ステップS8において、端末装置UEからUEのそれぞれは、第2LDP処理を実行する。具体的には、以下の処理が実行される。
【0128】
第2LDP処理部15は、データ整形処理部14から出力されるデータD15(=d )に対して、プライバシーバジェットεをεとしたLDP処理である第2LDP処理を実行する。つまり、第2LDP処理部15は、
MA =M(d
MA ={dMA i1,・・・,dMA ip
:入力データ(データ整形処理後のデータ)
MA :出力データ(第2LDP処理後のデータ)
M():LDP処理(プライバシーバジェットε=εでのLDP処理)の処理結果を取得する関数
に相当する処理を行うことで、第2LDP処理後のデータdMA (=M(d )=M(A(d)))を取得する。
【0129】
そして、第2LDP処理部15は、第2LDP処理後のデータdMA (=M(A(d)))を、データD16として、第1通信インターフェース16に出力する。
【0130】
(ステップS9):
ステップS9において、端末装置UEからUEは、それぞれ、第2LDP処理後のデータ(データdMA (=M(A(d))))を、アグリゲータ2に送信し、アグリゲータ2は、当該データを受信する処理を行う。具体的には、以下の処理が実行される。
【0131】
端末装置UE(i:自然数、1≦i≦n)の第1通信インターフェース16は、第2LDP処理部15から出力されるデータD16を入力し、当該データD16を含むデータであって外部に送信できるデータに変換したデータを、データDo_UE(UE)(この第2LDP処理後のデータを含む送信データDo_UE(UE)をD2_LDP(UE)と表記する)として、アグリゲータ2に送信する。
【0132】
アグリゲータ2は、第2通信インターフェース21により、端末装置UEからUEのそれぞれから送信されるデータDo_UE(UE)~Do_UE(UE)(データD2_LDP(UE)~D2_LDP(UE))を、データDi_Agr(UE)~Di_Agr(UE)として、受信する。
【0133】
(ステップS10):
ステップS10において、アグリゲータ2は、データ収集処理を行う。具体的には、以下の処理が実行される。
【0134】
アグリゲータ2の制御部24は、端末装置UE(i:自然数、1≦i≦n)から第2LDP処理後のデータを含む送信データを受信した場合、第2通信インターフェース21に対して、当該データに含まれる第2LDP処理後のデータdMA (=M(A(d)))を取り出し、当該データdMA (=M(A(d)))を、データアクセス処理部22に出力するよう指示する指令(制御信号)を出力する。
【0135】
第2通信インターフェース21は、上記指令(制御信号)に従い、第2LDP処理後のデータdMA (=M(A(d)))を取り出し、当該データdMA (=M(A(d)))を、データアクセス処理部22に出力する。
【0136】
また、アグリゲータ2の制御部24は、データアクセス処理部22に対して、第2通信インターフェース21から出力される第2LDP処理後のデータdMA (=M(A(d)))をデータ格納部DB1に書き込む(記憶する)よう指示する指令(制御信号)を出力する。
【0137】
データアクセス処理部22は、上記指令(制御信号)に従い、第2LDP処理後のデータdMA (=M(A(d)))をデータ格納部DB1に書き込む(記憶する)。
【0138】
アグリゲータ2により上記処理を実行することで、端末装置UE(i:自然数、1≦i≦n)から送信された第2LDP処理後のデータdMA (=M(A(d)))を収集し、データ格納部DB1に記憶させることができる。つまり、アグリゲータ2により上記処理を実行することで、端末装置UEにより取得された第2LDP処理後のデータdMA (=M(A(d)))を収集したデータ集合D(下記数式に対応するデータ集合)を取得することができる。
【数3】
なお、「∪x」は、データx(あるいは集合x)の和集合を表す。
【0139】
差分プライバシー処理システム1000において、上記のように処理することで収集したデータD(取得したデータ集合D)は、(ε+ε)-LDP(プライバシーバジェットεが(ε+ε)であるLDP(局所差分プライバシー))を満たす。
【0140】
≪まとめ≫
以上のように、差分プライバシー処理システム1000では、(1)アグリゲータ2が、端末装置UEにより、ランダムサンプリング処理および第1LDP処理を実行することで取得されたデータM(d)を収集し、(2)アグリゲータ2が、収集したデータを考慮し決定したデータ整形アルゴリズムによる処理を端末装置UEにより実行させ、さらに、第2LDP処理を実行させることで取得されたデータdMA (=M(A(d)))を、アグリゲータ2が収集することで、(ε+ε)-LDP(プライバシーバジェットεが(ε+ε)であるLDP(局所差分プライバシー))を満たすデータ集合Dを取得することができる。
【0141】
つまり、差分プライバシー処理システム1000では、上記処理により、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができ、さらに、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換したデータ集合を取得することができる。
【0142】
≪実施例1≫
ここで、差分プライバシー処理システム1000での処理の実施例(一例)について、説明する。
【0143】
図5は、差分プライバシー処理システム1000での処理の実施例(一例)を示す図である。
【0144】
差分プライバシー処理システム1000での処理の実施例(一例)について、図5の場合について、説明する。
【0145】
図5の場合、データ提供者(例えば、端末装置UEのユーザ)が保有するデータdは、
={di1,・・・,di4}(m=4(4次元データ))
である。di1~di4は、下記の通りである。
i1:年齢を示すデータ
i2:性別を示すデータ
i3:住所(都道府県)を示すデータ
i4:貯金を示すデータ
差分プライバシー処理システム1000において、端末装置UEにより、ランダムサンプリング処理(図5の場合、確率β=k/mのランダムサンプリング処理、m=4、k=2)、および、第1LDP処理が実行され、データD(d)が取得される。
【0146】
図5の場合、端末装置UEでは、ランダムサンプリング処理により、データdi1(年齢を示すデータ)およびデータdi3(住所(都道府県)を示すデータ)が選択され(第1次元のデータと第3次元のデータが選択され)、さらに、選択されたデータに対して、第1LDP処理が実行されている。これにより、選択された次元のデータが撹乱されたデータ(プライバシーバジェットε=ln((m/k)×(exp(ε)-1)+1)によるLDP処理が施されたデータ)が取得されている。
【0147】
また、端末装置UEでは、ランダムサンプリング処理により、データdi2(性別を示すデータ)およびデータdi4(貯金を示すデータ)が選択され(第2次元のデータと第4次元のデータが選択され)、さらに、選択されたデータに対して、第1LDP処理が実行されている。これにより、選択された次元のデータが撹乱されたデータ(プライバシーバジェットε=ln((m/k)×(exp(ε)-1)+1)によるLDP処理が施されたデータ)が取得されている。
【0148】
端末装置UE~UEについても同様の処理が実行される。
【0149】
そして、端末装置UE~UEは、それぞれ、ランダムサンプリング処理および第1LDP処理を行った後のデータM(d)を、データD1_LDP(UE)~D1_LDP(UE)として、アグリゲータ2に送信する。アグリゲータ2は、端末装置UE~UEから受信したデータを収集して、データ集合Dを取得する。そして、アグリゲータ2は、データ整形アルゴリズムを決定し、決定したデータ整形アルゴリズムを、端末装置UE~UEに通知する。
【0150】
端末装置UE~UEは、それぞれ、アグリゲータ2から通知されたデータ整形アルゴリズム(A())によるデータ整形処理を実行する。図5の場合、データ整形アルゴリズム(A())は、第1次元のデータ(年齢のデータ)と、第4次元のデータ(貯金のデータ)とを選択(抽出)する処理(次元を削減する処理)を実現するアルゴリズムである。
【0151】
さらに、端末装置UE~UEは、それぞれ、データ整形処理後のデータに対して、第2LDP処理(プライバシーバジェットε=εのLDP処理)を実行する。
【0152】
図5の場合、端末装置UE、UEは、それぞれ、データ整形アルゴリズム(A())による処理を行い、第1次元のデータ(年齢のデータ)と、第4次元のデータ(貯金のデータ)とを選択(抽出)し、さらに、第2LDP処理を実行することで、撹乱されたデータ(プライバシーバジェットε=εによるLDP処理が施されたデータ)(ノイズ付与データ(摂動データ))が取得されている。
【0153】
端末装置UE~UEについても同様の処理が実行される。
【0154】
そして、端末装置UE~UEは、それぞれ、データ整形処理および第2LDP処理を行った後のデータM(A(d))を、データD2_LDP(UE)~D2_LDP(UE)として、アグリゲータ2に送信する。アグリゲータ2は、端末装置UE~UEから受信したデータを収集して、次元削減後のデータ集合Dを取得する。
【0155】
そして、例えば、アグリゲータ2あるいは外部装置(外部ユーザ)が、データ集合Dを用いて、所定の統計解析処理等を行う場合であっても、プライバシーを保護しつつ、次元削減したデータを用いて効率良く処理を行うことができる。
【0156】
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。なお、上記実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0157】
図6は、第1実施形態の第1変形例に係る差分プライバシー処理システム1000Aの概略構成図である。
【0158】
図7は、差分プライバシー処理システム1000Aで実行される処理のシーケンス図である。
【0159】
第1実施形態の差分プライバシー処理システム1000では、ランダムサンプリング処理および第1LDP処理を行う端末装置UE1と、データ整形処理および第2LDP処理を行う端末装置UE1とが同一であったが、第1実施形態の第1変形例の差分プライバシー処理システム1000Aでは、ランダムサンプリング処理および第1LDP処理を行う端末装置UE1と、データ整形処理および第2LDP処理を行う端末装置UE1とが同一ではない。これにより、第1実施形態では、(ε)-LDP処理が実現できるが、第2実施形態の第1変形例では、max(ε,ε)-LDP処理(max():要素の最大値をとる関数)が実現できる。
【0160】
以下、本変形例の差分プライバシー処理システム1000Aについて説明する。
【0161】
図6に示すように、差分プライバシー処理システム1000Aは、n1個(n1:自然数)の端末装置UE~UEn1(これらの端末装置を第1グループGrp1の端末装置という)と、n2個(n2:自然数)の端末装置UEn1+1~UEn1+n2(これらの端末装置を第1グループGrp2の端末装置という)と、を備える。なお、端末装置UE~UEn1、UEn1+1~UEn1+n2の構成は、第1実施形態の端末装置UEと同様である。
【0162】
本変形例の差分プライバシー処理システム1000Aの動作について、以下、説明する。
【0163】
(ステップS101~S103):
ステップS101~S103では、第1実施形態のステップS1~S3と同様の処理が実行される。なお、第1実施形態では、端末装置が端末装置UE~UEであったが、本変形例では、端末装置は、端末装置UE~UEn1である。
【0164】
(ステップS104~S105):
ステップS104~S105では、第1実施形態のステップS4~S5と同様の処理が実行される。
【0165】
(ステップS106):
ステップS106において、アグリゲータ2は、端末装置UEn1+1からUEn1+n2のそれぞれへ、決定したデータ整形アルゴリズムを特定するデータを含む送信データを送信し、端末装置UEn1+1からUEn1+n2のそれぞれは、当該データを受信する処理を行う。具体的には、以下の処理が実行される。
【0166】
アグリゲータ2の制御部24は、データ整形アルゴリズム決定処理部23に対して、決定したデータ整形アルゴリズムを特定するデータを、第2通信インターフェース21に出力するよう指示する指令(制御信号)を出力する。
【0167】
データ整形アルゴリズム決定処理部23は、上記制御指令に従い、決定したデータ整形アルゴリズムを特定するデータを、第2通信インターフェース21に出力する。
【0168】
アグリゲータ2の制御部24は、第2通信インターフェース21に対して、データ整形アルゴリズム決定処理部23から入力した決定したデータ整形アルゴリズムを特定するデータを含めた送信データを、端末装置UEn1+1からUEn1+n2のそれぞれへ送信するよう指示する指令(制御信号)を出力する。
【0169】
第2通信インターフェース21は、上記制御指令に従い、端末装置UEn1+1からUEn1+n2のそれぞれへ、決定したデータ整形アルゴリズムを特定するデータを含めた送信データ(この送信データをD_deci_R(UE)(送信先:UE)と表記する)を送信する。
【0170】
端末装置UEn1+1からUEn1+n2は、それぞれ、アグリゲータ2から送信されるD_deci_R(UEn1+1)~D_deci_R(UEn1+n2)を受信する。
【0171】
(ステップS107):
ステップS107において、端末装置UEn1+1からUEn1+n2のそれぞれは、データ整形処理を実行する。具体的には、以下の処理が実行される。
【0172】
端末装置UE(i:自然数、n1+1≦i≦n1+n2)の第1通信インターフェース16は、受信したデータD_deci_R(UE)(=Di_UE(UE))から、決定したデータ整形アルゴリズムを特定するデータを抽出し、抽出したデータを含むデータを、データD14として、データ整形処理部14に出力する。
【0173】
データ整形処理部14は、入力部11から出力されるデータD11と、第1通信インターフェース16から出力されるデータD14(データ整形処理のアルゴリズムを指定するデータを含むデータ)とを入力し、データD11(データd(i:自然数、n1+1≦i≦n1+n2))に対して、データD14で指示されているデータ整形処理アルゴリズムにより、データ整形処理を行う。つまり、データ整形処理部14は、
=A(d
={d i1,・・・,d ip
:入力データ(d={di1,・・・,dim}∈S
:出力データ(データ整形処理後のデータ)
A():アグリゲータ2により決定されたデータ整形アルゴリズムによるデータ整形処理の処理結果を取得する関数
p:次元削減後の次元数(p:自然数、p<m)
に相当する処理を実行することで、データ整形処理を行う。なお、本変形例では、第1実施形態と同様に、アグリゲータ2により決定されたデータ整形アルゴリズムによるデータ整形処理は、所定の次元のデータを取得(選択して抽出)する処理である。
【0174】
そして、データ整形処理部14は、データ整形処理後のデータd を、データD15として、第2LDP処理部15に出力する。
【0175】
(ステップS108):
ステップS108において、端末装置UEn1+1からUEn1+n2のそれぞれは、第2LDP処理を実行する。具体的には、以下の処理が実行される。
【0176】
第2LDP処理部15は、データ整形処理部14から出力されるデータD15(=d )に対して、プライバシーバジェットεをεとしたLDP処理である第2LDP処理を実行する。つまり、第2LDP処理部15は、
MA =M(d
MA ={dMA i1,・・・,dMA ip
:入力データ(データ整形処理後のデータ)
MA :出力データ(第2LDP処理後のデータ)
M():LDP処理(プライバシーバジェットε=εでのLDP処理)の処理結果を取得する関数
に相当する処理を行うことで、第2LDP処理後のデータdMA (=M(d )=M(A(d)))を取得する。
【0177】
そして、第2LDP処理部15は、第2LDP処理後のデータdMA (=M(A(d)))を、データD16として、第1通信インターフェース16に出力する。
【0178】
(ステップS109):
ステップS109において、端末装置UEn1+1からUEn1+n2は、それぞれ、第2LDP処理後のデータ(データdMA (=M(A(d))))を、アグリゲータ2に送信し、アグリゲータ2は、当該データを受信する処理を行う。具体的には、以下の処理が実行される。
【0179】
端末装置UE(i:自然数、n1+1≦i≦n1+n2)の第1通信インターフェース16は、第2LDP処理部15から出力されるデータD16を入力し、当該データD16を含むデータであって外部に送信できるデータに変換したデータを、データDo_UE(UE)(この第2LDP処理後のデータを含む送信データDo_UE(UE)をD2_LDP(UE)と表記する)として、アグリゲータ2に送信する。
【0180】
アグリゲータ2は、第2通信インターフェース21により、端末装置UEn1+1からUEn1+n2のそれぞれから送信されるデータDo_UE(UEn1+1)~Do_UE(UEn1+n2)(データD2_LDP(UEn1+1)~D2_LDP(UEn1+n2))を、データDi_Agr(UEn1+1)~Di_Agr(UEn1+n2)として、受信する。
【0181】
(ステップS110):
ステップS110において、アグリゲータ2は、データ収集処理を行う。具体的には、以下の処理が実行される。
【0182】
アグリゲータ2の制御部24は、端末装置UE(i:自然数、n1+1≦i≦n1+n2)から第2LDP処理後のデータを含む送信データを受信した場合、第2通信インターフェース21に対して、当該データに含まれる第2LDP処理後のデータdMA (=M(A(d)))を取り出し、当該データdMA (=M(A(d)))を、データアクセス処理部22に出力するよう指示する指令(制御信号)を出力する。
【0183】
第2通信インターフェース21は、上記指令(制御信号)に従い、第2LDP処理後のデータdMA (=M(A(d)))を取り出し、当該データdMA (=M(A(d)))を、データアクセス処理部22に出力する。
【0184】
また、アグリゲータ2の制御部24は、データアクセス処理部22に対して、第2通信インターフェース21から出力される第2LDP処理後のデータdMA (=M(A(d)))をデータ格納部DB1に書き込む(記憶する)よう指示する指令(制御信号)を出力する。
【0185】
データアクセス処理部22は、上記指令(制御信号)に従い、第2LDP処理後のデータdMA (=M(A(d)))をデータ格納部DB1に書き込む(記憶する)。
【0186】
アグリゲータ2により上記処理を実行することで、端末装置UE(i:自然数、n1+1≦i≦n1+n2)から送信された第2LDP処理後のデータdMA (=M(A(d)))を収集し、データ格納部DB1に記憶させることができる。つまり、アグリゲータ2により上記処理を実行することで、端末装置UEにより取得された第2LDP処理後のデータdMA (=M(A(d)))を収集したデータ集合D(下記数式に対応するデータ集合)を取得することができる。
【数4】
なお、「∪x」は、データx(あるいは集合x)の和集合を表す。
【0187】
差分プライバシー処理システム1000において、上記のように処理することで収集したデータD(取得したデータ集合D)は、max(ε,ε)-LDP(プライバシーバジェットεがmax(ε,ε)(ε、εのうち大きい方の値)であるLDP(局所差分プライバシー))を満たす。
【0188】
以上のように、差分プライバシー処理システム1000Aでは、(1)アグリゲータ2が、端末装置UE(i:自然数、1≦i≦n1)により、ランダムサンプリング処理および第1LDP処理を実行することで取得されたデータM(d)を収集し、(2)アグリゲータ2が収集したデータに基づいて決定したデータ整形アルゴリズムによる処理を端末装置UE(i:自然数、n1+1≦i≦n1+n2)により実行させ、さらに、第2LDP処理を実行させることで取得されたデータdMA (=M(A(d)))を、アグリゲータ2が収集することで、max(ε,ε)-LDP(プライバシーバジェットεがmax(ε,ε)であるLDP(局所差分プライバシー))を満たすデータ集合Dを取得することができる。
【0189】
つまり、差分プライバシー処理システム1000Aでは、上記処理により、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換することができ、さらに、局所差分プライバシー(LDP)を満たしつつ、多次元データをより低次元のデータに変換したデータ集合を取得することができる。
【0190】
≪実施例2≫
ここで、第1実施形態の第1変形例の差分プライバシー処理システム1000Aでの処理の実施例(一例)について、説明する。
【0191】
図8は、第1実施形態の第1変形例の差分プライバシー処理システム1000Aでの処理の実施例(一例)を示す図である。
【0192】
差分プライバシー処理システム1000Aでの処理の実施例(一例)について、図8の場合について、説明する。
【0193】
図8の場合、データ提供者(例えば、端末装置UE(i:自然数、1≦i≦n1+n2)のユーザ)が保有するデータdは、
={di1,・・・,di4}(m=4(4次元データ))
である。di1~di4は、下記の通りである。
i1:年齢を示すデータ
i2:性別を示すデータ
i3:住所(都道府県)を示すデータ
i4:貯金を示すデータ
差分プライバシー処理システム1000Aにおいて、端末装置UE(i:自然数、1≦i≦n1)により、ランダムサンプリング処理(図8の場合、確率β=k/mのランダムサンプリング処理、m=4、k=2)、および、第1LDP処理が実行され、データD(d)が取得される。
【0194】
図8の場合、端末装置UEでは、ランダムサンプリング処理により、データdi1(年齢を示すデータ)およびデータdi3(住所(都道府県)を示すデータ)が選択され(第1次元のデータと第3次元のデータが選択され)、さらに、選択されたデータに対して、第1LDP処理が実行されている。これにより、選択された次元のデータが撹乱されたデータ(プライバシーバジェットε=ln((m/k)×(exp(ε)-1)+1)によるLDP処理が施されたデータ)が取得されている。
【0195】
また、端末装置UEでは、ランダムサンプリング処理により、データdi2(性別を示すデータ)およびデータdi4(貯金を示すデータ)が選択され(第2次元のデータと第4次元のデータが選択され)、さらに、選択されたデータに対して、第1LDP処理が実行されている。これにより、選択された次元のデータが撹乱されたデータ(プライバシーバジェットε=ln((m/k)×(exp(ε)-1)+1)によるLDP処理が施されたデータ)が取得されている。
【0196】
端末装置UE~UEn1についても同様の処理が実行される。
【0197】
そして、端末装置UE~UEn1は、それぞれ、ランダムサンプリング処理および第1LDP処理を行った後のデータM(d)を、データD1_LDP(UE)~D1_LDP(UE)として、アグリゲータ2に送信する。アグリゲータ2は、端末装置UE~UEn1から受信したデータを収集して、データ集合Dを取得する。そして、アグリゲータ2は、取得したデータ集合Dを考慮してデータ整形アルゴリズムを決定し、決定したデータ整形アルゴリズムを、端末装置UEn1+1~UEn1+n2に通知する。
【0198】
端末装置UEn1+1~UEn1+n2は、それぞれ、アグリゲータ2から通知されたデータ整形アルゴリズム(A())によるデータ整形処理を実行する。図8の場合、データ整形アルゴリズム(A())は、第1次元のデータ(年齢のデータ)と、第4次元のデータ(貯金のデータ)とを選択(抽出)する処理(次元を削減する処理)を実現するアルゴリズムである。
【0199】
さらに、端末装置UEn1+1~UEn1+n2は、それぞれ、データ整形処理後のデータに対して、第2LDP処理(プライバシーバジェットε=εのLDP処理)を実行する。
【0200】
図8の場合、端末装置UEn1+1、UEn1+2は、それぞれ、データ整形アルゴリズム(A())による処理を行い、第1次元のデータ(年齢のデータ)と、第4次元のデータ(貯金のデータ)とを選択(抽出)し、さらに、第2LDP処理を実行することで、撹乱されたデータ(プライバシーバジェットε=εによるLDP処理が施されたデータ)(ノイズ付与データ(摂動データ))が取得されている。
【0201】
端末装置UEn1+3~UEn1+n2についても同様の処理が実行される。
【0202】
そして、端末装置UEn1+1~UEn1+n2は、それぞれ、データ整形処理および第2LDP処理を行った後のデータM(A(d))を、データD2_LDP(UEn1+1)~D2_LDP(UEn1+n2)として、アグリゲータ2に送信する。アグリゲータ2は、端末装置UEn1+1~UEn1+n2から受信したデータを収集して、次元削減後のデータ集合Dを取得する。
【0203】
そして、例えば、アグリゲータ2あるいは外部装置(外部ユーザ)が、データ集合Dを用いて、所定の統計解析処理等を行う場合であっても、プライバシーを保護しつつ、次元削減したデータを用いて効率良く処理を行うことができる。
【0204】
[他の実施形態]
上記実施形態(変形例を含む)の差分プライバシー処理システム1000、1000Aにおいて、端末装置UEのランダムサンプリング処理部12では、ランダムサンプリング処理が実行される場合について説明したが、これに限定されることはない。例えば、端末装置UEのランダムサンプリング処理部12において、ランダムサンプリング処理の代わりに、データ書き換え処理を伴うサンプリング処理を行うようにし、第1LDP処理部13において、適切なプライバシーバジェットεを選択し、当該プライバシーバジェットεによるLDP処理を行い、データ書き換えを伴うサンプリング処理および第1LDP処理で、プライバシーバジェットεが消費されるようにすればよい。
【0205】
また、第1実施形態の第1変形例において、端末装置UEは、第1実施形態の端末装置UEと同様の構成を有している場合について説明したが、これに限定されることはない。例えば、第1実施形態の第1変形例の第1グループGrp1に属する端末装置UEは、データ整形処理部14および第2LDP処理部15を有しない構成(削除した構成)としてもよい。また、第1実施形態の第1変形例の第2グループGrp2に属する端末装置UEは、ランダムサンプリング処理部12および第1LDP処理部13を有しない構成(削除した構成)としてもよい。
【0206】
また、上記実施形態で説明した差分プライバシー処理システム1000、1000A、端末装置UE、アグリゲータ2において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0207】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0208】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0209】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0210】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0211】
例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、図9に示したハードウェア構成(例えば、CPU(GPUであってもよい)、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【0212】
また、上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図9に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0213】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。また、上記実施形態における処理方法において、発明の要旨を逸脱しない範囲で、一部のステップが、他のステップと並列に実行されるものであってもよい。
【0214】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0215】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0216】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0217】
1000、1000A 局所差分プライバシー処理システム
UE~UE、UE~UEn1+n2 端末装置
12 ランダムサンプリング処理部
13 第1LDP処理部
14 データ整形処理部
15 第2LDP処理部
2 アグリゲータ(データ収集装置)
22 データアクセス処理部
23 データ整形アルゴリズム決定部
図1
図2
図3
図4
図5
図6
図7
図8
図9