k-匿名化が誘発する濡れ衣
を軽減する方法
人工知能学会全国大会2014の発表資料より
中川裕志 & 角野為耶
1
以前にアップロードした「k-匿名化と濡れ
衣」で示した問題の解決編です。
内容は以下のようになります。
 k-匿名化
– テーブル形式のデータのk-匿名化
– 位置情報のk-匿名化
 k-匿名化が誘発する濡れ衣
 提案手法
 実験
2
名前 年齢 性別 住所 N月M日P時の所在
一郎 35 男 文京区本郷XX K消費者金融店舗
次郎 30 男 文京区湯島YY T大学
三子 33 女 文京区弥生ZZ T大学
四郎 39 男 文京区千駄木WW Y病院
データ匿名化の必要性
3
パーソナルデータから個人が
特定されてはならない
データを匿名化して活用
パーソナルデータを
解析して知見を得たい
名前 年齢 性別 住所 N月M日P時の所在
一郎 35 男 文京区本郷XX K消費者金融店舗
次郎 30 男 文京区湯島YY T大学
三子 33 女 文京区弥生ZZ T大学
四郎 39 男 文京区千駄木WW Y病院
パーソナルデータに記載される情報
識別子 QI センシティブ情報
・識別子
単体で個人の特定に繋がり得るもの
・準識別子(QI)
複数のQIを組み合わせることで個人の特定に繋がり得るもの
・センシティブ情報
他人に知られたくない情報:病名、収入、あるいは居場所
4
k-匿名化
5
準識別子の値が同一のレコードがテーブル内に少なくともk人存在するよ
うにデータを変換し、個人が識別されることを防ぐ
名前 年齢 性別 住所 N月M日P時の所在
一郎 35 男 文京区本郷XX K消費者金融店舗
次郎 30 男 文京区湯島YY T大学
三子 33 女 文京区弥生ZZ T大学
四郎 39 男 文京区千駄木WW Y病院
名前(匿名化) 年齢 性別 住所 N月M日P時の所在
一郎 30代 * 文京区 K消費者金融店舗
次郎 30代 * 文京区 T大学
三子 30代 * 文京区 T大学
四郎 30代 * 文京区 Y病院
4-匿名化
目次
 k-匿名化
– テーブル形式のデータのk-匿名化
– 位置情報のk-匿名化
 k-匿名化が誘発する濡れ衣
 濡れ衣を軽減するk-匿名化
 実験
6
位置情報におけるk-匿名化
・k人を含む下の図のような領域を形成し、その領域を位置情報と
します
・位置情報特有のk-匿名化法が提案されています
・ここでは既存の位置情報の匿名化法の問題点を指摘し、新たな
匿名化法を提案します
7
匿名化領域
目次
 k-匿名化
– テーブル形式のデータのk-匿名化
– 位置情報のk-匿名化
 k-匿名化が誘発する濡れ衣
 濡れ衣を軽減するk-匿名化
 実験
8
k-匿名化の問題点
匿名化が誘発する濡れ衣
9
就活中の学生
滞在履歴データ
企業
閲覧
ひょっとして消費者金融に…?
匿名化領域
匿名化によってあらぬ疑いをかけられる現象
濡れ衣が発生する想定ケース
 就活中の学生Aが消費者金融の存在する匿名化領域に滞在
 学生Aの採用を検討している企業が滞在履歴を閲覧
10
 本当は優秀だったAさんを採用
しないで、く別の人を採用したこ
とによる損失と、余分な採用コ
ストが発生
 Aさんがお金を横領する等の問題を
起こし、企業に被害を与える可能性があ
る
企業側の視点
採用しない場合
消費者金融に行くような学生は入社後に問題を起こす可能性がある。
このとき、企業はAさんを採用すべきか?
採用する場合
被害額の期待値として計算
対策コストとして計算
濡れ衣の性質
11
s:一つの匿名化領域内で特定の
場所に存在する人数
k:一つの匿名化領域内に存在する人数
 Aさんがお金を横領する等の問題を起
こし企業に与える被害額の期待値
 s/kに比例すると考えるのが自然です
被害額の期待値
 Aさんではなく別の人を採用す
る際に発生するコスト
 s/kにかかわらず一定です
対策コスト
この部分ならあ
まり心配ない
この部分だと
リアルに心配
すべき
目的
12
目的関数
情報損失の最小化
制約条件
一つの匿名化領域に割り当てるデータ点の数:k個以上
センシティブな領域に滞在したデータ点を同一の匿名化
領域に割り当てない
濡れ衣による被害と情報損失を抑えた位置情報のk-匿名化の実現
13
 ・病院や消費者金融のように機微な場所を分割して匿名化
領域を生成
 一つの匿名化領域に含まれる特定の施設に滞在した人数
を減らすことで濡れ衣を軽減
濡れ衣を軽減する匿名化
制約付きクラスタリング法を用いて実現
目次
 k-匿名化
– テーブル形式のデータのk-匿名化
– 位置情報のk-匿名化
 k-匿名化が誘発する濡れ衣
 提案手法
 実験
14
提案手法の概要
制約付きクラスタリング法を用いて匿名化領域を生成
入力 出力
センシティブ(機微)なデータ点
その他のデータ点
15
:人々の滞在場所 :匿名化領域
匿名化領域
匿名化アルゴリズムの流れ
1. クラスタ数の決定(k-匿名化のkで決まる)
2. センシティブなデータ点の初期化
3. 初期クラスタの重心の導出
4. 初期クラスタの割当
5. クラスタの更新
6. 非常にゆがんだクラスタができてしまったらクラスタ
再構成
16
1.クラスタ数の決定
C =
N
k
ê
ëê
ú
ûú に基づいてクラスタ数Cを決定します
センシティブな施設に存在したデータ点
その他のデータ点
k 一つのクラスタが含む最低限のデータ点の数
N 領域全体に存在するデータ点の数
17
2.センシティブなデータ点の初期化
センシティブな施設ごとに、センシティブな施設の重心から半径 の円を描き、
その上にセンシティブなデータ点を配置します
D
D センシティブな施設の重心から、最も近いデータ点までの距離
18
3.初期クラスタの重心(1)
センシティブな施設のデータ点を別々のクラスタに所属させるため、
センシティブな施設のデータ点をそれぞれクラスタ重心として設定します
19
・C個の初期クラスタ重心を選択します
初期クラスタの重心(2)
残りのデータ点から 個のクラスタ重心を選択C - DSi
i
å
k=2の場合
DS ={DSi |i =1,2, ,m} 領域全体に存在するセンシティブな施設の集合
DSi = {si,1,si,2, ,si, DSi
} センシティブな施設
20
4.初期クラスタの割当
残ったデータ点を各クラスタの重心までの距離に基づいて
クラスタに割り当てて行く
k=2の場合 21
初期クラスタの割当
k=2の場合 22
残ったデータ点を各クラスタの重心までの距離に基づいて
クラスタに割り当てて行く
初期クラスタの割当
2-anonymityの場合
データ点を割り当てることが出来たら次のデータ点をクラスタに割り当てます
23
初期クラスタの割当
24
割り当てようとしているクラスタに既にk個のデータ点が割り当てられている場合は
より重心までの距離を比較し、より距離が近いデータ点を割り当てます
重心までの
距離を比較
2-anonymityの場合
初期クラスタの割当
25
クラスタから追い出されたデータ点は次に重心が近いクラスタに割り当てます
初期クラスタの割当
全てのデータ点をクラスタに割り当てるまでこのプロセスを繰り返します
26
5.クラスタの更新
各クラスタの重心を求めます
各データ点をクラスタ割当プロセスに従ってク
ラスタに割り当てる操作を、変化量が一定以
下になるまで繰り返します
27
クラスタ割り当ての問題点
1つのクラスタに最低でもk個のデータ点を含まなければならないという
制約をかけるため、非常に歪な形のクラスタが出来てしまうかもしれません
そこで、一通りクラスタを割り当てた後に、次に述べるクラスタの再構成を行います
28
6.クラスタ再構成のアルゴリズム
1. クラスタ内で各点と重心までの距離の二乗和が大きい順に全クラスタをソー
ト
2. 距離の二乗和が大きいクラスタから、クラスタの再構成を行うかどうかを判
定します
3. 再構成するときは、クラスタ数を減らす(=クラスタ内の要素数を増やす)こ
とによって、クラスタ構造に自由度を与えます。
4. 再構成が成功した場合は再構成したクラスタを再構成の対象から除外しま
す
5. 再構成できないクラスタが現れるまで再構成を行います
29
再構成クラスタの決定
距離の二乗和が大きいクラスタから順に再構成の対象とします
k=3の場合
30
再構成クラスタの決定
距離の二乗和が最も大きいクラスタの重心から、重心が近い
クラスタを再構成の対象とする
k=3の場合
31
再構成クラスタの重心の決定
重心の数は予め定めておいた値であり、再構成にかかわる
クラスタ数よりも小さい値を取る
32
データ点の割当(1)
33
各クラスタについてクラスタ内の要素数が
k個になるまで重心に近いデータ点を割り当てて行く
データ点の割当(1)
34
各クラスタについてクラスタ内の要素数が
k個になるまで重心に近いデータ点を割り当てて行く
データ点の割当(2)
クラスタ内の要素数がk個になったら残りの
データ点を重心が最も近いクラスタに割り当てて行く
このプロセスで、クラスタが前より大きくなります。
35
データ点の割当(2)
クラスタ内の要素数がk個になったら残りの
データ点を重心が最も近いクラスタに割り当てて行く
このプロセスで、クラスタが前より大きくなります。
36
データ点の割当(2)
37
このように一つのクラスタに所属するデータ点数の制限を緩め
ることで歪な形のクラスタが出来上がることを防げます
ただし、割り当てようとしているクラスタに既にセンシティブなデータ点が
存在する場合は次に重心が近いクラスタに割り当てる
クラスタ再構成の可否の判定
 再構成後の距離の二乗和<再構成前の距離の二乗和の場合
– 次に距離の二乗和が大きいクラスタに対して再構成を試みます
 再構成後の距離の二乗和<再構成前の距離の二乗和の場合
– 再構成をなかったものとし、再構成プロセスを終了します
38
再構成によって元々のクラスタより情報損失が悪化することを防ぎます
目的
判定条件
目次
 k-匿名化
– テーブル形式のデータのk-匿名化
– 位置情報のk-匿名化
 k-匿名化が誘発する濡れ衣
 提案手法
 実験
39
評価実験をしました
 データ
– 100×100の二次元平面
– 400個のデータ点をランダムに設置
– センシティブな施設を2つ設置し、それぞれにデータ点を2点と3点設
置
 条件
– k=5(一つのクラスタの要素数)
– クラスタ数:80
– 再構成する際に巻き込むクラスタの数:5
– 再構成後のクラスタ数:4
40
評価指標
f (x) =
1
1+e-a(x-b)
41
Loss =
li, j
2
Cij
Ci
å
i
C
å
濡れ衣を被る確率 情報損失
Ci
li, j
i番目のクラスタの要素数
i番目のクラスタ重心とクラスタ内
の各データ点との距離
2つの評価指標で既存手法と提案手法を評価
評価基準:濡れ衣を被る確率
42
既存手法と比較して提案手法が濡れ衣を被る確率を
低減することを確認
Interval Cloak(IC)[Gruteser, MobiSys06],
Casper[Mok,VLDB06]
評価基準:情報損失
43
まとめ
制約付きクラスタリングを用いた位置情報の
匿名化法を提案しました
既存手法と比較して濡れ衣による被害が軽
減されることを確認できました
44
Appendix
45
既存手法:Interval Cloak
 Quad treeベース
– 空間を再帰的に四分割
– 領域に含まれる人数≧k人を満たすまで親ノードに移動
46
u1
u2
u3
u4
A1
A2
• u4を匿名化したい
➡匿名化領域はA2
• u1, u2, u3 を匿名化したい
➡ 匿名化領域 は A1
• k=2
既存手法:Casper[Mok06]
47
u1
u2
u3
u4
A1
A2
同じ階層のノードも探索するため匿名化領域のサイズが小さくなる
Interval Cloakの改良版

k-匿名化が誘発する濡れ衣:解決編