Engineering Practical End-To-End Verifiable Voting Systems
Total Page:16
File Type:pdf, Size:1020Kb
ABSTRACT Title of Dissertation: Engineering Practical End-to-End Verifiable Voting Systems Richard T. Carback III, Doctor of Philosophy, 2010 Dissertationdirected by: Alan T. Sherman, Associate Professor Department of Computer Science and Electrical Engineering We designed, built, tested, and fielded a vote counting system called Scantegrity. Scan- tegrity is part of a new class of end-to-end (E2E) verifiable voting systems. E2E verifiable systems are designed to solve chain of custody problems in elections by providing a privacy-preserving receipt to each voter. The voter can use the receipt to check a public record and verify that his or her ballot is counted without revealing the selected candidate. The public record gives election officials the ability to provide a strong, universally-accessible audit of the results, enabling transparent, verifiable elections that maintain privacy expectations. E2E systems offer radical improvements to integrity and transparency of election systems, and the adoption of E2E systems in public-sector elections can improve outcome integrity. In our design, we carefully considered the balance between usability and security issues, and we discuss the changes we made to implement the system. We examined the implementation through the results of a practical test of Scantegrity in a mock election in April 2009, which evaluated the system’s performance and surveyed the election participants about their experience with the system. We describe a number of changes we made to the system as a result of this test. For example, Scantegrity required better printing technology and a tally reconciliation system. We evaluated the modified system a second time by fielding it in the Takoma Park, Maryland, November 2009 municipal election, where we were able to survey voters and observe events throughout election day. In addition to examining the performance of the system during election day, we analyzed the survey results and found that most voters felt positively about the system despite some problems when taking advantage of the new features. We suggest further improvement to the usability of Scantegrity by proposing and ana- lyzing the addition of an automatic receipt printer in different configurations. To design the receipt printer, we took advantage of protections provided by the Trusted Computing platform that improve the reliability and robustness of the component. The final system automatically provides each voter a privacy-preserving receipt that can be used to verify each ballot has been counted properly. Engineering Practical End-to-End Verifiable Voting Systems by Richard T. Carback III Dissertation submitted to the Faculty of the Graduate School of the University of Maryland, Baltimore County in partial fulfillment of the requirements for the degree of Doctor of Philosophy 2010 c Copyright Richard T. Carback III 2010 To my wife, Alice, who continues to provide endless support and patience. ii ACKNOWLEDGMENTS First, I am grateful to the many people who made the studies of Scantegrity possible, especially Anne Sergeant (Chair, Takoma Park Board of Elections), other members of the Board, Jessie Carpenter (City Clerk), and the Takoma Park voters. I would also like to thank the auditors—Lillie Coney, Ben Adida, and Filip Zagorski—who´ independently created election authentication software and performed other auditing activities. Not only did they verify our work, but they helped spread the word about end-to-end (E2E) verifiable voting. Alan Sherman was already my master’s thesis advisor, and he continues to be a source of helpful advice and feedback. It has been a pleasure to work with him for all of these years, and I will miss the interaction. Poorvi Vora has been a close mentor and friend. She has provided advice, encouragement, and new books to satisfy my curiosity. She has also been a very important guide and contributor during our research calls, often playing the voice of reason and practicality. David Chaum, who is behind a substantial number of cryptographic breakthroughs, has been a long-distance mentor for the last five years. His presentation on the interface he invented for Punchscan originally inspired my interest in voting, and he is an endless source of new ideas, including the Scantegrity system. Jeremy Clark, Aleksander Essex, and Stefan Popoveniuc—along with David and I— made up the core research team who made both Punchscan and Scantegrity a reality, and iii without them these systems might not have made it past the proposal stage. They are all brilliant and each have specific invaluable strengths, and I hope to work with them on future projects. Likewise, the newer research team members have had significant impacts on the Scanteg- rity system. Ronald Rivest, who is my grand advisor and is also behind many cryptographic breakthroughs, and his student, Emily Shen, provided incredible insight into and analysis of the Scantegrity proposals. My programming partners, John Conway and Travis Mayberry, made many improvements to the Scantegrity system, and in turn provided many new ideas and process improvements to the rest of the team. For the mock and municipal election studies, Paul Herrnson, a social scientist and leader in voting technology analysis, provided critical expertise and advice when conducting our observational studies, and taught me everything I know about survey analysis. Bimal Sinha also contributed his substantial knowledge of applied statistics and helped me make sure that we were on track in our analysis. During the mock election studies, Lynn Baumeister led the focus groups and offered numerous practical suggestions. Brian Strege and Fahad Alduraibi observed voters. Russell Fink, Douglas Jones, Sharon Laskowski, and Svetlana Lowry provided useful feedback. During the municipal election, Vivek Relan and Bhushan Sonawane timed voters as they voted and helped assemble the privacy sleeves. Lynn Baumeister interviewed some voters as they left the precinct. Cory Jones provided general assistance and Alex Florescu and Jan Rubio assisted with ink creation. For the receipt printer design, I wish to acknowledge Ronald Rivest for suggesting the kernel of the image duplicator design, Christina Wnuk-Fink for discussions on the practicality of receipt printing for Scantegrity, and members of the University of Maryland, Baltimore County (UMBC) Cyber Defense Lab and Johns Hopkins University Applied iv Physics Laboratory for review of the manuscript. Russell Fink and Sherman were my collaborators when creating the receipt printer designs. Lindley Ashline proofread and offered editorial assistance for most of the chapters in this dissertation. Esther Haynes offered editorial suggestions on the manuscript for the mock election publication. During part of this research, I was supported by UMBC with teaching assistantships, and Sherman also provided some summer work on cyber defense lab exercises through the Department of Defense Information Assurance Scholarship Program (DoD IASP). When not supported by UMBC, I thank my current employer, Convergent Technologies, Inc., for being flexible enough to allow me to take the time I needed to complete my research. Sherman was supported in part by the DoD under IASP grants H98230-08-1-0334 and H98230-09-1-0404. Vora was supported in part by the National Science Foundation under grant CNS 0831149. Jeremy Clark and Aleksander Essex were supported in part by the Natural Sciences and Engineering Research Council of Canada (NSERC). v Contents 1 Introduction1 1.1 The Voting Problem..............................3 1.2 Motivation...................................4 1.3 Scope.....................................5 1.4 Contributions of this Dissertation.......................5 1.4.1 A Free, Open-Source E2E Voting System Implementation.....6 1.4.2 Scantegrity Mock Election at Takoma Park............. 10 1.4.3 Scantegrity in the 2009 Municipal Election at Takoma Park..... 11 1.4.4 A Trusted Receipt Printer for E2E Voting.............. 12 1.5 Outline.................................... 13 2 Background 15 2.1 A Brief History of Election Verification................... 15 2.1.1 Ancient Elections........................... 16 2.1.2 Early Modern Democratic Elections................. 17 2.1.3 Introduction of the Secret and Australian Ballots.......... 18 2.2 Verification in Modern Day Elections.................... 20 2.2.1 Direct Recording Electronic (DRE) Equipment........... 21 vi 2.2.2 Optical Scanners........................... 29 2.3 Election System Requirements and Properties................ 32 2.3.1 General Requirements for Voting Systems.............. 33 2.3.2 E2E Election Verifiability...................... 36 2.3.3 Software Independence........................ 38 2.3.4 Coercion Resistance and Receipt-Freeness............. 39 2.4 Different Approaches to End-to-End Voting Systems............ 40 2.4.1 Non-Cryptographic Protocols.................... 41 2.4.2 Homomorphic............................ 42 2.4.3 Mix Network............................. 42 2.5 Implementations and Studies of Vote Verification Systems......... 45 2.5.1 Helios................................. 47 2.5.2 Pretˆ a` Voter.............................. 48 2.5.3 RIES................................. 49 2.5.4 DRE Vote Verification Systems................... 50 2.5.5 The Punchscan Studies........................ 52 2.6 Punchscan Overview............................. 53 2.6.1 Voter Experience........................... 53 2.6.2 System Architecture......................... 55 2.6.3 Punchboard.............................