A proposal for verifiable intra-institutional elections over Plone

Similar documents
Verifiability experiences in government online voting

Scratch & Vote: Self-Contained Paper-Based Cryptographic Voting

A new secure and practical electronic voting protocol without revealing voters identity

Threat Assessment Summary. e-voting, Admin, and pvoting TOE s

Privacy Enhancing Technologies CSE 701 Fall 2017

An Elliptic Curve Based Homomorphic Remote Voting System

Foundations of Cryptography CS Shweta Agrawal

Kleptographic Attacks on E-Voting Schemes

FacultyStaffDirectory at UNAM

Cryptanalysis of a Universally Verifiable Efficient Re-encryption Mixnet

Performance Optimization of a Split-Value Voting System. Charles Z. Liu

Du-Vote: Remote Electronic Voting with Untrusted Computers

Return Code Schemes for Electronic Voting Systems

Decentralized E-Voting on Android Devices Using Homomorphic Tallying

Remote E-Voting System

CIS 551 / TCOM 401 Computer and Network Security. Spring 2008 Lecture 23

Identity-Based Threshold Cryptography for Electronic Voting

E-Voting System based on Mobile using NIC and SIM

VoteBox: a verifiable, tamper-evident electronic voting system

Automatic Verification of Remote Electronic Voting Protocols

Lecture 8: Privacy and Anonymity Using Anonymizing Networks. CS 336/536: Computer Network Security Fall Nitesh Saxena

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong

Anonymous and Transparent E-Voting System

The nominative data coming from the population registry and used to generate the voting cards are never stored in the evoting system database.

CRYPTOGRAPHIC PROTOCOLS: REVOCABLE ANONYMITY AND E-VOTING

Key Protection for Endpoint, Cloud and Data Center

A Survey of Modern Electronic Voting Technologies

Homomorphic Encryption

Blind Signatures and Their Applications

Security Technologies for Dynamic Collaboration

Master of Science Project. An Internet-Based Voting System for Student Government Elections

Norwegian internet voting protocol revisited: ballot box and receipt generator are allowed to collude

STAR-Vote VVSG Gap Analysis

Security Digital Certificate Manager

Cryptographic Voting Protocols: A Systems Perspective

Structure-Preserving Certificateless Encryption and Its Application

Transparent Open Secure e- Voting using OASIS EML Exploring the Paradox. Introduction

Randomized Partial Checking Revisited

Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls

Type-Based Verification of Electronic Voting Systems

Scaling Privacy Guarantees in Code Verification Elections

CS 6324: Information Security More Info on Key Establishment: RSA, DH & QKD

Stadium. A Distributed Metadata-private Messaging System. Matei Zaharia Nickolai Zeldovich SOSP 2017

ErgoGroup. E-vote 2011 Security Architecture Electronic counting of paper votes V 1.1

A Privacy-Preserved Joint Group Time Scheduling Mechanism for Mobile Social Applications

Computer Networks. Network Security and Ethics. Week 14. College of Information Science and Engineering Ritsumeikan University

CSE 127: Computer Security Cryptography. Kirill Levchenko

Secure Multiparty Computation

IBM. Security Digital Certificate Manager. IBM i 7.1

Voting System Security as per the VVSG

Computers and Security

Alice in Cyber world

Certificateless Public Key Cryptography

Key Exchange. References: Applied Cryptography, Bruce Schneier Cryptography and Network Securiy, Willian Stallings

Secure Data Transmission Using Cloud Computing

CPSC 467: Cryptography and Computer Security

A Hybrid Touch Interface for Prêt àvoter. Chris Culnane, University of Surrey Trustworthy Voting Systems Project

Design and Implementation of Privacy-Preserving Surveillance. Aaron Segal

Key management. Required Reading. Stallings, Cryptography and Network Security: Principles and Practice, 5/E or 6/E

Integrity Check Mechanism in Cloud Using SHA-512 Algorithm

Election Night Reporting Quick Start Guide

1.264 Lecture 27. Security protocols Symmetric cryptography. Next class: Anderson chapter 10. Exercise due after class

CS3235 Seventh set of lecture slides

An evoting platform for QoE evaluation

Shared Secret = Trust

Confirmed VPN Privacy Audit and Open Watch Analysis Summary Report and Documentation

CLEAR BALLOT GROUP. ClearDesign 1.0. System Overview

ECE 646 Lecture 3. Key management

ISO/IEC INTERNATIONAL STANDARD. Information technology Trusted Platform Module Part 1: Overview

Integrating OpenID with proxy re-encryption to enhance privacy in cloud-based identity services

Improved Delegation Of Computation Using Somewhat Homomorphic Encryption To Reduce Storage Space

Type-Based Verification of Electronic Voting Protocols

NETWORK SECURITY & CRYPTOGRAPHY

Formal Analysis of Chaumian Mix Nets with Randomized Partial Checking

Oblivious Printing of Secret Messages in a Multi-party Setting

EVT/WOTE 09 AUGUST 10, Ersin Öksüzoğlu Dan S. Wallach

Winter 2011 Josh Benaloh Brian LaMacchia

U.S. E-Authentication Interoperability Lab Engineer

Uses of Cryptography

To Du or not to Du: A Security Analysis of Du-Vote

Connecticut Electronic Poll Book System Requirement Specification V1.0

Identity & security CLOUDCARD+ When security meets convenience

SE 1: Software Requirements Specification and Analysis

Security & Privacy. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents. Erik Wilde, UC Berkeley School of

Two Simple Code-Verification Voting Protocols

Identity-Based Decryption

Remote Poll-Site Voting

IBM i Version 7.2. Security Digital Certificate Manager IBM

Analysis of an E-voting Protocol using the Inductive Method

El Gamal Mix-Nets and Implementation of a Verifier SA104X Degree Project in Engineering Physics

CYBER SECURITY MADE SIMPLE

Designing for Audit: A Voting Machine with a Tiny TCB

ECE 646 Lecture 3. Key management. Required Reading. Using the same key for multiple messages

Crypto Background & Concepts SGX Software Attestation

Platform-independent Secure Blockchain-Based Voting System

KV Web Security: Applications of Homomorphic Encryption. Gerhard Pötzelsberger, B.Eng. May 23, 2013

Accountability in Privacy-Preserving Data Mining

IEEE Std and IEEE Std 1363a Ashley Butterworth Apple Inc.

Data-at-Rest Encryption

Worksheet - Reading Guide for Keys and Passwords

Transcription:

A proposal for verifiable intra-institutional elections over Plone Sergio Rajsbaum Universidad Nacional Autónoma de México (UNAM) Plone Symposium East 2011

The case of the Institute of Mathematics (UNAM) The Institute of Mathematics holds elections for: Director Internal committees Other internal positions Until fairly recently, elections were done the old fashioned way: Voter Officials PloneVote. Part I: Online elections

What's the problem with that? Paper ballots. PloneVote. Part I: Online elections

What's the problem with that? Paper ballots. Must vote from specific places at specific times. PloneVote. Part I: Online elections

What's the problem with that? Paper ballots. Must vote from specific places at specific times. Cost of keeping watch over the polling stations and ballot boxes. PloneVote. Part I: Online elections

What's the problem with that? Paper ballots. Must vote from specific places at specific times. Cost of keeping watch over the polling stations and ballot boxes. Votes might need to be moved from multiple voting locations to a central place for counting. PloneVote. Part I: Online elections

What's the problem with that? PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? Plone is already used for a lot of the information infrastructure at IMATE. PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? Plone is already used for a lot of the information infrastructure at IMATE. Voter authentication. PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? Plone is already used for a lot of the information infrastructure at IMATE. Voter authentication. Notifications: published election information, email. PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? Plone is already used for a lot of the information infrastructure at IMATE. Voter authentication. Notifications: published election information, email. Voter and candidate list selections based on metadata (e.g. Faculty/Staff Directory) PloneVote. Part I: Online elections

Enter Plone! So we want to do online elections... why over Plone? Plone is already used for a lot of the information infrastructure at IMATE. Voter authentication. Notifications: published election information, email. Voter and candidate list selections based on metadata (e.g. Faculty/Staff Directory) Example: Only tenured faculty as of X months previous to the election, who are not members of another committee and were not members of this committee for the past Y years may be candidates. PloneVote. Part I: Online elections

Not just IMATE Multiple organizations can benefit from online elections: Universities Companies Online communities PloneVote. Part I: Online elections

Not just IMATE Multiple organizations can benefit from online elections: Universities Companies Online communities Voting on: People Issues or policies PloneVote. Part I: Online elections

Not just IMATE Multiple organizations can benefit from online elections: Universities Companies Online communities Voting on: People Issues or policies We want an open source, general, extensible election system. PloneVote. Part I: Online elections

Election means security An election is not a poll. Voters require guarantees that their votes are correctly counted and private. No single trusted party PloneVote. Part I: Online elections

Security goals Correctness: The votes are recorded and counted as cast by the voters. Privacy: No one but the voter can know how she voted. PloneVote. Part I: Online elections

Outline I. Online elections II. Previous work III. The PloneVote system IV. PloneVote internals V. Conclusions

The cautionary tale of ATVotaciones Alexander Zapata, Iván Cervantes. ATVotaciones, 2008-2009 Developed at IMATE. Based on: Kiniry et al. KOA Remote Voting System. 2006. Integrated with Plone 2 & 3. Uses Faculty/Staff metadata. Uses Plone authentication. Intended to be a secure election system... PloneVote. Part II: Previous work

The cautionary tale of ATVotaciones Alexander Zapata, Iván Cervantes. ATVotaciones, 2008-2009 Developed at IMATE. Based on: Kiniry et al. KOA Remote Voting System. 2006. Integrated with Plone 2 & 3. Uses Faculty/Staff metadata. Uses Plone authentication. Intended to be a secure election system... but fails to fulfill our security requirements without a trusted party. PloneVote. Part II: Previous work

The cautionary tale of ATVotaciones Alexander Zapata, Iván Cervantes. ATVotaciones, 2008-2009 Developed at IMATE. Based on: Kiniry et al. KOA Remote Voting System. 2006. Integrated with Plone 2 & 3. Uses Faculty/Staff metadata. Uses Plone authentication. Intended to be a secure election system... but fails to fulfill our security requirements without a trusted party. Getting security in online elections right is hard! PloneVote. Part II: Previous work

The cautionary tale of ATVotaciones 1. User casts vote in plain text on server. 2. Server encrypts and stores vote. 3. Server emits receipt. PloneVote. Part II: Previous work

The cautionary tale of ATVotaciones Server Compromised: No Privacy PloneVote. Part II: Previous work

The cautionary tale of ATVotaciones Server Compromised: No Correctness PloneVote. Part II: Previous work

Previous academic work There is a lot of academic work on secure online elections: Clarkson, Chong, Myers. Civitas: Toward a Secure Voting System. IEEE SP 2007. Ben Adida. Helios: Web-based Open-Audit Voting. USENIX 2008. Josh Benaloh. Simple Verifiable Elections. Microsoft Research 2006. and many more. PloneVote. Part II: Previous work

Previous academic work These systems use specialized cryptographic primitives. PloneVote. Part II: Previous work

Previous academic work These systems use specialized cryptographic primitives. These systems use complex protocols and code running on different domains. PloneVote. Part II: Previous work

Previous academic work These systems use specialized cryptographic primitives. These systems use complex protocols and code running on different domains. These systems work for our purposes (they provide correctness and privacy without a trusteed party). PloneVote. Part II: Previous work

Civitas Clarkson, Chong, Myers. Civitas: Toward a Secure Voting System. IEEE SP 2007. Working system First cryptographically secure online election system. Secure, scalable. Fairly complex. Written in Java. Not CMS-integrated. PloneVote. Part II: Previous work

Helios Ben Adida. Helios: Web-based Open-Audit Voting. USENIX 2008. Working system Secure, scalable. Simpler to use and set-up than Civitas. Written in python and JavaScript. Not CMS-integrated. Uses homomorphic encryption: We cannot change the way votes are represented or counted without altering the security protocol. PloneVote. Part II: Previous work

SVE Josh Benaloh. Simple Verifiable Elections. Microsoft Research 2006. Academic paper. Does not include a working implementation. Mechanical vote capturing. Easy to understand secure vote counting protocol. Vote representation independent. PloneVote. Part II: Previous work

Outline I. Online elections II. Previous work III. The PloneVote system IV. PloneVote internals V. Conclusions

PloneVote PloneVote. Part III: The PloneVote system

PloneVote What aims to be... PloneVote. Part III: The PloneVote system

PloneVote What aims to be... First ever secure election system within a general purpose CMS. PloneVote. Part III: The PloneVote system

PloneVote What aims to be... First ever secure election system within a general purpose CMS. Designed from the start to be Plone integrated. PloneVote. Part III: The PloneVote system

PloneVote What aims to be... First ever secure election system within a general purpose CMS. Designed from the start to be Plone integrated. Based on state of the art academic work (mostly SVE & Helios). PloneVote. Part III: The PloneVote system

PloneVote What aims to be... First ever secure election system within a general purpose CMS. Designed from the start to be Plone integrated. Based on state of the art academic work (mostly SVE & Helios). Supporting multiple vote representation and vote counting schemes. PloneVote. Part III: The PloneVote system

PloneVote What aims to be... First ever secure election system within a general purpose CMS. Designed from the start to be Plone integrated. Based on state of the art academic work (mostly SVE & Helios). Supporting multiple vote representation and vote counting schemes. Allowing voting directly from any modern browser. PloneVote. Part III: The PloneVote system

Where are we? We have designed the architecture... PloneVote. Part III: The PloneVote system

Where are we? We have designed the architecture... Describes all software needed to support PloneVote's secure election protocol. Plone products, JavaScript web client and desktop clients Modular Extensible vote representation and counting schemes. Candidate and voter lists as usable content types. Layered No cyclic component interdependencies. PloneVote. Part III: The PloneVote system

Where are we? We have designed the architecture... PloneVote. Part III: The PloneVote system

Where are we? We have designed the architecture... written about 10% of the code... PloneVote. Part III: The PloneVote system

Where are we? We have designed the architecture... written about 10% of the code......and implemented 90% of the math ;) PloneVote. Part III: The PloneVote system

Where are we? PloneVoteCryptoLib A cryptographic library written in pure python. The core of PloneVote. Implements all the specialized cryptography required by the PloneVote system: ElGamal encryption Distributed threshold encryption key generation Distributed verifiable threshold decryption Reencryption and verifiable vote mixing Proofs verification (mixing and partial decryption) 100% operational. (This was my bachelor's thesis, advisor: S. Rajsbaum.) PloneVote. Part III: The PloneVote system

PloneVoteCryptoLib First implementation of these cryptographic primitives with a library approach. First python implementation of mixnets. Designed specifically to support the needs of PloneVote. PloneVote. Part III: The PloneVote system

PloneVoteCryptoLib Intuitive API for complex cryptographic operations: vote_collection.shuffle_with_proof() PloneVote. Part III: The PloneVote system

PloneVoteCryptoLib Intuitive API for complex cryptographic operations: Versus: vote_collection.shuffle_with_proof() Perform ElGammal reencryption for each vote. Randomly permute the votes (using a secure source of randomness) Generate 128 alternate mixes of the votes. Generate a 128 bit challenge using the Chaum-Pedersen heuristic. Use the challenge and mixing mappings to provide a zero-knowledge proof of ciphertext collection equivalence. and mind your group algebra! PloneVote. Part III: The PloneVote system

PloneVoteCryptoLib Intuitive API for complex cryptographic operations: vote_collection.shuffle_with_proof() With: Task monitoring services: custom progress bars, etc. Simple and detailed configuration: params.security_level = \ params.security_levels_enum.high or params.custom_{foo} = my_value Custom object serialization and included XML serialization. And more! PloneVote. Part III: The PloneVote system

What do we want to do now? We want to document and open source what we have. We want to continue implementing the full system. We want your help! PloneVote. Part III: The PloneVote system

Outline I. Online elections II. Previous work III. The PloneVote system IV. PloneVote internals V. Conclusions

PloneVote users There are three user roles in a PloneVote election: Voter: The person who votes in the election. Trustee: Members of the election commission. Appointed before the election starts. Oversees the election and protects voter privacy. Auditor: Verifies election correctness. Designated auditors selected before the election starts. Any other user can optionally audit the election as well. PloneVote. Part IV: PloneVote internals

Two stages of voting Vote Capture: Each voter casts their own vote, which is captured by the server and recorded as part of a captured ballot set. Vote Counting: The trustees transform the votes to ensure privacy, decrypt them, count them and publish the election results together with the info required to verify them. PloneVote. Part IV: PloneVote internals

Vote capture 1. Server sends JavaScript voting client. 2. Voter captures preferences in JS client. 3. Client encrypts and sends vote to server. 4. Client emits receipt for voter 5. Server stores encrypted vote. PloneVote. Part IV: PloneVote internals

Vote capture Ben Adida's Helios has shown that this is possible. PloneVote. Part IV: PloneVote internals

Vote counting Based on Josh Benaloh's Simple Verifiable Elections. Step 1: Each trustee cryptographically shuffles the votes. Step 2: The trustees cooperate to decrypt the votes. PloneVote. Part IV: PloneVote internals

Vote counting Step 1: Each trustee cryptographically shuffles the votes PloneVote. Part IV: PloneVote internals

Vote counting Step 1: Each trustee cryptographically shuffles the votes Same set of votes before and after shuffling. PloneVote. Part IV: PloneVote internals

Vote counting Step 1: Each trustee cryptographically shuffles the votes Same set of votes before and after shuffling. It is impossible to determine which vote in the input corresponds to which vote in the output. PloneVote. Part IV: PloneVote internals

Vote counting Step 1: Each trustee cryptographically shuffles the votes Same set of votes before and after shuffling. It is impossible to determine which vote in the input corresponds to which vote in the output. Attached proof of correct shuffling. PloneVote. Part IV: PloneVote internals

Vote counting Step 2: The trustees cooperate to decrypt the votes PloneVote. Part IV: PloneVote internals

Vote counting Step 2: The trustees cooperate to decrypt the votes Only the last shuffled set is decrypted. PloneVote. Part IV: PloneVote internals

Vote counting Step 2: The trustees cooperate to decrypt the votes Only the last shuffled set is decrypted. Multi-party (threshold) decryption. PloneVote. Part IV: PloneVote internals

Vote counting Step 2: The trustees cooperate to decrypt the votes Only the last shuffled set is decrypted. Multi-party (threshold) decryption. Proof of correct decryption. PloneVote. Part IV: PloneVote internals

Election verification Each voter must verify that their own vote was captured. Checking her receipt. PloneVote. Part IV: PloneVote internals

Election verification Each voter must verify that their own vote was captured. Checking her receipt. Any auditor can verify that the captured votes were correctly counted. Checking the proofs of shuffling and decryption. PloneVote. Part IV: PloneVote internals

PloneVote components PloneVote. Part IV: PloneVote internals

Outline I. Online elections II. Previous work III. The PloneVote system IV. PloneVote internals V. Conclusions

Conclusions Secure online elections are useful. PloneVote. Part V: Conclusions

Conclusions Secure online elections are useful. There is value in integrating secure online elections with Plone. PloneVote. Part V: Conclusions

Conclusions Secure online elections are useful. There is value in integrating secure online elections with Plone. PloneVote attempts to provide this integration, while supporting state of the art security. PloneVote. Part V: Conclusions

Conclusions Secure online elections are useful. There is value in integrating secure online elections with Plone. PloneVote attempts to provide this integration, while supporting state of the art security. We have done some of the work, but there is still much to do... and we want your help to do it! PloneVote. Part V: Conclusions

Thank you for your attention Questions?