Helios Voting is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, web-based
electronic voting
Electronic voting (also known as e-voting) is voting that uses electronic means to either aid or take care of casting and counting ballots.
Depending on the particular implementation, e-voting may use standalone '' electronic voting machines'' ...
system. Users can vote in elections and users can create elections. Anyone can cast a ballot; however, for the final vote to be counted, the voter's identification must be verified. Helios uses
homomorphic encryption
Homomorphic encryption is a form of encryption that permits users to perform computations on its encrypted data without first decrypting it. These resulting computations are left in an encrypted form which, when decrypted, result in an identical ...
to ensure
ballot secrecy
The secret ballot, also known as the Australian ballot, is a voting method in which a voter's identity in an election or a referendum is anonymous. This forestalls attempts to influence the voter by intimidation, blackmailing, and potential vote ...
.
It was created by Ben Adida, a
software engineer
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ''p ...
involved in other projects such as
Creative Commons
Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has releas ...
and
Mozilla Persona
Mozilla Persona was a decentralized authentication system for the web, based on the open BrowserID protocol prototyped by Mozilla and standardized by IETF. It was launched in July 2011, but after failing to achieve traction, Mozilla announced in ...
.
Characteristic
Helios allows registered users to create elections. Each account requires an email address, name, and a password. The registered user can then create an election by specifying a name and time period. The user who created the election is known as the administrator of the election.
Once an election is created, Helios provides a
public key
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic a ...
to the administrator. The administrator prepares the ballot and creates a voter roll—these can be edited at any time before voting starts. The administrator freezes the election when the election is ready for voters to cast ballots. When the election is frozen, no changes can be made to the ballot, voter roll, or election time frame.
Source code
The front-end browser code is written in both
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
and
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
, while the back-end server code is written in
Python.
The Ballot Preparation System (BPS) guides voters through the ballot and records their choices.
The process to create the ballot and process the votes is based on Benaloh's Simple Verifiable Voting Protocol.
Both frontend and backend are
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
. The backend is released under the
Apache 2.0 license. while the frontend is released under the
GNU GPL v3+.
Voting process
A voter, from the voting roll created by the administrator, receives an email with the voter's username, a random password for that specific election, a URL to the voting booth, and an
SHA-1 hash of the election parameters. The voter follows the link in the email and begins the voting process. Once the voter finishes and has reviewed the ballot, the voter seals the ballot which triggers Helios to encrypt it and display a
ciphertext
In cryptography, ciphertext or cyphertext is the result of encryption performed on plaintext using an algorithm, called a cipher. Ciphertext is also known as encrypted or encoded information because it contains a form of the original plaintext ...
.
At this point the voter can either audit or cast the ballot. Auditing the ballot allows the voter to verify that the ciphertext is correct. Once ballot auditing is complete, that ballot is discarded (to provided some protection against vote-buying and coercion) and a new ballot is constructed. When the voter is ready to cast their ballot, they must provide their login information.
Helios authenticates the voter's identity and the ballot is cast. All votes are posted to a public online bulletin board which displays either a voter name or a voter ID number with the encrypted vote.
Tallying process
After an election ended, the Helios 1.0 system shuffled the ballots, decrypted all the votes, and made the shuffle publicly accessible for interested parties to audit.
Auditing allowed anyone to verify that the shuffle is correct. Once a reasonable amount of time for auditing had passed, Helios decrypted the ballots and tallied the votes. Anyone could download the election data to verify that the shuffle, decryptions, and tally were correct.
Helios 2.0, designed in 2008 and currently in use, abandoned the shuffling and switched to a homomorphic encryption scheme proposed by Cramer, Gennaro and Schoenmakers.
System limitations
The Helios platform is intended to be utilized in low-coercive, small scale environments such as university student governments. The following limitations are known.
;Privacy:
* The centralized server must be trusted not to violate ballot secrecy,
this limitation can be mitigated against by distributing trust amongst several stakeholders.
* Coercion and vote-buying are only ensured when material used to construct ballots (more precisely, nonces) are unknown to voters, e.g., when trusted devices are used to construct ballots.
;Verifiability:
* The ballot auditing/reconstruction device must be trusted to ensure successful ballot auditing (also known as cast-as-intended verifiability),
this limitation can be mitigated against by distributing auditing checks amongst several devices, only one of which must be trusted.
Security
* In 2010 researchers identified a ballot secrecy vulnerability.
* In 2011 and 2016 researchers identified cross-site scripting vulnerabilities. The first endangers sessions of administrators and was promptly patched.
For the second, if the attacker is able to get a voter to click a specially crafted link, the voter will land on a modified HELIOS page which can violate ballot secrecy or manipulate votes.
However, as of 2021 the vulnerability could not be recreated.
History
Adoption
Since 2009 the Universite Catholique de Louvain used Helios to elect its university president (of around 25,000 eligible voters, some 5,000 registered and 4,000 voted).
In the same year also the Princeton University adopted it to elect student governments.
Since 2010, the International Association for Cryptographic Research has used Helios annually to elect board members.
In 2014 the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional member ...
used Helios for their general election.
During the
Covid-19
Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019. The disease quickl ...
containment measures in
Malaysia
Malaysia ( ; ) is a country in Southeast Asia. The federation, federal constitutional monarchy consists of States and federal territories of Malaysia, thirteen states and three federal territories, separated by the South China Sea into two r ...
(2020-2022), the Tamil Language Society & Hindu Society of
University of Malaya
The University of Malaya ( ms, Universiti Malaya, UM; abbreviated as UM or informally the Malayan University) is a public research university located in Kuala Lumpur, Malaysia. It is the oldest and highest ranking Malaysian institution of highe ...
, conducted their Executive Council Elections through Helios.
References
{{reflist
Free software
Electronic voting methods