Helios - Real-World Open-Audit Voting

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

description

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

Transcript of Helios - Real-World Open-Audit Voting

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