23 MAY 2009
COMPUTING PRACTICES
Published by the IEEE Computer Society 0018-9162/09/$25.00 © 2009 IEEE
The authors describe an electronic voting approach that takes a system
view, incorporating a trustworthy process based on open source
software, simplified procedures, and built-in redundant safeguards
that prevent tampering.
A
fter the voting debacle in the Florida presiden-
tial election of 2000, many jurisdictions turned
to electronic voting machines that were not
much more than PCs with touch screens. These
machines were as problematic as punch-card
systems, plus they made recounts impossible—a complica-
tion that drove many jurisdictions back to paper ballots.
But a return to marking choices on paper is also a
return to the problems that prompted the use of electronic
machines;
1
it is essentially a step backward. Electronic
voting has real advantages over paper ballots as long
as the focus is on a voting system, not a voting machine.
Rather than concentrating solely on more advanced cryp-
tographic algorithms, designers should be viewing the
problem from a system perspective, considering all the
pieces and striving for defense in depth. At each design
step, they should anticipate attacks at a level that borders
on paranoia.
With these aims in mind, Vrije Universiteit has devised
an electronic voting system that is both practical and
resistant to tampering. We are currently implementing
the electronic voting machine software and intend to make
the source code freely available this year.
SYStEM goAlS
Electronic voting offers myriad benefits—from multi-
lingual operation to the prevention of overvoting—but to
be trustworthy, a voting system must satisfy three main
goals:
ensure the election’s integrity, •
allow results to be audited, and •
be sufficiently understandable that voters and politi- •
cians will have confidence in using it.
The election process involves diverse groups, each with
sufficient motive and opportunity to influence results.
The Secretary of State, who runs the election, is a partisan
elected official who (secretly, but fervently) hopes that his
party’s candidate will win. A partisan county registrar can
alter registration data to cause problems on election day;
the voting machine’s manufacturer might include software
to cast, say, every 30th vote for its favorite candidate. The
compromise would be large enough to throw a close elec-
tion but small enough to put the results within the exit
polls’ margin of error.
The system must allow audits because, if there is a
dispute,
2
a recount is mandatory. Requesting a machine
to reread the result is pointless because it will merely read
out the initial result.
Finally, the voters and the politicians must have con-
fidence in the system. A prerequisite to that confidence
is the ability to understand how the system works. Many
papers on voting systems describe cryptographic tech-
niques, but cryptography alone does not build confidence
in voters. Cryptography is only one method for achieving
trustworthiness, and designers should view it as but one
aspect of a larger system.
A NINE-StEP ProCESS
Our voting system adds transparent operational pro-
cedures and open-source code to standard, well-tested,
Trustworthy Voting:
From Machine to
System
Nathanael Paul and Andrew S. Tanenbaum
Vrije Universiteit, Amsterdam