CS573 Data Privacy and Security Secure Multiparty Computation - - PowerPoint PPT Presentation

cs573 data privacy and security secure multiparty
SMART_READER_LITE
LIVE PREVIEW

CS573 Data Privacy and Security Secure Multiparty Computation - - PowerPoint PPT Presentation

CS573 Data Privacy and Security Secure Multiparty Computation General Constructions Li Xiong Last Lecture Symmetric & Public key encryption Secure Multiparty Computations Problem and security definitions General constructions


slide-1
SLIDE 1

CS573 Data Privacy and Security Secure Multiparty Computation

General Constructions Li Xiong

slide-2
SLIDE 2

Last Lecture

  • Symmetric & Public key encryption
  • Secure Multiparty Computations
  • Problem and security definitions
  • General constructions
  • Oblivious Transfer
slide-3
SLIDE 3

Secure Multiparty Computation

  • A set of parties with private inputs
  • Parties wish to jointly compute a function of

their inputs so that certain security properties are preserved

  • Properties must be ensured even if some of the

parties maliciously attack the protocol

  • Can model any cryptographic task
slide-4
SLIDE 4

Security Requirements

  • Consider a secure auction (with secret bids):

–An adversary may wish to learn the bids of all parties – to prevent this, require PRIVACY –An adversary may wish to win with a lower bid than the highest – to prevent this, require CORRECTNESS –But, the adversary may also wish to ensure that it always gives the highest bid – to prevent this, require INDEPENDENCE OF INPUTS –An adversary may try to abort the execution if its bid is not the highest – require FAIRNESS

slide-5
SLIDE 5

Security Requirements

  • Privacy: only the output is revealed
  • Correctness: the function is computed correctly
  • Independence of inputs: parties cannot choose

inputs based on others’ inputs

  • Fairness: if one party receives output, all receive
  • utput
  • Guaranteed output delivery
slide-6
SLIDE 6

Defining Security

  • Option 1: analyze security concerns for each

specific problem

– Auctions: as in previous slide – Elections: privacy, correctness and fairness only (?)

  • Problems:

– How do we know that all concerns are covered? – Definitions are application dependent and need to be redefined from scratch for each task

slide-7
SLIDE 7

Defining Security

  • Option 2: general definition that captures all

(most) secure computation tasks

  • Properties of any such definition

– Well-defined adversary model

  • Semi-honest, Malicious

– Well-defined execution setting

  • Stand-alone, concurrent general composition

– Security guarantees are clear and simple to understand

slide-8
SLIDE 8

Defining Security: the Ideal/Real Paradigm

  • What is the best we could hope for?

– An incorruptible trusted party – All parties send inputs to trusted party (over perfectly secure communication lines) – Trusted party computes output – Trusted party sends each party its output (over perfectly secure communication lines) – This is the ideal world

  • What can an adversary do?

– Just choose its input…

  • Semi-honest: simulator given input/output

generates the adversary’s view

slide-9
SLIDE 9

Today

  • Cont. Secure Multiparty Computations
  • Problem and security definitions
  • General constructions
slide-10
SLIDE 10

Construction paradigms

  • We sketch a couple of paradigms used in the

construction of secure multiparty protocols.

  • Passively-secure computation for two-parties

– Use oblivious transfer to securely select a value

  • Passively-secure computation with shares

– Use secret sharing scheme such that data can be reconstructed from some shares

  • From passively-secure protocols to actively-

secure protocols

– Use zero-knowledge proofs to force parties to behave in a way consistent with the passively-secure protocol

slide-11
SLIDE 11

Secret Sharing Scheme

  • Distributing a secret amongst n participants,

each of whom is allocated a share of the secret

  • The secret can be reconstructed only when a

sufficient number (t) of shares are combined together

– (t, n)-threshold scheme

slide-12
SLIDE 12

Trivial Secret Sharing Scheme

  • Splitting

– Encode the secret as an integer S. – Give to each player i (except one) a random integer ri. – Give to the last player the number 𝑇 − σ𝑗=1

𝑜−1 𝑠 𝑗

slide-13
SLIDE 13

(t, n) threshold scheme

  • Shamir’s scheme 1979

– It takes t points to define a polynomial of degree t-1 – Create a t-1 degree polynomial with secret as the first coefficient and the remaining coefficients picked at

  • random. Find n points on the curve

and give one to each of the players. At least t points are required to fit the polynomial.

slide-14
SLIDE 14

The GMW Paradigm

  • “Can we design protocols that remain secure

even when some parties can behave maliciously? “*

  • GMW (Goldreich, Micali and Wigderson)
  • Paradigm for designing secure computation

protocols against malicious adversaries

  • Secure computation for more than two

parties, computing Boolean circuits

Secure Multi-Party Computation, By M.M. Prabhakaran

slide-15
SLIDE 15

The GMW Paradigm

  • Construct a protocol for the semi-honest

model

  • “Compile it” to obtain a protocol that is secure

for the malicious model

– Compilation involves forcing the parties to follow the protocol

  • It may be more efficient to work differently
slide-16
SLIDE 16

General GMW Construction

  • For simplicity – consider two-party case
  • Let f be the function that the parties wish to

compute

  • Represent f as an arithmetic circuit with

addition and multiplication gates

  • Aim – compute gate-by-gate, revealing only

random shares each time

slide-17
SLIDE 17

Random Shares Paradigm

  • Let a be some value:

– Party 1 holds a random value a1 – Party 2 holds a+a1 – Note that without knowing a1, a+a1 is just a random value revealing nothing of a. – We say that the parties hold random shares of a.

  • The computation will be such that all

intermediate values are random shares (and so they reveal nothing).

slide-18
SLIDE 18

Circuit Computation

  • Stage 1: each party randomly shares its input with

the other party

  • Stage 2: compute gates of circuit as follows

– Given random shares to the input wires, compute random shares of the output wires

  • Stage 3: combine shares of the output wires in order

to obtain actual output

AND OR AND NOT OR AND

Alice’s inputs Bob’s inputs

slide-19
SLIDE 19

Addition Gates

  • Input wires to gate have values a and b:

– Party 1 has shares a1 and b1 – Party 2 has shares a2 and b2 – Note: a1+a2=a and b1+b2=b

  • To compute random shares of output c=a+b

– Party 1 locally computes c1=a1+b1 – Party 2 locally computes c2=a2+b2 – Note: c1+c2=a1+a2+b1+b2=a+b=c

slide-20
SLIDE 20

Multiplication Gates

  • Input wires to gate have values a and b:

– Party 1 has shares a1 and b1 – Party 2 has shares a2 and b2 – Wish to compute c = ab = (a1+a2)(b1+b2)

  • Party 1 knows its concrete share values a1 and

b1.

  • Party 2’s shares a2 and b2 are unknown to

Party 1, but there are only 4 possibilities (00,01,10,11)

slide-21
SLIDE 21

Multiplication (cont)

  • Party 1 prepares a table as follows:

– Row 1 corresponds to Party 2’s input 00 – Row 2 corresponds to Party 2’s input 01 – Row 3 corresponds to Party 2’s input 10 – Row 4 corresponds to Party 2’s input 11

slide-22
SLIDE 22

Multiplication (cont)

  • Party 1 prepares a table as follows (Let r be

a random bit chosen by Party 1):

– Row 1 contains the value ab+r when a2=0,b2=0 – Row 2 contains the value ab+r when a2=0,b2=1 – Row 3 contains the value ab+r when a2=1,b2=0 – Row 4 contains the value ab+r when a2=1,b2=1

slide-23
SLIDE 23

Concrete Example

  • Assume: a1=0, b1=1
  • Assume: r=1

Row Party 2’s shares Output value

1 a2=0,b2=0 (0+0).(1+0)+1=1 2 a2=0,b2=1 (0+0).(1+1)+1=1 3 a2=1,b2=0 (0+1).(1+0)+1=0 4 a2=1,b2=1 (0+1).(1+1)+1=1

slide-24
SLIDE 24

The Gate Protocol

  • The parties run a 1-out-of-4 oblivious transfer

protocol

  • Party 1 plays the sender: message i is row i of

the table.

  • Party 2 plays the receiver: it inputs 1 if a2=0

and b2=0, 2 if a2=0 and b2=1, and so on…

  • Output:

– Party 2 receives c2=c+r – this is its output – Party 1 outputs c1=r – Note: c1 and c2 are random shares of c, as required

slide-25
SLIDE 25

Summary

  • By computing each gate these way, at the end

the parties hold shares of the output wires

  • Function output generated by simply sending

shares to each other.

slide-26
SLIDE 26

Security

  • Reduction to the oblivious transfer protocol
  • Assuming security of the OT protocol, parties only

see random values until the end. Therefore, simulation is straightforward.

  • Note: correctness relies heavily on semi-honest

behavior (otherwise can modify shares).

  • Theorem: any functionality f can be securely

computed in the semi-honest model.

slide-27
SLIDE 27

Remark

  • The semi-honest model is often used as a tool

for obtaining security against malicious parties.

  • In many (most?) settings, security against

semi-honest adversaries does not suffice.

  • In some settings, it may suffice.

– One example: hospitals that wish to share data.

slide-28
SLIDE 28

Malicious Adversaries

  • The above protocol is not secure against

malicious adversaries:

– A malicious adversary may learn more than it should. – A malicious adversary can cause the honest party to receive incorrect output. – We need to be able to extract a malicious adversary’s input and send it to the trusted party.

slide-29
SLIDE 29

Obtaining Security

Three goals:

  • Force the adversary to use a fixed input

– Furthermore, make it possible for the ideal-model simulator/adversary to extract this input.

  • Force the adversary to use a uniform random

tape

  • Force the adversary to follow the protocol

exactly (consistently with their fixed input and random tape)

slide-30
SLIDE 30

The compiler

  • Input commitment phase:

– Each party commits to its input

  • Coin generation phase:

– The parties generate random tapes for each other – Initial idea: random tape of Pi is defined as S1,i⨁S2,i⨁ …⨁Sn,i, where Sj,i is chosen by Pj

  • Protocol emulation phase:

– Run the protocol while proving that parties operations comply with their inputs and random tapes

slide-31
SLIDE 31

Stage 1: Input Commitment

Preliminaries: bit commitment

  • Commit Stage:

–Committer has a bit  –Receiver obtains a commitment string c

  • Reveal Stage:

–Committer sends a decommit message to receiver –Receiver uses decommit message and c to

  • btain 
slide-32
SLIDE 32

Bit Commitment

Security Properties:

  • Binding: for every c, there exists only one

value  for which decommitment is accepted

– Formally: the set of commitment strings to 0 is disjoint from the set of commitment strings to 1.

  • Hiding: the receiver cannot distinguish a

commitment string that is to 0 from a commitment string that is to 1.

slide-33
SLIDE 33

Protocols

  • Commitment using public-key encryption:

– Committer chooses a key-pair (pk,sk). – Committer sends (pk,c=Epk()) to the receiver.

  • Decommitment:

– Committer sends the secret-key sk to the receiver – Receiver verifies that sk is associated with pk and decrypts, obtaining .

  • Note: the commitment process is
  • randomized. This is essential for any secure

commitment.

slide-34
SLIDE 34

Proving Security

  • Assumption: given pk, there is exactly one

secret key sk that is associated with pk, and this can be efficiently determined (holds for RSA).

  • Binding: encryption must have unique
  • decryption. So given correct sk (above

assumption), any c can only decrypt to one of 0

  • r 1.
  • Hiding: without knowledge of sk, cannot

distinguish encryptions of 0 from encryption of 1 (by definition of security of encryption).

slide-35
SLIDE 35

Coin Tossing

  • Aim: fix uniform random tape of each party
  • Coin tossing of a bit:

– Parties 1 and 2 agree on a common random bit – Parties 1 and 2 obtain the same uniform (pseudorandom) bit r

  • The coin tossing functionality:

– Trusted party chooses a random bit r and sends it to both parties

slide-36
SLIDE 36

Coin Tossing

  • Instead of selecting a random bit, party 1 can choose a bit that is favorable

to her and affect the bias of the output

  • To ensure the output is random, need to make the outcome dependent on

both parties

  • Idea: P1 chooses a random bit r1, P2 chooses a random bit r2, and they
  • utput r1 +r2
  • Then even if one of the parties tries to cheat, as long as the other party

plays fairly the outcome will be truly random

  • Problem: this protocol cannot be realized in the communication model
  • When P1 and P2 communicate, one of them has to go first. But if P1 sends

her bit r1 first, then P2 can make his choice r2 dependent of r1

– E.g., if P2 wants the outcome to be zero, he can set r2 = r1

Andrej Bogdanov , CSCI 5440: Cryptography, The Chinese University of Hong Kong, Spring 11

slide-37
SLIDE 37

Coin Tossing Protocol [Blum]

  • Protocol:

– Make use of a commitment scheme – Party 1 chooses a random bit r1, computes a commitment c1 to r1 and sends c1 to Party 2 – Party 2 chooses a random bit r2 and sends it to Party 1 – Party 1 decommits, revealing r1

  • Outputs:

– Both parties output r=r1r2

slide-38
SLIDE 38

Augmented Coin Tossing

  • Recall: coin tossing is for choosing random

tapes of parties.

  • But, Party 1 does not know Party 2’s random

tape in reality!

  • Augmented coin-tossing:

– Party 1 obtains a random string r – Party 2 obtains a commitment to r

slide-39
SLIDE 39

Protocol Emulation

  • At this stage, each party holds a commitment

to the other party’s input and random tape.

  • A protocol is a deterministic function of a

party’s input, random tape and series of incoming messages.

  • Therefore, the commitments can be used to

force the parties to follow the protocol instructions.

slide-40
SLIDE 40

Forcing Good Behavior

  • AIM: a party should prove that the

message it is sending is correct.

–That is, it is consistent with the protocol instructions, given the input and random- tape that are committed and the incoming messages (that are public).

slide-41
SLIDE 41

Tool: Zero Knowledge

  • Problem setting: a prover wishes to prove a

statement to the verifier so that:

– Zero knowledge: the verifier will learn nothing beyond the fact that the statement is correct – Soundness: the prover will not be able to convince the verifier of a wrong statement

  • Zero-knowledge proven using simulation.
slide-42
SLIDE 42

Illustrative Example

  • Prover has two colored cards that he claims

are of different color

  • The verifier is color blind and wants a proof

that the colors are different.

  • Idea 1: use a machine to measure the light

waves and color. But, then the verifier will learn what the colors are.

slide-43
SLIDE 43

Example (continued)

  • Protocol:

– Verifier writes color1 and color2 on the back of the cards and shows the prover – Verifier holds out one card so that the prover only sees the front – The prover then says whether or not it is color1 or color2

  • Soundness: if they are both the same color, the

prover will fail with probability ½. By repeating many times, will obtain good soundness bound.

  • Zero knowledge: verifier can simulate by itself by

holding out a card and just saying the color that it knows

slide-44
SLIDE 44

Zero Knowledge

  • Fundamental Theorem [GMR]: zero-

knowledge proofs exist for all languages in NP

  • Observation: given commitment to input and

random tape, and given incoming message series, correctness of next message in a protocol is an NP-statement.

  • Therefore, it can be proved in zero-knowledge.
slide-45
SLIDE 45

Protocol Compilation

  • Given any protocol, construct a new protocol

as follows:

– Both parties commit to inputs – Both parties generate uniform random tape – Parties send messages to each other, each message is proved “correct” with respect to the

  • riginal protocol, with zero-knowledge proofs.
slide-46
SLIDE 46

Resulting Protocol

  • Theorem: if the initial protocol was secure

against semi-honest adversaries, then the compiled protocol is secure against malicious adversaries.

  • Proof:

– Show that even malicious adversaries are limited to semi-honest behavior. – Show that the additional messages from the compilation all reveal nothing.

slide-47
SLIDE 47

Summary

  • GMW paradigm:

– First, construct a protocol for semi-honest adv. – Then, compile it so that it is secure also against malicious adversaries

  • There are many other ways to construct secure

protocols – some of them significantly more efficient.

  • Efficient protocols against semi-honest

adversaries are far easier to obtain than for malicious adversaries.

slide-48
SLIDE 48

Slides credits

  • Tutorial on secure multi-party computation, Lindell

www.cs.biu.ac.il/~lindell/research-statements/tutorial-secure-computation.ppt

  • Introduction to secure multi-party computation,

Vitaly Shmatikov, UT Austin

http://www.cs.utexas.edu/~shmat/courses/cs380s_fall09/15smc.ppt

  • Introduction to Cryptography, Yehuda Lindell, Bar Ilan

University, IL

http://crypto.biu.ac.il/sites/default/files/

  • Information Security Management, UTC