Problems with Internet Voting
Posted by Aaron Massey on 06 Oct 2010.
Many non-technical people struggle to understand why voting over the Internet isn’t a good idea. They bank online. They conduct auctions online. They network online. They buy things online. Why can’t they vote online? If you’ve ever been forced to explain why Internet-based voting for public office is a bad idea, you now have a single, clear-cut example to highlight.
The District of Columbia is conducting an on-going pilot test for voting over the Internet. Despite just three days notice, a team of researchers from the University of Michigan hacked the system within 36 hours of it going live. Here’s a snippet from a detailed analysis of the hack by J. Alex Halderman:
The specific vulnerability that we exploited is simple to fix, but it will be vastly more difficult to make the system secure. We’ve found a number of other problems in the system, and everything we’ve seen suggests that the design is brittle: one small mistake can completely compromise its security. I described above how a small error in file-extension handling left the system open to exploitation. If this particular problem had not existed, I’m confident that we would have found another way to attack the system.
None of this will come as a surprise to Internet security experts, who are familiar with the many kinds of attacks that major web sites suffer from on a daily basis. It may someday be possible to build a secure method for submitting ballots over the Internet, but in the meantime, such systems should be presumed to be vulnerable based on the limitations of today’s security technology.
It’s not surprising, but it is a fantastic example of the difficulties involved in electronic voting over the Internet. If you’re interested in more on this topic, I would recommend starting with a piece I wrote a couple of years ago about Ed Felten’s CERIAS talk on electronic voting. Ed Felten was Alex Halderman’s PhD advisor at Princeton, and both of them are experts in electronic voting and computer security.