Electronic Voting System Tadayoshi Kohno, Adam Stubblefield, Aviel D. Rubin Dan S. Wallach IEEE Symp. On Security and Privacy 2004 VoteHere System Analysis, Philip Edward Varner’s thesis Advances in Cryptographic Voting Systems, Ben Adida MIT Ph.D. Disseration 9/2006 Diebold System Analysis Tadayoshi Kohno, Adam Stubblefield, Aviel D. Rubin Dan S. Wallach IEEE Symp. On Security and Privacy 2004 Present a security analysis of the source code of a paper less electronic voting system (Diebold). Show this voting system far below even the most minimal security standards applicable in other context. (strong words) Problems include: unauthorized privilege escalation, incorrect use of cryptography, vulnerabilities to network threats, and poor software development processes. They demonstrate that Voter can cast unlimited votes without being detected Insider Attacks: Modify the votes Violate voter privacy by matching vote with voters. Better solution: EVS with “voter-verifiable audit trail” (print a paper ballot that can be read and verified by voters. EVS 10/11/2006 chow 2 VoteHere System Analysis Philip Edward Varner’s thesis. Some companies claimed online voting technical problems are solved, only political/sociological ones remained. Analyze VoteHere system, include attrack tree analysis/attacker models; abuse cases EVS 10/11/2006 chow 3 Related Literature Public Key Cryptography Homomorphic Encryption Zero Knowledge Proofs (Shamir How to share a Secret, CACM 79 paper). Cryptographic Voting Protocol EVS 10/11/2006 chow 4 FOO92 Voting Scheme Requirements of a secure election: Completeness: All voters are counted correctly. Soundness: A dishonest voter cannot disrupt voting Privacy: All votes must be secret Unreusability: no voter can vote twice Eligibility: no one who isn’t allowed to vote can vote Fairness: nothing must affect the voting (DDoS?) Verifiability: no one can falsify the result of voting. Validator and Counter EVS 10/11/2006 chow 5 EAS College Voting System Can we trust EAS IT? For some non-critical, non-sensitive voting, vote integrity/convenient can be enforced with just EAS IT. Can we trust 3rd party server(s) to issue the votes, authenticate voters, and collect votes? Possibility of using campus IT servers, or other EAS lab servers. Should we separate voter authentication system (VAS) with vote counting system (VCS)? How to ensure the VAS does not talk to VCS? Assume open source, how to ensure code is not tempered during the voting period? EVS 10/11/2006 chow 6 Voting Ancient Greece: any politician got 6000 male landowner votes was exiled for 10 years! 13th century Medieval Venice introduce approval voting (thumb up/down) US 1st election were viva-voce: voters sworn in and called out their preferences. Early 1800s paper ballots were introduced/generally produced (pre-printed) by political parties, called “party tickets” 1858 Australia introduced secret ballot, printed by state, distributed to eligible voters, voted in isolated booth. EVS 10/11/2006 chow 7 DRE: Direct Recording by Electronic PC type equipment running special purpose voting software. Lack tamper-proof audit-trail. Bugs or malicious code may produce erroneous results/undetected. VVPAT: Mercuri 1992 proposed Voter-Verified Paper Audit Trail. Print out a receipt visible to the voter behind the glass (not taken with voter!); voter gets to confirm or cancel her vote. VVPAT first time significant used in US: 11/2006 with 5 states expected to implement it. http://vote.nist.gov/032906VVPAT-jpw.pdf page 3 EVS 10/11/2006 chow 8 What Makes Voting So Hard? Verifiability vs. Secrecy Alice/Adrienne: two voter Carl, a coercer wishes to influence Alice to vote Red. How to let Alice obtain enough info to personally verify her vote was indeed recorded as Blue; but not so much info that she could convince Carl (selling vote). No incentive for Carl to pay for votes. Adversarial model for Airplane/ATM are less demanding than for a federal election. EVS 10/11/2006 chow 9 Failure Detection/Recovery Process Those for Banks/Airplane failure are well understood. It is not clear failures in election can always be detected. Recovery often expensive or even impossible. EVS 10/11/2006 chow 10 Incentive Influencing the outcome of a federal US election worth a lot of money. 2004 presidential campaign budget reaches $1B. EVS 10/11/2006 chow 11 End-to-End Voting EVS 10/11/2006 chow Figure 1-3: End-to-End Voting - only two checkpoints are required. (1) The receipt obtained from a voter’s interaction with the voting machine is compared against the bulletin board and checked by the voter for correctness. (2) (2) Any observer checks that only eligible voters cast ballots and that all tallying actions displayed on the bulletin board are 12 valid. End-to-End Verifiability (E2EV) Rather than completely auditing a voting machine’s code and ensuring that the voting machine is truly running the code in question, end-to-end voting verification checks the voting machine’s output only. Rather than maintain a strict chain-of-custody record of all ballot boxes, end-to-end voting checks tally correctness using mathematical proofs. Thus, the physical chain of custody is replaced by a mathematical proof of end-to-end behavior. Instead of verifying the voting equipment, end-toend voting verifies thechow voting results. EVS 13 10/11/2006 Advantage of E2EV One need not be privileged to verify the election Any one can check the inputs/outputs against the mathematical proofs. Cryptography makes end-to-end voting verification possible. Encryption provide ballot secrecy Zero-knowledge proofs provide public auditing of the tallying process EVS 10/11/2006 chow 14 Bulletin Board of Votes Cryptographic voting protocols revolve around a central, digital bulletin board. All messages posted to the bulletin board are authenticated. Any data written to the bulletin board cannot be erased or tampered with. Can be attacked by DDoS but there are known solutions. Name and ID# of voters are posted in plaintexteligibilty Voter’s name+encrypt(voter’s ballot) postedno observer can tell whatchow the voter chose. EVS 15 10/11/2006 Casting and Tallying Processes Casting process let Alice prepare her encrypted vote and cast it to the bulletin board. Tally process aggregates the encrypted votes and produce a decrypted tally, with proofs of correctness of this process posted to the bulletin board for all observers to see. Classical voting scheme performs complete/blind hand-off (drop in a box). Here cryptographic voting performs a controlled hand-off: Individual can trace vote’s entry into the system. Any observer can verify the processing of these encrypted votes into anchow aggregated, decrypted tally. EVS 10/11/2006 16 Cryptographic Voting EVS 10/11/2006 chow 17 Secret Voter Receipt To avoid vote selling/coercing, all current cryptographic voting schemes require that voters physically appear at a private, controlled polling location: it is the only known way to establish a truly private interaction that prevents voter coercion. Zero Knowledge Proof Neff’s MarkPlege EVS 10/11/2006 chow 18 Tallying the Ballots The secret key for decryption is shared among a number of election officials. Two major techniques: 1. Homomorphic encryption: aggregation under the covers of encryption; only aggregate tally needs decryption. 2. Digital version of “shaking the ballot box”: shuffled/scrambled multiple times by multiple parties, dissociated from voter ID, then decrypted EVS 10/11/2006 chow 19 Randomize Threshold Public-Key Encryption All cryptographic voting systems use randomized threshold public-key encryption. The public-key property ensures that anyone can encrypt using a public key. The thresholddecryption property ensures that only a quorum of the trustees (more than the “threshold”), each with his own share of the secret key, can decrypt. Shamir’s how to share a secret. In addition, using randomized encryption, a single plaintext, e.g. Blue, can be encrypted in many possible ways, depending on the choice of a randomization value selected at encryption time. avoid cipher attack EVS chow 20 10/11/2006 Tallying under the Covers of Encryption Using a special form of randomized public-key encryption called homomorphic public-key encryption, it is possible to combine two encryptions into a third encryption of a value related to the original two, i.e. the sum. For example, using only the public key, it is possible to take an encryption of x and an encryption of y and obtain an encryption of x + y, all without ever learning x or y or x + y. First proposed by Benaloh, vote are encrypted either 0 (Blue) or 1 (Red) In addition, a zero-knowledge proof is typically required for each submitted vote, in order to ensure that each vote is truly the encryption of 0 or 1, and not, for example, 1000. Otherwise, a malicious voter could easily throw off the count by a large amount with a single ballot. EVS chow 21 10/11/2006 Homomorphic public-key encryption The entire homomorphic operation is publicly verifiable by any observer, who can simply recompute it on his own using only the public key. Unfortunately, homomorphic voting does not support write-in votes well: the encrypted homomorphic counters must be assigned to candidates before the election begins. EVS 10/11/2006 chow 22 Shaking the Virtual Ballot Box A different form of tallying is achievable using a mixnet, as first described by Chaum [39] In a mixnet, a sequence of mix servers, each one usually operated by a different political party, takes all encrypted votes on the bulletin board, shuffles and rerandomizes them according to an order and a set of randomization values kept secret, and posts the resulting set of ciphertexts back to the bulletin board. The next mix server then performs a similar operation, and so on until the last mix server. Then, all trustees cooperate to decrypt the individual resulting encryptions, which have, by now, been dissociated from their corresponding voter identity. Each mix server must provide a zero-knowledge proof that it performed correct mixing, never removing, introducing, or changing the underlying votes. EVS 10/11/2006 chow 23 Mixnet vs. Homomorphic Mixnet is more difficult to operate the reencryption and shuffle processes must be executed on a trusted computing base, keeping the details of the shuffle secret from all others. Two important advantages of Mixnet: 1. 2. the complete set of ballots is preserved for election auditing free-form ballots, including write-ins, are supported. EVS 10/11/2006 chow 24