Post on 26-May-2015
Session 4 : Security II
担当:渡辺知恵美(お茶の水女子大学)
Session 4 : Security II 担当:渡辺(お茶大)
1
【 SIGMOD2009 勉強会】
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 近似性などの指標がある
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 !
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 である確率
他の無毒化手法への攻撃・検証
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
Secure kNN Computation on Encrypted Databases W.K. Wong, David W. Cheung ら(香港大
学) SCONEDB :
アウトソーシング DBMS における検索可能な暗号化データベース
k 近傍のための距離比較 前提:
敵は元データの一部を 入手している (known-sample 攻撃 )
Session 4 : Security II 担当:渡辺(お茶大)6
安全な k 近傍問合せを提案安全な k 近傍問合せを提案
安全な 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))
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 の内積
拡張・検証
Session 4 : Security II 担当:渡辺(お茶大)9
input-output 攻撃にも耐えられるよう拡張 点の値を分割 p ・ q=(pa+pb)q 人工的な次元を加える
検証 DRE だと平均 4.6 タプルの元データで攻撃されてしま
う 検索時間
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
サンプリングアタックと防御の方針
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 個以下の結果が見つかる
防御方針: 絞り込みがしにくくなるようにダミータプル を混ぜ実行する問合せ数を多くさせる
防御方針: 絞り込みがしにくくなるようにダミータプル を混ぜ実行する問合せ数を多くさせる
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 になるよう
にしてしまう
拡張&実験
Session 4 : Security II 担当:渡辺(お茶大)13
カテゴリ属性や数値属性に対応 d (for neighbor insertion)→ Cd=
b (for high-level packing)→ Cb=
実験
のカテゴリ数属性id
i 1
のカテゴリ数属性ii
b
1