Civitas Toward a Secure Voting System Michael Clarkson Cornell University Stevens Institute of Technology March 30, 2009 Coin (ca. 63 B.C.) commemorating introduction of secret ballot in 137 B.C. Civitas Electronic voting system; 21,000 LOC [Clarkson, Chong, and Myers, Oakland 2008] Clarkson: Civitas 2 Evolution of Voting Technology Clarkson: Civitas 3 Clarkson: Civitas 4 State of Secure Electronic Voting Major commercial voting systems are insecure California reviews [Wagner, Wallach, Blaze, et al.] Academics are pessimistic SERVE report [Jefferson et al.] Clarkson: Civitas 5 Security of Voting Was your vote captured correctly? Was your vote counted correctly? Can the tally be independently verified? Is your vote anonymous? Can anyone sell their vote? Can voters be coerced? … Clarkson: Civitas 6 Potential Threats Outsiders Programmers Election officials Candidates and parties Employers, organizations, spouses, … Voters …Voting systems have some of the strongest and hardest security requirements of any systems Clarkson: Civitas 7 Civitas Security Model No trusted supervision of polling places Including voters, procedures, hardware, software Voting could take place anywhere Remote voting Generalization of “Internet voting” and “postal voting” No unilateral trust in an election authority Instead, mutually distrusting set of authorities Distributed trust Clarkson: Civitas 8 Adversary Corrupt all but one of each type of election authority Perform any polynomial time computation Control network Coerce voters, demanding secrets or behavior, remotely or physically Security properties: Confidentiality, integrity, availability Clarkson: Civitas 9 Integrity Verifiability: The final tally is correct and verifiable. Including: Voters can check that their own vote is included Universal verifiability: Anyone can audit the election results; no votes added, changed, or deleted [Sako and Killian 1995] Clarkson: Civitas 10 Confidentiality Voter coercion: Employer, spouse, etc. Coercer can demand any behavior (abstain, sell) Coercer can observe and interact with voter during remote voting Must prevent coercers from trusting their own observations Clarkson: Civitas 11 Confidentiality Coercion resistance: The adversary cannot learn how voters vote, even if voters collude and interact with the adversary. > receipt-freeness = CR - interaction > anonymity too weak = RF - collusion Clarkson: Civitas 12 Availability Tally availability: The final tally of the election is produced. We assume that this holds To guarantee, would need to make system components highly available, etc. But it’s really about the votes Clarkson: Civitas 13 Building Civitas Started with abstract voting protocol… [Juels, Catalano, and Jakobsson, WPES 2005] Extended design to improve security and performance Implemented in security-typed language (Jif) Evaluated security and performance Clarkson: Civitas 14 Civitas Architecture registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client Clarkson: Civitas tabulation teller bulletin board tabulation teller 15 Registration registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client tabulation teller bulletin board tabulation teller Voter retrieves credential share from each registration teller; combines to form credential Clarkson: Civitas 16 Registration registration teller registration teller registration teller credential share voter client credential Clarkson: Civitas 17 Properties of Credentials Verifiable Teller must prove that share is good, but proof is convincing only to voter Voter can’t sell share Anonymous No subset of shares reveals information about credential Credentials can’t be linked to voters Unforgeable Creating new credential requires participation of all tellers Tellers can’t “stuff the ballot box” Clarkson: Civitas 18 Registration registration registration teller registration teller teller JCJ: single trusted registrar Civitas: distributed trust Improved confidentiality and integrity tabulation teller ballot box ballot box ballot box voter client Clarkson: Civitas tabulation teller bulletin board tabulation teller 19 Voting registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client tabulation teller bulletin board tabulation teller Voter submits copy of encrypted choice and credential (plus proofs) to each ballot box Clarkson: Civitas 20 Properties of Votes Anonymous Credentials are anonymous Submitted over anonymous channel Replicated Votes can be deleted only if all ballot boxes collude Non-malleable No one can construct “related” votes Votes can’t be changed or spoiled Clarkson: Civitas 21 Resisting Coercion Voters substitute fake credentials To adversary, fake real Votes with fake credentials removed during tabulation without revealing which are fake For any behavior adversary demands… Voter complies, with fake credential Voter needs untappable channel to a registration teller Clarkson: Civitas 22 Voting registration registration teller registration teller teller JCJ: no ballot boxes Civitas: distributed storage Votes highly available tabulation teller ballot box ballot box ballot box voter client Clarkson: Civitas tabulation teller bulletin board tabulation teller 23 Tabulation registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client tabulation teller bulletin board tabulation teller Tellers retrieve votes from ballot boxes Clarkson: Civitas 24 Tabulation registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client tabulation teller bulletin board tabulation teller Tabulation tellers anonymize votes with mix network [Chaum 1981] Clarkson: Civitas 25 Mix Network tabulation teller tabulation teller tabulation teller Clarkson: Civitas 26 Tabulation registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client tabulation teller bulletin board tabulation teller Tellers eliminate unauthorized credentials; decrypt remaining choices; post proofs Clarkson: Civitas 27 Properties of Tabulation Verifiable Tellers post zero-knowledge proofs during tabulation Coercion-resistant No credentials (valid or fake) ever revealed Voters can undetectably fake credentials Clarkson: Civitas 28 Tabulation registration registration teller registration teller teller JCJ: O(V2) Civitas: O(B2), B ¿ V Improved scalability tabulation teller ballot box ballot box ballot box voter client Clarkson: Civitas tabulation teller bulletin board tabulation teller 29 Blocks Block is a “virtual precinct” Each voter assigned to one block Each block tallied independently of other blocks, even in parallel Tabulation time is: Quadratic in block size Linear in number of voters If using one set of machines for many blocks Or, constant in number of voters If using one set of machines per block Clarkson: Civitas 30 Civitas Architecture registration registration teller registration teller teller tabulation teller ballot box ballot box ballot box voter client Clarkson: Civitas tabulation teller bulletin board tabulation teller 31 Cryptographic Protocols Leverage the literature: El Gamal; distributed [Brandt]; non-malleable [Schnorr and Jakobsson] Proof of knowledge of discrete log [Schnorr] Proof of equality of discrete logarithms [Chaum & Pederson] Authentication and key establishment [Needham-Schroeder-Lowe] Designated-verifier reencryption proof [Hirt & Sako] 1-out-of-L reencryption proof [Hirt & Sako] Signature of knowledge of discrete logarithms [Camenisch & Stadler] Reencryption mix network with randomized partial checking [Jakobsson, Juels & Rivest] Plaintext equivalence test [Jakobsson & Juels] Clarkson: Civitas 32 Civitas Security Assurance Design JCJ proof of coercion resistance and verifiability We extended proof Backes et al. (CSF 2008) verification with ProVerif Working to verify Civitas Implementation …leverages language-based security Clarkson: Civitas 33 Secure Implementation In Jif [Myers 1999, Chong and Myers 2005, 2008] Security-typed language Types contain information-flow policies Confidentiality, integrity, declassification, erasure If policies in code express correct requirements… (And Jif compiler is correct…) Then code is secure w.r.t. requirements Clarkson: Civitas 34 Civitas Policy Examples Confidentiality: Confidentiality: Information: Voter’s credential share Policy: “RT permits only this voter to learn this information” Jif syntax: RT Voter Information: Teller’s private key Policy: “TT permits no one else to learn this information” Jif syntax: TT TT Integrity: Information: Random nonces used by tellers Policy: “TT permits only itself to influence this information” Jif syntax: TT TT Clarkson: Civitas 35 Civitas Policy Examples Declassification: Information: Bits that are committed to then revealed Policy: “TT permits no one to read this information until all commitments become available, then TT declassifies it to allow everyone to read.” Jif syntax: TT [TT commAvail ] Erasure: Information: Voter’s credential shares Policy: “Voter requires, after all shares are received and full credential is constructed, that shares must be erased.” Jif syntax: Voter [Voter credConst T ] Clarkson: Civitas 36 Civitas LOC Component Approx. LOC Tabulation teller 5,700 Registration teller 1,300 Bulletin board, ballot box 900 Voter client 800 Other (incl. common code) Total Jif LOC Low-level crypto and I/O (Java and C) Total LOC Clarkson: Civitas Policy Distinct annotations Confidentiality 20 Integrity 26 4,700 13,400 8,000 21,400 37 Real-World Cost Tradeoff: cost of election vs. security, usability, … Current total costs are $1-$3 / voter [International Foundation for Election Systems] We don’t know the total cost for Civitas …Computational cost of advanced cryptography? Clarkson: Civitas 38 Tabulation Time vs. Anonymity Clarkson: Civitas K = # voters, # tab. tellers = 4, security strength ≥ 112 bits [NIST 2011–2030], 3GHz Xeons 39 Tabulation Time vs. # Voters sequential parallel K = 100 Clarkson: Civitas 40 CPU Cost for Tabulation CPU time is 39 sec / voter / authority If CPUs are bought, used (for 5 hours), then thrown away: $1500 / machine = $12 / voter If CPUs are rented: $1 / CPU / hr = 4¢ / voter …for this extra cost, we get increased security Clarkson: Civitas 41 Ranked Voting Methods Voters submit ordering of candidates: Vanilla 4 Chocolate 1 Strawberry 3 Cookie dough 2 Mint chocolate chip 5 Examples: Condorcet, STV/IRV, Borda, … Clarkson: Civitas 42 Ranked Voting Methods Low-order rankings create a covert channel Vanilla X Chocolate X Strawberry X Cookie dough X Mint chocolate chip 1 4! completions Coercion intrinsically possible Clarkson: Civitas 43 Civitas Voting Methods Civitas implements coercion-resistant: Condorcet Approval Plurality Intuition: decompose ballot Clarkson: Civitas 44 Summary Civitas is a remote voting system Civitas contributes to: Protocols (theory of voting): Distributed trust in registration for confidentiality Distributed vote storage for availability Introduced blocks (virtual precincts) for scalability Articulated and analyzed trust assumptions Efficient coercion-resistant Condorcet voting Systems (practice of voting): Developed full, concrete protocols Implemented system Studied performance Clarkson: Civitas 45 Related Work Abstract voting schemes: [Baudron et al.; Benaloh; Benaloh and Tuinstra; Boyd; Chaum; Chaum, Ryan, and Schneider Chen and Burminster; Cohen and Fischer; Cramer, Gennaro, and Schoenmakers; Fujioka, Okamoto, and Ohta; Hirt and Sako; Iversen; Kiayias and Yung; Magkos et al.; Merrit; Neff; Niemi and Renvall; Sako and Killian; Ohkubo et al.; Ohta; Okamoto; Park et al.; Rivest] … Implemented voting systems: Adder [Kiayias, Korman, Walluck] ElectMe [Shubina and Smith] EVOX [Herschberg, DuRette] Helios [Adida, Rivest] Prêt à Voter [Schneider, Heather, et al.; Ryan; Chaum] Punchscan [Stanton, Essex, Popoveniuc, et al.; Chaum] REVS [Joaquim, Zúquette, Ferreira; Lebre] Sensus [Cranor and Cytron] VoteHere [Neff] W-Voting [Kutyłowski, Zagórski, et al.] Civitas: Strongest coercion resistance, first to offer security proofs or information-flow analysis Clarkson: Civitas 46 Web Site http://www.cs.cornell.edu/projects/civitas Technical report with concrete protocols Source code of our prototype Clarkson: Civitas 47 Civitas Toward a Secure Voting System Michael Clarkson Cornell University Stevens Institute of Technology March 30, 2009