Practical Distributed Voter-Verifiable Secret Ballot System
Total Page:16
File Type:pdf, Size:1020Kb
Practical Distributed Voter-Verifiable Secret Ballot System Edoardo Biagioni Yingfei Dong Wesley Peterson, Kazuo Sugihara Dept. of Info. and Comp. Sci. Dept. of Electrical Engineering Dept. of Info. and Comp. Sci. 1680 East-West Road, POST 317 2504 Dole St, Holmes Hall 483 1680 East-West Road, POST 317 Honolulu, HI 96822 Honolulu, HI 96822 Honolulu, HI 96822 ABSTRACT trusted. A few improved voting systems have become com- In this paper we propose an end-to-end voter-verifiable sys- mercially available [5]. Also, several innovative schemes such tem, which is more transparent than existing solutions. Its as PunchScan and ThreeBallot have been devised that per- distributed nature permits its use both for supervised vot- mit voters to check whether their votes have been included ing at a polling place and for online remote voting. We in the tally correctly [6], [7], [8], [9]. Meanwhile, these sys- use Chaum’s blind signatures to ensure voter anonymity. In tems strongly prevent voters from being able to prove how particular, voters can verify that their votes are recorded they voted, to prevent vote selling and coercion. As a result, exactly as cast, and all ballots can be made public so that they are not completely transparent. anyone can verify the election results. We further address In a recent paper, Yasinsac and Bishop [4] make several key security issues such as server corruption in the proposed interesting points. Their first sentence is “At the end of system. The case is made that this can be the basis of a the day, elections are about counting votes.” The accuracy practical voting system. and assurance of the vote counting should be the highest priority. They find that paper ballots or receipts, although safer than many DRE voting machines, are lacking in this Categories and Subject Descriptors regard. They state that “Audit trails are essential to voting K.4.0 [Computers and Society]: General—Voting Sys- systems”, and also suggest that “Relaxing the ‘vote non- tems; K.4.1 [Computers and Society]: Public Policy Is- provability’ principle” in the interest of providing audit in- sues—Anonymity Verifiability; K.6.5 [Management of Com- formation or making the voting process more transparent, puting and Information Systems]: Security and Protec- may be desirable. We have come to the same conclusions, tion and in this paper we suggest a voting protocol that is much more transparent than most existing systems and that we General Terms believe can be the basis of a practical election system. We call this system Distributed Voter-Verifiable Secret Ballot Security, Algorithms (DVVSB). DVVSB can be used for both voting at a su- pervised polling place and remote voting on the Internet, Keywords compared with most end-to-end voter verification solutions that are designed for polling stations. It is especially use- voting systems, end-to-end, voter verifiable, secret ballot ful to complement increasing popular mail voting [12]. It provides a concrete example of what can be done if the non- 1. INTRODUCTION provability condition is relaxed. It has been clearly established that existing direct-recording In the proposed system, we separate voter authentication electronic (DRE) voting machines cannot be trusted [1], [2], and vote tallying in a distributed environment, including [3]. On these systems, votes can be lost or altered, and no an authentication server, a tally server, and voter clients. effective way is provided for detecting such failures. There- We assume that voter registration has been conducted sep- fore, the need to audit or recount has led to the widespread arately and we have a list of eligible voters. This list is pro- use of paper ballots, either as the primary ballots or as the vided to an authentication server for voter authentication. backup of voting machines. However, paper ballots are vul- We assume that each voter obtains an identifier and authen- nerable to forgery, loss, or substitution [4, 12]. The election tication keys during the voter registration process. For vote officials handling the paper ballots at every point must be tallying, a tally server collects all cast ballots into a tally database. Each ballot has a ballot identifier randomly as- signed by a voter client. Furthermore, for tally verification, the list of eligible voters and the tally databases are made Permission to make digital or hard copies of all or part of this work for public at the end of an election. In particular, the voter can personal or classroom use is granted without fee provided that copies are use the ballot identifier to check whether that ballot is in the not made or distributed for profit or commercial advantage and that copies tally database, and check the exact contents of the ballot. bear this notice and the full citation on the first page. To copy otherwise, to In principle, anyone can access the entire contents of this republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. tally database and count the ballots themselves. This will SAC'09 March 8-12, 2009, Honolulu, Hawaii, U.S.A. give transparency to the vote-counting process and assur- Copyright 2009 ACM 978-1-60558-166-8/09/03 ...$5.00. ance that the votes are correctly counted. However, there is database is also public, anyone can see who voted. How- no way to find which ballot was cast by which voter. The ever, there is no reliable information to tell which ballot voters know their own ballot identifiers, but they cannot corresponds to which voter from the contents of the two prove that, because the ballot identifiers are all public and databases. We will discuss in later sections how to deal with anyone could claim to have cast any ballot. compromised authentication and tally servers by splitting the authentication and tally responsibilities among multiple 2. BASIC PROTOCOL servers. The proposed basic protocol uses Chaum’s blind signa- Table 1: Notation. tures [10] to achieve vote anonymity. Blind signatures have A original ballot been proposed for use in elections [11]. Our proposed pro- B blinded ballot tocol is based on these ideas. Our scheme is similar to [14], C signed, blinded ballot but allows the use of multiple, redundant servers, which also D signed ballot prevents a corrupt signing authority from casting ballots for n RSA modulus voters who do not cast a vote. e public key In the basic protocol, each voting operation involves three d private key entities: a voter client (VC), a ballot authentication server k blinding factor (BAS), and a vote tally server (VTS). The BAS maintains an eligible voter database (EVD), which is used for authenti- Here are the mathematical details of using blind signa- cating and recording blinded ballots from voters and track- tures for voter authentication and anonymity. Blind signa- ing which voter has voted. Each entry in the EVD includes tures use RSA. In this section, assume that n is an RSA a voter identifier, a vote flag indicating whether the voter modulus and e and d are the public and secret keys, respec- has voted, and a signed, blinded ballot from the voter if the tively. Then for any X, if C = Xe mod n, then X = Cd mod voter has voted. The VTS maintains a vote tally database n, and similarly, if C = Xd mod n, then X = Ce mod n. (VTD) by collecting all cast ballots. Each entry in the VTD The notation is summarized in Table 1. We use A to denote includes: (i) a unique ballot number chosen by a VC; (ii) the an original ballot prepared by a voter client. The voter client voter’s choices; (iii) a BAS digital signature confirming that selects a random number, kept secret, k < n, that has an −1 this is a valid ballot. inverse k modulo n, and blinds the ballot by multiplying The first step in the protocol is for the election authority A by ke modulo n. The result is the unsigned, blinded bal- e to furnish each voter with a voter identifier VID and secret lot B = Ak mod n. The ballot authentication server then authentication keys. The keys should be kept secret, because signs B. We denote the signed, blinded ballot by C. Then d e d d ed d anyone who has them can vote. We have not addressed the C = B = (Ak ) = A k = A k mod n (since in RSA, problem of doing this securely. We assume that the election ed = 1mod n). To unblind this, the voter client multiplies −1 d authority has a procedure for identifying individual voters this by k mod n, and the result is D = A mod n, which and authorizing their voting. is exactly what would have resulted if the authentication Next, a voter client (VC) on a computer prepares a ballot server had directly signed A. However, the authentication with the voter’s choices and with a randomly-generated bal- server has not seen A and has no knowledge of the fact that d lot identifier BID. The BID must be large enough such that it has signed A. It is this value D = A mod n that the voter the probability is negligible that two voters will by chance sends to the tallying server. The tallying server then verifies choose the same ballot identifier. Then the voter blinds the the signature from the authentication server by calculating ballot using a randomly chosen number less than n. A = De mod n, and can then tally the voter’s choices from Then the voter client sends the blinded ballot along with the content of A.