scalable rational secret sharing - eth z€¦ · scalable rational secret sharing introduction...

51
Scalable Rational Secret Sharing Introduction Scalable Rational Secret Sharing Dani et al. University of New Mexico Talk by Tanja Werthm¨ uller April 04, 2012 1 / 27

Upload: others

Post on 18-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Scalable Rational Secret SharingDani et al. University of New Mexico

Talk by Tanja Werthmuller

April 04, 2012

1 / 27

Page 2: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Starting Example

2 / 27

Page 3: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Starting Example

2 / 27

Page 4: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 5: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 6: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 7: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 8: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.

I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 9: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Setting

I A secret should be divided into different shares.

I The shares are distributed among the players.

I Each share on its own should not reveal the secret.

I Combining all the shares reconstructs the secret.

I The players are selfish and rational.I Each player prefers to

1. learn the secret by him self2. learn the secret together with other3. not learn the secret at all.

3 / 27

Page 10: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Starting Example

4 / 27

Page 11: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Secure Secret Sharing

A secure secret sharing scheme distributes shares so that anyonewith fewer than n shares has no additional information about thesecret than someone with no shares at all.

5 / 27

Page 12: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Classical secure secret sharing Scheme

Shamir’s Scheme: A polynomial of degree n − 1 can bereconstructed using n points.

I Encode the secret as the first coefficient of a randompolynomial f of degree n − 1

I The shares are points (i , f (i)) on the polynomial

I Any n players can reconstruct the polynomial usinginterpolation

6 / 27

Page 13: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Setting

Classical secure secret sharing Scheme

Shamir’s Scheme: A polynomial of degree n − 1 can bereconstructed using n points.

I Encode the secret as the first coefficient of a randompolynomial f of degree n − 1

I The shares are points (i , f (i)) on the polynomial

I Any n players can reconstruct the polynomial usinginterpolation

6 / 27

Page 14: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Problems

The Problem with Selfish Players

A selfish player will never send his share to the other players, as hehas to fear, that he will not get the other players shares back.

⇒ We need to adapt the protocol.

7 / 27

Page 15: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Introduction

Problems

The Problem with Selfish Players

A selfish player will never send his share to the other players, as hehas to fear, that he will not get the other players shares back.

⇒ We need to adapt the protocol.

7 / 27

Page 16: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Solution

8 / 27

Page 17: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Our Goals

I If our group of n agents follow the protocol they will all learnthe secret.

I No player can improve substantially by deviating from theprotocol.

I The protocol is scalable:I message complexity per agent: O(1)I time complexity: O(log |agents|)

9 / 27

Page 18: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Our Goals

I If our group of n agents follow the protocol they will all learnthe secret.

I No player can improve substantially by deviating from theprotocol.

I The protocol is scalable:I message complexity per agent: O(1)I time complexity: O(log |agents|)

9 / 27

Page 19: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Our Goals

I If our group of n agents follow the protocol they will all learnthe secret.

I No player can improve substantially by deviating from theprotocol.

I The protocol is scalable:I message complexity per agent: O(1)I time complexity: O(log |agents|)

9 / 27

Page 20: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Outline

I Dealer’s ProtocolI is only active at the beginningI prepares the input for the player’s protocol

I Player’s ProtocolI is played in roundsI in round X the secret is revealed

10 / 27

Page 21: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Dealer’s Protocols

11 / 27

Page 22: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Dealer’s Protocol

3

1

3

1 2

S1, L S2, L

S3, L

I assign all players to leaves

12 / 27

Page 23: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Dealer’s Protocol

3

1 3

1 2

S1, L S2, L

S3, L

I assign all except for oneplayer to remaining nodes

I give each player his share listSi and a list of potentialsecrets L

12 / 27

Page 24: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocols

13 / 27

Page 25: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Up-Stage

3

1 3

1 2

S1, L S2, L

S3, LS1[t] S2[t]

I children send their shares toparent

14 / 27

Page 26: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Up-Stage

3

3

1 2

S1, L S2, L

S3, L

1I verify S1[t]

I verify S2[t]

I construct new share v

14 / 27

Page 27: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Up-Stage

3

1 3

1 2

S1, L S2, L

S3, L

v S3[t]

I children send their shares toparent

14 / 27

Page 28: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Up-Stage

1 3

1 2

S1, L S2, L

S3, L

3

I verify v

I verify S3[t]

I construct ht

14 / 27

Page 29: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Down-Stage

1 2

S1, L S2, L

S3, L

3

ht ht

1 3I send ht to children

14 / 27

Page 30: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol – Down-Stage

3

S1, L S2, L

S3, L

1

ht ht

1 2

3 I verify ht

I send ht to children

14 / 27

Page 31: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Player’s Protocol

3

1

S1, L S2, L

S3, L

1 2

3I verify ht

I all players know ht

I if ht = 0 then t = X

14 / 27

Page 32: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Protocols

Analysis

15 / 27

Page 33: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Truthfulness

There are only two ways in which a player can deviate from theprotocol:

1. Send fake messages

2. Leave the protocol before the secret was revealed

16 / 27

Page 34: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Verification by Tag Values

I Dealer preparesI Tw

i : a tag list for the sending node w

I Hw ′,wj : a list of verification tokens for the receiving node w ′

I Node w sends a tag g from Twi along with its share v .

I Node w ′ asserts

c = a · v + b · g

where (a, b, c) ∈ Hw ′,wj .

I All entries in the lists S , T and H are elements taken from afinite field Fq.

17 / 27

Page 35: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Verification by Tag Values

3

1 3

1 2

S1, L, T leaf11 S2, L, T leaf2

2

H inner1,leaf11

H inner1,leaf21

S1[t], g leaf1t S2[t], g leaf2

t

I children send their sharesand tags to parent

18 / 27

Page 36: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Verification by Tag Values

3

3

1 2

1

S1, L, T leaf11 S2, L, T leaf2

2

H inner1,leaf11

H inner1,leaf21

I verify that c leafit =

aleafit · Si [t] + bleafit · g leafi

t

I construct new share v

18 / 27

Page 37: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Send a Fake Message

Proposition (3.1)

The probability that a faked message will satisfy the verificationfunction is 1

q−1 .

I Send a fake message v ′ with the corresponding g ′ (not knownby the sender).

19 / 27

Page 38: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Send a Fake Message

Proposition (3.1)

The probability that a faked message will satisfy the verificationfunction is 1

q−1 .

I Send a fake message v ′ with the corresponding g ′ (not knownby the sender).

19 / 27

Page 39: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Exit Protocol

If at any time during a round t of the player’s protocol some playeri catches some other player cheating, i outputs the current secretL[t] and leaves the protocol.

20 / 27

Page 40: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Leave the Protocol

I Don’t transmit the fact ht = 0.

I Guess the real secret with a sufficiently high probability.

21 / 27

Page 41: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Leave the Protocol

Lemma (3.2)

A player deviating from the protocol cannot increase his expectedpayoff by more than ε unless his probability of successfully learningthe secret by deviating is at least p = (U−U−+ε)

(U+−U−) .

Lemma (3.3)

A player who initially received a list of length α has at most 1α−t

chance of (correctly) guessing the position of the secret on round tif it has not already been revealed.

22 / 27

Page 42: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Ensuring Trustfulness

We need p ≥ (U−U−+ε)(U+−U−) for cheating to be profitable and we know

that p = 1α−t :

1

α− t≥ (U − U− + ε)

(U+ − U−)

≤ (U+ − U−)

(U − U− + ε)

⇒ Choose padding Y ≥ (U+−U−)(U−U−+ε) to ensure truthfulness.

23 / 27

Page 43: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Ensuring Trustfulness

We need p ≥ (U−U−+ε)(U+−U−) for cheating to be profitable and we know

that p = 1α−t :

1

α− t≥ (U − U− + ε)

(U+ − U−)

≤ (U+ − U−)

(U − U− + ε)

⇒ Choose padding Y ≥ (U+−U−)(U−U−+ε) to ensure truthfulness.

23 / 27

Page 44: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Ensuring Trustfulness

We need p ≥ (U−U−+ε)(U+−U−) for cheating to be profitable and we know

that p = 1α−t :

1

α− t≥ (U − U− + ε)

(U+ − U−)

α− t ≤ (U+ − U−)

(U − U− + ε)

⇒ Choose padding Y ≥ (U+−U−)(U−U−+ε) to ensure truthfulness.

23 / 27

Page 45: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Ensuring Trustfulness

We need p ≥ (U−U−+ε)(U+−U−) for cheating to be profitable and we know

that p = 1α−t :

1

α− t≥ (U − U− + ε)

(U+ − U−)

α− t︸ ︷︷ ︸>Y

≤ (U+ − U−)

(U − U− + ε)

⇒ Choose padding Y ≥ (U+−U−)(U−U−+ε) to ensure truthfulness.

23 / 27

Page 46: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Truthfulness

Ensuring Trustfulness

We need p ≥ (U−U−+ε)(U+−U−) for cheating to be profitable and we know

that p = 1α−t :

1

α− t≥ (U − U− + ε)

(U+ − U−)

α− t︸ ︷︷ ︸>Y

≤ (U+ − U−)

(U − U− + ε)

⇒ Choose padding Y ≥ (U+−U−)(U−U−+ε) to ensure truthfulness.

23 / 27

Page 47: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Scalable Rational Secret Sharing

Proof of Efficiency

Proof of Efficiency

I The expected number of messages sent by each player is O(1).

I The expected number of bits sent is O(log(q)).

I The expected overall latency is O(log(n)).

24 / 27

Page 48: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Conclusions

Conclusions

25 / 27

Page 49: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Conclusions

Summary

I An algorithm for rational secret sharing, where no player canimprove substantially by deviating from the protocol.

I The mechanism is scalable in terms of latency and number ofmessages sent by each player.

Scalable RSS Previous Workmessages per player

per round O(1) O(n)

latency per round O(log n) O(n)

E[# rounds] O(1) O(n)

26 / 27

Page 50: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Conclusions

Summary

I An algorithm for rational secret sharing, where no player canimprove substantially by deviating from the protocol.

I The mechanism is scalable in terms of latency and number ofmessages sent by each player.

Scalable RSS Previous Workmessages per player

per round O(1) O(n)

latency per round O(log n) O(n)

E[# rounds] O(1) O(n)

26 / 27

Page 51: Scalable Rational Secret Sharing - ETH Z€¦ · Scalable Rational Secret Sharing Introduction Setting Setting I A secret should be divided into di erent shares. I The shares are

Scalable Rational Secret Sharing

Questions?

Questions?

27 / 27