800 likes | 922 Views
2002 年くらいから伸びてきた分野です。最近は機械学習、データ工学系の学会で相当数の論文が発表されています。 こういうご時勢ですから、ひょっとすると重要な技術要素になるかもしれません。. 個人情報保護が叫ばれ る 複数の企業、組織が協力しないと日本はどんどん遅れていく. プライバシ保護データマイニング (PPDM). 東京大学 中川裕志. PPDM の基礎概念. 2種類のPPDM. 摂動法 データベースに雑音を加え、利用者がデータベースに質問しても真のデータベースの内容が利用者には取得できないようにする
E N D
2002年くらいから伸びてきた分野です。最近は機械学習、データ工学系の学会で相当数の論文が発表されています。2002年くらいから伸びてきた分野です。最近は機械学習、データ工学系の学会で相当数の論文が発表されています。 こういうご時勢ですから、ひょっとすると重要な技術要素になるかもしれません。 個人情報保護が叫ばれる 複数の企業、組織が協力しないと日本はどんどん遅れていく プライバシ保護データマイニング(PPDM) 東京大学 中川裕志
2種類のPPDM • 摂動法 • データベースに雑音を加え、利用者がデータベースに質問しても真のデータベースの内容が利用者には取得できないようにする • プライベートな情報は漏れないようにしたいが、一方でできるだけ正確なデータマイニング結果も得たい! • 暗号法 • データ保持者をパーティと呼ぶ。複数のパーティが自分のデータは公開鍵暗号で暗号化する。当然、他のパーティには自分のデータは知られない。暗号化したまま何らかの計算をしてデータマイニングの結果だけは全パーティが共有する。
摂動法に関して2002年から2006年ころまでに導入された概念摂動法に関して2002年から2006年ころまでに導入された概念 • 摂動法によるPPDMを始めた動機 • k-匿名性(k-anonymity) • l-多様性(l-diversity) • t-closeness
動機 • 複数の組織がプライシーに係わるクリティカルなデータ (sensitivedata)を持ち、場合によっては公開している • microdata (vs. aggregated macrodata) と呼ばれる詳細データが解析やマイニングに利用される状況である。(USでは公開は法令で義務化 ) • microdataの保護のためsanitized(不要部分の削除など) • 例えば、explicit identifiers (Social Security Number, name, phone #) の削除 • しかし、それで十分か? • 否! link attacksの脅威 • 公開データからプライバシー情報を推測できる可能性あり
link attack の例 • Sweeney [S01a] によれば、Massachussetts州知事の医療記録が公開情報から特定可能 • MA では、収集した医療データを sanitize して公開している(下図) (microdata) 左円内 • 一方、選挙の投票者名簿は公開右円内 • 両者をつきあわせると • 6 人が知事と同じ生年月日 • うち3 人が男 • うち1 人が同じzipcode [S01a]より • 1990年のthe US 1990 census dataによれば • 87% の人が (zipcode, 性別, 生年月日)によって一意特定可能
microdataのプライバシー • microdataの属性 • explicit identifiers は削除 • quasi identifiers (QI=擬ID)は個人特定に利用可能 • sensitive attributes は sensitive 情報を持つ Sanitize! プライバシー保護の目標は、個人をsensitive 情報から特定できないようにすること
k-匿名性(k-anonymity) • k-匿名性によるプライバシー保護, Sweeney and Samarati[S01, S02a, S02b] • k-匿名性: 個人を他のk-1人に紛れさせる • つまり、公開されたmicrodataにおいては、Quasi Identifier:QIの値が同一の個人は少なくともk人存在することを保証 • よって、link attackでも個人特定の確率は 1/k • 実現方法 • 一般化 and 抑圧 • 当面はデータの値の perturbation(摂動)は考えない。摂動は、後に差分プライバシーのところで活用されることになる • プライバシーとデータマイニングにおける有用性のトレードオフ • 必要以上に匿名化しない
k-匿名性の例 匿名化手法 • 一般化 • 例えば、対象分野のデータは抽象度によって階層化されているなら、上の階層のデータを公開 • 抑圧 • 特異性のあるデータ項目は削除 original microdata 2-anonymous data
一般化を行う束: latticeK-anonymity 性別 誕生日 zipcode 目的 k-anonymityを満たしつつ、最小限の一般化を行う 全Qiに対して一般化を行う束を構成 more 一般化 less
一般化のために束構造を使うincognito [LDR05] 単調性の利用 (I)一般化の性質(~rollup) if k-anonymity があるノードで成立 then そのノードの任意の上位ノードでも成立 e.g., <S1, Z0> k-anonymous <S1, Z1> も<S1, Z2> k-anonymous (II) 部分集合の性質(~apriori) if あるノードでQI の属性の集合がk-anonymity でない then その集合を含む集合でもk-anonymity でない <S,Z,B>を全部使って描くと複雑すぎるので<S,Z>のみ e.g., <S0, Z0> k-anonymous でない <S0, Z0, B0> and <S0, Z0, B1> k-anonymous でない
分割によっては匿名化できない例 not 2-anonymous incognito の例 2 QI 属性, 7このデータ点 zipcode 性別を一般化 2-anonymous sex 郵便番号を 一般化
一般化の良い例、悪い例[LDR05, LDR06] 各次元を順次一様に一般化 incognito [LDR05] 各次元を個別に一般化 mondrian[LDR06] 多次元まとめて一般化 topdown[XWP+06] 一般化の強さ
mondrian[LDR06] 2-anonymous
グループの周囲長を利用してグループ化[XWP+06]:グループの周囲長を利用してグループ化[XWP+06]: まずい一般化 長い箱 データマイニングの精度が低い 良い一般化 正方形に近い データマイニングの精度が高い
Topdown [XWP+06] • split algorithm • 最も遠い2点を種にして開始 • これはヒューリスティックではある • 種から2グループへ成長させる • 各データ点を調べ、近くの種(あるいは種から成長したグループ)に周囲長が最小になる点を追加して新しいグループとする • 右図では、全ての点は、元々は赤と緑に分離されていなかったが、アニメーションに示すような流れで2グループに分離された。
外部DBを逆に利用 • 外部データは通常攻撃側が使うが、これを逆利用して役立てたい • join k-anonymity (JKA) [SMP] 3-匿名 マイクロデータ k-匿名 合併 合併 3-匿名anonymous 合併されたマイクロデータ 公開データ JKA
k-匿名性の問題点 • k-匿名性の例 • Homogeneityによる攻撃: 最終グループは全員cancer • 背景知識による攻撃: 第1グループで、日本人は心臓疾患にかかりにくいことが知られていると。。。 microdata 4-anonymous data
l-多様性[MGK+06] • 各グループにおいて sensitiveなデータの値がうまく管理されていることを目指す • homogeneity 攻撃を防ぐ • 背景知識攻撃を防ぐ • l-多様性(簡単な定義) • あるグループがl-多様性を持つとは、 • そのグループ内では少なくともl種類のsensitive なデータ値が存在する • group内にl種類のsensitiveな値があり、できるだけ均等に出現することが望ましい。
病名の頻度順に並んだDB • algorithm • sensitive values を bucket に割り当て • 大きい順にl個のbucketからデータを引き出してグループを形成 3つのグループはいずれも3種類の病名(sebnsitive data)を含む:l-diversity
Anatomy • グループ化したデータをQIの表とsensitiveデータの表に分割 3-diversity これらの2つの表から データマイニングする
t-closeness • l-多様性があっても、ある属性がaの確率99%,bの確率1%というように偏りが激しいと、プライバシーは危険 • 2つのグループ(上記a属性のグループとb属性のグループ)は、sensitive データの分布における距離と、全属性の分布における距離が t 以下であるとき、t-closeness である。 • 上記の分布間の距離としては、属性を各次元としてにおいてEarthMover’s distance(EMD)を用いる
攻撃を断ち切るには をどこか断ち切れば良い攻撃を断ち切るには をどこか断ち切れば良い 公開された外部データベース micro data k-anonimity microdataと公開外部データとの突き合わせを狙う攻撃 背景知識 l-diversity t-closeness 背景知識を用いたQuasi ID とsensitive dataの突き合わせを狙う攻撃 個人情報流出
k-anonymity, l-diversity, t-closenessの参考文献 • [LDR 05]LeFevre, K., DeWitt, D.J., Ramakrishnan, R. Incognito: Efficient Full-domain k-Anonymity. SIGMOD, 2005. • [LDR06]LeFevre, K., DeWitt, D.J., Ramakrishnan, R. Mondrian Multidimensional k-Anonymity. ICDE, 2006. • [XWP+06] Xu, J., Wang, W., Pei, J., Wang, X., Shi, B., Fu, A., Utility-Based Anonymization Using Local Recoding. SIGKDD, 2006. • [MGK2007]MACHANAVAJJHALA,A. KIFER,D. GEHRKE,J. and VENKITASUBRAMANIAM, U. l-Diversity: Privacy Beyond k-Anonymity. ACM Transactions on Knowledge Discovery from Data, Vol. 1, No. 1, Article 3,2007 • [S01] Samarati, P. Protecting Respondents' Identities in Microdata Release. IEEE TKDE, 13(6):1010-1027, 2001. • [S02a] Sweeney, L. k-Anonymity: A Model for Protecting Privacy. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 2002. • [S02b] Sweeney, L. k-Anonymity: Achieving k-Anonymity Privacy Protection using Generalization and Suppresion. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 2002. • Ninghui Li,Tiancheng Li,Venkatasubramanian, S. “t-Closeness: Privacy Beyond k-Anonymity and –Diversity”. ICDE2007, pp.106-115, 2007. • [SMP] Sacharidis, D., Mouratidis, K., Papadias, D. k-Anonymity in the Presence of External Databases(to be appeared)
ここまで述べてきたように、公開された複数のデータベースを串刺しする攻撃への対策は、t-closenessに至って、一段落した感あり。ここまで述べてきたように、公開された複数のデータベースを串刺しする攻撃への対策は、t-closenessに至って、一段落した感あり。 • 攻撃者は、データベースへの質問者の場合を想定 • 攻撃者の事前知識に左右されることなく、データベースのプライバシー保護の強度を数学的に制御できる概念として、2006年以降、マイクロソフトのCynthia Dworkが中心になって提案した差分プライバシーがトレンドとなった。
DIFFERENTIAL PRIVACY差分プライバシー • 同じドメインのデータベース:D1,D2要素が1個だけ異なる • 任意のD1,D2において、両者を質問 f に対して区別できない結果を返す データベースの内容が利用者に同定しにくいという相対的安全性:差分プライバシー • X=D1 or D2 に対してYをうまく決めて • t=f(X)+Y p(t-f(D1)) ≦eεp(t-f(D2)) • あるいは としたい。 • このようなYの分布はラプラス分布で実現 D1 D2 α 1要素だけ違う
安全度低い 安全度高い パラメータ ε の調整 大 小 ここは等しい どんな関数 f がこの枠組みに入れるのかが研究課題
Differential Privacy の文献 • C. Dwork. Differential privacy. In ICALP, LNCS, pp.1–12, 2006. • C. Dwork. Dierential privacy: A survey of results. InTAMC, pp. 1-19, 2008. • Cynthia Dwork, Frank McSherry, KunalTalwar. “The Price of Privacy and the Limits of LP Decoding”. STOC’07, pp.85-94, 2007
分類 • 必ずしも信用できないクラウドサーバ計算を任せる場合の元データのプライバシー維持 • Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation • k-Support Anonymity Based on Pseudo Taxonomy for Outsourcing of Frequent Itemset Mining • 差分プライバシー • Data Mining with Differential Privacy • Discovering Frequent Patterns in Sensitive Data • Versatile Publishing for Privacy Preservation • これらは摂動法 • これは暗号法 • 暗号技術による分散データからのマイニング • Collusion-Resistant Privacy-Preserving Data Mining
必ずしも信用できないクラウドサーバ計算を任せる場合の元データのプライバシー維持必ずしも信用できないクラウドサーバ計算を任せる場合の元データのプライバシー維持
(1)Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation • 信用できない外部のサーバにSVMをoutsourcingするときに、元データを推定されないようにKernelをランダム変換するアルゴリズム • 従来は、教師データからランダムに選んだ小さな部分でSVMの学習をする方法。そこそこの精度。ただし、テストにおいては外部サーバにデータを知られてしまう。 • そこで新規提案 外部サーバ データの持ち主 外部サーバ データの持ち主 予測ラベル 教師データ 摂動SVM分類器 テストデータ ランダム変換 ランダム変換 摂動データで学習したSVMで予測 摂動教師データでSVM学習 摂動テストデータ 摂動教師データ 予測 学習
Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation • まず、準備としてm個の教師データのうちm’(<<m)個の部分集合だけを用いるReduced SVMを説明。本来は少ないメモリでSVMを行うアルゴリズム • Y.-J. Lee and O. L. Mangasarian. RSVM: Reduced support vector machines. In Proceedings of the 1st SIAM International Conference on Data Mining (SDM), 2001. • データはm個。1つのデータはn次元のベクトル。 • y=分類の誤り許容度(ソフトマージン)の列ベクトル、 • γ=原点からの距離 • A=教師データ(n×m行列) • Dii=1 if 分類 iが正解 e=-1 if 不正解.if i≠j then Dij=0 • 最適化の定式化 • eは全要素が1の 列ベクトル
概念図 分離平面 x’w=γ w A+ Margin =2/||w||2 xTwーγ=1 A- xTwーγ=ー1
図のように線形分離できないときは、yiというソフトマージンのパラメータを使って制約を以下のように緩和図のように線形分離できないときは、yiというソフトマージンのパラメータを使って制約を以下のように緩和 • 最適化問題は以下のようになる • 制約なし最適化に書き直すと m個の xTwーγ=1 xTwーγ=ー1 に対応する制約式群 x+ = max{0, x} 次のページに具体例
(w1,w2) 分離平面x1w1+x2w2=γ A+ x1w1+x2w2=γ+1 A- (a21,a22) x1w1+x2w2=γ-1 (a11,a12) (a31,a32)
分離平面x’w=γ • y=分類の誤りの列ベクトル、γ=原点からの距離 • A=教師データ • Dii=1 if 分類 iが正解 else =-1 • w=重みベクトル=ATDu • 分離平面 xTw= γ • xT ATDu = γ • linear kernel K(xT AT)Du = γ • さらにDをかけると DK(xT AT)Du = Dγ w A+ 学習するのはこのu Margin =2/||w||2 xTw=γ+1 A- xTw=γ-1 次のページに具体例
xTw= γ xT ATDu = γ linear kernel K(xT AT)Du = γ さらにDをかけると D K(xT AT) Du = Dγ
するとSVMの最適化は (ただしA’=AT) • これは条件なし最小化問題 (10) • Newton 法などで解ける。 • ここで、カーネル行列K(A,AT)は大きすぎてメモリに乗らないので、Aの次元をmとすると、より小さな次元 m’<<mの (これはAのランダムな部分集合)を用いたカーネル行列 を(10)に代入し最適化問題を解くのがRSVM • この をAとは関係ない乱数にしてしまうのが次ページのアイデア
Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation • 教師データxに行列Mで表されるランダム変換を施したMxとm’個のランダムデータrに逆変換した(MT)-1rを外部サーバに送り、この2種のデータ間でのペアからなるkernel k(xi,rj)でSVMを学習。(m’<<m)K(A,A’)によるReduced SVM • ランダムベクトルで学習するので、kernel matrix k(xi,xj)も外部サーバに知られない。ランダムベクトルは漏れなければ他の学習データも漏れない。 • ランダムデータは人手などによって分類を与えれば、使える。 • 線形カーネルの場合は、置換したMxを計算サーバに与えて計算する識別関数は、以下の通り • (Mx)T(MT)-1r=xTMT(MT)-1r=xTrなので、多項式カーネルも計算できる
よって、実際のテストデータzはMzと変換して計算をoutsourceすれば、計算はO(m’)で少なく、データ内容を(かなり)保護できる。よって、実際のテストデータzはMzと変換して計算をoutsourceすれば、計算はO(m’)で少なく、データ内容を(かなり)保護できる。 • 精度の実験結果は以下(m’=m/10) 上の図は以下より抜粋:Keng-Pei Lin,Ming-Syan Chen. Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation ,KDD2010
(2)k-Support Anonymity Based on Pseudo Taxonomy for Outsourcing of Frequent Itemset Mining • 頻出アイテムセットのマイニングをアウトソーシングするときに k-support anonymity という概念を提案 • k-support anonymity= 同一のsupport値のアイテムがk個以上存在 • k-support anonymityを実現し、かつ匿名化した擬似分類木を導入して頻出アイテムセットマイニングをアウトソース • 匿名化された結果を得たら復号化して欲する結果を得る
3-support anonymity support 2のitem にはa,g,hの3種類あり 5 5 ○の中の数は、その部分木に含まれるtransactionの数の合計 k 全商品 5 2 4 5 嗜好品 h:茶 {3,5} i j 4 4 4 4 2 2 安い嗜好品 e f f:ワイン {1,2,4,5} g h {1,2} {3,5} 2 3 2 3 3 3 a:ビール {4,5} b:たばこ {2,3,4} a b c d {4,5} {2,3,4} {1,4,5} {1,2,5} (b) (a)
insert (b) 5 (a) k 5 4 i 茶 {3,5} j 4 4 2 2 P1 f:ワイン g h:茶 {1,2,4,5} {1,2} {3,5} 2 3 1,2はp3には含まれているのでsup(茶)に影響なし a:ビール {4,5} b:たばこ {2,3,4} 5 5 (d) k 5 k 4 5 4 (c) i j i j 4 4 4 2 2 4 2 2 e f:ワイン g h:茶 {1,2,4,5} {1,2} {3,5} e f:ワイン g h:茶 {1,2} {3,5} 2 3 5 3 2 3 3 1 3 increase a:ビール {4,5} k a:ビール {4,5} 5 b:たばこ c d {2,3,4} {1,4,5} {1,2,5} b:たばこ c d {2,3,4} {1,4,5} {2} 2 i 1,5を追加してもsup(ワイン)は不変。 4 sup(p6)=3<sup(ワイン) sup(p7)=1<sup(ワイン) sup(ワイン)に影響なし 4 split e f:ワイン {1,2,4,5} 2 3 a:ビール {4,5} b:たばこ {2,3,4} insert、split、increaseという木構造の変更によって supTN(child node)<supTI(sensitive node)<supTN(parent node) という関係を崩さなければ、supportの計算は保存される
(3)Discovering Frequent Patterns in Sensitive Data • Sensitiveなデータのデータセットからトップk個の再頻出パタン( mostfrequent patterns: top k FPM)を抽出するにあたって、ε 差分プライバシーを満たすような細工をする。 • 近似 top k FPM • fkをk番目に多いパタンの真の頻度とする。 信頼度=ρ:確率(1- ρ)以上で以下の条件を満たす • Soundness: 真の頻度が(fk− γ)より少ない頻度のパタンは出力しない。 • Completeness:真の頻度が(fk+γ) より大きいパタンは全て出力する。 • Precision: 出力された全パタンの頻度は真の頻度から±η の範囲に入る。
提案アルゴリズム • 入力:パタン集合=U,データセットサイズ=n • 前処理:γ=(8k/εn)ln(|U|/ρ) とし、通常のFrequent Pattern Mining アルゴリズムで、頻度> (fk− γ) のパタン集合Uを抽出。残りのパタンの頻度は (fk− γ) と見なす • 雑音加算とサンプリング:Uの各パタンの頻度にLaplace(4k/εn)で生成した値を加算。この加算の結果からトップkパタンを通常のFPMで抽出 する。これをSと呼ぶ。 • 摂動(Perturbation):S中のパタンの頻度にLaplace(2k/εn)で生成した値を加算し、雑音加算された頻度を得、これを最終結果として出力する。 ここでε/2-差分private ここでε/2-差分private 併せてε-差分private
提案されたアルゴリズムは ε差分プライバシー提案されたアルゴリズムは ε差分プライバシー • 少なくとも1-ρの確率で、真の頻度が(fk− γ)より大きなパタン全てを抽出でき、 U中で(fk+γ)より大きなパタン全てが出力される。ただし、 γ=(8k/εn)ln(|U|/ρ) • 少なくとも1-ρの確率で、雑音加算された頻度と真の頻度の差はη以下。ただし、 η =(2k/εn)ln(k/ρ) • Top kパタンの抽出の計算量はO(k’+klogk) ただし、k’は頻度> (fk− γ) のパタンの個数
(4)Data Mining with Differential Privacy • データを属性の値によって分類するID3における 分類木(decision tree) 構築時には、分類木のあるnode にぶら下がるデータをsplitし、information gainが最大のsplitの仕方を選ぶ。 • information gain =(データ全体のエントロピー) ー(ある属性でデータを分割した場合のエントロピー) • この論文では、info. gain 以外にもGINI係数、最大値などを利用して実験比較している。 • そこで、splitしたデータの個数にLaplace分布に応じたノイズを加え、これにより 差分プライバシーを実現