Many issues surrounding voting and voting machines came into the public eye after the 2000 US Bush vs. Gore presidential election. There was controversy over the Florida recount, with arguments about how to count punch card ballots where holes had been only partially punched out (these were called “hanging chads”). This brought much attention to voting technologies and how voters interact with them. It led to widespread examination of the details of the voting systems used in the United States. This increased interest in looking into the flaws of those systems and figuring out how they could be improved. Our comps project digs into many of the same issues.
We’ve spent two terms looking into electronic voting machines and what must be done to ensure that they are secure, usable, and trustworthy. This project gave us a look into security and human-computer interaction applied in a very practical context. We approached this project from several different angles. First, we provide an introduction to electronic voting systems, which you can find in the General Info section. It covers topics such as keeping votes private and secure, election audits and recounts, and usability and accessibility. Secondly, we take a detailed look at several different possible attacks against electronic voting systems in Threats. We dive into the literature on electronic voting machines and the threats they face, as well as the security measures that can be taken to avoid those threats. Finally, we explored these voting machine issues through the framework of an existing electronic voting machine. For this purpose, we used Helios, which is an open source online voting system. We ran our own mock elections (and one real) using Helios as well as exploring its security features and vulnerabilities.
Below we have a link to our GitHub repository with our modified version of Helios.
Our presentation video: