r04 security ii

13
Session 4 : Security II 担担 担担担担担 担担担担 担担担担 :( Session 4 : Security II 担担 担担担 担担 :( 1 SIGMOD2009 担担担

Upload: chiemi-watanabe

Post on 26-May-2015

413 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: R04 Security II

Session 4 : Security II

担当:渡辺知恵美(お茶の水女子大学)

Session 4 : Security II 担当:渡辺(お茶大)

1

【 SIGMOD2009 勉強会】

Page 2: R04 Security II

Attacks on Privacy and deFinetti’s Theorem

Session 4 : Security II 担当:渡辺(お茶大)2

Daniel Kifer ( Penn State University ) プライバシ保護 Publication 手法の 1 つである

Anatomy が deFinetti’s 理論を用いたプライベート情報の推論に脆弱であることを指摘し検証した

プライバシ保護 Publication データを公開する際にプライバシ情報が

推測されないように無毒化( Sanitize )して公開する

sensitive dataquasi-identifier

k 匿名性を考慮した無毒化( k=4 )

l 多様性, t 近似性などの指標がある

Page 3: R04 Security II

Anatomy による無毒化とその脆弱性

Session 4 : Security II 担当:渡辺(お茶大)3

Anatomy[Xiao, VLDB2006] 準識別子 (quasi-identifier) と

機微属性を別のテーブルに分解 グループ化してわざと情報損失

分解することで無毒化 脆弱性:

グループ内の相関から推測可能 例)タプル t の Disease を推測例)タプル t の Disease を推測

同じ GID だけ見ると Cancer かNone か 1/2 の確率

non smoker だけのグループはCancer の選択肢がない

non smoker だけのグループはCancer の選択肢がない

id=11 のタプルが Cancer でid=12 のタプルが None である確率は0.84 !

Page 4: R04 Security II

deFinetti Attack

Session 4 : Security II 担当:渡辺(お茶大)4

ベイズの定理を用い,テーブル T においてタプル t の機微属性 S の値が s である確率を求める

Ss

n

ii

s

n

ii

s

rRitsStTP

rRitsStTPTsStP

' 1

'

1

).'.(

)..()|.(

準識別子の値他の全タプルの状態他の全タプルの状態

t.S=s でないすべての場合

])..[).(.( )(

1

1

11

jiii

n

i

sjj

k

jii

n

iRtStrRtsStP

s

t.S=s の場合の,他のタプルの S の値

(タプルの順に S の値の順列が決められる)

   の全パターンを考える

   の全パターンを考える

s

dPStRtPStPsStrRtPsStP sjj

jiij

n

i

sjj

k

jii

n

is

).|.().().|.().( )(

1

1

11

de Finetti の表現定理を

用いて展開de Finetti の表現定理を

用いて展開

積分する代わりにマルコフチェーンモンテカルロ法 [44] を用いて近似的に求める(アルゴ

リズム 1 , 2 )

積分する代わりにマルコフチェーンモンテカルロ法 [44] を用いて近似的に求める(アルゴ

リズム 1 , 2 )

t.S=s である確率

Page 5: R04 Security II

他の無毒化手法への攻撃・検証

Session 4 : Security II 担当:渡辺(お茶大)5

Global recording (k 匿名化など)の場合 そのままでは解けないが,属性値の意味的類似度(心臓病は高齢の人に多いな

ど)を元に flexible bayes でランダムモデルよりは正解の可能性が高くなる 他の手法( Local recording )の場合もランダムモデルよりは正解の可能性が高く

なる(無毒化されたテーブルが与える情報は Global recording と Anatomy の間くらい)

実験 UCI Machine Larning Repository の Adult Dataset ABS(Absolute Error)

SSQ(Sum-Squared Error)

ACC(classification ACCuracy) 正解率

1000

1

14

1

||i

ijj

ij ps

1000

1

214

1

||i

ijj

ij ps

Page 6: R04 Security II

Secure kNN Computation on Encrypted Databases W.K. Wong, David W. Cheung ら(香港大

学) SCONEDB :

アウトソーシング DBMS における検索可能な暗号化データベース

k 近傍のための距離比較 前提:

 敵は元データの一部を  入手している (known-sample 攻撃 )

Session 4 : Security II 担当:渡辺(お茶大)6

安全な k 近傍問合せを提案安全な k 近傍問合せを提案

Page 7: R04 Security II

安全な k 近傍検索のための暗号化手法

Session 4 : Security II 担当:渡辺(お茶大)7

距離回復可能暗号化 (Distance-Recoverable Encryption(DRE))

kNN の場合はクエリ点 q からの距離の比較さえできればよい

より以下の性質を導入

p1

p2

d(p1,p2)

E(p1,K)=p1’

E(p2,K)=p2’

f(p1’,p2’)

d(p1,q) ≧ d(p2,q) ⇒ ∥p1∥2-∥p2∥2 +2( p2 ・ q – p1 ・ q ) ≧0 d(p1,q) ≧ d(p2,q) ⇒ ∥p1∥2-∥p2∥2 +2( p2 ・ q – p1 ・ q ) ≧0

pi ・ q = E(pi,K) ・ E(q,K)pi ・ pj ≠ E(pi,K) ・ E(pj,K)pi ・ q = E(pi,K) ・ E(q,K)pi ・ pj ≠ E(pi,K) ・ E(pj,K)

p1

p2

d(p1,p2)q

d(p1,q)

d(p2,q)

p1

p2

f(p1’,p2’)q

f(p1’,q’)

fp2’,q’)

保存

保存

保存しない

d(p1,p2) = f(p1’, p2’) d(p1,p2) = f(p1’, p2’)

known-sample攻撃に弱い

known-sample攻撃に弱い

非対称スカラ積保存暗号化 (Asymmetric scalar-product-preserving encryption(ASPE))

Page 8: R04 Security II

d 次元の点 p1,p2 に対する点 q からの距離比較

Session 4 : Security II 担当:渡辺(お茶大)8

暗号化キー: (d+1)×(d+1) 次元の可逆行列 前準備:各点 pi の暗号化

d+1 次元の点        を作る 暗号化

問合せ クエリ点の暗号化 距離比較 なら p1 のほうが近い 

 直観的な説明    暗号化関数 E(p,K)= Mp        (Mは (d+1)×(d+1) の行列 ,M は Kから作られる )

     p1 ・ q =p1TMM-1q=(p1

TM)(M-1q) = p1’ ・ q’ p1’ ・ p2’ =p1

TM・ p2TM になるので距離保存で

ない

 直観的な説明    暗号化関数 E(p,K)= Mp        (Mは (d+1)×(d+1) の行列 ,M は Kから作られる )

     p1 ・ q =p1TMM-1q=(p1

TM)(M-1q) = p1’ ・ q’ p1’ ・ p2’ =p1

TM・ p2TM になるので距離保存で

ない

Ti

Tii ppp )5.0,(ˆ

2i

Ti pMp ˆ'

TTqrMq )1,(' 10')''( 21 qpp

known-sample攻撃に対して

安全に問合せ可能

known-sample攻撃に対して

安全に問合せ可能

クエリ点と

点 p の内積

p’1,q’ は暗号化後の値

暗号化後のp1,p2 の内積

Page 9: R04 Security II

拡張・検証

Session 4 : Security II 担当:渡辺(お茶大)9

input-output 攻撃にも耐えられるよう拡張 点の値を分割 p ・ q=(pa+pb)q 人工的な次元を加える

検証 DRE だと平均 4.6 タプルの元データで攻撃されてしま

う 検索時間

Page 10: R04 Security II

Privacy Preserving of Aggregates in Hidden Databases: Why and How?

Session 4 : Security II 担当:渡辺(お茶大)10

A. Dasgupta(UT Arlington), N. Zhang(George Wash), G. Das(UT Arlington), and S. Chaudhuri(Microsoft)

Hidden Database によってテーブル全体の集約演算による情報は知られたくない場合がある 車のディーラの Webページから

全車の所有数を他者に知られたくない 飛行機の予約システムで空席率を

知られたくない

対処方法対処方法

ダミータプルを混在してサンプリングアタックを防ぐCOUNTER-SAMPLER アルゴリズムを提案

hiddenDB

Q

Top-k ResultsTop-k Results

Top-k Results

A

Page 11: R04 Security II

サンプリングアタックと防御の方針

Session 4 : Security II 担当:渡辺(お茶大)11

Web フォームでの検索 大抵 1 回の結果が top-k個までで制限 実行できる問合せ数も制限

サンプリングアタック [Dasgupta, et.al, ICDE2009 など ] 妥当な問合せ(結果が 1 以上 k 以内)をサンプルとして集め、それを元に集約演算の結果を推測

攻撃方針:問合せを試しながら active space を狭めていく

全データをクロールするのは難しい全データをクロールするのは難しい

universal space Ω  すべての可能な検索条件

active space Θ妥当な問合せを含む検索条件

overflows : k個以上の結果が得られるunderflows : 1 つも結果が見つからないvalid : 1 つ以上 k 個以下の結果が見つかる

防御方針:  絞り込みがしにくくなるようにダミータプル  を混ぜ実行する問合せ数を多くさせる

防御方針:  絞り込みがしにくくなるようにダミータプル  を混ぜ実行する問合せ数を多くさせる

Page 12: R04 Security II

COUNTER-SAMPLER

Session 4 : Security II 担当:渡辺(お茶大)12

簡単のため属性値はブール値として考える 1個のサンプルを見つけるための方法と防御

例) SELECT * FROM D WHERE a1=1 を試す

複数のサンプルを見つけるための方法と防御 各回用の絞込み空間 (ΘF) とトータルの絞込み空間( ΘE ) 1 この時との違い→ valid のとき ΘE から¬ Qc の条件が含まれているもの以外を消す& overflows のとき Qc を含んでいる条件をのみを残すのは ΘF のみで ΘE はいじらない

overflows :a1=1 を含んでいる条件のみを Θに残すunderflows : 属性 a1 を使っている条件を Θから外すvalid : 見つかったので終わり

overflows :Qc を含んでいる条件のみを Θに残す( |Θ|/3c 残す)underflows : Qc を含んでいる条件を Θから外す( (c+1) ・ 3n-c個消す)

valid : 見つかったので終わり

一般化→条件 Qc をもちいて SELECT * FROM D WHERE Qc を試す

b-Neighbor Insertion: short valid(条件数が b 以下 ) になるところをノイズを混ぜて overflows になるよ

うにしてしまう

b-Neighbor Insertion: short valid(条件数が b 以下 ) になるところをノイズを混ぜて overflows になるよ

うにしてしまうuniversal space Ω  すべての可能な検索条件

focused space ΘF

essential space ΘE

d-High-Level Packing: short underflow(条件数が d以下 ) になる結果にノイズを混ぜて overflows になるよう

にしてしまう

d-High-Level Packing: short underflow(条件数が d以下 ) になる結果にノイズを混ぜて overflows になるよう

にしてしまう

Page 13: R04 Security II

拡張&実験

Session 4 : Security II 担当:渡辺(お茶大)13

カテゴリ属性や数値属性に対応 d (for neighbor insertion)→ Cd=

b (for high-level packing)→ Cb=

実験

のカテゴリ数属性id

i 1

のカテゴリ数属性ii

b

1