Aanestysdemo

Kohteesta PiraattiWiki
Loikkaa: valikkoon, hakuun

Tälle sivulle kasataan hieman ajatuksia sähköisen äänestyksen demosta

Asia

Tarkoituksena on rakentaa mahdollisimman järkevä sähköinen äänestysjärjestelmä yhdistystason tarpeisiin. Ei siis kansallisiin vaaleihin, joten turvallisuuden ei tarvitse olla mallia paranoid.

Idea

Ideana on kahden, autentikointi- ja äänestysserverin käyttö.

Äänestysserveri

Äänestysserverillä luodaan varsinaiset äänestykset (asiat ja äänestysvaihtoehdot). Jokainen äänestys liittyy kokoukseen tai tapahtumaan (jäljempänä kokous). Jokainen kokous voi sisältää yhden tai useampia äänestyksiä, ja äänestyksiä voi lisätä kokoukseen myös lennossa. Järjestelmä luo jokaiselle kokoukselle tunnisteen ("loit uuden kokouksen, jonka tunniste on 920230").

Autentikointiserveri

Autentikointiserverillä luodaan kertakäyttösalasanasarjoja. Jokainen salasanasarja liittyy yhteen kokoukseen. Generoitaessa salasanoja syötetään sen kokouksen tunniste, jonka äänestyksiin salasanat on tarkoitettu, ja tarvittavien kertakäyttösalasanojen määrä. Kertakäyttösalasanat jaetaan äänivaltaisille kokouksen osanottajille. Käyttäjä voidaan tarpeen mukaan lisä-autentikoida muilla tavoilla. Käyttäjän halutessa äänestää, hän kirjautuu autentikointiserverille, autentikoituu (jos tarpeellista) ja syöttää kertakäyttösalasanansa. Autentikointiserveri vahvistaa äänioikeuden ("saat äänestää kokouksessa, jonka tunniste on 920230"). Tämän jälkeen autentikointiserveri neuvottelee äänestyssalasanan äänestysserverin kanssa siten, että tieto äänestäjän henkilöllisyydestä ei kulkeudu autentikointiserveriltä äänestysserverille. (Pitää varmistaa, ettei äänestyssalasanalla ole duplikaatteja, koska salanana on generoitu). Äänestäjä kirjoittaa muistiin äänestyssalasanan, ja vahvistaa saaneensa sen itselleen. Tällöin kertakäyttösalasana merkitään käytetyksi. Samalla äänestysserverille menee tieto, että äänestyssalasana on aktivoitu. Tätä äänestyssalasanaa voi käyttää koko kokouksen ajan kaikissa äänestyksissä.

Käyttäjäntunnus/salasana-autentikointi

Äänestäjä voi myös luoda tunnukset autentikaatiojärjestelmään, jossa äänestyksen järjestäjä voi äänestyssä luodessaan antaa tietyille käyttäjille äänioikeuden. Järjestäjä voi myös luoda listoja, joiden perusteella äänestyksiä voi nopeasti luoda (esim. "hallituksen jäsenet" tai "yhdistyksen jäsenet" yms). Tietokantaan merkitään käyttäjälle oikeus äänestää järjestäjän luomassa äänestyksessä. Seuraavan kerran käyttäjän kirjautuessa sisään, näytetään käyttäjälle käynnissä olevat äänestykset, joista käyttäjä valitsee haluamansa. Tämän jälkeen jatketaan normaalisti, eli luodaan sessioid, annetaan se käyttäjälle ja äänestysserverille ja poistetaan merkintä äänioikeudesta.


Kertakäyttösalasana-autentikointi

Autentikointiserverille luodaan n kpl kertakäyttösalasanoja, jotka annetaan äänestyksen järjestäjälle. Järjestäjä vastaa salasanojen jakamisesta (tai voidaan antaa mahdollisuus antaa vaikkapa lista sähköpostiosoitteista, joihin lähetetään salasanat?). Äänestettäessä kirjaudutaan vain autentikointiserverille kertakäyttösalasanalla, autentikointiserveri luo normaalisti sessioid:n, joka annetaan äänestäjälle ja lähetetään äänestysserverille ja kertakäyttösalasanan tiedot tuhotaan autentikointiserverillä.

Toteutus