Bob - 筑波大学

Download Report

Transcript Bob - 筑波大学

IBM TRL seminar
データ解析におけるプライバシ保護
筑波大学 コンピュータサイエンス専攻 佐久間 淳
Agenda


データ解析とプライバシ保護: 各種アプローチ紹介, サービスの観点から

第三者機関の利用

匿名化アプローチ

秘匿関数計算の利用

ランダム化アプローチ

暗号理論的アプローチ
匿名化アプローチ



K-匿名化, L-多様性
暗号理論的アプローチ

秘匿関数計算, 準同型性公開鍵暗号

実例: 決定木学習, リンク解析
将来の方向性
2
サービスと個人情報
GPS: 移動履歴
銀行:口座情報
RFID:品物の種類・所在
来歴(トレーサビリティ)
カード会社:決済情報
交通機関: 移動履歴
証券会社:資産情報
携帯電話:発着信履歴,
メール送受信履歴, 電話帳,
保険会社:保険情報
電子メール: 送受信履歴, アドレス帳
病院:カルテ
(疾病暦, 治療暦)
薬局:投薬暦
健康管理:バイタル情報
(体重, 血圧, 体脂肪率)
3
Scenario 1: 伝染病発生源の特定
病院
カルテ
フライト
ログ
航空会社
個人



疫病発生

病院は発生源を地理的に特定したい

発症患者の移動地点のクラスタリング
カルテとフライトログの統合は困難

個人情報保護

法的規制
個人情報を保護しつつ伝染病発生源を特定できないか?
4
Scenario 2: 破綻予測
銀行A
取引履歴
取引履歴
銀行B
企業



破綻予測

企業は複数の銀行に口座をもち, 取引をしている

銀行は取引の履歴から企業の破綻確率を予測したい
取引履歴の統合は困難

機密保持

法的規制
取引履歴を統合せずに、破綻確率のみを予測できないか?
5
オンラインサービスにおける個人情報の活用
オンライン書店
オンラインミュージックショップ
……

推薦アルゴリズム



ユーザー
個人個人の購入履歴に基づく推定
オンライン書店

各個人が購入した書籍をデータベースに保存

“この本を買った人はこんな本も買っています”
オンラインミュージックショップ

各個人が購入した音楽をデータベースに保存

“この音楽を買った人はこんな音楽も買っています”
6
オンラインサービスにおける複数の個人情報源の活用
オンライン書店
オンラインミュージック
……


ユーザー
“この本を買った人はこんな音楽も買っています” は可能か?

書店とミュージックショップでの顧客名簿の統合が必要

各顧客の購入商品の開示が必要
サーバに囲い込まれた個人情報の連携は困難

個人情報保護

ユーザの信用が得られるか
7
サービス提供者の視点
GPS: 移動履歴
銀行:口座情報
RFID:品物の種類・所在
来歴(トレーサビリティ)
カード会社:決済情報
証券会社:資産情報
交通機関: 移動履歴
携帯電話:発着信履歴,
メール送受信履歴, 電話帳,
サービス提供者同士の連携は
進んでいない
保険会社:保険情報
電子メール: 送受信履歴, アドレス帳
病院:カルテ
(疾病暦, 治療暦)
薬局:投薬暦
健康管理:バイタル情報
(体重, 血圧, 体脂肪率)
8
サービスのユーザーの視点
ユーザー同士の連携も
進んでいない
9
プライバシ保護データマイニング
データベース
A
×
データベース
B
B社
A社
Alice
×
Bob
マイニング結果のみ開示!

プライバシ保護データマイニング (Privacy-preserving data mining: PPDM)

A社/Aliceは彼女のデータベースAをB社/Bobに開示したくない

B社/Bobは彼のデータベースBをA社/Aliceに開示したくない

ただし結合されたデータベースA∪Bについてデータマイニングや統計処理を実行
し、その結果のみを知りたい
10
個人情報の蓄積・活用形態
情報の流通
プライバシ保護
知識獲得の効用
例1. 人間関係
例2. 位置情報
Local管理
PPDM
Server公開
各個人が保持
セキュリティプロトコ
ルやランダム化を利用
サーバが
全て保持し公開
保障あり
低い
(知識発見不可)
携帯電話の通話暦
GPS
保障あり
保障なし
高い
高い
(知識発見可能)
アクセスフリーのSNS
(mixi等)
ここを狙ったサービ
スを作りたい
Active Badge (RFID)
11
プライバシ保護データマイニング:第三者機関の利用
信頼できる第三者機関による
データマイニングの実行
データベース
Alice

A
Trent
×
データベース
B
Bob
第三者機関の利用

信頼できる第三者にデータを委託

第三者がデータマイニングを実行し、計算結果を返す

これがいつでも実行可能ならば苦労はない

もうすこし緩やかな条件でPPDMを実行できないか?

第三者機関を前提としない

通常のネットワーク環境 (e.g., TCP/IP)
12
プライバシ保護データマイニング:匿名化アプローチ
信頼できる第三者機関による
匿名化を行い公表
匿名化
データベース
Trent
データベース
Alice

A
×
一般に公表
データベース
B
Bob
データの効用を失わないように各レコードの識別性を低めて公表

k-anonymity[Sweeney02]

l-diversity[Machanavajjhala06]

Differential privacy[Dwork06]
13
プライバシ保護データマイニング:秘匿関数計算の利用
データベース
データベース
Alice

B
Bob
秘匿関数計算による
関数fの評価
秘匿関数計算 [Yao86]他

Alice, Bobが持つ秘密入力に対し、




A
その入力を明かさずに、特定の関数f
を多項式時間で実行
Alice, Bobはfの評価結果を取得
関数fをデータマインニングと捉えれば
PPDMが実行できる
残念ながら, 入力サイズが大きく, 評価対象の
関数が複雑な場合、Yaoは遅い

データマイニングの入力はたいてい大きい
Elapsed exec
time (sec) in
LAN
Elapsed exec time
(sec) in WAN
Bit-and operation
0.41
2.57
Billionaires
(comparison of two 32bit
integers )
1.25
4.01
Key database search (search
an item from 16 items with
6bit key)
0.49
3.38
Median
(find median form 10 16bit
integers)
7.09
16.63
Malkhi, D. et al, Fairplay - a secure two-party computation system, Proc. of
the 13th USENIX Security Symposium, 287—302, 2004
14
プライバシ保護データマイニング:ランダム化アプローチ
データベース
Alice
A
×
データベース
B
乱数によるノイズ
乱数によるノイズ
A’

Bob
B’
データマイニング
ランダム化アプローチ [Agrawal et al. SIGMOD2000]他

オリジナルデータに乱数でノイズを加える

統計的な性質は保持しつつ、オリジナルデータの推定を困難にする

ランダム化されたデータにデータマイニング・統計処理を実行

データマイニング結果からノイズの影響を統計的推定により取り除く
15
プライバシ保護データマイニング:暗号アプローチ
データベース
×
A
Alice
データベース
B
暗号化
Bob
暗号化
B
A
暗号化されたデータに対する
データマイニング

暗号アプローチ [Lindel et al. CRYPTO2000]他

オリジナルデータを準同系性公開鍵により暗号化

暗号化されたデータ同士の加算や乗算が可能

暗号化されたデータ上でのデータマイニングを実行

マイニング結果を復号
16
各種アプローチの比較
アプローチ
結果の正確さ
計算コスト
Authorityの
必要性
汎用性
(適用可能
な処理に対する)
プライバシ保護
第三者機関
厳密に正確
小さい
必要
高い
第三者機関次第
匿名化
匿名化のレベ
ルによる
小さい
必要
高い
匿名化法に準ずる
秘匿関数計算
厳密に正確
極めて大きい
不要
高い
厳密に保障
ランダム化
近似的
小さい
不要
限定的
統計的に保障
暗号
厳密に正確
大きい
不要
限定的
厳密に保障
■good ■medium ■bad

帯に短し襷に長し

データマイニングコミュニティではランダム化アプローチと暗号アプローチが主流

セキュリティコミュニティでは秘匿関数計算アプローチが主流

統計コミュニティでは匿名化アプローチが主流?
17
複数の個人情報源の連携によるサービス例
これを持ってい
る人の平均年収
はX万円です
銀行:口座情報
カード会社:決済情報
製造場所の
トレース
GPS: 移動履歴
RFID:品物の種類
製造会社の
リスク推定
証券会社:資産情報
伝染病発生源推定:
この病気にかかった
人はこんな電車に
乗っています
交通機関: 移動履歴
携帯電話:発着信履歴,
これを食べている メール送受信履歴, 電話帳,
こんな健康状態の
人はこんな保険を
使っています
人の平均体重は
Xkgです
保険会社:保険情報
電子メール: 送受信履歴, アドレス帳
こんな病気の人
病院:カルテ
はこんな薬を 薬局:投薬暦
(疾病暦, 治療暦)
使っています
健康管理:バイタル情報
(体重, 血圧, 体脂肪率)
18
匿名化アプローチ
19
k-匿名化

識別子: 名前, social security number 等


疑似識別子(pseudo-identifiers): 年齢, 性別, 郵便番号等


これらは通常レコードから除去される(担註:de-identification)
これらは識別子ではないが, 疑似識別子を組み合わせることによって個人の識別可
能性が高まってしまう
k-匿名化の定義

データ開示において, 全ての疑似識別子の値の組み合わせに適合するレコードが,
テーブル中に少なくともk 個存在しなければならない
20
データ例
カテゴリカル
数値属性
属性
属性
レコード
年齢属性における値
住基ネット番
号
名前
住所
年齢
病院名
疾病
薬
0A99934
筑波太郎
茨城県
32
A病院
腰痛
XXX
1B92372
統計花子
東京都
46
B医院
鼻炎
YYY
3C88892
匿名幸
京都府
42
Cクリニッ
ク
水虫
ZZZ
…
…
…
…
…
…
…
直接識別子
一意性あり
間接識別子
一意性なし
疑似識別子
Sensitiveな情報
21
k-匿名化の具体例
公表
削除
住基ネット番
号
名前
住所
年齢
病院名
疾病
薬
0A99934
筑波太郎
関東
[30-39]
A病院
腰痛
XXX
1B92372
統計花子
関東
[30-39]
A病院
鼻炎
YYY
3C88892
匿名幸
関東
[30-39]
B病院
腰痛
ZZZ
…
…
直接識別子
間接識別子
疑似識別子
3-匿名化
Sensitiveな情報
22
l-多様性

k-匿名化はシンプルだが,敵対者が背景知識を持つ場合にさまざまな攻撃法がありえ
る

Homogenity attack: k レコードのグループにおいて,すべてのsensitive な属性
値が同じであった場合,たとえk-匿名化されていたとしても,そのグループの
sensitive な属性の値は推測可能である



ex. 三丁目の田中さんがk 人いたとしても, k 人全員が腎臓病であったとした
ら,三丁目の田中さんにとってはsensitve な属性が保護されたことにはなら
ない
k-匿名化はレコードの識別を妨げることができるが,sensitive な属性値の推測を妨
げることはできない
定義: 非sensitive 属性のタプルがq*であるような集合をq*-block とよぶ。q*block にℓ 種類のsensitive な属性値が含まれるなら, q*-block はℓ-多様であると
呼ぶ。テーブルのすべてのq* ブロックがℓ-多様なら、テーブルはℓ-多様である。
23
L-多様性の具体例
q*-block
住基ネット番
号
名前
住所
年齢
病院名
疾病
薬
0A99934
筑波太郎
三丁目
32
A病院
腰痛
XXX
1B92372
統計花子
三丁目
32
A病院
腰痛
XXX
3C88892
匿名幸
三丁目
32
Cクリニッ
ク
鼻炎
ZZZ
…
…
直接識別子
間接識別子
疑似識別子
2-多様
Sensitiveな情報
24
暗号理論的アプローチ
25
分散計算における秘密保護
Bob
Alice
Private input xA
Private input xB
{
MB
Output yA
Output yB
Messages: MB

MB : Aliceが受信した全メッセージ
26
分散計算における秘密保護
Simulator of Bob
input xA, yA, yB
Bob
Alice
Private input xA
Private input xB
{
MB
Output yA
Simulated messages: M’B


Output yB
Messages: MB
MB : Aliceが受信した全メッセージ
MB’: Aliceの入力とプロトコルの出力のみが与えられたシミュレータが生成したメ
ッセージ
27
分散計算における秘密保護
Simulator of Bob
input xA, yA, yB
Bob
Alice
Private input xA
Private input xB
{
MB
Indistinguishable?
Simulated messages: M’B



Output xA
Output xB
Messages: MB
MB : Aliceが受信した全メッセージ
MB’: Aliceの入力とプロトコルの出力のみが与えられたシミュレータが生成したメ
ッセージ
プライバシ保護

もしMB と MB’が区別できなければ, プロトコルはBobの余分な情報を漏らさ
ない
28
PPDMに利用される要素技術

秘密分散 (secret sharing)

秘匿関数評価 (secure function evaluation)

準同型性航海鍵暗号 (homomorphic public-key cryptography)

紛失送信 (oblivious transfer)

紛失多項式評価 (oblivious polynomial evaluation)

ゼロ知識証明 (zero knowledge proof), etc…
29
秘匿関数評価
Alice’ input: xA
Evaluation of f by
SFE
Alice’s output: yB




Bob’s output: yB
秘匿関数評価(including Yao’s protocol)


Bob’s input: xB
関数:
任意のfについて,秘匿関数評価は
ない秘匿評価が可能
の互いの出力以外の情報をもらさ
様々なバージョン (二者間プロトコル, 多者間プロトコル, 半数未満の不正者を許すプロトコル, etc)
秘匿関数評価はどのようにして動作するか? (直感的に)

各パーティーの入力をランダムな情報に分割して分配

関数fをand-gateとor-gateで構成される回路に変換

情報を分割したまま各And/or-gateを評価(garbled circuit)

各出力を持ち寄り、最終的な出力を復元
秘匿関数評価の利用例

Private comparison: xA > xB or not?
30
準同型性公開鍵暗号

m ∊ ZN をメッセージ, r ∊ ZN を乱数とする

(pk, sk): 公開鍵と秘密鍵のペア

暗号化:

複号化:

m0,m1, r1,r2 ∊ ZN

暗号系が(加法的)準同系性を持つとき:

暗号文の和

暗号文と平文の積
e.g. Paillier暗号
31
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
32
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
33
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
34
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
Generate a random number
35
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
Generate a random number
36
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
Generate a random number
37
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
Generate a random number
38
Example: private computation of ax+y
Alice has x
Bob has y, a
Problem: compute random shares of ax+y = rA+rB mod N
Key pair
Public key
Generate a random number
39
Example: private comparison of scalar product
Alice
Problem: which is greater
Bob
?
40
Example: private comparison of scalar product
Bob
Alice
Problem: which is greater
Key pair
?
Public key
Generate a random number rB
rA and rB are random shares of
rA
Comparison by SFE
void
rB
Comparison result
41
PPDMの実例
42
プライバシ保護型決定木学習 [Lindell00]

決定木学習の例

データ集合T

クラス集合C={ci}, 属性集合A={aj}

クラスciを持つデータ集合T(ci)

エントロピー

条件付エントロピー

情報利得

情報利得を最大にする属性における分割
http://ja.wikipedia.org/wiki/%E6%B1%BA%E5%AE%9A%E6%9C%A8
Alice’s data

プライバシ保護型決定木学習


分割データを開示せずに、情報利得を最大
化する属性を選択
Bob’s data
Aliceのa, Bobのbからの(a+b)log(a+b)の
秘匿評価に帰着
43
プライバシ保護型リンク解析

リンク解析→ グラフのリンク構造からノードを重要度に応じてランキング

Web文書解析において有名かつ有用 (spectral ranking)

E.g., PageRank (Page et al.)
定常分布密度でranking
ランダムウォーク時の
状態遷移確率行列
そうでもない
重要
まあまあ
まあまあ
そうでもない
べき乗法:
マルコフ連鎖の定常分布 x を求める

そうでもない
これまでのリンク解析の対象は…


まあまあ
文書ネットワーク、文献引用関係、たんぱく質・DNA相互作用関係、etc…
人間関係や経済活動などの実社会ネットワークを対象にできないか?

人・企業などの信頼度や実績に応じたランキング

プライバシー・機密性などがボトルネックになる
44
グラフにおけるプライバシー(1): 取引グラフ

企業間取引: 企業iの企業jからの購入額は年間wij円

取引関係がリンクeij, 取引額が重みwijなる重み付きグラフG=(V,E,W)

企業iと企業jは取引eijを認識、それ以外の企業には取引eijの存在は秘密

企業iと企業jは取引額wijを認識、それ以外の企業には取引額wijは秘密
45
グラフにおけるプライバシー(2): 通信グラフ

個人間の通話: iさんからjさんへの通話頻度はwij

通話関係がリンクeij, 通話頻度が重みwijなる重み付きグラフG=(V,E,W)

iさんとjさんは通話eijを認識、それ以外の人には通話eijの存在は秘密

iさんだけが通話頻度wijを認識、jさんとそれ以外の人には通話頻度wijは
秘密
46
グラフにおけるプライバシー(3): 評価グラフ

人事評価: iさんからjさんへの評価はwij

評価関係がリンクeij, 評価が重みwijなる重み付きグラフG=(V,E,W)

iさんだけが評価関係eijを認識、それ以外の人には評価eijの存在は秘密

iさんだけが評価wijを認識、jさんとそれ以外の人には評価wijは秘密
47
ネットワーク構造を持つ秘密情報のモデル化: Private Graph


Privately shared matrix

M=(mij) n×n行列

行列Mをn個に分解し、n個のノードが各パーツを保持している

各ノードが保持しているパーツは他のノードには秘密
典型的な2パターンを想定

Row-private: ノードiはi行目のみを保持

Symmetrically-private: ノードiはi行目およびi列目を保持
Node 1
Node 2
Node n
48
ネットワーク構造を持つ秘密情報のモデル化: Private Graph


Privately shared matrix

M=(mij) n×n行列

行列Mをn個に分解し、n個のノードが各パーツを保持している

各ノードが保持しているパーツは他のノードには秘密
典型的な2パターンを想定

Row-private: ノードiはi行目のみを保持

Symmetrically-private: ノードiはi行目およびi列目を保持
Node 1
Node 2
Node n
49
ネットワーク構造を持つ秘密情報のモデル化: Private Graph
取引グラフ
リンク先・リンク元ともに
情報を共有
↑
↑
リンク構造の秘密性 重みの秘密性
50
ネットワーク構造を持つ秘密情報のモデル化: Private Graph
通話グラフ
リンク先・リンク元ともに
リンク情報を共有
↑
↑
リンク構造の秘密性 重みの秘密性
51
ネットワーク構造を持つ秘密情報のモデル化: Private Graph
評価グラフ
リンク元のみが情報を保持
↑
↑
リンク構造の秘密性 重みの秘密性
52
ネットワーク構造を持つ秘密情報のモデル化: Private Graph
目標:private graphを違反せずにspectral rankingを行う
53
Decentralized Spectral Ranking
Node iに着目
j
xjpji
xjpji xjpji
i
j
xjpji

Node iは,被リンク先ノードからpjiを送信してもらい

Private graphでは…

xjpjiはnode iにvisibleではない

Node jはPjiをnode iに見せずに
を更新したい
54
Link-awareモデルにおけるspectral ranking
j
cji←Enc(xjpji)
j
xjpji

cji←Enc(xjpji)
i
xjpji
Link-awareモデルにおけるSpectral ranking
1. Node iにリンクしているノード (node j
cji←Enc(xjpji)
)は
を計算しnode iに送信
55
Link-awareモデルにおけるspectral ranking
j
xjpji

cji
i
cji
j
xjpji
Link-awareモデルにおけるspectral ranking
1.
Node iにリンクしているノード (node j
)はcji←Enc(xjpji)
を計算しnode iに送信
2. Node iは上の更新式のかわりに
56
Link-awareモデルにおけるspectral ranking
j
xjpji
cji
i
cji
j
xjpji

Decentralized spectral ranking

Link-awareモデルにおけるSpectral ranking
57
他のリンク解析法への拡張

Private graph上のPageRank: PrivateRank

Private graph上のHITS: PrivateHITS
58
実験:比較対象

Link-aware model

DSA(decentralized spectral analysis) [Kempe07]


SFE (secure function analysis) [Yao86]


P2P上でspectral rankingを行うプロトコル
任意の分散計算を安全に行うプロトコル
PR (PrivateRank)

提案法
59
実験: Link-aware model
SFE
PR(提案法, 結託対性あり)
PR(提案法, 結託対性なし)
DSA
60
考察

DSA:計算は速いがプライバシ保護は完全ではない

SFE: プライバシ保護は達成するが計算が重い

提案法(PR): プライバシ保護と計算効率性を両立
61
Future direction

Personalizedサービスとの接続


サービスのpersonalizationの深化と個人情報の利用は密接に関係
ネットワーク/グラフマイニングへの発展

ネットワークに含まれるリンク情報は本質的に秘密保護が必要とされる



Email送受信関係, 電話発着信関係, 企業間資本関係, 地理的移動グラフ etc…
ユビキタス計算環境との接続

携帯電話+GPS

個人の所有物に付与されたRFIDを用いたデータマイニング
応用:

情報大公開プロジェクトにて進行中

マイ・ライフ・アシストサービス(NTTドコモ)


GPS付き携帯電話やICカード乗車券から収集したユーザーの行動データをもとに、ユー
ザーにおすすめの情報やコンテンツを表示する「空気の読めるケータイ」
GPS付き携帯電話やICカード乗車券からの位置情報を組み合わせている
62
参考

代表的な論文





L-diversity: Privacy beyond k-anonymity, Ashwin Machanavajjhala et al., ACM Transactions on
Knowledge Discovery from Data (TKDD), Vol. 1, Issue 1, Article No. 3, (2007). (匿名化)
Privacy-preserving data mining, Agrawal, R. and Srikant, R., ACM SIGMOD Record, vol. 29, no. 2,
pp. 439--450, 2000, ACM (乱数アプローチ)
Privacy Preserving Data Mining, Lindell, Y. and Pinkas, B, Journal of Cryptology, vol. 15, no. 3, po.
177--206, 2002, Springer (暗号アプローチ)
サーベイ論文



L. Sweeney. k-anonymity: a model for protecting privacy. International Journal on Uncertainty,
Fuzziness and Knowledge-based Systems, 10 (5), 2002; 557-570. (匿名化)
State-of-the-art in privacy preserving data mining, Verykios, V.S. and Bertino, E. and Fovino, I.N.
and Provenza, L.P. and Saygin, Y. and Theodoridis, Y., ACM SIGMOD Record, vol. 33, no. 1, pp. 50-57, 2004.
Privacy-Preserving Data Mining: Why, How, and When, Vaidya, J. and Clifton, C., IEEE SECURITY &
PRIVACY, pp. 19--27, 2004, IEEE Computer Society

プライバシーとAI, 沼尾 雅之, 人工知能学会誌, vol. 21, no. 5, pp. 593-601, 2006

プライバシー保護データマイニング, 佐久間 淳, 人工知能学会誌, 2009年3月号
書籍


Privacy-Preserving Data Mining: Models and Algorithms, Charu C. Aggarwal Philip S. Yu, SpringerVerlag (2008/07)
Privacy Preserving Data Mining (Advances in Information Security), Jaideep Vaidya, Chris Clifton,
Michael Zhu, Springer-Verlag (2005/12/30)
63