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
i
i
s
n
i
i
s
rRitsStTP
rRitsStTP
TsStP
' 1
'
1
).'.(
)..(
)|.(
準識別子の値他の全タプルの状態他の全タプルの状態
t.S=s でないす
べての場合
])..[).(.( )(
1
1
11
j
iii
n
i
s
jj
k
j
ii
n
i
RtStrRtsStP
s
απ
π
=∧=∧=∧=
=
−
==
∑
t.S=s の場合の,他のタプルの S の値
(タプルの順に S の値の順列が決められ
る)
   の全パターンを考
える
   の全パターンを考
える
s
π
dPStRtPStPsStrRtPsStP s
jj
j
iij
n
i
s
jj
k
j
ii
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
ij
j
ij ps
∑∑= =
−
1000
1
2
14
1
||
i
ij
j
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 =p1
T
MM-1
q=(p1
T
M)(M-1
q) = p1’ ・ q’
p1’ ・ p2’ =p1
T
M ・ p2
T
M  になるので距離保存でな
い
 直観的な説明 
   暗号化関数 E(p,K)= Mp
       ( M は (d+1)×(d+1) の行列 ,M は K から
作られる )
     p1 ・ q =p1
T
MM-1
q=(p1
T
M)(M-1
q) = p1’ ・ q’
p1’ ・ p2’ =p1
T
M ・ p2
T
M  になるので距離保存でな
い
T
i
T
ii ppp )5.0,(ˆ
2
−=
i
T
i pMp ˆ'=
TT
qrMq )1,(' 1−
=
0')''( 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 アルゴリズムを提案
hidden
DB
Q
Top-k Results
Top-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 a* 1=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=
 実験
のカテゴリ数属性i
d
i 1=
Π
のカテゴリ数属性i
i
b
1=
Π

R04 Security II

  • 1.
    Session 4 :Security II 担当:渡辺知恵美(お茶の水女子大学) Session 4 : Security II 担当:渡辺(お茶1 【 SIGMOD2009 勉強会】
  • 2.
    Attacks on Privacyand 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 近似性 などの指標がある
  • 3.
    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 !
  • 4.
    deFinetti Attack Session 4: Security II 担当:渡辺(お茶大)4  ベイズの定理を用い,テーブル T においてタプル t の機微属性 S の 値が s である確率を求める ∑∈ = = =∧=∧ =∧=∧ == Ss n i i s n i i s rRitsStTP rRitsStTP TsStP ' 1 ' 1 ).'.( )..( )|.( 準識別子の値他の全タプルの状態他の全タプルの状態 t.S=s でないす べての場合 ])..[).(.( )( 1 1 11 j iii n i s jj k j ii n i RtStrRtsStP s απ π =∧=∧=∧= = − == ∑ t.S=s の場合の,他のタプルの S の値 (タプルの順に S の値の順列が決められ る)    の全パターンを考 える    の全パターンを考 える s π dPStRtPStPsStrRtPsStP s jj j iij n i s jj k j ii n is ).|.().().|.().( )( 1 1 11 παπ π ==Π=Π×==Π== = − ==∫∑ de Finetti の表現定理を 用いて展開 de Finetti の表現定理を 用いて展開 積分する代わりにマルコフ チェーンモンテカルロ法 [44] を 用いて近似的に求める(アルゴ リズム 1 , 2 ) 積分する代わりにマルコフ チェーンモンテカルロ法 [44] を 用いて近似的に求める(アルゴ リズム 1 , 2 ) t.S=s である 確率
  • 5.
    他の無毒化手法への攻撃・検証 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 ij j ij ps ∑∑= = − 1000 1 2 14 1 || i ij j ij ps
  • 6.
    Secure kNN Computationon Encrypted Databases  W.K. Wong, David W. Cheung ら(香港大 学)  SCONEDB : アウトソーシング DBMS に おける検索可能な暗号化 データベース  k 近傍のための距離比較  前提:  敵は元データの一部を   入手している (known-sample 攻撃 ) Session 4 : Security II 担当:渡辺(お茶大)6 安全な k 近傍問合せを 提案 安全な k 近傍問合せを 提案
  • 7.
    安全な k 近傍検索のための暗号化手法 Session4 : 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))
  • 8.
    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 =p1 T MM-1 q=(p1 T M)(M-1 q) = p1’ ・ q’ p1’ ・ p2’ =p1 T M ・ p2 T M  になるので距離保存でな い  直観的な説明     暗号化関数 E(p,K)= Mp        ( M は (d+1)×(d+1) の行列 ,M は K から 作られる )      p1 ・ q =p1 T MM-1 q=(p1 T M)(M-1 q) = p1’ ・ q’ p1’ ・ p2’ =p1 T M ・ p2 T M  になるので距離保存でな い T i T ii ppp )5.0,(ˆ 2 −= i T i pMp ˆ'= TT qrMq )1,(' 1− = 0')''( 21 >− qpp known-sample 攻撃に対して 安全に問合せ可能 known-sample 攻撃に対して 安全に問合せ可能 クエリ点と 点 p の内 積 p’1,q’ は 暗号化後の値 暗号化後の p1,p2 の内積
  • 9.
    拡張・検証 Session 4 :Security II 担当:渡辺(お茶大)9  input-output 攻撃にも耐えられるよう拡張  点の値を分割 p ・ q=(pa+pb)q  人工的な次元を加える  検証  DRE だと平均 4.6 タプルの元データで攻撃されてしまう  検索時間
  • 10.
    Privacy Preserving ofAggregates 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 アルゴリズムを提案 hidden DB Q Top-k Results Top-k Results Top-k Results A
  • 11.
    サンプリングアタックと防御の方針 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 個以下の結果が見つかる 防御方針:   絞り込みがしにくくなるようにダミータプル   を混ぜ実行する問合せ数を多くさせる 防御方針:   絞り込みがしにくくなるようにダミータプル   を混ぜ実行する問合せ数を多くさせる
  • 12.
    COUNTER-SAMPLER Session 4 :Security II 担当:渡辺(お茶大)12  簡単のため属性値はブール値として考える  1 個のサンプルを見つけるための方法と防御  例) SELECT FROM D WHERE a* 1=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 になるようにし てしまう
  • 13.
    拡張&実験 Session 4 :Security II 担当:渡辺(お茶大)13  カテゴリ属性や数値属性に対応  d (for neighbor insertion)→Cd=  b (for high-level packing)→Cb=  実験 のカテゴリ数属性i d i 1= Π のカテゴリ数属性i i b 1= Π