Bryan Meng-Hong Tsai
mbt9@cornell.edu
Security Properties for Electronic Voting
- Eligibility and Authentication. Only authorized voters should be
able to vote. [1]
- Voter registration management. In the context of
today's voting systems, voter authenticity are typically handled
procedurally, initially by presentation of a birth certificate or other
means of supposed identification, and later by means of a written verifying
signature. In future systems in which remote voting will be possible, some
sort of electronic or biometric authentication may be required (in the form
of digital signature or something). A electronic voting should have the
ability to manage such a database of all eligible voters. [1][8]
- Authentication compromises such as guessing and
enumeration must be prevented. Also, capturing and replaying either a token
or a PIN must not be successful. [8]
- Non-repudiation is also necessary, preventing the
authenticatee from later saying that the authentication had been
subverted by a masquerader.
- Authentication must be easy for the voter to use, with
system operation as invisible as possible. The human interfaces to computer
systems and token-generating devices should be inherently fail-safe,
fool-proof, overly cautious in defending against accidental and intentional
misuse, and unobtrusive.
- Uniqueness. No voter should be able to vote more than one time.
[1][6]
- Each eligible voter should vote only once, and only for
the office for which she is authorized to cast a vote. [7]
- Accuracy. Election systems should record the votes correctly. [1]
- Extremely small error-tolerance. In normal reliable systems, a probability
of failure of 10**(-4) or 10**(-9) per hour may be enough. However, such
measures are too weak for voting systems. For example, a one-bit error in
memory might result in the loss or gain of 2**k votes (for example, 1024 or
65,536). [2]
- Ideally, numerical errors attributable to hardware and
software must not be tolerated, although a few errors in reading cards may
be acceptable within narrow ranges. Efforts must be made to detect errors
attributable to the hardware through fault-tolerance techniques or software
consistency checks (note also that any software-implemented fault-tolerance
technique is itself a possible source of subversion.).
- Any detected but uncorrectable errors must be monitored,
forcing a controlled rerun. However, a policy that permits any detected
inconsistencies to invalidate election results would be very dangerous,
because it might encourage denial-of-service attacks by the expected losers.
- Integrity. Votes should not be able to be modified, forged, or
deleted without detection. [1][6]
- It should be impossible for a validated vote to be eliminated from the final tally. It
should also be impossible for an invalid vote to be counted in the final
tally. [6]
- System integrity. The computer systems must be tamperproof. Vote
counting must produce reproducibly correct results. Ideally, system changes
must be prohibited throughout the active stages of the election process. That
is, once certified, the code, initial parameters, and configuration
information must remain static. No run-time self-modifying software can be
permitted. End-to-end configuration control is essential. System boot-load
must be protected from subversion that could otherwise be used to implant
Trojan horses. [2]
- Data integrity and reliability. All data (including votes, vote
counts ...) involved in entering and tabulating votes must be tamperproof.
Votes must be recorded correctly without being altered during transit,
processing, or in storage. [2]
- Non-alterable media may provide some
assistance for integrity, but not if the system itself is subvertible. [2]
- There must be no trapdoors --- for example, for maintenance and setup ---
that could be used for operational subversions. [2]
- Verifiability and Auditability. It should be possible to verify
that all votes have been correctly accounted for in the final election tally,
and there should be reliable and demonstrably authentic election records. [1]
- Vote audit. Provide an independent audit (such as paper print-out ballot) which can
ascertain the content of the true ballots cast. The audit can be checked by
the voter visually before deposit and used by the election board in the case
of recount. Without such an audit, system defects may be revealed years after
an election, making all earlier results questionable. [4][10]
- System accountability. All internal operations must be monitored,
without violating voter confidentiality. Monitoring must include votes
recorded and votes tabulated, and all system programming and administrative
operations such as pre- and post-election testing. All attempted and
successful changes to configuration status (especially those in violation of
the static system integrity requirement) must be noted. Furthermore, monitoring must be non-bypassable --- it must be impossible to turn off or circumvent. Monitoring
and analysis of audit trails must themselves be non-tamperable. All operator
authentication operations must be logged. [2]
- Read-only media can help ensure nontamperability of the
audit trail, but nonbypassability requires a trusted system for data
collection.
- Reliability. Elections systems should work robustly, without loss
of any votes, even in the face of numerous failures, including failures of
voting machines and total loss of Internet communication. [1]
- Fault-Tolerance. The votes must be captured
accurately in redundant and non-volatile storage within the voting client.
Once that happens, all other failures can in principle be tolerated and
recovered from. In the case of the failure of communication link, voting
systems must include the functionality of a direct recording electronic (DRE)
system and be able to revert to DRE mode without losing a single vote.
- System reliability. System development (design,
implementation, maintenance, etc.) should attempt to minimize the likelihood
of accidental system bugs and malicious code. [2]
- Voter Anonymity and Non-Coercibility. Neither election authorities
nor anyone should be able to determine how any individual voted, and voters
should not be able to prove how they voted. [1][6]
- No voter can prove that he or she voted in a particular
way. It is important for the prevention of vote buying and extortion. Voters
can only sell their votes if they are able to prove to the buyer that they
actually voted according to the buyer's wishes. [6]
- Data confidentiality. Votes must be protected from
external reading during the voting process. [2][7]
- Anonymous channel. All communication between voter
and election authorities occurs over an anonymous channel. An anonymous
channel could be secured through the use of a chain of World Wide Web
forwarding servers. [6]
- Flexibility. Election equipment should allow for a variety of
ballot question formats, be compatible with a variety of standard platforms
and technologies, and be accessible to everyone including disabilities. [1]
- Efficiency. Election systems should be efficient. [9]
- Interface Usability and Convenience. Voters should be able to cast
votes quickly with minimal equipment or skills. [1][6]
- Complicated operator interfaces are inherently risky,
because they induce accidents and can mask hidden functionality.
- Transparency. Voters should be able to possess a
general knowledge and understanding of the voting process. [1]
- Certifiability. Voting systems should be testable so that election
officials have confidence that they meet the necessary criteria. [1]
- The source code must be open for random inspection at any time
(including documentation), despite cries for secrecy from the system vendors.
It need not be open-sourced, but the source code should at least be
available to designated security experts when certification/inspection is
processed. [2]
- Trusted Path. A reliable mechanism for delivering cast vote
to the election server in a timely manner. The path must be trusted (secure)
throughout the period during which votes are transmitted.
- Authenticated communication link must be used between
client and server, and encryption of the data being transported is needed to
preserve data confidentiality. [1]
- System availability. The system must be protected against both
accidental and malicious denials of service, and must be available for use
whenever it is expected to be operational. [1][2][3][7]
- Defenses against spoofing (fake voting sites). [1]
- Documentation and assurance. The design, implementation,
development practice, operational procedures, and testing procedures must all
be unambiguously and consistently documented. Documentation must also describe
what assurance measures have been applied to each of those system aspects. [2]
- System Management and Operation.
- Many systems provide intentional trapdoors in case of
failures of the authentication mechanism or loss of ability to authenticate.
Such trapdoors should be avoided, and if unavoidable must be audited
non-bypassably. All persons authorized to perform system-administration
functions must be nontrivially authenticated (not to mention well-trained
and experienced!), with no exceptions. [8]
- Local operating control. Voting systems must be
amenable to easy use by local election officials, and must not necessitate
the on-line control of external personnel (such as vendor-supplied
operators). [2]
- Dedicated system. Voting systems should better not be
shared with other applications running concurrently. [4]
- Warning messages must occur during elections whenever
appropriate. [4]
- Vote counting and reporting. The official canvass
should include counts not only of the number of votes for each candidate,
but also counts of the disputed votes where one member of a vote counting
team held that the vote was for one candidate while the opposing member held
that the vote should be excluded for one reason or another. [5]
- Disputed ballots must be set aside during the initial
count, with documentation of what votes were disputed by which vote
counters. [5]
- At each level in the reporting process leading to the
official canvass, in addition to reporting the number of votes for each
candidate, the number of overvotes, undervotes and disputed votes should be
reported, and the sum of these must equal the total number of ballots
counted in all precincts covered by this report. [5]
- Machine detected overvotes that were not corrected by the
voter should be subject to a hand count if their number exceeds the margin
between the leading candidates. [5]
- Recount. Voting system must provide functions for
recounting, either providing vote audit for manual recounting or some other
means in case there's any question about the final voting result.
References
- "Report
of the National Workshop on Internet Voting: Issues and Research Agenda,"
by Internet Policy Institute,
March 2001.
- "Security
Criteria for Electronic Voting," by
Peter G. Neumann, 16th National Computer Security Conference, September,
1993.
- "Security
Considerations for Remote Internet Voting," by
Avi Rubin, AT&T Labs.
- "Accuracy, Integrity, and Security in Computerized Vote-Tallying," by R.G.
Saltman, NBS (now NIST) special publication, 1988.
- "Evaluating
Voting Technology," by
Douglas W. Jones, Testimony before the United States Civil Rights
Commission Tallahassee, Florida, January 11, 2001.
- "Design and
Implementation of a Practical Security-Conscious Electronic Polling System,"
by
Lorrie Faith Cranor and Ron
K. Cytron.
- "Electronic
Voting - Evaluating the Threat," by Michael Ian Shamos,
- "Computer-Related
Risks," by Peter
G. Neumann, Addison-Wesley, 1995.
- "Voting and
Technology: Crypto-Gram -- December 15, 2000," by
Bruce Schneier.
- "Rebecca
Mercuri's Statement on Electronic Voting," by
Rebecca Mercuri.
- "Risks
in Computerized Elections," by Peter
G. Neumann, Inside Risks, 5, CACM 33, 11, p. 170, November 1990.
- "Disenfranchised
by design: voting systems and the election process," by Susan King Roth,
Information Design Journal, Volume 9, No. 1, 1998.