Working Up

Working Up in Project Management, Systems Engineering, Technology, and Writing

Working Up header image 2

Secure Election Software – Simple

October 18th, 2010 · No Comments

by Dwayne Phillips

Computer voting systems have proven to be insecure. I suggest building a secure one. The foundation would be a single-user single-task operating system (like CP/M). We could write this from scratch with very little money.

There have been recent notes on the net about the Washington D.C. online voting system that was hacked quickly (here is one of many links to the story). The hackers gained total control of the system, i.e., they could have given any candidate any number of votes and controlled all elections.

Good points: Washington D.C. was trying an open-source software voting system. Washington D.C. put the system up on the net for all eyes to see and test.

Bad Points: The system had huge security holes.

Good Point: These faults were found before anyone tried to use this in a real election.

We have been using computer voting systems for a few elections where I vote (the Northern Virginia suburbs of Washington D.C.). It is not confidence inspiring to see

  • voting stations running Microsoft Windows
  • technicians rebooting voting stations frequently
Let’s try this again. Let’s write a computer voting system that is secure. I really mean it when I begin with “Let’s try this again.”
  1. Start with a computer.
  2. Write an operating system for the computer.
  3. Write a voting system program for the computer and the operating system.

There are lots of computers that we can use. Some have touch screens; some don’t; they all have keyboards. Write a new operating system. The new operating system can only

  • run one task at a time
  • accommodate one user at a time

Yes, a single-user single-task operating system. I used to use one of these things; it was called CP/M (Control Program/Micro-Computer). I still have a computer in a closet at the house that runs CP/M. Early versions of MS-DOS were also single-user single task operating systems. No doubt some of the early operating systems from DEC (Digital Equipment Corporation for all you youngsters) were single-user single-task operating systems.

You see, a single-task operating system cannot have malware running in the background. Nothing can run in the background as only one task can run. Also, a communications program cannot run in the background because as stated earlier, nothing can run in the background.  Hence, only the voting system program can run on the computer. The user can see that program running. Nothing is happening that is not visible to the naked eye.

This could cost a lot of money. Yes, it could as anything sponsored by the government could cost a lot of money. On the other hand, this could cost very little money. It could be written as an open-source project by volunteers. It could be inspected (reading the source code) and tested by volunteers as well.

I suggest starting from scratch. Take a blank sheet of paper, design the operating system, and write it. If that seems too daunting a task, start with a copy of CP/M and update it to use CD-ROMs instead of 160-KiloByte floppy disks. I don’t think this task is too daunting. I think some college sophomores could do it.

I wish this would happen. I doubt it will. There is too much money available for large, complex, expensive, fancy computer voting systems for people to use a simple, free system. Then again, there is hope. Perhaps one day people who make the decisions will decide on something that is secure by definition.

Tags: Ideas · Multitasking · Technology

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment