ersin ks zo lu
play

Ersin kszo lu Dan S. Wallach VoteBox Full featured DRE voting - PowerPoint PPT Presentation

EVT/WOTE 09 AUGUST ST 10, 2009 Ersin kszo lu Dan S. Wallach VoteBox Full featured DRE voting machine Paper in USENIX Security Symposium 2008 2 Pre-rendered Network ballot user interface replication increases the


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

  2.  VoteBox ◦ Full featured DRE voting machine ◦ Paper in USENIX Security Symposium 2008 2

  3. Pre-rendered Network ballot user interface replication increases the simplifies the graphics ics avail ilabil ability ity of voting subsystem & co code e size records Challenge Elgamal ballot option encryption casts the votes allows tallying ing the votes as as intende ended independently 3

  4.  One way of encryption  Two ways of decryption 4

  5.  In a tampered VoteBox, we cannot detect privacy attacks ◦ The random number can be used as a subliminal channel  VoteBox still needs to be smaller EVM Language LOC Pvote Python 460 VoteBox VoteBox Java 14500 14500 Diebold AccuVote TSX C++ 64000 Sequoia Edge C 124000 5

  6. Hardware and software hybrid Pre-rendered GUI  Minimized code size for easier inspection Challenge option  End to end cryptography Elgamal Encryption True Random  Better random numbers Number Generator Session ID  Additional tamper-evidence Bitstream mechanism Readback 6

  7.  A blank chip that the user can program on the field  Emulate any chip  Used for prototyping custom silicon  Accelerate designs taking the advantage of the parallelism  Widely deployed in the industry ($2.75 billion in 2010)  Fast time to market  Low initial cost  Re-programmable hence easy to update 7

  8.  500k gate FPGA Chip  Flash RAM  DRAM  VGA port  Dot Matrix LCD (2x16)  A rotary encoder  RS232 serial ports  Buttons and switches  USB configuration port  No CPU, GPU, network chip 8

  9.  Network replication and storage facilities ◦ We have limited space on board  Ethernet communication module ◦ Instead we have RS232 port  High resolution bitmap based GUI ◦ We have character graphics 9

  10. Vot oteBox eBox Class ssic ic vs vs. . Vot oteBox Box Nano no 10

  11. X Y color text X Y color text 11

  12.  IEEE port standard for IC’s to:  Debug  Program USB  Monitor  Daisy chain connection for all the components on board  One wire data in For FPGA GAs, s, JTAG AG is u s use sed for  One wire data out 1. Bitstream upload and download 2. Software upload and download 3. Accessing software debugger 12

  13. Programming USB  JTAG Done !!! ..9F23 ..9F23 ..XXXX 23 23 Triggers Session ID Captured from TRNG 13

  14. Programming USB  JTAG Done !!! The design is ready ! ..ED92 ..259A ..0932 ..0932 .. ..0932 ..CC21 ..F032 ..9F23 ..2201 ..FAFA ..E12C ..E2D6 ..127F ..6831 ..3247 ..1456 ..7FED 32 32 32 FPGA is sealed Write e it down! 14

  15. Readback bitstream Done !!! ..0932 32 Same ? ..E12C ..CC21 ..F032 ..2201 ..259A ..ED92 ..FAFA ..127F ..E2D6 ..6831 ..3247 ..1456 ..7FED ..0932 32 Seal is broken Compare 15

  16.  Upload a new bitstream Session ID Elections Elections Evil End Start bitstream Bitstream verification Session ID Elections Evil Honest Elections Start bitstream bitstream End Bitstream verification  Change software  JTAG port is monitored  Session ID is read-only 16

  17. EVM Language LOC Pvote Python 460 VoteBox Nano C 996 VoteBox (Stripped) Java ~7300 VoteBox (Full) Java 14500 Diebold AccuVote TSX C++ 64000 Sequoia Edge C 124000 17

  18.  Pvote 460 lines Python Linux PR-GUI SHA1 Python Libraries Kernel  VoteBox (Full) Network PR-GUI ballot rep. 14500 lines JAVA Linux JAVA Libraries Kernel Elgamal enc. Challenge DSA  VoteBox Nano PR-GUI TRNG 122 kB FPGA Modules executable Custom Modules Elgamal enc. Challenge DSA Session ID 18

  19.  We have shown that a very compact EVM can be built using an FPGA with following features: Externally Elgamal True Random verifiable Encryption and Number Generator attestation DSA Challenge Pre-rendered GUI Option No underlying OS 19

  20.  At the last step, the voter is given two options Cast Challenge The votes are valid The votes are invalidated Usual flow FPGA reveals the random numbers  FPGA only publishes the random numbers, the secret key is still safe  With a certain amount of challenges, the results are reliable enough 20

  21.  TRNG has 128 ring oscillators, each consisting of 3 inverters  f s is 25 MHz and throughput is 195 kB/s. 21

  22. 22

  23.  Theft of the device ◦ No secret data is stored in long term  Tapping serial port ◦ The votes are encrypted ◦ Encryption is probabilistic 23

  24. Hardware LOC Crypto Module 760 TRNG 520 Other 483 Total 1763 24

  25. TDI: (Test Data In) TDO: (Test Data Out) TCK: (Test Clock) TMS: (Test Mode Select) The line is tripwired to the Session ID 25

  26.  500k gate FPGA Chip  Flash RAM (16 MB)  DRAM (32 MB)  VGA port  Dot Matrix LCD (2x16)  A rotary encoder  RS232 serial ports  Buttons and switches  USB configuration port  Ethernet Port  PS/2 port  8 LEDs Xilinx Spartan-3E 500 Starter Kit 26

  27. TDI: (Test Data In) TDO: (Test Data Out) TCK: (Test Clock) TMS: (Test Mode Select) USB The line is tripwired to the Session ID For FPGAs JTAG is us used for JTAG 1. Bitstream upload and download 2. Software upload and download 3. Accessing software debugger 27

  28. 28

Recommend


More recommend