e-Voting Application using Barcode Vtoken

  • 969 views
Uploaded on

Isolated e-Voting System in a Precinct Secured with Vote Sealing and Paper Audit Trail

Isolated e-Voting System in a Precinct Secured with Vote Sealing and Paper Audit Trail

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
969
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
40
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. e-Voting Application using Barcode Vtoken Bowo Prasetyo Isolated e-Voting System in a Precinct Secured with Vote Sealing and Paper Audit Trail December 10, 2011 http://www.scribd.com/prazjp http://www.slideshare.net/bowoprasetyo
  • 2. e-Voting Application
    • e-Voting Application is an open source project aiming to create an e-voting system which complies to European e-Voting standard and EML specification.
    • 3. e-Voting Application is also used as basis to create an e-voting system which complies to Indonesian e-Voting standard which is being defined by Badan Pengkajian dan Penerapan Teknologi (BPPT).
  • 4. Download and License
    • e-Voting Application can be found here:
      • http://sourceforge.net/projects/evotingapp/
    • It is under the license GPL v3, basically means:
      • You may download, modify, use and redistribute it freely.
      • 5. Derived works should be made open source too under the same license.
  • 6. e-Voting Application Components
    • Client side applications:
      • Vtoken Generating application (VG). √
      • 7. e-Voting Machine application (EVM). √
      • 8. Vote Counting application (VC).
    • Server side systems:
      • e-Voting Tabulation system (EVT).
  • 9. e-Voting Scenario
    • Voting opening
      • Administrator opens voting process.
    • Voting session
      • Administrator generates vtoken using VG.
      • 10. Voters cast vote using EVM.
    • Voting closing
      • Administrator closes voting process.
      • 11. VG/EVM generates result in files.
    • Result delivery
      • Administrator sends result to election body.
  • 12. Voting Opening VG EVM EVM EVM Administrator opens voting in VG machine and all EVM machines
  • 13. Voting Opening
    • Administrator opens voting process on the machine by pressing an open voting button on VG/EVM.
    • 14. When opening voting process, VG/EVM:
      • Activates and deactivates some functions.
      • 15. Generates a pair of private key – public key for digital signature:
        • VG: vtoken-private.bin and vtoken-public.bin
        • 16. EVM: private.bin and public.bin
    • vtoken-public.bin is then copied from VG machine to each EVM machine.
  • 17. Voting Opening
    • Before administrator open voting process on the machine, VG:
      • cannot be used to generate vtoken.
      • 18. can be used to reset ballot box.
    • After administrator open voting process, VG:
      • can be used to generate vtoken.
      • 19. cannot be used to reset ballot box.
  • 20. Voting Opening
    • Before administrator open voting process on the machine, EVM:
      • cannot be used to cast votes.
      • 21. can be used to view result.
      • 22. can be used to reset ballot box.
    • After administrator open voting process, EVM:
      • can be used to cast votes.
      • 23. cannot be used to view result.
      • 24. cannot be used to reset ballot box.
  • 25. Voting Session 1. Administrator verifies voter and gives vtoken barcode 2. Voter validates vtoken barcode and casts vote 4. Voter puts paper audit trail into audit box 3. Voter takes paper audit trail VG EVM Entry Exit
  • 26. Voting Session
    • Voter verification
      • Administrator verifies voter identity.
    • Vtoken generation
      • Administrator generates vtoken as proof of right-to-vote using VG machine.
    • Vtoken validation
      • EVM validates vtoken before voting.
    • Voting
      • Voter casts vote using EVM.
  • 27. Voting Session
    • Vote sealing
      • EVM seals “vtoken + vote” using digital signature.
    • Vote collection
      • EVM collects sealed votes in ballot box electronic.
    • Paper audit trail generation
      • Voter takes generated paper audit trail and puts into audit box.
  • 28. Voter Verification
    • Before voter casts a vote, administrator verifies for two things:
      • voter's identity, and
      • 29. whether voter is eligible to vote.
    • Administrator performs voter verification:
      • manually using traditional identity card, or
      • 30. electronically using digital identity card, or
      • 31. combination of both.
  • 32. Vtoken Generation
    • Vtoken is a proof of right-to-vote for voter.
    • 33. It is issued by administrator after voter verification.
    • 34. It is generated by Voter Generator (VG) application as a unique random number.
    • 35. It is validated by EVM before voter casts vote.
  • 36. Vtoken Validation
    • Before EVM can be used to cast vote, it should validates vtoken of the voter.
    • 37. Voter can use EVM to cast a vote, if:
      • Vtoken is validated as the right one issued by administrator.
      • 38. Vtoken is validated as the one that is not already used before.
  • 39. Voting
    • Voter uses EVM to cast a vote by:
      • Scanning vtoken barcode.
      • 40. Choose a candidate with a touch.
      • 41. Confirm the choice with a touch.
      • 42. Take paper audit trail and put it in audit box.
  • 43. Vote Sealing
    • Each vote casted by voters is combined by their unique vtoken and sealed.
    • 44. By sealing it means:
      • Encrypts “vtoken + vote”.
        • Makes it hard-to-read by bad guys.
      • Digitally signs the encrypted “vtoken + vote”.
        • Makes it cannot be altered (integrity).
        • 45. Makes it cannot be denied as coming from the machine (non-repudiation).
  • 46. Vote Collection
    • Each sealed vote (encrypted and digitally signed) is collected into electronic ballot box.
      • Technically speaking, they are collected in a table in MySQL database.
    • Sealed votes are collected in random order such that it cannot be traced down to the voter.
      • After each vote the table storage is physically reordered according to some random number.
  • 47. Paper Audit Trail Generation
    • EVM prints paper audit trail as soon as collected e-vote into electronic ballot box.
    • 48. Paper audit trail is a visual proof for voter that his/her choice is correctly accepted.
      • Hence paper audit trail should clearly print the voter's choice in human readable format.
    • Paper audit trail is also counted as comparison to e-vote in the case of dispute.
      • Hence paper audit trail may also print additional machine readable barcode.
  • 49. Voting Closing VG EVM EVM EVM Administrator closes voting in VG machine and all EVM machines
  • 50. Voting Closing
    • Administrator closes voting process on the machine by pressing a close voting button on VG/EVM.
    • 51. When closing voting process, VG/EVM:
      • Activates and deactivates buttons.
      • 52. Generates a result file:
        • vtokens.bin containing vtokens generated.
        • 53. result.bin containing voting result.
  • 54. Voting Closing
    • Before administrator close voting process on the machine, VG:
      • can be used to generate vtoken.
      • 55. cannot be used to reset ballot box.
    • After administrator close voting process, VG:
      • cannot be used to generate vtoken.
      • 56. can be used to reset ballot box.
  • 57. Voting Closing
    • Before administrator close voting process on the machine, EVM:
      • can be used to cast votes.
      • 58. cannot be used to view result.
      • 59. cannot be used to reset ballot box.
    • After administrator close voting process, EVM:
      • cannot be used to cast votes.
      • 60. can be used to view result.
      • 61. can be used to reset ballot box.
  • 62. Result Management
    • Administrator sends voting results from each machine to election body.
    • 63. Each EVM machine generates voting result:
      • #-*-result.bin : a binary file containing all sealed votes casted by voters on the machine.
      • 64. #-*-public.bin : a binary file containing key to verify and decrypt the sealed votes.
    • VG and each EVM also generates audit result:
      • #-vtokens.bin with #-vtoken-public.bin
      • 65. #-vtoken-audit.log, #-*-audit.log
  • 66. Voting Result Management
    • Files result.bin contains sealed votes which are encrypted and digitally signed.
    • 67. To verify and decrypt this sealed votes, the suitable public key is needed.
    • 68. Therefore each #-*-result.bin should always be accompanied by corresponding #-*-public.bin .
  • 69. Audit Result Management
    • Paper audit trails are physically collected and could be counted in case of dispute.
    • 70. File vtokens.bin contains generated vtokens which are digitally signed.
    • 71. To verify this vtokens, the suitable public key is needed.
    • 72. Therefore each #-vtokens.bin should always be accompanied by corresponding #-vtoken-public.bin .
  • 73. Audit Result Management
    • Files #-vtoken-audit.log, #-*-audit.log contains record of all actions taken by user along with its timestamp.
    • 74. These are digitally signed by VG/EVM, and could be verified using corresponding #-*-vtoken-public.bin/ #-*-public.bin .
    • 75. These could be used to reconstruct all actions happened during evoting process for audit purpose.
    • 76. Since all sensitive information related to vote confidentiality is not recorded, these cannot be used to trace down voters and their choice.
  • 77. Key Management
    • VG machine generated a pair of key:
      • #-vtoken-private.bin
      • 78. #-vtoken-public.bin
    • Each EVM generated a pair of key:
      • #-*-private.bin
      • 79. #-*-public.bin
    #: precinct no. *: room no.
  • 80. Private Key Management
    • Private key is used to digitally sign vtoken as well as sealed vote.
    • 81. After voting process finished, private key from all machines should be:
      • copied to external media,
      • 82. deleted from each machine, and
      • 83. guarded securely from being misused.
    • Misuse of private key for example could generate forged votes as being genuine.
  • 84. Public Key Management
    • Public key is used to verify digital sign of vtoken and sealed vote.
    • 85. Public key is also used to decrypt sealed vote.
    • 86. After voting process finished, public key from all machines should be:
      • copied to external media together with corresponding result.bin/vtokens.bin
      • 87. deleted from each machine, and
      • 88. guarded securely from being misused.
    • Misuse of public key for example to decrypt sealed vote by unauthorized person.
  • 89. References
    • “LEGAL, OPERATIONAL AND TECHNICAL STANDARDS FOR E-VOTING”, Recommendation Rec(2004)11 adopted by the Committee of Ministers of the Council of Europe on 30 September 2004 and explanatory memorandum.