Analysis of an Internet Voting Protocol Dale Neal Garrett Smith.

Slides:



Advertisements
Similar presentations
1 Key Exchange Solutions Diffie-Hellman Protocol Needham Schroeder Protocol X.509 Certification.
Advertisements

Research & Development Workshop on e-Voting and e-Government in the UK - February 27, 2006 Votinbox - a voting system based on smart cards Sébastien Canard.
Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
Secret Ballot Receipts: True Voter Verifiable Elections Author: David Chaum Published: IEEE Security & Privacy Presenter: Adam Anthony.
Chapter 14 – Authentication Applications
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
CIS 725 Key Exchange Protocols. Alice ( PB Bob (M, PR Alice (hash(M))) PB Alice Confidentiality, Integrity and Authenication PR Bob M, hash(M) M, PR Alice.
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
An Electronic Voting Protocol (revisited)
Requirements for a Secure Voting System  Only authorized voters can vote  No one can vote more than once  No one can determine for whom anyone else.
A Pairing-Based Blind Signature
Voting Process Error Handling Procedures. AMBIGUOUS MARK Let the voter review his ballot and ensure that the ovals opposite the names of candidates/party.
ThreeBallot, VAV, and Twin Ronald L. Rivest – MIT CSAIL Warren D. Smith - CRV Talk at EVT’07 (Boston) August 6, 2007 Ballot Box Ballot Mixer Receipt G.
Lesson 7: The Voting Process. Opening Discussion Have you ever voted for something before? How was the winner decided? Did you think the process was fair?
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
Claudia Diaz, Hannelore Dekeyser, Markulf Kohlweiss, Girma Nigusse K.U.Leuven IDIS Workshop 29/05/2008 [Work done in the context of the ADAPID project]
Analysis of Direct Anonymous Attestation (DAA) Sudip Regmi Ilya Pirkin.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Receipt-free Voting Joint work with Markus Jakobsson, C. Andy Neff Ari Juels RSA Laboratories.
Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)
15-1 Last time Internet Application Security and Privacy Public-key encryption Integrity.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
Spring 2002CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Buyer-Seller Watermarking (BSW) Protocols Geong Sen Poh 31 Oct 2006.
Mar 4, 2003Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities.
Ben Hosp, Nils Janson, Phillipe Moore, John Rowe, Rahul Simha, Jonathan Stanton, Poorvi Vora {bhosp, simha, jstanton, Dept. of Computer.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Receipt-freeness and coercion-resistance: formal definitions and fault attacks Stéphanie Delaune / Steve Kremer / Mark D. Ryan.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 30 Message Security, User Authentication, and Key Management.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
Electronic Voting (E-Voting) An introduction and review of technology Written By: Larry Brachfeld CS591, December 2010.
Spring 2003CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Static Validation of a Voting ProtocolSlide 1 Static Validation of a Voting Protocol Christoffer Rosenkilde Nielsen with Esben Heltoft Andersen and Hanne.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
INTRODUCTION Why Signatures? A uthenticates who created a document Adds formality and finality In many cases, required by law or rule Digital Signatures.
Cryptographic Voting Protocols: A Systems Perspective By Chris Karlof, Naveen Sastry, and David Wagner University of California, Berkely Proceedings of.
Chapter 31 Network Security
How HTTPS Works J. David Giese. Hyper Text Transfer Protocol BrowserHTTP Server GET / HTTP/1.1 HOST: edge-effect.github.io HEADERS BODY HTTP/ OK.
Programming Satan’s Computer
KYUSHUUNIVERSITYKYUSHUUNIVERSITY SAKURAILABORATORYSAKURAILABORATORY Sakurai Lab. Kyushu University Dr-course HER, Yong-Sork E-voting VS. E-auction.
Guomin Yang et al. IEEE Transactions on Wireless Communication Vol. 6 No. 9 September
A Survey of Authentication Protocol Literature: Version 1.0 Written by John Clark and Jeremy Jacob Presented by Brian Sierawski.
6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick.
Proof-Carrying Code & Proof-Carrying Authentication Stuart Pickard CSCI 297 June 2, 2005.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Evoting using collaborative clustering Justin Gray Osama Khaleel Joey LaConte Frank Watson.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Digital Signatures, Message Digest and Authentication Week-9.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
DIGITAL SIGNATURE.
Virginia State Military Electronic Absentee Voting.
Electronic Voting R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
Electronic Payment Systems Presented by Rufus Knight Veronica Ogle Chris Sullivan As eCommerce grows, so does our need to understand current methods of.
Secure Remote Electronic Voting CSE-681 Fall 2006 David Foster and Laura Stapleton Laura StapletonLaura Stapleton.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Security Outline Encryption Algorithms Authentication Protocols
ThreeBallot, VAV, and Twin
Cryptanalysis on Mu–Varadharajan's e-voting schemes
Security Protocols Analysis
Message Security, User Authentication, and Key Management
eVoting System Proposal
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
Presentation transcript:

Analysis of an Internet Voting Protocol Dale Neal Garrett Smith

Electronic Voting Electronic voting at a precinct –Focus is on preventing fraud on the part of people building and running system. Electronic voting over the internet –Must prevent fraud for all parties –Must provide anonymity for voters

Our chosen protocol An Anonymous Electronic Voting Protocol for Voting Over The Internet Indrajit Ray, Indrakshi Ray, Natarajan Narasimhamurthi University of Michigan Most research on internet voting focuses on new cryptographic primitives. –Not interesting to model at a protocol layer.

Building Blocks Public Key Cryptography Hard-to-invert permutations Blind Signatures on mesages

Notation V e – Vs encryption key V d – Vs decryption key (signing key) [x, V d ] – x encrypted with V d h(x) – hash of x {} – grouping x * [b, V e ] – blinded submission of x for signature by V [{x * [b, V e ]}, V d ] – Vs blind signature of x, can be converted to [x, V d ] knowing b.

Protocol Overview Ballot Distributor Certification Authority Vote Counter Voter Imposter

Pre-protocol setup Voter Imposter Registration Authority Voters register and are issued a certificate with public key and identity.

Ballot Distributor Certification Authority Vote Counter Voter Blank Ballot Distribution [{y, [h(y), BD d ]}, V e ] y – ballot serial number

Generate a voter mark Voter mark allows voter to identify their ballot without letting others identify their ballot. Generated by a one-way permutation of the serial number. Poorly described in the paper –We assume they meant a keyed hash.

Voter Certification (part a) Ballot Distributor Certification Authority Vote Counter Voter y – serial number m – voter mark r – blinding factor [{m * [r,CA e ], [h(m*[r,CA e ]), V d ], V}, CA e ]

Voter Certification (part b) Ballot Distributor Certification Authority Vote Counter Voter y – serial number m – voter mark r – blinding factor [[{m * [r,CA e ]}, CA d ], V e ]

Vote Casting Ballot Distributor Certification Authority Vote Counter Voter [{vote, [m, CA d ]}, VC e ] m – voter mark Note: Abstracted away public FTP server intermediary

Publishing Ballot Distributor Certification Authority Vote Counter {vote2, [m2, CA d ]} {vote1, [m1, CA d ]} {vote3, [m3, CA d ]} {m1 * [r,CA e ], [h(m1*[r,CA e ]), V1 d ]} {m2 * [r,CA e ], [h(m2*[r,CA e ]), V2 d ]} {m3 * [r,CA e ], [h(m3*[r,CA e ]), V3 d ]} y1 y2 y3

Attack Model Any of CA, BD, VC could collude among themselves and with any voters. –Only colluding voters votes should be affected If fraud occurs, the fraud can be proved

Claimed Properties Only eligible voters are able to cast votes A voter is able to cast only one vote A voter is able to verify that his or her vote is counted in the final tally Nobody other than the voter can link a cast vote with a voter If a voter decides not to vote, nobody is able to cast a fraudulent vote in place of the voter.

Modeling in Murphi Encryption, signatures modeled same as in Needham-Schroeder with AgentId Serial number, voter mark, blind signatures modeled in the same way. Registered and unregistered voters BD, CA, VC can all act fraudulently, and accept invalid data

Invariants Different type of invariant than for Needham-Schroeder and other authentication protocols. Of the type: if there is fraud, can a party detect it?

invariant "voter can prove fraud if their vote is uncounted" forall i: GoodVoterId do forall j: VCId do voter[i].state = V_VOTED & multisetcount (l:vc[j].votes, vc[j].votes[l].signedMark = voter[i].signedMark) = 0 -> ismember(voter[i].ballotSigner, BDId) & ismember(voter[i].markSigner, CAId) end end;

invariant "voter cannot claim fraud when they dont vote" forall i: GoodVoterId do forall j: VCId do voter[i].state != V_VOTED & multisetcount(l:vc[j].votes, vc[j].votes[l].signedMark = voter[i].signedMark & vc[j].votes[l].vote = true) = 0 -> !(ismember(voter[i].ballotSigner, BDId) & ismember(voter[i].markSigner, CAId)) end end;

Invariant is violated After Voter Certification voter has: –Serial number signed by BD –Voter mark signed by CA VC cannot demonstrate it never received vote as opposed to VC discarding the vote. Since any voter can demonstrate fraud even if none exists, demonstrations of fraud have no meaning.

Detecting know flaws We were able to construct an invariant to detect a flaw discussed in the paper: If a voter completes Voter Certification, but does not vote the three agents can collude to cast a fraudulent vote in that voters place.

invariant "a fraudulent vote can be detected" forall i: VCId do forall j: CAId do multisetcount(l:vc[i].votes, vc[i].votes[l].vote = false) > 0 -> multisetcount(l:vc[i].votes, true) > multisetcount(m:ca[j].certifications, ca[j].certifications[m].response) -- if there is a fraudulent vote, there must -- be more votes than published certified voters. end end;

Deficiencies we couldnt model Ballot distribution seems unnecessary –Voter chooses nonce –CA keeps track of which voters have submitted nonces for blind signature and only signs one nonce per registered voter Encrypting traffic makes it harder for bystanders to eavesdrop, but doesn't provide any extra guarantees because even with CA, BD, and VC colluding they cant determine who cast what vote.

Benefits of modeling Ambiguities in the protocol description were cleared up by modeling the protocol and figuring out what had to be provided to ensure desired properties

Conclusions Being able to demonstrate fraud when there is none is a fatal flaw. Murphi is not well suited to modeling this flavor of protocol. –All of the flaws we found were discovered while trying to model the protocol –Proof oriented analysis seems to be a better fit Prove for each type of fraud, that if it happens, then an honest party can prove that it happened