multi-party computation forever for cloud computing and beyond

77
Multi-Party Computation Forever for Cloud Computing and Beyond Shlomi Dolev Joint works with Limor Lahiani, Moti Yung, Juan Garay, Niv Gilboa and Vladimir Kolesnikov

Upload: faraji

Post on 05-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Multi-Party Computation Forever for Cloud Computing and Beyond. Shlomi Dolev Joint works with Limor Lahiani , Moti Yung, Juan Garay , Niv Gilboa and Vladimir Kolesnikov. Secret Swarm Unit Reactive K-Secret Sharing. INDOCRYPT 2007 Shlomi Dolev 1 , Limor Lahiani 1 , Moti Yung 2 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multi-Party Computation Forever  for Cloud Computing and Beyond

Multi-Party Computation Forever

for Cloud Computing and Beyond

Shlomi Dolev

Joint works with Limor Lahiani, Moti Yung, Juan Garay, Niv Gilboa and Vladimir

Kolesnikov

Page 2: Multi-Party Computation Forever  for Cloud Computing and Beyond

Secret Swarm Unit Reactive K-Secret Sharing

INDOCRYPT 2007Shlomi Dolev1, Limor Lahiani1, Moti

Yung2

Department of Computer Science 1 Ben-Gurion University of the Negev

2 Columbia University

Page 3: Multi-Party Computation Forever  for Cloud Computing and Beyond

Talk Outline• Introduction & motivation• The problem• Swarm settings• Reactive k-secret sharing solutions

• Polynomial based solution• Chinese remaindering based solution• Vandermonde-matrix based solution• Virtual I/O automaton

• Conclusions

Page 4: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial Based Solution Shamir’s (k,n)-threshold scheme

• Secret: Globl secret gs• p(x) = a0+a1x+a2x2+…+akxk

• a1..ak are random

• Secret: a0 = gs

• Secret distribution• n distinct points: (xi,p(xi)), xi 0• gs = p(0)• Any k+1 points reveals the secret • No less than k+1 reveals it

Page 5: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial Based counter

Increment counter: gs gs+δ• p(x) = gs+a1x+a2x2+…+akxk

• q(x) = p(x) + δ • q(x) is defined by xi,p(xi)+δ

Multiply : gs gs·μ• p(x) = gs+a1x+a2x2+…+ akxk

• q(x) = p(x)·μ • q(x) is defined by xi,p(xi)·μ

Page 6: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solution

Swarm input: setset(xi,p(xi))

Page 7: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solution

Swarm input: stepstep()

xi, p(xi) xi, p(xi)+

And the same for multiplication by μ

Page 8: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solutioninput: regain consistency request

regainConsistencyReq()

leader

xi, p(xi)

Page 9: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solutioninput: regain consistency request

leader

Page 10: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solutioninput: regain consistency reply

leader

xi, p(xi)

Page 11: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial based solutioninput: join request & reply

joinReq()

joinReply()

Page 12: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Polynomial Based Solution(Corruptive Adversary)

• Berlekamp-Welch• Polynomial p(x) of degree k• k+r points• e errors• Decode p(x) if e r/2

• Polynomial based solution• Decode p(x) if f (n–k–lp)/2 • Where lp = num of leaving processes

between two regainConsistency ops.

Page 13: Multi-Party Computation Forever  for Cloud Computing and Beyond

Talk Outline• Introduction & motivation• The Problem• Swarm settings• Reactive k-secret sharing solutions

• Polynomial based solution• Chinese remaindering based solution• Vandermonde-matrix based solution• Virtual I/O automaton

• Conclusions

Page 14: Multi-Party Computation Forever  for Cloud Computing and Beyond

Our Chinese Remainder Based Solution

• Swarm secret: global secret gs• p1 < p2 < … < pk relatively primes • Mk = p1p2… pk

• 0 gs Mk • gs r1,p1, r2,p2,…, rl ,pk [CRT]• ri = gs mod pi • gs r1, r2,…,rk

• Secret share • ri, pi, ri = gs mod pi

Page 15: Multi-Party Computation Forever  for Cloud Computing and Beyond

Swarm Input

pixi , ri p(xi)

set()

step()

regainConsistencyRequest()

joinRequest()

joinReply()

regainConsistencyReply()

Page 16: Multi-Party Computation Forever  for Cloud Computing and Beyond

Our Chinese RemainderBased SolutionSwarm input: step

step(δ)

i, bi bi [l1] … [lj]

M[l1]=…=M[lj]=1

Page 17: Multi-Party Computation Forever  for Cloud Computing and Beyond

Talk Outline• Introduction & motivation• The problem• Swarm settings• Reactive k-secret sharing solutions

• Polynomial based solution• Chinese remaindering based solution• Vandermonde-matrix based solution• Virtual I/O automaton

• Conclusions

Page 18: Multi-Party Computation Forever  for Cloud Computing and Beyond

Virtual I/O Automaton• I/O Automaton A

• Implemented by the swarm• Global state (Global secret)

• Current state of A• Replicated at least T n times• Regain consistency ensures:

• At least T+lp+f replicas of the global state

• At most T-f-1 replicas of any other state• Global output

• Output with at least T n replicas • Threshold device

Page 19: Multi-Party Computation Forever  for Cloud Computing and Beyond

Virtual I/O Automaton

• Secret share• Tuple si1,si2,…,sim of candidates• At most 1 state is the global state

• Step()• transition step on si1,si2,…,sim and

• Randomly solve convergence to same state

• New tuple of candidates: s’i1,s’i2,…,s’im

• Output actions oi1,oi2,…,oim• At least T replicas of the global output

Page 20: Multi-Party Computation Forever  for Cloud Computing and Beyond

Talk Outline• Introduction & motivation• The problem• Swarm Settings• Reactive k-secret sharing solutions

• Polynomial based solution• Chinese remaindering based solution• Vandermonde-matrix based solution• Virtual I/O automaton

• Conclusions

Page 21: Multi-Party Computation Forever  for Cloud Computing and Beyond

Conclusions• polynomial based solution

• Addition & multiplication• Error correcting [Berlekamp-Welch]

• Chinese remaindering based solution• Addition• Error correcting [Mandelbaum]

• Virtual I/O automaton• Mask the global state

• Further results: Vandermonde matrix• Support XOR operations

Page 22: Multi-Party Computation Forever  for Cloud Computing and Beyond

Thank You!

Page 23: Multi-Party Computation Forever  for Cloud Computing and Beyond

Swarming Secrets

Shlomi Dolev (BGU), Juan Garay (AT&T Labs), Niv Gilboa (BGU)Vladimir Kolesnikov (Bell Labs)

PODC 2010 (Allerton 2009)

Page 24: Multi-Party Computation Forever  for Cloud Computing and Beyond

Talk Outline

• Objectives• Adversary• Secret sharing• Membership and thresholds• Private computation in swarms

– Perfectly oblivious TM– Computing transitions

Page 25: Multi-Party Computation Forever  for Cloud Computing and Beyond

Objectives

• Why swarms• Why secrets in a swarm• Dynamic membership in swarms• Computation in a swarm

Page 26: Multi-Party Computation Forever  for Cloud Computing and Beyond

Adversary

• Honest but curious• Adaptive• Controls swarm members

– Up to a threshold of t members• What about eavesdropping?

– We assume that can eavesdrop on the links (incoming and outgoing) of up to t members

Page 27: Multi-Party Computation Forever  for Cloud Computing and Beyond

Secret sharing

X

Y

i

j P(i,j)

Bivariate Polynomial P(x,y)i

Share of Player i

Share of Player i

P(i,y)

P(x,i)

Page 28: Multi-Party Computation Forever  for Cloud Computing and Beyond

JoinHey Guys,

can I play with you? I’m J!

J

B

D

C

A

Sure!PA(J,y), PA(x,J)

PB(J,y), PB(x,J)

PC(J,y), PC(x,J)

PA(J,y), PA(x,J)

Page 29: Multi-Party Computation Forever  for Cloud Computing and Beyond

Leave

• Problem:– Member retains share after leaving– Adversary could corrupt leaving member

and t current members• Refreshing (Proactive Secret Sharing)

– Each member shares random polynomial with free coefficient 0

Page 30: Multi-Party Computation Forever  for Cloud Computing and Beyond

Additional Operations

• Merge• Split• Clone

Page 31: Multi-Party Computation Forever  for Cloud Computing and Beyond

Increase Threshold

• Why do it?• How – simple, add random

polynomials of higher degree with P(0,0)=0

Page 32: Multi-Party Computation Forever  for Cloud Computing and Beyond

Decrease Threshold- t to t*

J

B

DC

A

Choose random, Degree t* QA(x,y)

Share ofQA(x,y)

Share ofQA(x,y)

Share ofQA(x,y)

Share ofQA(x,y)

B, C, D, … also sharerandom polynomials

Page 33: Multi-Party Computation Forever  for Cloud Computing and Beyond

Decrease Threshold- t to t*

J

B

DC

AAdd local

shares

Add local shares

Add local shares

Add local shares

Add local shares

Interpolate

P(x,y) + QA(x,y) + QB(x,y) +…

Remove high degreeterms

R(x,y)

Page 34: Multi-Party Computation Forever  for Cloud Computing and Beyond

Decrease Threshold- t to t*

J

B

DC

A

High mon.Of P

High mon.Of PHigh mon.

Of P

High mon.Of P

Computereduced P

Computereduced P

Computereduced P

Computereduced P

Computereduced P

Page 35: Multi-Party Computation Forever  for Cloud Computing and Beyond

Computation in a Swarm

• A distributed system– Computational model– Communication between members– Input – we can consider global and non-

global input– Changes to “software”– “Output” of computation when

computation time is unbounded

Page 36: Multi-Party Computation Forever  for Cloud Computing and Beyond

What is Hidden

• Current state• Input• Software• Time

What is not Hidden?• Space

Page 37: Multi-Party Computation Forever  for Cloud Computing and Beyond

How is it Hidden?

• Secret sharing– Input– State

• Universal TM– Software

• Perfectly oblivious universal TM– Time

Page 38: Multi-Party Computation Forever  for Cloud Computing and Beyond

Architecture of a Swarm TM

0 ...10

ObliviousUniversalMachine

1 ...00

User 1

Input tape

Work tape

Tape heads

1 ...11

ObliviousUniversalMachine

1 ...10

User 2

Input tape

Work tape

Tape heads

Communication

Page 39: Multi-Party Computation Forever  for Cloud Computing and Beyond

Perfectly Oblivious TM

Perfectly Oblivious TM

Tape head

Oblivious TM – Head moves as function of number of steps

Perfectly Oblivious TM – Head moves as function of current position

Page 40: Multi-Party Computation Forever  for Cloud Computing and Beyond

N N Y N

Perfectly Oblivious TM

Perfectly Oblivious TM

Tape

Orig. TapeHead

Transition:

(st, )(st2,,right)

Transition:

(st, )(st1,,left)

Tape shifts right,copy that was in previous cell

Tape shifts right, headshifts left, Y stays in

place, copy

Insert result of “real”transition,

Transition:

(st, )(st3,,left)

Page 41: Multi-Party Computation Forever  for Cloud Computing and Beyond

TM Transitions

TapeTape head

st1

st2

…st

States Transition Table

st1

1 … …

ns,st

ns

Page 42: Multi-Party Computation Forever  for Cloud Computing and Beyond

Encoding States & Cells

Tape

st1

st2

…st

States

10…0

01…0

0…010…0

index st

0…010…0

index

Page 43: Multi-Party Computation Forever  for Cloud Computing and Beyond

Computing a Transition

• Goal, Compute transition privately in one communication round

• Method, Construct new state/symbol unit vector, ns/n, from

• Current state - st• Current symbol -

• ns[k]= st[i] [j], for all i, j such that a transition of (i, j) gives state k

• Construct new symbol vector in analogous way

n[k]= st[i] [j], for all i, j such that a transition of (i, j) gives symbol k

Page 44: Multi-Party Computation Forever  for Cloud Computing and Beyond

Encoding State Transitions

Transition Table

st1

st2

ns, st1, St1,

St2, ns,

ns, St2, st2,ns,st

Current Transition

0

0

0 … 0

0*0 0*1 0*0

1*0 1*0

0*0 0*1 0*0

1*11

1

ns,ns,

ns,

ns,

1*01*1

0*0

0*0

st1, St1,0*1 0*0

St2, st2,

St2,

0*1 0*0

1*0

0*0+0*1=0 … 1*0+0*1+0*0=00*0+0*0+1*1+1*0=1

0…010…0 New state is ns

Page 45: Multi-Party Computation Forever  for Cloud Computing and Beyond

Encoding Symbol Transitions

Transition Table

st1

st2

ns, st1, St1,

St2, ns,

ns, St2, st2,ns,st

Current Transition

0

0

0 … 0

0*0 0*1 0*0

1*0 1*0

0*0 0*1 0*0

1*11

1

st1,

ns,st2,

0*1

1*10*0

St1,

ns,St2,

ns,

0*0

1*01*0

0*0

ns,

St2,

0*0

0*1

0*0+0*1=0 … 1*0+0*0+0*0+1*0=0 0*1+1*1+0*0=1

0…01 New symbol is

Page 46: Multi-Party Computation Forever  for Cloud Computing and Beyond

What about Privacy?

• Goal: compute transitions privately• Method

– Compute new shares using the st[i] [j], – Reduce polynomial degree

Page 47: Multi-Party Computation Forever  for Cloud Computing and Beyond

Sharing States & Symbols

• Initially• Encode 1 by P(x,y), P(0,0)=1• Encode 0 by Q(x,y), Q(0,0)=0• Share bivariate polynomials for state

and symbol• Step• Compute 0*0+ 1*0+ 1*1… by

– Multiplying and summing local shares– Running “Decrease” degree protocol

Page 48: Multi-Party Computation Forever  for Cloud Computing and Beyond

Thank You!!!

E.g. http://senseable.mit.edu/flyfire/

Page 49: Multi-Party Computation Forever  for Cloud Computing and Beyond

Secret Sharing Krohn-Rhodes:

Private and Perennial Distributed Computation

Shlomi Dolev (BGU), Juan Garay (AT&T Labs)Niv Gilboa (BGU and Deutsche Telekom)Vladimir Kolesnikov (Bell Labs) ICS 2011

Page 50: Multi-Party Computation Forever  for Cloud Computing and Beyond

Model

Page 51: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Setting

Dealer k parties

A1

Ak

Outsourcing

… i i+1 i+2 …

Work!Reconstruction

State k

State 1

Automaton A

S Initial state

Automaton A is public, State S is secret

Dealer wants to outsource computation of A

Parties receive the same global, unbounded length input

Each party computes internal state. No communication!

T

Final state

Page 52: Multi-Party Computation Forever  for Cloud Computing and Beyond

Adversary Model• Adversary knows FSA A• Adversary does not know

– Initial state S– Input stream 1,…,i,…

• Adversary can– Control up to t executing parties– “one shot” – looks once at memory of

executing party. Subsequently, this party stops functioning

• Motivation- sensor networks/ UAV/ Cloud computing

• We consider honest-but-curious adversary• Robust secret sharing works against malicious

adversary

Page 53: Multi-Party Computation Forever  for Cloud Computing and Beyond

Security

• Security definition – Scheme is secure if for adversary every:– Two initial states S and S’– Two input streams: 1,…,i and ’1,…,’j

– Two corruption timelines 1, 2 of eq. length

The view of the adversary is identical

• The adversary’s view includes A and the memory of the parties it corrupts

Page 54: Multi-Party Computation Forever  for Cloud Computing and Beyond

Why not MPC?

MPC [Yao’82,GMW’87,BGW’88,CCD’88]: n players, t corrupted, each with input xi of the same length, compute F(x1,…,xn), while keeping xi private.

Known MPC techniques cannot handle combination of – Non-interactivity of online phase– IT security– Unbounded input

Page 55: Multi-Party Computation Forever  for Cloud Computing and Beyond

FSA

• Our model for FSA– States– Input symbols (no output)– Transitions

Page 56: Multi-Party Computation Forever  for Cloud Computing and Beyond

Our Scheme

Page 57: Multi-Party Computation Forever  for Cloud Computing and Beyond

Contributions• Scheme for perennial computation for

every FSA• Complexity depends on complexity of

Krohn-Rhodes decomposition of FSA– Linear for certain interesting cases – n! in the worst case

• Complexity measures– Size of FSA (space)– Number of transitions per original transition

(time)• Bridging of two “worlds”: IT cryptography

and automata theory

Page 58: Multi-Party Computation Forever  for Cloud Computing and Beyond

A simple Case

Permutation FSA

Page 59: Multi-Party Computation Forever  for Cloud Computing and Beyond

Permutation Automaton

S1

S4S2

S3

α α

α

α

β β

ββ

Page 60: Multi-Party Computation Forever  for Cloud Computing and Beyond

Initialization: Secret Sharing

Secret shares of the value 1

k instances

Permutation FSA

Secret shares of the value 0Each state looks the same

S

Initial state

Page 61: Multi-Party Computation Forever  for Cloud Computing and Beyond

Online Phase

k partiesA global input for all parties

Page 62: Multi-Party Computation Forever  for Cloud Computing and Beyond

Reconstruction

• Dealer collects all shares from every party

• Correct final state is associated with a shared 1

• All other states are associated with a shared 0

Page 63: Multi-Party Computation Forever  for Cloud Computing and Beyond

The Full Solution

Page 64: Multi-Party Computation Forever  for Cloud Computing and Beyond

What’s Missing?

• Not every FSA is a permutation FSA!• Our plan:

– Decompose FSA into simple components• Permutation FSA• Reset FSA

Page 65: Multi-Party Computation Forever  for Cloud Computing and Beyond

Reset Automaton

S1 S2 S3 S4

α β

α

α

α

β

β

β

Page 66: Multi-Party Computation Forever  for Cloud Computing and Beyond

Cascade/Wreath Product

FSA i-1

FSA 1

FSA n

S1

FSA i

Si-1

Si

Sn

Sequence of n Automata

Current state of each FSA

i-1

n

i

1

Component input

Global input

i=i(,s1,…,si-1)

Page 67: Multi-Party Computation Forever  for Cloud Computing and Beyond

Homomorphic Representation

FSA i-1

FSA 1

FSA n

S1

FSA i

Si-1

Si

Sn

Automaton A

S

Cascade product represents some FSA

Mapping between states (s1,…,sn)=s

Mapping satisfied for every input

Cascade can be used instead of A

Page 68: Multi-Party Computation Forever  for Cloud Computing and Beyond

Krohn-Rhodes Theory

• [Krohn-Rhodes 1962, 1965] – every FSA can be homomorphically represented by cascade of permutation FSA and reset FSA

• [Zieger 1967, Eilenberg 1976] – the Holonomy decomposition – for n-state FSA A, ≤n level cascade, ≤n states in each component

Page 69: Multi-Party Computation Forever  for Cloud Computing and Beyond

Initialization: Decomposition

Dealer input

Automaton A

Initial state S

Decompose to cascade of permutation and reset FSA

Si

Permutation FSA, initial state si

Reset FSA, initial state sj

Sj

(s1,…,sn)=s

Page 70: Multi-Party Computation Forever  for Cloud Computing and Beyond

Initialization: Secret Sharing

Secret shares of the value 1

Reset FSA

k instances

Permutation FSA

Secret shares of the value 0

Each state looks the same

Secret share 1 for correct resetSecret share 0 for other resets

Page 71: Multi-Party Computation Forever  for Cloud Computing and Beyond

Party Input

• k Parties• Decomposition of A to permutation

and reset FSA• Cascade functions 1,…,n-1

• Secret shares for one instance

Page 72: Multi-Party Computation Forever  for Cloud Computing and Beyond

Party Initialization

Permutation: One child per state

Reset: One child per FSAEvery path: cascade representing A

Correct path: 1 shares

Page 73: Multi-Party Computation Forever  for Cloud Computing and Beyond

Online Phase

i=i(,s1,…,si-1)

i+1=i+1(,s1,…,si)i+1=i+1(,s1,…,ti)

Page 74: Multi-Party Computation Forever  for Cloud Computing and Beyond

Reconstruction

• Dealer collects shares• Reconstructs 1 shares layer by layer• Obtains s1,…,sn

• Computes s=(s1,…,sn)

Page 75: Multi-Party Computation Forever  for Cloud Computing and Beyond

Example: Gen. Decision Tree

Page 76: Multi-Party Computation Forever  for Cloud Computing and Beyond

Summary• Scheme for perennial computation for

every FSA• Complexity depends on complexity of

Krohn-Rhodes decomposition of FSA– Linear for certain interesting cases – n! in the worst case

• Complexity measures– Size of FSA (space)– Number of transitions per original transition

(time)• Bridging of two “worlds”: IT cryptography

and automata theory

Page 77: Multi-Party Computation Forever  for Cloud Computing and Beyond

Thank You!!!