Sähköinen äänestys on vaikeampaa kuin luulisi

Vaaliuurna Mäntsälästä. Laatikko on varmasti nähnyt paljon vuosien varrella.

Oikeusministeriön työryhmä on tänään ehdottanut, ettei nettiäänestystä lähdetä edes selvittämään yleisissä vaaleissa.

Päätös voi olla hämmentävä: “miksei Suomessa voi äänestää verkossa, kun pankkiasiatkin sujuvat netissä?” Asiaan perehtymättömälle pankkiasioiden hoitaminen verkossa tuntui vaativalta tekniseltä haasteelta, ja äänestäminen tähän verrattuna ihan ratkaistulta ongelmalta. Näin ei kuitenkaan ole.

Viron kehutussa järjestelmässä on joukko puutteita, jotka ovat luonteeltaan sellaisia, etteivät virolaiset itsekään voi tietää, onko heillä ollut luotettava äänestys. Kerron tässä miksi tässä tapauksessa Viron mallin kopiointi olisi sulaa hulluutta.

Tietoturva-ammattilaisia lukuun ottamatta digitalisaation kannattajat niin poliitikkojen, virkamiesten kuin tavallisten kadunmiestenkin osalta tuntuvat kannattavan sähköistä äänestystä. Heidän on vaikea ymmärtää, miksi näin itsestään selvää hanketta vastustetaan ja vielä sellaisten toimesta, jotka yleensä digihankkeita kannattavat.

Mitään kovin kansanomaista tai helppoa selitystä ei ole, joten väännän tässä avainkohdat rautalangasta. Tätä kirjoitusta lukeakseen ei tarvita teknistä koulutusta eikä taustaa tietoturvasta. Electronic Frontier Finlandin laadukkaassa Sähköäänestys-FAQ:ssa käsitellään samaa aihetta laajemmin.

Verkkoäänestyksessä vaikeaa on useampi ihan perustavaa laatua oleva osa. Kaikkien näiden korjaaminen vienee vielä vuosikymmeniä, sillä emme ammattikuntana vielä tiedä, miten nämä ongelmat ratkotaan.

1) Mistä kaikki voivat tietää, että kaikki äänestykseen käytetyt tietokoneet toimivat niin kuin niiden pitäisi?

2) Mistä kaikki voivat tietää, että monimutkainen sovellus toimii niin kuin pitäisi?

3) Mistä kaikki voivat tietää, että laajassa järjestelmässä kaikissa tietokoneissa pyörii vain ja ainoastaan se softa, jonka siellä pitäisi pyöriä?

Käydään nämä ongelmat läpi esimerkkien kautta.

1) Tarkastettavuus

Miten voimme todistaa, että kaikki tietokoneet toimivat niin kuin pitäisi, on paljon vaikeampi ongelma kuin voisi luulla. Moderni yleiskäyttöinen tietokone koostuu suuresta määrästä komponentteja, joita manipuloimalla voidaan saada oikein kirjoitettu sovellus toimimaan väärin. Esimerkkejä hyökkäyksistä löytyy vaikkapa viimeaikaisista Snowdenin paljastuksista.

Kovalevy voi olla koodattu muuttamaan ääntenlaskentasovellusta, muistipiirit voivat toimia epäluotettavasti kylmennettynä riittävästi, tai laitteen vähäisestä hidastumisesta voidaan ehkä päätellä sillä juuri äänestävän kansalaisen puoluekanta.

2) Virheettömyys

Yhtään vaalijärjestelmän laajuista virheetöntä sovellusta ei vielä ole tehty. Yksinkertaiseltakin tuntuva järjestelmä kutsuu miljoonia muiden kirjoittamia koodirivejä pystyäkseen näyttämään jotain ruudulla tai saadakseen verkkoviestinnän toimimaan.

Jos äänestys vielä toimii joko käyttäjän omassa tietokoneessa tai puhelimessa, näistä kaikki pitäisi suojata perusteellisesti haittaohjelmia vastaan. Tähän emme vielä alana pysty. 90-luvulla amerikkalainen ohjuspuolustusjärjestelmä varoitti täyden kuun aikaan venäläisten laajamittaisesta ohjushyökkäyksestä. Onneksi kukaan outolempi ei tuolloin uskonut kyseistä tietojärjestelmää.

3) Kokonaisuus

Niin käyttäjän, kuin ääntenlaskentakoneidenkin sinänsä toimivia ohjelmia voi kaapata syöttämällä niille jotain muuta, kuin käyttäjä on tarkoittanut, ja vastaavasti näyttämällä käyttäjälle jotain muuta kuin järjestelmä tarkoitti. Esimerkiksi suuri määrä haittaohjelmia perustuu juuri tällaiseen selaimen kaappaukseen ja väärien mainosten näyttämiseen sinänsä oikeilla sivuilla.

Yleiskäyttöisiä käyttöjärjestelmiä, joita käytetään niin äänten laskentaan kuin äänestämiseenkin, ei ole suojattu riittävästi ohjelmien välistä häirintää vastaan. Useimmiten käyttäjäpäässä heikkous toki perustuu käyttäjän höynäyttämiseen, eli niin sanottuun sosiaaliseen hyökkäykseen.

Ja jokerina

4) Katselmoitavuus

Näin laajan järjestelmän tekeminen niin, että järjestelmän toiminta kaikissa ennustettavissa olevissa tilanteissa on kaikkien puolueiden katselmoitavissa on ehkä vaikein haaste. Kyseessä olisi kymmenien tai satojen miestyövuosien urakka, johon yksittäisellä puolueella ei olisi mitään edellytyksiä.

Vaalien jälkeen häviäjällä voisi olla aikamoinen kiusaus syyttää järjestelmää, varsinkin jos äänten menetys olisi maantieteellisesti tai muuten erikoisesti jakautunut.

Jos nykyinen äänestystapamme olisi kallis, hankala, hidas tai epäluotettava, suosittelisin merkittävää tutkimushanketta digiäänestämisen turvaongelmien tutkimiseksi. Näin ei kuitenkaan ole. Saamme tulokset saman illan aikana, kohtuuhintaan ja olemme todistetusti kyenneet luotettavaan äänestämiseen tilanteissa, joissa eri katsantokantojen edustajat ovat olleet vast’ikään sisällissodassa. Aika hyvä järjestelmä, vai mitä.