You are here: TUTWiki>Tietoturva/Tutkielmat>LyytinenT?>2006-11

Mikko Viitaniemi:

Elektroniset vaalit

Johdanto

Perinteinen lippuäänestyskäytäntö on luotettava ja turvallinen, mutta vaatii paljon äänestyspisteitä ja vaaliviranomaisia tuottaen sitä kautta kustannuksia. Äänten laskeminen käsin on hidasta. Esimerkiksi näkö- ja liikuntavammaisille äänestäminen voi tuottaa vaikeuksia. Sähköinen äänestäminen poistaa edellä mainittuja haittoja, mutta toisaalta luo joitakin uusia ongelmia.

Julkisuutta saavat turvallisuus- ja luotettavuusongelmat tietoteknisten laitteiden ja ohjelmistojen käytössä eivät varsinaisesti luo vahvaa pohjaa sähköisten vaalien tulemiselle. Äänestäjän voi olla siksikin vaikea vakuuttua sähköisen äänestystapahtuman onnistumisesta, ettei hän voi itse sitä konkreettisesti todeta, kuten pudottaessaan äänestyslipun uurnaan.

Tässä työssä tarkastellaan käytäntöjä, joilla sähköisen äänestyksen tietoturva voidaan taata. Tekniikkaan sinänsä ei perehdytä perinpohjaisesti, mutta järjestelmälle asetettavat vaatimukset ja keinoja niiden toteuttamiseksi käydään läpi.

Sähköisen äänestysjärjestelmän vaatimukset

Minkä tahansa äänestysjärjestelmän pääpiirteet ovat, että äänet rekisteröidään, kuten ne on annettu, ja että äänet lasketaan, kuten ne on rekisteröity. Ulkopuoliset eivät saa pystyä vaikuttamaan äänestystapahtumaan.

Jo pelkästään ensimmäisten vaatimusten toteuttaminen sähköisellä järjestelmällä on haastava tehtävä. Se vaatii käytetyiltä tietokannoilta äärimmäistä luotettavuutta. Lisäksi laitteiston ja ohjelmiston tulisi olla virheettömiä ja vikasietoisia. Järjestelmän luomaa, käsittelemää ja tallentamaa dataa ei saa pystyä peukaloimaan paitsi ulkopuolelta, myöskään järjestelmän sisältä. Tällainen täydellisyys vaatii järjestelmältä lähes mahdottomia, mutta voiko äänestäjä toisaalta olla täysin vakuuttunut perinteisen käytännön virheettömyydestäkään?

Laitteiston vaatimukset

Äänestämisen tapahtuessa määrätyssä äänestyspisteessä tarvitaan erinäisiä laitteita tapahtuman läpiviemiseksi. Äänestäjän tunnistus voidaan hoitaa esimerkiksi henkilökortilla tai biometrisesti. Äänestyspäätteellä kosketusnäyttö lienee luontevin rajapinta. Paperisen tositteen tulostaminen vaatii vielä yhden laitteen. Kaikki nämä voidaan integroida yhdeksi laitteistoksi. Käytännössähän kortinlukija, näyttö ja tulostin ovat vain järjestelmän oheislaitteita, vaikka niiltäkin vaaditaan paljon.

Käytettävä laitteisto tulee voida tarkastaa milloin tahansa, vaikka laitevalmistajat voivatkin vedota liikesalaisuuksiin. Laitteiden tulee alustua oikein joka käynnistyksellä ja olla suunniteltu vikasietoisiksi. Jo laitteistotasolla pitää varautua virheisiin, joita joka tapauksessa joskus tulee tapahtumaan, sillä yksikin bittivirhe sopivassa paikassa voi aiheuttaa 2k äänen menettämisen. Riittävä tarkistussummien laskeminen helpottaa virheiden huomaamista ja käsitellyn datan palauttaminen alkutilaan virheen sattuessa mahdollistaa toipumisen.[2]

Kaikenlaiset konfigurointi- ym. liittymät lisäävät aina tietoturvariskejä. Joitakin tällaisia liittymiä tarvitaan, mutta ne olisi pidettävä mahdollisimman yksinkertaisina ja erillään muista käyttöliittymistä. Hyvä esimerkki karmaisevasta ratkaisusta, missä hallinta- ja asiakaspaneeli on yhdistetty, on tämä pankkiautomaattitapaus, johon selitys löytyy täältä.

Internet-äänestyksessä äänestäjän käyttämältä laitteistolta ei voida edellyttää muuta kuin käytettävien salaus- ja tietoliikenneprotokollien tukea.

Ohjelmiston vaatimukset

Ohjelmisto on ehkäpä järjestelmän abstraktein osa, ja siitä johtuen sen toiminnasta on vaikeaa, useimmille jopa mahdotonta, muodostaa käsitys. Suurten kaupallisten ohjelmistojen tietoturva-aukot ruokkivat ihmisten ennakkoluuloja kaikkeen tietotekniikkaan – osin syystäkin. Rebecca Mercurin yhtenä perusteena vastustaa täysin sähköistä äänestystä on, että jos USA:n suurin ohjelmistovalmistaja ei pysty suojelemaan omaa yritystään Internet-hyökkäykseltä, eivät äänestysjärjestelmätkään ole sen vähempää haavoittuvaisia.[5]

Turvakäyttöjärjestelmiä kehitetään avoimesti (esim. EROS ja sen pohjalta jatkava Coyotos-projekti). Ohjelmien osien, käytettyjen algoritmien ja tietorakenteiden oikeellinen toiminta voidaan todistaa formaalisti. Avoimen lähdekoodin periaatteella kehitetty äänestysohjelmisto avaa toiminnan kaikkien nähtäväksi, jolloin virheet löytyvät paremmin. Salaovien ja loogisten pommien kirjoittaminen ohjelmistoon tulee myös näin käytännössä mahdottomaksi. Toisaalta ohjelman lähdekoodi on avoin myös hyökkääjille, jotka saattavat hyödyntää jotain virhettä, joka kehitysryhmältä on jäänyt havaitsematta.

Open Voting Consortium kehittää avoimen lähdekoodin äänestysohjelmistoja, luotettavia ja avoimia, julkisiin äänestyksiin. Saavutuksinaan järjestö mainitsee mm. kehittäneensä prototyypin avoimeen lähdekoodiin perustuvasta äänestysohjelmistosta, sähköisen äänestyslaitteen, joka tulostaa paperitositteen, ja laitteita, joilla vammaiset voivat äänestää ilman avustajaa.

Tietoliikenneyhteyksien vaatimukset

Jos verkon yli lähetettävät viestit salataan vahvasti jo sovellustasolla, ei liikenteen salakuuntelu ole varmaankaan suurin huolenaihe. Sen sijaan esim. ruuhkainen verkko ja pakettien katoamiset voivat jumiuttaa järjestelmän. Yksityisen linjan rakentaminenkaan yhtä tarkoitusta varten ei tunnu järkevältä ajatukselta. Jos äänet siirretään heti äänen antamisen jälkeen verkon yli keskitettyyn tietojärjestelmään, voi hyökkääjä ruuhkauttaa verkkoliikenteen ja aiheuttaa mahdollisesti ongelmia äänestyslaitteistolle. Äänet voitaisiin tallettaa äänestyspaikan järjestelmään väliaikaisesti, ja siirtää kaikki äänet vasta äänestyksen päätyttyä. Toki verkon ruuhkauttaminen on mahdollista silloinkin, mutta näin se ei ainakaan vaikuttaisi itse äänestystilanteessa luoden hämmennystä.

Luotettavien tietoliikenneprotokollien käyttö takaa äänten siirtymisen keskitettyyn sähköiseen vaaliuurnaan, ja käytetyt salausmenetelmät takaavat, että vaikka liikennettä salakuunneltaisiinkin, ei sen sisältöä voi saada selville.

Äänestäjän ja äänen mahdoton yhdistäminen

Äänestäjän on voitava antaa äänensä niin, että ääntä ei voida yhdistää häneen. Äänten myymisen estämiseksi äänestäjä ei saa myöskään pystyä paljastamaan antamaansa ääntä, vaikka haluaisikin. Perinteisessä lippuäänestyksessä ei saa mukaansa mitään todistetta äänestämisestä, joten ääni on mahdoton myydä todisteen puuttuessa. Internet-äänestyksen ehkäpä suurin ongelma on, että äänen myyminen on mahdollista, koska äänestäjän toimintaa ei voida valvoa.

Sähköiseen äänestykseen on olemassa useita protokollia, joilla taataan, ettei äänestäjää ja tämän antamaa ääntä voida yhdistää. Useissa hyödynnetään kryptografisia menetelmiä.

Äänen rekisteröitymisen varmistaminen

Lippuäänestyksessä äänestäjä näkee lipukkeen putoavan uurnaan. Voiko hän kuitenkaan vakuuttua siitä, että ääni tulee todella lasketuksi? Ennakkoäänestyksen kaksoiskirjekuorijärjestelmä on vieläkin epävarmempi. Sopivasti rakennetussa sähköisessä äänestysjärjestelmässä äänestäjä voi tarkistaa, että hänen antamansa ääni todella on laskettu mukaan tulokseen. Ron Rivest esittelee mielenkiintoisen, ei yhtään kryptografiaa käyttävän kolmoislippujärjestelmän[6]. Se lienee hyvin toteutettavissa sähköisestikin, jolloin äänestäjän vaikeudet usean merkinnän tekemisessä poistuvat. Ideana on, että äänestäjälle jää kuitti, jonka avulla hän voi jälkeenpäin julkisesta listasta tarkistaa äänensä rekisteröityneen, mutta ei kuitenkaan voi todistaa, miten on äänestänyt.

Missä äänestetään sähköisesti?

Kokeiluja sähköisen äänestyksen käytöstä on tehty useissakin maissa, mutta Brasiliassa ja Intiassa äänestyspaikkojen sähköiset äänestyslaitteet ovat ainoa käytössä oleva äänestystapa.[7]

Brasiliassa sähköinen äänestäminen on ollut maanlaajuisesti käytössä vuodesta 2000 asti. Äänestäminen tapahtuu äänestyspaikoilla, joista äänestyksen päätyttyä äänet viedään levykkeellä tai lähetetään turvallisen yhteyden yli keskuksiin, missä kaikki äänet lasketaan yhteen. Koko maan tulos saadaan tuntien sisällä.[7]

Intian parlamenttivaaleissa 2004 käytettiin pelkästään elektronisia äänestyslaitteita. Intiassa käytetyt laitteet ovat salkun kokoisina kannettavia ja tekniikaltaan suhteellisen yksinkertaisia. Järjestelmä on edullinen ja sopii erittäin hyvin varsinkin Pohjois-Intian harvemmin asutuille, vuoristoisille seuduille. Äänestyspaikan laitteisto koostuu äänet rekisteröivästä hallintalaitteesta, jota vaaliviranomainen käyttää, ja itse äänestyslaitteesta. Siinä on painikkeet kaikkiaan 16 ehdokkaalle, mutta näitä paneeleja voidaan kytkeä hallintalaitteeseen kaikkiaan neljä, mahdollistaen 64 ehdokasta.[8]

Hallintalaite puolestaan pystyy rekisteröimään vain 3840 ääntä, mutta se ei ole ongelma, sillä yhdessä äänestyspisteessä ei äänestäjiä yleensä ole enempää kuin 1500. Laitteen turvallisuus peukalointia vastaan on hyvä, sillä käytettyä mikropiiriä ei ole mahdollista ohjelmoida uudelleen tuhoamatta sitä.[8]

Toteutuneita virhetilanteita maailmalta

Suurin osa raportoiduista virheistä on Yhdysvalloista. Ehkä tunnetuin tapaus on vuoden 2004 presidentinvaaleista, kun äänestyslaitevalmistaja Diebold Election Systems oli joutua jopa rikossyytteeseen.[9] Syyttäjä ei nostanut rikossyytettä, mutta Kalifornian osavaltio päätyi kuitenkin hakemaan korvauksia oikeusteitse. Lopulta yhtiö maksoi osavaltiolle 2,6 miljoonan dollarin korvaukset, kun äänestyspaikoilla jouduttiin turvautumaan paperiäänestykseen sähköisten äänestyslaitteiden vikaannuttua.[10]

Bruce Schneier käsittelee artikkelissaan[11] virheiden vaikutusta äänestystulokseen. Hänen mukaansa äänestysjärjestelmän virhemarginaali voi olla jopa useita prosentteja, mutta mikäli virhe vaikuttaa yhtäläisesti riippumatta äänestäjästä ja annetusta äänestä, ei sillä tilastollisesti ole juuri merkitystä äänestyksen lopputulokseen paitsi hyvin tiukoissa vaalitaistoissa. Silloin taas voidaan suorittaa uudelleenlaskenta käsin.[11]

Samassa artikkelissa Schneier mainitsee muutaman mielenkiintoisen ohjelmistovirheen vaikutuksen äänestystulokseen:

  • Fairfax Countyssa, Virginiassa 2003 ohjelmointivirhe aiheutti sadan äänen katoamisen erään ehdokkaan kokonaisäänimäärästä.
  • Boone Countyssa, Iowassa 2003 äänestyslaitteiston mukaan ääniä oli annettu yli 140000, vaikka äänioikeutettuja oli vain noin 25000.
  • Volusia Countyssa, Floridassa 2000 Al Goren kokonaisäänimäärä oli -16022 ääntä. Siis negatiivinen.

Tuhansittain lisää esimerkkejä löytyy tietokannasta[12], johon on kerätty äänestyksissä havaittuja ongelmia. Niitä lukiessa saa järkyttävän hyvän käsityksen siitä, minkä takia äänten uudestaanlaskennan mahdollistava paperitosite pitäisi olla välttämättömyys kaikissa äänestysjärjestelmissä.

Hyökkäykset äänestysjärjestelmää vastaan

Sähköiset äänestysjärjestelmät eivät ole immuuneja hyökkäyksiä vastaan. Olemassa olevia järjestelmiä on murrettu ja näistä murroista on saatavilla tietoa. Yhdysvalloissa sähköistä äänestystä on käytetty jo pitkään tietyissä osavaltioissa, ja eri osa valtiot käyttävät erilaisia järjestelmiä. Varsinkin Diebold yhtiön vanhemmista äänestysjärjestelmistä on löytynyt paljon tietoturva-aukkoja. Vuonna 2005 käytössä olleet yhtiön laitteet pystyi hakkeroimaan alle minuutissa käyttäen hyvin halpoja työkaluja. Tämä mahdollisti äänestystulosten vakavan vaarantamisen. Myös muita äänestyslaitteita on hakkeroitu, mutta järjestelmät ovat kehittyneet ja nykyisistä järjestelmistä ei ole löytynyt ainakaan niin laajasti uutisoituja haavoittuvuuksia.

Video Diebold yhtiön laitteen hakkeroinnista: http://www.youtube.com/watch?v=5hCyVsUir8k

Tietoa toisen yhtiön haavoittuvasta laitteesta: http://www.pcworld.idg.com.au/article/314751/voting_machine_hack_costs_less_than_us100_000

Lähteet

-- TimoLyytinen? - 22 Sep 2009
Print version |  PDF  | History: r6 < r5 < r4 < r3 | 
Topic revision: r6 - 06 Sep 2010 - 12:36:45 - MarkoHelenius
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback