E-hääletamine
Elektroonilist hääletamist nimetatakse e-hääletamiseks. E-hääletamise alla kuuluvad elektroonilised hääletamise süsteemid ja elektroonilised häälte kontrollimise süsteemid.
Niisuguseid süsteeme saab jagada kaheks, valimisjaoskonnas olevateks järelvalvega süsteemideks ja iseseisvateks süsteemideks. Valimisjaoskonnas oleva süsteemi näiteks on elektrooniline valimismasin. Elektroonilised valimismasinad on küllaltki levinud, neid kasutatakse näiteks USA-s, Indias ja Brasiilias.
Teise kategooriasse kuuluvad iseseisvad süsteemid, mis võimaldavad valijal hääletada väljaspool valimisjaoskonda, näiteks arvuti või mobiiltelefoni abil. Niisugune süsteem on kasutusel Eestis.
E-hääletamine Eestis
Eestis tähendab e-hääletamine seda, et valida saab interneti vahendusel, seega võib seda nimetada ka i-hääletamiseks (rahvusvaheliselt on korrektne kasutada terminit i-voting, sest e-voting seostub pigem valimismasinatega). Esimest korda sai Eestis valimistel e-hääletada 2005. aastal.
Milles võiks seisneda i-hääletamise eelis?
- võimaldab hääletada väljaspool jaoskonda (näiteks kodus või välisriigis)
- suurendab valimisaktiivsust (uuringud pigem ei toeta seda arvamust)
- mugavus - puudub transpordi kulu ja ilma faktor
- valimistulemus saadakse kiiremini
- ideaalse hääletamissüsteemi korral vähendab valimispettuste ja rünnete võimalust (aga kas leidub üldse ideaalset lahendust?)
E-hääletamine on muutunud iga aasta järjest populaarsemaks, sellest annab ülevaate e-hääletamise statistika: https://www.valimised.ee/et/valimiste-arhiiv/elektroonilise-hääletamise-statistika:
Valimised | Aasta | E-hääletajate arv | E-hääletajate osakaal |
---|---|---|---|
Kohalike omavalitsuste valimine | 2005 | 9317 | 1,9% |
Riigikogu valimised | 2007 | 30275 | 5,5% |
Euroopa parlamendi valimine | 2009 | 58669 | 14,7% |
Kohalike omavalitsuste valimine | 2009 | 104413 | 15,8% |
Riigikogu valimised | 2011 | 140846 | 24.3% |
Kohalike omavalitsuste valimine | 2013 | 133808 | 21.2% |
Euroopa parlamendi valimine | 2014 | 103151 | 31,3% |
Riigikogu valimised | 2015 | 176491 | 30,5% |
Kohalike omavalitsuste valimine | 2017 | 186034 | 31,7% |
Riigikogu valimised | 2019 | 247232 | 43,8% |
Euroopa parlamendi valimine | 2019 | 155521 | 46.7% |
Mida on vaja e-hääletamise korraldamiseks (Eestis)?
- ID-kaarti või mobiili-ID identifitseerimiseks ja allkirjastamiseks
- Seadusandlust, mis reguleeriks e-hääletust
- E-hääletamise tarkvara
- E-hääletamise süsteemi (riistvara, infoturve, side)
- E-hääletamise korraldajaid
- Teadlikke kasutajaid
- Esimene kontrollküsimus: Kas Eesti e-hääletamise süsteem on piisavalt turvaline?
- Teine kontrollküsimus: Kuidas Eesti e-hääletamise süsteem toimib? Kui te ei oska sellele küsimusele vastata, siis ei saanudki teadlikult eelnevale küsimusele vastata ning see vastus sõltus pigem usaldustasemest. Seetõttu on selle loengu eesmärgiks põgusalt tutvustada Eesti e-hääletamise süsteemi.
ID-kaart on vastavalt Eesti riigi seadustele kohustuslik isikut tõendav dokument. Seega on Eestis olemas infrastruktuur valijate autentimiseks ja valijail võimalus digiallkirjastamiseks. Samuti on Eestis vastu võetud seadused, mis reguleerivad elektroonilist hääletamist. Hääletamise ning sealhulgas e-hääletamise läbiviimist kontrollib Vabariigi Valimiskomisjon, kes muuhulgas registreerib kandidaadid, teeb kindlaks tulemused ja vaatab läbi kaebused. Valimisi korraldab riigi valmisteenistus, mis on Riigikogu Kantselei struktuuriüksus.
Eesti e-hääletamise süsteemi ülesehitus
Kuidas Eesti e-hääletamise süsteem töötab? Kõigepealt e-hääletamisel osalevad osapooled:
Kõige lihtsam on Eesti e-hääletamise süsteemi kirjeldamiseks kasutada n-ö "kahe ümbriku skeemi". Järgnev kirjeldus on mõnevõrra lihtsustatud, aga annab edasi üldise idee.
Kahe ümbriku süsteemi kohaselt valija kõigepealt krüpteerib oma hääle valimiste avaliku võtmega, mille ta saab valimiste korraldajalt. See krüpteering moodustabki hääle ümber esimese kihi (ümbriku). Seejärel allkirjastab valija saadud krüptogrammi oma salajase võtme abil, see allkiri ongi teine ümbrik. Tulemus saadetakse serverisse.
Serveris eemaldatakse kõikidelt häältelt kõigepealt välimine ümbrik, st tuvastatakse isikud, kes osalesid hääletamisel ja verifitseeritakse nende allkirjad. Seejärel saadetakse sisemised ümbrikud edasi serverisse, kus need valimiste salajase võtme abil dekrüpteeritakse ja hääled kokku loetakse. Siinkohal tuleb tähele panna, et esimesel serveril pole valimiste salajast võtit, mistõttu ei saa ta krüpteeritud hääli avada ning teise serverisse jõuavad ainult sisemised ümbrikud, mis kujutavad endast anonüümseid hääli.
Oluline on ka see, et häälte lugemise server on täiesti eraldatud ülejäänud maailmast ning ei oma sideühendusi. Seetõttu viiakse krüpteeritud hääled lugemisserverisse eraldi andmekandjal, milleks varasemalt oli CD / DVD. Häälte dekrüpteerimiseks kasutatakse lävikrüptosüsteemi, mis tähendab seda, et häälte dekrüpteerimise võtme kasutamiseks on vaja mitut osapoolt (näiteks nelja inimest, kes omavad vastavaid kiipkaarte, mis sisaldavad krüptograafilisi osakuid). Lävikrüptosüsteemi kohaselt saab vastavat krüprograafilist toimingut sooritada ainult siis kui on olemas piisav lävend (ehk piisav hulk krüptograafilisi osakuid). Selleks, et vältida käideldavuse probleeme on lävisüsteemides kasutusel väike varu, et näiteks dekrüpteerimine oleks võimalik ka siis kui ühe võtmehoidjaga midagi juhtub. Näiteks saab kasutada lävisüsteemi kus võtmehoidjaid on kokku seitse, aga võtme kasutamiseks piisab neljast.
Süsteemi muudatused 2017. aastal
2017 aasta KOV valimisteks täiendati e-hääletamise süsteemi. Tekkis juurde võimalus hääli krüptograafiliselt anonüümida enne kui need häältelugemiseks mõeldud serverisse viiakse. Vastavaks krüptograafiliseks anonüümimistehnikaks on miksimine, mis põhineb mixnetil. Selle abil on võimalik võtta krüpteeritud ja signeeritud hääled, eraldada häältelt digiallkirjad ning siis krüpteeritud hääled niimoodi ära segada, et tulemusest ei ole võimalik krüpteeritud häält ja signatuuri enam kokku viia. Lisaks annab miksimiseks kasutatud süsteem turvatõestuse, mis näitab, et miksimine oli korrektne ja et valimiste tulemus ei saa miksimise tulemusel muutuda, sest kõik krüpteeritud hääled jäävad alles.
Uuendatud süsteem tagab ka selle, et kesksüsteem ei saa hääli eemaldada või neid lisada, sest vastavate etappide jaoks tekivad matemaatilised tõestused, mida hakatakse auditeerima. Kõik hääled, mida valija saadab kesksüsteemi seotakse krüptograafiliste meetoditega, mis tagab selle, et süsteemipoolne hääle eemaldamine või lisamine on tuvastatav. Seega saab valimiste audiitor kontrollida, et süsteemi haldajad võtsid kõik krüpteeritud hääled valijatelt vastu ning et kõik vastavad hääled (korduvhääled eemaldatakse ja viimane jääb kehtima) läksid lugemisel arvesse. Täpsemalt saab uuendatud süsteemi (nimega "IVXV") kohta lugeda siit: Elektroonilise hääletamise üldraamistik ja selle kasutamine Eesti riiklikel valimistel (2017).
Hääle verifitseerimine
Hääle verifitseerimine (kontrollimine) vastab hääletaja loomulikule küsimusele "Mis mu e-häälest nüüd edasi saab?" Muuhulgas peaks verifitseerimine vastama järgmistele küsimustele:
- kas minu hääl pakendati konteinerisse õigesti?
- kas konteiner saadeti õigesti ära?
- kas konteiner saabus õigesti kohale?
- kas konteineri sisu läks valimistulemuse arvutamisel õigesti arvesse?
- kas valimistulemuse arvutamisel on arvesse läinud kõik õiged konteinerid?
- ega valimistulemuse arvutamisel pole arvesse võetud libahääli?
Sellest nimekirjast kolmele esimesele küsimusele võimaldab vastata 2013. aastal esmakordselt kasutusel olev hääle kontrollrakendus, millest allpool juttu tuleb. Ülejäänud omadusi tagavad organisatoorsed meetmed, mille üle valijal kontrolli pole (vt allolevat probleemide nimekirja). Alates 2017 aasta KOV valimistest kasutatakse uuendatud e-hääletamise süsteemi, mis peaks vastama kõigile eelnevas nimekirjas olevatele turvanõuetele. Uuendatud süsteemis tekib hääletamise ajal tehtud tegevustest auditeeritav jälg, mida hiljem saab kasutada näiteks selleks, et kontrollida ja tõestada kas kõik valmissüsteemi jõudnud hääled läksid lugemisele (pärast korduvhäälte eemaldamist).
Võimalikud probleemid ja lahendused Eesti e-hääletamise süsteemis
- Teise inimese hääle mõjutamine / sunnitud hääletamine.
- Lahendus: võimalus häält muuta.
- Lahendus: võimalus eelvalimistel pabersedeliga hääletada.
- Luuakse pahavara, mis hääletamise hetkel muudab valitavat isikut või ei edasta häält.
- Lahendus: kasutaja saab kontrollida, kas tema hääl jõudis korrektselt serverisse.
- Lahendus: massilise kasutamise korral tuleb see päevavalgele ja valimistulemus tühistatakse.
- Luuakse pahavara, mis kasutab ära kaardilugejasse jäänud ID-kaarti ja korduvhääletab.
- Suuremahulist rünnet saab tuvastada serveripoolsete logide analüüsimisel.
- Hääletaja saab monitoorida kuidas tema ID-kaardi sertifikaate on kasutatud läbi teenuse: Minu ID toimingud. Probleemiks on monitoorimise keerukus, mistõttu see ei sobi paljudele valijatele.
- E-hääletamise saboteerimine - üritatakse valeinformatsiooni levitada või süsteemi rünnata. Niisugune rünnak loob võimaluse valimistulemuse tühistamiseks.
- Lahendus: e-hääletamise protsess on võimalikult läbipaistev ja kontrollitav.
- Antud häält ei saa lõpuni kontrollida, kuna puudub süsteem, mis võimaldaks näha, kas antud hääl ka häälte kokkulugemisel arvesse võeti.
- Osaline lahendus: valija saab soovi korral häälte lugemise protsessis vaatlejana osaleda.
- Lahendus: 2017 aastal kasutusele võetud uuendatud serveritarkvara annab audiitoritele tõestuse selle kohta, et kõik serverisse edastatud hääled võeti lugemisel arvesse (korduvhääletuse korral läheb arvesse viimasena antud hääl). Valija ise seda kontrollida ei saa. Täpsem info on kirjas alampeatükis "Süsteemi muudatused 2017. aastal".
Eelmise põlvkonna Eesti e-hääletamise süsteemi turvaanalüüs - nüüdseks suures osas aegunud
Järgnev info on osaliselt vananenud, kuna Eesti e-hääletamise serveripoolne tarkvara sai 2017 aastal suures osas ümber kirjutatud ning pakub võimalusi matemaatiliselt tõestada, et hääle terviklust pole serveripoolel rikutud (st. et serveri poolel pole hääli kustutatud, lisatud ega muudetud ning et kõik kehtivad hääled, mis jõudsid süsteemi lähevad ka lugemisele). Siiski on allpool oleva turvaanalüüs põnevaks lugemiseks, kuigi paljud analüüsi järeldused pole enam relevantsed.
2014. aasta kevadel avaldasid tunnustatud e-hääletamise süsteemide uurijad Eesti e-hääletamise kohta käiva raporti. Nende raport näitas, et Eesti e-hääletamise korraldajatel on probleeme operatsioonilise turvalisusega. Uurijad panid tähele, et igapäevaselt ei kasutata protseduurilisi reegleid või neid ei ole olemas. Protseduurilised reeglid on väga olulised, sest nende järgimine peaks oluliselt vähendama süsteemi ründamise võimalust. Näiteks ei kasutatud tarkvara arendamise jaoks spetsiaalseid ainult selle jaoks mõeldud arvuteid, vaid tarkvara arendajad kasutasid selleks isiklikke arvuteid. Kõige olulisem operatsioonilise turvalisuse rikkumine oli seotud 2013. aasta valimistel toimunud intsidendiga kus häälte lugemise server ei suutnud tulemust DVD plaadile kirjutada ja lahendusena kasutati häälte kättesaamiseks isiklikku USB mälupulka. USB mälupulga kasutamine häälte transpordiks võimaldab teoorias tulemuse muutmist ja häältelugemise serveri nakatamist pahavaraga. Suvalise USB mälupulga kasutamine on ohtlik kuna USB on juba disaini poolest ebaturvaline - selle kohta saab lugeda siit: BadUSB. Lisaks võib USB seade olla nakatunud pahavaraga, mida on raske tuvastada (näiteks kui kasutusel on 0-day tüüpi turvaauk). Hiljuti kirjutati, et 2008 aastal kasutati USA sõjaväe õhkeraldatud arvutite ründamiseks USB seadmeid: The Russians reportedly once used an ingenious tactic to break into US military computers not connected to the internet.
Raport kirjeldas ka mõningaid teadaolevaid ohtusid nagu näiteks sisemist ohtu. Huvitav oli see, et nad näitasid kuidas sai teatud tingimustel e-valimisi ettevalmistava inimese arvuti nakatamisega nende enda demoserveris olevat valimistulemust muuta. Nende rünne seisnes selles, et nad lisasid operatsioonisüsteemi paigaldamiseks mõeldud DVD-le pahavara, mis nakatas nende e-hääletamise demoserverid. Kusjuures nad suutsid pahavara paigaldada nii, et näis nagu tarkvara poleks modifitseeritud. Antud ründe võimalikkusest teavitati valimiste korraldajaid enne kui vastav raport avaldati. Praegu vastav rünne enam võimalik ei ole. Antud ründe olemus seisneb selles, et tarkvara ehitades on alati vaja midagi usaldada ja seda usaldust saab teoorias kuritarvitada. Näiteks usaldatakse kompilaatoreid, millega lähtekoodist luuakse käivitatav programm, kompilaatorite loomiseks kasutatakse omakorda tarkvara, mida peaks usaldama, jne. Sellest probleemist on andnud hea ülevaate Ken Thompson oma kuulsas artiklis: Reflections on Trusting Trust.
Lisaks tõi raport välja ammu teada olnud probleemi, mis seisneb selles, et hääletamiseks kasutatavaid arvuteid ei saa usaldada, sest paljud arvutid on pahavaraga nakatunud. Nimelt kui arvuti on osaks botnetist (zombivõrgustikust, kus arvuti on kellegi teise kontrolli all), siis saab arvutisse paigaldada suvalist tarkvara ja seega ka pahavara, mis salvestab ID-kaardi PIN koode ja hiljem hääletab kindla kandidaadi poolt. Arvutikasutajal on raske niisugust rünnet avastada. On oluline, et hääle kontrollimise süsteem ei paku kaitset niisuguse ründe vastu, sest häält saab kontrollida ainult poole tunni jooksul pärast hääletamist ja pahavara saab oma hääle anda näiteks pool tundi pärast seda kui inimene on hääletanud. See on võimalik, kuna Eesti e-hääletamise süsteemi disain lubab korduvalt häält muuta ja ei teavita inimest sellest, et ta on hääletanud. Inimeste korduvhääletamisest teavitamine omakorda muudaks lihtsamaks häälte ostmise ja müümise, sest siis võiks häälte ostjale tekkida võimalus kontrollida kas häält on elektrooniliselt muudetud.
Dokumendid
- Uurijate avaldatud pressiteade, 12. mai 2014
- Vabariigi Valimiskomisjoni vastulause, 13. mai 2014
- E-valimised on (liiga) turvalised, Anto Veldre, CERT-EE, 14. mai 2014
- Uurijate vastus VVK vastulausele 14. mai 2014
- Uurijate avaldatud teadusartikkel, november 2014
E-hääletamise tarkvara
E-hääletamise serveri tarkvara lähtekood on avalik ja seda saab vaadata GitHubi repositooriumis: https://github.com/vvk-ehk/evalimine. E-hääletamise valijarakenduse lähtekood pole avalik, kuna nii üritatakse mõningaid ründeid ära hoida või raskemaks muuta. Valijarakenduse leiab valimiste ajal valimiste kodulehelt, milleks on eelmistel kordadel olnud https://www.valimised.ee/ (praegu pole aktiivne). E-hääletamise valijarakenduse abil saab valija vaadata kandidaatide nimekirju ja anda oma hääle.
Kuidas saavad kasutajad kontrollida, kas paigaldatav tarkvara on autentne?
- Veenduge enne tarkvara allalaadimist, et te asute valimiste kodulehel. Selleks kontrollige kas vastav veebileht kasutab HTTPS protokolli ja vaadake veebilehe sertifikaadi andmeid.
- Kontrollige, kas teie poolt alla tõmmatud valijarakenduse räsi ühtib meedias avaldatud vastava räsiga.
Juhend pole praegu aktiivne, sest e-valimised on muutumas. Varasemat kontrollimise juhendit näeb waybackmachine kaudu siit: E-hääletamise süsteemi tervikluse kontrollimine.
Hääletamise juhend
Valimisrakenduses tuleb läbida järgmised etapid:
- valija tuvastamine mobiili-ID või ID-kaardi abil
- kandidaatidega tutvumine ja valiku tegemine
- hääle kinnitamine enda digiallkirjaga
- hääle serverisse jõudmise kontrollimine (vabatahtlik)
Hääle kontrollimise süsteem valijarakenduses
E-hääletamise kontrollsüsteem võimaldab valijal kontrollida, kas tema antud hääl jõudis korrektsel kujul valimiste korraldajateni. Selline verifitseerimine aitab ründe vastu, kus valija arvutis olev pahavara muudab enne serverisse saatmist valija häält. Üldine idee on arhiveeritud: siin.
Kontrollsüsteemi kasutamiseks on vaja kas iOS, Androidi või WindowsPhone operatsioonisüsteemiga seadet, millel on kaamera ja netiühendus, näiteks nutitelefon või tahvelarvuti. Kontrollsüsteem peab olema eraldiseisev, seetõttu on teise sõltumatu seadme olemasolu vajalik selleks, et kontrollsüsteem töötaks ka olukorras kus hääletamiseks kasutatud arvuti on kompromiteeritud.
Hääle kontrollimine:
- pärast hääletamist kuvatakse arvuti ekraanil QR-kood
- hääletaja paigaldab oma mobiili või tahvelarvutisse kontrollsüsteemi programmi
- hääletaja loeb QR-koodi, pärast mida saadetakse krüpteeritud päring valimisserverisse
- hääletustulemus kuvatakse mobiilseadme ekraanil
Kui ekraanil kuvatav tulemus ei ühti sellega, mis valija algselt tegi, siis tuleks ühendust võtta valijate läbiviijaga.
Täpsem e-hääle kontrollimise juhend on arhiveeritud: siin.
Kas e-hääle verifitseeritavus ei suurenda mõjutatavuse (hääle ostmise) riski?
Kas e-hääle kontrollimise võimaldamine ainult nutiseadmete pole teiste jaoks diskrimineeriv? Hääle verifitseerimiseks ei pea kasutama isiklikku seadet - peale hääle kontrollimist ei jää seadmesse konkreetse hääle kohta mingit jälge. Lisaks ei pea kõik e-hääletajad oma häält kontrollima, laiaulatusliku ründe tuvastamiseks piisab, kui 5% hääletanutest oma häält kontrollib ja vea puhul sellele reageerib.
2013. aasta KOV valimistel kasutatud hääle kontrollimise süsteemil polnud veel täit juriidilist jõudu, seega ei oleks massilist ebaõnnestunud e-häälte verifitseerimist saanud kasutada põhjendusena valimistulemuste tühistamise taotlemisel. Selline juriidiline jõud oli olemas 2015. aasta Riigikogu valimistel.
Kasulikud lingid
- Mõned e-hääletamisega seotud teadusartiklid
- Practical Security Analysis of E-Voting Systems (2007)
- The Application of I-voting for Estonian Parliamentary Elections of 2011 (2011)
- Verifiable Internet Voting in Estonia (2014)
- Log Analysis of Estonian Internet Voting 2013–2015 (2015)
- Improving the verifiability of the Estonian Internet Voting scheme (2016)
- Estonian Voting Verification Mechanism Revisited Again (2017)
- On practical aspects of coercion-resistant remote voting systems (2019)
- E2E-VIV projekti raames tehtud verifitseeritavuse uuring
- Muu