E-Voting Machine - Design Presentation Group M1 Jessica Kim Chi Ho Yoon Jonathan Chiang Donald Cober Mon. Sept 8 Initial Design Secure Electronic Voting Terminal
Status Finished: Design selections Block diagram for processes To Do: Verilog Schematic Layout Testing Simulation
Design Decisions Project Overview: Implement an ASIC with most core functions of an electronic voting machine Must be secure Must be configurable and marketable for all national, state and local voting events.
System Specifications Main Main Computer: Only Interacts with poll workers Stores all of the votes from the terminals Handles all identification and verification Communicates all errors and events to the poll workers Accumulates and tallies all results Watches for terminal malfunction or tampering Terminals: ATM-style user interface for voter “dumb” – Only stores the current information for the voter Is programmed with choices physically with flash storage medium (rather than over a network)
Terminal Specifications Each terminal is equipped with: LCD display Array of selection input buttons Keyboard for write-in candidate selection Printer for physical paper trail Card scanner for ID Fingerprint scanner for security theatre Encrypted 2-way communication line to the main computer Tamper detection devices
Chip Specifications Interfaces to the card reader, display, printer, fingerprint scanner and flash will be on an 8bit wide bus with a data clock signal. Additional functionality like card detection and display mode will be asserted over 1bit wide signal lines. Most device interfaces will be external to the chip. Chip will contain the state machines needed to control all of the peripherals and the SRAM to store all of the current user’s selections. Communications will be encrypted with the TEA algorithm
Block Layout Communication Encryption Decryption Parallel/Serial Shift (64bit) Flash ID Verification FSM SRAM Selection Display FSM Card Reader Fingerprint scanner Display Printer Buttons Confirmation FSM MUX DEMUX
Blocks ItemDescriptionSize ID Verification FSM Reads the ID from a mag-strip card and collects the fingerprint ID. Information is sent to the main computer for verification by the poll workers and an ID confirmation page is displayed for the voter transistors Selection Display FSM Sends the current voting page and the listed choices to the display and interprets button input. Selections can be made and basic page navigation is available. Also handles a simplified keyboard interface for write-in candidates transistors Confirmation FSM Sends the accumulated choices out to the main computer through the encryption block and waits for an echo. The echoed information is display to the user and the user confirms it. Once confirmed a message is sent to the main computer and the paper trail is printed 1000 transistors
Blocks ItemDescriptionSize Encryption/ Decryption Tea encryption of 64-byte chunks; Will feed directly into the communication buffer. The Encryption key is accessed directly from flash transistors SRAM512byte SRAM24000 transistors
Questions Should we be encrypting and decrypting the information or should we be using an external component?