2. Attacks on Privacy and deFinetti’s Theorem2Daniel Kifer(Penn State University)プライバシ保護Publication手法の1つであるAnatomyがdeFinetti’s理論を用いたプライベート情報の推論に脆弱であることを指摘し検証したプライバシ保護Publicationデータを公開する際にプライバシ情報が推測されないように無毒化(Sanitize)して公開するk匿名性を考慮した無毒化(k=4)l多様性,t近似性などの指標があるsensitive dataquasi-identifierSession 4 : Security II 担当:渡辺(お茶大)
3. Anatomyによる無毒化とその脆弱性Session 4 : Security II 担当:渡辺(お茶大)Anatomy[Xiao, VLDB2006]準識別子(quasi-identifier) と機微属性を別のテーブルに分解グループ化してわざと情報損失分解することで無毒化脆弱性:グループ内の相関から推測可能例)タプルtのDiseaseを推測同じGIDだけ見るとCancerかNoneか1/2の確率non smokerだけのグループはCancerの選択肢がないid=11のタプルがCancerでid=12のタプルがNoneである確率は0.84!3
4. deFinetti AttackSession 4 : Security II 担当:渡辺(お茶大)4ベイズの定理を用い,テーブルTにおいてタプルtの機微属性Sの値がsである確率を求める準識別子の値他の全タプルの状態t.S=sである確率t.S=sでないすべての場合 の全パターンを考えるt.S=sの場合の,他のタプルのSの値(タプルの順にSの値の順列が決められる)積分する代わりにマルコフチェーンモンテカルロ法[44]を用いて近似的に求める(アルゴリズム1,2)de Finettiの表現定理を用いて展開
6. Secure kNN Computation on Encrypted DatabasesW.K. Wong, David W. Cheungら(香港大学)SCONEDB:アウトソーシングDBMSにおける検索可能な暗号化データベースk近傍のための距離比較前提: 敵は元データの一部を 入手している (known-sample攻撃)安全なk近傍問合せを提案Session 4 : Security II 担当:渡辺(お茶大)6
9. 拡張・検証Session 4 : Security II 担当:渡辺(お茶大)9input-output攻撃にも耐えられるよう拡張点の値を分割 p・q=(pa+pb)q人工的な次元を加える検証DREだと平均4.6タプルの元データで攻撃されてしまう検索時間
10. Privacy Preserving of Aggregates in Hidden Databases: Why and How?Session 4 : Security II 担当:渡辺(お茶大)10A. Dasgupta(UT Arlington), N. Zhang(George Wash), G. Das(UT Arlington), and S. Chaudhuri(Microsoft)Hidden Databaseによってテーブル全体の集約演算による情報は知られたくない場合がある車のディーラのWebページから全車の所有数を他者に知られたくない飛行機の予約システムで空席率を知られたくないQhiddenDBATop-k ResultsTop-k ResultsTop-k Results対処方法ダミータプルを混在してサンプリングアタックを防ぐCOUNTER-SAMPLERアルゴリズムを提案
11. サンプリングアタックと防御の方針Session 4 : Security II 担当:渡辺(お茶大)Webフォームでの検索大抵1回の結果がtop-k個までで制限実行できる問合せ数も制限サンプリングアタック[Dasgupta, et.al, ICDE2009など]妥当な問合せ(結果が1以上k以内)をサンプルとして集め、それを元に集約演算の結果を推測攻撃方針:問合せを試しながらactive spaceを狭めていく全データをクロールするのは難しいoverflows : k個以上の結果が得られるuniversal space Ω すべての可能な検索条件underflows : 1つも結果が見つからないvalid : 1つ以上k個以下の結果が見つかるactive space Θ妥当な問合せを含む検索条件防御方針: 絞り込みがしにくくなるようにダミータプル を混ぜ実行する問合せ数を多くさせる11
12. COUNTER-SAMPLERSession 4 : Security II 担当:渡辺(お茶大)12簡単のため属性値はブール値として考える1個のサンプルを見つけるための方法と防御例)SELECT * FROM D WHERE a1=1を試す複数のサンプルを見つけるための方法と防御各回用の絞込み空間(ΘF)とトータルの絞込み空間(ΘE)1この時との違い->validのときΘEから¬Qcの条件が含まれているもの以外を消す&overflowsのときQcを含んでいる条件をのみを残すのはΘFのみでΘEはいじらない一般化->条件QcをもちいてSELECT * FROM D WHERE Qcを試すoverflows :a1=1を含んでいる条件のみをΘに残すoverflows :Qcを含んでいる条件のみをΘに残す(|Θ|/3c残す)underflows : 属性a1を使っている条件をΘから外すunderflows : Qcを含んでいる条件をΘから外す((c+1)・3n-c個消す)valid : 見つかったので終わりvalid : 見つかったので終わりb-Neighbor Insertion: short valid(条件数がb以下)になるところをノイズを混ぜてoverflowsになるようにしてしまうuniversal space Ω すべての可能な検索条件essential space ΘEd-High-Level Packing: short underflow(条件数がd以下)になる結果にノイズを混ぜてoverflowsになるようにしてしまうfocused space ΘF