Top Banner
Secure Computation (Lecture 2) Arpita Patra
27

Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Dec 13, 2015

Download

Documents

Jerome Gordon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Computation (Lecture 2)

Arpita Patra

Page 2: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Vishwaroop of MPC

Page 3: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 1: Any polynomially computable function can be computed securely.

>> So far you have seen how to compute addition and bit multiplication securely

>> less than, equal to, greater than

>> AES encryption function,

>> any encryption function (key and message in different location or shared),

>> satellite collision probability computation function

>> set intersection

………

Page 4: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Two models of Computation

Secure Circuit evaluation: Nothing other than the output gate value will be revealed

Boolean Circuit (AND, OR, NOT, XOR)

Arithmetic Circuit over finite field (Addition and Multiplication)

x1 x2 x3 x4

+

f(x1, x2, x3, x4); inputs are field elements

x1 x2 x3 x4

f(x1, x2, x3, x4); inputs are bits

Page 5: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Which one will you prefer?

Dimension 1: Any polynomially computable function can be computed securely.

Boolean Circuit (AND, OR, NOT, XOR)

x1 x2

Depends on f that you want to compute

f(x1,x2) = x1+x2; x1, x2 are from F5

x1+x2

+

More than one gate

Non-linear operation (comparison, greater than etc are more concisely represented in Boolean circuit)

Arithmetic Circuit over finite field (Addition and Multiplication)

Page 6: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Which one will you prefer?

Dimension 1: Any polynomially computable function can be computed securely.

Boolean Circuit (AND, OR, NOT, XOR)

Huge body of work Huge body of work

Combination(B + A)

+ Very less amount of work+ Scope for Research

Arithmetic Circuit over finite field (Addition and Multiplication)

Page 7: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 2.1: Varieties of network (complete vs. incomplete )

Complete Network Incomplete Network

Most of the works in this model Very less explored

Practical for applications involving very few parties (less than 10)

Practical for applications where billions can participate (E-election)

Page 8: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 2.2: Varieties of network (synchronous vs. asynchronous)

Synchronous Network Asynchronous Network

• Compute and send x

• ... • Wait to

receive x

• ...

x

• Global Clock

• Channels have fixed delay

Knows how long to wait

Page 9: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Asynchronous Network

• Compute and send x

• ...

• Wait to receive x

• ...

x

• No Global Clock

• Channels have arbitrary yet finite delay

Does not Know how long to wait

Page 10: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

• Compute and send x

• ...

• Wait to receive x

• ...

x

• No Global Clock

• Channels have arbitrary yet finite delay

Does not Know how long to wait

Is he cheating

or slow ?

Oh! I have to drop the message

Asynchronous Network

Page 11: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

• n parties and t of them may cheat

n p

art

ies

x1

x2

xn

can afford to wait to listen from (n-t) parties

Else endless waiting

But leads to ignoring messages of t honest parties

Cannot wait for all

Asynchronous Network

Page 12: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Addition y = x1+x2+x3 (assume n=3 parties) in asynchronous settings

x1

P1

P2

P3

P1

x2

P2

x3

P3

x12

x13+ +

+ +

+ +

=

=

=

Piy = s1 + s2 + s3

x11 x12 x13 x21 x22 x23 x31 x32 x33

x11

x13

x11

x12

x22

x23

x21

x23

x21

x22

x32

x33

x31

x33

x31

x32

s2

s3

s1

s3

s1

s2

One of the parties may cheat.

This simple protocol does not work ! No protocol with n parties where t will be cheating works when n ≤ 3t

No input provision!

Page 13: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 2.3: Varieties of network (synchronous vs. asynchronous vs. hybrid)

Synchronous Network Asynchronous Network

>> Most of the works in this model>> simple to comprehend>> Models small local network

>> Less explored>> Models real-life networks better than synchronous network>> Hard and challenging to deal with>> Many impossibility results>> Scope of work

Hybrid Network- Synchronous up to some point and asynchronous

afterwards

>> Very less explored again>> Models real-life networks better than synchronous network>> Some of the impossibility results in asynchronous network is shown to be possible here>> Scope of work

Page 14: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 3: Modelling Dis-trust

x1

P1

P2

P3

P1

x2

P2

x3

P3

x12

x13+ +

+ +

+ +

=

=

=

yix = x1 + x2 + x3

x11 x12 x13 x21 x22 x23 x31 x32 x33

x11

x13

x11

x12

x22

x23

x21

x23

x21

x22

x32

x33

x31

x33

x31

x32

s2

s3

s1

s3

s1

s2

Protected against a single curious party What if they parties are curious and join hand?

Page 15: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 3: Modelling Dis-trust (centralized vs. decentralized )

To model this, we assume that there is a single monolithic/centralized entity who we call as adversary (A) and who controls a number of parties out of n parties.

Bad people work together

Page 16: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Redefine MPC

– >> n parties P1,....,Pn ‘some’ are corrupted by A

>> A common n-input function f

>> Pi has private input xi

Goals: >> Correctness: Compute f(x1,x2,..xn) >> Privacy: Nothing more than y is leaked to A

Page 17: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Addition y = x1+x2+x3+x4 with n=4 and t=2

x1

P1

P2

P3

P1

x2

P2

x3

P3

x12

x13

x14

+ +

+ +

+ +

=

=

=

Pi

x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34

x11

x13

x14

x11

x12

x14

x22

x23

x24

x21

x23

x24

x21

x22

x24

x32

x33

x34

x31

x33

x34

x31

x32

x34

s2

s3

s4

s1

s3

s4

s1

s2

s4

Can you modify the secret sharing and tolerate coalition of two?

x4

+

+

+

x41 x42 x43 x44

x42

x43

x44

x41

x43

x44

x41

x42

x44

P4

P4+ + =

x11

x12

x13

x21

x22

x23

x31

x32

x33

s1

s2

ss

+

x41

x42

x43

y = s1 + s2

+ s3 +

s4

Page 18: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Addition y = x1+x2+x3+x4 with n=4 and t=2

x1

P1

P2

P3

P1

x2

P2

x3

P3

x11 + +

+ +

+ +

=

=

=

Pi

x12

x13

All the parties together hold the secret. Any two parties hold no info about the secret

x21

x22

x23

x31

x32

x33

s1

s2

s3

x4

P4

+

+

+

x31

x32

x33

x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34 x41 x42 x43 x44

P4 + + =x14 x24 x34s4+ x34

y = s1 + s2

+ s3 + s4

Page 19: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 4.1: Various Characteristics of adversary A (threshold vs. non-threshold)

Threshold: A can corrupt at most t out of n (n: total no of participating parties; t = threshold; t < n)

Non-Threshold: Adversaries behavior is captured by a set of subset of parties. A can corrupt one of the sub-sets.

Eg. P = {P1 , P2 , P3} A = {{P1}, {P2 , P3}}

>> Most of the works in this model because of its simplicity

>> Generalization of threshold>> Less explored>> Models real-life scenarios>> Very non-intuitive >> Non-threshold secret sharing

Page 20: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 4.2: Various Characteristics of adversary A (polynomially bounded vs. unbounded powerful)

Polynomially Bounded: A has polynomial computing power

Unbounded: A has unbounded computing power

>> Well explored>> Relies on cryptography that are based on number theoretic hard problems>> Cryptographic/Computational

>> Well explored>> Does not reply on any hard problem>> Even if A has quantum computers, it cannot break privacy- very strong security>> Information-theoretic>> Impossibility results for n ≤ 2tOne of the earlier demarcations made in the study MPC.

We will see both types of protocols in the course

Page 21: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure bit multiplication y = x1 x2 with (n=2,t=1) using crypto

x1

P1P2

x2

1-out-of-2OT

0

x1

x2

x1x2

OT CANNOT be realized information-theoretically!

Page 22: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure bit multiplication y = x1 x2 with (n=2,t=1) i.t. security

x1

P1

P2

P1

x2

P2

x12

We can use OT to compute the summand but then we use crypto!

x11 x12 x21 x22

x11

x22

x21

y = x1 x2

= (x11 + x12 )(x21 + x22 ) = (x11x21 + x11x22 + x12x21 + x12x22)

= x12x22

= x11x21

AND cannot be computed information theoretically with n ≤ 2t!

Page 23: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Multiplication y = x1 x2 with (n=3,t=1) with i.t. security

x1

P1

P2

P3

P1

x2

P2

x12

x13 s1 = x12x22 + x12x23 + x13x21

Use three party protocol for sum y= s1+s2+s3

where s1,s2,s3

act as secret inputs

x11 x12 x13 x21 x22 x23

x11

x13

x11

x12

x22

x23

x21

x23

x21

x22

y = x1 x2

= (x11 + x12 + x13 )(x21 + x22 + x23 ) = (x11x21 + x11x22 + x11x23 + x12x21 + x12x22 + x12x23 + x13x21 + x13x22 + x13x23)

s2 = x11x23 + x13x21 + x13x23

s3 = x11x21 + x11x22 + x12x21

This breaches privacy since it is not supposed to learn x2 when x1 = 0

Can the parties exchange s1, s2, s3?

If P1 is corrupted, it can learn x2 irrespective of the value for x1 ! How?

Page 24: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Expanding the scope of MPC

Dimension 4.3: Various Characteristics of adversary A (semi-honest vs. malicious vs. covert)

Passive/Semi-honest: A is a passive observer, eavesdrops the corrupted parties

Active/Malicious: A takes full control over the corrupted parties

>> Well explored>> Often acts as a starting point for malicious protocols

>> Well explored>> final goal>> Demands a whole lot of new primitives, Commitment, Zero-knowledge Proofs, Byzantine agreement/broadcast

One of the earlier demarcations made in the study MPC.

First half: semi-honest Second Half: Malicious

Covert: A behaves maliciously only when its prob. Of getting caught is

low>> Very less explored >> More efficient solutions than maliciously secure protocols>> Scope of work

Page 25: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Addition y = x1+x2+x3 with n=3 and t=1 in Malicious Setting

x1

P1

P2

P3

P1

x2

P2

x3

P3

x11 + +

+ +

+ +

=

=

=

Piy = s1 + s2 + s3

x11 x12 x13 x21 x22 x23 x31 x32 x33

x12

x13

x21

x22

x23

x31

x32

x33

s1

s2

s3

P1 under the influence of A may not send his shares to others!

Page 26: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.

Secure Addition y = x1+x2+x3 with n=3 and t=1 in Malicious Setting

x1

P1

P2

P3

P1

x2

P2

x3

P3

x11 + +

+ +

+ +

=

=

=

P2y = s1 + s2 + s3

x11 x12 x13 x21 x22 x23 x31 x32 x33

x12

x13

x21

x22

x23

x31

x32

x33

s1

s2

s3

A can make P2 and P3 to output different sums!

P3

y’ = s’1 + s2 + s3

s’1

If you are thinking that the problem can be resolved by exchanging the outputs, you are absolutely wrong!

Primitive 3 (Byzantine Agreement/broadcast): Another fundamental building block of MPC

Page 27: Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.