More Related Content Similar to 数式を使わないプライバシー保護技術 (8) More from Hiroshi Nakagawa (20) 数式を使わないプライバシー保護技術7. 情報検索における
利用者プライバシー保護の動機
プライバシー保護というとデータベース中の個人情報の保護
ばかりに注目が集まりますが、それだけではありません!
• Knowledge-based scheme to create privacy-preserving but semantically-related queries for web
search engines
– David Sanchez, Jordi Castella-Roca, Alexandre Viejo
– Information Sciences, http://dx.doi.org/10.1016/j.ins.2012.06.025
• 米国では、インターネット企業は利用者プロファイルを法執行当局に販売
している。犯罪、紛争に関して
– 例えば、AOLは1月あたり、1000件の要求、
– Facebookは1日当たり10から20要求に応えている。
– 米国Yahooは会員のアカウント、電子メール、を1件当たり30から40ドルで売り渡している。
• こういった販売はインターネット業者にとってかなりの収入であるが、利用者へ
の見返りはないのです。
• さらに悪徳業者が盗み出す可能性も大いにあり得ます。
• こんな事情なので、検索エンジンに利用者は、自分のアイデンティを検索エン
ジンに知られないようにする技術を研究し実用化する必要が出てきています。
10. 位置情報をグループに紛れさせる
• 信頼できる仲介者:Tursted Third Party:TPPがいない場合は信頼できる利用者で
グループを作ってサービスを利用
• L(n)はID=nの利用者の位置情報。IDはスマホ番号
• ID=1から順に位置情報を追加してk人目がサービス要求
• ただし、リクエストを受け取った利用者のID(=m)だけ記憶しておき、結果の集合
(下の図では[Res(1),Res(2),Res(3),Res(4)])をID=mに送り返す。注:①…⑧
• 次の利用者に送るとき、L(n)の順番を入れ替えると、利用者同士でもResと利用者
の対応は分からないようにできます。
– (順番入れ替えは自分だけ持っているので、自分に対応するResだけは認識できる。)
• k-匿名化のような効果があります。
ID=1
ID=2
ID=3
ID=4
[1,L(1)]
[L(1),2,L(2)] [L(1),2,L(2),3,L(3)]
サービスリクエストリスト
[L(1),L(2),L(3),L(4),4]
サービス結果リスト
[Res(1),Res(2),
Res(3),Res(4)]
[Res(1),Res(2),
Res(3),Res(4)]
[Res(1),Res(2),
Res(3),Res(4)]
[Res(1),Res(2),
Res(3),Res(4)]
位置情報を用いる
サービスプロバイ
ダ
①
②
③
④
⑤
⑥⑦
⑧
23. 仮名化は一種類ではない:
更新頻度により、個人識別性が変化
仮名 体重
A123 60.0
A123 65.5
A123 70.8
A123 68.5
A123 69.0
仮名 体重
A123 60.0
A123 65.5
B432 70.8
B432 68.5
C789 69.0
仮名 体重
A123 60.0
B234 65.5
C567 70.8
X321 68.5
Y654 69.0
体重
60.0
65.5
70.8
68.5
69.0
同じ
• 仮名変更なし
• 個人識別性大
• 健康、医療な
ど継続的観察
が必要な場合
は仮名変更は
しない
仮名
更新
更新
頻度
大
• 仮名変更あり
• 1人のデータがk
個の仮名に分割
• 1/k - 匿名化
• 更新頻度が高く
なると個人識別
性が下がるが、
データの価値減
少
• データごと
仮名変更
• 同一人のデー
タであると分
からない。個
人識別性 低
い
無名化
全部、同一の個人のデータですが
24. • 仮名更新なし仮名化は
– 擬似ID以外の部分の個人データが長期に集積して、個人
の一意的絞り込みが容易であるうえに
– 特定個人識別も可能性が高いので、同意なし第3者提供
がいかがなものかというのは理解できます。
– 条文からみると個人IDを乱数に変更しても個人識別性は
残るので匿名加工情報には該当しないと読めます。
– 実質的な話:
• 擬似ID以外の個人データが擬似ID化しなければ
仮名と個人IDの対応表が揃わなければ個人識別できないです
• 一方、無名化は個人IDを削除しているので、条文の解
釈上も匿名加工情報になるであろうかと。
仮名化は更新頻度が高くなると一律に
匿名加工情報でないと割り切っていいのだろうか?
25. 1レコードの長さに関する留意点
仮名 場所1 場所2 場所3 …
A123 港区 渋谷 麻布 …
A123 お台場 豊洲 新橋 …
A123 … … …. ….
A123 xy yz zw …
A123
• 仮名変更なし
• 個人識別性大
• 長期の滞在場
所が分かると
容易照合性あ
り
• 仮名消去しても長
期の滞在場所が分
かると容易照合性
あり
無名化
場所1 場所2 場所3 …
港区 渋谷 麻布 …
お台場 豊洲 新橋 …
… … …. ….
xy yz zw …
1行(1レコード)の情報も容易照合性が失われる程度に
短く切断する必要があります。
29. 情報カテゴリー 仮名の更新頻度 利用価値
医療情報 更新なし 患者個人の長期病歴や生活習慣とかか
る病気の関係を分析できる
更新あり 個人の追跡調査できず。ただし、短期間
の流行把握は可能
運転履歴
更新なし 個人ID収集も同意あり個人の車の状態
を把握して修理アドバイスや運転癖の指
摘できる
個人ID収集も同意なし車と運転癖との
関連のデータ分析
30. 情報カテゴリー 仮名の更新頻度 利用価値
運転履歴
低頻度 交通流の長期的傾向把握(都市設計など
に使える)
1ヶ月単位くらいだと、曜日毎の交通流把
握が可能で、交通規制などに役立つかも
しれない
高頻度 短い時間の間の交通流の把握のみ
購買履歴
更新なし 個人ID収集も同意あり行動ターゲッティ
ング広告
個人ID収集も同意なし不明
低頻度 個人の長期間にわたる購買傾向。例えば
春にXを買った人は夏にYを買う傾向があ
るというようなデータマイニング
高頻度 個人の短期的な購買傾向把握
1データ毎に更新 特定の品物の売れ行き調査
34. 動機
個人識別子だけを消せば匿名化できるのでしょうか?
否!
公開データからプライバシー情報を推測できる可能性あります。
Link Attackと呼びます。
匿名化の崩壊(あるいは「プライバシー保護入門 第5章)を参
照していただくとよいと思います。
医療分野では病名などの機微情報のデータベースの個々のレコード
と個人名の対応表がない状況を連結不可能匿名性と呼び、匿名化
の基準にしています。
対応表がある場合は連結可能匿名化と呼びます。
これは、個人の医療情報を医療機関の外部に出さないというシステ
ムであるために安全と考えられます。
ただし、医療機関間、あるいは介護ホームなど医療関連機関でも使
われる場合はもう少し検討が必要でしょう。
35. Link Attack の古典的例
• Sweeney [S01a] によれば、マサチューセッツ州知事の医療記録が
公開情報から特定可能です
– MA では、収集した医療データを匿名化して公開している(下図左円
内
– 一方、選挙の投票者名簿は公開 (下図右円内)
• 両者をつきあわせると
• 6 人が知事と同じ生年月日
• うち3 人が男
• うち1 人が同じzipcode
• よって、知事の医療記録が特定できてし
まいます。
• 1990年の the US 1990 census dataによれば
– 87% の人が (zipcode, 性別, 生年月日)によって一意特定可能です
この状況を改善するために k-匿名化が提案されました。
[S01a]より
37. • データ処理業者が収集した個人データをLink Attack から保護するには2つ
の方法があります。
– 方法1: 全データからランダムサンプリングしたデータベースを使ってマイニン
グ処理、あるいは第3者に渡すのが有力です。
– 方法2: 全データから、疑似ID(住所、年齢、性別など)の情報を粗くして、同じ
疑似IDの人がk人以上いるように変換します。これを k-匿名化 と呼びます。
– 下の図右側では、疑似IDの記述を粗くして、k=3のk-匿名化すなわち 3-匿名化
されています。つまり、「おばあさん」、「お嬢さん」、「少年」の各3人ずつはその
中で区別できません。
3-匿名化されたデータベース
疑似IDの精度を粗
くして、同じ疑似ID
の人が3人以上い
るように変換
38. 疑似IDを粗くする例
• 以下の例で考えてみましょう。
• 個人情報の属性
– 個人IDそのもの(explicit identifiers) は削除:匿名化
– 疑似ID(quasi identifiers:QI)は個人特定に利用可能
– 機微情報となるデータベースの属性(病名)の値は知られたくない(保護した
い)
個人ID 疑似ID 機微情報
名前 誕生日 性別 Zipcode 病名
太朗 21/1/79 男 53715 風邪
花子 10/1/81 女 55410 肺炎
光子 1/10/44 女 90210 気管支炎
次郎 21/2/84 男 02174 ねんざ
明菜 19/4/72 女 02237 エイズ
プライバシー保護の目標は、個人を疑似IDから特定できないようにすること
削除
40. k-匿名性(k-anonymity)
• k-匿名性によるプライバシー保護, Sweeney and Samarati [S01, S02a,
S02b]
• k-匿名性: 疑似IDを変形して個人を他のk-1 人に紛れさせ、
個人を識別できなくする方法です
– つまり、 匿名化されたデータ ベース においては、疑似IDの組み合わせ
(年齢、郵便番号、性別など) の値が同一の個人は少なくとも k 人存
在することを保証
– よって、Link Attackでも個人特定の確率は 1/k になります
• 実現方法
– 属性の一般化 あるいは ある属性を持つレコードを削除
– 当面はデータの値に雑音加算することは考えません
• プライバシーとデータマイニングにおける有用性のトレードオフとして
– 必要以上に疑似IDを変形しないことが重要です
41. k-匿名化 の例
匿名化手法:=疑似識別子の変形法
• 一般化
– 例えば、対象分野のデータは抽象度によって階層化されてい
るなら、上の階層のデータを公開
• 削除
– 特異性のあるデータ項目は削除(個別セルごと、レコードごと、
属性ごと)
誕生日 性別 Zipcode
21/1/79 男 53715
10/1/79 女 55410
1/10/44 女 90210
21/2/83 男 02274
19/4/82 男 02237
誕生日 性別 Zipcode
group 1
*/1/79 人 5****
*/1/79 人 5****
削除されます 1/10/44 女 90210
group 2
*/*/8* 男 022**
*/*/8* 男 022**
元データ 2-匿名化されたデータ
49. k-匿名性の問題点
• 4-匿名性 の例(右側のデータベース)
• 均質性による攻撃: 最終グループは全員 「がん」なので、外部データベースと突
き合わせると、識別されていなくても「がん」だと分かります。
• 背景知識による攻撃: 第1グループで、日本人が1人いたことが知られたとしましょう。
日本人は心臓疾患にかかりにくいことが知られているので感染症だと分かります
id Zipcode 年齢 国籍 病名
1 13053 28 ロシア 心臓病
2 13068 29 US 心臓病
3 13068 21 日本 感染症
4 13053 23 US 感染症
5 14853 50 インド がん
6 14853 55 ロシア 心臓病
7 14850 47 US 感染症
8 14850 49 US 感染症
9 13053 31 US がん
10 13053 37 インド がん
11 13068 36 日本 がん
12 13068 35 US がん
id Zipcode 年齢 国籍 病名
1 130** <30 ∗ 心臓病
2 130** <30 ∗ 心臓病
3 130** <30 ∗ 感染症
4 130** <30 ∗ 感染症
5 1485* ≥40 ∗ がん
6 1485* ≥40 ∗ 心臓病
7 1485* ≥40 ∗ 感染症
8 1485* ≥40 ∗ 感染症
9 130** 3∗ ∗ がん
10 130** 3∗ ∗ がん
11 130** 3∗ ∗ がん
12 130** 3∗ ∗ がん
匿名化データ 4-匿名性 データ
52. 52
名前 年齢 性別 病名
一郎 65 男 インフルエンザ
次郎 30 男 胃炎
三子 43 女 肺炎
四郎 50 男 インフルエンザ
五子 70 女 肺炎
六夫 32 男 インフルエンザ
七子 60 女 インフルエンザ
八郎 55 男 肺炎
九美 40 女 鼻炎
一郎 インフル
六夫 インフル
七子 インフル
四郎 インフル
三子 肺炎
五子 肺炎
八郎 肺炎
次郎 胃炎
九美 鼻炎
病名の頻
度順に並
んだ部分
データベー
スに分解し
ます
l-多様化のアルゴリズム その1
•機微情報(下のデータベースでは病名) 毎にを 部分データベースに
分割して
53. 53
一郎 インフル
六夫 インフル
七子 インフル
四郎 インフル
三子 肺炎
五子 肺炎
八郎 肺炎
次郎 胃炎
九美 鼻炎
一郎 インフル
七子 インフル
三子 肺炎
八郎 肺炎
九美 鼻炎
六夫 インフル
四郎 インフル
五子 肺炎
次郎 胃炎
2つのグループはいずれも3種類の病名(機微情報)を含む:3-多様性
病名の頻度順に
並んだDB
l-多様化のアルゴリズム その2
•大きい順に l 個の部分データベース(左側)からデータを引き出して、
右側にグループを形成
56. 56
年収(百万円単位)毎の人数の例で考えて見ましょう。
例1
この例を2グループに分けてみます。
ただし、他の疑似IDを調整してk-匿名性は満たしているとします。
グループ1,2とも500万円、1000万円の2種類の年収の人が入っている
ので、2-多様性は満たしています。
しかし、各グループとも年収の違う人が1名だけなので、他の情報源があると、その
人を特定されやすくなっています。
年収 人数
グループ1 500万円 99人
1000万円 1人
グループ2 500万円 1人
1000万円 99人
年収 人数
500万円 100人
1000万円 100人
57. 57
例1
この例では、理想的には以下のようにグループ分けしたいところです。
もちろん、他の疑似IDを調整してk-匿名性は満たしているとします。
これであれば、他の情報によっても、グループ内の個人は特定さ
れにくいです。
つまり、グループ内の年収毎の人数が、元のデータベース(例1)
に近いことが望ましいことになります。
年収 人数
グループ1 500万円 50人
1000万円 50人
グループ2 500万円 50人
1000万円 50人
年収 人数
500万円 100人
1000万円 100人
60. k-匿名性,l-多様性,t –近接性
を組み合わせるには
• k-匿名性,l-多様性,t –近接性 はバラバラに実現しているだけでは意味が薄
いので、全部を満たすようにしたいところです。
• したがって、以下のような方法が考えられます。
1. まずk-匿名化してグループ分割を行う
2. 次にグループ毎にl-多様性をチェックする
3. if l-多様性 を満たさない
4. 1.に戻って、k-匿名化で別のグループ化を行う
5. 次にグループ毎にt –近接性をチェックする
6. if t –近接性 を満たさない
7. 1.に戻って、k-匿名化で別のグループ化を行う
8. 以上を繰り返して、 k-匿名性,l-多様性,t –近接性をすべて満たすグループ分けを探し出
す。
• 当然、 k-匿名性,l-多様性,t –近接性をすべて満たすのは難しいので、妥協が
必要になるかもしれないです。
– 妥協とは、kを小さくする、 lを小さくする、 tを大きくすることを意味します。
– ただし、データの精度が下がり、データベースの価値が下がるので、塩梅は難しいことに留
意されたいところ。
64. 差分データ
差分プライバシーとしてはややmisleadingですが
• 前ページで示した のプライバシー漏洩は、
• D(3月10日)とD(3月11日)という2つのデータベースの差分が知られてしまうこ
とにより発生します。
• ですから、 D(3月10日)とD(3月11日)の差分が質問で見破られないように、応
答に少し細工をする仕掛け:これが差分データのプライバシー保護
• 差分プライバシーとは、この考え方の一般化です。
– 隣接するデータベースの差が質問で分からないようにする数理モデル
データベース:D(宝石店お買
い上げデータ:3月10日まで)
5
7
1
4 2
36
データベース:D(宝石店お買
い上げデータ:3月11日まで)
5
7
1
4 2
36
3月11日に
来店したこ
とが知られ
ている男
100
67. 雑音の大きさ
では、いったいどのくらいの大きさの雑音加えたらよいのだろう?
上の図でX00 というのは年収(百万円単位)とする。
すると、Dの場合、年収の最高額は800万円、 D’の場合は1500万円。
年収の最高額を質問されると、 D’には高収入者 がいることが判明。
そこで、これを隠すために雑音を加えるとなると、1500万円ー800万円=700
万円くらいの大きさの雑音にしないとだめ。
つまり、 質問対象の属性(この場合は年収)の差の最大値を目安にした乱数に
しなければならない。
この最大値を差分プライバシーでは 感度(sensitibity)と呼ぶ。
データベース:D データベース:D’
1500
500
700
600
800 200
300600 500
700
600
800 200
300600
74. 簡単な回答拒否の例:最大値
• 質問1:太郎、次郎、三郎のうち最高額の年収は?
– 回答1:900万円です
• 質問2:太郎、次郎のうち最高額の年収は?
– 回答2:700万円です
– と答えてしまうと、三郎の年収=900万円とわかるので、回答拒否
しないといけません。
– そこで、回答2を拒否したとします。すると、質問者は回答した場合に
誰かの年収が知られるから拒否したとわかります。
– 一意的に年収が知られる三郎ですから、三郎の年収=900万円とわ
かります。
• したがって、回答の可否は、このように数手先を読んで決めないと
いけないので、非常に難しい数学的モデルになります
– このように、確定的に質問の可否を監査する方法は、計算すべき量も
非常に大きく、あまり実用的ではありません。