840 likes | 1.13k 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が中心になって提案した差分プライバシーがトレンドとなった。
差分プライバシーの必要性 病院AのDB at 10:30am インフル 10名 病院AのDB at 10:40am インフル 11名 太郎が来院 at 10:31 10+1=11名 11-2=10名 DBにインフル患者数を質問し、10:30am で10,10:40am で11と分かると、太郎の来院を知っていた人は太郎がインフルだと分かってしまう。 質問への結果に雑音加算すると回避できる。
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)) • あるいは としたい。(ε-privacy) • このようなYの分布はラプラス分布で実現 D1 D2 α 1要素だけ違う
右側のほうがより安全 パラメータ ε の調整 どんな関数 f がこの枠組みに入れるのかが研究課題
差分プライバシーの弱点 DBへ同じ質問(インフル患者数)を繰り返すと 9 12 8 11 平均すると (9+12+8+11)/4=10 病院AのDB at 10:30am インフル 10名 同じ質問を繰り返してもε-privacyが保てるようにするには、非常に大きな雑音を加算しないとならないデータマイニング精度の低下
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
暗号化準同型性公開鍵暗号を用いたPPDMプロトコル暗号化準同型性公開鍵暗号を用いたPPDMプロトコル
プライバシ保護データマイニングの目的 • Alice は彼女のデータベースを Bob に開示したくない. • Bob も彼のデータベースを Alice に開示したくない. • ただし,結合されたデータ XA∪XBについてデータマイニングや統計処理を実行し,その結果のみを知りたい. • PPDMではAliceやBobを「パーティ」と呼ぶ。 XA XB × Bob Alice XA∪ XB
プライバシー保護データマイニング(PPDM)では • 自分自身のデータを持つ多数のパーティが、各々のデータを他のパーティに知られることなく、全パーティのデータを統合的に利用したデータマイニング結果を入手すること. • 暗号技術に基づく PPDM 実現が目標. • このようなPPDMには多数の応用分野がある • 多数の病院が協調して疫病の感染ルート追跡 • 多数の金融機関が協調して個人の信用情報を得る(与信) • 競合数社が共同して市場調査
暗号学的アプローチ • データマイニングを複数の分散計算に分割. • セキュリティプロトコルや暗号学的ツールを組み合わせて,それぞれの計算をプライバシを保護して実行. • 準同型性公開鍵暗号により,暗号化されたデータ同士の加算や乗算を組み合わせた計算が可能. • Epk(m)をメッセージmを公開鍵pkで暗号化したものとするとEpk(m1)* Epk(m2)= Epk(m1+m2) Alice Bob XA XB 暗号化 暗号化 XA XB 暗号プロトコルによる関数の評価
暗号法の参考文献 • プライバシー保護データマイニング J.ヴァイダヤ、C.W.クリフトン、Y.M.ズー著 シュプリンガージャパン 2010 (原著は 2006) • 計算機科学、機械学習の国際会議としては、KDD,ICML,ICDM,などに論文が発表されている。
準同型性公開鍵暗号による平均値の計算プロトコル準同型性公開鍵暗号による平均値の計算プロトコル • A knows x and m, B knows y and n • Both A and B knows public key : pk • A only knows secret key: sk • A B • Epk(x) ,Epk(m) • B generates random z • Epk(y)z =Epk(yz),Epk(n)z =Epk(nz), • Epk(m)z=Epk(mz),Epk(x)z =Epk(xz), • Epk(yz)xEpk(xz)=Epk(z(x+y)) • Epk(mz)xEpk(nz)=Epk(z(m+n)) • Dsk( Epk(z(x+y))) /Dsk( Epk(z(m+n)) ) • =z(x+y)/z(m+n) • =(x+y)/(m+n) (x+y)/(m+n) • Both A and B knows (x+y)/(m+n) • Note: A couldn’t know z nor y because couldn’t factor out z or y from z(x+y) 大きな数の因数分解の不可能性
内積をプライバシー保護しつつ計算し、結果を乱数としてシェアを計算するプロトコル.内積をプライバシー保護しつつ計算し、結果を乱数としてシェアを計算するプロトコル. • ここでrBは,Bob しか知らない乱数である. • 準同型性公開鍵暗号を用いれば,実現できる. • シェアしているのは乱数だが、足せば内積が得られる
付録:1-out of-2 Oblivious Transfer protocol:OT • n- out of –N も同様 • Alice will send Bob one of two messages. Bob will receive one, and Alice will not know which. Alice Bob (m1, m2) m1を受け取ると決める (pk1, sk1), (pk2, sk2) pk1, pk2K:symmetric key, Epk1(K) Aliceはpk1,pk2のどちら でencryptされたか分からない。 Dsk1( Epk1(K))=K, Dsk2(Epk1(K))=G EK(m1), EG(m2) DK(EK(m1))= m1, DK(EG(m2))
データマイニング • 上記のプライバシー保護計算のプロトコルを基礎に、より高度なデータマイニングアルゴリズムを実現する。 • 全データはデータ保持者であるパーティ毎への分割は水平分割と垂直分割の2種類あり(次ページ) • 水平、垂直分割データにおけるEMアルゴリズム、K-meansなどを実現するプロトコルが知られている。
データ分割のモデル垂直分割と水平分割 水平分割 パーティ1 垂直分割 パーティ1 パーティ2 パーティ3 パーティ2 パーティ3
水平分割におけるK-means • パーティ数はr • パーティi のm番目のデータの属性jj=1,..,J(J次元) のデータをdi×m-j J次元のベクトル空間の距離はユークリッド距離など適当なものを用いる • k番目のクラスタの属性j の値をγkjクラスタ数はK • γkjの初期値はγkj0 • 目的:K個のクラスタのγkjのK-meansの計算結果を全パーティが知る。ただし、個別のパーティのデータは他へは漏れない。 γkはクラスタkの重心
パーティ1とパーティrは特殊 • Step 1 パーティ1は乱数Rbを生成し、パーティrだけに送信 • Step 2 パーティrは公開鍵pkを作り全パーティに送る。秘密鍵skは自分だけで保持。
Step 3 for all m (in パーティ1) {パーティ1は自分のデータにd1×m に対してクラスタ中心γkが一番近いクラスタのJ次元ベクトルΓkJにd1×m を加算し、カウントCkにも1を加算} • 以上によって生成された ΓkJとCkはパーティ1がクラスkにもっとも近いデータの属性の総和と、そのようなデータの個数 • 次は自分のデータを隠す乱数Rbの加算と暗号化をし、その結果をパーティ2に送る for j=1,J Epk[Γkj+Rb] パーティ2に送る end for Epk[Ck+ Rb」パーティ2に送る パーティ1は1番目であるが、それが保持している情報はRbによって保護される
Step 4 • for i=2からr-1 • パーティi-1から受け取ったJ+1種のデータをEpk[Γ’kj+Rb](j=1,..,J )、Epk[Ck’+Rb] とする • Γkj=0. Ck=0 • パーティiは自分のデータにdi×mに対してクラスタ中心γkが一番近いクラスタのJ次元ベクトルΓkJにd1×m を加算し、カウントCkにも1を加算 • Epk[Γ’kj+Rb]E[Γkj ] =Epk[Γ’kj+Γkj+Rb](j=1,..,J )、Epk[Ck’+Rb]E[Ck]=Epk[Ck’+Ck+Rb] を計算してパーティi+1に送る
Step 5 パーティrにおいての操作 • まず、Step 4と同様に自分のデータを用いてEpk[Γ’kj+Γkj+Rb](j=1,..,J )、Epk[Ck’+Rb]E[Ck]=Epk[Ck’+Ck+Rb] を計算 • 秘密鍵skでこれらを復号し、Rbを差し引いた上で比をとる。すなわち • DskEpk[Γ’kj+Γkj+Rb]-Rb=Σパーティ1からrΓkj=Akj • DskEpk[Ck’+Ck+Rb] -Rb=Σパーティ1からr Ck=Bk • Akj/Bk=γkjすなわち次元jにおけるクラスタkの属性の平均値がわかった。これを全パーティに送信 パーティrは平均値以外には、他の個々のパーティの情報は得ることができない。
Step 6 Step 5でパーティrから送られたγkjを新たなクラスタkの中心の属性jの値として、Step 3, 4, 5をγkjが収束するまで繰り返す。 γkjの収束判定はパーティ1かrが直前のγkjと比較して行えばよい
垂直分割におけるK-means • J.Vaidya et.al. Privacy Preserving k-means clustering over vartically partitioned data. KDD2003, 206-215, 2003 • 垂直分割の場合は、各パーティのデータを保護するために水平分割の場合とは異なる工夫が必要 • パーティ数はr 各データはr個の属性値からなる • クラスタ数はK • 総データ数はN パーティiはN個のデータ y(i)n (n=1,..,N)を持つ (データの属性は1個)
パーティ毎のデータ保持状況 • クラスタk (k=1,..,K)は属性i (i=1,..,r)に対してそのクラスタに属すると想定されるデータの平均値μkiを持つ • パーティiが保持しているN個のデータはyniという値を持つ • パーティiはデータ毎に属性iの値をクラスタkの平均値との差 X(i)nk=y(i)niーμkiを成分とするベクトルを持つ(下図参照) N枚 ある
分散データに対するK-means • 各パーティiにおいて以下を繰り返す • ただし、パーティiが保持しているのは yni (n=1,..,N)とμki • for n=1,N • for k=1,K • X(i)nk=yniーμki (前頁の行列の成分の計算) • end for • SecureNearestCluster: n番目のデータの一番近いクラ スタを求める • end for • 6.までで各データに一番近いクラスタが求まったら、それを用いてクラスタkに対応する属性iの平均値μkiを再計算する この作業を各パーティのデータを保護しつつ行うアルゴリズムを次のページ以降で述べる