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

Post on 04-Jan-2016

216 views 3 download

Tags:

transcript

A remote voting systembased on Prêt à Voter

coded by

David LundinJohannes 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...)

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)

Operational overview

Election setup phase

Create election on EE Don't declare voters!

Retrieve shared secret Retrieve signed applet Integrate host auth

Client authentication phase

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

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

Auditing

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

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

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

Conclusion

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

...on various seemingly unavoidable assumptions