150 likes | 261 Views
Explore formal verification of computer-mediated remote voting for government elections. Define requirements & address conflicts. Assess trust in paper vs. electronic ballots. Proposal for secure electronic voting process. Methodology includes Business Object Notation and Java Modeling Language. Lessons learned from initial implementation to refinement. Future work includes complete formal specification and software verification. Engage with questions, criticisms, suggestions, and collaboration opportunities.
E N D
Dermot Cochran Supervisor:Joe Kiniry Formal Verificationof Elections that use Electronic Voting
PhD Thesis Statement: Verifiable Computer Mediated Remote Voting is appropriate for National and International Governmental Elections if (and only if) A proven and trustworthy election process is used.
Definitions • Computer mediated voting: using a computer to record and count ballots • Remote voting: the voter need not be at a polling station e.g. might be using internet or mobile phone to cast a ballot • Verifiable: can be formally proven that each and every vote is counted as cast
Voting Requirements • Privacy – no link between voter and ballot • Eligibility – proper registration of voters • Uniqueness – each vote counted once • Secrecy – inability to reveal a vote • Accuracy – all votes counted correctly • Robustness – no undetectable errors • Transparency – openness and verifiability
Conflicting Requirements • Publishing anonymous ballots in a a bulletin board would allow for public transparency but violates secrecy, because vote signing is still possible • Receipt free voting schemes promote privacy and secrecy but deny transparency
Are paper ballots trustworthy? • It depends on the process for: • Voter registration • Custody of ballot papers • Privacy within the polling stations; could I use a mobile phone camera to record my vote?
Trustworthy vs Trusted • Some people trust paper ballots • Some election officialstrust voting machines • Most people won’t trust complicated mathematical proofs • I am not exploring the question of public trust in electronic voting
Research Plan • Demonstrate that electronic vote counting can be made reliable and accurate; treat all counting errors with extreme suspicion • Model the election process as a whole, including security requirements • Prove that at least one such election process, is valid i.e. non-conflicting when electronic voting is allowed
Preference Voting • Ireland uses Proportional Representation by Single Transferable Vote i.e. preference voting • Voters express multiple preferences for candidates in constituencies with between three and five seats • Formalized as a Java Modeling Language (JML) specification
Methodology • Business Object Notation for analysis, design and architecture • Finite State Machine model • Java Modeling Language specification • Scenario tests from BON and state model • Unit tests from JML
Lessons Learnt • At first I went straight from the legal requirements to JML specifications, without using BON • When I implemented the JML into Java I then had to re-factor all my JML into the correct architecture and add a more detailed state machine
Refinement • BON is object-oriented, although a classifier in BON might refine to either a field, method, class or package in Java • BON pre-conditions, post-conditions and constraints are written in structured English suitable for refinement into JML statements
Future Work • Formally specify the whole election process including actions by people • Proved the correctness of the specification using software verification tools, including model checkers • Modular verification e.g. require that software and machines are verifiable
Thank You for Listening • Questions? • Criticisms? • Suggestions? • Possible Collaborations?