21
A. Steffen, 27.02.2012, Kickoff.pptx 1 Kickoff Meeting „E-Voting Seminar“ An Introduction to Cryptographic Voting Systems Andreas Steffen Hochschule für Technik Rapperswil [email protected]

An Introduction to Cryptographic Voting Systems - …security.hsr.ch/msevote/fs12/Kickoff.pdf · An Introduction to Cryptographic Voting Systems ... Conclusion So what? „You are

Embed Size (px)

Citation preview

A. Steffen, 27.02.2012, Kickoff.pptx 1

Kickoff Meeting „E-Voting Seminar“

An Introduction to Cryptographic Voting Systems

Andreas Steffen

Hochschule für Technik Rapperswil

[email protected]

A. Steffen, 27.02.2012, Kickoff.pptx 2

Cryptographic Voting Systems

• Due to repeated failures and detected vulnerabilities in both electro-mechanical and electronic voting machines, voters have somehow lost faith that the outcome of a poll always represents the true will of the electorate.

• Even more uncertain is electronic voting over the Internet which is potentially prone to coercion and vote-selling (this doesn‘t seem to be an issue in Switzerland).

• Manual counting of paper ballots is not really an option in the 21st century and is not free from tampering either.

• Modern cryptographic voting systems allow true end-to-end verification of the complete voting process by any individual voter, without sacrificing secrecy and privacy.

Summary:

A. Steffen, 27.02.2012, Kickoff.pptx 3

E-Voting in my home town Schlieren

Hidden PIN

„Internet-based voting does not have to be more secure as voting per snail mail“

Justice Department of the Canton of Zurich

A. Steffen, 27.02.2012, Kickoff.pptx 4

[In]Security Features

???

Protection from Man-in-the-Middle

attacks

A. Steffen, 27.02.2012, Kickoff.pptx 5

E-Voting Website

A. Steffen, 27.02.2012, Kickoff.pptx 6

Voter Login

A. Steffen, 27.02.2012, Kickoff.pptx 7

Ballot (PHP Form)

A. Steffen, 27.02.2012, Kickoff.pptx 8

E-Voting in my home town Schlieren

PIN

A. Steffen, 27.02.2012, Kickoff.pptx 9

Voter Authentication

A. Steffen, 27.02.2012, Kickoff.pptx 10

Transmission Receipt

A. Steffen, 27.02.2012, Kickoff.pptx 11

Conclusion

So what?

„You are not allowed to know. The exact transaction processing is kept secret due to security reasons“ Justice Department of the Canton of Zurich

A. Steffen, 27.02.2012, Kickoff.pptx 12

Traditional Chain-of-Custody Security

Tallying

Source: Ben Adida, Ph.D. Thesis 2006

Software Verification

Sealing

Verification by proxy only

A. Steffen, 27.02.2012, Kickoff.pptx 13

Desirable: End-to-End Verification by Voter

Source: Ben Adida, Ph.D. Thesis 2006

Secrecy?

Privacy?

A. Steffen, 27.02.2012, Kickoff.pptx 14

End-to-End Auditable Voting System (E2E)

• Any voter can verify that his or her ballot is included unmodified in a collection of ballots.

• Any voter (and typically any independent party additionally) can verify [with high probability] that the collection of ballots produces the correct final tally.

• No voter can demonstrate how he or she voted to any third party (thus preventing vote-selling and coercion).

Source: Wikipedia

A. Steffen, 27.02.2012, Kickoff.pptx 15

Solution: Cryptographic Voting Systems

Source: Ben Adida, Ph.D. Thesis 2006

A B C

A

B

C

Threshold Decryption

ElGamal / Paillier

Homomorphic

Tallying

Mixnet

Tamper-Proof

Bulletin Board

A. Steffen, 27.02.2012, Kickoff.pptx 16

Proposed E2E Systems

• Punchscan by David Chaum.

• Prêt à Voter by Peter Ryan.

• Scratch & Vote by Ben Adida and Ron Rivest.

• ThreeBallot by Ron Rivest (paper-based without cryptography)

• Scantegrity II by David Chaum, Ron Rivest, Peter Ryan et al. (add-on to optical scan voting systems using Invisible Ink)

• Helios by Ben Adida (www.heliosvoting.org/)

• Selectio Helvetica by BFH (www.baloti.ch)

• Primevote by MSE graduates Christoph Galliker and Halm Reusser (www.smartprimes.ch)

A. Steffen, 27.02.2012, Kickoff.pptx 17

Conclusion

• Modern Cryptographic Voting Systems allow true end-to-end verification of the whole voting process by anyone while maintaining a very high level of secrecy.

• Due to the advanced mathematical principles they are based on, Cryptographic Voting Systems are not easy to understand and are therefore not readily accepted by authorities and the electorate.

• But let‘s give Cryptographic Voting Systems a chance! They can give democracy a new meaning in the 21st century!

A. Steffen, 27.02.2012, Kickoff.pptx 18

E-Voting Literature and Simulators

• http://security.hsr.ch/msevote/

• Collection of MSE E-Voting seminar papers

• E-Voting Simulator based on the Paillier Cryptosystem

• E-Voting Simulator on the Damgard-Jurik Cryptosystem

• Generalized Paillier, reduces to Paillier Cryptosystem with s = 1

• Threshold Decryption with Distributed Keys issued by Trusted Dealer

• Assume generator g = n+1 ( = 1, = 1)

• The Paillier Cryptosystem, presented at the BFH E-Voting seminar

A. Steffen, 27.02.2012, Kickoff.pptx 19

E-Voting Seminar Project

• Verifiable E-Voting System for Shareholder Meetings.

• Example: Novartis AG with 2‘745‘623‘000 shares

• Item 1: Approval of the Annual Report and Financial Statements yes / no / abstention (32 bit field per option)

• Voter 1 550‘000‘010 shares Voter 2 500‘000‘010 shares Voter 3 400‘000‘010 shares Voter 4 350‘000‘010 shares Voter 5 300‘000‘010 shares Voter 6 150‘000‘010 shares Voter 7 100‘000‘010 shares Voter 8 50‘000‘010 shares Voter 9 50‘000‘010 shares Voter 10 50‘000‘010 shares

Total 2‘500‘000‘100 shares

A. Steffen, 27.02.2012, Kickoff.pptx 20

Partial Private Key

i=N, N, T, d, n

Encrypted Ballot

v=V, c, a[], e[], z[]

E-Voting Seminar Project Tasks

Threshold Key

Generation by

Trusted Dealer

1

Public Key

n, g=n+1

Ballot Encrypt.

and ZKP by Voter v

2

Encrypted Ballot

v=1, c, a[], e[], z[]

keysize, N, T

Partial Private Key

i=1, N, T, d, n

ZKP Check

Weighted Tallying

3

Shareholder Registry

v[], w[]

Partial Decrypt.

by Trustee i

4

Encrypted Tally

ct

Partial Private Key

i=N, N, T, pt, n

Partiallly Decr. Tally

i=1, N, T, pt, n

Threshold

Decryption

5

Decrypted Tally

yes, no, abstention

Paillier Cryptosystem

keysize = 1536 bits

V=10, N=5, T=3

protected channel

A. Steffen, 27.02.2012, Kickoff.pptx 21

Conditions

• Goal: Restrict effort spent on project to 90 working hours (3 ECTS)

• Programming or scripting language: Arbitrary

• Program code without whistles and bells!

• No GUI required, may be a command line program.

• I/O Format: JSON

• Big numbers encoded as hexadecimal strings {"v":1,"c":"2fe698..daf57e"}

• Details of interface specification to be settled among tasks

• Deliverables: Commented program code and final test run data

• Slides of final presentation