Table of Contents:

User Characteristics
Software Components


Essential Features:

Allows elections officials to design and activate new elections
Allows ballots to be designed that are flexible with regard to the information presented to voters, the number of questions asked, the number of choices per question, how voters identify themselves and the content of the ballot.
Permits elections officials with the options of having elections where voters can change their votes.
Allows elections officials to enter the dates during which voters can vote and refuses votes that do not fall within this period.
Allows voters to voters to choose an election that they want to vote in.
Allows voters to receive a ballot custom made for the election that they want to vote in.
Allows voters to identify themselves using usernames and passwords.
Allows voters to vote on multiple questions with multiple choices.
Allows voters to review their votes before recording them, so that the vote can be cancelled if something is wrong.
Produces a receipt with a verification number so that voters know that they have succesfully voted.
Encrypts the transmissions involved in voting so that voting is secure.
Authenticates all votes by ensuring that they contain the appropriate login information.
Only three login attempts are allowed per session, in order to guard against automatic attempts to break passwords or denial of service attacks.
Refuses all electronic ballots that are not properly filled in.
All voting activity is logged in order to help guard against breeches of security and in order to restore elections that go down to their state prior to failure.
System checks itself automatically at regular intervals in order to ensure that there have been no breeches of security.
Allows elections officials to shut down an election without losing its current state if something goes wrong.
Allows elections to be restarted after having been shut down.
Notifies elections officials by e-mail of any attempted breeches of security or other failures.
The database is designed in such a way that it is impossible to associate voters with votes once they have voted, even if database security is broken.
All results are stored in the database.
Generates a HTML file containing elections results. The elections officials can decide what statistics to include in this web page.
E-mails this web page to a specified address.
Special Features
Breaks up the roles of the elections officials into elections officers and a system administrator in order to guard against corruption.
Provides the option of requiring more than one elections official to login in order to change the system. This helps guard against corruption.
Provides the option of automatically e-mailing voters all of the information that they need to vote, so that no election official will have access to their identification information. This e-mail is configurable.
Provides the option of randomly generating usernames and passwords for voters in order to decrease the number of people who are aware of their identification information.
Allows elections officials to import existing voter login information from other sources.
High level of configurability.
Allows elections officials to hold elections where voters may vote anonymously.
Allows elections officials to hold elections with weighted votes.
Allows voters to refuse entire ballots or to spoil individual questions in order to register protest against the election.
Times out if voters take to long to vote. This helps prevent people who leave their computers from having their votes stolen.
E-mails voters with developments such as when an election is suspended or restored, in order to keep them aware of the status of events and to help guard against elections officials performing actions behind closed doors.
Allows the server on which elections are designed and held, the database on which votes are recorded and the system on which voters vote to be on arbitrary and different computers, as long as they can all communicate with each other over a distributed network.
Produces a second HTML file containing elections results. This file contains the complete result statistics and stores them on disk securely in case they are needed.
Automatically deletes voting information from the database after a user-defined time has elapsed.
E-mails result statistics to all elections officials.
Allows elections officials to change elections settings as long as the election has not already started.
Features for the Future:
Allow election officials to customize the typesetting details of appearance of the ballot.
Allow voters to check the details of their votes using their verification number.
Give voters the option of voting through e-mail.
Allow voters to print their ballot before submitting it.
Permit questions to be answered with fill in text boxes.
Permit questions with more than one answer.
Permit questions whose options depend on the answers to previous questions.
Allow elections officials to impose special requirements on elections, such as the need to reach quorum.
Generate a log file of all elections officials actions in order to guard against their corruption.
Encrypt the database so that even the system administrator will not be able to read it.
Graphically represent election statistics.
Generate reports in formats other than HTML.
Print out election statistics.
Allow elections officials to see a list of all registered elections.
Record network traffic statistics.
Allow the system administrator to place resource limitations globally on all elections.
Allow more than one level of security.

User Charachteristics

System Administrators:

A system administrator is required to oversee the installation and operation of each Pericles Elections Server. The system administrator will not have control over or access to any particular elections once they are activated on the server, but he or she will be the only one able to authorize elections officers to start new elections. The system administrator is assumed to have at least a college level background in computers and networking. This person is necessary to ensure that the overall system is working and that its security integrity is not breached. The system administrator is the only person authourized to login use Pericles Elections Administrators.
Elections Officers:
Elections officers are impartial individuals who are given responsibility for overseeing individual elections by the organization holding each election. Each election housed on a Pericles Elections Server may have one or more elections officers. Whereas system administrators oversee the overall functioning of Pericles Elections Servers, elections officers are responsible for configuring and overseeing individual elections using a Pericles Elections Editor in a way that is independent of the general overall maintenance provided by the systems administrator. Elections officers must be authourized to run new elections by the systems administrator. Once an elections officers are authorized to set up an election by the system administrator, they are the only ones with the ability to design ballots, configure election options and enter an enumeration list. Elections officer are expected to be well versed in the elections protocol of the organization whose election they are supervising and are expected to be comfortable using GUI-based computer applications.
Voters are people who are authourized to vote in elections housed on Pericles Elections Servers. They vote using a Pericles Voting Client, and must have access to a computer running this software. Voters are expected to be comfortable using GUI-based computer applications. They should ideally have secure access to a private e-mail address.

Software Components

Pericles Elections Editor:

The Elections Editor is a piece of software that enables elections officers to design custom ballots and define configuration settings for each election. This program is also used to enter voter data in the form of enumeration lists. This software is housed on the same computer as the Elections Administrator and the Elections Server. Elections Officers can change their passwords using this program.
Pericles Elections Administrator:
The Elections Administrator is a piece of software that enables system administrators to authorize the creation of elections, to suspend or restore elections and to validate elections officers. This software is housed on the same computer as the Elections Editor and the Elections Server. System administrators can change their passwords using this program.
Pericles Elections Server:
The Elections Server is a piece of software that is responsible for doing all the work involved in running elections. It is responsible for automatically starting and ending elections, sending out automatic e-mails, validating security, checking to see if everything is working properly, communicating with the Voting Client and recording votes on a database. This software is housed on the same computer as the Elections Administrator and the Elections Server.
Pericles Voting Client:
The Voting Client is a piece of software that allows voters to communicate with Pericles Elections Servers to receive ballots and send login information and votes. Any Pericles Voting Client can communicate with any Pericles Elections Server. This software can be housed on any system that has a network connection to the appropriate Pericles Elections Server.

Questions or comments: cory@uoguelph.ca

Top to top of page