組織間プライバシー保護 データマイニングの考察 9adrm009 香川大介 背景: 異業種間の連携 店舗・利用履歴 連携 B A A 利用者 u1 B 組織 u2 高松に行かれる のでしたら評判 の高い讃岐うど んのお店を紹介 します u3 従来技術:垂直分割PPDM Vaidya, Clifton 2003 秘匿内積評価プロトコル ナイーブベイズ推論器 P(テニス|晴,高) A B 日にち 天気 気温 湿度 テニス 1/19 晴 高 低 Yes 1/20 晴 高 高 No 1/21 雨 高 高 Yes 1/22 雨 低 高 Yes 問題点:分割の非同期性 A B ID 天気 気温 ID 湿度 1 晴 高 1 低 2 晴 高 3 雨 問題3. 非効率 4 雨 N 100 雨 テニス 高 * 3 Yes 問題1. 欠損値 * * Yes 高 低 4 高 Yes 5 高 No 重複 問題2. 3 高 高 … No 研究目的 目的 非同期垂直分割のデータセットに対するナ イーブベイズ推論器 仮定: 評価値数 nA ≈ nB ≪ N (ID空間数) 要求条件 欠損値,(重複),効率性 従来研究1. [VC03] 秘匿内積 Alice has X = (x1,..,xn) Bob has Y = (y1,..,yn) Wish to compute sA + sB = X.Y Protocol A sends E[x1], E[x2] to B B chooses sB and sends c = E[x1]y1E[x2]y2/E[sB] A decrypts D[c] = x1y1 + x2y2 – sB = sA 従来研究2. [AES03] 照合タグ(可換性を満たす一方向性関数) A X = { 1, 2, 3} 1. 乱数 u Zq H(1)u, H(2)u, H(3)u 3. 照合 B Y = {2, 3, 4} 2. 乱数 v Zq H(2)v, H(3)v, H(4)v H(1)uv, H(2)uv, H(3)uv H(2)vu, H(3)vu, H(4)vu H(1)uv, H(2)uv, H(3)uv マッチ数 z = 2 = |X∩Y| 照合タグの問題 ナイーブベイズ推論への適用検討 問題点: z= |X∩Y|が組織Aに分かってしまう. VC03では,途中結果は nA + nB = a.b と分散 されていた. 提案方式 方式1 再ソートして共通部分だけにVC03を適用. 欠損値の近似値で置換 方式2. チャフ付き照合タグ (AES03ベース) 途中結果を不明にするようにチャフを混入 提案方式2. チャフ付照合タグ A X = { 1, 2, 3} 1. 乱数 u Zq B Y = {2, 3, 4} 2. 乱数 v Zq, sB [0,n] H(1)u, H(2)u, H(3)u 3. 照合 H(2)vu, H(3)vu, H(4)vu H(2)v, H(3)v, H(4)v ti = H(yi)v w/p= sB/n ri w/p= 1-p H(1)uv, H(2) r2 uv , H(3)uv H(1)uv, r2 , H(3)uv マッチ数 sA = 1 = |X∩Y| SFE2 sB/n = 1/2 |X∩Y| = sA * n/sB = 2 出力 分散された積集合 s A nB | X Y | sB 秘匿関数計算により 評価 パフォーマンス 精度 安全性 暗号化処理(方式1) tE = 1.1 [s] 暗号化 tD = 1.6 [s] 複号 tP = 0.15 [s] べき乗 2. Fairplay (Yao’s SFE) Fairplay secure two-party computation system,by D Malkhi, N Nisan, B Pinkas, Y Sella, Usenix Security Symp. 2004. Compiler for SFDL to Boolean circuit (1. 8-bit AND, 2. 32-bit 比較,3. 16項目の24-bit暗 号化データ検索,4. 16-bit メジアン) FairPlayでの実装例 SharedSum 分散和比較 S(分散した和の比較) A0 + SB0 > SA1 + SB1 1. program SharedCmp { 2. const size = 2; type int = Int<8>; 3. type AliceInput = int[size]; type BobInput = int[size]; 4. type AliceOutput = int; type BobOutput = int; 5. type Output = struct {AliceOutput alice, BobOutput bob}; 6. type Input = struct {AliceInput alice, BobInput bob}; 7. function Output output(Input input) { 8. if(input.alice[0] + input.bob[0] > 9. input.alice[1] + input.bob[1]){ 10. output.alice = input.alice[0]; 11. output.bob = input.bob[0]; 12. }else{ 13. output.alice = input.alice[1]; 14. output.bob = input.bob[1]; 15. } 16. } 17. } time [s] SFE処理時間 10bit = 1024の定義域 SFE1 (加算) = 1.6 秒 SFE2 (乗算) = 15.3 秒 7 6 5 4 3 2 1 0 Sum Div 0 5 10 15 bit 20 25 処理時間の比較 120 1.1 * x + 1.5 + 1.6 方式1. 内積 0.15 * 4 * x*0.1 + 15 0.15*4 * x*0.01 + 15 100 80 60 40 方式2. 照合タグ n/N = 0.1 20 n/N = 0.01 0 0 20 40 60 N 80 100 精度と安全性 真の Z = |X ∩ Y| = 10 0.3 P(sA|z) 0.25 0.2 0.15 0.1 0.05 0 0 5 観測値 szB 10 15 まとめ 入力単位 計算量 (tE 暗号化,tD 複 号化,tP べき乗) 精度 安全性 方式1 [VC03] 秘匿内積 N次元ベクトル 方式2 [AES03] チャフ照合 n要素の集合 X T1 = T2 tE N + tD +SFE1 = tP n +SFE2 誤差なし sB/n P(z | x.y) = 1/N P(z | sA) > 1/n 結論 方式1(再ソート法)はID空間が狭いとき有 効.精度も高く,安全性も保証. 方式2(チャフ付き照合タグ)はID空間が疎 であるときに有効.ただし,精度は比較的 低く,元の値について漏れる情報がある. 分散比較 問題 安全性 P(a|c)の分布 0.25 0.20 0.15 系列1 0.10 0.05 0.00 0 5 10 15 方式1. 秘匿内積評価の処理時間 Secure scalar product n encryption + n exponentiations + n multiplications + 1 decryption n = 1000,1024 bit enc.の時: 270s = 4m 1. Naïve Bayes Vaidya Clifton 2004 [27] 識別(スパム判定) 最大尤度 CMAP = argmax(cj in {Y,N}) P(cj | a1,a2) P(yes | sunny, hot) = ½ P(no | sunny, hot) = ½ CMAP = yes (no) Naïveな仮定: 全属性は独立 Naïve Bays CNB = argmax P(cj | a1, a2) = argmax P(a1, a2 | cj) P(cj)/ P(a1, a2) = argmax P(a1|cj) P(a2|cj) P(cj)/ P(a1) P(a2) = argmax P(a1|cj) P(a2|cj) P(cj) P(sunny|y) = 2/9, P(hot|y) = 2/9, P(y) = 9/14 P(sunny|n) = 3/5, P(hot|n) = 2/5, P(n) = 5/14 P(s|y)P(n|y)P(y) = 2/63 < P(s|n)P(h|n)P(n) = 2/35 より, argmax = n Class変数を持つサイトと 秘匿内積計算 方式1. 再ソート 加法の準同型暗号 Enc(m1 ; r1 ) Enc(m2 ; r2 ) Enc(m1 m2 ; r1 r2 ), rはランダムな値 Enc(m1 ; r1 ) m2 Enc(m1m2 ; r1 ) ElGamal暗号の場合 計算 2 3 5 C1 : g 2 r1 g 3 r2 g 5 ( r1 r2 ) C2 : g r1 g r2 g r1 r2 M C1 / C2 g 5 ( r1 r2 ) g5 計算 2 2 4 C1 : ( g 2 r1 ) 2 g 4 2 r1 C2 : ( g ) g r1 2 /g r1 r2 2 r1
© Copyright 2024 ExpyDoc