Helios röstning
Typ av webbplats |
Röstsystem med öppen källkod |
---|---|
Grundare | Ben Adida |
URL | https://heliosvoting.org/ |
Skrivet i | JavaScript , HTML , python |
Förvar | |
---|---|
Skrivet i | Pytonorm |
Licens | Apache-licens 2.0 |
Hemsida |
|
Förvar | |
---|---|
Skrivet i | JavaScript |
Licens | GNU GPL 3+ |
Hemsida |
|
Helios Voting är ett webbaserat elektroniskt röstningssystem med öppen källkod . Användare kan rösta i val och användare kan skapa val. Vem som helst kan rösta; för att den slutliga rösten ska räknas måste dock väljarens identitet verifieras. Helios använder homomorf kryptering för att säkerställa valsekretess .
Det skapades av Ben Adida, en mjukvaruingenjör involverad i andra projekt som Creative Commons och Mozilla Persona .
Karakteristisk
Helios tillåter registrerade användare att skapa val. Varje konto kräver en e-postadress, ett namn och ett lösenord. Den registrerade användaren kan sedan skapa ett val genom att ange ett namn och tidsperiod. Användaren som skapade valet kallas valets administratör. När ett val har skapats tillhandahåller Helios en offentlig nyckel till administratören. Administratören förbereder omröstningen och skapar en röstlängd – dessa kan redigeras när som helst innan omröstningen startar. Handläggaren fryser valet när valet är klart för väljarna att rösta. När valet är fryst kan inga ändringar göras i valsedeln, röstlängden eller valets tidsram.
Källkod
Front-end webbläsarkoden är skriven i både JavaScript och HTML , medan back-end-serverkoden är skriven i Python . Systemet för att förbereda röstsedlar (BPS) guidar väljarna genom valsedeln och registrerar deras val. Processen för att skapa röstsedeln och bearbeta rösterna är baserad på Benalohs Simple Verifiable Voting Protocol.
Både frontend och backend är fri programvara . Backend släpps under Apache 2.0- licensen. medan frontend släpps under GNU GPL v3+ .
Röstprocess
En väljare, från den röstlängd som skapats av administratören, får ett e-postmeddelande med väljarens användarnamn, ett slumpmässigt lösenord för det specifika valet, en URL till valbåset och en SHA-1-hash av valparametrarna. Väljaren följer länken i mejlet och påbörjar röstningsprocessen. När väljaren är klar och har granskat röstsedeln, förseglar väljaren röstsedeln som utlöser Helios att kryptera den och visa en chiffertext .
Vid denna tidpunkt kan väljaren antingen granska eller lägga omröstningen. Genom att granska röstsedeln kan väljaren verifiera att chiffertexten är korrekt. När valrevisionen är klar kasseras den valsedeln (för att ge ett visst skydd mot röstköp och tvång) och en ny valsedel konstrueras. När väljaren är redo att lägga sin röst måste han/hon lämna sina inloggningsuppgifter. Helios autentiserar väljarens identitet och rösten avges. Alla röster läggs upp på en offentlig anslagstavla online som visar antingen ett väljarnamn eller ett väljar-ID-nummer med den krypterade rösten.
Uppräkningsprocess
Efter att ett val avslutats, blandade Helios 1.0-systemet röstsedlarna, [ tveksamt ] dekrypterade alla röster och gjorde blandningen tillgänglig för alla intresserade att granska. Granskning gjorde det möjligt för vem som helst att verifiera att blandningen är korrekt. När en rimlig tid för revision hade passerat dekrypterade Helios röstsedlarna och räknade ihop rösterna. Vem som helst kunde ladda ner valdata för att verifiera att blandningen, dekrypteringarna och sammanställningen var korrekta. Helios 2.0, designad 2008 och för närvarande i bruk, övergav blandningen och bytte till ett homomorfiskt krypteringsschema som föreslagits av Cramer, Gennaro och Schoenmakers.
Systembegränsningar
Helios-plattformen är avsedd att användas i småskaliga miljöer med låg tvångsåtgärd, såsom universitetsstudenter. Följande begränsningar är kända.
- Integritet
- Den centraliserade servern måste lita på att den inte bryter mot valsekretessen, denna begränsning kan mildras genom att fördela förtroende mellan flera intressenter.
- Tvång och röstköp garanteras endast när material som används för att konstruera valsedlar (mer exakt, nonces) är okänt för väljarna, t.ex. när betrodda enheter används för att konstruera valsedlar.
- Verifierbarhet
- Enheten för revision/rekonstruktion av röstsedlar måste vara tillförlitlig för att säkerställa framgångsrik valrevision (även känd som cast-as-intended verifiability), denna begränsning kan mildras genom att fördela revisionskontroller mellan flera enheter, varav endast en måste vara betrodd.
säkerhet
- År 2010 identifierade forskare en sårbarhet för valsekretess.
- Under 2011 och 2016 identifierade forskare skriptsårbarheter på flera ställen. Den första äventyrar administratörssessioner och patchades omedelbart. För det andra, om angriparen kan få en väljare att klicka på en specialgjord länk, kommer väljaren att landa på en modifierad HELIOS-sida som kan bryta mot valsekretess eller manipulera röster. Från och med 2021 kunde dock sårbarheten inte återskapas.
Historia
Adoption
Sedan 2009 använde Universite Catholique de Louvain Helios för att välja sin universitetspresident (av cirka 25 000 röstberättigade, cirka 5 000 registrerade och 4 000 röstade). Samma år antog också Princeton University det för att välja studentregeringar.
Sedan 2010 har International Association for Cryptographic Research använt Helios årligen för att välja styrelseledamöter.
2014 använde Association for Computing Machinery Helios för sina allmänna val.
Under Covid-19- inneslutningsåtgärderna i Malaysia (2020-2022) genomförde Tamil Language Society & Hindu Society of University of Malaya sina verkställande rådsval genom Helios.