new techniques for electronic voting - asz.ink · august 11, 2015 alan szepieniec and bart preneel...

40
New Techniques for Electronic Voting August 11, 2015 Alan Szepieniec and Bart Preneel [email protected] KU Leuven, ESAT/COSIC and iMinds, Belgium

Upload: others

Post on 06-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

1/28

NewTechniques forElectronic Voting

August 11, 2015

Alan Szepieniec and Bart [email protected]

KU Leuven, ESAT/COSIC andiMinds, Belgium

Page 2: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

2/28

Outline

0. UC Voting with Universal Verifiability

1. Tally-Hiding Vote

2. Self-Tallying Vote

3. Authenticated Voting Credentials

UV UC

THV

STV

AVC

Page 3: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

3/28

0. Universally Composable Voting

Page 4: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

4/28

Voting System

Definition

Let O be a set of options and PO be the set of permutations ofthis set. Let f : (PO)n → {0, 1}∗ be a tallying function.A voting system is an interactive protocol betweenvoters V1, . . . Vn, who each hold a vote vi ∈ PO∀i ∈ {1, . . . , n},and authorities A1, . . . , Ak, if it computes the tallyt = f(v1, . . . , vn).

Page 5: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy

{∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 6: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 7: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 8: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=

universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 9: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒

recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 10: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 11: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

5/28

Properties of Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 12: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

6/28

Universal Composability

• standard framework for provable security of protocols

• composability ⇒ allows modular protocol design

• ideal functionality F : abstract description

• protocol P: concrete instantiation of F• an experiment is conducted in one of two worlds:

• real world: an adversary A attacks P• ideal world: a simulator S attacks F

• the environment machine E :• chooses players’ inputs beforehand;• reads players’ outputs afterwards;• decides in which world the experiment took place

Page 13: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

7/28

Universal Composability

E

P1 · · · Pn P1 · · · Pn

PA

P1 · · · Pn

FS

E

P1 · · · Pn

2.1. 3.

Definition

Protocol P is a UC-secure realization of ideal functionality F if forall adversaries A attacking P, there exists an adversary-simulatorS attacking F such that no environment E can tell the difference.

Page 14: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

8/28

Ideal Functionality: Voting System

V1 . . . Vn

FVS (Voting System)

t = f(v1, . . . , vn)

v1 vn

V1 . . . Vn A1 . . . Ak V

t t t t t

S

• S can block votes

• F computes t when the authorities say so

• V receives t also

Page 15: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

9/28

UC Voting System

PVS (Voting System)

FBB

Bulletin Board:anonymous,public accessappend-only listof messages

FPKG

Participant KeyGen: generates anddistributes keypairsfor each participant

FSKG

System Key Gen:generates and dis-tributes a systemkeypair

V1 . . . Vn V A1 . . . AkS

1

sk pk

pkpk

sk

sk

2

ballots

3

tallyingsubprotocol

t

Page 16: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

9/28

UC Voting System

PVS (Voting System)

FBB

Bulletin Board:anonymous,public accessappend-only listof messages

FPKG

Participant KeyGen: generates anddistributes keypairsfor each participant

FSKG

System Key Gen:generates and dis-tributes a systemkeypair

V1 . . . Vn V A1 . . . AkS

1

sk pk

pkpk

sk

sk

2

ballots

3

tallyingsubprotocol

t

Page 17: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

9/28

UC Voting System

PVS (Voting System)

FBB

Bulletin Board:anonymous,public accessappend-only listof messages

FPKG

Participant KeyGen: generates anddistributes keypairsfor each participant

FSKG

System Key Gen:generates and dis-tributes a systemkeypair

V1 . . . Vn V A1 . . . AkS

1

sk pk

pkpk

sk

sk

2

ballots

3

tallyingsubprotocol

t

Page 18: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

9/28

UC Voting System

PVS (Voting System)

FBB

Bulletin Board:anonymous,public accessappend-only listof messages

FPKG

Participant KeyGen: generates anddistributes keypairsfor each participant

FSKG

System Key Gen:generates and dis-tributes a systemkeypair

V1 . . . Vn V A1 . . . AkS

1

sk pk

pkpk

sk

sk

2

ballots

3

tallyingsubprotocol

t

Page 19: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

10/28

Properties of UC-Secure Voting Systems

correctness

privacy {∼ perfect ballot secrecy

vote confidentiality

= ⇒ fairness

participation secrecy

eligibility secrecy

{⇔

completeness

soundness

eligibility

unreusability

finality

counted-as-recorded

recorded-as-cast

cast-as-intended

=universal verifiability⇒recorded-as-cast verifiability

cast-as-intended verifiability{⇔E2EV

uncoercibility

receipt-freeness

Page 20: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

11/28

Universal Verifiability

P A V

b = 1

P A V

b = 0

P A VT

P A Vb

1.

2.

3.

Definition

Protocol P is universally verifiable if there exists a verifier V whoretains, for all adversaries A attacking P, significant distinguishingpower:

|Pr[b = b]− Pr[b 6= b]| ≥ 1

2.

Page 21: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

12/28

1. Tally-Hiding Vote

Page 22: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

13/28

Tally-Hiding Vote: Idea

• vote counts leak unnecessary information

• vote counts remain hidden

• tally identifies the winning option

• better name: vote count hiding

• preferential votes don’t need vote counts

Page 23: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

14/28

Millionaire Problem

Millionaire 1:m1 = 10 000 000 $

Millionaire 2:m2 = 20 000 000 $

“m1 < m2”

FMP

Page 24: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

15/28

UC-Secure Tally-Hiding Vote

two options: A and B

1. voters cast ballots: ∀i : ViE(vi,A),E(vi,B)

−−−−−−−−−−−−−−−→ FBB

2. homomorphic aggregation: E(cA) = E(∑

i vi,A) and E(cB)

3. millionaire problem: t = FMP(E(cA),E(cB))

Page 25: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

16/28

Paillier Cryptosystem

KeyGen(1κ):

p, q$←− random primes

n← pq (public key)d = 1 mod n andd = 0 mod ϕ(n) (private key)

Encrypt(m):

r$←− Zn2

E(m) = (1 + n)mrn mod n2

Decrypt(c):`← cd mod n2

m← `−1n

Homomorphic Add(c1, c2):c← c1c2 mod n2

Page 26: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

17/28

Millionaire Problem Protocol for Paillier

Damgard-Jurik cryptosystem:

E2(m) = (1 + n)mrn mod n3 m ∈ Zn2

Black-box lifting procedure Lift maps a Paillier ciphertext(m ∈ Zn) to a Damgard-Jurik ciphertext (m ∈ Zn2).

Lift : Zn2 → Zn3

Millionaire Problem (c1, c2):

B ← Lift(c1) Lift(c2)

A← Lift(c1 c2)

D(B A) = 0⇒ no overflow ⇒ c1 ≥ c2

D(B A) 6= 0⇒ overflow! ⇒ c1 < c2

Page 27: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

18/28

Ciphertext Lifting

secret key is distributed among authorities A1, . . . , Ak s.t.

(1 + n)4∆2m = 1 + 4∆2mn =∏i

c4∆2si

∏j 6=i

−ji−j

mod n2 .

Lift(c) :

• 1 + 4∆2mn =∏ici mod n2

• ci(4∆2)−1 mod n = ai + nbi mod n2 with ai < n

• m =

[∏iai

]2

+∑ibi∏j 6=i

aj mod n∗

• E2(m) =

E2

([∏iai

]2

)⊕ E2

(b1∏j 6=1

ai

)⊕ E2

(b2∏j 6=2

ai

)⊕ · · ·

Page 28: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

19/28

2. Self-Tallying Vote

Page 29: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

20/28

Self-Tallying Vote: Idea

setup procedure ballot castingtallying

proceduret

• cut out the expensive tallying procedure

• tally is known as soon as last vote is cast (but not before)

Page 30: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

21/28

Control Voter

time

Voter Vn−2

casts voteVoter Vn−1

casts voteVoter Vncasts vote

Tally isnot known

Tally isnot known

Tally isnot known

Tally isknown

• Vn knows the tally before casting his vote

• violates fairness

• cannot be UC-secure

• solution: Vn cannot be corrupted

Page 31: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

22/28

Self-Tallying Vote with Paillier

• FSKG distributes xi among voters s.t.∑ixi = 0

• common randomizer r ∈ Zn2 (from timestamp or hash)

• voters encrypt votes as ci = (1 + n)virxin mod n2

• homomorphic aggregation:

1 + nt = c1 ⊕ c2 ⊕ · · · ⊕ cn=∏ici mod n2

=∏i

(1 + n)virnxi mod n2

=

(∏i

(1 + n)vi)

(rn)∑

i xi mod n2

=∏i

(1 + n)vi mod n2

= 1 + n∑ivi mod n2

Page 32: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

23/28

3. Authenticated VotingCredentials

Page 33: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

24/28

Voting Credentials: Idea

initialization:

{A1, . . . , Ak} Vi

voting:

V�FBB, vi

tallying:

t =∑ivi

• anonymous access to FBB

• fairness ⇒ A cannot read FBB during voting

• invalid credential ⇒ vi not counted

• duplicate credential ⇒ vi not counted

Page 34: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

25/28

Authenticated Voting Credentials

adversarial model:

V� A FBB, vi , vA

authenticated voting credential:

V� A FBB, vi , vAvi vi

• A’s vote does not match credential ⇒ invalid ballot

• the credential is authenticated by the vote

• the credential cannot be re-purposed

Page 35: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

26/28

Ferguson Credential Withdrawal

Public knowledge: n, v, g, h.Private knowledge for B: 1/v = v−1 mod ϕ(n).

A Ba1, γ, σ

$←− Z∗nb← γva1g

σ mod na2 ← H(b)a← a1a2 mod nc← f(ha)− σ

b, c−−−−−−−−−→

a2 ← H(b)

A← (ba2gc)1/v mod n

A←−−−−−−−−

S ← Aγ−1 mod n

• credential: (S, a) such that Sv = agf(ha) mod n

• B learns no information on S or a

Page 36: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

27/28

Guillou-Quisquater Proof

Public knowledge: n, v,A.Private knowledge for P: S s.t. Sv = A mod n.

P Vd

$←− Z∗nD ← dv mod n

D−−−−−−−−−→

e$←− {0, 1}|n|

e←−−−−−−−−

f ← dSe mod n

f−−−−−−−−→

fv?= AeD mod n

• S is kept secret• spent credential: (a,D, e, f)• where e = H(A ‖ D ‖ vi)

Page 37: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

28/28

Conclusion

• voting formalism• universal composability + voting• formalism of universal verifiability• Tally-Hiding Vote

• Millionaire Problem• Ciphertext Lifting

• Self-Tallying Vote• Authenticated Voting Credentials

UV UC

THV

MP

CL ?STV

AVC

sort of ...

} future work:cover allproperties

Page 38: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

28/28

Conclusion

• voting formalism• universal composability + voting• formalism of universal verifiability• Tally-Hiding Vote

• Millionaire Problem• Ciphertext Lifting

• Self-Tallying Vote• Authenticated Voting Credentials

UV UC

THV

MP

CL ?STV

AVC

sort of ...

} future work:cover allproperties

Page 39: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

28/28

Conclusion

• voting formalism• universal composability + voting• formalism of universal verifiability• Tally-Hiding Vote

• Millionaire Problem• Ciphertext Lifting

• Self-Tallying Vote• Authenticated Voting Credentials

UV UC

THV

MP

CL ?STV

AVC

sort of ...

} future work:cover allproperties

Page 40: New Techniques for Electronic Voting - asz.ink · August 11, 2015 Alan Szepieniec and Bart Preneel firstname.lastname@esat.kuleuven.be KU Leuven, ESAT/COSIC and iMinds, Belgium. 2/28

28/28

Conclusion

• voting formalism• universal composability + voting• formalism of universal verifiability• Tally-Hiding Vote

• Millionaire Problem• Ciphertext Lifting

• Self-Tallying Vote• Authenticated Voting Credentials

UV UC

THV

MP

CL ?STV

AVC

sort of ...

} future work:cover allproperties