le vote lectronique un d fi pour la v rification formelle
play

Le vote lectronique : un dfi pour la vrification formelle Steve - PowerPoint PPT Presentation

Le vote lectronique : un dfi pour la vrification formelle Steve Kremer Loria, Inria Nancy 1 / 17 Electronic voting Elections are a security-sensitive process which is the cornerstone of modern democracy Electronic voting promises


  1. Le vote électronique : un défi pour la vérification formelle Steve Kremer Loria, Inria Nancy 1 / 17

  2. Electronic voting Elections are a security-sensitive process which is the cornerstone of modern democracy Electronic voting promises ◮ convenient, efficient and secure facility for recording and tallying votes ◮ for a variety of types of elections : from small committees or on-line communities through to full-scale national elections 2 / 17

  3. Electronic voting Elections are a security-sensitive process which is the cornerstone of modern democracy Electronic voting promises ◮ convenient, efficient and secure facility for recording and tallying votes ◮ for a variety of types of elections : from small committees or on-line communities through to full-scale national elections E-voting may include : ◮ use of voting machines in polling stations ◮ remote voting, via Internet (i-voting) 2 / 17

  4. Real-world Internet elections Recent political legally binding Internet elections in Europe : ◮ parliamentary elections in Switzerland (several cantons) ◮ parliamentary election in Estonia (all eligible voters) ◮ municipal and county elections in Norway (selected municipalities, selected voter groups) ◮ parliamentary elections in in France (“expats”) But also banned in Germany, Ireland, UK Even more professional elections 3 / 17

  5. Attacks ! Attacks by Alex Halderman and his team : ◮ attack on pilot project for overseas and military voters : took control of vote server, changed votes, removed root kit present on server, . . . ◮ Indian voting machines : clip-on memory manipulator ◮ Re-programmed e-voting machine used in US elections to play pack-man . . . and many more 4 / 17

  6. Attacks ! Attacks by Alex Halderman and his team : ◮ attack on pilot project for overseas and military voters : took control of vote server, changed votes, removed root kit present on server, . . . ◮ Indian voting machines : clip-on memory manipulator ◮ Re-programmed e-voting machine used in US elections to play pack-man . . . and many more There exist also attacks on paper based remote voting, e.g. attack by Cortier et al. on a postal voting system used in CNRS elections 4 / 17

  7. Vote privacy Anonymity of the vote : no one should learn how I voted 5 / 17

  8. Vote privacy Anonymity of the vote : no one should learn how I voted We may want even more : Receipt-freeness/coercion-resistance : I cannot prove to someone else how I voted � avoid vote-buying / coercion 5 / 17

  9. Election transparency In traditional elections : ◮ transparent ballot box ◮ observers ◮ . . . 6 / 17

  10. Election transparency In traditional elections : ◮ transparent ballot box ◮ observers ◮ . . . In e-voting : End-to-end Verifiability ◮ Individual verifiability : vote cast as intended e.g., voter checks his encrypted vote is on a public bulletin board ◮ Universal verifiability : vote counted as casted e.g., crypto proof that decryption was performed correctly ◮ Eligibility verifiability : only eligible votes counted e.g., crypto proof that every vote corresponds to a credential � Verify the election, not the system ! 6 / 17

  11. The Helios e-voting protocol Verifiable online elections via the Internet http ://heliosvoting.org/ Already in use : ◮ Election at Louvain University Princeton ◮ Election of the IACR board (major association in Cryptography) 7 / 17

  12. Behavior of Helios (simplified) Phase 1 : voting Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 pk ( S ) : public key, the private key being shared among trustees. 8 / 17

  13. Behavior of Helios (simplified) Phase 1 : voting Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 { v D } pk ( S ) − − − − − − − − − → Chris { v C } pk ( S ) v C = 0 or 1 pk ( S ) : public key, the private key being shared among trustees. 8 / 17

  14. Behavior of Helios (simplified) Phase 1 : voting Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 David { v D } pk ( S ) v D = 0 or 1 pk ( S ) : public key, the private key being shared among trustees. 8 / 17

  15. Behavior of Helios (simplified) Phase 1 : voting Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 David { v D } pk ( S ) v D = 0 or 1 ... ... Phase 2 : Tallying using homomorphic encryption (El Gamal) n n based on g a ∗ g b = g a + b � � { v i } pk ( S ) = { v i } pk ( S ) i = 1 i = 1 → Only the final result needs to be decrypted ! pk ( S ) : public key, the private key being shared among trustees. 8 / 17

  16. This is oversimplified ! Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 David { v D } pk ( S ) ... ... Result : { v A + v B + v C + v D + · · · } pk ( S ) 9 / 17

  17. This is oversimplified ! Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 David { v D } pk ( S ) v D = 100 ... ... Result : { v A + v B + v C + 100 + · · · } pk ( S ) A malicious voter can cheat ! 9 / 17

  18. This is oversimplified ! Bulletin Board Alice { v A } pk ( S ) v A = 0 or 1 Bob { v B } pk ( S ) v B = 0 or 1 Chris { v C } pk ( S ) v C = 0 or 1 David { v D } pk ( S ) v D = 100 ... ... Result : { v A + v B + v C + v D + · · · } pk ( S ) A malicious voter can cheat ! In Helios : use Zero Knowledge Proof { v D } pk ( S ) , ZKP { v D = 0 or 1 } 9 / 17

  19. Formal verification of critical systems Does the system satisfy the property ? q b verification q a q c � ∀ z . ( end ( z ) ⇒ begin ( z )) algorithm q d yes/no 10 / 17

  20. Formal verification of critical systems Applied to security protocols : Does the system satisfy the property ? q b | verification q a q c � ∀ z . ( end ( z ) ⇒ begin ( z )) algorithm q d yes/no Difficulties : � arbitrary attacker controlling the network � infinite state system Techniques : automated deduction, concurrency theory, model-checking, . . . 10 / 17

  21. Symbolic analysis Symbolic techniques (following [Dolev&Yao’82]) : ◮ messages = terms enc pair k s 1 s 2 ◮ perfect cryptography (equational theories) dec ( enc ( x , y ) , y ) = x fst ( pair ( x , y )) = x snd ( pair ( x , y )) = y ◮ the network is the attacker 11 / 17

  22. Symbolic analysis Symbolic techniques (following [Dolev&Yao’82]) : ◮ messages = terms enc pair k s 1 s 2 ◮ perfect cryptography (equational theories) dec ( enc ( x , y ) , y ) = x fst ( pair ( x , y )) = x snd ( pair ( x , y )) = y ◮ the network is the attacker Automated tools successfully found flaws in : ◮ Google’s Single Sign-On protocol ◮ ISO/IEC 9798 standard for entity authentication ◮ commercial PKCS#11 key-management tokens ◮ . . . 11 / 17

  23. Modelling properties and properties Protocols modelled in a process calculus with terms, e.g. the applied pi calculus P ::= 0 | in ( c , x ) . P input | out ( c , t ) . P output | if t 1 = t 2 then P else Q conditional | P | | Q parallel | ! P replication | new n . P restriction 12 / 17

  24. Modelling properties and properties Protocols modelled in a process calculus with terms, e.g. the applied pi calculus P ::= 0 | in ( c , x ) . P input | out ( c , t ) . P output | if t 1 = t 2 then P else Q conditional | P | | Q parallel | ! P replication | new n . P restriction Properties A process P satisfies ϕ if for any process A A | | P | = ϕ 12 / 17

  25. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? 13 / 17

  26. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote 13 / 17

  27. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote � but the attacker knows values 0 and 1 13 / 17

  28. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote ◮ The attacker cannot distinguish when we change the voter identity : V A ( v ) ≈ V B ( v ) 13 / 17

  29. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote ◮ The attacker cannot distinguish when we change the voter identity : V A ( v ) ≈ V B ( v ) � but identities are revealed 13 / 17

  30. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote ◮ The attacker cannot distinguish when we change the voter identity : V A ( v ) ≈ V B ( v ) ◮ The attacker cannot distinguish when change the vote : V A ( 0 ) ≈ V A ( 1 ) 13 / 17

  31. How to model vote privacy ? How can we model “the attacker does not learn my vote (0 or 1)” ? ◮ The attacker cannot learn the value of my vote ◮ The attacker cannot distinguish when we change the voter identity : V A ( v ) ≈ V B ( v ) ◮ The attacker cannot distinguish when change the vote : V A ( 0 ) ≈ V A ( 1 ) � but election outcome is revealed 13 / 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend