Privacy-Preserving Outsourcing by Distributed Verifiable - - PowerPoint PPT Presentation

β–Ά
privacy preserving outsourcing by distributed verifiable
SMART_READER_LITE
LIVE PREVIEW

Privacy-Preserving Outsourcing by Distributed Verifiable - - PowerPoint PPT Presentation

Privacy-Preserving Outsourcing by Distributed Verifiable Computation Meilof Veeningen Philips Research MPC 2016, Aarhus, May 30 2016 2 Philips Research 3 Philips Research 4 Philips Research 5 Philips Research 6 Philips Research


slide-1
SLIDE 1

Privacy-Preserving Outsourcing by Distributed Verifiable Computation

Meilof Veeningen

Philips Research MPC 2016, Aarhus, May 30 2016

slide-2
SLIDE 2

Philips Research

2

slide-3
SLIDE 3

Philips Research

3

slide-4
SLIDE 4

Philips Research

4

slide-5
SLIDE 5

Philips Research

5

slide-6
SLIDE 6

Philips Research

6

slide-7
SLIDE 7

Outsourcing Computations on Sensitive Data (I)

Philips Research

7

x f(x) privacy? correctness?

slide-8
SLIDE 8

Outsourcing Computations on Sensitive Data (I)

Philips Research

8

𝑦 " 𝑦 # 𝑦 $

secure multiparty computation

𝑔(𝑦) $ 𝑔(𝑦) # 𝑔(𝑦) "

Jakobsen, Nielsen, Orlandi (CCSW ’14): privacy and correctness with π‘œ βˆ’ 1 actively corrupted workers

Can we achieve correctness even if all workers are corrupted?

slide-9
SLIDE 9

Outsourcing & Correctness (But No Privacy)

Philips Research

9

slide-10
SLIDE 10

Privacy + Correctness: A Generic Construction

Philips Research

10

𝑦 " 𝑦 # 𝑦 $ 𝑧 = 𝑔(𝑦) $ 𝑧 = 𝑔(𝑦) # 𝑧 = 𝑔(𝑦) " 𝑧,Proof(𝑧 = 𝑔 𝑦 ) $ 𝑧, Proof(𝑧 = 𝑔 𝑦 ) # 𝑧, Proof(𝑧 = 𝑔 𝑦 ) "

Question: can we efficiently construct these proofs with multi-party computation? Privacy: same as MPC protocol used Correctness: always!

slide-11
SLIDE 11

Privacy + Correctness: Previous Work

Philips Research

11

  • penings

Publicly Auditable SPDZ (Baum/DamgΓ₯rd/Orlandi) Preprocessing 𝑦 , 𝑧 , 𝑦𝑧 +𝑕3, 𝑕4, 𝑕34 Universally Verifiable CDN (de Hoogh/Schoenmakers/V.) ZK NIZK Certificate Validation … (de Hoogh/Schoenmakers/V.) Paillier ElGamal Verification effort scales in computation size! Reason: existing work takes MPC as starting point!

slide-12
SLIDE 12

Privacy + Correctness: Previous Work

Philips Research

12

  • Instead of 𝑧, Proof(𝑧 = 𝑔 𝑦 ) ":

– Baum/DamgΓ₯rd/Orlandi: SPDZ + Pedersen commitments = SPDZ’ – de Hoogh/Schoenmakers/Veeningen: CDN + non-interactive proofs = CDN’ – de Hoogh/Schoenmakers/Veeningen: CDN’ + ElGamal encryption = CDN’’

  • Because of MPC starting point, no efficient verification!
slide-13
SLIDE 13

Today: 𝑧, Proof(𝑧 = 𝑔 𝑦 ) can be efficient!

Philips Research

13

𝑦 " 𝑦 # 𝑦 $ 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) $ 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) # 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) "

  • Theorem. (Schoenmakers/V/de

Vreede, ACNS β€˜16) Privacy-preserving computation of Pinocchio VC: three workers each perform essentially the work of the original prover.

  • Corollary. Verifiable Multi-Party

Computation with constant-time verification!

slide-14
SLIDE 14

Outline

  • Secret sharing MPC
  • Pinocchio VC
  • Secret sharing MPC + Pinocchio VC

Philips Research

14

slide-15
SLIDE 15

Philips Research

15

Secret sharing MPC

slide-16
SLIDE 16

Shamir secret sharing (2-out-of-3)

Philips Research

16

(3,𝑧< + 𝑨<) (2,𝑧@ + 𝑨@) (1,𝑧A + 𝑨A) 𝑑$ + 𝑑" 𝑑$ 𝑧A 𝑧@ 𝑧< 1 2 3 𝑑" (1,𝑧A) (2,𝑧@) (3, 𝑧<) (1, 𝑨A) (2, 𝑨@) (3, 𝑨<) (1,𝑧A𝑨A) (2,𝑧@𝑨@) (3,𝑧<𝑨<) 𝛽𝑑$ (1,𝛽𝑧D) (2,𝛽𝑧E) (3,𝛽𝑧F) 𝑧 = 𝑏𝑦 + 𝑑$ 𝑐𝑦 + 𝑑" = 𝑏𝑐 𝑦" + 𝑏𝑑" + 𝑐𝑑$ 𝑦 + 𝑑$𝑑" s$s" = 3(𝑧D𝑨D) βˆ’ 3(𝑧E𝑨E) + (𝑧F𝑨F) (3-out-of-3 sharing!) Animation: Sebastiaan de Hoogh

slide-17
SLIDE 17

, 𝑑𝑒(𝑑 + 𝑒) 𝑑𝑒(𝑑 + 𝑒) $ 𝑑𝑒(𝑑 + 𝑒) " 𝑑𝑒(𝑑 + 𝑒) # 𝑑𝑒(𝑑 + 𝑒) $ 𝑑𝑒(𝑑 + 𝑒) " 𝑑𝑒(𝑑 + 𝑒) # 𝑑 + 𝑒 $ 𝑑 + 𝑒 " 𝑑 + 𝑒 # 𝑑𝑒 $ 𝑑𝑒 " 𝑑𝑒 # 𝑑𝑒 # " 𝑑𝑒 # $ 𝑑𝑒 " $ 𝑑𝑒 " $ 𝑑𝑒 $ " 𝑑𝑒 $ # 𝑑𝑒 $ 𝑑𝑒 " 𝑑𝑒 # 𝑑 $, 𝑒 $ 𝑑 ", 𝑒 " 𝑑 #, 𝑒 # 𝑑 $, 𝑒 $ 𝑑 ", 𝑒 " 𝑑 #, 𝑒 # Goal: compute 𝑧 = 𝑑 β‹… 𝑒 β‹… (𝑑 + 𝑒) 𝑦 : 2-out-of-3 sharing of 𝑦 𝑦 : 3-out-of-3 sharing of 𝑦 𝑑, 𝑒

Philips Research

17

MPC based on Shamir secret sharing

𝑑𝑒 = 3 𝑑𝑒 $ βˆ’ 3 𝑑𝑒 " + 𝑑𝑒 # 𝑑𝑒 M = 3 𝑑𝑒 $ M βˆ’ 3 𝑑𝑒 " M + 𝑑𝑒 # M

slide-18
SLIDE 18

Philips Research

18

Pinocchio VC

slide-19
SLIDE 19

Pinocchio: Quadratic Arithmetic Programs

Prove that committed 𝑦 βƒ— satisfies equations π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = (𝑍 β‹… 𝑦 βƒ—) Example: 𝑧 = 𝑑 β‹… 𝑒 β‹… 𝑑 + 𝑒 if and only if: βˆƒπ‘¨ ∢ U𝑑 β‹… 𝑒 = 𝑨 𝑨 β‹… (𝑑 + 𝑒) = 𝑧 1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 βˆ— 0 1 1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 = 0 1 1 β‹… 𝑑 𝑒 𝑨 𝑧 E.g.: 𝑑 𝑒 𝑧 𝑨 = 3 2 6 30 is a solution

Philips Research

19

β€œquadratic arithmetic program” (QAP)

slide-20
SLIDE 20

Pinocchio: From QAP to SNARK (I)

Philips Research

20

Prove that committed 𝑦 βƒ— satisfies equations π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = 𝑍 β‹… 𝑦 βƒ— . Define π‘ŠM 𝜊 ,𝑋

M 𝜊 ,𝑍 M 𝜊 by β€œcolumnwiseLagrange interpolation”

1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 βˆ— 0 1 1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 = 0 1 1 β‹… 𝑑 𝑒 𝑨 𝑧 π‘Š$ 1 = 1, π‘Š$ 2 = 0 π‘Š$ 𝜊 = 2 βˆ’ 𝜊 𝑋

" 1 = 1, 𝑋 " 2 = 1

𝑋

" 𝜊 = 1

…

value at 1 value at 2 Consider polynomial 𝑄3

βƒ— 𝜊 = π‘Š$ 𝜊 𝑑+ π‘Š" 𝜊 𝑒 + β‹― β‹… 𝑋 $ 𝜊 𝑑 + β‹― βˆ’ 𝑍 $ 𝜊 𝑑 + β‹― :

  • In 𝜊 = 1: 𝑄3

βƒ— 1 = π‘Š$ 1 𝑑 + π‘Š" 1 𝑒 + β‹― β‹… 𝑋 $ 1 𝑑 + β‹― βˆ’ 𝑍 $ 1 𝑑 + β‹―

= 𝑑 β‹… 𝑒 βˆ’ 𝑨

  • In 𝜊 = 2: 𝑄3

βƒ— 2 = π‘Š$ 1 𝑑 + π‘Š" 1 𝑒 + β‹― β‹… 𝑋 $ 1 𝑑 + β‹― βˆ’ 𝑍 $ 1 𝑑 + β‹―

= 𝑨 β‹… 𝑑 + 𝑒 βˆ’ 𝑧 So π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = 𝑍 β‹… 𝑦 βƒ— if and only if 𝑄3

βƒ— 1 = 𝑄3 βƒ— 2 = 0

if and only if 𝜊 βˆ’ 1 β‹… 𝜊 βˆ’ 2 | 𝑄 𝜊 if and only if there exists β„Ž 𝜊 : 𝜊 βˆ’ 1 β‹… 𝜊 βˆ’ 2 β‹… β„Ž 𝜊 = 𝑄3

βƒ— 𝜊

slide-21
SLIDE 21

Pinocchio: From QAP to SNARK (II)

Philips Research

21

Example. 1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 βˆ— 0 1 1 1 0 β‹… 𝑑 𝑒 𝑨 𝑧 = 0 1 1 β‹… 𝑑 𝑒 𝑨 𝑧 π‘Š

$ 𝜊 = 𝑍 # 𝜊 = 2 βˆ’ 𝜊

π‘Š

" 𝜊 = π‘Š ` 𝜊 = 𝑋 # 𝜊 = 𝑋 ` 𝜊 = 𝑍 $ 𝜊 = 𝑍 " 𝜊 = 0

π‘Š

# 𝜊 = 𝑋 $ 𝜊 = 𝑍 ` 𝜊 = 𝜊 βˆ’ 1

𝑋

" 𝜊 = 1

value at 1 value at 2 Claim: 𝑑 𝑒 𝑨 𝑧 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = π‘‘π‘Š

$ 𝜊 + π‘’π‘Š " 𝜊 + π‘¨π‘Š # 𝜊 + π‘§π‘Š ` 𝜊

β‹… 𝑑𝑋

$ 𝜊 + 𝑒𝑋 " 𝜊 + 𝑨𝑋 # 𝜊 + 𝑧𝑋 ` 𝜊

βˆ’ 𝑑𝑍

$ 𝜊 + 𝑒𝑍 " 𝜊 + 𝑨𝑍 # 𝜊 + 𝑧𝑍 ` 𝜊

Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = 3π‘Š

$ 𝜊 + 2π‘Š " 𝜊 + 6π‘Š # 𝜊 + 30π‘Š ` 𝜊

β‹… 3𝑋

$ 𝜊 + 2𝑋 " 𝜊 + 6𝑋 # 𝜊 + 30𝑋 ` 𝜊

βˆ’ 3𝑍

$ 𝜊 + 2𝑍 " 𝜊 + 6𝑍 # 𝜊 + 30𝑍 ` 𝜊

Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = 3𝜊 β‹… 3𝜊 βˆ’ 1 βˆ’ 24𝜊 βˆ’ 18 Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = 9𝜊" βˆ’ 27𝜊 + 18

slide-22
SLIDE 22

Pinocchio: From QAP to SNARK (III)

Lemma β‡’ 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = 9𝜊" βˆ’ 27𝜊 + 18

Philips Research

22

9𝜊" βˆ’ 27𝜊 + 18 𝜊" βˆ’ 3𝜊 + 2 9 (𝜊" βˆ’ 3𝜊 + 2) 9 βˆ’ β„Ž 𝜊 = 9

slide-23
SLIDE 23

Pinocchio: From QAP to SNARK (IV)

Philips Research

23

verification key: 𝑕 fg$ ⋅…⋅ fgh prover: 𝑕i f prover/verifier: 𝑕j

k f 3klβ‹―

prover/verifier: 𝑕m

k f 3klβ‹―

prover/verifier: 𝑕n

k f 3klβ‹―

evaluation key: 𝑕, 𝑕f, 𝑕fo,… evaluation/verification key: 𝑕jp(f),𝑕mp(f), 𝑕n

p(f)

𝑓 𝑕r 𝑕s 𝑓 𝑕r,𝑕s = 𝑓(𝑕t, 𝑕h) iff 𝑏 β‹… 𝑐 = 𝑑 β‹… 𝑒 𝑓 𝑕t 𝑕h Magic crypto tool: pairing verifier: 𝑓 𝑕 fg$ ⋅…⋅ fgh ,𝑕i f = 𝑓 𝑕j

k f 3klβ‹―,𝑕m k f 3klβ‹― β‹… 𝑓 𝑕n k f 3klβ‹―,𝑕

g$ ?

Ξ βˆ’ 1 β‹… …⋅ Ξ βˆ’ 𝑒 β‹… β„Ž Ξ = π‘Š

$ Ξ 𝑦$ + β‹―

β‹… 𝑋

$ Ξ 𝑦$ + β‹― βˆ’ 𝑍 $ Ξ 𝑦$ + β‹―

β‹… 1 𝜊 βˆ’ 1 β‹… …⋅ 𝜊 βˆ’ 𝑒 β‹… β„Ž 𝜊 = π‘Š

$ 𝜊 𝑦$ + β‹― β‹… 𝑋 $ 𝜊 𝑦$ + β‹― βˆ’ 𝑍 $ 𝜊 𝑦$ + β‹― β‹… 1

Ξ: random, unknown Prove:

slide-24
SLIDE 24

Pinocchio: From QAP to SNARK (V)

Philips Research

24

𝑑, 𝑒

  • evaluate function: get 𝑨, 𝑧
  • compute 𝑕j

x f y, 𝑕m x f y, 𝑕n x f y

  • compute β„Ž 𝜊 = j z m z gn z

zg$ ⋅…⋅(zgh)

  • compute 𝑕i f

verify: 𝑓 𝑕 fg$ ⋅…⋅ fgh , 𝑕i f = 𝑓(𝑕j

k f {lj

  • f |lj

} f 4 β‹… 𝑕j x f y,

𝑕m

k f {lm

  • f |lm

} f 4 β‹… 𝑕m x f y) β‹…

𝑓 𝑕n

k f {ln

  • f |ln

} f 4 β‹… 𝑕n x f y,𝑕

g$

𝑧, 𝑕i f , 𝑕j

x f y,𝑕m x f y, 𝑕n x f y

evaluation key: 𝑕, 𝑕f, 𝑕fo,… 𝑕j

x f ,𝑕m x f , 𝑕n x f

verification key: 𝑕 fg$ ⋅…⋅ fgh 𝑕j

k f ,𝑕m k f ,𝑕n k f

𝑕j

  • f ,𝑕m
  • f ,𝑕n
  • f

𝑕j

} f , 𝑕m } f , 𝑕n } f

slide-25
SLIDE 25

Philips Research

25

Pinocchio VC Secret sharing MPC +

slide-26
SLIDE 26

Trinocchio: Distributing the Pinocchio System (I)

Philips Research

26

  • evaluate function: get 𝑨, 𝑧
  • compute 𝑕j

x f y, 𝑕m x f y, 𝑕n x f y

  • compute β„Ž 𝜊 = j z m z gn z

zg$ ⋅…⋅(zgh)

  • compute 𝑕i f

𝑑, 𝑒 𝑧, 𝑕i f , 𝑕j

x f y,𝑕m x f y, 𝑕n x f y

𝑑 , 𝑒 𝑧 , 𝑕i f , 𝑕j

x f y , 𝑕m x f y , 𝑕n x f y

slide-27
SLIDE 27

Trinocchio: Distributing the Pinocchio System (II)

Philips Research

27

prove 𝑕,𝑕f, 𝑕fo,…,𝑕j

x f ,𝑕m x f , 𝑕n x f ,𝑑, 𝑒 :

𝑨, 𝑧 = 𝑔(𝑑, 𝑒) 𝑕j

x f y = exp

(𝑕j

x f ,𝑨)

𝑕m

x f y = exp

(𝑕m

x f ,𝑨)

𝑕n

x f y = exp(𝑕n x f ,𝑨)

π‘œ 𝜊 = π‘Š

$ 𝜊 𝑑 + π‘Š " 𝜊 𝑒 + π‘Š # 𝜊 𝑨 + π‘Š ` 𝜊 𝑧 βˆ— 𝑋 $ 𝜊 𝑑 + β‹―

βˆ’ 𝑍

$ 𝜊 𝑑 + β‹―

β„Ž 𝜊 =

β€š z zg$ ⋅…⋅ zgh

𝑕i f = exp 𝑕, β„ŽΖ’ β‹… exp 𝑕f,β„Ž$ β‹… …⋅ exp (𝑕fβ€žβ€¦k,β„Žhg$) return 𝑧, 𝑕i f , 𝑕j

x f y,𝑕m x f y, 𝑕n x f y

slide-28
SLIDE 28

Trinocchio: Distributing the Pinocchio System (II)

Philips Research

28

return 𝑧 , 𝑕i f , 𝑕j

x f y , 𝑕m x f y , 𝑕n x f y

return 𝑧, 𝑕i f , 𝑕j

x f y,𝑕m x f y, 𝑕n x f y

𝑕i f = exp 𝑕, β„ŽΖ’ β‹… exp 𝑕f, β„Ž$ β‹… …⋅ exp (𝑕fβ€žβ€¦k, β„Žhg$ ) 𝑕i f = exp 𝑕, β„ŽΖ’ β‹… exp 𝑕f,β„Ž$ β‹… …⋅ exp (𝑕fβ€žβ€¦k,β„Žhg$) β„Ž 𝜊 =

β€š z zg$ ⋅…⋅ zgh

β„Ž 𝜊 =

β€š z zg$ ⋅…⋅ zgh

Products of 2-out-of-3 shares give 3-out-of-3 shares π‘œ 𝜊 = π‘Š

$ 𝜊

𝑑 + π‘Š

" 𝜊

𝑒 + π‘Š

# 𝜊

𝑨 + π‘Š

` 𝜊

𝑧 βˆ— 𝑋

$ 𝜊

𝑑 + β‹― βˆ’ 𝑍

$ 𝜊

𝑑 + β‹― π‘œ 𝜊 = π‘Š

$ 𝜊 𝑑 + π‘Š " 𝜊 𝑒 + π‘Š # 𝜊 𝑨 + π‘Š ` 𝜊 𝑧 βˆ— 𝑋 $ 𝜊 𝑑 + β‹― βˆ’ 𝑍 $ 𝜊 𝑑 + β‹―

𝑕n

x f y = exp(𝑕n x f , 𝑨 )

𝑕m

x f y = exp

(𝑕m

x f , 𝑨 )

𝑕j

x f y = exp

(𝑕j

x f , 𝑨 )

𝑕n

x f y = exp(𝑕n x f ,𝑨)

𝑕m

x f y = exp

(𝑕m

x f ,𝑨)

𝑕j

x f y = exp

(𝑕j

x f ,𝑨)

MPC computation of 𝑔 gives internal wire values β€œfor free” 𝑨 , 𝑧 = 𝑔( 𝑑 , 𝑒 ) 𝑨, 𝑧 = 𝑔(𝑑, 𝑒) prove 𝑕,𝑕f, 𝑕fo,…,𝑕j

x f ,𝑕m x f , 𝑕n x f , 𝑑 , 𝑒 :

prove 𝑕, 𝑕f, 𝑕fo, …,𝑕j

x f ,𝑕m x f , 𝑕n x f ,𝑑, 𝑒 :

Division by public polynomial is linear! Shamir reconstruction β€œin the exponent” Only step in which the workers communicate!

slide-29
SLIDE 29

Trinocchio: Distributing the Pinocchio System (III)

Philips Research

29

𝑧 , 𝜌 𝑦 βƒ— 𝑦 βƒ— 𝑦 βƒ— 𝑑 , 𝑒

  • Theorem. Privacy-preserving

computation of Pinocchio VC: three workers each perform essentially the work of the original prover. 275 s 275 s 275 s 6427 s 6427 s 6427 s 0.05 s

slide-30
SLIDE 30

Extensions / Future Directions

Philips Research

30

π‘Œ β‹… 𝑆 = 1

π‘Œ = 𝐢

$ + 2𝐢" +

… + 2Œ𝐢Œ 1 = 𝐢

$ β‹… 1 βˆ’ 𝐢 $

… 1 = 𝐢Œ β‹… 1 βˆ’ 𝐢Œ

QAP MPC nonzero test positivity test 𝑉 βˆˆβ€’ β„± π‘Š = π‘ƒπ‘žπ‘“π‘œ( π‘Œπ‘‰ ) 𝑆 = π‘Šg$ 𝑉 𝐢$ , …, 𝐢$ = 𝐢𝑗𝑒𝐸𝑓𝑑( π‘Œ ) …

  • Multiple inputters
  • Auditable MPC
  • Verifiability by certificate validation
  • QAPs + MPC for particular tasks?

– Zero testing – Comparison – …

  • Easily programmable distributed

verifiable computation

slide-31
SLIDE 31