Toward Deployable and Incoercible E2E Elections
Total Page:16
File Type:pdf, Size:1020Kb
Democracy Enhancing Technologies: Toward deployable and incoercible E2E elections by Jeremy Clark A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Doctor of Philosophy in Computer Science Waterloo, Ontario, Canada, 2011 Some rights reserved I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Canada License. For more information, visit: http://creativecommons.org/licenses/by-nc-sa/2.5/ca/ ii Abstract End-to-end verifiable election systems (E2E systems) provide a provably correct tally while maintaining the secrecy of each voter’s ballot, even if the voter is complicit in demon- strating how they voted. Providing voter incoercibility is one of the main challenges of designing E2E systems, particularly in the case of internet voting. A second challenge is building deployable, human-voteable E2E systems that conform to election laws and conventions. This dissertation examines deployability, coercion-resistance, and their inter- section in election systems. In the course of this study, we introduce three new election systems, (Scantegrity, Eperio, and Selections), report on two real-world elections using E2E systems (Punchscan and Scantegrity), and study incoercibility issues in one deployed system (Punchscan). In addition, we propose and study new practical primitives for ran- dom beacons, secret printing, and panic passwords. These are tools that can be used in an election to, respectively, generate publicly verifiable random numbers, distribute the printing of secrets between non-colluding printers, and to covertly signal duress during authentication. While developed to solve specific problems in deployable and incoercible E2E systems, these techniques may be of independent interest. Supervisor • Urs Hengartner Committee & Examiners • Ian Goldberg • Alfred Menezes • Steve Schneider • Douglas R. Stinson iii Acknowledgements I would first like to thank my advisor, Urs Hengartner, for his guidance through my PhD. Urs was always keen on our research, motivating, and accommodating. I admire his sensibility toward solving real-world problems. Much of this dissertation would not have been the same without his thorough examination of the protocols, threat models, and their presentation. I would like to thank the rest of my committee, Ian Goldberg, Alfred Menezes, Steve Schneider and Doug Stinson for their corrections, suggestions, and prompts for clarification when it was most certainly needed. I had the pleasure to work with David Chaum on three of his projects: Punchscan, Scantegrity, and a forthcoming project. I learned a lot from David, both technically and on a range of other subjects. I also enjoyed the collaboration with the rest of the team: Rick Carback, Aleks Essex, Stefan Popovenuic, Ron Rivest, Emily Shen, Alan Sherman, Poorvi Vora, and Filip Zagórski. A special acknowledgement to Rick, who once suggested using panic passwords for internet voting. That suggestion motivated much of Part II of this dissertation. The CrySP lab was an excellent incubator for ideas and friendship. In particular, I would like to thank Aniket Kate and Greg Zaverucha. Both provided as much knowledge and assistance as they did entertainment and friendship. Thank you to the rest of lab as well and my friends in the broader Waterloo graduate community (sorry, too many people to name). I’d like to especially thank one person who intersects both Scantegrity and CrySP, as well as almost my whole academic career: Aleks Essex. Aleks is always the first person I bounce ideas off of and has been a great friend through many of my major life events. The least likely person to ever read this is Clint Mansell but I feel indebted to his musical genius, and hope some of his creativity transferred to all the words I wrote as his scores swelled around me. I’d like to thank my family; in particular, my parents Marvin and Sharon and my brother Jonathan. As well, I’d like to thank new family: Subhash and family, Sindhu and family, and Shaan and Shunker. Last but not least, thank you to my wife Neha for her support, welcome distractions, tolerance, and encouragement. It is impossible to describe all direct and indirect ways she helped. This research was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) through an Alexander Graham Bell Canada Graduate Scholarship. iv Contents List of Tables xiii List of Figures xiv 1 Introductory Remarks 1 1.1 Background . .2 1.2 Contributions . .3 1.3 Organization . .6 2 Preliminaries 7 2.1 Election Technologies . .7 2.1.1 Elections in Canada . .9 2.2 Requirements . 10 2.2.1 Core Requirements . 10 2.2.2 Potential Requirements . 11 2.2.3 Deployability Requirements . 12 2.3 Cryptographic Primitives . 13 2.3.1 Mathematical Background . 13 2.3.2 Commitments . 13 2.3.3 Encryption . 15 2.3.4 Σ-Protocols . 17 2.3.5 Cryptographic Tests . 20 v I Booth Voting 22 3 Related Work on Booth Voting 23 3.1 Introductory Remarks . 23 3.2 Election Set-up . 24 3.2.1 Participants . 24 3.2.2 Phases . 24 3.2.3 Channels . 24 3.3 Protocols for Ballot Casting . 26 3.3.1 Anonymous Channels . 27 3.3.2 Homomorphic Secret Sharing . 28 3.3.3 Mix Networks Revisited . 30 3.3.4 Anonymous Channels and Blind Signatures . 31 3.3.5 Homomorphic Threshold Encryption . 32 3.3.6 Miscellaneous . 35 3.3.7 Deployment . 36 3.4 Protocols for Unaided Ballot Casting . 37 3.4.1 A Framework . 37 3.4.2 DRE-based E2E Systems . 38 3.4.3 Paper-based E2E Systems . 40 4 Deploying Punchscan and Scantegrity 45 4.1 Introductory Remarks . 45 4.2 Case Study: Punchscan . 46 4.2.1 Requirements . 46 4.2.2 The Election . 48 4.2.3 Lessons Learned . 50 4.3 Scantegrity: an E2E add-on . 51 4.3.1 Ballot Features . 51 4.3.2 Election Preparation . 52 vi 4.3.3 Election Day . 54 4.3.4 Posting and Tallying . 56 4.3.5 Auditing the Results . 56 4.3.6 Dispute Resolution . 59 4.4 Scantegrity Case Study . 60 4.4.1 Requirements . 60 4.4.2 Mock Election . 62 4.4.3 The Election . 63 4.4.4 Lessons Learned . 66 4.5 Open Problems . 68 4.6 Concluding Remarks. 69 4.7 Disclosure . 71 5 A Game-Theoretic Analysis of Coercion Contracts 72 5.1 Introductory Remarks . 72 5.2 Extensive Form of the Ballot Casting Process . 74 5.3 Contract-based Attacks . 75 5.3.1 Voter Coercion and Vote-Buying . 76 5.3.2 The MN Contract . 77 5.3.3 The BMR Contract . 79 5.3.4 The KRMC Contract . 79 5.3.5 The Optimal Contract . 80 5.4 Extending the Base Model . 83 5.4.1 Multiple-Candidate Contracts . 83 5.4.2 Reordering the Game . 84 5.4.3 Voter Types . 85 5.4.4 Money is an Object . 85 5.4.5 Coercion Contracts in other E2E Systems . 86 5.5 Concluding Remarks . 88 vii 6 Implementing Random Beacons with Financial Data 89 6.1 Introductory Remarks . 89 6.2 Related Work . 91 6.2.1 Public Randomness in Cryptography . 91 6.2.2 Public Randomness in Elections . 92 6.2.3 Cryptographic Elections . 92 6.2.4 Stock Market for Public Randomness . 93 6.3 Model and Assumptions . 94 6.3.1 Terminology . 94 6.3.2 Black-Scholes Model . 95 6.3.3 Market Manipulation . 96 6.3.4 Official Closing Price . 97 6.4 Entropy Estimates . 98 6.4.1 Historical Drift and Diffusion . 99 6.4.2 Monte-Carlo Simulation . 100 6.4.3 Entropy Estimation . 101 6.4.4 Experimental Results . 103 6.4.5 Portfolio Entropy . 105 6.5 Beacon Implementation . 106 6.5.1 Definitions . 107 6.5.2 Security Properties . 109 6.5.3 Protocol . 110 6.5.4 Security Analysis (Abstract) . 114 6.6 Concluding Remarks . ..