スライド 1

個人情報保護が叫ばれる
複数の企業、組織が協力し
ないと日本はどんどん遅れ
ていく
欧米では、性別や人種に
よる差別が起きないよう
なデータマイニングにも
焦点が当たり始めている
2002年くらいから伸びてきた分野です。最
近は機械学習、データ工学系の学会で相当
数の論文が発表されています。
こういうご時勢ですから、ひょっとすると
重要な技術要素になるかもしれません。
プライバシ保護データマイニング
(PPDM)
東京大学
中川裕志
PPDMの基礎概念
2種類のPPDM
摂動法



データベースに雑音を加え、利用者がデータベースに質
問しても真のデータベースの内容が利用者には取得でき
ないようにする
プライベートな情報は漏れないようにしたいが、一方で
できるだけ正確なデータマイニング結果も得たい!
暗号法


3
データ保持者をパーティと呼ぶ。複数のパーティが自分
のデータは公開鍵暗号で暗号化する。当然、他のパー
ティには自分のデータは知られない。暗号化したまま何
らかの計算をしてデータマイニングの結果だけは全パー
ティが共有する。
摂動法
摂動法に関して
2002年から2006年ころまでに導入された概念




摂動法によるPPDMを始めた動機
k-匿名性(k-anonymity)
l-多様性(l-diversity)
t-closeness
動機

複数の組織がプラバイシーに係わるクリティカルなデータ
(sensitive data)を持ち、場合によっては公開している


microdata の保護のため sanitized(不要部分の削除など)



microdata (vs. aggregated macrodata) と呼ばれる詳細データが解析
やマイニングに利用される状況である。(USでは公開は法令で義
務化 )
例えば、explicit identifiers (Social Security Number, name, phone #)
の削除
しかし、それで十分か?
否! link attacksの脅威

公開データからプライバシー情報を推測できる可能性あり
link attack の例

Sweeney [S01a] によれば、Massachussetts州知事の医療記録
が公開情報から特定可能


MA では、収集した医療データを sanitize して公開している(下図)
(microdata) 左円内
一方、選挙の投票者名簿は公開 右円内
• 両者をつきあわせると
•
6 人が知事と同じ生年月日
うち3 人が男
うち1 人が同じzipcode
• 1990年の the US 1990 census dataによれば
[S01a]より
– 87% の人が (zipcode, 性別, 生年月日)によって一意特定可能
microdataのプライバシー

microdataの属性



explicit identifiers は削除
quasi identifiers (QI=擬ID)は個人特定に利用可能
sensitive attributes は sensitive 情報を持つ
identifier
quasi identifiers
sensitive
名前
誕生日
性別
Zipcode
病名
太朗
21/1/79
男
53715
風邪
花子
10/1/81
女
55410
肺炎
光子
Sanitize!
1/10/44
女
90210
気管支炎
次郎
21/2/84
男
02174
ねんざ
明菜
19/4/72
女
02237
エイズ
プライバシー保護の目標は、個人を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
誕生日
性別
Zipcode
21/1/79
男
53715
10/1/79
女
55410
1/10/44
女
90210
21/2/83
男
02274
19/4/82
男
02237
2-anonymous data
group 1
誕生日
性別
Zipcode
*/1/79
人
5****
*/1/79
人
5****
女
90210
*/*/8*
男
022**
*/*/8*
男
022**
suppressed 1/10/44
group 2
一般化を行う束: lattice
K-anonymity
Z2 ={537**}
Z1 ={5371*, 5370*}
B1 ={*}
S1 ={Person}
Z0 ={53715, 53710, 53706, 53703}
B0 ={26/3/1979, 11/3/1980, 16/5/1978}
S0 ={Male, Female}
全Qiに対して一般化を行う束を構成
<S1, Z1>
<S0, Z2>
<S1, Z0>
<S0, Z1>
一般化
more
<S1, Z2>
<S0, Z0>
性別
誕生日
zipcode
less
目的
k-anonymityを満たしつつ、最小限の
一般化を行う
[1, 2]
[1, 1]
[0, 2]
[1, 0]
[0, 1]
[0, 0]
一般化のために束構造を使う
incognito [LDR05]
単調性の利用
<S1, Z2>
<S1, Z1>
(I) 一般化の性質 (~rollup)
<S0, Z2>
if k-anonymity があるノードで成立
then そのノードの任意の上位ノードでも成立
e.g., <S1, Z0> k-anonymous  <S1, Z1> も <S1, Z2> k-anonymous
<S1, Z0>
<S0, Z1>
<S0, Z0>
<S,Z,B>を全部使って描くと複雑
すぎるので<S,Z>のみ
(II) 部分集合の性質 (~apriori)
if あるノードでQI の属性の集合が k-anonymity でない
then その集合を含む集合でもk-anonymity でない
e.g., <S0, Z0> k-anonymous でない
 <S0, Z0, B0> and <S0, Z0, B1> k-anonymous でない
分割によっては匿名化できない例
not 2-anonymous
incognito の例
2 QI 属性, 7 このデータ点
zipcode
sex
2-anonymous
group 1
w. 2 tuples
group 2
w. 3 tuples
group 3
w. 2 tuples
一般化の良い例、悪い例[LDR05, LDR06]
各次元を順次一様に
一般化
各次元を個別に一般化
多次元まとめて一般化
mondrian [LDR06]
topdown [XWP+06]
incognito [LDR05]
一般化の強さ
mondrian
[LDR06]
2-anonymous
グループの周囲長を利用してグループ化[XWP+06]:
まずい一般化
良い一般化
長い箱
正方形に近い
データマイニングの精度が
低い
データマイニングの精度が
高い
Topdown [XWP+06]
split algorithm
最も遠い2点を種にして開始
• これはヒューリスティックではある
• 種から2グループへ成長させる
各データ点を調べ、近くの種(あるいは種から
成長したグループ)に周囲長が最小になる
点を追加して新しいグループとする
右図では、全ての点は、元々は赤と緑に分離さ
れていなかったが、アニメーションに示すよ
うな流れで2グループに分離された。
外部DBを逆に利用

外部データは通常攻撃側が使うが、これを逆利用して役立てたい

join k-anonymity (JKA) [SMP]
3-匿名
マイクロデータ
k-匿名
合併
公開データ
合併 3-匿名
anonymous
合併されたマイクロデータ
JKA
x3
x3
x3
k-匿名性の問題点
id
1
2
3
4
5
6
7
8
9
10
11
12

k-匿名性 の例

Homogeneityによる攻撃: 最終グループは全員 cancer

背景知識による攻撃: 第1グループで、日本人は心臓疾患にかかりにくいことが知
られていると。。。
microdata
国籍
Zipcode 年齢
ロシア
13053
28
13068
29
US
日本
13068
21
13053
23
US
インド
14853
50
ロシア
14853
55
14850
14850
13053
13053
13068
13068
47
49
31
37
36
35
US
US
US
インド
日本
US
病名
心臓病
心臓病
感染症
感染症
がん
心臓病
感染症
感染症
がん
がん
がん
がん
id
1
2
3
4
5
6
7
8
9
10
11
12
4-anonymous data
国籍
Zipcode 年齢
130**
<30
∗
130**
<30
∗
130**
<30
∗
130**
<30
∗
1485*
≥40
∗
1485*
≥40
∗
1485*
≥40
∗
1485*
≥40
∗
130**
3∗
∗
130**
3∗
∗
130**
3∗
∗
130**
3∗
∗
病名
心臓病
心臓病
感染症
感染症
がん
心臓病
感染症
感染症
がん
がん
がん
がん
l-多様性
[MGK+06]

各グループにおいて sensitiveなデータの値がうまく
管理されていることを目指す
 homogeneity 攻撃を防ぐ
 背景知識攻撃を防ぐ
l-多様性 (簡単な定義)
あるグループが l-多様性を持つとは、
そのグループ内では少なくともl種類の
sensitive なデータ値が存在する
• group内にl種類のsensitiveな値があり、できるだけ均等に出現することが
望ましい。
名前
年齢
性別 病名
一郎
65
男
インフルエンザ
次郎
30
男
胃炎
三子
43
女
肺炎
四郎
50
男
インフルエンザ
五子
70
女
肺炎
六夫
32
男
七子
60
八郎
九美
病名の頻
度順に並
んだDB
インフル
六夫
インフル
七子
インフル
四郎
インフル
三子
肺炎
インフルエンザ
五子
肺炎
女
インフルエンザ
八郎
肺炎
55
男
肺炎
40
女
鼻炎
一郎
インフル
六夫
インフル
七子
インフル
四郎
インフル
三子
肺炎
五子
肺炎
八郎
肺炎
次郎
胃炎
九美
鼻炎
21
一郎
次郎
胃炎
九美
鼻炎
algorithm
•sensitive values を bucket
に割り当て
•大きい順にl個のbucketから
データを引き出してグループ
を形成
3つのグループはいずれも3種類の病名(sebnsitive data)を含む:l-diversity
Anatomy

グループ化したデータをQIの表とsensitiveデータの
表に分割 3-diversity
名前:
匿名化
する
QI:
年齢
QI:
性別
グルー
プID
一郎
65
男
1
七子
60
女
三子
43
八郎
グループ
ID
病名
頻度
1
インフル
2
1
1
肺炎
2
女
1
1
鼻炎
1
55
男
1
2
インフル
2
九美
40
女
1
2
肺炎
1
六夫
32
男
2
2
胃炎
1
四郎
50
男
2
五子
70
女
2
次郎
30
男
2
22
これらの2つの表から
データマイニングする
t-closeness



l-多様性があっても、ある属性がaの確率99%,bの確率
1%というように偏りが激しいと、プライバシーは危険
2つのグループ(上記a属性のグループとb属性のグルー
プ)は、sensitive データの分布における距離と、全属性
の分布における距離が t 以下であるとき、 t-closeness
である。
上記の分布間の距離としては、属性を各次元としてにお
いてEarth Mover’s distance(EMD)を用いる
P   p1 , p2 ,.., pm , Q  q1 , q2 ,..,qm , dij  distancebetween pi and q j : given
fij  flow bewteen pi and q: j
  d f 最適化したのが EMD
EMDP, Q   min   d f
fijを変化させて
f ij
s.t.
fij  0
 
m
23
i 1
m
m
i 1
j 1
m
m
i 1
j 1
ij ij
ij ij
1  i  m,1  j  m
,
pi   j 1 fij   j 1 f ji  qi
f  i 1 pi  i 1 qi  1
j 1 ij
m
m
m
m
m
攻撃を断ち切るには をどこか断ち切れば良い
micro data
公開された外部
データベース
k-anonimity
microdata と公開外部データとの
突き合わせを狙う攻撃
背景知識
l-diversity
t-closeness
背景知識を用いたQuasi ID とsensitive
dataの突き合わせを狙う攻撃
個人情報流出
24
k-anonymity, l-diversity, t-closenessの参考文献









[LDR 05]LeFevre, K., DeWitt, D.J., Ramakrishnan, R. Incognito: Efficient Full-domain kAnonymity. SIGMOD, 2005.
[LDR06]LeFevre, K., DeWitt, D.J., Ramakrishnan, R. Mondrian Multidimensional kAnonymity. 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)
25

ここまで述べてきたように、公開された複数のデー
タベースを串刺しする攻撃への対策は、t-closenessに
至って、一段落した感あり。

攻撃者は、データベースへの質問者の場合を想定
攻撃者の事前知識に左右されることなく、データ
ベースのプライバシー保護の強度を数学的に制御で
きる概念として、2006年以降、マイクロソフトの
Cynthia Dworkが中心になって提案した差分プライバ
シーがトレンドとなった。

26
差分プライバシーの必要性
病院AのDB at
10:30am
インフル 10名
10+1=11名
太郎が来院 at
10:31
病院AのDB at
10:40am
インフル 11名
11-2=10名
DBにインフル患者数を質問し、10:30am で10,10:40am で11と分か
ると、太郎の来院を知っていた人は太郎がインフルだと分かってしまう。
 質問への結果に雑音加算すると回避できる。
27
DIFFERENTIAL PRIVACY
差分プライバシー

同じドメインのデータベース:D1,D2要素が1個だけ異なる
D2
D1
α
1要素だけ違う
任意のD1,D2において、両者を質問 f に対して区別できない
結果を返す  データベースの内容が利用者に同定しにく
いという相対的安全性: 差分プライバシー
 X=D1 or D2 に対してYをうまく決めて
 t=f(X)+Y  p(t-f(D1)) ≦ eε p(t-f(D2))
pt  f D1
 あるいは
log
  としたい。(ε-privacy)



pt  f D 2
このようなYの分布はラプラス分布で実現
28
 t
1
pがラプラス分布 : Lapalace  
exp  
2
 
 t  f ( D1) |  | t  f ( D 2) 
p(t  f ( D1)) exp t  f ( D1) /  



 exp
p(t  f ( D 2)) exp t  f ( D 2) /  



 f ( D1)  f ( D 2) 
  exp f ( D1)  f ( D 2)   expp 
 exp



p  max f D1  f D1
D1, D 2
 p 
 p 
 p Y   p t  f ( X )   Laplace

Y

t

f
(
X
)
~
Laplace









パラメータ ε の調整
29
右側のほうがよ
り安全
どんな関数 f がこの枠組みに入れるのかが研究課題
差分プライバシーの弱点
DBへ同じ質問(インフル患者数)を
繰り返すと
9
病院AのDB at
10:30am
インフル 10名
12
8
11
平均すると (9+12+8+11)/4=10
同じ質問を繰り返してもε-privacyが保てるようにする
には、非常に大きな雑音を加算しないとならない
データマイニング精度の低下
30
Differential Privacy の文献



C. Dwork. Differential privacy. In ICALP, LNCS, pp.1–12,
2006.
C. Dwork. Dierential privacy: A survey of results. In
TAMC, pp. 1-19, 2008.
Cynthia Dwork, Frank McSherry, Kunal Talwar. “The
Price of Privacy and the Limits of LP Decoding”.
STOC’07, pp.85-94, 2007
31
暗号化
準同型性公開鍵暗号を用いたPPDMプロトコル
32
プライバシ保護データマイニングの目的
Alice
Bob
XA
XB
XA ∪ XB




Alice は彼女のデータベースを Bob に開示したくない.
Bob も彼のデータベースを Alice に開示したくない.
ただし,結合されたデータ XA∪XB についてデータマイニ
ングや統計処理を実行し,その結果のみを知りたい.
PPDMではAliceやBobを「パーティ」と呼ぶ。
33
プライバシー保護データマイニング(PPDM)では
 自分自身のデータを持つ多数のパーティが、各々の
データを他のパーティに知られることなく、全パー
ティのデータを統合的に利用したデータマイニング
結果を入手すること.
 暗号技術に基づく PPDM 実現が目標.
 このようなPPDMには多数の応用分野がある



多数の病院が協調して疫病の感染ルート追跡
多数の金融機関が協調して個人の信用情報を得る(与
信)
競合数社が共同して市場調査
暗号学的アプローチ


データマイニングを複数の分散計算に分割.
セキュリティプロトコルや暗号学的ツールを組み合わせて,
それぞれの計算をプライバシを保護して実行.
 準同型性公開鍵暗号により,暗号化されたデータ同士の加
算や乗算を組み合わせた計算が可能.

Epk(m)をメッセージmを公開鍵pkで暗号化したものとすると
Epk(m1)* Epk(m2)= Epk(m1+m2)
Alice
XA
Bob
XB
暗号化
暗号化
XA
XB
暗号プロトコルに
よる関数の評価
35
暗号法の参考文献
プライバシー保護データマイニング
J.ヴァイダヤ、C.W.クリフトン、Y.M.ズー著
シュプリンガージャパン 2010
(原著は 2006)
 計算機科学、機械学習の国際会議としては、
KDD,ICML,ICDM,などに論文が発表されている。

36
準同型性公開鍵暗号による平均値の計算プロトコル
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)
大きな数の因数分解の不可能性
内積をプライバシー保護しつつ計算し、結果を
乱数としてシェアを計算するプロトコル.



Alice
Bob
入力
xA
yB
出力
(xA)T yB - rB
rB
ここで rB は,Bob しか知らない乱数である.
準同型性公開鍵暗号を用いれば,実現できる.
シェアしているのは乱数だが、足せば内積が得られる
Alice
Alice
公開鍵
公開鍵
pk を生成.
pk を生成.
ci = cEnc
Enc
(xi)pk(i(x=
1,…,d)
= 1,…,d)
i = pk
i) (i
Bob
Bob
A)T yB
wwi i==cciyiiy(ii (i==1,…,d)=Enc((x
1,…,d)
ww==ΠΠi=1i=1d dwwi i
Decsk(w’ ) = (xA)T yB – rB
乱数
乱数rBrBを生成.
を生成.
w’
w’==ww**Enc
Encpkpk(-r
(-rBB) )
38
付録: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
(m1, m2)
(pk1, sk1), (pk2, sk2)
Bob
pk1, pk2
Aliceはpk1,pk2のどちら
でencryptされたか分からない。
Dsk1( Epk1(K))=K, Dsk2(Epk1(K))=G
EK(m1), EG(m2)
m1を受け取ると決める
K:symmetric key,
Epk1(K)
D K(EK(m1))= m1, DK(EG(m2))
データマイニング



上記のプライバシー保護計算のプロトコルを基礎に、
より高度なデータマイニングアルゴリズムを実現す
る。
全データはデータ保持者であるパーティ毎への分割
は水平分割と垂直分割の2種類あり(次ページ)
水平、垂直分割データにおけるEMアルゴリズム、
K-meansなどを実現するプロトコルが知られている。
40
データ分割のモデル 垂直分割と水平分割
エンティティ
属性1
属性2
属性3
1
a
A
α
2
b
B
β
3
c
C
γ
4
d
D
δ
5
e
E
ε
6
f
F
ζ
7
g
G
η
水平分割
パーティ1
エンティティ
属性1
属性2
属性3
1
a
A
α
2
b
B
β
パーティ2
垂直分割
パーティ1
パーティ2
パーティ3
エン
ティ
ティ
属性1
エン
ティ
ティ
属性2
エン
ティ
ティ
属性3
エンティティ
属性1
属性2
属性3
1
a
1
A
1
α
3
c
C
γ
2
b
2
B
2
β
4
d
D
δ
3
c
3
C
3
γ
4
d
4
D
4
δ
パーティ3
エンティティ
属性1
属性2
属性3
5
e
5
E
5
ε
5
e
E
ε
6
f
6
F
6
ζ
6
f
F
ζ
7
g
7
G
7
η
g
G
η
7
41
水平分割におけるK-means





パーティ数はr
パーティi のm番目のデータの属性j j=1,..,J(J次元)
のデータをdi×m-j
J次元のベクトル空間の距離はユークリッド距離など適
当なものを用いる
k番目のクラスタの属性j の値をγkj クラスタ数はK
γkjの初期値はγkj0
γkはクラスタkの重心
目的:K個のクラスタのγkjのK-meansの計算結果を全パー
ティが知る。ただし、個別のパーティのデータは他へは漏
れない。
42
パーティ1とパーティrは特殊
 Step
1
パーティ1は乱数Rbを生成し、パーティrだけに送信
 Step
2
パーティrは公開鍵pkを作り全パーティに送る。秘密
鍵skは自分だけで保持。
43

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に送る
44
パーティ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に送る
45
 Step
5 パーティrにおいての操作
 まず、Step
4と同様に自分のデータを用いて
Epk[Γ’kj+ Γkj +Rb](j=1,..,J )、
Epk[Ck’+Rb]E[Ck]=Epk[Ck’+Ck+Rb]
を計算
 秘密鍵skでこれらを復号し、Rbを差し引いた上で比
をとる。すなわち
 Dsk
Epk[Γ’kj+ Γkj +Rb]-Rb=Σパーティ1からr Γkj=Akj
 Dsk
Epk[Ck’+Ck+Rb] -Rb=Σパーティ1からr Ck=Bk
 Akj/Bk= γkj すなわち次元jにおけるクラスタkの属性の
平均値がわかった。これを全パーティに送信
46
パーティrは平均値以外には、他の個々の
パーティの情報は得ることができない。
 Step
6
Step 5でパーティrから送られたγkjを新たなクラスタk
の中心の属性jの値として、Step 3, 4, 5をγkjが収束するま
で繰り返す。
γkjの収束判定はパーティ1かrが直
前のγkjと比較して行えばよい
47
垂直分割における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個)


48
パーティ毎のデータ保持状況



N
枚
あ
る
クラスタk (k=1,..,K)は属性i (i=1,..,r)に対してそのクラス
タに属すると想定されるデータの平均値μkiを持つ
パーティiが保持しているN個のデータはyniという値を持つ
パーティiはデータ毎に属性iの値をクラスタkの平均値との
差 X(i)nk= y(i)niーμkiを成分とするベクトルを持つ(下図参
照)

データi
パーティ1
… パーティi
クラスタ1 X(i)11
…
パーティr
X(i)r1
…..
クラスタk
X(i)nk= y(i)niーμki
…..
クラスタK
49
X(i)1k
X(i)rk
分散データに対するK-means
各パーティi において以下を繰り返す


1.
2.
3.
4.
5.
6.
7.
50
ただし、パーティ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 を
再計算する
SecureNearestCluster アルゴリズム







Key Idea
順同型公開鍵暗号 E[]、D[]を使う
乱数Vを利用して各パーティのデータの流出を防ぐ
距離の比較計算は比較結果だけを得て公開
クラスタの順番を秘匿された置換πで隠す
特別な機能を果たす3パーティをP1,P2,Prとする
全パーティ 1,..rのデータを総合的にみて、データn ( 値
はyni (i=1,..,r))にもっとも近いクラスタknを求める


kn  arg min i1 Xi nk
k 1,..,K
r

次ページ以降ではnは省略する。
51
SecureNearestCluster
3
アルゴリズム-1
つの特別パーティを P1, P2 , Prとする
はK次元の乱数ベクトルVi をr個 (i=1,..,r)生成。
r
T
 ただし
Vi  0  0  0
 P1

i 1
はK次元の乱数ベクトルの各要素を置換する置換πを
生成
 P1
SecureNearestCluster プロトコルのstage1
各パーティi(i≠1,r)とパーティ1の間で以下の計算を行う
V  V 1,VN  , X i   X i 1, , X i n,  , X i N  T
P1には暗号化に
よりX(i)の内容は
わからない
T
① EX i   EX i 1,, EX i N 
T
X i 
V ,
P1
Pi
②を復号し  ( X i   V )
②  (EX i   V )  EX i 1  V 1,, EX i N  VN 
T
準同型性暗号: E[x]*E[y] = E[x+y]
Piには置換πと
乱数Vの加算に
より、元のデー
タとの対応はわ
からない
SecureNearestCluster プロトコルのstage2
stage1でパーティiが得た結果をパーティrに送りX(i)の総和を得る
この結果とP2のデータをsecureに比
較して目的のクラスタを求める
P2
E2 X 2
 X i   Vi
 ( EX 2  V2 )
Vi , 
P3
i 2
P3
P1
Pr
EX r  1
 ( EX (r  1)  Vr 1 )
Stage 1
  X r  1  Vr 1 
Pr-1
Pr-1
EX r 
EX (r )  Vr 
 ( X 1  V1 )
Stage 2
SecureNearestCluster プロトコルのstage3
stage2の結果とP2のデータを総合して、PrとP2の間で最も近いク
ラスタを求めるプロトコル


n-1番目まで調べたところで、X(i)のベクトルのm番
目に対応するクラスタがデータiに一番近いと想定さ
れているとしよう。
この状況で、次のn番目のクラスタがそれより近いか
どうかを判定できればよい

r
i 1
X i   Vi  i 1 X i   i 1Vi  0
r
r
 i 1 X i m  Vi  i 1 X i n  Vi を調べる。
r
r
ただし、 P rが知っているのは
また P2はX 2n  V2 nとと
55

r
i 1

i2
X i n  Vin X i m  Vimを知っている
データnに一番近いクラスタのindexを求める

Prは乱数Raを生成


Epk i  2 X i n  Vin Epk X 2 n  V2 n 

 Epk i 1 X i n  Vin


r
Epk i 1 X i n  Vin
 Epk

r

r
i 1

 Epk

r
i 1
 
X i n  Vin Ra

P2は公開鍵pkと秘密鍵skを作
り
pkをPrに送る

EpkX 2n  V2 nと

Ra
Epk i 1 X i m  Vim
r


Ra
 
X i m  Vim Ra


r
r
i 1
X i n  Vin Ra
 X i n  Vin  1 or  1
 X i m  Vim
r

r

X i m  Vim Ra
i 1
56

Epk i 1 X i m  Vim
をPrに送る
skで復号
skで復号
これらを割り算しそれが1よ
り小さければ最小値を更新
i 1
r
i 1




上記までで求まったクラスタindexはまだ置換された
まま。
そこでこれをP1に送りπ-1を作用させ、真のindexを
求める
このようなstage 1,2,3,4の操作をN個すべてのデータ
に対して行うと、各データがどのクラスタに属する
かわかる。
この後、Piはi番目の属性のクラスタ毎の平均値を
ローカルに計算できる。
57
ややこしい!



以上が垂直分割データに対するプライバシー保護Kmeansアルゴリズムだが大変にややこしい。
しかも、暗号化、復号の回数も多く、速度は遅い。
このようなPPDMプロトコルが実用になるには、もう一歩
のbreak throughが必要のようだ
 ここまで述べた暗号技術を用いるPPDMプロトコルに
おいてはさらに結託攻撃が強敵
 結託攻撃とは t 個の パーティが結託して、別のパー
ティのデータを入手すること
 定義 t-private :上記の結託攻撃を防げるなら、PPDM
は t-private という.
 総パーティ数= Mのとき, M-1-private なら full-private
と呼ぶ.
 full-private は PPDM の安心な利用の試金石.
59
 これまで提案された

PPDM は full-private ではない
Works Methods
Methods
Party
Anti-Collusion
S. Jha 2005
K-Means
2
NA
M. Ozarar 2007
-Means
Multi
×
J. Vaidya 2004
JNaive Bayes
Multi
×
J. Vaidya 2003
K-Means
Multi
×
PPDM の実現が我々の目標。具体的には
full-private な secure dot-products calculation, secure
ratio calculation, secure comparison を提案した.
 full-private

Bin Yang, Hiroshi Nakagawa, Issei Sato, Jun Sakuma.
“Collusion-Resistant Privacy-Preserving Data Mining”. 16th
ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining,(KDD2010) pp.483-492 ,
Washington, DC , USA, July 25-28 , 2010
60
PPDMに関する最近の研究の動向
KDD2010より
分類

必ずしも信用できないクラウドサーバ計算を任せる場合
の元データのプライバシー維持



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
 これらは摂動法
 これは暗号法

暗号技術による分散データからのマイニング

62
Collusion-Resistant Privacy-Preserving Data Mining
必ずしも信用できないクラウドサーバ計算を任
せる場合の元データのプライバシー維持
(1)Privacy-Preserving Outsourcing Support Vector
Machines with Random Transformation


信用できない外部のサーバにSVMをoutsourcingするときに、
元データを推定されないようにKernelをランダム変換するアル
ゴリズム
 従来は、教師データからランダムに選んだ小さな部分で
SVMの学習をする方法。そこそこの精度。ただし、テスト
においては外部サーバにデータを知られてしまう。
そこで新規提案
データの持ち主
外部サーバ
教師データ
摂動SVM
分類器
ランダム変換
テストデー
タ
ランダム変換
摂動教師
データでSVM
学習
摂動教師
データ
64
外部サーバ
予測ラベル
データの持ち主
学習
摂動データで
学習した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 不正解.
最適化の定式化
eは全要素が1の 列ベクトル
65
if i≠j then Dij=0
概念図
w
分離平面
x’w=γ
A+
Margin =2/||w||2
xTwーγ=1
xTwーγ=ー1
66
A-
図のように線形分離できないときは、yiというソフ
トマージンのパラメータを使って制約を以下のよう
に緩和
x T w    yi  1 for x T  Ai and Dii  1

x T w    yi  1 for x T  Ai and

Dii  1
最適化問題は以下のようになる

1 T
T
minm  n 1 y y  w w   2 
 w , , y R
2
2
s.t. D  Aw  e   y  e
m個の
xTwーγ=1
xTwーγ=ー1
に対応する制約式群
y  0
 制約なし最適化に書き直すと
minn 1
 w , R
67

2
e  D  Aw  e 
2
2
1 T
 w w   2 
2
x+ = max{0, x}
次のページに具体例
x T w    yi  1 for x T  Ai and
Dii  1
x T w    yi  1 for x T  Ai and
Dii  1
 w , , y R

1 T

w w  2
2
2
s.t. D  Aw  e   y  e
minm  n 1
yT y 
y  0
1 0 0   a11 a12 
1 0 0  1
 y1 
 w1  




D( Aw  e )  y  0 1 0 a21 a22    0 1 0  1   y2 


  w2  
 
 
0 0  1 a31 a32 
0 0  1 1
 y3 
a12 
 a11
    y1   a11w1  a12 w2    y1  1
w
 
  a21
a22   1        y2    a21w1  a22 w2    y2   1

  w2      
 
 a31  a32 
    y3   a31w1  a32 w2    y1  1
A+
x1w1+x2w2=γ+1
68
(a21,a22)
(w1,w2)
分離平面
x1w1+x2w2=γ
(a11,a12)
x1w1+x2w2=γ-1
(a31,a32)
A-




y=分類の誤りの列ベクトル、γ=原点からの距離
A=教師データ
Dii=1 if 分類 iが正解 else =-1
w=重みベクトル=ATD u

分離平面

 xT AT D u = γ
xTw= γ
学習する
のはこのu
w

A+

linear kernel K(xT AT)D u = γ
さらにDをかけると
xTw=γ+1
DK(xT AT)D u = Dγ

分離平面
x’w=γ
Margin
=2/||w||2
A-
xTw=γ-1
69
次のページに具体例
xTw= γ  xT AT D u = γ
linear kernel K(xT AT)D u = γ
さらにDをかけると
D K(xT AT) D u = Dγ
x T w    x1w1  x2 w2  
a
 x T AT Du    x1 , x2  11
a12
a
 x1 , x2  11
a12
a21
a22
a21
a22
1 0 0   u1 
a31  
 u    0 1 0  
  2
a32  
0 0  1 u3 
 u1 
 a31   
u2   x1a11  x2a12 u1   x1a21  x2 a22 u2   x1a31  x2 a32 u3    a32   
u3 
1 0 0   x1a11  x2 a12 
Dk x T AT Du  D  0 1 0   x1a21  x2 a22 



0 0  1  x1a31  x2 a32 
70
T
1 0 0   u1  1 0 0 
0 1 0  u   0 1 0 

  2 

0 0  1 u3  0 0  1

するとSVMの最適化は (ただしA’=AT)

u , R


yT y 

 



これは条件なし最小化問題 (10)
minm 1


1 T
u u  2
u , , y R
2
2
s.t. D K A, AT Du  e  y  e
y0
min2 m 1

2
e  DK A, A Du  e 
T
2
 2


1 T
u u  2
2

Newton 法などで解ける。
ここで、カーネル行列K(A,AT)は大きすぎてメモリに
乗らないので、Aの次元をmとすると、より小さな次
元 m’<<m の A (これはAのランダムな部分集合)を
T
用いたカーネル行列 K ( A, A ) を(10)に代入し最適化
問題を解くのがRSVM
この A をAとは関係ない乱数にしてしまうのが次
ページのアイデア
71
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)も外部サー
バに知られない。ランダムベクトルは漏れなければ他の学習デー
タも漏れない。
正解ラベルが必要なのはyi k(xi,rj)のうちの(yi xi)だけなので、ラン
ダムデータrjには正解ラベルは不要なのがミソ。
線形カーネルの場合は、置換したMxを計算サーバに与えて計算す
る識別関数は、以下の通り


f ( x)   j 1 v j k Mx  M T  rj  b   j 1 v j k x, rj   b
m'

72
T
1
m'
(Mx)T(MT)-1r=xTMT(MT)-1r=xTr なので、多項式カーネルも計算でき
る
m'をランダム教師入力の 個数とする

f ( x )   j 1 v j k Mx  M
m'


T

T 1

rj  b   j 1 v j k x, rj   b
m'
よって、実際のテストデータzはMzと変換して計算
をoutsourceすれば、計算はO(m’)で少なく、データ内
容を(かなり)保護できる。
精度の実験結果は以下(m’=m/10)
73
上の図は以下より抜粋: 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個
以上存在
真のDB : TIの暗号化(名前を fakeなものに置き換えるこ
x  S(sensit ive item)
少なくとも



と )された DB : TNにおいて

k個の匿名化item : y  TN   support TN (y)  support TI (x)
k-support anonymityを実現し、かつ匿名化した擬似分類木
を導入して頻出アイテムセットマイニングをアウトソー
ス
匿名化された結果を得たら復号化して欲する結果を得る
74
データベースのexample
原DB: T1
匿名化DB:TN
実アイテム
Transaction
ID
匿名化アイテム
Transaction ID
1
ワイン
1
c,d,g
2
たばこ、ワイン
2
b,d,g
3
たばこ、茶
3
b,h
4
ビール、たばこ、ワイン
4
a,b,c
5
ビール、茶、ワイン
5
a,c,d,h
全商品
嗜好品
4
4
安い嗜好品
2
3
a:ビール
{4,5}
75
b:たばこ
{2,3,4}
(a)

support 2
のitem
にはa,g,h
の3種類
あり
5
5
5
3-support
anonymity
k
2
5
4
h:茶
{3,5}
i
j
4
4
e
f:ワイン
{1,2,4,5}
2
2
f
3
3
3
2
g
h
{1,2} {3,5}
a
b
c
d
{4,5} {2,3,4} {1,4,5} {1,2,5}
(b)
○の中
の数は、
その部
分木に
含まれ
る
transacti
onの数
の合計
(b)
5
(a)
2
4
4
2
3
a:ビール
{4,5}
4
(c)
f:ワイン
{1,2,4,5}
2
(d)
4
i
2
a:ビール
{4,5}
f:ワイン
3
1
2
g
h:茶
{1,2} {3,5}
b:たばこ c
d
{2,3,4} {1,4,5} {2}
sup(p6)=3<sup(ワイン)
sup(p7)=1<sup(ワイン)
sup(ワイン)に影響なし
76
2
k
4
i
j
4
3
5
2
1,2はp3には含まれ
ているのでsup(茶)
に影響なし
b:たばこ
{2,3,4}
5
k
e
2
f:ワイン g
h:茶
{1,2,4,5} {1,2} {3,5}
3
a:ビール
{4,5}
b:たばこ
{2,3,4}
4
4
P1
5
5
4
j
i
茶
{3,5}
i
e
k
5
k
5
insert
5
j
4
4
e
f:ワイン g
h:茶
{1,2,4,5} {1,2} {3,5}
2
a:ビール
{4,5}
3
3
2
3
b:たばこ c
d
{2,3,4} {1,4,5} {1,2,5}
split
insert、split、increaseという木構造の変更によって
supTN(child node)<supTI(sensitive node)<supTN(parent node)
という関係を崩さなければ、supportの計算は保存される
2
increase
1,5を追加
しても
sup(ワイン)
は不変。
差分プライバシー
(3)Discovering Frequent Patterns in Sensitive Data


Sensitiveなデータのデータセットからトップk個の再
頻出パタン( most frequent patterns: top k FPM)を抽出
するにあたって、ε 差分プライバシーを満たすよう
な細工をする。
近似 top k FPM




78
f k をk番目に多いパタンの真の頻度とする。
信頼度=ρ:確率(1- ρ)以上で以下の条件を満たす
Soundness: 真の頻度が(f k− γ)より少ない頻度のパタン
は出力しない。
Completeness:真の頻度が(f k+ γ) より大きいパタンは
全て出力する。
Precision: 出力された全パタンの頻度は真の頻度から
±η の範囲に入る。
提案アルゴリズム


ここでε/2差分private
ここでε/2差分private
79


入力:パタン集合=U,データセットサイズ=n
前処理:γ=(8k/εn)ln(|U|/ρ) とし、通常の
Frequent Pattern Mining アルゴリズムで、頻
度> (f k− γ) のパタン集合Uを抽出。残りの
パタンの頻度は (f k− γ) と見なす
雑音加算とサンプリング:Uの各パタンの頻度
にLaplace(4k/εn)で生成した値を加算。この加算
の結果からトップkパタンを通常のFPMで抽出
する。これをSと呼ぶ。
摂動(Perturbation):S中のパタンの頻度に
Laplace(2k/εn)で生成した値を加算し、雑音加算
された頻度を得、これを最終結果として出力す
る。
併せてε-差分
private

提案されたアルゴリズムは ε差分プライバシー

少なくとも1-ρの確率で、真の頻度が(f k− γ)より大き
なパタン全てを抽出でき、 U中で(f k+γ)より大きなパ
タン全てが出力される。ただし、 γ=(8k/εn)ln(|U|/ρ)


少なくとも1-ρの確率で、雑音加算された頻度と真の
頻度の差はη以下。ただし、 η =(2k/εn)ln(k/ρ)
Top kパタンの抽出の計算量はO(k’+klogk)
ただし、k’は頻度> (f k− γ) のパタンの個数
80
(4)Data Mining with Differential Privacy

データを属性の値によって分類するID3における 分
類木(decision tree) 構築時には、分類木のあるnode に
ぶら下がるデータをsplitし、information gainが最大の
splitの仕方を選ぶ。

information gain
=(データ全体のエントロピー)
ー(ある属性でデータを分割した場合のエントロピー)
 この論文では、info. gain 以外にもGINI係数、最大値など
を利用して実験比較している。

そこで、splitしたデータの個数にLaplace分布に応じ
たノイズを加え、これにより 差分プライバシーを実
現
81
Nτ=|T|+Laplace(1/ε)
情報量利得などが最大となる属性 A を求める
82
83
その他
(6)Versatile Publishing for Privacy Preservation



Micro data を公開しても quasi ID  sensitive data と
いう推論ができないようにデータベースを変形する
手法
禁止する推論 QIDS の集合を{QS}とする。
全データを以下のようにして分割し変形し{QS}が禁
止されるようにする。


84
全データから部分Tを切り出す。このTは上記の推論がで
きないように 匿名化する。
別の部分T’を追加して既存の{T}が{QS}のルールを満た
す場合は、TからSを除去する。