58
Automatic Verification of Remote Electronic Voting Protocols The 21st IEEE Computer Security Foundations Symposium, Pittsburgh, June 2008 Michael Backes, Cătălin Hrițcu, Matteo Maffei Saarland University, Saarbrücken, Germany

Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Automatic Verification of Remote Electronic

Voting Protocols

The 21st IEEE Computer Security Foundations Symposium, Pittsburgh, June 2008

Michael Backes, Cătălin Hrițcu, Matteo MaffeiSaarland University, Saarbrücken, Germany

Page 2: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

1957 ... 1990 1994 1998 2002 2005

18.7%18.0%

16.0%

13.4%

9.4%

4.9%

Did you know that ...• ... in Germany, in the latest parliamentary elections 18.7% of the votes were cast by post?

Page 3: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

1957 ... 1990 1994 1998 2002 2005

18.7%18.0%

16.0%

13.4%

9.4%

4.9%

Did you know that ...• ... in Germany, in the latest parliamentary elections 18.7% of the votes were cast by post?

• this is a form of remote voting

Page 4: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting
Page 5: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Remote voting (by post)

• More convenient than supervised voting

• This should increase voter participation

Page 6: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Remote voting (by post)

• More convenient than supervised voting

• This should increase voter participation

• Voting by post raises many security concerns

‣ An autograph signature does not authenticate the voter

‣ An envelope does not guarantee secrecy or integrity

‣ The post is not always a secure channel

‣ Extremely easy to sell your vote

‣ You can coerce voters to vote as you like

Page 7: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Remote voting (by post)

• More convenient than supervised voting

• This should increase voter participation

• Voting by post raises many security concerns

‣ An autograph signature does not authenticate the voter

‣ An envelope does not guarantee secrecy or integrity

‣ The post is not always a secure channel

‣ Extremely easy to sell your vote

‣ You can coerce voters to vote as you like

• Still, this has been used in Germany for 50+ years

Page 8: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Remote electronic voting

• Seems even cheaper and even more convenient

• Promises better security (than voting by post at least)

• the security properties can be cryptographically enforced

• Different security risks

• Easier to launch large-scale attacks and erase evidence

• Clients are the weakest link: e.g. remotely exploitable software flaws, viruses, Internet worms, trojans, lack of physical security, social engineering attacks, etc.

• Network also vulnerable: e.g. voter demographic-based DDOS, cache poisoning DNS attacks, etc.

!"#$%&!'()*!$+!&,*!-'&$%(.%!/0!1.#)2!

!

!3.14!'()*!$+!&,*!-'&$%(.%!/0!1.#)2!

!

5,*!+#$%&!'()*!$+!&,*!1.#)!1$%&.(%'!&,*!1.#)!,$6)*#7'!'(8%.&9#*!.%)!:,$&$;!.%)!.6'$!&,*!

+$66$<(%8!).&.=!

!" %.>*!$+!1.#)!,$6)*#!

!" :*#'$%.6!1$)*!?%.&($%.6!/0!1$)*@!$+!1.#)!,$6)*#!

!" 1.#)!,$6)*#!A(#&,!&(>*!

!" 1.#)!,$6)*#!'*B!

!" 1.#)!,$6)*#!1(&(C*%',(:!

!" 1.#)!%9>A*#!

!" 1.#)!D.6()(&E!*%)!

!

5,*!A.14!'()*!1$%&.(%'!&,*!+$66$<(%8!).&.=!

!" 1.#)!,$6)*#!A(#&,!:6.1*!

!" 1.#)!(''9(%8!).&*!

!" #*'()*%1*!:*#>(&!)*&.(6'!.%)!$&,*#!(%+$#>.&($%!?(+!.::6(1.A6*@!

!" 1.#)!.%)!,$6)*#!).&.!(%!>.1,(%*F#*.).A6*!?/GHI@!+$#>.&!

!"#$%&'()$*+,%,*'(*$,&+*

-.1,!/0!1.#)!1$%&.(%'!D.#($9'!:(*1*'!$+!).&.2!H66!&,*!.A$D*!).&.!*B1*:&!:,$&$!.%)!

,.%)<#(&&*%!'(8%.&9#*!.#*!.6'$!:#*'*%&!$%!&,*!1.#)!(%!*6*1&#$%(1!+$#>;!(%!.!':*1(.6!

:9A6(16E!#*.).A6*!).&.!+(6*2!/%!.))(&($%;!&,*!1.#)!1$%&.(%'!&<$!1*#&(+(1.&*'!.%)!&,*(#!

.''$1(.&*)!:#(D.&*!4*E'!:#$&*1&*)!<(&,!J/K!1$)*'2!5,*!1*#&(+(1.&*'!1$%&.(%!$%6E!&,*!

,$6)*#7'!%.>*!.%)!:*#'$%.6!1$)*!?%.&($%.6!/0!1$)*@2!/%!.))(&($%;!&,*!.9&,*%&(1.&($%!

5,*!-'&$%(.%!/0!G.#)!.%)!0(8(&.6!L(8%.&9#*!G$%1*:&!

M9%*!N;!OPPQ!R

Page 9: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Remote electronic voting

• Seems even cheaper and even more convenient

• Promises better security (than voting by post at least)

• the security properties can be cryptographically enforced

• Different security risks

• Easier to launch large-scale attacks and erase evidence

• Clients are the weakest link: e.g. remotely exploitable software flaws, viruses, Internet worms, trojans, lack of physical security, social engineering attacks, etc.

• Network also vulnerable: e.g. voter demographic-based DDOS, cache poisoning DNS attacks, etc.

Page 10: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

desired properties

eligibilitynon-reusabilityinalterability

fairness

completeness correctness

vote-privacyno forced-abstention attacks

receipt-freeness

coercion-resistance

universal verifiabilityindividual verifiability

robustnessfault tolerance

availabilityscalability

accuracy democracy

Page 11: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

desired properties

eligibilitynon-reusabilityinalterability

fairness

completeness correctness

vote-privacyno forced-abstention attacks

receipt-freeness

coercion-resistance

universal verifiabilityindividual verifiability

robustnessfault tolerance

availability

• Careful formalization and automatic verification of these properties important before widespread adoption

scalability

accuracy democracy

Page 12: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

eligibilitynon-reusabilityinalterability

vote-privacyno forced-abstention attacks

receipt-freeness

coercion-resistance

• Careful formalization and automatic verification of these properties important before widespread adoption

Page 13: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

eligibilitynon-reusabilityinalterability

vote-privacyno forced-abstention attacks

receipt-freeness

coercion-resistance

• Careful formalization and automatic verification of these properties important before widespread adoption

soundness

Page 14: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

eligibilitynon-reusabilityinalterability

vote-privacyno forced-abstention attacks

receipt-freeness

coercion-resistance

• Careful formalization and automatic verification of these properties important before widespread adoption

soundness

privacy

Page 15: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

What we did

• General technique for

• modeling remote electronic voting protocols(in the applied pi-calculus)

• and automatically verifying their security

• New formal definitions of

• soundness - trace property

• coercion-resistance - observational equivalence

• both definitions amenable to automation (e.g. ProVerif)

• Proved that our coercion-resistance implies vote-privacy, immunity to forced-abstention attacks & receipt-freeness

• Automatically verified the security of the JCJ protocol

Page 16: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Alice

Soundness (eligibility, non-reusability, inalterability)

Page 17: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

Soundness (eligibility, non-reusability, inalterability)

Page 18: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

Soundness (eligibility, non-reusability, inalterability)

Page 19: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)

pinkblue

Soundness (eligibility, non-reusability, inalterability)

Page 20: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)

pinkblue

Soundness (eligibility, non-reusability, inalterability)

Page 21: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)

pinkblue

Soundness (eligibility, non-reusability, inalterability)

Page 22: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)pinkblue

Soundness (eligibility, non-reusability, inalterability)

Page 23: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)pinkblue

Soundness (eligibility, non-reusability, inalterability)

Page 24: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Aliceeligible(Alice)

vote(Alice, pink)pinkblue

tally(pink)

Soundness (eligibility, non-reusability, inalterability)

Page 25: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Alice

pinkblue

tally(pink)Trace: t1 eligible(Alice) t2 vote(Alice, pink) t3 tally(pink)

Soundness (eligibility, non-reusability, inalterability)

Page 26: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Alice

pinkblue

tally(pink)!!!

Trace: t1 eligible(Alice) t2 vote(Alice, pink) t3 tally(pink)

Soundness (eligibility, non-reusability, inalterability)

Page 27: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Tallier

Hi, I’m Alice

pinkblue

tally(pink)!!!

Trace: t1 eligible(Alice) t2 vote(Alice, pink) t3 tally(pink)

and the trace t1 t2 t3 is also sound (injective matching)

Soundness (eligibility, non-reusability, inalterability)

Page 28: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Vote-privacy

Voters

AliceBobCharlie

Page 29: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Vote-privacy

Voters

AliceBobCharlie

Results

pink party |blue party ||

Page 30: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Vote-privacy

“Detailed” results

Alice ............ pink partyBob .............. blue partyCharlie ........ blue party

Voters

AliceBobCharlie

Results

pink party |blue party ||

Page 31: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Vote-privacy

“Detailed” results

Alice ............ pink partyBob .............. blue partyCharlie ........ blue party

Voters

AliceBobCharlie

Results

pink party |blue party ||

Page 32: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

]

Definition of vote-privacy

S[ pinkblue

]S[ pinkblue

[Delaune, Kremer & Ryan; CSF ’06]

Page 33: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

indistinguishable from

]

Definition of vote-privacy

S[ pinkblue

]S[ pinkblue

[

[

]

]

∀[Delaune, Kremer & Ryan; CSF ’06]

Page 34: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

]

Definition of vote-privacy

S[~~

pinkblue

]S[ pinkblue

[Delaune, Kremer & Ryan; CSF ’06]

Page 35: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

]

Definition of vote-privacy

S[~~

pinkblue

]S[ pinkblue

pink party |||blue party ||||

pink party ||||blue party |||

[Delaune, Kremer & Ryan; CSF ’06]

Page 36: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

]

Definition of vote-privacy

S[ |~~

pinkblue

]S[ |pinkblue

pinkblue

pinkblue

[Delaune, Kremer & Ryan; CSF ’06]

Page 37: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

]

Immunity to forced-abstention

S[~~

S[ pinkblue

pinkblue|

| ]

Page 38: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

S[

S[

]

Receipt-freeness

~~pinkblue

pinkblue

pinkblue|

| ]pinkblue

blue

blue

• Cryptographic setting [Benaloh & Tuinstra; STOC ’94]

Page 39: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

S[

S[

]

Receipt-freeness

~~pinkblue

pinkblue

pinkblue|

| ]pinkblue

blue

blue

• We adapted definition by [Delaune, Kremer & Ryan; CSF ’06] to remote voting

• Cryptographic setting [Benaloh & Tuinstra; STOC ’94]

Page 40: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

S[

Coercion-resistance

S[~~|

|pinkblue

pinkblue

pinkblue ]

]

• Cryptographic setting [Juels, Catalano & Jakobsson; WPES 2005]

receipt-freeness (up to abstraction) ⇒

Page 41: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

S[

Coercion-resistance

S[~~|

|

|

|

pinkblue

pinkblue

pinkblue

pinkblue

pinkblue

]

]

• Cryptographic setting [Juels, Catalano & Jakobsson; WPES 2005]

receipt-freeness (up to abstraction) ⇒

Page 42: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

S[

Coercion-resistance

S[~~|

|

|

|

pinkblue

pinkblue

pinkblue

pinkblue

pinkblue

]

]

• Cryptographic setting [Juels, Catalano & Jakobsson; WPES 2005]

receipt-freeness (up to abstraction) ⇒• Proved: coercion-resistance ⇒ no forced-abstention ⇒ vote-privacy

Page 43: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Definitions of coercion-resistanceJCJ-WPES’05 DKR-CSF’06 DKR-TR’08 current

setting

automation

vote-privacy

no simulation attacks

no forced- abstention

no randomization attacks (?)

receipt-freeness

remote voting supervised voting

supervised voting remote voting

no (crypto) no (adaptive simulation) no (∀C. P≈Q) yes (≈)

yes yes yes yes

yes n/a n/a yes

yes no no yes

yes no no no

yes yes yes yes (up to abstraction)

Page 44: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Analysis of JCJ

• first coercion-resistant protocol for remote voting[Juels, Catalano & Jakobsson; WPES ’05]

• forms the basis of many recent protocols(e.g. Civitas [Clarkson, Chong & Myers; S&P ’08])

• Analysis performed with ProVerif

• automatic protocol analyzer using Horn-clause resolution

• we use our symbolic abstraction of zero-knowledge[Backes, Maffei & Unruh; S&P ’08]

• analyzing observational equivalence required (re)writing the specification in the shape of a biprocess

• verification of JCJ succeeds, which yields security guarantees for unbounded number of voters, sessions, etc.

Page 45: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Future work

• Curently: analyzing a model of Civitas

Page 46: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Future work

• Curently: analyzing a model of Civitas

• Curently: defining and analyzing other properties

• Individual verifiability (trace property)

• Immunity to randomization attacks (privacy property)

Page 47: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Future work

• Curently: analyzing a model of Civitas

• Curently: defining and analyzing other properties

• Individual verifiability (trace property)

• Immunity to randomization attacks (privacy property)

• Different techniques for trace properties

• type systems - e.g. our type system for ZK [WITS ’08]

Page 48: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Future work

• Curently: analyzing a model of Civitas

• Curently: defining and analyzing other properties

• Individual verifiability (trace property)

• Immunity to randomization attacks (privacy property)

• Different techniques for trace properties

• type systems - e.g. our type system for ZK [WITS ’08]

• Different techniques for observational equivalence

• for instance using symbolic bisimulation [DKR, SecCo ’07]

Page 49: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Future work

• Curently: analyzing a model of Civitas

• Curently: defining and analyzing other properties

• Individual verifiability (trace property)

• Immunity to randomization attacks (privacy property)

• Different techniques for trace properties

• type systems - e.g. our type system for ZK [WITS ’08]

• Different techniques for observational equivalence

• for instance using symbolic bisimulation [DKR, SecCo ’07]

• More accurate protocol models

• The ultimate goal is to analyze implementations

Page 50: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Backup slides

Page 51: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

Simplified JCJ protocol

Page 52: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

Simplified JCJ protocol

(private channel)

Page 53: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

Simplified JCJ protocol

{cred, r2}pk(kT ), {pink}pk(kT ),ZK

(private channel)

Page 54: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

Simplified JCJ protocol

{cred, r2}pk(kT ), {pink}pk(kT ),ZK

(private channel)

Page 55: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

Simplified JCJ protocol

{cred, r2}pk(kT ), {pink}pk(kT ),ZK

(private channel)

Page 56: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

Tallier

Simplified JCJ protocol

{cred, r2}pk(kT ), {pink}pk(kT ),ZK

(private channel)

Page 57: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

Hi, I’m Alice

cred {cred, r1}pk(kT )

pink

Tallier

Simplified JCJ protocol

{cred, r2}pk(kT ), {pink}pk(kT ),ZK

(private channel)

Page 58: Automatic Verification of Remote Electronic Voting Protocols · Remote electronic voting • Seems even cheaper and even more convenient • Promises better security (than voting

~~|

|

|

|

pinkblue

pinkblue

pinkblue

pinkblue

pinkblue

1 2 3

1 2 3pinkblue

pinkblue

pinkblue

pinkblue

BobAliceBruce

Alice Bob Bruce| |

||