Sel nädalal kirjutas Eesti Ekspress, et häkker teavitas Eesti meediaväljaandeid: pühapäeval lõppenud kohalike omavalitsuste valimistel antud e-hääled ei kehti. Nimelt näitas programm DigiDoc4 talle seda, et tema e-häälele lisatud digiallkiri ei kehti.
RIA peaarhitekt Tarmo Hanga selgitab allpool täpsemalt, kuidas e-häälte andmise protsess on üles ehitatud ja miks ajakirjanduse poole pöördunud inimese järeldus on ekslik.
E-hääletuse juures on oluline tagada nii hääle salajasus kui ka see, et inimene, kes hääletab, oleks ikka tema ise.
Niisama oluline on tagada kontroll ka e-hääletuse infosüsteemi Koguja komponendi majutusteenuse pakkuja tegevuse üle. (Koguja on e-hääletuse infosüsteemi osa, mis võtab vastu e-hääli).
Hääle salajasus
Hääle salajasus tagatakse sellega, et valijarakenduse vahendusel krüpteeritakse e-hääl hääletussüsteemi avaliku võtmega.
Hääletussüsteemi avalikule võtmele vastav salajane võti on jagatud võtmeosakuteks, mis on antud valimiskomisjoni eri liikmete kontrolli alla.
Salajane võti on võimalik kokku panna alles siis, kui valimiskomisjon koguneb e-häälte lugemiseks.
Koguja majutusteenuse pakkujal puudub seetõttu igasugune teadmine, kelle poolt konkreetne inimene hääletas.
Hääletaja isiku tuvastamine
Hääletaja isiku tuvastamiseks moodustab hääletaja valimisrakenduses BDOC formaadis allkirjastatud ümbriku, milles sisaldub tema signeerimisvahendi (nt m-ID või ID-kaardi) avalik võti.
Allkirjastamine ise toimub aga teisiti kui tavaliselt. Ümbriku moodustamisel ei tehta kehtivuskinnituse kontrolli ja ajatempli võtmist klientarvutis nagu seda tehakse harjumuspäraselt dokumendi allkirjastamisel DigiDoc tarkvara vahendusel.
Seda ei tehta kahel põhjusel. Esmalt ei saa eeldada, et klientarvutit ei ole pahatahtlikult manipuleeritud. Just seetõttu välditakse süsteemis olevaid kolmandaid tarkvarakomponente nii palju kui võimalik (e-hääletuse infosüsteemi vaatenurgast on kolmandaks komponendiks ka DigiDoc tarkvara). Lisaks sellele on vaja auditeerida ka kogumisteenuse osutaja tegevust.
BDOC formaadis signeeritud (ja krüpteeritud häält sisaldav) ümbrik edastatakse seetõttu pärast e-hääletamise rakenduses toimunud signeerimist otse Koguja teenusele.
Koguja serveri majutusteenuse osutaja auditeeritavus
Koguja teenus kontrollib serveri poolel saadud BDOC ümbriku signeerimiseks kasutatud avaliku võtme kehtivust, võtab ASi SK ID Solutions teenuste vahendusel ajatempli ning salvestab korrektse ümbriku teenuse e-urni. Seda vaid juhul, kui hääl vastab allkirjastatud hääle tingimustele: näeb välja nagu hääl, kvalifitseerub ajatempli ja OCSPga ning verifitseerub korrektselt.
Kõik kvalifitseerivad elemendid saadetakse nii valijarakendusele kui väljastatakse hääle kontrollrakendusele. See tähendab, et valija saab lõpuni kvalifitseeritud häält verifitseerida, aga seda ei talletata mitte kusagil DigiDoc4 klientrakenduse jaoks sobivas vormingus.
Eelkirjeldatud sammudega tekitatakse olukord, kus Koguja serveri haldusteenuse pakkuja tegevus muutub kolmanda osapoole (SK) kaudu valimiskomisjoni jaoks samamoodi auditeeritavaks. Koguja teenuse e-urnis olevad hääled ja SK teenuse poole esitatud kontrollpäringud peavad omavahel kattuma.
E-hääletamise süsteemi on selgitatud ka veebilehel valimised.ee. Tehniliste detailidega saab huvi korral tutvuda GitHubis.
Hääletusprotsessi terviklikkuse kontroll
See toimub hääletaja jaoks kontrollrakenduse kaudu.
Kontrollrakenduse saab paigaldada oma nutiseadmesse Google Play või Apple Store’i poodidest (ja ainult sealt, sest muud allikad ei ole usaldusväärsed). E-hääletamise kliendi ja selle kontrollrakenduse platvormide sunnitud erisus tagab äärmiselt suure tõenäosusega olukorra, kus juhul, kui hääletaja arvutit ja seal olevaid rakendusi (ka e-hääletuse klienti) on pahatahtlikult manipuleeritud, säilub hääletaja jaoks sellest asjaolust teadasaamise võimalus.
Juhul kui hääletaja jaoks ilmneb erisus e-hääletamise kliendi vahendusel teostatud hääletustoimingu ja kontrollrakenduses kuvatu vahel, võib kahtlustada manipuleeritust ja sellest tuleks esimesel võimalusel asjakohaseid institutsioone teavitada. Tõenäosus, et „pahalane“ suudab koordineeritult kontrollida protsessi vältel nii konkreetset e-hääletuse klienti kui ka Google Play või Apple Store’i poodide kaudu levitatavat kontrollrakendust, on äärmiselt väike. Seetõttu saab kontrollrakendust pidada väga efektiivseks vahendiks. Julgustame siinkohal kõiki seda järjest enam kasutama.
Kokkuvõte: e-hääled kehtivad
Ajakirjandusele kirja saatnud inimene võttis BDOC failid oma arvutis välja siis, kui hääletamisprotsess oli veel pooleli. Seda saab vastavate oskuste olemasolul teha iga arvutikasutaja. Sel hetkel oli e-hääl krüpteeritud ning signeeritud.
Selleks, et tegemist oleks digitaalselt allkirjastatud dokumendiga, peaks sellele BDOC failile olema lisatud veel ajatempel ja isiku sertifikaadi kehtivuse kontrolli vastus. Need võetakse aga serveri poolel, kuhu kasutajal puudub ligipääs. Serveris lisatakse failile ajamärgend ning AS SK ID Solutions käest saadud sertifikaadi kehtivuse info.
E-hääle andmise protsess on niimoodi üles ehitatud ja seetõttu on ka kõik korrektne.
Põhimõtteliselt võiks tuua paralleeli jaoskonnas pooliku protsessi tegemisega: lähed jaoskonda, võtad sedeli, täidad ja jooksed koos sedeliga minema. Sedel on küll täidetud, aga templit pole ja valimiskasti see sedel ei jõua.