a remote voting system based on prêt à voter coded by david lundin johannes clos

12
A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Upload: bethanie-jennings

Post on 04-Jan-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

A remote voting systembased on Prêt à Voter

coded by

David LundinJohannes Clos

Page 2: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Design goals

End-to-end verifiable (if...) Offload authentication to host organization Easy to set up, maintain and use Use publicly available mix servers (when...)

Page 3: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Limitations

Unsupervised voting No coercion resistance No guarantee of response from server

Someone has to authenticate users We use host organization (could use our server)

Some parts not quite complete Threshold decryption SSL certificates (time/money)

Page 4: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Operational overview

Page 5: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Election setup phase

Create election on EE Don't declare voters!

Retrieve shared secret Retrieve signed applet Integrate host auth

Page 6: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Client authentication phase

Voter logs on normally Host serves applet PHP script gets authentication information

Page 7: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Voting phase

Vote using applet Applet encrypts vote

ElGamal encryption Ciphertexts à la [Hea07] Packaged as XML Committed to Audit or vote Vote sent back to host

Host signs XML Sent back to ee.com Signed receipt given

Page 8: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Auditing

Page 9: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Voting and auditing

Voting applet constructs XML reveals XML and hash offers vote or audit

Voter then can either audit, and uncover details of

encryptions vote, and get signed hash

Audit gives confidence in applet's fairness

Page 10: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Decryption/tallying after polls close

Use mix nets PRC to audit mixes Anyone can audit Public mix servers

Votes decrypted Threshold decryption CP proofs Anyone can check Lazily decrypt (STV)

Anyone can tally

Page 11: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Auditing the mix nets

A mix net re-encrypts votes randomly shuffles

Twice, with PRC Links chosen by

hash of output Can be re-run

Page 12: A remote voting system based on Prêt à Voter coded by David Lundin Johannes Clos

Conclusion

Pretty much plug-and-play Any organization hosting a web site can use End-to-end verifiable

...on various seemingly unavoidable assumptions