research & development a practical and coercion-resistant scheme for internet voting jacques...

21
research & development A Practical and Coercion- resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle) France Télécom Orange Labs R&D Third Franco-Japanese Computer Security Workshop – 13 March 2008 LORIA, Nancy

Upload: julianna-walsh

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

research & development

A Practical and Coercion-resistant scheme for Internet Voting

Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

France TélécomOrange Labs R&D

Third Franco-Japanese Computer Security Workshop – 13 March 2008

LORIA, Nancy

Page 2: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development2

Electronic Voting Methods

• Remote Electronic Voting (on-line voting)

• Supervised voting (off-line voting)

How to guarantee the "What You see is What You Vote For?

Page 3: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development3

Eligibility: only legitimate voters can vote, and only once

Universal verifiability: All voters can verify that the final tally is correct The votes they cast are included Only authorized votes are counted No votes are changed during tallying

Privacy: no adversary can learn any more about votes than is revealed by the

final tally Anonymity: hide map from voter to vote

Receipt-freeness: prohibit proof of vote

Coercion-freeness: adaptative

Some desired properties of e-voting systems

Voters cannot prove whether or how they voted, even if they can interact with the adversary while voting.

Stronger

Page 4: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development4

Previous work [Juels-Catalano-Jakobsson 2005]

Basic ingredients: Voter employs anonymous credential obtained during the registration phase We don’t know who voted (at time of voting) or what was voted Valid credentials are required for vote to count Voter can make "fake credentials" and vote multiple times A coercer cannot tell whether a credential is correct or not

• Attacker cannot tell whether a vote is valid or not

Basic idea: To mislead a coercer, the voter sends invalid ballot(s) as long as he is coerced,

and a valid ballot as soon as he is not coerced It suffices that the voter finds a window-time during which he is not coerced

Drawbacks N the number of voters, V the number of votes (V N≧ ) Quadratic overhead: tallying is in O(V2) Denial of service attack…

Page 5: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development5

Building Blocks ElGamal Cryptosystem Designated verifier signature scheme: derived from "Boneh-Boyen-Sacham” or "Camenisch-Lysanskaya" signature schemes (Crypto’04)

El Gamal cryptosystem: G a group of prime order p, g a generator of G the secret key is x, the public key is h = gx, Encryption of m is c = (gr, hrm), Decryption of c is (gr)-x (hrm)

Basic Tools

Page 6: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development6

El Gamal cryptosystem Decryption (private key) can easily be distributed

No need to trust a single entity

Encryption is homomorphic Multiplicative, or additive with a variant: Eh(m)* Eh(m') = Eh(m*m')

• Eh(m)* Eh(m') = Eh(m*m')• Eh(m)k = Eh(mk)

Computing on encrypted data is easy

Comparing the plaintexts of two ciphertexts (without decrypting them) is easy: Plaintext Equivalence Test (PET): PET(Eh(m1), Eh(m2) = 1 if m1 = m2 and 0 otherwise

Re-encryption is easy : mix-nets can be efficiently implemented For simulating an "anonymous channel" For simulating "ballot shuffle" C = (gr, hr.m) can be transformed on a new ciphertext C' of m without knowing m and/or the secret key : C' = (gr+r', hr+r'.m)

Page 7: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development7

Setup: Generators g0, g, h of a cyclic group G of order p where DDH is hard Public key of the signer: PK = g0

y, Secret key of the signer: SK = y

Signature of a message x: Choose a random value r Compute A = (g hx)1/(y+r)

Signature of x = (A, r)

Designated Verification: Prove that LogA(A-rghx) = Logg0(PK ) using a Designated Verifier

Proof (Jakobsson-Sako – Impagliazzo)

Only the (designated) verifier can be convinced by this proof

Designated verifier signature scheme

Ay = A-rghx (1)Ay+rg-1h-x = 1 (2)

Deciding whether a pair (A, r) is a valid signature on a message x is equivalent to the DDH problem

Based on "Boneh-Boyen-Sacham's group signature scheme (Crypto 2004)

Page 8: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development8

Cast of Characters

Receive their credential during the registration phase

Issue credentials in a distributed manner during the registration phase. They share a secret key of our DVS. R is the corresponding public key

Manage the tallying process. They share an El Gamal secret key. T is the corresponding public key

Voters

Talliers

Registration Authorities

Coercer

Try to verify whether the coerced voter as voted as prescribed

Page 9: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development9

Security model Registration:

Attacker cannot interfere with registration process

Before voting: Attacker can provide keying or other material to voter (even entire ballot)

During vote: Votes may be posted anonymously (for strongest security) or semi-anonymously (for weaker guarantees) Bulletin board is universally accessible

At all times: Attacker has access to all public information, i.e., encrypted and decrypted ballots May corrupt all but one of each type of election authority May coerce voters, demanding any secrets or behavior, remotely or physically May control network

Assumption. Voters trust their voting client.

Page 10: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development10

Setup: Generators g0,g,h,m of a cyclic group G of order p (DDH problem

is hard) Registration authority: PK=g0

y,SK= y Talliers: share y and an ElGamal secret key

Registration Credential: (A, r, x)

• x and r are randomly chosen by R• A is computed as follows by R: A = (g hx)1/(y+r)

A credential is valid iff the voter knows two values x and r such that: Aγ+r=g hx (which is equivalent to Ay+rg-1h-x = 1)

Fake credential: (A , r , x’)

Set-up

Page 11: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development11

Registration

Registration Authorities

(A, r, x)

The registration authorities generate in a distributed manner a DVS signature (A, r) of a random value x and prove using a DVP to Mr Smith that the signature is valid

Mr Smith's credential is (A, r, x). He can send a fake credential (A, r, x') to the

coercer

Coercer

Mr Smith

Mr Smith

(A, r, x')

Is it a valid credential?

Page 12: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development12

A passive coercer can't check if a credential is valid or not under the DDH assumption

A coercer can't forge valid credentials under the q-SDH assumption q-SDH: given g, gx, …, g(xq ), find a pair (c, s) such that sx+c = g

An active coercer can't check if a credential is valid or not (under the SDDHI assumption)

Basic Facts about these credentials

Page 13: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development13

Ballot (ET [vote], ET [A], ET [Ar], ET [hx], F=mx, P)

P is a NIZKP of validity, that is :• ET (vote) is an encryption of a valid vote• Voter knows the plaintext related to ET (A)• Voter knows the "discrete logarithm" of ET [Ar] in the base ET [A]• Voter knows the plaintext related to ET [hx] as well as the discrete

logarithm x of this plaintext in the base h.• Voter knows the discrete logarithm of F in the base m and that

this discrete logarithm is equal to x

Anatomy of a ballot

Credential : A tuple (A, r, x) such that Ay+rg-1h-x = 1

Page 14: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development14

Voting

Anatomy of a ballot: (ET (vote), ET (A), ET (Ar) ET (hx), mx, Proof)

Bulletin Board 1

Vote under coercion

Mr Smith

Revote

ET (Gore), ET (A), ET (Ar) ET (hx), mx, Proof2

ET (Bush), ET (A), ET (Ar) ET (hx'), mx', Proof1

Bulletin Board 1

Page 15: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development15

Tallying phase

Bulletin Board 1

ET (Bush), ET (A), ET (Ar) ET (hx'), mx', Proof1

ET (Bush), ET (B), ET (Bs) ET (hy), my, Proof2

ET (Bush), ET (C), ET (Ct) ET (hz), mz, Proof3

ET (Gore), ET (B), ET (Bs) ET (hy), my, Proof4

ET (Bush), ET (D), ET (Du) ET (hv), mw, Proof5

ET (Gore), ET (A), ET (Ar) ET (hx), mx, Proof6

Step 1: Discard ballots with invalid proofs

Tallier 1 Tallier 2

Page 16: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development16

Tallying phase

Bulletin Board 2

ET (Bush), ET (A), ET (Ar) ET (hx'), mx'

ET (Bush), ET (B), ET (Bs) ET (hy), my

ET (Bush), ET (C), ET (Ct) ET (hz), mz

ET (Gore), ET (B), ET (Bs) ET (hy), my

ET (Gore), ET (A), ET (Ar) ET (hx), mx

Step 2: Elimination of duplicates: the ballots that have the same fourth component

Tallier 1 Tallier 2

Keep the last one for example

Page 17: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development17

Tallying phase

Step 3: Mixing the ballots

Tallier 1 Tallier 2

Bulletin Board 3

ET (Bush), ET (A), ET (Ar) ET (hx')

ET (Bush), ET (C), ET (Ct) ET (hz)

ET (Gore), ET (B), ET (Bs) ET (hy)

ET (Gore), ET (A), ET (Ar) ET (hx)

Mix Net

Bulletin Board 4

E'T (Gore), E'T (A), E'T (Ar), E'T (hx)

E'T (Gore), E'T (B), E'T (Bs), E'T (hy)

E'T (Bush), E'T (C), E'T (Ct), E'T (hz)

E'T (Bush), E'T (A), E'T (Ar), E'T (hx')

Reencrypt and permute each row

Page 18: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development18

Tallying phase

Step 4: Checking credentials

…E‘(©)

……

Authority 1 Authority 2

1. The authorities compute C=E'T [Ay+rg-1h-x ] from E'T [A], E'T [Ar], E'T [hx] and SK = y

2. Test whether C is an encryption of 1

1. Power C to a fresh random number 'f' and jointly decrypt Cf.

2. D[Cf] =1 ? Yes = valid / No = invalid and discard ballots

Bulletin Board 4

E'T (Gore), E'T (A), E'T (Ar), E'T (hx)

E'T (Gore), E'T (B), E'T (Bs), E'T (hy)

E'T (Bush), E'T (C), E'T (Ct), E'T (hz)

E'T (Bush), E'T (A), E'T (Ar), E'T (hx')

Page 19: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development19

Tallying phase

Step 5: Decrypt valid votes

…E‘(©)

……

Results

Gore

Gore

Bush

Distributed

Decryption

Bulletin Board 4

E'T (Gore)

E'T (Gore)

E'T (Bush)

Tallier 1 Tallier 2

Page 20: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development20

Security Voter cannot sell or prove vote

Attacker cannot tell a false credential from a real one

No randomization or forced abstention Randomization: Voter can use fake credential to post false ballot…

and later vote for real Forced abstention: Voter can vote using an anonymous channel

Resistance to shoulder-surfing Voter can vote multiple times Weeding policy provides for re-vote E.g., last vote might count (needs extra phase)

Our scheme satisfies the coercion-freeness property under the q-SDH and SDDHI assumptions

Page 21: Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)

Orange Labs - Research & Development21

Conclusion

The JCJ scheme is promising, but not efficient

We design a practical (with linear work factor), publicly verifiable and coercion- resistant voting scheme for remote elections

Not just practical, but essential for Internet voting!

Open problem: how to remove the assumption related to the voter's computer?