• 検索結果がありません。

JAIST Repository: 閾値を設けた秘匿マッチングプロトコルに関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "JAIST Repository: 閾値を設けた秘匿マッチングプロトコルに関する研究"

Copied!
68
0
0

読み込み中.... (全文を見る)

全文

(1)

JAIST Repository

https://dspace.jaist.ac.jp/ Title 閾値を設けた秘匿マッチングプロトコルに関する研究 Author(s) 権田, 陽彦 Citation Issue Date 2017-03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/14144 Rights

(2)
(3)

修士論文

閾値を設けた秘匿マッチングプロトコルに関する

研究

1510018

    権田 陽彦

主指導教員

金子 峰雄

審査委員主査

金子 峰雄

審査委員

宮地 充子

審査委員

上原 隆平

北陸先端科学技術大学院大学 情報科学研究科 平成 29 年 2 月

(4)
(5)

1 1 1.1 . . . 1 1.2 . . . 3 1.3 . . . 4 2 5 2.1 . . . 5 2.1.1 . . . 5 2.1.2 . . . 5 2.1.3 . . . 6 2.2 . . . 6 2.3 . . . 8 2.4 . . . 9 2.5 Paillier . . . 10 2.5.1 . . . 10 2.5.2 . . . 10 2.5.3 . . . 10 2.5.4 . . . 10 2.5.5 . . . 11 2.5.6 . . . 11 2.5.7 . . . 12 3 13 3.1 . . . 13 3.2 FNP04 [8] . . . 14

3.2.1 Private Matching for Set Intersection PM . . . 14

3.2.2 Private Matching for Set Cardinary PMC . . . 15

3.3 KLP11 [15] . . . 16

3.3.1 Map To Prime (MTP) . . . 16

3.3.2 Mutual PSI Protocol . . . 16

3.3.3 . . . 17

(6)

3.5 ZDLG13 [31] . . . 20 3.5.1 . . . 20 3.5.2 BVT . . . 21 3.5.3 FACFM . . . 23 3.5.4 . . . 24 3.5.5 . . . 25 3.5.6 . . . 27 3.6 TLSL15 [27] . . . 27 3.6.1 . . . 28 3.6.2 . . . 29 3.6.3 L1P . . . 29 3.6.4 L2P . . . 29 3.6.5 L3P . . . 30 3.7 ZLJCL14 [32] . . . 31 3.8 . . . 34 4 35 4.1 . . . 35 4.2 BVT . . . 37 4.2.1 . . . 37 4.2.2 . . . 37 4.2.3 . . . 38 4.3 . . . 39 4.3.1 . . . 40 4.4 . . . 41 4.4.1 . . . 41 5 43 5.1 . . . 43 5.2 . . . 44 5.3 . . . 45 5.3.1 . . . 45 5.3.2 . . . 46 5.4 . . . 47 5.4.1 . . . 47 5.4.2 . . . 47 5.4.3 BVT . . . 49 5.4.4 . . . 50 5.4.5 [31] . . . 51

(7)

5.4.6 . . . 52 6 54 6.1 . . . 54 6.2 ZDLG13 [31] . . . 55 7 56 8 57 8.1 . . . 57

(8)

1

1.1

VentureBeat SNS 1.1: 1.1 A B 2 1.1 A 20 B

(9)

20 A B

SKOUT [1] Tagged [2] hi5 [3] Badoo [4] Like/No

Like

Meet Me

POF [5] 200 4

1.2:

(10)

2 [31]

1.2

[31] [12] 2 semi-honest

(11)

1.3

2 Paillier 3 4 3 5 6 7

(12)

2

Paillier

2.1

2.1.1

P I P n Q p1, p2,· · · , pn P := [p1, p2,· · · , pn]. (2.1) I i1, i2,· · · , in I := [i1, i2,· · · , in]. (2.2)

2.1.2

A, B (Pa, Ia), (Pb, Ib) Pa∩ Ib, Pb∩ Ia |Pa∩ Ib|, |Pb∩ Ia| |Pa∩ Ib| = 0 |Pb∩ Ia| [31] |Pa∩ Ib| + ∆b

(13)

2.1.3

A, B τa, τb B A |Pa∩ Ib| ! τb. (2.3) A B |Pb ∩ Ia| ! τa. (2.4) |Pa∩ Ib| |Pa∩ Ib| + ∆b ! τb+ ∆b, (2.5) |Pb∩ Ia| + ∆a! τa+ ∆a (2.6) ∆a, ∆b (2.3),(2.4) (2.5),(2.6) ! |Pa∩ Ib| ≥ τb∧ |Pb∩ Ia| ≥ τa =⇒ match, |Pa∩ Ib| < τb ∨ |Pb ∩ Ia| < τa =⇒ mismatch. (2.7) (2.3),(2.4) (2.3),(2.4) 3 • |Pb∩ Ia| ≥ τa∧ |Pa∩ Ib| < τb A B B A • |Pb∩ Ia| < τa∧ |Pa∩ Ib| ≥ τb B A A B • |Pb∩ Ia| < τa∧ |Pa∩ Ib| < τb A B B A

2.2

2.1 2

(14)

2.1:

Setting

Private Matching

A, B A B B A Private Matching [31] A B B A B A A A |Pa∩ Ib| + ∆b ∆b A B A |Pa∩ Ib|

(15)

B τb ∆b ˆ vb := |Pa∩ Ib| + ∆b, vb := τb+ ∆b, ∆b > 0. (2.8) B A ∆a A τa ∆a ˆ va:= |Pb ∩ Ia| + ∆a, va := τa+ ∆a, ∆a > 0. (2.9)

Verification

Verification ˆ vb ≥ vb∧ ˆva≥ va ˆ vb < vb ∨ ˆva < va vˆb ! vb, ˆva ! va ˆ vb ≥ vb∧ ˆva ≥ va (True) ˆvb < vb∨ ˆva< va (False) A B A B A B B A

2.3

6 [19, 27, 32] [7, 12, 31]

(16)

Q P I

2.4

[24] SSL/TLS semi-honset semi-honset [9, 12, 18, 21, 25, 31]

(17)

2.5

Paillier

Paillier [22] [21–23] Paillier

2.5.1

Paillier ∀x ∈ N (1 + N )x ≡ 1 + xN (mod N2). (2.10) y := (1 + N )x x = y− 1 N (mod N 2). (2.11) L(x) L(x) := x− 1 N . (2.12)

2.5.2

gcd(pq, (p− 1)(q − 1)) = 1 2 p← PU N, q U ← PN N = pq, g = (1 + ¯αN ) ¯βN λ = lcm(p− 1, q − 1) ¯ α← ZU ∗ N2, ¯β U ← Z∗ N2

2.5.3

gcd(r, N ) = 1 r ← ZU ∗ N2 ∀m ∈ ZN c Enc c = Enc(m) := gmrN (mod N2). (2.13)

2.5.4

λ (2.12) L Dec Dec(c) := L(c λ (mod N2)) L(gλ (mod N2)) = m (mod N ). (2.14) (2.14) rλN ≡ 1 (mod N2)

(18)

1. ∀r ∈ Z∗ N2. gcd(r, N ) = 1 =⇒ rλN ≡ 1 (mod N2) Proof. Euler ϕ(N2) = N (p− 1)(q − 1) gcd(pq, (p− 1)(q − 1)) = 1 Z∗ N2 N (p− 1)(q − 1) gcd(r, N ) = 1 ∀r ∈ Z∗ N2 Euler rλ ≡ 1 (mod N). (2.15) γ rλ := 1 + N γ rλN = 1 + N2(γ +· · · ) ≡ 1 (mod N2). (2.16) 1 1 L(cλ (mod N2)) gcd(¯α, N ) = gcd( ¯β, N ) = 1

L(cλ (mod N2)) = L(gmλ (mod N2))≡ ¯αmλ (mod N). (2.17)

2.5.5

Paillier Enc ∀m1 ∈ ZN,∀m2 ∈ ZN

Enc(m1) Enc(m2)

Enc(m1)· Enc(m2) = Enc(m1+ m2) (mod N2). (2.18)

∀N ∈ ZN

{Enc(m)}N = Enc(N · m) (mod N2). (2.19)

(2.18), (2.19)

2.5.6

P = [p1, p2,· · · , pn]

Enc(P ) := [Enc(p1), Enc(p2),· · · , Enc(pn)].

C = [c1, c2,· · · , cn]

(19)

2.5.7

[23] Paillier D-CR (Decision Composite Residuosity assumption) D-PDL (Decision Partial Discrete Log assumption) IND-CPA

D-CR ∀x ∈ Z∗ N,∃ˆα ∈ Z∗N,∃ ˆβ ∈ ZN∗ . xN = ˆα + ˆβ· N (mod N2), ˆr U ← Z∗ N (ˆα, ˆβ) (ˆα, ˆr) D-PDL Dec IND-CPA c c (advantage) (CPA chosen plaintext attack) c (IND indistinguishability) 2 m1, m2 cj cj m1, m2 Paillier r D-CR D-PDL Paillier

(20)

3

3.1

2004 M. Freedman Private Matching (PM) [8] Private Set Intersection (PSI)

PSI Oblivious Polynomial Evaluation (OPE) [20]

[15] Map To Prime (MTP) PSI [31] 4 Blind Vector Transforming (BVT) PSI [6–8] 2 [31] BVT FACFM [31] [27, 31] [12] MTP

(21)

[12]

MTP

Euclid [14, 30] Manhattan [10] [19, 32] Social Proximity [27]

[28] [29] Dice [11] [31] SNS

Shamir [26] Secure Multiparty Computation(SMT)

[13, 16, 17]

[8, 12, 15, 31] [27, 32]

3.2

FNP04 [8]

Client X ={x1, x2,· · · , xkc} Server Y ={y1, y2,· · · , yks}

Private Matching for Set Intersection PM X∩ Y Private Matching for Set Cardinary PMC |X ∩ Y | Client Server semi-honest

3.2.1

Private Matching for Set Intersection PM

X ={x1, x2,· · · , xkc}, Y = {y1, y2,· · · , yks} X∩ Y 1. Client (a) Paillier (b) X P (y) αj P (y) = (x1− y)(x2− y) · · · (xkc− y) = kc " j=0 αjyj. (3.1)

(22)

(c) kc+ 1 α0, α1,· · · , αkc Server

Enc(α0), Enc(α1),· · · , Enc(αkc). (3.2)

2. Server

(a) Horner Enc(P (y1)), Enc(P (y2)),· · · , Enc(P (yks))

α0, α1, α2, α3 P (y1) Enc(P (y1)) = #$ Enc(α3)y1 · Enc(α2) %y1 · Enc(α1) &y1 · Enc(α0). (3.3) (b) r ks Server

Enc(rP (yi) + yi) = {Enc(P (yi))}r· Enc(yi). (3.4)

3. Client

P (yi) = 0 yi

X X∩ Y

3.2.2

Private Matching for Set Cardinary PM

C

X ={x1, x2,· · · , xkc}, Y = {y1, y2,· · · , yks} |X ∩ Y | 1. Client (a) Paillier (b) X P (y) αj P (y) = (x1− y)(x2− y) · · · (xkc− y) = kc " j=0 αjyj. (3.5) (c) kc+ 1 α0, α1,· · · , αkc Server

Enc(α0), Enc(α1),· · · , Enc(αkc). (3.6)

2. Server

(23)

(b) r ks Server Enc(rP (yi)) = {Enc(P (yi))}r. (3.7) 3. Client rP (yi) = 0 |X ∩ Y |

3.3

KLP11 [15]

A XA = {a1, a2,· · · , ak} B XB = {b1, b2,· · · , bk} A, B MTP XA∩ XB A B semi-honest

3.3.1

Map To Prime (MTP)

A, B p :{0, 1}→ P η αi = p(ai), βi = p(bi), (3.8) H :{0, 1}→ {1, 2, · · · , l} {B j}lj=1

3.3.2

Mutual PSI Protocol

XA={a1, a2,· · · , ak}, XB ={b1, b2,· · · , bk}

XA∩ XB

1. A, B MTP

2.

AH(ai)← AH(ai)· p(ai), BH(bi) ← BH(bi)· p(bi). (3.9)

3. A r1 U

← Z⌊N/4⌋, r2 U

← Z⌊N/4⌋ B Encb(r2), Encb(A2j), Encb(r1A2j)

B s1 U

← Z⌊N/4⌋, s2 U

← Z⌊N/4⌋ A

(24)

4. A

Enca((r1+ s1)A2j + (r2+ s2)Bj2) = Enca(r1A2j)· Enca(s1)A

2 j · Enc

a(Bj2)r2 · Enca(s2Bj2).

(3.10) B

Encb((r1+ s1)A2j + (r2+ s2)Bj2) = Encb(r1A2j)· Encb(A2j)s1 · Encb(r2)B

2 j · Enc b(s2Bj2). (3.11) 5. A, B (r1+ s1)A2j + (r2+ s2)Bj2 6. A (r1 + s1)A2j + (r2 + s2)Bj2 Bj p(ai) 2 p(ai)2|((r1+ s1)Aj2+ (r2+ s2)Bj2) B p(bi)2|((r1+ s1)A2j + (r2+ s2)Bj2) XA∩ XB

3.3.3

l [12, 21] MTP k (=|XA| = |XB|) (3.10),(3.11) [12, 21] k k

3.4

IO16 [12]

(False) XA∩XB A B semi-honest 3.1 A B S S S A, B semi-honest

(25)

3.1: [12] S k {S1,S2,· · · , Sk} Sj ={p(j)1 , p (j) 2 ,· · · , p(j)n } ∈ Pn. (3.12) S = 'Sj, Si ∩ Sj = ∅ (i ̸= j) A, B S A XA={a1, a2,· · · , ak} B XB = {b1, b2,· · · , bk} A XA′ = {a′1, a′2,· · · , a′δ} B X′ B = {b′1, b′2,· · · , b′δ′} a′i B i bi = a′i A XA, XA′ , XB, XB′ XA∩ XB/False 1. A, B Paillier 2. A a = k ( j=1 aj, ac = δ ( j a′j. (3.13)

a A B Enca(a), Encb(a), ac S B

b = k ( j=1 bj, bc = δ′ ( j b′j. (3.14) b A B Enca(b), Encb(b), bc S

(26)

3. S 4 raa, rab, rba, rbb |na|, |nb| t p(i)j |raa| = |na| − (k + δ) · t − 1, (3.15) |rab| = |na| − (k + δ′)· t − 1, (3.16) |rba| = |nb| − (k + δ) · t − 1, (3.17) |rbb| = |nb| − (k + δ′)· t − 1. (3.18) Enca(a)raaa −1 c · Enc a(b)rabb −1 c = Enc a(araaa−1c + brabb−1c ), (3.19) Encb(a)rbaa −1 c · Enc b(b)rbbb −1 c = Enc b(arbaa−1c + brbbb−1c ). (3.20)

Enca(araaa−1c + brabb−1c ) A Encb(arbaa−1c + brbbb−1c ) B

4. A araaa−1c + brabb−1c ≡ XAB XAB aj aj|XAB a−1 c , b−1c aj|XAB XA∩ XB 5. B arbaa−1c + brbbb−1c ≡ XBA XBA bj bj|XBA

(27)

3.5

ZDLG13 [31]

3.5.1

3.2: [31] 2 BVT 1 FACFM BVT FACFM

Setting Private Matching Verification 3 Setting

Private Matching BVT Verification FACFM

Setting

A Pa Ia

(28)

Pb Ib eb αb, βb lb Private Matching A Pa B Ib, lb, eb BVT A sˆb B sb sb eb ∆b(lb) ∆b(lb) B A ˆsb |Pa∩ Ib| B Pb A Ia, la, ea BVT B sˆa A sa sa ea ∆a(la) ∆a(la) A B ˆsa |Pb∩ Ia| Verification A sa, ˆsb, αa, βa B sb, ˆsa, αb, βb FACFM sa= ˆsa∧ sb = ˆsb A B True/False αa, βa αb, βb sa = ˆsa∧ sb = ˆsb

3.5.2

BVT

A Pa B Ib B lb eb A sb |Pa∩ Ib| ˆ sb 1. A B A Pa B Enca(Pa) 2. A B (i) B Enca(Pa) rb ˆ Pa := Enca(Pa+ rb), )Ib := Ib+ rb. (3.21) (ii) lb yb yˆb := Enca(yb) yb kb y)b kb U ← {1, 2, · · · , lb}

(29)

3.3: BVT (iii) ˆPa, )Ib yˆb,y)b Pa′ := ˆPa⊕ ˆyb, Ib′ := )Ib⊕ )yb. (3.22) (iv) Pa′ Ib′ Pa′′ := Shuffle [Pa′] , Ib′′:= Shuffle [Ib′] . (3.23) 3. A B P′′ a Ib′′ A 4. B 2 B Pa Ib eb 2 (i)−(iv) sb := eb+ lb− kb. (3.24) 5. A A P′′ a Ib′′ sˆb ˆ sb :=|Deca(Pa′′)∩ Ib′′|. (3.25)

(30)

3.4: FACFM

3.5.3

FACFM

BVT A (sa, ˆsb) B (sb, ˆsa) sa= ˆsa∧ sb = ˆsb ea=|Pb∩ Ia| ∧ eb =|Pa∩ Ib| A B FACFM sa, sb, ˆsa, ˆsb sa||ˆsb = ˆsb||sa A B (αa, βa), (αb, βb) FACFM (sa, ˆsb), (sb, ˆsa) A αa, βa B αb, βb sa||ˆsb = ˆsa||sb 1. A sa||ˆsb Enca(sa||ˆsb) B 2. B αb, βb,Enca(sa||ˆsb) A

Enca(sa||ˆsb)αb· Enca(βb) = Enca(αb· sa||ˆsb + βb). (3.26)

3. B αb· ˆsa||sb+ βb Encb(αb· ˆsa||sb+ βb) A

(31)

5. A αa, βa,Encb(αb· ˆsa||sb+ βb) B

Encb(αb· ˆsa||sb+ βb)αa· Encb(βa) = Encb(αa· (αb · ˆsa||sb+ βb) + βa). (3.27)

6. B Encb(αa· (αb· ˆsa||sb+ βb) + βa) αa· (αb· ˆsa||sb+ βb) + βa

7. 2 True

False A B

3.5.4

2. BVT

proof. ∃x ∈ Pa∩ Ib,∃y /∈ Pa∩ Ib,∃y′ ∈ P/ a∩ Ib,∃y ∈ Pa,∃y′ ∈ Ib BVT

4 (Enca(Pa), Ib) (Pa′′, Ib′′)

(i)

∀r← ZU N Paillier

!

Deca(Enca(x)· Enca(r)) = Deca(Enca(x + r)) = x + r,

Deca(Enca(y)· Enca(r)) = Deca(Enca(y + r))̸= y′+ r.

(3.28) (ii) d Deca(Enca(d)) = d d′ (̸= d) Deca(Enca(d)) ̸= d′ (iii) (iv) (i)−(iv) |Pa∩ Ib| = |Deca(Pa′′)∩ Ib′′| − (lb− kb). (3.29) lb = kb BVT |Pa∩ Ib| lb ̸= kb 3. FACFM .

(32)

proof. sa = ˆsa sb = ˆsb fa, fb fa αa y βa fb αb y βb fa A fb B ! fa(x) := αa· x + βa, fb(x) := αb· x + βb. (3.30) A Paillier fa(fb(sa||ˆsb)) (= αa· (αb· sa||ˆsb + βb) + βa) Enca(sa||ˆsb) B B αb, βb,Enca(sa||ˆsb) Enca(fb(sa||ˆsb)) A

Enca(sa||ˆsb)αb· Enca(βb) = Enca(αb · sa||ˆsb + βb). (3.31)

fa xa xa := αa· Deca(Enca(αb· sa||ˆsb + βb)) + βa= fa(fb(sa||ˆsb)). (3.32) B fa(fb(ˆsa||sb)) (= αa· (αb· ˆsa||sb+ βb) + βa) fb(ˆsa||sb) = αb· ˆ sa||sb+βb A A αa, βa,Encb(fb(ˆsa||sb)) Encb(fa(fb(ˆsa||sb))) B

Encb(αb · ˆsa||sb+ βb)αa · Encb(βa) = Encb(αa· (αb· ˆsa||sb+ βb) + βa) = Encb(fa(fb(ˆsa||sb))).

(3.33) xb xb := Decb(Encb(αa· (αb · ˆsa||sb + βb) + βa)) = fa(fb(ˆsa||sb)). (3.34) • sa = ˆsa∧ sb = ˆsb sa||ˆsb = ˆsa||sb Hash(xa) = Hash(xb). • sa||ˆsb ̸= ˆsa||sb Hash(xa)̸= Hash(xb). FACFM .

3.5.5

4. BVT

(33)

proof. A B Ib′′ Ib BVT I′′ b Ib A Deca(Pa′′) Ib′′ sˆb Pa∩ Ib kb X Pa∩ Ib Y lb kb lb Pa′′ Pa lb =|Pa′′| − n. (3.35) kb kb ={1, 2, · · · , lb} Pr(X ) Pr(X ) = 1 lb . (3.36) kb sˆb =|Deca(Pa′′)∩ Ib′′| Pa∩ Ib Deca(Pa′′)∩ Ib′′ ˆ sb − (lb− kb) lb − kb 1 Pr(Y|X ) Pr(Y|X ) = lb " kb=1 1 nCsˆb−(lb−kb) . (3.37) A ˆsb Pa∩ Ib Pr(X ∧ Y) n≥ 5 Pr(X ∧ Y) = 1 lb lb " kb=1 1 nCˆsb−(lb−kb) ≤ nl3 b . (3.38) 5. FACFM A αa· (αb · ˆsa||sb+ βb) + βa sˆa||sb

proof. FACFM Hash

αa· (αb · ˆsa||sb+ βb) + βa A (αa, βa)

αb· ˆsa||sb + βb sˆa||sb α, β

α· x + β 2 x

(34)

3.5.6

3.1 3.2 BVT FACFM BVT n FACFM n 3.1: 2 BVT A B [bit] 2tN · (2n + lb) 2tN · (2n + la) -[bit] 2tN · (n + la) 2tN · (n + lb) -O(n + la+ lb) O(n + la+ lb) -O(n + la+ lb) O(n + la+ lb) -3.2: FACFM A B [bit] 4tN + 1 4tN + 1 512 [bit] 4tN + 256 4tN + 256 2

O(1) O(1) O(1) O(1) O(1) O(1)

3.6

TLSL15 [27]

(Social Proximity) Social Proximity 3 3 1 (L1P) [8] PM 2 Social Proximity False (L1P) Social Proximity True/False semi-honest

(35)

3.6.1

i Ci Ci ={Ci1, Ci2,· · · , Cici}, ci =|Ci|. (3.39) ¯ Ci Ni ¯ Ci = * j∈Ni∪{i} Cj. (3.40) j ∈ Ni ∪ {i} C¯i βj( ¯Ci) 0≤ βj( ¯Ci)≤ βmax Ni F Ci F Ci ={F Ci1, F Ci2,· · · , F C fi i }, fi =|F Ci|, Ni = fi * j=1 F Cij. (3.41) l F Ci F C(i, l) F C(i, i) = 0 l∈ F Ck i ⇐⇒ k = F C(i, l). (3.42) F Ck i αki 0≤ αki ≤ αmax α0 i = αmax Social Proximity i∈ ¯CR R ΨiR←I ΨiR←I = " j∈ ¯Ci R∩NR ⎛ ⎝βj( ¯CRi)· " k∈F C(R,j) αkR ⎞ ⎠ | ¯CR| " l=1 ⎛ ⎝ " j∈ ¯Cl R∩NR ⎛ ⎝βj( ¯CRl)· " k∈F C(R,j) αkR ⎞ ⎠ ⎞ ⎠ . (3.43)

R Social Proximity ΨR←I I

ΨR←I =

"

i∈ ¯CR∩ ¯CI

ΨiR←I. (3.44) (3.44) 0≤ ΨR←I ≤ 1

(36)

3.6.2

[8] Enca(P (x)) P (x) A Enca(P (n)) P (x) x = n P (n)

3.6.3

L1P

¯ CR={ ¯CR1, ¯CR2,· · · , ¯C| ¯ CR| R }, ¯CI ={ ¯CI1, ¯CI2,· · · , ¯C| ¯ CI| I } ¯ CR∩ ¯CI 1. I, R K I 2. I PI(x) R PI(x) = | ¯CI| ( k=1 ( ¯CIk− x). (3.45) 3. R Horner EncI(P ( ¯CRi)) (i∈ {1, 2, · · · , | ¯CR|}) Ri I

EncI(P ( ¯CRi))· EncI(Ri) = EncI(P ( ¯CRi) + Ri). (3.46)

4. I K R 5. R P ( ¯Ci R) + Ri ? = Ri C¯R∩ ¯CI K I 6. I C¯R∩ ¯CI

3.6.4

L2P

¯ CR, ¯CI,{ΨiR←I}, ΨRτ ¯ CR∩ ¯CI/False 1. I, R K I, R

(37)

2. I PI(x) R

3. R DR, ρi, Ri (i∈ {1, 2, · · · , | ¯CR|}) 2

2 Ri I

EncI(ρi· P ( ¯CRi)) = EncI(P ( ¯CRi))ρi, (3.47)

EncI(P ( ¯CRi) + EncR(ΨiR←I · DR)) = EncI(P ( ¯CRi))· EncI(EncR(ΨiR←I · DR)).

(3.48) 4. I 1 ρi· P ( ¯CRi) = 0 J 2 J j ∈ J I EncR(ΨjR←I· DR) R 5. R C¯R∩ ¯CI ¯ CR∩ ¯CI K I False " j∈J ΨjR←I· DR! ΨRτ · DR. (3.49) 6. I EncK( ¯CR∩ ¯CI) C¯R∩ ¯CI False

3.6.5

L3P

¯ CR, ¯CI,{ΨiR←I}, {ΨiI←R}, ΨRτ, ΨIτ True/False 1. I, R 2. I DI R EncI(PI(x)), EncI(DI) 3. R DR I EncR(PR(x)), EncR(DR) 4. I ρ′ i 2 2 EncI(ΨIτ · DI) R EncR(ρ′i · PR( ¯CIi)) = EncR(PR( ¯CIi))ρ ′ i, (3.50)

EncR(ρ′i · PR( ¯CIi) + EncI(ΨiI←R· DI)) = EncR(ρ′i· PR( ¯CIi))· EncR(EncI(ΨiI←R· DI)).

(38)

5. R ρi 2 2

EncR(ΨRτ · DR) I

EncI(ρi· PI( ¯CRi )) = EncI(PI( ¯CRi))ρi, (3.52)

EncI(ρi· PI( ¯CRi ) + EncR(ΨiR←I · DR)) = EncI(ρi· PI( ¯CRi ))· EncI(EncR(ΨiR←I · DR)).

(3.53)

6. I L2P JI r1′, r2′

j ∈ JI

EncR(r′1· Ψ j

R←I · DR+ r2′) = EncR(ΨjR←I· DR)r

′ 1 · Enc R(r2′), (3.54) EncR(r′1· ΨRτ · DR+ r2′) = EncR(DR· ΨRτ) r′ 1· Enc R(r′2). (3.55) 7. R L2P JR r1, r2 j ∈ JR I

EncI(r1· ΨjI←R· DI + r2) = EncI(ΨjR←I · DI)r1 · EncI(r2), (3.56)

EncI(r1· ΨIτ · DI + r2) = EncI(DI · ΨIτ) r1 · Enc I(r2). (3.57) 8. I True False " j∈JI (r1· ΨjI←R· DI + r2)! r1· ΨIτ · DI + r2 (3.58) 9. R True False " j∈JR (r1· ΨjR←I · DR+ r2′)! r′1· ΨRτ · DR+ r2′ (3.59)

3.7

ZLJCL14 [32]

A A = (aij) j i l n ∀i ∈ N ∩ [1, l], ∀j ∈ N ∩ [1, n]. (3.60)

(39)

j = 2 ? ai2 1

0 i

B B = (bij)

{0, 1} n× l

A Confusion Matrix Transformation(CMT) Algorithm 1

A A∗ −→K B Algorithm 1 B B∗ A B A∗ B Algorithm 2 AB D B A D −→K T∗ W = (w ij) T∗ H = (h ij) τ =/ /hij wij = ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ i (i = j), i− |i − j| (i − |i − j| > 1), 1 (i− |i − j| ≤ 1). (3.61) A τ τA τ ≥ τA True τ < τA False B A D B (A∗)−1× D = (A∗)−1× A× B = B. (3.62) Algorithm 3 Algorithm 3 B W A B

(40)
(41)

3.8

3.3: 2 1 2 FNP04 [8] × IO16 [12] ⃝ × LUB14 [18] × △ SX15 [25] × × TLSL15 [27] × ZDLG13 [31] ⃝ × ZLJCL14 [32] × △ 3.31 [8, 18, 27, 32] [31] 2 1. 2. 2 semi-honest 1 ⃝ · · · △ · · · × · · ·

(42)

4

4.1 3 5 [31] BVT 4.1:

4.1

4.1 2 BVT 1 2 BVT

(43)

Setting A Pa Ia τa αa, βa, γa, ξa la 2 ηa:= [ηa(1), ηa(2),· · · , ηa(n)], ηa′ := [η′(1)a , η′(2)a ,· · · , η′(n)a ] B Pb Ib τb αb, βb, γb, ξb lb 2 ηb := [ηb(1), η (2) b ,· · · , η (n) b ], ηb′ := [η′(1)b , η′(2)b ,· · · , η′(n)b ] A Enca(Pa) B Encb(Pb) Private Matching A Pa B Ib, lb, τb, ηb, ξb BVT A vˆb B vb vb τb ∆b(lb) ∆b(lb) B A vˆb |Pa∩ Ib| B Pb A Ia, la, τa, ηa, ξa BVT B vˆa A va va τa ∆a(la) ∆a(la) A B ˆva |Pb∩ Ia| Verification A va, ˆvb B vb, ˆva va≥ ˆ va∧ vb ≥ ˆvb A B True/False αa, βa, γa αb, βb, γb va ≥ ˆva∧ vb ≥ ˆvb A Deca(Pa′′)∩ Ib B ηb, ηb′, ξb B Pa∩ Ib B Decb(Pb′′)∩ Ia A ηa, ηa′, ξa A Pb∩ Ia

(44)

4.2:

4.2

BVT

4.2.1

BVT [31] BVT

4.2.2

4.1 ηb := [ηb(1), η(2)b ,· · · , η(n)b ], η(i)b ̸= η(j)b (i̸= j). (4.1)

(45)

4.1: No. 1 2 · · · n Pb p(1)b p(2)b · · · p(n)b Ib i(1)b i (2) b · · · i (n) b ηb η(1)b η (2) b · · · η (n) b B Deca(Pa′′)∩ Ib′′ BVT Pa′′ Ib′′ 4.3: BVT

4.2.3

A A Enca(Pa) B Ib B lb B ηb η′ b B ξb vb |Pa∩ Ib| vˆb

(46)

1. A B A B B Enca(Pa) 2. A B (i) B Enca(Pa) rb ˆ Pa := Enca(ξb · (Pa+ rb) + ηb), (4.2) ) Ib := ξb· (Ib+ rb) + ηb. (4.3)

ξb ∈ ZN, r(i)b ∈ ZN, ηb(i) ∈ ZN, ηb(i) < ξb, )Ib(i) < N

(ii) lb ξb · yb + ηb′ yˆb := Enca(ξb · yb + ηb′) ξb· yb + η′b kb ZN ) yb ηb ηb′ η′ b (i) ∈ ZN, η′b (i) < ξb kb U ← {1, 2, · · · , lb} (iii) ˆPa, )Ib yˆb,y)b Pa′ := ˆPa⊕ ˆyb, Ib′ := )Ib⊕ )yb. (4.4) (iv) P′ a Ib′ Pa′′ := Shuffle [Pa′] , Ib′′:= Shuffle [Ib′] . (4.5) 3. A B Pa′′ Ib′′ A 4. B 2 B Pa Ib τb 2 (i)−(iv) vb := τb+ lb− kb. (4.6) 5. A A Pa′′ Ib′′ vˆb ˆ vb :=|Deca(Pa′′)∩ Ib′′|. (4.7)

4.3

N tN A, B αi, βi, γi (i = a, b) αi ∈ ZN, βi ∈ ZN, γi ∈ ZN, (4.8) αi· (n + li) + βi < N− 2tN−1, αi > βi > 0 (4.9)

(47)

BVT A (va, ˆvb) B (ˆva, vb) va ≤ ˆva ∧ vb ≤ ˆvb τa ≤ |Pb ∩ Ia| ∧ τb ≤ |Pa∩ Ib| A B va, vb, ˆva, ˆvb va≤ ˆva∧ vb ≤ ˆvb ZN (0, 2tN−1) [2tN−1, N ) tN va ≤ ˆva∧ vb ≤ ˆvb 4.4:

4.3.1

(va, ˆvb), (vb, ˆva) αa, αb, βa, βb, γa, γb va ≤ ˆva∧ vb ≤ ˆvb 1. A B , B A

A Enca(αa· ˆvb+ βa), Enca(αa) B B Encb(αb· ˆva+ βb), Encb(αb) A

2. A B

A γa, va Encb(αb· ˆva+ βb), Encb(αb) Encb(γa· (αb· (ˆva− va) + βb))

B $

Encb(αb · ˆva+ βb)· Encb(αb)−va

%γa

(48)

3. B A

B γb, vb Enca(αa· ˆvb+ βa), Enca(αa) Enca(γb· (αa· (ˆvb− vb) + βa))

A $ Enca(αa· ˆvb+ βa)· Enca(αa)−vb %γb = Enca(γb· (αa· (ˆvb− vb) + βa)). (4.11) 4. γi A [γa, γb· (αa· (ˆvb− vb) + βa)] B [γb, γa· (αb· (ˆva− va) + βb)] 5. tN αa· (ˆvb− vb) + βa, αb· (ˆva− va) + βb tN γb· (αa· (ˆvb− vb) + βa)· γb−1 = αa· (ˆvb− vb) + βa, (4.12) γa· (αb· (ˆva− va) + βb)· γa−1 = αb· (ˆva− va) + βb. (4.13) 6. tN A B False True

4.4

A B A B Deca(Pa′′)∩ Ib′′ B 2 ηb, ηb′ ξb B A B Pa∩ Ib Decb(Pb′′)∩ Ia′′ ηa, ηa′ ξa A B A Pb∩ Ia

4.4.1

Deca(Pa′′)∩ Ib′′ ηb BVT ξb Pa∩ Ib 1. B ξb A A

(49)

2. A ξb Ib′′∩ Deca(Pa′′) ˆ Ib := Ib′′∩ Deca(Pa′′) ˆ Ib(i) ≡ ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ η(i)b (mod ξb), η′(i) b (mod ξb), η (mod ξb). (4.14) η ηb, ηb′ 3. A B 4. B 5. B ηb 4.5: B A B Pa∩ Ib

(50)

5

3

5.1

6. BVT lb = kb proof. BVT [31]( 2) 7. (5.1) αi, βi αi ∈ ZN, βi ∈ ZN, γi ∈ ZN αi · (n + li) + βi < N − 2tN−1, αi > βi > 0. (5.1) proof. ZN (0, 2tN−1) [2tN−1, N ) ∀x ∈ ZN x tx ̸= tN x tx = tN 2 αi· (ˆvi− vi) + βi vˆi ! vi ! αi· (ˆvi− vi) + βi < 2tN−1, αi· (ˆvi− vi) + βi < N − 2tN−1. (5.2) 2tN−1 ≥ N − 2tN−1 αi· (ˆvi− vi) + βi < N− 2tN−1 ≤ 2tN−1. (5.3) αi, βi vˆi ! vi • ˆvi ≥ vi αi· (ˆvi− vi) + βi tN • ˆvi < vi αi· (ˆvi− vi) + βi tN αi· (ˆvi− vi) + βi tN

(51)

8. ηb ξb

Ib′′ ηb i̸= j

ξb ∈ ZN, ηb(i) ∈ ZN, 0 < ηb(i) < ξb, ηb(i) ̸= ηb(j), (5.4)

) Ib(j)= ξb· (i(j)b + r (j) b ) + η (j) b < N. (5.5) proof. I′′ b BVT ηb ξb Ib′′ I)b y)b ) Ib = ξb· (Ib+ rb) + ηb. (5.6) ) Ib(i) )

Ib(i) ≡ η(i)b (mod ξb). (5.7)

ηb 9. ξb Deca(Pa′′)∩ Ib′′ ηb Pa∩ Ib proof. 8 Deca(Pa′′)∩ Ib′′ ηb ηb Pa∩ Ib

5.2

10. BVT proof. A B • Paillier Paillier IND-CPA A Encb(Pb) Pb • BVT [31]( 4)

(52)

11. semi-honest

proof. A vˆb ≷ vb Enca(γb · (αa· (ˆvb − vb) + βa)) Enca(αa·

(ˆvb− vb) + βa) γb· (αa· (ˆvb− vb) + βa) αa· (ˆvb− vb) + βa A γb A vˆb ! vb Paillier Encb(αb· ˆva+ βb) vˆa A vˆa ! va 12. proof. A ηb ηb′ Ib′′ I)b = ξb· (Ib+ rb) + ηb Ib+ rb rb A Ib+ rb Ib B ηb

5.3

3

5.3.1

5.1: [31] BVT O(n + la+ lb) -BVT [31] O(n + la+ lb) -O(1) O(1) FACFM [31] O(1) O(1)

O(ˆva+ ˆvb)

-5.1 BVT

[31] [31]

BVT n

(53)

5.3.2

5.2 5.3 5.4 BVT BVT BVT 3.1 FACFM 2 n 5.2: BVT [bit] A 2tN · (2n + lb) -2tN · (n + la) -O(n + la+ lb) -5.3: [bit] 8tN + 1 16tN 8tN 16tN + 2 O(1) O(1) 5.4: [bit] A 2tN · (ˆva+ 1) 2tN · (ˆva+ ˆvb+ 2) 2tN · (ˆvb+ 1) 2tN · (ˆva+ ˆvb+ 2) O(ˆva+ ˆvb) O(ˆva+ ˆvb)

(54)

5.4

5.4.1

PC 2GB RAM 3GB RAM BVT Android Studio 2.2

OS Android 6.0.1 CPU Qualcomm Snapdragon S4 2GB RAM Nexus 7

5.4.2

A, B A, B BVT 1 A B 1 n = 10, 20, 30,· · · , 90 BVT BVT A B [31] BVT BVT BVT BVT [31] Update - 1 Process 2 ,4 2 ,4 Decrypt 5 5

(55)

BVT i = a, b ri 108 bit n ηi 108 bit n η′i 108 bit n ξi 36 bit li 10 ki 1 10 i = a, b αi 36 bit βi 108 bit γi 1024 bit

(56)

5.4.3

BVT

BVT 5.5 5.5: BVT [msec] (n + l) 20 30 40 50 60 70 80 90 100 Update 1449.6 2154.6 2891.1 3624.4 4345.5 5059.5 5812.9 6475.0 7197.46 Process 2229.2 3667.3 5079.3 6605.1 8002.2 9585.9 11104.3 12439.4 13966.7 [31] Process 1476.9 2215.9 2932.6 3671.0 4431.0 5126.0 5909.2 6635.5 7378.9 Decrypt 2848.0 4242.6 5655.8 7059.8 8472.7 9872.1 11316.4 12697.7 14105.6 0 2000 4000 6000 8000 10000 12000 14000 20 30 40 50 60 70 80 90 100

Time [msec]

Number of Attributes and Security parameter (n + l) Update

Refined BVT-Process BVT-Process[ZDLG13] BVT-Decrypt

(57)

5.1 BVT BVT [31] n

O(n + la+ lb) Update Decrypt 2

Process 1.5 n + li 2n + li n BVT O(n + la+ lb)

5.4.4

FACFM [31] 5.6 5.6: FACFM [31] [msec] (n + l) 20 30 40 50 60 70 80 90 100 Process 751.1 769.5 755.2 770.1 760.3 767.1 752.9 764.4 758.3 [31] Process 593.2 589.3 603.4 592.1 592.0 592.9 589.5 579.3 593.9 0 200 400 600 800 1000 10 20 30 40 50 60 70 80 90 100 Time [msec]

Number of Attributes and Security parameter (n + l)

FACFM[ZDLG’13] Judge Protocol

(58)

5.2 FACFM [31] n O(1) FACFM 180 ms 1 FACFM

5.4.5

[31]

A, B [31] ! A : Pa= [1, 0, 0, 0, 0], Ia= [1, 1, 0, 0, 0], B : Pb = [1, 1, 0, 0, 1], Ib = [1, 0, 0, 1, 1]. (5.8) |Pa∩ Ib| = 3, |Pb∩ Ia| = 4 5.7: FACFM (n = 5) ❍❍ ❍❍ ❍❍❍ A B 1 2 3 4 5

1 False False False False False 2 False False False False False 3 False False False False False 4 False False True False False 5 False False False False False

5.7 FACFM ( [31] ) A BVT B |Pb∩ Ia| = 4 FACFM B |Pa∩ Ib| = 3

(59)

5.8: (n = 5) ❍❍ ❍❍ ❍❍❍ A B 1 2 3 4 5

1 True True True False False 2 True True True False False 3 True True True False False 4 True True True False False 5 False False False False False

5.8 ( ) |Pb∩ Ia| = 4 τa = 1, 2, 3, 4 A B |Pa∩ Ib| = 3 τa >|Pb∩ Ia| τa =|Pb∩ Ia| τb ≤ |Pa∩ Ia|

5.4.6

5.9 5.9: [msec] 10 20 30 40 50 60 70 2374.0 4506.5 6605.6 8781.3 11037.6 13092.4 15208.3 [31] N/A N/A N/A N/A N/A N/A N/A

(60)

0 2000 4000 6000 8000 10000 12000 14000 16000 0 10 20 30 40 50 60 70 Time [msec]

Number of Intersection including dummies

Solving Intersection 5.3: 5.3 |Dec (P′′)∩ I′′| n li

(61)

6

[31]

6.1

2 1. 2. 6.1: 1 2 ⃝ ⃝ FNP04 [8] × IO16 [12] × LUB14 [18] × △ SX15 [25] × × TLSL15 [27] × ZDLG13 [31] × ZLJCL14 [32] × △ 6.11 1 2 BVT 10 11 1 ⃝ · · · △ · · · × · · ·

(62)

6.1

6.2

ZDLG13 [31]

6.2: (1) BVT [31] BVT malicious semi-honest O(n + li) O(n + li) O(n + li) O(n + li) × ⃝ 6.2 [31] BVT BVT n + li 2n + li n BVT 6.3: (2) FACFM [31] malicious semi-honest O(1) O(1) O(1) O(1) × ⃝ 6.3 [31] FACFM FACFM

(63)

7

semi-honest

(64)

8

8.1

• SCIS2016 2C1-3 2016 • (2) SCIS2017 3B3-3 2017

(65)
(66)

[1] http://www.skout.com/. [2] http://www.tagged.com/. [3] http://www.hi5.com/. [4] https://www.badoo.com/. [5] http://www.pof.com/.

[6] L. Batina, J. Hermans, J. Hoepman, and A. Krasnova. High-Speed Dating Privacy-Preserving Attribute Matching for RFID. RFIDSec 2014, pages 19–35, 2014.

[7] J. Camenisch and G. M. Zaverucha. Private Intersection of Certified Sets. FC 2009, 5628:108–127, 2009.

[8] M. J. Freedman, K. Nissim, and B. Pinkas. Efficient Private Matching and Set Intersection. EUROCRYPT, 3027:1–19, 2004.

[9] P. Gasti and K. B. Rasmussen. Privacy-preserving User Matching. WPES 2015, pages 111–120, 2015.

[10] D. He, Z. Cao, X. Dong, and J. Shen. User Self-controllable Profile Matching for Privacy-preserving Mobile Social Networks. IEEE ICCS 2014, pages 248–252, 2014. [11] Y. He, F. Li, B. Niu, and J. Hua. Achieving Secure and Accurate Friend Discovery

Based on Friend-of-Friend’s Recommendations. IEEE ICC 2016, pages 1–6, 2016. [12] Y. Ishikuro and K. Omote. Privacy-preserving profile matching protocol considering

conditions. NSS 2016, pages 171–183, 2016.

[13] C. Clifton J. Vaidy. Secure set intersection cardinality with application to association rule mining. Journal of Computer Security, 13(4):593–622, 2005.

[14] S. Jiang, X. Zhu, L. Guo, J. Liu, R. Hao, and B. Yang. Efficient Private Matching based on Blind Signature for Proximity-based Mobile Social Networks. IEEE ICC 2015, pages 3246–3251, 2015.

(67)

[15] M. Kim, H.T. Lee, and J.H. Cheon. Mutual Private Set Intersection with Linear Complexity. WISA 2011, pages 219–231, 2011.

[16] M. Li, N. Cao, S. Yu, and W. Lou. FindU: Privacy-Preserving Personal Profile Matching in Mobile Social Networks. IEEE INFOCOM 2011, pages 2435–2443, 2011. [17] M. Li, S. Yu, N. Cao, and W. Lou. Privacy-Preserving Distributed Profile Matching in Proximity-Based Mobile Social Networks. IEEE Trans. on Wireless Communications, 12(5):2024–2033, 2013.

[18] X. Liao, S. Uluagac, and R. A. Beyah. S-MATCH: Verifiable Privacy-preserving Profile Matching for Mobile Social Services. 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, pages 287–298, 2014.

[19] E. Luo, Q. Liu, and G. Wang. NMHP: A Privacy Preserving Profile Matching Proto-col in Multi-hop Proximity Mobile Social Networks. ICA3PP 2015, pages 463–474, 2015.

[20] B. Pinkas M. Naor. Oblivious Polynomial Evaluation. SIAM J. Comput., pages 1254–1287, 2006.

[21] K. Omote. . CSS 2014, pages

659–666, 2014.

[22] P. Paillier. Public-key Cryptosystems Based on Composite Degree Residuosity Classes. EUROCRYPT, pages 223–238, 1999.

[23] P. Paillier and D. Pointcheval. Efficient Public-key Cryptosystems Provably Secure Against Actirve Adversaries. ASIACRYPT, pages 165–179, 1999.

[24] F. Qi and W. Wang. Efficient Private Matching Scheme for Friend Information Exchange. ICA3PP 2015, pages 492–503, 2015.

[25] S. Sarpong and C. Xu. Privacy-preserving Attribute Matchmaking in Proximity-based Mobile Social Networks. International Journal of Security and Its Applications, 9(5):217–230, 2015.

[26] A. Shamir. How to share a secret. Communications of the ACM, 22(11):612–613, 1979.

[27] A. Thapa, M. Li, S. Salinas, and P. Li. Asymmetric Social Proximity Based Pri-vate Matching Protocols for Online Social Networks. IEEE Trans. on Parallel and Distributed Systems 2015, 26(6):1547–1559, 2014.

(68)

[28] Y. Wang, X. Chen, Q. Jin, and J. Ma. LIP3: A Lightweighted Fine-Grained Privacy-Preserving Profile Matching Mechanism for Mobile Social Networks in Proximity. ICA3PP 2015, pages 166–176, 2015.

[29] Z. B. Chen Z. Some formal analysis of rocchio’s similarity-based relevance feedback algorithm. Algorithm and Computation, 19(69):108–119, 2000.

[30] R. Zhang, Y. Zhang, J.S. Sun, and G. Yan. Fine-grained Private Matching for Proximity-based Mobile Social Networking. IEEE INFOCOM 2012, pages 1969– 1977, 2012.

[31] H. Zhu, S. Du, M. Li, and Z. Gao. Fairness-Aware and Privacy-Preserving Friend Matching Protocol in Mobile Social Networks. IEEE Transactions on Emerging Topics in Computing, 1(1):192–200, 2013.

[32] X. Zhu, J. Liu, S. Jiang, Z. Chen, and H. Li. Efficient Weight-based Private Matching for Proximity-based Mobile Social Networks. IEEE ICC 2014, pages 4114–4119, 2014.

参照

関連したドキュメント

Based on the stability theory of fractional-order differential equations, Routh-Hurwitz stability condition, and by using linear control, simpler controllers are designed to

LOBBY LOUNGE ロビーラウンジ BEACH SIDE レストラン ビーチサイド ADAN 阿檀.

2010年小委員会は、第9.4条(旧第9.3条)で適用される秘匿特権の決定に関する 拘束力のない追加ガイダンスを提供した(そして、

These authors make the following objection to the classical Cahn-Hilliard theory: it does not seem to arise from an exact macroscopic description of microscopic models of

These authors make the following objection to the classical Cahn-Hilliard theory: it does not seem to arise from an exact macroscopic description of microscopic models of

The efficient and robust uncertainty quantification method for unsteady problems based on extrema diminishing interpolation of oscillatory samples at constant phase used to resolve

According to the divide and conquer method under equivalence relation and tolerance relation, the abstract process for knowledge reduction in rough set theory based on the divide

Extensional P-completeness is very easy to achieve: it is basically sufficient if the following are typable:.. 17/03/2006, Keio