-
2008-06-17
10/367,631
2003-02-14
US 7,389,250 B2
2008-06-17
-
-
Susanna M Diaz
2023-02-14
A facility for conducting a coercion-resistant electronic collection is described. The facility receives from the voter a first voter conformation value. At a later time, the facility receives from the voter an encrypted ballot and a second voter confirmation value. Without regard for the value of the received second voter confirmation value, the facility adds the received ballot to a publicly-available list of cast ballots. After the addition, members of the public are able to verify the addition of the received ballot to the list without being able to determine whether the ballot will be counted. The facility counts the ballot if and only the second voter confirmation value received with the ballot matches the received first voter confirmation value.
Get notified when new applications in this technology area are published.
G06F11/00 IPC
Error detection; Error correction; Monitoring
This application claims the benefit of U.S. Provisional Application No. 60/357,210 filed Feb. 14, 2002; and this application is a continuation-in-part of U.S. patent application Ser. No. 09/816,869, filed Mar. 24, 2001 now U.S. Pat. No. 6,950,948, which claims the benefit of U.S. Provisional Application Nos. 60/191,785 filed Mar. 24, 2000, 60/252,376 filed Nov. 21, 2000, and 60/268,551 filed Feb. 14, 2001; and this application is a continuation-in-part of International Application No. PCT/US02/09264 filed Mar. 25, 2002, which claims priority to U.S. patent application Ser. No. 09/816,869 filed Mar. 24, 2001, and U.S. Provisional Applications Nos. 60/311,680 filed Aug. 9, 2001, and 60/312,671 filed Aug. 15, 2001, and 60/313,003 filed Aug. 16, 2001; all ten of which applications are incorporated herein in their entireties.
This application is directed to the technical field of security measures for electronically-conducted elections.
Various electronic and/or digital election protocols exist that provide cryptographic privacy to voters. With many of these election protocols, the voter needs to keep certain types of information secret. An example of such secret information is a voter's private key. These existing election protocols can be problematic, however, if a person threatens, or entices a voter (e.g., financially) to give up the secret information. When this type of coercion occurs, it is possible for the person to either know how the voter voted, or vote on his or her behalf.
Similar problems arise with the use of absentee vote-by-mail systems. For example, a husband might force his wife to vote a certain way. The threat of coercion intensifies in a networked world, where people can ālook over each other's shouldersā from thousands of miles away. This threat is serious enough that it is often considered a reason to not allow remote electronic voting.
Under threat models that do not include coercion, the notion of a universally verifiable election is fundamental. In the past, it has been considered important that a ācomputing device basedā election scheme be universally verifiable in order to be considered deployable on a wide scale. During elections of this type, transcripts are published that include the final tally. Under reasonable assumptions about the safety of keys, and the intractability of some computational problems, these transcripts cannot be feasibly forged by any collection of malicious agents. Although it would be desirable to carry this property over to election schemes under the threat of coercion, this may be difficult. Election schemes under the threat of coercion lack certain very basic properties, which have generally been taken for granted in the election protocol literature, and hence may not be practical in a large-scale implementation.
FIG. 1 is a block diagram showing a suitable environment for implementing the scheme.
FIG. 2 is a flow diagram showing steps typically performed in accordance with the scheme.
The scheme described herein allows the voter to remain in exclusive possession of secret information that is used by a voter to cast a ballot. It allows a voter that has been pushed to reveal secret information to provide a false answer without being discovered. After providing the false answer, the voter can then proceed and cast a ārealā vote on his or her own. This is achieved while still maintaining a collection of election audit properties that are characteristic of good electronic election protocols. An election scheme is coercion safe if, even in the coercion threat model, its transcript can not be feasibly forged by any collusion of authorities that, together, are unable to compute a tally. Further, in the case of a collusion that is able to compute a tally, the extent of the forgery is limited by the number of voters coerced.
At a summary level, the invention works as follows:
FIG. 1 and the following discussion provide a brief, general description of a suitable computing environment in which aspects of the invention can be implemented. Although not required, aspects and embodiments of the invention will be described in the general context of computer-executable instructions, such as routines executed by a general-purpose computer, e.g., a server or personal computer. Those skilled in the relevant art will appreciate that the invention can be practiced with other computer system configurations, including Internet appliances, hand-held devices, wearable computers, cellular or mobile phones, multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, mainframe computers and the like. The invention can be embodied in a special purpose computer or data processor that is specifically programmed, configured or constructed to perform one or more of the computer-executable instructions explained in detail below. Indeed, the term ācomputerā, as used generally herein, refers to any of the above devices, as well as any data processor.
The invention can also be practiced in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network, such as a Local Area Network (āLANā), Wide Area Network (āWANā) or the Internet. In a distributed computing environment, program modules or sub-routines may be located in both local and remote memory storage devices. Aspects of the invention described below may be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer discs, stored as firmware in chips (e.g., EEPROM chips), as well as distributed electronically over the Internet or over other networks (including wireless networks). Those skilled in the relevant art will recognize that portions of the invention may reside on a server computer, while corresponding portions reside on a client computer. Data structures and transmission of data particular to aspects of the invention are also encompassed within the scope of the invention.
Referring to FIG. 1, one embodiment of the invention employs a computer 100, such as a personal computer or workstation, having one or more processors 101 coupled to one or more user input devices 102 and data storage devices 104. The computer is also coupled to at least one output device such as a display device 106 and one or more optional additional output devices 108 (e.g., printer, plotter, speakers, tactile or olfactory output devices, etc.). The computer may be coupled to external computers, such as via an optional network connection 110, a wireless transceiver 112, or both.
The input devices 102 may include a keyboard and/or a pointing device such as a mouse. Other input devices are possible such as a microphone, joystick, pen, game pad, scanner, digital camera, video camera, and the like. The data storage devices 104 may include any type of computer-readable media that can store data accessible by the computer 100, such as magnetic hard and floppy disk drives, optical disk drives, magnetic cassettes, tape drives, flash memory cards, digital video disks (DVDs), Bernoulli cartridges, RAMs, ROMs, smart cards, etc. Indeed, any medium for storing or transmitting computer-readable instructions and data may be employed, including a connection port to a network such as a local area network (LAN), wide area network (WAN) or the Internet (not shown in FIG. 1). Aspects of the invention may also be practiced in a variety of other computing environments.
FIG. 2 is a flow diagram showing steps typically performed in accordance with the scheme. These steps are described in more detail below. In step 201, voters are registered to add them to the list of registered voters eligible to cast votes, and to provide them with voting credentials. In step 202, the election is initialized to assign ballot choice values to candidates. In step 203, voters cast their votes by submitting encrypted ballots. In step 204, the votes cast in step 203 are tabulated, and added to the vote total only if the validity of the received ballot can be verified. After step 204, these steps conclude.
1 Coercion Implications of Partitionable Tabulation
The purpose of this section is to
ļ t ļ = ā l i = 1 ⢠t ā” ( c i )
The invention requires something roughly like digital ballot box. At very least, this is a storage device connected to a network, or otherwise openly accessible to voters. A standard web server and database application provides an embodiment of such a device. In practice, more security measures would be built into, or around this device in order to protect against damage or destruction caused by either malicious or natural forces. The invention also requires that voters be able to translate their choices into a digital representation, and further encrypt that representation by the methods presented in the remainder of this invention. A generic PC provides an embodiment of such a device.
Definition 5 Since the transmission and storage of information are the key elements of this invention rather than the particular technologies that facilitate transmission and storage, we will adopt the more generic term bulletin board to denote the openly accessible storage device, and we denote the act of recording information on (or in) the bulletin board as posting. (In the voting context, this corresponds, intuitively, to the act of ācasting a ballotā.) Further, we denote the strings, or records of information that are posted to the bulletin board as posts. (In the voting context, these correspond, intuitively, to voted ballots.)
Let us now consider a set of very general properties that characterize a broad class of election protocols. The properties are considered in the absence of coercion. That is, in verifying a given property with respect to a particular protocol, we consider all potential protocol executions where the only information exchanged between players is that which is specified by the protocol. (We number these properties sequentially as PP-1, PP-2, etc.)
Recall that the voter role, , is essentially a public list of players (eligible voters), {v1, . . . , vk}. Also, we use C() to denote the contents of at an arbitrary time, that is, the sequence of posts p1, . . . , pt. Let be the set of all players in the protocol, so ā.
For simplicity of presentation, we assume that the ballot consists of one issue, that the candidate slate, Ī, is given by {c1, . . . , cl}, and that each voter is allowed to choose (vote for) āat most oneā candidate. Generalizing this setting to one that includes more general ballot types (that do not include āwrite-insā) is fairly straightforward.
Definition 6 Let C=C() be any state of (sequence of posts). If Ļ is a post, we denote by CāĻ the state of after appending the single post Ļ. We also use the notation tC to denote the tally, tally (C).
Definition 7 A vote function (on ) is a map
Ļ:PĆC()ā{0,1}Īāā(1)
characterized by the following
Ļ ā” ( q , C ā” ( ⢠) ) = { t C ā” ( ) ā Ļ - t c ā” ( ) if ⢠⢠q = p 0 if ⢠⢠q ā p ( 4 )
t C ā” ( ) ā Ļ ā” ( Ļ ) - t C ā” ( ) ā” ( Ļ ) = { 1 if ā¢ ā¢ Ļ = j 0 if ā¢ ā¢ Ļ ā j ( 5 )
Note that this presumes a model in which āafter the factā coercion is allowed. That is, the coercer may interact with the voter after the bulletin board has been closed. However, this assumption can be eliminated with a reasonable assumption on the computing power of voters. In particular, we can show that the coercer is able, by way of a single coercion event, to
The protocol we next describe is coercion resistant. We will later describe how it can be easily augmented to give a coercion safe protocol. The advantage of describing the weaker version first is that most of the difficulty lies in its construction.
2.1 Registration
Recall that we assume voters are safe from coercion during their registration session. Care must still be taken to assure that information exchanged during registration is not coercible afterwards.
We denote the voter by vi.
( U i , W i ) = ( ā n μ = 0 ⢠U i ⢠⢠μ , ā n μ = 0 ⢠W i ⢠⢠μ ) ( 13 )
The requirement that vi knows a specific honest AJ may be relaxed if we assume that it is acceptable for vi to be caught lying to the coercer. Alternatively, if n>>t, then vi can pick an J at random, 1ā¦Jā¦n, assume that Aj is honest, and then know that the chance of being caught lying is at most (tā1)/n.
2.2 Election Initialization
( ξ i , Ī· i ) = ( ā n j = 1 ⢠ξ i ⢠⢠j , ā n j = 1 ⢠η ij ) ( 14 )
1. A method for conducting a coercion-resistant electronic election performed in a computing system, comprising:
in the computing system, receiving from the voter a first voter confirmation value;
in the computing system, after receiving the first voter confirmation value, receiving from the voter an encrypted ballot associated with the identity of the user and a second voter confirmation value associated with the identity of the user, the second voter confirmation value being formed based upon input from the voter, enabling the voter to determine whether the ballot will be counted by varying the input;
in the computing system, without regard for the value of the received second voter confirmation value, adding the received ballot to a publicly-available list of cast ballots, such that members of the public are able to verify the addition of the received ballot to the list without being able to determine whether the ballot will be counted;
dissociating the identity of the voter from the encrypted ballot and second voter confirmation value;
after the dissociating, determining whether the second voter confirmation value received with the ballot matches the received first voter confirmation value; and
in the computing system, counting the ballot if and only if the second voter confirmation value received with the ballot matches the received first voter confirmation value.
2. The method of claim 1 wherein the encrypted ballot and the second voter confirmation value are received together from the voter.
3. The method of claim 1, further comprising determining that the first and second voter confirmation values match if they are cryptographically related in a manner specified at a time before the first voter confirmation value is received from the voter.
4. A computer-readable medium whose contents cause a computing system to conduct a coercion-resistant electronic election by:
receiving from the voter a first voter confirmation value;
after receiving the first voter confirmation value, receiving from the voter an encrypted ballot associated with the identity of the user and a second voter confirmation value associated with the identity of the user, the second voter confirmation value being formed based upon input from the voter, enabling the voter to determine whether the ballot will be counted by varying the input;
adding the received ballot to a publicly-available list of cast ballots, such that members of the public are able to verify the addition of the received ballot to the list without being able to determine whether the ballot will be counted;
dissociating the identity of the voter from the encrypted ballot and second voter confirmation value;
after the dissociating, determining whether the second voter confirmation value received with the ballot matches the received first voter confirmation value; and
counting the ballot if and only if the second voter confirmation value received with the ballot matches the received first voter confirmation value.
5. The computer-readable medium of claim 4 wherein the encrypted ballot and the second voter confirmation value are received together from the voter.
6. The computer-readable medium of claim 4 wherein the contents of the computer-readable medium further cause the computing system to determine that the first and second voter confirmation values match if they are cryptographically related in a manner specified at a time before the first voter confirmation value is received from the voter.