説明

データベース撹乱装置、システム、方法及びプログラム

【課題】属性値が数値である場合にも適用することができる、Pk−匿名性を満たすデータベース撹乱技術を提供する。
【解決手段】データベースは複数のレコードを含み、各レコードはレコード識別子及び少なくとも1つの属性値を含み、||・||を・のL1距離とし、σを所定の値とする。データベース撹乱装置は、データベースに含まれる一部又は全部の属性値のそれぞれについて、下記の式により定義される分散2σのラプラス分布に従う値を加算する撹乱部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プライバシーを保護しながらデータマイニングを行う技術に関する。
【背景技術】
【0002】
いわゆるPk−匿名性を満たすデータベース撹乱技術が、特許文献1で提案されている(例えば、特許文献1参照。)。
【0003】
Pk−匿名性は、データベースの各レコードと、その各レコードに対応する個人とを1/k以上の確率で結びつけることができないという性質である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−100116号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術は属性値がいわゆるカテゴリ属性値であることを想定しており、属性値がいわゆる数値属性値である場合には非特許文献1の技術を適用することができない。
【0006】
この発明の課題は、属性値が数値属性値である場合にも適用することができる、Pk−匿名性を満たすデータベース撹乱装置、システム、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
この発明の一態様によるデータベース撹乱装置は、データベースは複数のレコードを含み、各レコードはレコード識別子及び少なくとも1つの属性値を含み、||・||を・のL1距離とし、σを所定の値として、データベースに含まれる一部又は全部の属性値のそれぞれについて、下記の式により定義される分散2σのラプラス分布に従う値を加算する撹乱部を備える。
【0008】
【数1】

【発明の効果】
【0009】
属性値が数値属性値である場合にも適用することができる。
【図面の簡単な説明】
【0010】
【図1】第一実施形態のデータベース撹乱システムを説明するためのブロック図。
【図2】第一実施形態のデータベース撹乱システムを説明するための流れ図。
【図3】第二実施形態のデータベース撹乱システムを説明するための流れ図。
【図4】データベース撹乱システムの変形例を説明するためのブロック図。
【図5】データベース撹乱システムの変形例を説明するためのブロック図。
【図6】データベース撹乱システムの変形例を説明するためのブロック図。
【図7】第一実施形態で撹乱の対象となるデータベースの例を説明するための図。
【図8】第二実施形態で撹乱の対象となるデータベースの例を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照して、この発明の実施形態を説明する。
【0012】
[第一実施形態]
第一実施形態のデータベース撹乱システムは、図1に例示するように、撹乱装置1及び集計装置2を備えている。
【0013】
撹乱装置1は、データベース記憶部11と、撹乱部12と、パラメータ決定部13とを例えば備えている。この例では、撹乱部12は、並替部14を備える。
【0014】
集計装置2は、集計部21を例えば備えている。
【0015】
データベース記憶部11には、撹乱の対象となるデータベースが記憶されている。データベース記憶部11に記憶されたデータベースについての情報は、撹乱部12に送信される。
【0016】
データベースは、図7に例示するように、複数のレコードから構成されている。
【0017】
各レコードは、レコード識別子と少なくとも1つの属性値とから構成されている。レコード識別子は、個人を識別する識別子であり、いわゆるレコードIDである。レコード識別子は、例えば氏名や氏名に対応するID番号である。
【0018】
各属性値は、第一実施形態では、n次元実数ベクトルの部分集合Vに含まれるベクトルであり、いわゆる数値属性値である。nは、1以上の整数である。n=1であり属性が例えば「中間テストの点数」や「期末テストの点数」である場合には、属性値は0から100までの何れかの整数である。
【0019】
撹乱部12は、データベース記憶部11から読み込んだデータベースに含まれる一部又は全部の属性値のそれぞれについて、下記の式により定義される、平均μであり分散2σのラプラス分布に従う値を加算することによりデータベースの撹乱を行う(ステップS1)。撹乱されたデータベースは、並替部14に送信される。撹乱の対象となる属性値が複数ある場合には、それらの複数の属性値を独立に撹乱してもよいし、従属に撹乱してもよい。
【0020】
【数2】

【0021】
||・||は・のいわゆるL1距離であり、・がn次元実数ベクトルである場合には、ベクトル・の各成分の絶対値の総和である。nは1以上の整数である。
【0022】
例えば、μ=0とする。この場合、撹乱部12が用いるラプラス分布は以下のようになる。
【0023】
【数3】

【0024】
以下、「ラプラス分布に従う値」について説明する。まず、ラプラス分布を含む一般の確率密度関数fに従う値について説明する。
【0025】
1.「確率密度関数fに従う値」について
(1)確率密度関数fの定義域及び属性値が1次元の場合
(i)累積分布関数F(x)=∫−∞f(x’)dx’を求める。
【0026】
(ii)累積分布関数F(x)の逆関数F−1を求める。
【0027】
(iii)区間[0,1]上の一様乱数rを生成する。
【0028】
(iv)F−1(r)を「確率密度関数fに従う値」として出力する。
【0029】
累積分布関数F(x)や逆関数F−1が数式で得られる場合にはその数式に基づいてF−1(r)を計算してもよいし、そうでない場合には数値計算によってF−1(r)を計算してもよい。
【0030】
(2)確率密度関数fの定義域及び属性値がn次元の場合
i=0,…,n−1のそれぞれに対して、以下の(i)(ii)を行う。
【0031】
(i)xからxi−1までを固定し、xi+1からxn−1までを積分し、xだけを変数として残した確率密度関数fを求める。
【0032】
【数4】

【0033】
(ii)確率密度関数fの定義域は1次元なので、上記「(1)確率密度関数fの定義域及び属性値が1次元の場合」で示した方法と同様の方法により、「確率密度関数fに従う値」を計算する。
【0034】
i=0,…,n−1のそれぞれに対して「確率密度関数fに従う値」を計算することにより、n個の「確率密度関数fに従う値」が得られる。
【0035】
上記の方法を、確率密度関数がラプラス分布の場合に当てはめると以下のようになる。
【0036】
2.「ラプラス分布に従う値」について
(1)ラプラス分布の定義域及び属性値が1次元の場合
(i)区間[0,1]上の一様乱数r、区間(0,1)上の一様乱数bを生成する。
【0037】
(ii)(−1)σlogr+μを「ラプラス分布に従う値」として出力する。
【0038】
(2)ラプラス分布の定義域及び属性値がn次元の場合
(i)上記「(1)ラプラス分布の定義域及び属性値が1次元の場合」で示した方法と同様の方法により、n個の「ラプラス分布に従う値」であるx,x,…,xn−1を計算する。
【0039】
(ii)これらのx,x,…,xn−1を「ラプラス分布に従う値」として出力する。
【0040】
並替部14は、撹乱部12により撹乱されたデータベースに含まれるレコードの順序を並び替える(ステップS2)。レコードが並び替えられたデータベースは、集計装置2に送信される。
【0041】
並び替えの対象となるのは、データベースに含まれる全部又は一部のレコードである。レコードの並び替えは、一様ランダムに行われてもよいし、ランダムに行われてもよいし、一部又は全部の属性値についての昇順、降順等の所定の並替規則に基づいて行われてもよい。
【0042】
属性値の種類の数が1である場合には、属性値が属するn次元実数ベクトルの部分集合Vの元をu,vとすると、σは下記式(1)又は(2)を満たすように予め定められているとする。|R|は、データベースのレコードの数である。
【0043】
【数5】

【0044】
属性値の種類の数が2以上である場合には、各属性値aが属するn次元実数ベクトルの部分集合Vの元をu,vとすると、σは下記式(3)又は(4)を満たすように予め定められているとする。
【0045】
【数6】

【0046】
パラメータ決定部13が、予め定められたkに基づいて、上記(1)から(4)の式を満たすσを決定してもよい(ステップS0)。この場合、パラメータ決定部13により決定されたσは、撹乱部12に送信される。
【0047】
このようにして撹乱されたデータベースは、いわゆるPk−匿名性を満たす。ここでは、その証明を省略する。Pk−匿名性は、データベースの各レコードと、その各レコードに対応する個人とを1/k以上の確率で結びつけることができないという性質である。
【0048】
したがって、このようにして撹乱されたデータベースは、Pk−匿名性という明確な基準で匿名性が保障される。また、撹乱前のデータベース及び撹乱後のデータベースを用いずに匿名性を保障することができる。
【0049】
集計部21は、撹乱装置1により撹乱されたデータベースを用いて集計処理を行う(ステップS3)。集計部21は、例えば、参考文献1に記載された反復ベイズ手法等を用いて、クロス集計等の集計結果を推定する。
【0050】
〔参考文献1〕
五十嵐大,外2名,「多値属性に適用可能な効率的プライバシー保護クロス集計」,コンピュータセキュリティシンポジウム2008
[第二実施形態]
第一実施形態は、データベースの全ての属性値がいわゆる数値属性値である場合のデータベース撹乱システムであった。これに対して、第二実施形態は、データベースの属性値がいわゆるカテゴリ属性値を含む場合のデータベース撹乱システムである。第二実施形態で撹乱の対象となるデータベースの例を図8に示す。
【0051】
カテゴリ属性値とは、例えば性別等の属性値であり、数値属性値とは異なり属性値の取り得る値がいくつかに制限されている属性値のことである。
【0052】
以下、第一実施形態と異なる部分を中心に説明する。第一実施形態と同様の部分については説明を省略する。
【0053】
第二実施形態の撹乱部12は、図2のステップS1に代えて、図3のステップS10,S1,S11の処理を行う。
【0054】
撹乱部12は、まず、データベース記憶部11から読み込んだデータベースに含まれる一部又は全部の属性値のそれぞれについて、そのそれぞれの属性値がカテゴリ属性値であるか判定する(ステップS10)。
【0055】
属性値がカテゴリ属性値でない場合には、すなわち数値属性値である場合には、撹乱部12は、第一実施形態と同様の方法によりラプラス分布に従う値の加算を行う(ステップS1)。
【0056】
属性値がカテゴリ属性値である場合には、撹乱部12は、その属性値を所定の確率で他のカテゴリ属性値に置換する(ステップS11)。具体的には、いわゆる維持確率ρの維持−置換撹乱を行う。
【0057】
維持確率ρの維持−置換撹乱は、維持確率ρが予め定められているとして、維持確率ρでその属性値を変更せずに維持し、1−ρの確率でその属性値を他のカテゴリ属性値に置換する撹乱方法である。他のカテゴリ属性値に置換するとは、例えば属性が性別であり属性値が「男」である場合には、その属性値「男」を属性値「女」に置換することを意味する。維持確率ρの維持−置換撹乱の詳細については、特許文献1を参照のこと。
【0058】
属性の種類の数が2以上である場合には、各属性aの属性値が属するn次元実数ベクトルの部分集合Vの元をu,vとすると、σ及び維持確率ρは下記式(5)を満たすように予め定められているとする。例えば、パラメータ決定部13が、予め定められたkに基づいて、下記式(5)の式を満たすσ及び維持確率ρを決定する(ステップS0)。|V|は、属性aのカテゴリ属性値の取り得る値の数である。
【0059】
【数7】

【0060】
このようにして撹乱されたデータベースは、第一実施形態と同様に、いわゆるPk−匿名性を満たす。ここでは、その証明を省略する。
【0061】
したがって、このようにして撹乱されたデータベースは、第一実施形態と同様に、Pk−匿名性という明確な基準で匿名性が保障される。また、撹乱前のデータベース及び撹乱後のデータベースを用いずに匿名性を保障することができる。
【0062】
[変形例等]
並替部14の処理は行わなくてもよい。この場合、データベースのレコードの並び替えは行われず、撹乱部12により撹乱されたデータベースが集計装置2に送信される。集計装置2は、受信した並び替えが行われていないデータベースに基づいて集計処理を行う。
【0063】
撹乱部12が撹乱装置1に備えられ、集計部21が集計装置2に備えられていれば、他の各部はデータベース撹乱システムを構成する装置の何れに備えられていてもよい。
【0064】
例えば、図4に例示するように、パラメータ決定部13が集計装置2に備えられていてもよい。この場合、パラメータ決定部13により決定されたパラメータは、撹乱装置1に送信される。
【0065】
また、例えば、図5に示すように、データベース撹乱システムが、撹乱装置1、集計装置2及び撹乱データサーバ装置3から構成されている場合には、パラメータ決定部13が撹乱データサーバ装置3に備えられていてもよい。この場合、パラメータ決定部13により決定されたパラメータは撹乱装置1に送信され、撹乱装置1により撹乱されたデータベースは撹乱データサーバ装置3を経由して集計装置2に送信される。具体的には、撹乱データサーバ装置3のデータ送受信部31が、撹乱装置1により撹乱されたデータベースを受信して、集計装置2に送信する。
【0066】
また、図6に例示するように、データベース撹乱システムに、撹乱装置1及び集計装置2のそれぞれが複数備えられていてもよい。
データベース撹乱装置の各部間のデータの送受信は直接行われてもよいし、図示していない記憶部を介して行われてもよい。データベース撹乱システムの各装置間のデータの送受信は直接行われてもよいし、他の装置を経由して行われてもよい。
【0067】
その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0068】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各部がコンピュータ上で実現される。
【0069】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0070】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【0071】
1 撹乱装置
11 データベース記憶部
12 撹乱部
13 パラメータ決定部
14 並替部
21 集計部
2 集計装置

【特許請求の範囲】
【請求項1】
データベースは複数のレコードを含み、各レコードはレコード識別子及び少なくとも1つの属性値を含み、||・||を・のL1距離とし、σを所定の値として、
上記データベースに含まれる一部又は全部の属性値のそれぞれについて、下記の式により定義される分散2σのラプラス分布に従う値を加算する撹乱部、
【数8】


を含むデータベース撹乱装置。
【請求項2】
請求項1のデータベース撹乱装置において、
上記撹乱部により撹乱されたデータベースに含まれるレコードの順序を並び替える並替部を更に含む、
データベース撹乱装置。
【請求項3】
請求項1又は2のデータベース撹乱装置において、
上記撹乱部は、上記それぞれの属性値がカテゴリ属性値である場合には、上記それぞれの属性値を所定の確率で他のカテゴリ属性値に置換する、
データベース撹乱装置。
【請求項4】
請求項1から3の何れかのデータベース撹乱装置と、
上記撹乱部により撹乱されたデータベース及び上記並替部によりレコードが並び替えられたデータベースを用いて集計処理を行う集計処理部と、
を含むデータベース撹乱システム。
【請求項5】
データベースは複数のレコードを含み、各レコードはレコード識別子及び少なくとも1つの属性値を含み、||・||を・のL1距離とし、σを所定の値として、
撹乱部が、上記データベースに含まれる一部又は全部の属性値のそれぞれについて、下記の式により定義される分散2σのラプラス分布に従う値を加算する撹乱ステップ、
【数9】


を含むデータベース撹乱方法。
【請求項6】
請求項1から3の何れかのデータベース撹乱装置の各部としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−83801(P2013−83801A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−223770(P2011−223770)
【出願日】平成23年10月11日(2011.10.11)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】