Citizen Verified Voting

advertisement
Ben Hosp, Nils Janson, Phillipe Moore, John Rowe, Rahul Simha,
Jonathan Stanton, Poorvi Vora
{bhosp, simha, jstanton, poorvi} @gwu.edu
Dept. of Computer Science
George Washington University
Integrity during ballot casting: paper receipts
Challenge: allow the voter to keep a record
of her vote so
– she can determine that it has been counted
correctly, yet
– not prove how she voted
This record on paper, so “computer”
problems will not destroy the record
CVV* can do this, with, from the
voter’s POV
 A voting system that will “just work”
 The only additional effort required of the
voter is to pull a lever up or down
arbitrarily.
 Caveat: a non-negligible percentage of
voters or their representatives must make
the effort to check their ballot receipts.
* Based on a method by David Chaum
Election Goals
 Integrity – Correct vote count.
 Anonymity – I can’t tell how you voted.
 Involuntary Privacy – You can’t prove to
me how you voted.
 Voter Verifiability – You, the voter, can verify the
first two goals.
 Public Verifiability – Anyone can verify the
first three goals.
 Robustness – If something goes wrong it can be
detected and fixed
CVV Assumes
 A set of n independent trustees, all of
whom do not collude (can be made k of
n)
– Collusion can violate privacy without being
detected
– Collusion cannot violate integrity without
detection
 All n trustees are functional (can be
made k of n)
– A nonfunctional trustee (or > k nonfunctional
trustees) can cause a denial of service attack
CVV Assumes
 A not necessarily trustworthy polling
machine
– Cannot violate count integrity
– Can violate privacy (sees ballot)
 No collusion between authentication
process and polling machine
– Collusion can lead to ballot stuffing
 Sufficiently large number of receipts
checked – by voter or authorized third
party
– Requires process
poster
CVV is
 A prototype implementation of
Chaum’s voter-verifiable voting
system
 Using commonly available, low-cost
hardware and OS platforms
Stage 2
 Demo 1: walk-through
The Voting Process
Ballot Casting
 The voter uses the voting booth machine
to generate some image: her vote.
 The booth prints out two layers
– which are random by themselves,
– but when overlaid, display the image.
Layer generation
The layers are generated using two strings
of random numbers
–
–
–
–
Each created by adding trustee shares
Each of size half of the number of image pixels
One for the top layer, other for bottom
Laid in staggered form on the two layers
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Layer generation
 Other half pixels on each layer are such
that the overlay is the correct vote

Other vote:
=
Different types of receipts
 Optical (additive) overlay: Chaum
 Many other symbols by Jeroen van de
Graf
The Voting Process
Receipt Choice
 The voter chooses one layer for her
receipt.
– Some other “stuff” is printed on the chosen layer.
– The unchosen layer is destroyed.
– The chosen layer is stored or transmitted
 It can be shown that the machine can
cheat in only one of the two receipts if the
overlay represents the vote.
The Voting Process
Receipt Checking
 Receipts at counting station can all be checked,
by a third party, for correctness.
 A voter can check her own receipt has reached
the counting station or have it checked by a
third party.
 Automated checking that a hard copy matches
an image at counting station not yet
implemented by CVV. Visual checking possible.
Cheating machine caught with
probability half
If the machine has cheated on a vote
which has the check performed
– it will be detected with non-negligible
probability (one-half?)
– this does not depend on the hardness of
any problem using any computational
model, but
– on the randomness of the voter choice
Does not depend on voter trust of poll
worker checks
The Complete Ballot
P
r
e
The receipt/vote has the following fields:
{
c
h
o
i
c
e
P
o
s
t
{
c
h
o
i
c
e
– The vote ID
– The encrypted image.
– Information for trustees required to decrypt
the top layer.
the bottom layer
– A signature of the vote ID
 info required by non-trustee to recreate above for
chosen layer, but
not unchosen one
used to check commitments.
– A signature of the whole ballot to prevent false
claims of uncounted votes
The Complete Ballot
The information on the ballot
– Can be used by anyone to verify that
the ballot was correctly constructed,
but
– Cannot be used to decrypt the ballot
except by appropriate combination of
trustees.
The Vote-Decryption Process –
similar to a regular MIX
 Random pixels were generated using a
different seed for each trustee for top and
bottom
 The seed of the chosen layer made
available on the receipt for checking
 The other seed made available in nested
encrypted form for the trustees to
generate random part of unchosen layer
The Vote-Decryption Process
Each trustee:
– for each ballot:
 extracts his seed
 incrementally regenerates the random
numbers on the other layer
 adds his share to the ballot
– shuffles all the ballots
– passes on the ballots to the next trustee
Receipt Decryption
R

R
R
R
R
The other vote
R
R
=
R
would have looked like
The Auditor
 The first trustee is asked to reveal, to the
public, a random half of his shuffle.
 The next trustee reveals the other half.
 And so forth
– no ballot can be completely traced through the
shuffles.
The Auditor
 Each trustee provides
– A correspondence between input and output
images
– A seed value
Such that
– the encryption of the seed with his public key
gives the encrypted information
– the difference between the output and input
images of the revealed half of their shuffle was
generated using the seed
 Cheating trustee caught with probability
half for every vote cheated on
Reduce “negative aspects” of
voter verification by
Participation by
major political interests
public interest organizations
as:
– Trustees
– Third party working on behalf of voter to
 Check that receipt is on website
 Check that receipt was correctly generated
(For this, need them to actively obtain receipts)
– Witnesses of trustee decryption process and
audit
Reduce “negative aspects” of
voter verification by - II
Process that includes encouraging
voter verification when fraud
detected or alleged:
– If a voter claims his vote not counted,
encourage enough voters to check their
votes to determine extent of fraud/error
– If a displayed receipt does not check,
check receipts in that precinct to
determine extent of fraud/error
Current status of CVV
 Prototype implemented in Java
 Currently supports low-end ink jet
printing
 Plan
– Open source release
– User-friendly ballots
– Pre-packaged election tool kit for third-party
elections (e.g. student elections). Those
interested please contact us.
– Construction of various other primitives for plug
and play
More Next Steps
 Performance and Robustness Testing and
Enhancements
 Trials in local and school elections
– for education and
– to test usefulness and acceptance of scheme
 With Political Science and Public Affairs Faculty
Determine if there is a difference in acceptance
along group lines:
–
–
–
–
Political parties
Age
Race
Ability (among handicapped; Braille overlay methods can
be developed)
References and
Acknowledgements
 David Chaum
 David Chaum, “Secret-Ballot Receipts: True VoterVerifiable Elections”, IEEE Security and Privacy,
January-February 2004 (Vol. 2, No. 1)
 Poorvi Vora, “David Chaum’s Voter Verification
using Encrypted Paper Receipts”,
www.seas.gwu.edu/~poorvi/Chaum/chaum.pdf
Also on DIMACS website linked from talk abstract
Extras
CVV - How it works
based on Chaum voter-verifiable voting system
1. Voter votes. Obtains an encrypted receipt that
even she cannot decrypt outside polling booth
• only all n trustees can decrypt it
• this can be modified to k of n trustees.
We will describe later how she can be sure the
polling machine did not cheat
2. Voter checks for receipt on public website. If it
is there, her vote has reached the counting
station
CVV - How it works
4. Possessor (voter or third party or anyone if
receipt on website) can check if receipt is
correctly generated.
5. All votes at counting station are serially
(partially) decrypted and shuffled by trustees
(version of MIX)
6. Final, unencrypted, shuffled votes are counted.
Conditional count announced.
7. Trustee decryption and shuffle is audited. Final
count announced, election certified.
Download