Coercion-Resistant Internet Voting with Everlasting Privacy Rolf - - PowerPoint PPT Presentation

coercion resistant internet voting with everlasting
SMART_READER_LITE
LIVE PREVIEW

Coercion-Resistant Internet Voting with Everlasting Privacy Rolf - - PowerPoint PPT Presentation

Coercion-Resistant Internet Voting with Everlasting Privacy Rolf Haenni (Philipp Locher, Reto E. Koenig) FC16, Bridgetown, Barbados, February 26, 2016 Bern University of Applied Sciences | Berner Fachhochschule | Haute ecole sp


slide-1
SLIDE 1

Coercion-Resistant Internet Voting with Everlasting Privacy Rolf Haenni (Philipp Locher, Reto E. Koenig)

FC’16, Bridgetown, Barbados, February 26, 2016

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 1

slide-2
SLIDE 2

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 2

slide-3
SLIDE 3

Coercion-Resistance

Strategy 1: Fake Credentials

First proposed by Juels, Catalano, Jakobsson (WPES’05) Under coercion, use (indistinguishable) fake credential Submit real vote at any time during the voting period

Strategy 2: Deniable Vote Updating

First proposed by Achenbach et al. (JETS, 2:26–45, 2015) Under coercion, follow the coercer’s instructions Update vote shortly before the end of the voting period

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 3

slide-4
SLIDE 4

Everlasting Privacy

Strategy 1: Everlasting Privacy Towards the Public

First proposed by Demirel et al. (EVT/WOTE’12) Publish perfectly hiding commitments to allow public verifiability Send decommitment values privately to trusted authorities

Strategy 2: Efficient Set Membership Proof

First proposed by Locher and Haenni (VoteID’15) Submit vote over anonymous channel Prove eligibility using perfectly hiding commitment and zero-knowledge proofs

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 4

slide-5
SLIDE 5

Adversaries

Present adversary . . .

tries to manipulate the election outcome, e.g. by coercing voters acts before, during, or shortly after an election is polynomially bounded

Future adversary . . .

tries to break vote privacy acts at any point in the future has unlimited computational power

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 5

slide-6
SLIDE 6

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 6

slide-7
SLIDE 7

Involved Parties

Election administration Voters Public bulletin board Trusted authorities (threshold decryption, mixing) Verifiers (the public)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 7

slide-8
SLIDE 8

Step 1: Registration

The voter . . . creates a pair of private and public credentials sends the public credential to the election administration (over an authentic channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 8

slide-9
SLIDE 9

Step 2: Election Preparation

The election administration . . . sends the list of public voter credentials to bulletin board

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 9

slide-10
SLIDE 10

Step 3: Vote Casting

The voter . . . creates ballot consisting of

commitment to public credential commitment to private credential encrypted ’election credential’ (used to detect duplicates) encrypted vote Non-interactive zero-knowledge proofs that commitments and encryptions have been formed properly

sends ballot to bulletin board (over an anonymous channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 10

slide-11
SLIDE 11

Step 4: Tallying

The trusted authorities . . . retrieve ballots from bulletin board drop ballots with invalid proofs detect and eliminate updated votes threshold decrypt remaining encrypted votes drop ballots with invalid votes compute election result in a verifiable manner

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 11

slide-12
SLIDE 12

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 12

slide-13
SLIDE 13

Cryptographic Setup

Group Gp of prime order p Sub-group Gq ⊂ Z∗

p of prime order q | (p − 1)

Independent generators g0, g1 ∈ Gp and h0, h1, h2 ∈ Gq Assume that DL is hard in Gp and DDH is hard in Gq

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 13

slide-14
SLIDE 14

Set Membership Proof

Goal: prove that a committed value belongs to a given set NIZKP[(u, r) : C = com(u, r) ∧ u ∈ U] Secret inputs

u, r ∈ Zp

Public inputs

Commitment C = com(u, r) ∈ Gp Set U = {u1, . . . , uN} of values ui ∈ Zp

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 14

slide-15
SLIDE 15

Polynomial Evaluation Proof

Let P(X) = N

i=1(X − ui) satisfying P(ui) = 0 for all ui ∈ U

NIZKP[(u, r) : C = com(u, r) ∧ u ∈ U] ⇐ ⇒ NIZKP[(u, r) : C = com(u, r) ∧ P(u) = 0] Efficient protocol by Bayer and Groth (2013)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 15

slide-16
SLIDE 16

DL-Representation Proof

Goal: prove that a commitment contains a DL-representation

  • f another committed value

NIZKP[(u, r,v1, . . . , vn, s) :

 C = com(u, r) D = com(v1, . . . , vn, s) u = hv1

1 · · · hvn n

 ] Secret inputs

u, r ∈ Zp v1, . . . , vn, s ∈ Zq

Public inputs

Values h1, . . . , hn ∈ Gq Commitment C = com(u, r) ∈ Gp Commitment D = com(v1, . . . , vn, s) ∈ Gq

For n = 2, efficient protocol by Au, Susilo, Mu (2010)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 16

slide-17
SLIDE 17

Verifiable Shuffle

General verifiable shuffle: (E′, π) = shuffleφ

f (E, k1, . . . , kn)

Input list E = (E1, . . . , En) Random permutation φ Keyed one-way function f Keys k1, . . . , kn Output list E′ = (E ′

1, . . . , E ′ n), where E ′ φ(i) = f (Ei, ki)

Proof of shuffle π

In our protocol, we use two shuffle instances

Exponentiation: f (E, k) = E k Re-encryption: f (E, k) = reEncpk(E, k)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 17

slide-18
SLIDE 18

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 18

slide-19
SLIDE 19

Step 1: Registration

The voter . . . creates a pair of private and public credentials sends the public credential to the election administration (over an authentic channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 19

slide-20
SLIDE 20

Step 1: Registration

The voter . . . creates a pair of private and public credentials α, β ∈R Zq u = hα

1 hβ 2 ∈ Gq

sends the public credential u to the election administration (over an authentic channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 20

slide-21
SLIDE 21

Step 2: Election Preparation

The election administration . . . sends the list of public voter credentials to bulletin board

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 21

slide-22
SLIDE 22

Step 2: Election Preparation

The election administration . . . defines the list of public voter credentials U = {(V1, u1), . . . , (VN, uN)} computes coefficients A = (a0, . . . , aN) of polynomial P(X) =

N

  • i=1

(X − ui) =

N

  • i=0

aiX i selects fresh independent election generator ˆ h ∈ Gq publishes (U, A, ˆ h) on bulletin board

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 22

slide-23
SLIDE 23

Step 3: Vote Casting

The voter . . . creates ballot consisting of

commitment to public credential commitment to private credential encrypted ’election credential’ (used to detect duplicates) encrypted vote Non-interactive zero-knowledge proofs that commitments and encryptions have been formed properly

sends ballot to bulletin board (over an anonymous channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 23

slide-24
SLIDE 24

Step 3: Vote Casting

The voter . . . creates ballot B = (C, D, E, F, π1, π2, π3) consisting of

commitment to public credential C = com(u, r) commitment to private credential D = com(α, β, s) encryption of ’election credential’ E = encpk(ˆ hβ, ρ) encrypted vote F = encpk(v, σ) Non-interactive zero-knowledge proofs π1, π2, π3 (see next slide)

sends ballot B to bulletin board (over an anonymous channel)

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 24

slide-25
SLIDE 25

Step 3: Vote Casting

Polynomial evaluation proof: π1 = NIZKP[(u, r) : C = com(u, r) ∧ P(u) = 0] DL-Representation proof: π2 = NIZKP[(u, r, α, β, s) :   C = com(u, r) D = com(α, β, s) u = hα

1 hβ 2

 ] Standard pre-image proof: π3 = NIZKP[(α, β, s, ρ, v, σ) :   D = com(α, β, s) E = encpk(ˆ hβ, ρ) F = encpk(v, σ)  ]

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 25

slide-26
SLIDE 26

Step 4: Tallying

The trusted authorities . . . retrieve ballots from bulletin board drop ballots with invalid proofs detect and eliminate updated votes threshold decrypt remaining encrypted votes drop ballots with invalid votes compute election result in a verifiable manner

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 26

slide-27
SLIDE 27

Step 4: Tallying

The trusted authorities . . . retrieve ballots B from bulletin board drop ballots with invalid proofs π1, π2, or π3 (retain order) (B1, . . . , Bn) ⊆ B ⇒ E = ((E1, F1), . . . , (En, Fn)) detect and eliminate updated votes (see next slide) threshold decrypt remaining encrypted votes drop ballots with invalid votes compute election result in a verifiable manner

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 27

slide-28
SLIDE 28

Detecting Updated Votes

Step 1: Preparation Compute          E1 E2 E3 E4 . . . En          =          E1 E2/E1 E3/E1 E4/E1 · · · En/E1 E1 E2 E3/E2 E4/E2 · · · En/E2 E1 E2 E3 E4/E3 · · · En/E3 E1 E2 E3 E4 · · · En/E4 . . . E1 E2 E3 E4 · · · En          Note that Ei may contain one or multiple encryptions of 1 If this is the case, then ballot Bi has been updated and must be dropped

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 28

slide-29
SLIDE 29

Detecting Updated Votes

Step 2: Row-Wise Exponentiation Shuffle Compute (E′

1, π1) = shuffleφ1 exp(E1)

. . . . . . (E′

n, πn) = shuffleφn exp(En)

Note that E′

i may still contain one or multiple encryptions of 1

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 29

slide-30
SLIDE 30

Detecting Updated Votes

Step 3: Re-Encryption Shuffle Let F = ((F1, E′

1), . . . , (Fn, E′ n))

Compute (F′, π) = shuffleφ

reEncpk(F)

Note that E′′

i in (F ′ i , E′′ i ) ∈ F′ may still contain one or multiple

encryptions of 1

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 30

slide-31
SLIDE 31

Detecting Updated Votes

Step 4: Decryption Decrypt each E′′

i until encryption of 1 is found

If this is the case for E ′′

ij ∈ E′′ i , . . .

compute πij = NIZKP[(sk) : decsk(E ′′

ij ) = 1 ∧ pk = hsk]

drop F ′

i

If this is not the case for E′′

i , . . .

decrypt F ′

i

prove correctness of decryptions

Send everything to bulletin board

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 31

slide-32
SLIDE 32

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 32

slide-33
SLIDE 33

Security Properties

Correctness

Find representation (α′, β′) for some u ∈ U is equivalent to DL Simulate π1, π2, π3 without (α′, β′) is equivalent to DL

Privacy

C and D are perfectly hiding π1, π2, π3 are zero-knowledge The future adversary can compute β from E = encpk(ˆ hβ, ρ), but (α′, β) satisfying u′ = hα′

1 hβ 2 can be found for every u′ ∈ U

Coercion-resistance

The coercer gets no conclusive receipt that a ballot has not been updated by the voter Checking if Ei contains an encryption of 1 is equivalent to DL Linking E′

i to Ei is equivalent to DL

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 33

slide-34
SLIDE 34

Performance

Parameters: N eligible voter, n submitted ballots Vote casting

O(log N) exponentiations O(N log N) multiplications

Tallying

O(n2) exponentiations

Verification

O(n2 + n log N) exponentiations

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 34

slide-35
SLIDE 35

Outline

Introduction Protocol Overview Cryptographic Preliminaries Detailed Protocol Description Properties and Performance Conclusion

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 35

slide-36
SLIDE 36

Summary

First protocol that offers everlasting privacy and coercion-resistance simultaneously Cryptographic tool

Set membership proof (polynomial evaluation proof) DL-representation proof Exponentiation shuffle Re-encryption shuffle

Limitations

Anonymous channel required for vote casting Quadratic tallying and verification

Application areas: organizations such FIFA, IOC, ICRC, . . .

Bern University of Applied Sciences | Berner Fachhochschule | Haute ´ ecole sp´ ecialis´ ee bernoise 36