6. esoteric protocols secure elections and multi-party computation kim hyoung-shick

73
6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Upload: erika-horton

Post on 01-Jan-2016

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

6. Esoteric Protocols

secure elections and multi-party computation

Kim Hyoung-Shick

Page 2: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Contents

1. Secure elections• Introduction

• Protocols

2. Secure multiparty computation• Introduction

• Examples

3. Conclusion

Page 3: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Contents

1. Secure elections• Introduction

• Protocols

2. Secure multiparty computation• Introduction

• Examples

Page 4: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting

What is the requirements ?

Page 5: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting

Secure Booth ?

Page 6: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting

Fair judge ?

Page 7: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting

We need two major requirements.

Privacy ! Fairness !

Page 8: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Traditional Voting Vs Electronic Voting

• Privacy

• Fairness

• Efficiency

Page 9: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Problems with Electronic Voting

• No physical audit trail

• Who provides the system?

• How are they audited?

• High Tech: More dependencies

• More ways to subvert the system

• etc.

Page 10: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Requirements for Electronic Voting

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 11: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Requirements for Electronic Voting

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 12: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Requirements for Electronic Voting

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 13: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Contents

1. Secure elections• Introduction

• Protocols

2. Secure multiparty computation• Introduction

• Examples

Page 14: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 15: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Simplistic Voting Protocol #1

secure booth

= encryption

Page 16: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Simplistic Voting Protocol #1

Voter ViCentral Tabulating Facility

3. ECTF(V)

1. Choose V

PCTF

SCTF

4. Tabulate V’s

5. Publish the result2. Encrypt V into ECTF(V).

Page 17: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered. (By intercept attack)

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 18: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 19: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Simplistic Voting Protocol #2

secure booth

= encryptionidentification card

= sign

Page 20: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Simplistic Voting Protocol #2

Voter ViCentral Tabulating Facility

4. ECTF(Si(V))

1. Choose V

PCTF Pi

SCTF

5. Decrypt, verify, tabulate V’s

Si

2. Sign V into Si(V)

3. Encrypt Si(V) into ECTF(Si(V))

6. Publish the result

Page 21: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted. (CTF knows it.)

7. Everyone knows who voted and who didn’t.

Page 22: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 23: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Problem with Signature

Kim

Page 24: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Voting with Blind Signature

accept

Page 25: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Voting with Blind Signature

Be covered !

Page 26: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Blind Signature

Voter ViCentral Tabulating Facility

3. B(M)

1. Generate M = (O1, … , On, IDr , i)

PCTF Pi

SCTF

4. Check if B(M) is valid

Si

2. Blind M into B(M)

6. Choose SCTF(Oi)

5. SCTF(B(M))

7. Generate M’ = (SCTF(Oi), SCTF(IDr), SCTF(i))

Page 27: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Blind Signature

Voter ViCentral Tabulating Facility

8. M’

PCTF Pi

SCTF

9. Verify, check ID duplication

Si

10. Publish the result

B(M)

Page 28: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted. (CTF knows it.) – it need to provide anonymous channel.

7. Everyone knows who voted and who didn’t.

Page 29: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Additional Some Problems

1. CTF can generate a large number of signed, valid votes and cheat by submitting those itself.

2. If voter discovers that the CTF changed his or her vote, he or she has no way to prove it.

Page 30: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 31: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Review of Traditional Voting

1. Check voter’s identification by checker.

checker voter

Page 32: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Review of Traditional Voting

2. Count votes in the ballot boxes by counter.

counter

Page 33: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Review of Traditional Voting

There are two positions in the voting.

counterchecker

Page 34: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Voting with Two Central Facilities

Central Tabulating FacilityCentral Legitimization Agency

Page 35: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Two Central Facilities

Voter ViCentral Legitimization Agency

1. Ask for VN

PCLA Pi

SCLA

2. Maintain VN list for voters

Si

3. VNr

VN list

Page 36: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Two Central Facilities

Central Legitimization Agency

4. VN list

PCLA PCTF

SCLA

Central Tabulating Facility

SCTF

VN list

Page 37: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voter ViCentral Tabulating Facility

8. M

PCTF Pi

SCTF

9. Check if M is valid and maintain VN list

Si

10. Publish the result

Voting with Two Central Facilities

5. Choose IDr

6. Generate M = (V, IDr, VNr)

6. Choose SCTF(Oi)

7. Generate M’ = (SCTF(Oi), SCTF(IDr), SCTF(i))

VNr VN list

Page 38: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted. (But, the collusion is possible.)

7. Everyone knows who voted and who didn’t.

Page 39: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Additional Some Problems

1. CLA can generate a large number of signed, valid votes and cheat by submitting those itself. – It solve that CLA publish a list of certified voters.

2. As stated above, the collusion is possible.

Page 40: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 41: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

What is ANDOS (All-Or-Nothing Disclosure of Secrets)

Sender Receiver

- Sender doesn’t know that receiver has gained the one.

- As soon as receiver has gained anyone, he can’t receive other messages.

Page 42: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with ANDOS

Voter ViCentral Tabulating Facility

1. Ask for VN

PCLA Pi

SCLA

2. Maintain VN list for voters

Si

3. VNr by ANDOS

VN list

Page 43: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote. – we solve it by blinded signagture

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 44: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 45: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Improved Voting with ANDOS

Voter is also checker for CTF

Page 46: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Blind Signature

Voter ViCentral Tabulating Facility

1. Join within T

PCTF Pi

SCTF

2. Publish a list of participants

Si

3. IDr by using ANDOS

Page 47: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Blind Signature

Voter ViCentral Tabulating Facility

5. IDr, Ei(IDr, V)

PCTF Pi

SCTF

6. Publish Ei(IDr, V)

Si

IDr

7. IDr Si

8. Decrypt, publish the result.(For each candidate, the list of all Ei(IDr, V) that voted for a

candidate)

Page 48: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting with Blind Signature

Voter ViCentral Tabulating Facility

9. IDr, Ei(IDr, V), Si

PCTF Pi

SCTFSi

IDr or

9. IDr, Ei(IDr, V’), Si

Within time T, voter can change the vote.

Page 49: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

The Reason of the possibility for protest

Central Tabulating Facility

6. Publish Ei(IDr, V)

CTF should be examined for performing his duty by voter Vi

Page 50: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote. – we solve it by blinded signagture

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 51: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Additional Satisfied Requirements

8. A voter can change his mind within a given period of time.

9. If a voter find out that his vote is miscounted, he can identify and correct the problem without jeopardzing the secrecy of his ballot.

Page 52: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Protocols

1. Simplistic voting protocols #1

2. Simplistic voting protocols #2

3. Voting with blind signatures

4. Voting with two central facilities

5. Voting with ANDOS

6. Improved voting with ANDOS

7. Voting without a central facility

Page 53: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Voting without a Central Facility

The problem of source is CTF.

Central Tabulating Facility

Page 54: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Idea of Voting without a Central Facility

Everyone is checker.

Page 55: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting without a Central Facility

Voter V1 Voter V2 Voter V3 Voter Vn

1. Generate each public/private key pair.

2. Publish order of voters and each public key.

Page 56: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting without a Central Facility

Voter Vi

1. Generate IDr

2. Generate E1(…En(V, IDr)…)

3. Generate En(E1(…En(V, IDr)…), Rn)

4. Generate M = E1(…En(E1(…En(V, IDr)…)…), R1)

and record Rn … R1 and the intermediate results.

IDr

Pi

Si

Page 57: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voter Vi

5. M

P1 Pi

Si

6. Decrypt, removes all of the random strings at that level.

Voting without a Central Facility

Voter V1

S1

Page 58: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voter V1

7. M2

P1 P2

S1

8. Decrypt, check to see that his vote is among the set of votes, removes all of the random strings at that level.

Voting without a Central Facility

Voter V2

S2

(M2 is the decrypted

message)

Page 59: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voter Vn

9. M’

Pn P1

Sn

10. Decrypt, check to see that his vote is among the set of votes, removes all of the random strings at that level.

Voting without a Central Facility

Voter V1

S1

( M’ = E1(…En(V, IDr)…) )

11. Sign all the votes.

Page 60: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

12. Broadcast all signed votes to everyone.

Voting without a Central Facility

Voter V1

Page 61: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Voting without a Central Facility

Voter Vn

13. Publish the result.

Page 62: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Unsatisfied Requirements

1. Only authorized voters can vote.

2. No one can vote more than once.

3. No one can duplicate anyone else’s vote.

4. No one can change anyone else’s vote without being discovered.

5. Every voter can make sure that his vote has been taken into account in the final tabulation.

6. No one can determine for whom anyone else voted.

7. Everyone knows who voted and who didn’t.

Page 63: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Additional Some Problems

1. An enormous amount of computation

2. Vn learns the results of the election before anyone else d

oes.

3. Message duplication. (Ex: There are three people.)

Page 64: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Contents

1. Secure elections• Introduction

• Protocols

2. Secure multiparty computation• Introduction

• Examples

Page 65: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Introduction

A protocol in which a group can compute any function securely.

f(x1, x2, …, Xm)

Xj ,…, Xk

Pi

Page 66: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Introduction

f(x1, x2, …, Xm) is public !

But, no one learns anything about the

inputs of any other members other tha

n what is obvious from the output of th

e function.

Page 67: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Contents

1. Secure elections• Introduction

• Protocols

2. Secure multiparty computation• Introduction

• Examples

Page 68: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Compute Average Value

n

s)s , ,,(

n

1 ii

n21

ssf

P1

1. Generate M = S1 + r

P2

2. E2(M)

3. Decrypt, M’ = S2 + M

Page 69: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Compute Average Value

Pn

4. Generate M* = Sn + M’’

P1

5. E1(M*)

6. Decrypt.

n

rM * 7. Compute

8. Publish it

Page 70: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Problems

1. Participants can lie Si

2. V1 can misrepresent the result to everyone. – It is solved

by bit commit for r, but V2 knows S1.

Page 71: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Check the equality

),( baf

P1

1. Compute h(a)

P2

2. h(a)

3. Compute h(b)4. Check if h(a) = h(b)

0, if a = b

1, otherwise

a b

Page 72: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Problems

1. B has a chosen plaintext attack if size of domain is small.

Page 73: 6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick

Additional Examples

• Electronic elections

• Bidding protocols

• Lotteries

• Distributed games over the

internet