Le vote électronique : un défi pour la vérification formelle



Similar documents
How to prove security of communication protocols?

E-Democracy and e-voting

Analysis of an Electronic Boardroom Voting System

Electronic Voting Protocol Analysis with the Inductive Method

General Framework of Electronic Voting and Implementation thereof at National Elections in Estonia

Speaker s Commission on Digital Democracy Consultation on Electronic Voting

Verifying a Secret-Ballot Election with Cryptography

Inductive Analysis of Security Protocols in Isabelle/HOL with Applications to Electronic Voting

A New Receipt-Free E-Voting Scheme Based on Blind Signature (Abstract)

Secure Electronic Voting

Remote (Internet) Voting in Digital India

VoteID 2011 Internet Voting System with Cast as Intended Verification

Computer Security. Draft Exam with Answers

Cryptography: Authentication, Blind Signatures, and Digital Cash

An Electronic Voting System Based On Blind Signature Protocol

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Internet Voting Protocols with Everlasting Privacy

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Online Voting Project. New Developments in the Voting System an Consequently Implemented Improvements in the Representation of Legal Principles.

Modeling and verification of security protocols

Ballot Casting Assurance

Why can t I vote online? ONLINE SECURITY AND THE FUTURE OF INTERNET VOTING

Efficient construction of vote-tags to allow open objection to the tally in electronic elections

White Paper: Multi-Factor Authentication Platform

Vinodu George 1 and M P Sebastian 2. vinodu.george@gmail.com. sebasmp@nitc.ac.in

Mobile implementation and formal verification of an e-voting system

Tradeoffs for Internet Voting Options

Cloud Storage Security

A Secure Decentralized Access Control Scheme for Data stored in Clouds

Q: Why security protocols?

Internet voting feasibility study

ONLINE VOTING: REWARDS AND RISKS. Atlantic Council BRENT SCOWCROFT CENTER ON INTERNATIONAL SECURITY

Electronic voting in the Netherlands

Anonymity with Identity Escrow

Formalising privacy-type security properties using the applied pi calculus

Paillier Threshold Encryption Toolbox

SSL/TLS: The Ugly Truth

Testimony of Edward W. Felten Professor of Computer Science and Public Affairs, Princeton University

SSL, PKI and Secure Communication

Applying Cryptography as a Service to Mobile Applications

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE

EECS 588: Computer and Network Security. Introduction

SSL A discussion of the Secure Socket Layer

Caught in the Maze of Security Standards

The Design of Web Based Secure Internet Voting System for Corporate Election

Cryptographic Voting Protocols: A Systems Perspective

Verifiable Voting Systems

Cryptography for the Cloud

THE UNIVERSITY OF TRINIDAD & TOBAGO

Public Key (asymmetric) Cryptography

E-Voting in Geneva

Independent Computations for Safe Remote Electronic Voting

International Journal of Advance Foundation and Research in Computer (IJAFRC) Volume 2, Special Issue (NCRTIT 2015), January 2015.

Formal Modelling of Network Security Properties (Extended Abstract)

Analysis of Security Requirements for Cryptographic Voting Protocols (Extended Abstract)

An Implementation of Secure Online Voting System

Cryptanalysis and security enhancement on the generation of Mu-Varadharajan electronic voting protocol. Vahid Jahandideh and Amir S.

On Coercion-Resistant Electronic Elections

E-voting System: Specification and Design Document

IT Networks & Security CERT Luncheon Series: Cryptography

Proposal of a new online voting system

CS 393 Network Security. Nasir Memon Polytechnic University Module 11 Secure

Understanding Digital Certificates and Wireless Transport Layer Security (WTLS)

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Electoral Results Transmission

Public Key Applications & Usage A Brief Insight

Crypho Security Whitepaper

CRYPTOGRAPHY IN NETWORK SECURITY

Secure cloud access system using JAR ABSTRACT:

Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0

Attestation and Authentication Protocols Using the TPM

Expert Reference Series of White Papers. Fundamentals of the PKI Infrastructure

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

1 Construction of CCA-secure encryption

Receipt-Free Homomorphic Elections and Write-in Voter Verified Ballots

Introduction to Cryptography

Summary of Results from California Testing of the ES&S Unity /AutoMARK Voting System

SCADA System Security, Complexity, and Security Proof

Lecture VII : Public Key Infrastructure (PKI)

E-Voting System Security Optimization

Introduction to Cryptography CS 355

Secure APIs and Simulationbased. Exposé thésard

arxiv: v1 [cs.cr] 24 Nov 2014

OPC UA vs OPC Classic

Implementation of Electronic Voting System in Mobile Phones with Android Operating System 1

Secure Client Applications

Two SSO Architectures with a Single Set of Credentials

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Cloud security architecture

Adversary Modelling 1

Privacy, Discovery, and Authentication for the Internet of Things

Online Voting for Better Government State IT Management Initiative

Publicly Verifiable Private Credentials a technique for privately signing Citizen Initiatives

Crittografia e sicurezza delle reti. Digital signatures- DSA

ARE YOU A EUROPEAN CITIZEN LIVING IN BELGIUM? Come and vote for the European Parliament on 25 May 2014!

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

That Point of Sale is a PoS

Cryptography and Network Security: Summary

Concept of Electronic Approvals

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Transcription:

Le vote électronique : un défi pour la vérification 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 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

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

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

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

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

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

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

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

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

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

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

Behavior of Helios (simplified) Phase 1 : voting {v D } pk(s) 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

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

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 {v i } pk(s) = { v i } pk(s) i=1 i=1 based on g a g b = g a+b Only the final result needs to be decrypted! pk(s) : public key, the private key being shared among trustees. 8 / 17

This is oversimplified! Result : {v A + v B + v C + v D + } pk(s) 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)...... 9 / 17

This is oversimplified! Result : {v A + v B + v C + 100 + } pk(s) A malicious voter can cheat! 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...... 9 / 17

This is oversimplified! Result : {v A + v B + v C + v D + } pk(s) A malicious voter can cheat! 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...... In Helios : use Zero Knowledge Proof {v D } pk(s), ZKP{v D = 0 or 1} 9 / 17

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

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

Symbolic analysis Symbolic techniques (following [Dolev&Yao 82]) : messages = terms enc pair s 1 s 2 k 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

Symbolic analysis Symbolic techniques (following [Dolev&Yao 82]) : messages = terms enc pair s 1 s 2 k 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

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

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

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

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

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

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

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

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

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

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) The attacker cannot distinguish the situation where two honest voters swap votes : V A (0) V B (1) V A (1) V B (0) Also avoids the problematic case of unanimity! [Kremer, Ryan 05] 13 / 17

Looking again at Helios Bulletin Board Alice {v A } pk(s) v A = 0 or 1 Bob {v B } pk(s) v B = 0 or 1 14 / 17

Looking again at Helios Bulletin Board Alice {v A } pk(s) v A = 0 or 1 Bob {v B } pk(s) v B = 0 or 1 Chris {v A } pk(s) Vote-copying attack : copying Alice s vote introduces a bias in the outcome Weakness in Helios discovered when trying to prove the previous definition of anonymity [Cortier, Smyth 11] 14 / 17

Challenges for automated verification Security proofs for e-voting protocols out of scope of existing tools. 15 / 17

Challenges for automated verification Security proofs for e-voting protocols out of scope of existing tools. New properties : observational equivalence Today : mature theory and verification tools for authentication and confidentiality both theory and verification tools for equivalence properties are still work in progress 15 / 17

Challenges for automated verification Security proofs for e-voting protocols out of scope of existing tools. New properties : observational equivalence Today : mature theory and verification tools for authentication and confidentiality both theory and verification tools for equivalence properties are still work in progress New crypto primitives : complex equational theories, e.g. homomorphic encryption enc(x 1, r 1, y) enc(x 2, r 2, y) = enc(x 1 + x 2, r 1 r 2, y) where,, + are associative and commutative not (yet) supported by protocol verification tools 15 / 17

Challenges for automated verification Security proofs for e-voting protocols out of scope of existing tools. New properties : observational equivalence Today : mature theory and verification tools for authentication and confidentiality both theory and verification tools for equivalence properties are still work in progress New crypto primitives : complex equational theories, e.g. homomorphic encryption enc(x 1, r 1, y) enc(x 2, r 2, y) = enc(x 1 + x 2, r 1 r 2, y) where,, + are associative and commutative not (yet) supported by protocol verification tools Warning : verified protocol secure system! 15 / 17

Conclusion Some good systems exist Helios : anonymity and verifiability, but no coercion-resistance Belenios : variant of Helios developed at LORIA Civitas : verifiability and coercion-resistance End-to-end verifiable election systems in polling stations : Scantegrity, Prêt-à-Voter,... Limitations Authentication in remote elections is based on credentials that are transferrable Untrustworthy voting clients (malware) votes may be leaked software changing votes some mitigations exist, active research topic! 16 / 17

Thank you 17 / 17