Anual Workshop February 5th, 2014. Anonymous yet reliable ePoll application Italo Dacosta...
Transcript of Anual Workshop February 5th, 2014. Anonymous yet reliable ePoll application Italo Dacosta...
Anual WorkshopFebruary 5th, 2014
Anonymous yet reliable ePoll application
Italo DacostaSecAnon-DistriNet
3
Electronic Polls/Elections
• Gathering opinions on a particular topic
• Determining the most popular choice over a set of options
• Typically targeted to a particular group of people
4
Problems
• Generally identifiable– Integrity vs. anonymity
• Users less motivated to freely participate and express opinions
• Users cannot verify their votes– Need to trust the poll organizer
• Difficult to restrict to a target group
5
Our Approach
• Rely on anonymous credentials for ballot privacy– PriMan framework
• Design verification capabilities for the bulletin board– Individual verifiability– Universal verifiability– Eligibility verifiability
6
Anonymous Credentials
Authentication with a classical credential (X.509)
Name: John DoeGender: MBirthdate: 01/01/1970Address: street 10, LeuvenZip code: 3000 Si
g
Proof
Authentication with anonymous credential (Idemix)
Name: John DoeGender: MBirthdate: 01/01/1970Address: street 10, LeuvenZip code: 3000 Si
g
Proof
7
Our Scenario
• Low to medium scale polls/elections• Low to medium coercion
– E.g., No high-stakes elections
• Untrusted poll organizer– But trusted credential issuer
• Voting over the Internet
8
Our ePoll Architecture
Credential Issuance
Issuer ServerCredential Storage &
Retrieval
Account Manager Server
Voting
ePoll Server
9
ePoll Protocols
• Registration protocol– Obtain ePoll anonymous credential from Issuer server– User validation (e.g. only one ePoll credential per user)
– E.g., eID, workshop registration number
• Storage & Retrieval protocol– ePoll credentials are securely stored in the Account Manager
server– User authenticates to retrieve her credentials on her desktop
computer or smartphone
• Voting protocol– User selects a poll to participate– User uses her ePoll app and credential to participate in the poll– User can validate their vote was successfully submitted
10
Vote Verification
• Poll Integrity Value (PIV)– PIVi = H(i | PIVi-1 | datai)
• Poll Authenticity Value (PAV)– Sign(SK, i | PID | PIVi)
• Work in progress
11
Bulletin Board
12
Implementation
• Java• PriMan framework• Mobile and Desktop client
ePoll Demonstrator
Questions?
14