Civitas Michael Clarkson Stephen Chong Andrew Myers

advertisement
Civitas
Michael Clarkson
Stephen Chong
Andrew Myers
Cornell
Harvard
Cornell
IACR Board Meeting / CRYPTO
August 19, 2008
Coin (ca. 63 B.C.) commemorating introduction of secret ballot in 137 B.C.
Civitas
Features:
– Designed for remote voting, coercion resistance, verifiability
– Supports plurality, approval, Condorcet methods
Status:
– Paper in Oakland 2008
– Publicly available: 21,000 LOC (Jif, Java, and C)
– Prototype
…Suitable for IACR?
Clarkson: Civitas
2
Civitas
Security Requirements
Security Model
No trusted supervision of polling places
– Including voters, procedures, hardware, software
– Voting could take place anywhere

Remote voting
Generalization of “Internet voting” and “postal voting”
Interesting problem to solve!
IACR 
Clarkson: Civitas
4
Adversary
Always:
– May perform any polynomial time computation
– May corrupt all but one of each type of election authority
 Distributed trust
Almost always:
– May control network
– May coerce voters, demanding secrets or behavior, remotely or
physically
Security properties:
Confidentiality, integrity, availability
Clarkson: Civitas
5
Integrity
Verifiability:
The final tally is correct and verifiable.
Including:
– Voter verifiability: Voters can check that their own
vote is included
– Universal verifiability: Anyone can check that only
authorized votes are counted, no votes are changed
during tallying [Sako and Killian 1995]
IACR 
Clarkson: Civitas
6
Confidentiality
Voter coercion:
– Employer, spouse, etc.
– Coercer can demand any behavior (vote buying)
– Coercer can observe and interact with voter during
remote voting
 Must prevent coercers from
trusting their own
observations
Clarkson: Civitas
7
Confidentiality
Coercion resistance:
The adversary cannot learn how voters vote, even if
voters collude and interact with the adversary.
> receipt-freeness
> anonymity
too weak for remote voting
Hierarchy: [Delaune, Kremer, and Ryan, CSFW 2006]
IACR ?
Clarkson: Civitas
8
Availability
Tally availability:
The final tally of the election is produced.
• We assume that this holds
• To guarantee, would need to make system
components highly available
IACR ?
Clarkson: Civitas
9
Civitas
Design and Implementation
JCJ Scheme
[Juels, Catalano, and Jakobsson, WPES 2005]
– Formally defined coercion resistance and verifiability
– Constructed voting scheme
– Proved scheme satisfies coercion resistance and
verifiability
[Backes, Hritcu, and Maffei, CSF 2008]
– Verified simplification in ProVerif
Clarkson: Civitas
11
Civitas Architecture
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
Clarkson: Civitas
tabulation teller
bulletin
board
tabulation teller
12
Registration
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
tabulation teller
bulletin
board
tabulation teller
Voter retrieves credential share from each registration teller;
combines to form credential
Clarkson: Civitas
13
Voting
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
tabulation teller
bulletin
board
tabulation teller
Voter submits copy of encrypted choice and credential
(+ ZK proofs) to each ballot box
Clarkson: Civitas
14
Resisting Coercion
Voters invent fake credentials
– To adversary, fake  real
– Votes with fake credentials removed during tabulation
Clarkson: Civitas
15
Resisting Coercion
If the adversary demands that
the voter…
Then the voter…
Submits a particular vote
Does so with a fake credential.
Sells or surrenders a credential
Supplies a fake credential.
Abstains
Supplies a fake credential to the
adversary and votes with a real
one.
Clarkson: Civitas
16
Tabulation
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
tabulation teller
bulletin
board
tabulation teller
Tellers retrieve votes from ballot boxes
Clarkson: Civitas
17
Tabulation
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
tabulation teller
bulletin
board
tabulation teller
Tabulation tellers anonymize votes with mix network;
eliminate unauthorized credentials;
decrypt remaining choices;
post ZK proofs
Clarkson: Civitas
18
Civitas Architecture
registration
registration
teller
registration
teller
teller
tabulation teller
ballot box
ballot box
ballot box
voter
client
Verifiability:
Tellers post zero-knowledge
proofs during tabulation
Clarkson: Civitas
tabulation teller
bulletin
board
tabulation teller
Coercion resistance:
Voters can undetectably fake
credentials
19
Protocols
Leverage the literature:
–
–
–
–
–
–
–
–
El Gamal; distributed [Brandt]; non-malleable [Schnorr and Jakobsson]
Proof of knowledge of discrete log [Schnorr]
Proof of equality of discrete logarithms [Chaum & Pederson]
Authentication and key establishment [Needham-Schroeder-Lowe]
Designated-verifier reencryption proof [Hirt & Sako]
1-out-of-L reencryption proof [Hirt & Sako]
Signature of knowledge of discrete logarithms [Camenisch & Stadler]
Reencryption mix network with randomized partial checking [Jakobsson,
Juels & Rivest]
– Plaintext equivalence test [Jakobsson & Juels]
Clarkson: Civitas
20
Secure Implementation
In Jif [Myers 1999, Chong and Myers 2005, 2008]
– Security-typed language
– Types contain information-flow policies
• Confidentiality, integrity, declassification, erasure
If policies in code express correct requirements…
– (And Jif compiler is correct…)
– Then code is secure w.r.t. requirements
Clarkson: Civitas
21
Civitas
Security Evaluation
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
23
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
Verifiability and
Coercion resistance
Voters trust their voting client.
3.
4. At least one of each type of authority is honest.
Coercion resistance
5.
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
24
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
25
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
26
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
27
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
28
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
29
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
30
Civitas Trust Assumptions
1.
DDH, RSA, random oracle model.
2.
The adversary cannot masquerade as a voter during registration.
3.
Voters trust their voting client.
4. At least one of each type of authority is honest.
5.
VER + CR
CR
The channels from the voter to the ballot boxes are anonymous.
6. Each voter has an untappable channel to a trusted registration
teller.
Clarkson: Civitas
31
Civitas
Cost Evaluation
Real-World Cost
Society makes a tradeoff on:
– Cost of election, vs.
– Security, usability, …
Current total costs are $1-$3 / voter
[International Foundation for Election Systems]
We don’t know the total cost for Civitas.
Cost of cryptography?
Clarkson: Civitas
33
CPU Cost for Tabulation
For reasonable security parameters,
CPU time is 39 sec / voter / authority.
If CPUs are bought, used (for 5 hours), then thrown away:
$1500 / machine ) $12 / voter
If CPUs are rented:
$1 / CPU / hr ) 4¢ / voter
Increased cost…Increased security
IACR ?
Clarkson: Civitas
34
Conclusion
Summary
Civitas provides security:
– Remote voting
– Verifiability
– Coercion resistance (strongest?)
Civitas provides assurance:
– Security proofs
– Explicit trust assumptions
– Information-flow analysis of implementation (first?)
IACR 
Clarkson: Civitas
36
Technical Issues
• Web interfaces
• Testing
• BFT bulletin board
• Threshold cryptography
• Anonymous channel integration
IACR 
Clarkson: Civitas
37
Research Issues
• Distribute trust in voter client
• Eliminate in-person registration
• Credential management
• Application-level DoS
Clarkson: Civitas
38
Web Site
http://www.cs.cornell.edu/projects/civitas
• Technical report with concrete protocols
• Source code of our prototype
Clarkson: Civitas
39
http://www.cs.cornell.edu/projects/civitas
Extra Slides
Clarkson: Civitas
41
Paper
•
•
What paper does:
– Convince voter that his vote was captured correctly
What paper does next:
– Gets dropped in a ballot box
– Immediately becomes insecure
•
• Chain-of-custody, stuffing, loss, recount attacks…
• Hacking paper elections has a long and (in)glorious tradition [Steal this
Vote, Andrew Gumbel, 2005]
• 20% of paper trails are missing or illegible [Michael Shamos, 2008]
What paper doesn’t:
– Guarantee that a vote will be counted
– Guarantee that a vote will be counted correctly
Clarkson: Civitas
42
Cryptography
“The public won’t trust cryptography.”
– It already does…
– Because experts already do
“I don’t trust cryptography.”
– You don’t trust the proofs, or
– You reject the hardness assumptions
Clarkson: Civitas
43
Selling Votes
Requires selling credential…
– Which requires:
• Adversary tapped the untappable channel, or
• Adversary authenticated in place of voter…
– Which then requires:
• Voter transferred ability to authenticate to
adversary; something voter…
– Has: too easy
– Knows: need incentive not to transfer
– Is: hardest to transfer
Clarkson: Civitas
44
Civitas LOC
Component
Approx. LOC
Tabulation teller
5,700
Registration teller
1,300
Bulletin board, ballot box
900
Voter client
800
Other (incl. common code)
Total Jif LOC
Low-level crypto and I/O
(Java and C)
Total LOC
Clarkson: Civitas
4,700
Policy
Distinct
annotations
Confidentiality
20
Integrity
26
13,400
8,000
21,400
45
Civitas Policy Examples
•
Confidentiality:
– Information: Voter’s credential share
– Policy: “RT permits only this voter to learn this information”
– Jif syntax: RT  Voter
•
Confidentiality:
– Information: Teller’s private key
– Policy: “TT permits no one else to learn this information”
– Jif syntax: TT  TT
•
Integrity:
– Information: Random nonces used by tellers
– Policy: “TT permits only itself to influence this information”
– Jif syntax: TT  TT
Clarkson: Civitas
46
Civitas Policy Examples
•
Declassification:
– Information: Bits that are committed to then revealed
– Policy: “TT permits no one to read this information until all
commitments become available, then TT declassifies it to allow
everyone to read.”
– Jif syntax: TT  [TT commAvail  ]
•
Erasure:
– Information: Voter’s credential shares
– Policy: “Voter requires, after all shares are received and full
credential is constructed, that shares must be erased.”
– Jif syntax: Voter  [Voter credConst T ]
Clarkson: Civitas
47
Registration Trust Assumptions
One way to discharge is with in-person registration
– Not an absolute requirement
• Though for strong authentication, physical presence (“something you are”) is reasonable
– Need not register in-person with all tellers
Works like real-world voting today:
– Registration teller trusted to correctly authenticate voter
– Issue of credential must happen in trusted “registration booth”
– But doesn’t need to happen on special day
Con:
Pro:

System not fully remote
Credential can be used remotely for many elections
Reusing real-world mechanism, can bootstrap into a system offering stronger
security
Clarkson: Civitas
48
Voting Client Trust Assumption
Civitas voting client is not a DRE:
– Voters are not required to trust a single (closedsource) implementation
– Civitas allows open-source (re)implementations of the
client
– Voters can obtain or travel to implementation
provided by organization they trust
Discharge? Distribute trust in client.
[Benaloh, Chaum, Joaquim and Ribeiro, Kutyłowski et al., Zúquete et al., …]
Clarkson: Civitas
49
Blocks
Block is a “virtual precinct”
– Each voter assigned to one block
– Each block tallied independently of other blocks, even in
parallel
Tabulation time is:
– Quadratic in block size
– Linear in number of voters
• If using one set of machines for many blocks
– Or, constant in number of voters
• If using one set of machines per block
Clarkson: Civitas
50
Tabulation Time vs. Anonymity
# voters = K, # tab. tellers = 4,
security strength ≥ 112 bits [NIST 2011–2030]
Clarkson: Civitas
51
Tabulation Time vs. # Voters
sequential
parallel
K = 100
Clarkson: Civitas
52
Ranked Voting Methods
Voters submit ranking of candidates
– e.g., Condorcet, Borda, STV
– Help avoid spoiler effects
– Defend against strategic voting
– “Italian attack”
Civitas implements coercion-resistant Condorcet,
approval and plurality voting methods
– Could do any summable method
Clarkson: Civitas
53
Download