190 likes | 573 Views
Prototype Remote E-Voting System. Scope of this presentation. Brief introduction to E-voting Feasibility of the system Design patterns/ E-voting protocols Security technology Operation of prototype system Conclusions. E-Voting and Remote E-voting. E-voting brings automation to voting
E N D
Scope of this presentation • Brief introduction to E-voting • Feasibility of the system • Design patterns/ E-voting protocols • Security technology • Operation of prototype system • Conclusions
E-Voting and Remote E-voting E-voting brings automation to voting • electronic ballot counting machine • voting kiosks at polling stations Remote E-voting A system that allows voters to vote from outside a polling station via an electronics device • PC attached to the internet • mobile phone with WAP
Feasibility of the system • Digital divide • Verifiability • Non voter evidence • Attacks • Authentication • Privacy • Anonymity
Design Patterns/E-voting protocols • I implemented a “type 2” e-voting system, this design allows authentication, anonymity and privacy through the use of two servers and Public Key Infrastructure (PKI). • I structured my communication around a “secure channel” design pattern, the only real advantage of this design pattern was that it made the code a lot easier to understand and modify
Security technology (PKI) • Public Key Infrastructure (PKI) • Asymmetric • Public and Private keys • Public Key Encryption (Privacy) • Digital Signature (Authentication) • I used RSA encryption build into Microsoft.NET framework class library (FCL)
Security technology (OTP) • One Time Pad • Symmetric • One key, same size as message, totally random • I built an OTP object using a random number generator that is build into the the .NET FCL
Operation of the prototype system VoterID Vote BOB 123 Primary Guard Secondary Guard
Bob encrypts vote (OTP) BOB X Primary Guard Secondary Guard
Bob establishes secure channel with primary guard (RSA) A X Primary Guard Secondary Guard
Primary guard verifies Bob is a valid voter Primary Guard BOB Secondary Guard X A = BOB
Primary guard digitally signs encrypted vote Primary Guard Secondary Guard SX A = BOB SX = X
Bob verifies digital signature SX = X SX Primary Guard Secondary Guard A = BOB SX = X
Bob establishes a secure channel with secondary guard BSX Primary Guard Secondary Guard A = BOB SX = X
Secondary guard verifies digital signature Primary Guard Secondary Guard SX A = BOB SX = X BSX = SX = X
Secondary guard decrypts the vote Primary Guard Secondary Guard X A = BOB SX = X BSX = SX = X = 123
The vote is counted and Bob has voted Primary Guard Secondary Guard A = BOB X = 123
Authentication, Anonymity and Privacy • Public key encryption provides privacy • Voter ID and Digital signatures provide authentication • The two servers do not line the votes up with the voter. So anonymity is provided
Conclusions • Covered some of the technical issues facing any remote e-voting system • E-voting does have a future • Without change in the law no e-voting system can satisfy every essential requirement. • Remote e-voting could be the worst or best thing to happen to democracy ever.