79
Helios real-world open-audit voting Ben Adida Harvard University Workshop on Electronic Voting Tel Aviv University 18 May 2009

Helios - Real-World Open-Audit Voting

Embed Size (px)

DESCRIPTION

Helios and the recent UCL election presented at the electronic voting workshop in Israel, Tel Aviv University, May 2009.

Citation preview

Page 1: Helios - Real-World Open-Audit Voting

Heliosreal-world

open-audit votingBen Adida

Harvard University

Workshop on Electronic VotingTel Aviv University

18 May 2009

Page 3: Helios - Real-World Open-Audit Voting

Who countsthe votes?

Page 5: Helios - Real-World Open-Audit Voting

Democratizingthe Tallying Process

+ secrecy

Page 6: Helios - Real-World Open-Audit Voting

Bulletin Board

Public Ballots

Bob:McCain

Carol:Obama

6

Page 7: Helios - Real-World Open-Audit Voting

Bulletin Board

Public Ballots

Bob:McCain

Carol:Obama

Alice

6

Page 8: Helios - Real-World Open-Audit Voting

Bulletin Board

Public Ballots

Alice:Obama

Bob:McCain

Carol:Obama

Alice

6

Page 9: Helios - Real-World Open-Audit Voting

Bulletin Board

Public Ballots

Alice:Obama

Bob:McCain

Carol:Obama

Tally

Obama....2McCain....1

Alice

6

Page 10: Helios - Real-World Open-Audit Voting

Encrypted Public BallotsBulletin Board

Alice:Rice

Bob:Clinton

Carol:Rice

Tally

Obama....2McCain....1

Alice

7

Page 11: Helios - Real-World Open-Audit Voting

Encrypted Public BallotsBulletin Board

Alice:Rice

Bob:Clinton

Carol:Rice

Tally

Obama....2McCain....1

Alice

Alice verifies her vote

7

Page 12: Helios - Real-World Open-Audit Voting

Encrypted Public BallotsBulletin Board

Alice:Rice

Bob:Clinton

Carol:Rice

Tally

Obama....2McCain....1

Alice

Alice verifies her vote Everyone verifies the tally

7

Page 13: Helios - Real-World Open-Audit Voting

How can we verify operations on

encrypted data?

Mathematical Proofs.

8

Page 14: Helios - Real-World Open-Audit Voting

Zero-Knowledge Proof

Vote For:

Obama

President:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MouseVote For: Obama

9

Page 15: Helios - Real-World Open-Audit Voting

Zero-Knowledge Proof

Vote For:

Obama

President:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MouseVote For: Obama

9

Page 16: Helios - Real-World Open-Audit Voting

Zero-Knowledge Proof

This last envelope likely contains “Obama”

Vote For:

Obama

President:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MouseVote For: Obama

9

Page 17: Helios - Real-World Open-Audit Voting

Zero-Knowledge Proof

Open envelopes don’t proveanything after the fact.

President:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MouseVote For: Obama

President:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MousePresident:

Mickey MouseVote For:

Paul

10

McCain

Page 18: Helios - Real-World Open-Audit Voting

“And there are cryptographic techniques that can be used to

achieve software independence so that even if there's a bug in the

software, you'll detect if there's a problem. But those are not ready for

prime time in my opinion.”

Avi Rubin, 7/9/2008

Page 19: Helios - Real-World Open-Audit Voting

“But with cryptography, you’re just moving the black box. Few people really

understand it or trust it.”

Debra BowenCalifornia Sec. of State, 7/30/2008

(paraphrased)

Page 20: Helios - Real-World Open-Audit Voting

Where to Start?

Page 21: Helios - Real-World Open-Audit Voting

Most Open-Audit schemes

Complex voting process

In-person voting

Few can experience it

Page 22: Helios - Real-World Open-Audit Voting

Helios

Simplify

Low-coercion elections

Web-based: all can experience

Page 23: Helios - Real-World Open-Audit Voting

“Low-Coercion?”

- A more appropriate term might be“stratified coercion”

- If the voting public is a subset of the population, there may be inherent limits to coercion.

- e.g. university voting

- e.g. EFCA in the US

Page 24: Helios - Real-World Open-Audit Voting

Technical Concepts

Page 25: Helios - Real-World Open-Audit Voting

Technical Concepts

- Probabilistic Encryption & Threshold Decryption.posting ciphertexts safely on a bulletin board

Page 26: Helios - Real-World Open-Audit Voting

Technical Concepts

- Probabilistic Encryption & Threshold Decryption.posting ciphertexts safely on a bulletin board

- Homomorphic Tallying.no write-ins, proofs of correct plaintext

Page 27: Helios - Real-World Open-Audit Voting

Technical Concepts

- Probabilistic Encryption & Threshold Decryption.posting ciphertexts safely on a bulletin board

- Homomorphic Tallying.no write-ins, proofs of correct plaintext

- Benaloh Challenge.cast or audit, authenticate only upon cast

Page 28: Helios - Real-World Open-Audit Voting

Technical Concepts

- Probabilistic Encryption & Threshold Decryption.posting ciphertexts safely on a bulletin board

- Homomorphic Tallying.no write-ins, proofs of correct plaintext

- Benaloh Challenge.cast or audit, authenticate only upon cast

- In-Browser Encryption.plaintext only in user’s browser

Page 29: Helios - Real-World Open-Audit Voting

Probabilistic Encryption & Threshold Decryption

Page 30: Helios - Real-World Open-Audit Voting

Public-Key Encryption

Page 31: Helios - Real-World Open-Audit Voting

Public-Key Encryption

Keypair consists of a public key and a secret key .skpk

Page 32: Helios - Real-World Open-Audit Voting

Public-Key Encryption

Keypair consists of a public key and a secret key .skpk

"Obama" 8b5637Encpk

Page 33: Helios - Real-World Open-Audit Voting

Public-Key Encryption

Keypair consists of a public key and a secret key .skpk

"Obama" 8b5637Encpk

c5de34Encpk"McCain"

Page 34: Helios - Real-World Open-Audit Voting

Public-Key Encryption

Keypair consists of a public key and a secret key .skpk

"Obama" 8b5637Encpk

c5de34Encpk"McCain"

a4b395Encpk"Obama"

Page 35: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

Page 36: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

b739cbDecsk1

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

Page 37: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

b739cbDecsk1

261ad7Decsk2

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

Page 38: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

b739cbDecsk1

261ad7Decsk2

7231bcDecsk3

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

Page 39: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

b739cbDecsk1

261ad7Decsk2

7231bcDecsk3

8239baDecsk4

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

Page 40: Helios - Real-World Open-Audit Voting

Threshold Decryption

8b5637

b739cbDecsk1

261ad7Decsk2

7231bcDecsk3

8239baDecsk4

Secret key is shared amongst multiple parties:all (or at least a quorum) need to cooperate to decrypt.

"Obama"

Page 41: Helios - Real-World Open-Audit Voting

Homomorphic Tallying

Page 42: Helios - Real-World Open-Audit Voting

Homomorphic Property

22

First: r’th residuosity [Benaloh85]Also: Paillier Cryptosystem [P99]

Page 43: Helios - Real-World Open-Audit Voting

Homomorphic Property

22

First: r’th residuosity [Benaloh85]Also: Paillier Cryptosystem [P99]

Enc(m1)! Enc(m2) = Enc(m1 + m2)

Page 44: Helios - Real-World Open-Audit Voting

Homomorphic Property

22

First: r’th residuosity [Benaloh85]Also: Paillier Cryptosystem [P99]

Enc(m1)! Enc(m2) = Enc(m1 + m2)

Page 45: Helios - Real-World Open-Audit Voting

Homomorphic Property

22

then we can simplyadd votes “under cover” of encryption!

First: r’th residuosity [Benaloh85]Also: Paillier Cryptosystem [P99]

Enc(m1)! Enc(m2) = Enc(m1 + m2)

Page 46: Helios - Real-World Open-Audit Voting

Vote for Adam

Vote for Bob

Vote for Charlie0000 0001 00000000

0001 0000 00000000

0000 0000 00000001

Vote for David0000 0000 00010000

0004 0001 0008 0002 Sample Tally

[B+2001, P1999]

Homomorphic TallyVote for None

Vote for Obama

Vote for McCain

0003 0006 0005

23

Page 47: Helios - Real-World Open-Audit Voting

BenalohCasting Protocol

Page 50: Helios - Real-World Open-Audit Voting

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

"Obama"

Page 51: Helios - Real-World Open-Audit Voting

Alice

EncryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

"Obama"

Page 52: Helios - Real-World Open-Audit Voting

Alice

EncryptedBallot

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

"Obama"

Page 53: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

"Obama"

Page 54: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

"Obama"

Page 55: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 56: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 57: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 58: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 59: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

Alice

"CAST"

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 60: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

Alice

"CAST"

SignedEncryptedBallot

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 61: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

Alice

"CAST"

SignedEncryptedBallot

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 62: Helios - Real-World Open-Audit Voting

"AUDIT"

Alice

EncryptedBallot

Alice

DecryptedBallot

Alice

"CAST"

SignedEncryptedBallot

Alice

http://en.wikipedia.org/wiki/Image:Barcode-scanner.jpg

SignedEncryptedBallot

DecryptedBallot

EncryptedBallot

VERIFICATION

"Obama"

Page 63: Helios - Real-World Open-Audit Voting

Helios System Details

Page 64: Helios - Real-World Open-Audit Voting

Helios System Details

- Python & JavaScript logic & crypto

Page 65: Helios - Real-World Open-Audit Voting

Helios System Details

- Python & JavaScript logic & crypto

- Free/Open-Source stack

Page 66: Helios - Real-World Open-Audit Voting

Helios System Details

- Python & JavaScript logic & crypto

- Free/Open-Source stack

- Deployed on Google App Engine

Page 67: Helios - Real-World Open-Audit Voting

Helios System Details

- Python & JavaScript logic & crypto

- Free/Open-Source stack

- Deployed on Google App Engine

- Deployed on Apache/Python/PostgreSQL

Page 68: Helios - Real-World Open-Audit Voting

Helios System Details

- Python & JavaScript logic & crypto

- Free/Open-Source stack

- Deployed on Google App Engine

- Deployed on Apache/Python/PostgreSQL

- Customizableauthentication, look-and-feel, translations

Page 69: Helios - Real-World Open-Audit Voting

So, does it work?

- Université catholique de Louvain

- 25,000 eligible voters

- University president election

- Helios 2.0, optimized

- customized for UCL (French, improved UI)

Page 70: Helios - Real-World Open-Audit Voting

28

Page 71: Helios - Real-World Open-Audit Voting

29

Page 72: Helios - Real-World Open-Audit Voting

30

Page 73: Helios - Real-World Open-Audit Voting

31

0 2 4 6 8 10 12 14 16 18 20 22

Time [h]

0

100

200

300

400

500

Num

ber

of vote

s p

er

hour

DAY 1

1st round

2nd round

0 2 4 6 8 10 12 14 16 18 20 22

Time [h]

0

100

200

300

400

500

Num

ber

of

vote

s p

er

hour

DAY 2

1st round

2nd round

0 2 4 6 8 10 12 14 16 18 20 22

Time [h]

0

500

1000

1500

2000

2500

3000

3500

4000

Tota

l num

ber

of

vote

s

DAY 1 1st round

2nd round

0 2 4 6 8 10 12 14 16 18 20 22

Time [h]

0

500

1000

1500

2000

2500

3000

3500

4000

Tota

l num

ber

of

vote

s

DAY 2 1st round

2nd round

Page 74: Helios - Real-World Open-Audit Voting

32

Page 75: Helios - Real-World Open-Audit Voting

32

Page 76: Helios - Real-World Open-Audit Voting

32

Page 77: Helios - Real-World Open-Audit Voting

Most Interesting Lesson: spurious claims

are easily countered

Page 78: Helios - Real-World Open-Audit Voting

brief demo