Riigikohus
[email protected] 20.10.2021 nr 12-19/21-12/3
Virgo Kruve kaebuse edastamine
Edastan Virgo Kruve kaebuse Riigikohtule (lisa 1 koos lisadega). Kaebaja sai Vabariigi
Valimiskomisjoni 15.10.2021 koosolekul tehtud otsuse nr 20 (lisa 2) 16.10.2021 e-kirjaga. Kaebus
on saabunud tähtaegselt. Saadan ka Vabariigi Valimiskomisjonile esitatud kaebuse (lisa 3),
Vabariigi Valimiskomisjoni 15.10.2021 koosoleku protokolli nr 25 (lisa 4) ning riigi
valimisteenistuse selgituse (lisa 5). Vabariigi Valimiskomisjoni koosoleku salvestist on võimalik
vaadata veebilingilt https://www.youtube.com/watch?v=-R0nI0ZR-ic. Koosolekut hakati
salvestama pärast seda, kui kaebajale anti sõna oma seisukohtade tutvustamiseks. MS Teamsis
koosoleku salvestamise eesmärk on protokollimise lihtsustamine.
Vabariigi Valimiskomisjon vaidleb kaebusele vastu ja jääb 15.10.2021 otsuses nr 20 esitatud
seisukohtade juurde ning palub jätta kaebus rahuldamata.
Vabariigi Valimiskomisjoni vaidlustatud otsus nr 20 tehti 15.10.2021 koosolekul, otsuse
vormistamine ja allkirjastamine toimus 16.10.2021.
Kaebaja soovib kordusvalimist, et valimisjaoskonnas sedeliga hääletada, sest selline valik on
ülimuslik (RKVS § 485 lg 7). Märgime, et kaebajal oli võimalus minna 17. oktoobril 2021
jaoskonda ja sedeliga hääletada.
Lugupidamisega
(allkirjastatud digitaalselt)
Oliver Kask
esimees
Riigikohus 19.10.2021
Lossi 17
50093 Tartu
Kaebuse esitaja
Virgo Kruve
Kontaktid esitamise kirjas
Kaebus Vabariigi Valimiskomisjoni 15. oktoobri 2021 otsus nr 20 peale, millega jäeti
rahuldamata taotlus elektrooniline hääletus peatada.
Otsus allkirjastati 16.10.2021 kell 13.43 ja kaebaja sai selle 16.10.2021 kell 15.02. Kaebus
esitatakse 19. oktoobril tähtaega järgides.
1. Kaebaja taotleb tunnistada seadusevastaseks riigi valimisteenistuse toiminguna
elektroonilise hääletamise korraldamine 11. kuni 16. oktoobrini allpool kirjeldatud
asjaoludel.
2. Kaebaja taotleb tunnistada seadusevastaseks ja tühistada elektrooniliselt antud
hääletamise tulemused kõigis valimisringkondades, sest seadust rikuti testimata
valijarakenduse kasutamisega kõigi elektrooniliselt hääletajate poolt.
3. Kaebaja taotleb Vabariigi Valimiskomisjoni otsuse tühistamist, mis ei lõpetanud riigi
valimisteenistuse seadust rikkuvat elektroonilise hääletuse läbiviimist.
4. Kaebaja hääletas ka ise elektrooniliselt ja soovib kordusvalimist, et valimisjaoskonnas
sedeliga hääletada, sest selline valik on ülimuslik (RKVS § 48 5 lg 7) .
Asjaolud
1. Kaebaja osaleb valimistel kandidaadina ja loeb enda õigusi rikkuvaks tegevused, mis ei täida
seadust. Ainult seaduse täpse täitmisega saab ta veenduda, et teda koheldakse teistega võrdselt ja
valimistulemus on õige ning seda ei ole mõjutatud.
2. Kaebaja ei ole veendunud, et elektroonilisel hääletamisel kasutatav valijarakendus töötab õigesti
ja valimistulemust ei moonuta, sest sertifikaat on 6. oktoobrist 2021, kuid prooviläbimine tehti 5.
oktoobril 2021.
3. Kaebaja oli registreerinud ennast elektroonilise hääletuse vaatlejaks. Osales 5. oktoobril
prooviläbimisel, mille alguses pakendati valijarakendus ja anti proovihääled, mis süsteemis
salvestati, korduvad tühistati ja tulemus loeti kokku.
Vabariigi Valimiskomisjoni otsuses on märgitud: „Kaebaja sai ise vaatlemise käigus veenduda, et
valijarakendus töötab seaduse kohaselt. Kaebaja viibis ise prooviläbimise toimingu juures.” Kaebaja
osalemist kinnitab lisa 4.
1
4. Prooviläbimine tähendab elektrooniliseks hääletuseks kasutatud tarkvara seadistamist ja serveri
tööks ettevalmistamist. Sellega saab veenduda serveri töös. Kaebaja veendus selle tarkvara töös 5.
oktoobril.
5. Kaebuse arutamisel 15. oktoobril osales kaebaja interneti vahendusel(Teams video ja
mikrofoniga). Kuigi otsus seda ei kajasta, siis kaebuses välja toodud väidetele vastuseid kaebaja ei
saanud riigi valimisteenistuselt ega Vabariigi Valimiskomisjonilt.
Kaebaja järeldab Vabariigi Valimiskomisjoni liikme Airi Mikli küsimusest riigi valimisteenistusele,
et ka nemad ise ei olnud teadlikud prooviläbimisest erineva päeva tarkvara kasutamisest. Kui see
info oleks teada olnud, siis ei oleks küsitud enda kõrval istujalt, et miks on valijarakendus 6.
oktoobri kuupäevaga. Või kuidas vastata kaebaja sellekohasele väitele. See tähendab kaebaja jaoks
kinnitust, et Vabariigi Valimiskomisjon ei teadnud, et 5. oktoobri prooviläbimise asemel on häälte
andmisel 6. oktoobri(hilisem) valijarakendus.
6. Kaebaja kontrollis ka valijarakenduse(lisa 1) kohta avaldatud kontrollinumbrite õigsust(lisa 3).
Sõrmejälg: 4c9d0cbd21b539f5a62755e11ca46c89c2f6e119
Allkirjastamise aeg: kolmapäev, 6. oktoober 2021 14:55:42
Allkirjastaja: Smartmatic-Cybernetica Centre of Excell. for Internet Voting OÜ
Koosoleku käigus selgus, et programmi loomisena 6. oktoober oli õige ja sellega kaebaja ei
eksinud. Küll oli tekkinud segadus programmi sõrmejäljega, mis kaebuse lisa 2 järgi erines. Riigi
valimisteenistuse töötaja selgitusel leidis kaebaja ka ise õige sõrmejälje ülesse (lisa 5), sest varem
oli vaadanud organisatsiooni sertifikaadi sõrmejälge.
Õiguslikud põhjendused
7. Kohaliku omavalitsuse volikogu valimise seaduse (lühend – KOVVS) § 19. lg 1) järgi on Riigi
valimisteenistuse ülesanne korraldada elektrooniline hääletamine ja teha kindlaks elektroonilise
hääletamise tulemus. § 53 2 Elektrooniline hääletamine korraldatakse käesoleva seaduse § 44 lõike
2 punktis 4 sätestatud ajal ja Riigikogu valimise seaduse 71. peatükis sätestatud korras.
8. Riigikogu valimise seaduse (RKVS) § 48 3. (1) Riigi valimisteenistus seab elektroonilise
hääletamise süsteemi kasutusvalmis hiljemalt kümnendaks päevaks enne valimispäeva. [RT I,
09.07.2018, 1 - jõust. 01.01.2021]
Valimispäev oli 17. oktoober. Sellele eelnev kümnes päev oli 7. oktoober. Kaebaja toob välja need
tegevused, mida riigi valimisteenistus nimetatud tähtajaks ei täitnud ja tegi neid hiljem.
9. RKVS § 48 2. lg (4) Riigi valimisteenistus: 3) kinnitab elektroonilise hääletamise süsteemi
testimise ajakava ja ulatuse ning testimise tulemused ja avalikustab tulemuste raporti;
Kaebaja on kontrollinud, et elektroonilise hääletamise süsteemi testimise ajakava ja ulatus on riigi
valimisteenistuse käskkirjaga kinnitatud ja see teostati 5. oktoobril.
Kinnitamata on testimise tulemused. Vabariigi Valimiskomisjoni otsuses esitatakse järgnev väide:
Testimise tulemuse on riigi valimisteenistuse juht kinnitanud allkirjaga ja see on
avaldatud 14. oktoobril 2021 valimised.ee veebilehel
2
(https://www.valimised.ee/sites/default/files/2021-10/Proovilabimine_KOV_2021_5okt.
asice). Raporti hilisem vormistamine ja allkirjastamine ei muuda testimise tulemust.
Testimine oli edukas ja vigu ei tuvastatud.
Kaebaja toob välja, et fail avalikustati 14. oktoobril. Sellele väitele ei ole kinnitust, sest ei
õnnestunud leida viidet elektroonilist auditeerimist puudutavalt alamlehelt, kus on ainus käesolevat
valimist puudutav audiitori vaheraport (lisa 4).
Isegi kui eeldada avaldamise kuupäevana 14. oktoober, siis elektrooniline hääletamine oli juba
alanud 11. oktoobril kell 9.00.
Kaebaja toob välja, et 5. oktoobri prooviläbimise kohta on riigi valimisteenistuse korraldus nr 6
(lisa 6) ja sellel on 2. septembri 2021 allkiri. RKVS nõudis kinnitamist ka testimise tulemusele.
Eelnevalt viidatud fail (lisa07-Proovilabimine_KOV_2021_5okt.asice) ei vasta sellisele seaduse
sõnastusele.
Tegemist ei ole riigi valimisteenistuse KORRALDUSEGA, sarnaselt lisa 6. Selle dokumendi
allkirjad on 12. oktoobrist kell 16.57 ja 17.09. Selles on esitati paljasõnaline väide süsteemi
toimimisest, sest ühtegi seerianumbrit(kõvaketas), sertifikaati(tarkvaralt, valijarakenduselt) või
sertifitseeritud riist- ja tarkvara kasutamise infot selles dokumendis ei ole.
Kehtetuid hääli ei olnud, kehtivaid hääli loeti kokku 6.
Toiminguga veenduti süsteemi häälte avamise võtme toimivuses.
Audiitor kinnitas, et hääli said samad kandidaadid, kelle poolt testi käigus hääletati.
Allikas. Lisa 7
Sellega tõendas kaebaja, et süsteemi testimist ei olnud kinnitatud seaduse kohaselt riigi
valimisteenistuse korraldusega ning seda tehti seadust rikkudes viiendal päeval enne valimispäeva.
10. Vabariigi Valimiskomisjoni otsuses on eelneva kohta väidetud:
Vabariigi Valimiskomisjon nõustub, et raporti hilisem vormistamine ja allkirjastamine
ei muuda testimise tulemust. Seadusest ei tulene, et kinnitamine peab toimuma
korraldusega.
Kaebaja toob välja, et seaduses on kinnitamise nõue. RKVS § 48 2. lg (4) Riigi valimisteenistus: 3)
kinnitab elektroonilise hääletamise süsteemi testimise ajakava ja ulatuse ning testimise tulemused ja
avalikustab tulemuste raporti.
Süsteemi testimine (prooviläbimine) toimus 5. oktoobril. Kuigi kaebaja esitas 15. oktoobri VVK
koosolekul mitu korda küsimuse, miks on valijarakendus loodud 6. oktoobril, siis vastust sellele ei
saanud. Isegi põhjendust ei esitatud, miks oli vaja päev hiljem luua tarkvara uuesti.
Kaebaja ei ole dokumentides leidnud ühtegi valijarakendust identifitseerivad infot, mis võimaldaks
5. oktoobri prooviläbimisel kasutatud valijarakenduse lugeda samaks, millele lisati sertifikaat 6.
oktoobril.
3
Koosolekul ei öelnud riigi valimisteenistus välja ka nende inimeste nimesid, kes viibisid selle
loomise juures. Igatahes valimiste vaatlejad sellist infot ei saanud ja valimistel kandideerijana tahan
veenduda kõigi tegevuste seaduslikkuses ja ausas läbiviimises.
11. Valijarakenduse uuesti pakendamisest(või sertifikaadi lisamisest hiljem) 6. oktoobril ei
teavitatud vaatlejaid. Kaebuse esitaja leidis ise need asjaolud ja pöördus vastuste saamiseks kaebuse
vormis Vabariigi Valimiskomisjoni poole. Kuna jäänud oli 1 tööpäev(reede) ja 2 elektroonilise
hääletuse toimumise päeva, siis Vabariigi Valimiskomisjonil oli võimalus kaebust sisuliselt
lahendada ja viia elektrooniline hääletamine vastavusse seaduse nõuetega.
12. Riigi valimisteenistus esitas järgneva väite valijarakenduse õigesti töötamise kohta:
Selleks, et veenduda, kas valijarakendus annab hääle õigele kandidaadile, on
kontrollrakendus.
Kaebaja ei nõustu sellise tõlgendusega, sest tegemist ei ole ametlikult kinnitatud elektroonilise
hääletuse programmi osaga, sest riigi valimisteenistuse korraldus nr 12 (4.10.2021) ei sisalda
kontrollrakendust (lisa 9). Selles korralduses on välja toodud 1.2. Valijarakenduse pakendamine
(versioon 1.7.4) (lisa 10)
RKVS § 48 6. Elektroonilise hääle kontroll
(2) Hääle kontrollrakenduse töötab välja riigi valimisteenistus Vabariigi
Valimiskomisjoni käesoleva seaduse § 48 2 lõike 3 punkti 1 alusel kehtestatud nõuete
kohaselt. Valija saab häält kontrollida piiratud aja jooksul piiratud arv kordi käesoleva
seaduse § 48 2 lõike 3 punkti 1 alusel sätestatud nõuete kohaselt.
Elektroonilise hääle õigsuse kontroll eeldab nutitelefoni ja vastava rakenduse olemasolu. Eelmistest
valimistest on teada(lisa 12), et kontrollrakendust kasutati 3,4 kuni 5,3 protsendi häältega. See on
nii väike arv hääletajaid, et valijarakenduse valesti töötamine ei tuleks välja.
Lisa 11. lk 8 „Valija tahteavaldus avakujul eksisteerib valijarakenduses ning hiljem ka
kontrollrakenduses. Tahteavaldus sisaldab nii valiku koodi ringkonnas, ringkonna EHAK-koodi kui
ka valiku nimekirja nime ning konkreetse valiku nime nimekirjas.”
13. Vaatlejate hulka kuuluv kaebuse esitaja mäletab, et 5. oktoobril viibisid Vabariigi
Valimiskomisjoni liikmed prooviläbimise juures ainult lühikest aega kui neile anti krüpteerimiseks
kasutatava võtme osakud. Tõenäoliselt ei jälginud nad eelnevalt toimuvat ka ülekandest, sest
prooviläbimise vaatlejate nimekirjas (lisa 4 ja lisa 7) ei ole ühtegi Vabariigi Valimiskomisjoni liiget.
Küll märkas kaebaja nüüd liikmete nimekirjas audiitori KPMG Baltics OÜ (lisa 4) töötajat (lisa 8),
kes ilmselt teadis kõige rohkem elektroonilisest hääletamisest kuna osales audiitorina vist 2013. ja
2015. valimistel.
14. Riigikogu valimise seadus § 48 3. (6) Riigi valimisteenistus avalikustab enne elektroonilise
hääletamise algust valijarakenduse, hääle kontrollrakenduse ning veebilehe autentsuse ja tervikluse
tagamiseks vajalikud andmed. [RT I, 06.05.2016, 1 - jõust. 01.01.2017]
Kaebaja esitab lisa 3, mis on allkirjastatud 11. oktoobril kell 12.17 ja rõhutab, et elektrooniline
hääletus algas kell 9.00. Seega oli tegemist RKVS mõttes valijarakenduse kohta vajalike andmete
avaldamisega pärast elektroonilise hääletuse algust.
4
Kaebaja on eelnevatel valimistel kogenud, et näiteks elektronposti saabumisel võidi lugeda
minuteid ja sellel põhjusel kaebus jätta läbi vaatamata. Nüüd soovib kaebaja samasugust täpsust ka
valimiste korraldajatelt, sest tegemist on seaduses oleva nõudega.
Tähtaja mõiste on seaduses ka välja toodud, mis kinnitab kaebaja väidet seaduses nõutud ajast
hiljem autentsuse kontrollimise andmete avaldamisest.
Tsiviilseadustiku üldosa seadus (lühend – TsÜS)
§ 134. Tähtaja mõiste
(1) Tähtaeg on kindlaksmääratud ajavahemik, millega on seotud õiguslikud tagajärjed.
§ 135. Tähtaja algus ja lõpp
(2) Tähtaeg lõpeb tähtpäeva saabumisel.
§ 136. Tähtpäeva saabumine
(1) Tähtpäeva saabumine määratakse tähtaja või kindlaksmääratud sündmusega.
(10) Kui tähtpäeva saabumine on määratud päevast väiksema ajaühikuga arvutatava
tähtajaga, saabub tähtpäev selle ajaühiku saabumisel. [RT I 2003, 78, 523 - jõust.
27.12.2003]
Riigi valimisteenistuse tähtaeg, et avalikustada tervikluse tagamiseks vajalikud andmed saabus 11.
oktoobril kell 9.00 kui algas elektrooniline hääletamine. Kaebaja ei tea täpselt aega, millal
avalikustati lisa 3 andmed elektroonilise hääletuse programmide kohta aga see pidi juhtuma pärast
allkirjastamist kell 12.17.
15. Lõpuks taandas Vabariigi Valimiskomisjon kaebuse kohta otsuse tegemisel seaduse täitmise
asemel hoopis turvalisuse või ebaturvalisuse küsimusele. Kaebaja seisukohalt on igasugune
seadusest erinev käitumine ebaturvaline.
Komisjon ei tuvastanud, et elektroonilise hääletamise läbiviimiseks ei ole süsteem
turvaline või töökindel, mis tingiks elektrooniline hääletamise peatamise.
Kuidas saab seda järeldada kui valijarakenduse kood on salajane ja auditeerimata, valijarakendus ei
pärine 5. oktoobri prooviläbimisest, pole teada valijarakendusele 6. oktoobril sertifikaadi lisamise
asjaolud(kas uus programm, kes pani kokku, miks päev hiljem, miks hoiti vaatleja ja kandideerija
eest saladuses), prooviläbimise tulemuse kohta on audiitori vaheraport 8. oktoobrist ja selle
andmetega riigi valimisteenistuse 2 töötaja allkirjaga dokument 12. oktoobrist, valijarakenduse
tervikluse tagamiseks vajalikud andmed allkirjastati 3 tundi PÄRAST elektroonilise hääletusega
alustamist.
16. Elektrooniline hääl on seaduse mõttes ebavõrdsem kui jaoskonnas sedeliga antud paberhääl. See
tühistatakse kui valija läks jaoskonda eelhääletuse päevadel(eelmistel valimistel) või seekord veel
valimispäeval.
RKVS § 48 5. Elektroonilise hääle muutmine
Valijal on õigus oma elektrooniliselt antud häält muuta:
5
2) hääletades hääletamissedeliga kuni valimispäeva kella 20.00-ni.
§ 48 7. Elektroonilise hääle arvestamine.
(2) Kui valija on hääletanud nii elektrooniliselt kui ka hääletamissedeliga, arvestatakse
valija hääletamissedelit.
17. Kaebaja taotleb elektroonise hääletuse tühistamist, sest riigi valimisteenistus ei täitnud seaduses
toodud nõuet kinnitada testimise tulemused ja avalikustada raport ning lõpuks tehti seda pärast
tähtaega. Elektrooniliseks hääletuseks kasutatud valijarakendust on võimatu seostada 5. oktoobril
prooviläbimisel kasutatud tarkvaraga.
Lugupidamisega
/allkirjastatud digitaalselt/
Virgo Kruve
Seadused
KOVVS https://www.riigiteataja.ee/akt/103012020011
Riigikogu valimise seadus (RKVS) https://www.riigiteataja.ee/akt/103012020013
Tsiviilseadustiku üldosa seadus (lühend - TsÜS) https://www.riigiteataja.ee/akt/122032021008
Lisad
Lisa 1 esitatud kaebuses – Windowsi valijarakendus, 6. oktoobri sertifikaadiga kell 14.55
Seda faili e-mailiga ei saa edastada ja koopia on 14. oktoobri kaebusena allalaetav:
www.virgokruve.com/meedia/e2021/kaebus2021rakendus.asice
Lisa 2 esitatud kaebuses ja korratud – valijarakenduse sertifikaat 6. oktoober 2021 kell 14.55.42 Pilt
.jpg
Lisa 3 kaebuses ja korratud. Valijarakenduse õiguse kontrollinumbrid 11.10.2021 kell 12.17
Lisa 4 kaebuses ja korratud. Audiitori vahearuanne 8.10.2021 kell 18.27
Lisa 5. valijarakenduse sertifikaat 6. oktoobrist, mis vastab kontrollsummale (lisa 3 andmed).
Lisa 6. Riigi valimisteenistuse korraldus nr 6. (2.09.2021) elektroonilise hääletuse testimise
ajakavaga, et prooviläbimine toimub 5. oktoobril
Lisa 7. Elektroonilise hääletuse testimise tulemus on avaldatud 14. oktoobril 2021 valimised.ee
veebilehel
(https://www.valimised.ee/sites/default/files/2021-10/Proovilabimine_KOV_2021_5okt.asice).
Lisa 8. Vabariigi Valimiskomisjoni liikmete nimekiri sh audiitori töötaja, aadressilt:
https://www.valimised.ee/et/korraldajad/vabariigi-valimiskomisjon/komisjoni-liikmed
6
Lisa 9. Riigi valimisteenistuse korraldus nr 12 (EHS_tehniline_dokumentatsioon).pdf 4.10.2021
Lisa 10. IVXV-valijarakenduse-pakendamine.pdf
Lisa 11. IVXV-protokollid.pdf
Lisa 12. kontrollrakenduse kasutamine, aadressilt
https://www.valimised.ee/valimiste-arhiiv/elektroonilise-haaletamise-statistika
7
Andmed 2021. a. kohalike valimiste e-hääletamise süsteemi tervikluse kontrollimiseks Veebiserveri https://www.valimised.ee sertifikaadi sõrmejälg: b92f4ef523025ea2f41e17bd35074f43116136d3 Valijarakenduse Windowsi versiooni signeerinud sertifikaadi : S õrmejälg: 4c9d0cbd21b539f5a62755e11ca46c89c2f6e119 Allkirjastamise aeg: kolmap äev, 6. oktoober 2021 14:55:42 Allkirjastaja: Smartmatic-Cybernetica Centre of Excell. for Internet Voting O Ü Valijarakenduse Linuxi 64-bitise versiooni kontrollsumma (SHA-256): 384f6fd4c32cde26c64f0d825ed0de4f39f04f097e443c8a19ef90e783ae35c6 Valijarakenduse macOS versiooni kontrollsumma (SHA-256): f514e76a5dc4e554295edf162acb3faa5fa8de03fc81e05e765b7d35c56d67d5 EH Kontrollrakendus asukohad: Android: https://play.google.com/store/apps/details?id=ee.ivxv.ivotingverification iOS: https://apps.apple.com/us/app/eh-kontrollrakendus/id1265172086
Elektroonilise
hääletamise protsessi
auditeerimine
Tellija: Riigikogu Kantselei riigi valimisteenistus
Valimised: 2021. aasta kohaliku omavalitsuse volikogude valimised
VAHEARUANNE
KPMG Baltics OÜ
08.10.2021
© 2021 KPMG Baltics OÜ, Eesti osaühing ja Šveitsi ühinguga KPMG International Cooperative (”KPMG International") lepinguliselt seotud sõltumatute
ettevõtjate võrgustiku liige. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
KPMG Baltics OÜ Telephone +372 6 268 700
Narva mnt 5 Fax +372 6 268 777
Tallinn 10117 Internet www.kpmg.ee
Estonia
Riigikogu Kantselei riigi valimisteenistus
Lossi plats 1a
15165 Tallinn
08. oktoober 2021
Lp Arne Koitmäe
Vastavalt KPMG Baltics OÜ ja Riigikogu Kantselei riigi valmisteenistuse vahel
09.09.2021 sõlmitud lepingule teostab KPMG Baltics OÜ 2021. aasta kohaliku
omavalitsuse volikogude valimiste elektroonilise hääletuse protsessi auditeerimist.
Käesolev vahearuanne põhineb informatsioonil, mis on 08.10.2021 seisuga. Aruandes
ei kajastata sündmusi ega muudatusi, mis on toimunud selle kuupäeva järgselt.
Auditi käigus läbiviidud töö lõpparuande esitame Teile hiljemalt seitsme päeva jooksul
pärast elektrooniliste häälte hävitamist.
Audiitorid ei tuvastanud olulisi puuduseid, mis võiksid ohustada e-hääletuse läbiviimist.
Lugupidamisega
(allkirjastatud digitaalselt)
Igmar Ilves, CISA, GPEN, GWAPT, ITSRM2
Audiitor
KPMG Baltics OÜ
2
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Elektroonilise hääletamise protsessi auditeerimine
Kohaliku omavalitsuse (KOV) volikogude valimiste elektroonilise hääletamise
prooviläbimine toimus 05.10.2021 (aadressil Toompea 1, Tallinn).
E-hääletuse protsessi kontrollisid KPMG Baltics OÜ audiitorid vastavalt Riigi
valimisteenistuse kinnitatud juhendile:
IVXV: E-hääletamise käsiraamat (versioon 0.6) 1
E-hääletamise seadistamise ja testimise käigus kontrolliti järgmisi tegevusi:
kogumisteenuse ettevalmistamine;
valimiste konfiguratsiooni loomine;
süsteemi võtmepaari genereerimine;
− mäluketta loomine
− konfiguratsiooni import
− kiipkaartide ettevalmistamine
− kaardilugejate ühendamine ja numereerimine
− võtmepaari genereerimine
− kiipkaartide testimine
− avalike võtmete varundamine
valijarakenduse pakendamine;
süsteemi testläbimine.
Elektroonilise hääletamise prooviläbimise osavõtjad
Vabariigi Valimiskomisjon: Teet Raidma, Janek Laidvee, Airi Mikli, Aivar Rahno, Oliver
Kask, Rauno Kiris, Kristel Lekko
Riigikogu Kantselei (Riigi valimisteenistuse) töötajad: Indrek Leesi, Sandra Elken,
Arne Koitmäe, Meelis Saar, Anders Kazantsev, Rasmus Prik, Liisa Johanna Lukk, Kristi
Sobak
Audiitorid (KPMG Baltics OÜ): Raul Nugis, Igmar Ilves, Vitali Jekimtsev
Vaatlejad (kohapeal): Oliver Vilba
Vaatlejad (Interneti vahendusel): Aivar Pau, Alo Einsalu, Hanno Artur Särg, Janar
Nagel, Katri Jaanimägi, Koit Saarevet, Katri Jaanimägi, Koit Saarevet, Lauri Tankler,
Maldur Miilimäe, Nele Parrest, Peeter Tatter, Virgo Kruve
1 https://www.valimised.ee/sites/default/files/2021-10/IVXV%20e-
h%C3%A4%C3%A4letamise%20k%C3%A4siraamat.pdf
3
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Elektroonilise hääletamise prooviläbimise protsess
Esmalt seadistati valijarakendused ja konfigureeriti kontrollrakendus. Rakendused
allkirjastati. Algas testhääletamine.
Hääletas kuus (6) isikut, neist üks korduvalt (3 korda). Märgiti üles, kelle poolt
hääletaja hääletas, et võrrelda hääletamistulemusega. Kokku anti 8 häält.
Hääle
Hääletaja Platvorm Valik Kontroll
järjekord
1 Indrek Leesi Windows, ID kaart 101, Tarmo Kontrollitud,
Kõuts hääl ei läinud
arvesse
2 Meelis Saar Windows, ID kaart 1274, Erki Kontrollitud,
Ennok hääl läks arvesse
3 Indrek Leesi Windows, ID kaart 102, Priidu Kontrollitud,
Pärna hääl ei läinud
arvesse
4 Sandra Elken Windows, ID kaart 438, Rasmus Kontrollitud,
Lahtvee hääl läks arvesse
5 Oliver Vilba Windows, Mobiil-ID 1279, Henrik Kontrollitud,
Tiido hääl läks arvesse
6 Arne Koitmäe Windows, Mobiil-ID 337, Tiit Meren Kontrollitud,
hääl läks arvesse
7 Kristi Sobak Windows, Mobiil-ID 892, Yana Kontrollitud,
Toom hääl läks arvesse
8 Indrek Leesi Windows, ID kaart 101, Tarmo Kontrollitud,
Kõuts hääl läks arvesse
Hääled laeti e-urnist, need läbisid töötlusetapid - digitaalallkirjade kontroll, korduvate
häälte tühistamine, anonüümistamine - seejärel salvestati tulemused DVD-le.
Häälte lugemiseks moodustati eraldi DVD, mis sisaldas anonüümistatud hääli,
võtmerakendust, vajalikke nimekirju ja konfiguratsioonifaile.
Võrguühenduseta arvutis käivitati mälukettal DVD-lt kopeeritud Võtmerakendus. Kolm
(3) Vabariigi Valimiskomisjoni liiget ning kaks (2) Riigikogu Kantselei riigi
valimisteenistuse töötajat osales kokkulugemisel oma võtmeosakuga, mille abil avati
hääletamistulemus.
Kehtetuid hääli ei olnud, kehtivaid hääli loeti kokku kuus (6). Audiitor kinnitas, et
hääli said samad kandidaadid, kelle poolt testi käigus hääletati. Toiminguga
veenduti süsteemi häälte avamise võtmetoimivuses.
Olulisi puuduseid, mis võiksid takistada e-hääletamise läbiviimist prooviläbimise
perioodil ei tuvastatud.
Protseduuride käigus kasutati andmete terviklikkuse ja konfidentsiaalsuse tagamiseks
turvakleebiseid, mille kasutamist fikseerisid audiitorid vastavatel üleandmis-ja
vastuvõtmisaktidel. Info kasutatud turvakleebiste kohta on toodud aruande lisas 1.
4
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Lisa 1 Turvakleebiste kasutus
Objekt Kleebis nr Sulgemise kuupäev Väljastatud isiku nimi
Kaart 0 2515 05.10.2021 AIVAR RAHNO
Kaart 1 2511 05.10.2021 JANEK LAIDVEE
Kaart 2 2515 05.10.2021 RAUNO KIRIS
Kaart 3 2517 05.10.2021 TEET RAIDMA
Kaart 4 2514 05.10.2021 OLIVER KASK
Kaart 5 2516 05.10.2021 INDREK LEESI
Kaart 6 2513 05.10.2021 KRISTEL LEKKO
Kaart 7 2518 05.10.2021 SANDRA ELKEN
Kaart 8 2519 05.10.2021 AIRI MIKLI
Süsteemiketas 2520, 2521 05.10.2021 INDREK LEESI
5
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Lisa 2 Elektrooniliste häälte võtmete jaotamise akt
6
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Kontakt
Igmar Ilves
IT-audiitor
+372 626 8700
[email protected]
KPMG Baltics OÜ
Narva mnt 5
10117 Tallinn
Estonia
www.kpmg.com
© 2021 KPMG Baltics OÜ, Eesti osaühing ja Šveitsi ühinguga KPMG International
Cooperative (”KPMG International") lepinguliselt seotud sõltumatute ettevõtjate võrgustiku
liige. Kõik õigused kaitstud.
KPMG nimi ja logo on registreeritud kaubamärgid või ühingu KPMG
International Cooperative ("KPMG International") kaubamärgid.
7
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
KORRALDUS
Tallinn 02.09.2021 nr 6
Elektroonilise hääletamise süsteemi testimise ajakava
ja ulatus 2021. a kohaliku omavalitsuse volikogu valimistel
Korraldus antakse Riigikogu valimise seaduse § 482 lõike 4 punkti 3 alusel.
1. Elektroonilise hääletamise prooviläbimise (edaspidi prooviläbimine) viib läbi elektroonilise
hääletamise rakkerühm.
2. Prooviläbimine viiakse läbi 5.10.2021.
3. Prooviläbimisel testitakse elektroonilist hääletamist ja elektroonilise hääle kontrollimist.
4. Prooviläbimisel saavad hääletada:
4.1. rakkerühma liikmed;
4.2. elektroonilise hääletamise süsteemi audiitor;
4.3. Vabariigi Valimiskomisjoni liikmed;
4.4. riigi valimisteenistuse ametnikud ja töötajad;
4.5. vaatlejad.
5. Korraldus jõustub allakirjutamisel.
(allkirjastatud digitaalselt)
Arne Koitmäe
riigi valimisteenistuse juht
KOV 2021 prooviläbimine
E-hääletamise süsteemi testimise raport
Testimine toimus Tallinnas, 05.10.2021.a.
Osavõtjad:
Riigi Valimisteenistus: Indrek Leesi, Meelis Saar, Leino Mandre
Audiitorid: Raul Nugis, Igmar Ilves, Vitali Jekimtsev
Vaatlejad: Lauri Tankler, Alo Einla, Janar Nagel,
Maldur Miilimäe, Peeter Tatter, Virgo Kruve, Hanno Artur Särg
Esmalt seadistati valijarakendused ja konfigureeriti kontrollrakendus. Rakendused
allkirjastati.
Algas testhääletamine. Hääletas 6 isikut, neist 1 korduvalt. Märgiti üles, kelle poolt
hääletaja hääletas, et hiljem võrrelda hääletamistulemusega.
Nimi Platvorm Valik Tulemus
Indrek Leesi Windows ID-kaart 101 Tarmo Kõuts Korduvhääl
Meelis Saar Windows ID-kaart 1274 Erki Ennok 1- OK/OK
Indrek Leesi Windows ID-kaart 102 Priidu Pärna Korduvhääl
Sandra Elken Windows ID-kaart 438 Rasmus 1- OK/OK
Lahtvee
Arne Koitmäe Windows Mobiil-ID 337 Tiit Meren 1- OK/OK
Oliver Vilba Windows Mobiil-id 1279 Hendrik Tiido 1- OK/OK
Kristi Sobak Windows Mobiil-id 892 Jana Toom 1- OK/OK
Indrek Leesi Windows ID-kaart 101 Tarmo Kõuts 1- OK/OK
Hääled laeti e-urnist ning läbisid töötlusetapid - digitaalallkirjade kontroll, korduvate
häälte tühistamine, anonüümimine - ning salvestati tulemused DVD-le.
Häälte lugemiseks moodustati eraldi DVD, mis sisaldas anonüümitud hääli,
võtmerakendust, vajalikke nimekirju ja konfiguratsioonifaile.
Võrguühenduseta arvutis käivitati mälukettal DVD-lt kopeeritud Võtmerakendus.
Kolm Vabariigi Valimiskomisjoni ja kaks riigi valimisteenistuse liiget osales kokku
lugemisel oma võtmeosakuga, mille abil avati hääletamistulemus. Kehtetuid hääli ei
olnud, kehtivaid hääli loeti kokku 6.
Toiminguga veenduti süsteemi häälte avamise võtme toimivuses.
Audiitor kinnitas, et hääli said samad kandidaadid, kelle poolt testi käigus hääletati.
Indrek Leesi (RVT)
19.10.21 22:46 Komisjoni liikmed | Valimised Eestis
Komisjoni liikmed
Komisjoni Tallinna Ringkonnakohtu
Oliver Kask
esimees kohtunik
Komisjoni
Airi Mikli Riigikontrolöri nõunik
aseesimees
Komisjoni Tallinna Halduskohtu
Janek Laidvee
liige kohtunik
Komisjoni Õiguskantsleri Kantselei
Olari Koppel
liige direktor
https://www.valimised.ee/et/korraldajad/vabariigi-valimiskomisjon/komisjoni-liikmed 1/2
19.10.21 22:46 Komisjoni liikmed | Valimised Eestis
Dilaila Nahkur- Komisjoni
Juhtiv riigiprokurör
Tammiksaar liige
Komisjoni Riigikantselei
Aivar Rahno
liige istungiosakonna juhataja
Komisjoni KPMG Baltics OÜ IT
Teet Raidma
liige nõustamisteenuste juht
https://www.valimised.ee/et/korraldajad/vabariigi-valimiskomisjon/komisjoni-liikmed 2/2
KORRALDUS
Tallinn 4.10.2021 nr 12
Elektroonilise hääletamise protokollistiku ja
süsteemi tehniliste juhendite kinnitamine
Korraldus antakse Riigikogu valimise seaduse § 482 lõike 4 punkti 1 alusel.
1. Kinnitada tehnilised juhendid elektroonilise hääletamise süsteemi opereerimiseks:
1.1. Seadistuste koostamise juhend (versioon 1.7.6);
1.2. Valijarakenduse pakendamine (versioon 1.7.4);
1.3. Kogumisteenuse haldusteenuse kasutusjuhend (versioon 1.7.6);
1.4. Kogumisteenuse haldusjuhend (versioon 1.7.6).
2. Kinnitada elektroonilise hääletamise süsteemi spetsifikatsioonid:
2.1. Arhitektuur - ülevaade "IVXV" tehnilisest realisatsioonist (versioon 1.7.6);
2.2. Protokollid - "IVXV" andmestruktuurid ja andmevahetusprotollid (versioon 17.6);
2.3. Võtmerakendus - "IVXV" võtmehalduses kasutatav tehnoloogia (versioon 1.4.0).
3. Punktides 1 ja 2 loetletud juhendid ja spetsifikatsioonid avaldatakse valimiste veebilehel
(www.valimised.ee).
4. Riigi valimisteenistuse 22.04.2019 korraldus nr 17 „Elektroonilise hääletamise protokollistiku
ja süsteemi tehniliste juhendite kinnitamine“ tunnistada kehtetuks.
5. Korraldus jõustub allakirjutamisel.
(allkirjastatud digitaalselt)
Arne Koitmäe
riigi valimisteenistuse juht
IVXV valijarakenduse pakendamine
Juhend
Versioon 1.7.4
21. september 2021
23 lk
Dok IVXV-JVP-1.7.4
Sisukord
Sisukord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Ülevaade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Pakendamise põhimõte . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Pakendatavad komponendid . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Vajalikud tööriistad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Ressursside seadistamine . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Seadistaja.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Ressursside tüübid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Tekstide maskid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Vaadete redigeerimine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Seadistuste rakendamine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Valijarakenduse allkirjastamine . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 Sissejuhatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3 macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Pakendatud rakenduse testimine . . . . . . . . . . . . . . . . . . . . . . . . 14
6 Lisa 1 - Toetatud HTML alamhulk . . . . . . . . . . . . . . . . . . . . . . . . 15
7 Lisa 2 - Ressursid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 2 / 23
PEATÜKK 1
Ülevaade
1.1 Pakendamise põhimõte
Valijarakendus kasutab enda töös seadistatavaid ressursse, mille abil kujundatakse
Valijarakenduse lõplik väljanägemine ning täpsustatakse konkreetse(te)l hääletus(t)el
osalemiseks vajalikud parameetrid. Valijarakenduse käimasoleva(te)ks hääletus(t)eks
töökorda seadmist nimetame Valijarakenduse pakendamiseks.
Valijarakenduse pakendamine koosneb järgmistest tegevustest
1. Seadistuste koostamine
2. Seadistuste rakendamine
3. Rakenduse signeerimine
4. Pakendatud rakenduse testimine
Valijarakendus on kõigi platvormide tarbeks seadistatav Windows platvormil.
1.2 Pakendatavad komponendid
Valijarakenduse pakendamise käigus seadistatakse alljärgnevaid komponente:
1. Windows rakendus – valimine.exe
2. Linux 64bit rakendus – valimine64.bin
3. macOS rakendus – Valimine
Seadistamine eeldab kompileeritud kuid seadistamata Valijarakenduse olemasolu.
Seadistamiskõlbulikud Valijarakendused eri platvormidele tarnitakse IVXV tarnepakis.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 3 / 23
Kui teistel platvormidel on Valijarakendus üks käivitatav fail, siis macOS puhul koosneb
rakendus mitmest failist. Rakenduse seadistamist vajav komponent paikneb failis:
Valimine
Rakenduse pakendamisel on vaja ka täiendavat faili, mis sisaldab macOS spetsiifilisi
ressursse:
Valimine.tar
1.3 Vajalikud tööriistad
Valijarakenduse pakendamiseks vajalikud tööriistad tarnitakse IVXV tarnepakis.
1. Seadistaja.exe – Seadistaja on programm, mille abil on võimalik luua ja redigee-
rida Valijarakenduse ressurssifaile, ressursse Valijarakendusse süstida ja vaja-
dusel pakitud Valijarakenduse kontrollsummat uuendada
2. upx.exe – Valija rakenduse binaaride pakkimiseks võib kasutada utiliiti UPX (the
Ultimate Packer for Executables, http://upx.sourceforge.net/). Tegemist on exe-
pakkijaga, mille töö jääb lõppkasutajale nähtamatuks - pakitud programm pakib
ennast ise enne käivitumist lahti, ilma et kasutaja midagi tegema peaks.
3. signtool.exe – Utiliit Valijarakenduse Windows versioonide signeerimiseks
4. packagesigner.sh – Utiliit Valijarakenduse macOS versiooni signeerimiseks ja
pakendamiseks
NB! Pakendamise õnnestumiseks peavad Seadistaja.exe ja upx.exe asuma samas
kataloogis.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 4 / 23
PEATÜKK 2
Ressursside seadistamine
2.1 Seadistaja.exe
Kõiki Valijarakenduse muudetavaid ressursse saab töödelda rakenduse Seadista-
ja.exe abil. Utiliit pakub järgnevat funktsionaalsust:
1. Valijarakenduse ressurssifaili loomine vaikeseadistuste põhjal
2. Valijarakenduse ressurssifaili redigeerimine ja salvestamine
3. Muudatuste mõju jälgimine WYSIWYG meetodil
4. Ressursside rakendamine Valijarakendusele
5. UPX pakkimise rakendamine Valijarakendusele
Seadistaja.exe poolt kasutatav ressurssifail on JSON vormingus. Ressursse võib va-
jadusel kohendada tekstiredaktoriga, Seadistaja.exe valideerib ressurssid enne res-
sursside Valijarakendusse süstimist.
Seadistaja vaates „Seadista“ on võimalik redigeerida ressursse. Vaates kuvatakse:
1. Seadistatavate ressursside nimekiri.
2. Valitud ressursi redigeerimise ja info paneel.
2.1 Ressursi kirjeldus
2.2 Ressursi kuva/redigeerimisala. Vastavalt ressursi sisutüübile:
2.2.1 KEY - mitteredigeeritav tekstikast võtmeinfoga
2.2.2 QUESTIONS - redigeeritav tekstikast küsimustega
2.2.3 TEXT - tekstikast, mis võimaldab tekstisisestust
2.2.4 TEXT_LIST - tekstikast, mis võimaldab tekstisisestust, iga rida on uus
element tekstiloendis
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 5 / 23
Kuva 1. Ressursside redigeerimine
2.2.5 NUMBER - tekstikast, mis võimaldab numbrite sisestust
2.2.6 BOOLEAN - „radio“ nupud JAH/EI vastuse valimiseks
2.2.7 IMAGE_BMP - kuvatakse pilt
2.2.8 COLOR - kuvatakse värvivalikut
2.2.9 CERT_LIST - mitteredigeeritav tekstikast sertide kirjeldusega
2.2.10 DISTRICTS - mitteredigeeritav tekstikast ringkondade nime infoga
2.3 Ressursi redigeerimise nupud vastavalt ressursi sisutüübile:
2.3.1 IMAGE_BMP, KEY, CERT_LIST, DISTRICTS:
• „Lae failist“ - avab dialoogi, mis võimaldab valida faili
• „Kustuta“ - kustutab ressursi väärtuse
2.3.2 COLOR:
• „Vali“ - avab värvipaletiga dialoogi, mis võimaldab värvi valida
3. Administreerimis- ja infopaneel. Sisaldab administreerimiseks kasutatavaid nup-
pe ning infot seadistuste hetkeoleku kohta.
3.1 Infotabloo, mis kajastab infot seadistustoimingute kohta. Paneeli värv tähis-
tab:
• Roheline - toiming õnnestus
• Kollane - toimingu läbiviimisel esines vigu
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 6 / 23
• Punane - toiming ebaõnnestus
3.2 Seadistusfaili nimi, mida redigeeritakse. Paneeli värv tähistab:
• Valge - ressursid on seadistusfaili salvestatud
• Punane - ressursid on seadistusfaili salvestamata
• Hall - töötatakse vaikeressurssidega, seadistusfail on salvestamata
3.3 Ressursside kasutamata/kasutatud ruum baitides. Diagrammi värvid tähis-
tavad:
• Heleroheline - vaba ruum
• Tumeroheline - kasutatud ruum
Kuva 2. Eelvaated
Seadistaja vaates „Eelvaated“ on võimalik vaadata redigeeritud ressursside toimet va-
lijarakenduses. Vaates kuvatakse nupud
1. kõigi kuvade aktiveerimiseks,
2. kõigi dialoogiakende aktiveerimiseks,
3. kõigile vealiikidele vastavate vaadete aktiveerimiseks ja
4. kõigi serveri poolt indikeeritud veasituatsioonidele vastavate veavaadete aktivee-
rimiseks.
Tähelepanu: Dokumendis olevatel ekraanitõmmistel on illustreeriv otstarve. Ek-
raanitõmmiste ja selgitava teksti lahknevuste korral tuleb lähtuda tekstist.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 7 / 23
2.2 Ressursside tüübid
Valijarakenduse seadistatavad ressursid jagunevad järgmistesse tüüpidesse:
KEY Elektrooniliste häälte salastamise võti, laetakse PEM või DER vormingus. Vahe-
tu redigeerimine ei ole võimalik.
QUESTIONS Elektroonilise hääletamise küsimused kujul: <identifikaator>: <küsi-
mus>. Üks rida on üks küsimus. Vahetu redigeerimine võimalik.
TEXT Kõik valijarakenduses kasutatavad stringid - veateated, kasutajaliidese tekstid,
tekstide maskid. Vahetu redigeerimine võimalik.
TEXT_LIST Valijarakenduses kasutatavad loendid - serverite aadressid, teekide asu-
kohad. Vahetu redigeerimine võimalik, üks rida on üks element.
NUMBER Fontide suurused ja teised numbrilised andmed. Vahetu redigeerimine või-
malik.
BOOLEAN Tõeväärtustüüpi kasutatakse Mobiil-ID seadistustes sisse-
/väljalülitamiseks. Vahetu redigeerimine võimalik.
IMAGE_BMP ID-kaardi ja Mobiil-ID ametlikud pildid lisatakse rakendusele BMP vor-
mingus piltidena. Vahetu redigeerimine ei ole võimalik, pilte saab lisada ja eemal-
dada. NB! Valijarakendus eeldab piltidelt suurust 160 x 64 pikselit.
CERT_LIST Sertifikaadid salvestatakse ressurssidesse PEM kodeeritud kujul. Vahetu
redigeerimine ei ole võimalik, serte saab lisada ja eemaldada. Sisendandmed
võivad olla PEM vormingus üksteise järel failis või DER vormingus. Serte saab
lisada ka ükshaaval.
DISTRICTS Ringkonna nimede informatsioon. Vahetu redigeerimine ei ole võimalik.
Sisendandmed peavad olema JSON formaadis vastavalt IVXV andmestruktuuri-
dele.
COLOR Fontide värvid, tekstide värvid. Vahetu redigeerimine võimalik.
2.3 Tekstide maskid
Valijarakenduses on töö käigus genereeritavad dünaamilised tekstid ja nende ku-
jundus teineteisest lahutatud. Tekstiväli sisaldab puhast teksti, teksti mask sisaldab
HTML-märgendeid, millega tekst on kujundatud ja kohahoidjaid dünaamilise teksti süs-
timiseks.
Kohahoidjad kirjeldatakse kujul %i%, kus i on täisarv. Nt. %1%
Näiteks kui on defineeritud tekst:
"Teie valik on:"
ja teksti mask:
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 8 / 23
"%1%<b>Kandidaat number %2%</b>"
Siis pannakse need, eeldusel et valisite kandidaadi number XXX, rakenduses kokku:
"Teie valik on:<b>Kandidaat number XXX</b>"
Selle tulemusena kuvatakse tekst rasvases kirjas (<b>).
NB! Maske redigeerides peab kohahoidjate arv säilima muutumatuna, vastasel juhul
rakendus keeldub töötamast. Kohahoidjate loendamine algab 1’st.
Staatiliste tekstide korral kasutatakse HTML-märgendeid otse tekstis.
Toetatud alamhulk HTML keele elementidest on kirjeldatud lisas.
2.4 Vaadete redigeerimine
Seadistamise töövoog näeb lihtsustatult välja nii:
1. Käivita Seadistaja.exe.
2. Kui on olemas seadistusfail, siis lae see Seadistajasse (<Lae seaded>).
3. Redigeeri seadeid - iga ressurssiga kaasneb info - kus antud seadistust kasuta-
takse ja kuidas.
4. Salvesta (<Salvesta seaded>, <Salvesta seaded nimega>)
5. Klõpsat huvipakkuva vaate nupul ning veendu, kas tulemus on ootuspärane ja
meeldiv.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 9 / 23
PEATÜKK 3
Seadistuste rakendamine
Sobiva seadistusfaili olemasolu korral on võimalik Valijarakenduse tegelik seadistami-
ne. Selle protseduuri käigus süstitakse seadefailis salvestatud seaded Valijarakenduse
faili. Seadistuste rakendamine on platvormist sõltumatu nt. võib macOS universaalbi-
naari seadistada Windows platvormil.
Vajadusel Valijarakendus UPX-pakitakse. macOS platvormil saab UPX pakkimisest
loobuda juhul kui rakenduse levitamiseks kasutatakse DMG kettatõmmist.
1. Käivita Seadistaja.exe.
2. Lae seadistusfail. (<Lae seaded>).
3. Veendu visuaalsel vaatlusel, et laadisid õige seadistusfaili.
4. Klõpsa nupul <Valideeri> veendumaks, et seaded on korrektsed.
5. Kui soovid koos seadistamisega rakendada ka UPX pakkimist, siis tee linnuke
kasti <UPX>.
6. Klõpsa nupul <Rakenda valijarakendusele>.
7. Vali puhas fail, mida soovid ressurssidega täiendada, klõpsa <OK>.
8. Vali tekitatava faili nimi, klõpsa <OK>.
9. Seaded süstitakse Valijarakendusse, vajadusel rakendatakse pakkimist.
Seadistuste rakendamise järel on Valijarakendus kasutamiseks valmis. Valikuliselt võib
Valijarakendust enne evitamist ka digitaalselt allkirjastada.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 10 / 23
PEATÜKK 4
Valijarakenduse allkirjastamine
4.1 Sissejuhatus
Windows ja macOS platvormidel on väljakujunenud levinud meetodid koodi digitaal-
seks allkirjastamiseks ja/või ajatembeldamiseks, mille kasutamine oluline eeldus nii
Valijarakenduse autentsuses ja tervikluses veendumiseks kui ka mugavaks kasuta-
miseks neil platvormidel.
4.2 Windows
Allkirjastamiseks on vaja järgmisi vahendeid.
1. EV CodeSign sertifikaadiga allkirjastamisvõti
2. Tarkvara allkirjastamisvõtme kasutamiseks Windows platvormil – näiteks utiliit
signtool.exe
3. Internetiühendus (vajalik ajatembelduseks)
4. Seadistatud ja UPX-pakitud valimine.exe fail.
NB! Rakenduste allkirjastamiseks sobiva EV sertifikaadi hankimine on määramatu
kestusega protsess ning seda tuleks alustada vähemalt 3 kuud enne tegeliku allkir-
jastamisvajaduse tekkimist. Harilik rakenduste allkirjastamise sertifikaat ei sobi Valija-
rakenduse jaoks, kuna Windows SmartScreen tehnoloogia käsitleb selliseid rakendusi
nende evitustsükli alguses tundmatute rakendustena, mille eest enne täiendava repu-
tatsiooni kogumist kasutajat hoiatatakse. Valijarakenduse eluiga on lühike ning kasu-
tamine ilma hoiatusteta peab olema võimalik kohe alguses, mida on võimalik tagada
ainult EV sertifikaadiga.
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 11 / 23
Valija rakenduse allkirjastamine toimub näitena järgnevalt. Protsessi detailid võivad
erineda sõltuvalt allkirjastamisvõtme sertifitseerija eripäradest.
1. Aktiveerige allkirjastamisvõti
2. Käivitage rakendus signtool.exe:
> signtool sign /n <allkirjastaja> /t <ajatempliteenuse URL> /d
˓→<kirjeldus> /du <Valimiste URL> <allkirjastatav fail>
<allkirjastaja> Osa allkirjastava sertifikaadi subjekti nimest, sertifikaat peab võimal-
dama koodi signeerimist ning olema registreeritud allkirjastamiseks kasutatavas
masinas
<ajatempliteenuse URL> Näiteks: http://timestamp.verisign.com/scripts/timestamp.
dll
<kirjeldus> Näiteks: „Valijarakendus“
<Valimiste URL> Veebilehe URL, kus on rakenduse räsid, avalikud võtmed jm. Näi-
teks: http://www.valimised.ee/
3. Käituge vastavalt juhistele ekraanil. Allkirjastamise õnnestumisel kuvatakse tea-
de: „Successfully signed and timestamped“. Sellega on rakendus allkirjastatud.
4.3 macOS
macOS platvormil on rakenduse allkirjastamine ja pakendamine seotud üheks tegevu-
seks.
macOS Gatekeeper piirab üldjuhul paigaldatava tarkvara MacStore’st pärinevate või
Apple’i poolt registreeritud arendajate rakendustega. Allkirjastada saab ka teiste koo-
disigneerimisvõtmetega, kuid need ei ole üldjuhul macOS platvormil tunnustatud. See-
tõttu võib osutuda otstarbekaks lasta macOS rakendus allkirjastada arendajal.
Olenemata allkirjastajast on allkirjastamiseks vaja järgmisi vahendeid.
1. Allkirjastamisvõti
2. Tarkvara allkirjastamisvõtme kasutamiseks macOS platvormil
3. Utiliiti packagesigner.sh, mis tarnitakse IVXV tarnepakis.
4. macOS ressurssid, mis tarnitakse IVXV tarnepakis failina Valimine.tar
5. Seadistatud fail Valimine
Valija rakenduse allkirjastamiseks tehke järgnevat.
1. Aktiveerige allkirjastamisvõti
2. Käivitage utiliit packagesigner.sh, samas kaustas failidega Valimine ja Valimi-
ne.tar :
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 12 / 23
> packagesigner.sh Valimine <allkirjastaja>
<allkirjastaja> Osa allkirjastava sertifikaadi subjekti nimest, sertifikaat peab võimal-
dama koodi signeerimist ning olema registreeritud allkirjastamiseks kasutatavas
masinas.
Tulemusena tekib valijarakenduse paigalduspakk valimine.dmg
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 13 / 23
PEATÜKK 5
Pakendatud rakenduse testimine
Pärast Valijarakenduse kohandamist tuleb seda alati testida, et veenduda muudatuste
korrektsuses. Selleks tuleb läbi viia testhääletamine ja häälte lugemine; veenduda,
et häälte dekrüpteerimine õnnestub ning et hääletustulemused vastavad hääletamisel
tehtud valikutele.
Hääletamise edukaks läbiviimiseks tuleb tagada, et nimeserverid sisaldaks kogu hää-
letusperioodi vältel ajakohast infot hääletamissüsteemi sisendpunktide kohta - siis suu-
dab valijarakendus vastavalt muutuvatele oludele nimesid korrektselt lahendada
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 14 / 23
PEATÜKK 6
Lisa 1 - Toetatud HTML alamhulk
Märgendid:
• A: HREF/NAME
• B
• BODY: BGCOLOR/TEXT/LINK
• BR
• CENTER
• CODE
• DD
• DL
• DT
• EM
• FONT: COLOR/SIZE/FACE=(helvetica/arial/sans/times/serif/symbol/courier)
• H1/H2/H3/H4/H5/H6
• HEAD
• HR
• I
• IMG: SRC/WIDTH/HEIGHT/ALT
• KBD
• LI
• OL
• P
• PRE
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 15 / 23
• STRONG
• TABLE: TH/TD/TR/BORDER/BGCOLOR/COLSPAN/ALIGN=CENTER|RIGHT|LEFT
• TITLE
• TT
• U
• UL
• VAR
Värvide nimetused:
• black,red,green,yellow,blue,magenta,fuchsia,cyan,aqua,white,gray,grey,lime,maroon,navy,olive
URL tüübid:
• Internal: file:
• External: http: ftp: https: ipp: mailto: news:
Sümbolviited:
• Aacute aacute Acirc acirc acute AElig aelig Agrave agrave amp Aring aring Atilde
atilde Auml auml
• brvbar bull
• Ccedil ccedil cedil cent copy curren
• deg divide
• Eacute eacute Ecirc ecirc Egrave egrave ETH eth Euml euml euro
• frac12 frac14 frac34
• gt
• Iacute iacute Icirc icirc iexcl Igrave igrave iquest Iuml iuml
• laquo lt
• macr micro middot
• nbsp not Ntilde ntilde
• Oacute oacute Ocirc ocirc Ograve ograve ordf ordm Oslash oslash Otilde otilde
Ouml ouml
• para premil plusmn pound
• quot
• raquo reg
• sect shy sup1 sup2 sup3 szlig
• THORN thorn times trade
• Uacute uacute Ucirc ucirc Ugrave ugrave uml Uuml uuml
• Yacute yacute
• yen Yuml yuml
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 16 / 23
PEATÜKK 7
Lisa 2 - Ressursid
Identifikaator Andmetüüp Abiinfo
Ressurssid sektsioonist RES_APP
EVOTE_SERVER TEXT_LIST Serverite DNS nimed või IP aadressid
ELECTION_ID TEXT Valimisidentifikaator
DEFAULT_QUESTION_ID TEXT Küsimuseidentifikaator
QUESTIONS QUESTIONS Küsimused
VOTE_DISTRICTS DISTRICTS Valimisringkonnad (JSON)
HAVE_MOBID BOOLEAN Kas kasutame Mobiil-ID autentimisvõi-
malust?
VALID_PERIOD PERIOD Ajavahemik, kus rakendus töötab ilma
hoiatuseta (YYYY-MM-DD - YYYY-MM-
DD)
Ressurssid sektsioonist RES_BTN
AUTH_ID_CARD TEXT Tekst nupul, mis algatab valimisprotse-
duurid ID-kaardiga
AUTH_MOBID TEXT Tekst nupul, mis algatab valimisprotse-
duurid mobiil-ID’ga
MAKE_DECISION TEXT Mitme hääletuse korral kasutatav nupp
kahe valimise vahelisest vaatest edasi
liikumiseks
START_CHOOSING TEXT Tekst nupul, mis suunab valimisi üldiselt
tutvustavast vaatest hääletamisprotse-
duuride juurde
SUBMIT_MOBID TEXT Tekst nupul, millel klõpsamise järel
edastatakse autentimiseks Mobiil-ID te-
lefoni number
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 17 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
BACK TEXT Tekst eelmise vaatesse tagasi viival nu-
pul
SELECT_CANDIDATE TEXT Tekst nupul, mis viib edasi kandidaatide
nimekirja kuvavast vaatest
SIGN TEXT Tekst nupul, mille vajutamisele järgneb
allkirjastamine (PIN2)
STOP_VOTE TEXT Tekst nupul, mille vajutamisele järgneb
hääletamise katkestamine
STOP_VOTE_ERR TEXT Tekst veavaates asuval nupul, mis või-
maldab rakendusest väljuda
QUIT TEXT Tekst nupul, mis sulgeb valijarakenduse
peale edukat hääletamist
RETRY TEXT Tekst nupul, mis võimaldab veavaates
korrata untsuläinud sammu
Ressurssid sektsioonist RES_DATA
PUBLIC_ENC_KEY KEY Avalik häälte krüpteerimisvõti
(PEM/DER)
MID_CERTS CERT_LIST MID serveri TLS sertifikaadid
(PEM/DER)
CHOICES_CERTS CERT_LIST Valikute serveri TLS sertifikaadid
(PEM/DER)
VOTING_CERTS CERT_LIST Hääletamise serveri TLS sertifikaadid
(PEM/DER)
OCSP_CERTS CERT_LIST OCSP teenuse sertifikaadid
(PEM/DER)
TSA_CERTS CERT_LIST PKIX ajatempliteenuse sertifikaadid
(PEM/DER)
REG_CERTS CERT_LIST Kogumisteenuse registreerimispäringu-
te tegemise sertifikaat (PEM/DER)
ISSUER_CERTS CERT_LIST CA sertifikaadid (PEM/DER)
IMG_IDCARD IMAGE_BMP ID-Kaardi valiku pilt (BMP)
IMG_MOBID IMAGE_BMP Mobiil-ID valiku pilt (BMP)
Ressurssid sektsioonist RES_DIA
QUIT_DIA_CAPTION TEXT Valijarakenduse sulgemisdialoogi tiitel-
riba
QUIT_DIA_TEXT TEXT Tekst valijarakenduse sulgemisdialoo-
gis, mis avaneb vaadetes katkestusnu-
pul klõpsamise tulemusena
QUIT_DIA_BTN_YES TEXT Tekst nupul, millele vajutamisel valijara-
kendus suletakse
QUIT_DIA_BTN_NO TEXT Tekst nupul, millele vajutamisel naas-
takse valijarakendusse ja jätkatakse te-
gutsemist
QUIT_DIA_BTN_FONT_SIZENUMBER Sulgemisdialoogi nuppude fondisuurus
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 18 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
PIN_DIA_CAPTION TEXT PIN dialoogi tiitel-riba, Linux.
PIN_DIA_BTN_OK TEXT PIN dialoogi kinnitav nupp.
PIN_DIA_BTN_CANCEL TEXT PIN dialoogi katkestav nupp.
PIN_DIA_BTN_FONT_SIZE NUMBER Linuxi PIN-dialoogi nuppude fondisuu-
rus
PROXY_DIA_CAPTION TEXT Proksi dialoogi tiitel-riba, Linux
PROXY_DIA_TEXT TEXT Proksi dialoogi tekst, Linux
PROXY_DIA_BTN_OK TEXT Proksi dialoogi kinnitav nupp, rakendab
proksi sätted
PROXY_DIA_BTN_CANCEL TEXT Proksi dialoogi kinnitav nupp, tühistab
proksi kasutamise
PROXY_DIA_BTN_FONT_SIZE NUMBER Linuxi proksidialoogi nuppude fondisuu-
rus
PROXY_DIA_LBL_URL TEXT Proksi dialoogi sisestusvälja URL silt,
Linux
PROXY_DIA_LBL_PORT TEXT Proksi dialoogi sisestusvälja Port silt,
Linux
PROXY_DIA_LBL_USERNAME TEXT Proksi dialoogi sisestusvälja Kasutaja-
nimi silt, Linux
PROXY_DIA_LBL_PASSWORD TEXT Proksi dialoogi sisestusvälja Parool silt,
Linux
MSAA_CHOICES_UNFILTERED TEXT MSAA tekst kui valikute nimekiri on filt-
reeritud
MSAA_CHOICES_FILTEREDTEXT MSAA tekst kui valikute nimekiri on filt-
reerimata
MSAA_CHOICES_LIST TEXT MSAA, valikute nimekiri
MSAA_APP_NAME TEXT MSAA, rakenduse nimi
MSAA_QR_CODE TEXT MSAA, QR-kood
Ressurssid sektsioonist RES_ERROR
MASK TEXT(3)
Veavaate mask.
%1 - Üldine vea klassifikaator %2 - Veateade %3 - Võimalusel detailne veateade
SYSTEM TEXT Viga: operatsioonisüsteem ei suuda
pakkuda vajalikku teenust
INTERNAL TEXT Viga: viga tarkvaras
NETWORK TEXT Viga: transpordikiht ei tule oma ülesan-
netega toime
SERVER TEXT Viga: HES tagastab vigase teate
PROTOCOL TEXT Viga: HES tagastab veateate, täpsem
kirjeldus antakse detailides
ID TEXT Viga: Suhtlus ID-kaardiga ebaõnnestus
VERIFY TEXT Viga: OCSP/TSP/NONCE verifitseeri-
mine ebaõnnestus
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 19 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
ENVIRONMENT TEXT Viga: Kasutaja arvuti sätted ei ühti ra-
kendusega
Ressurssid sektsioonist RES_ROADMAP
STATE_0 TEXT Edenemisriba olek 0
STATE_1 TEXT Edenemisriba olek 1
STATE_2 TEXT Edenemisriba olek 2
STATE_3 TEXT Edenemisriba olek 3
FONT_NAME TEXT Edenemisriba tekstide font
FONT_SIZE NUMBER Edenemisriba tekstide fondi suurus
Ressurssid sektsioonist RES_SERVER
PROTOCOL_ERROR_GENERAL TEXT Viga: Täpsemalt tuvastamata viga, mi-
da peab uurima logidest
BAD_REQUEST TEXT Serverile saadetud päring oli vigane
BAD_CERTIFICATE TEXT Kasutatud sertifikaat on vigane
INELIGIBLE_VOTER TEXT Isik ei sobi valijaks
INTERNAL_SERVER_ERROR TEXT Sisemine serveri viga
VOTER_TOO_YOUNG TEXT Hääletaja on liiga noor
UNAUTHENTICATED TEXT Kasutaja ei ole ennast serverile auten-
tinud
RATE_LIMIT_EXCEEDED TEXT Kasutaja proovib hääletada liiga tihe-
dasti.
MID_ABSENT TEXT Telefon ei ole levis
MID_CANCELED TEXT Kasutaja katkestas
MID_BAD_CERTIFICATE TEXT Kasutaja sertifikaat ei kehti
MID_EXPIRED TEXT Mobiil-ID seanss aegus
MID_GENERAL TEXT Üldine Mobiil-ID viga
MID_NOT_USER TEXT Kasutaja pole Mobiil-ID kasutaja
IDENTITY_MISMATCH TEXT Hääletaja identiteet muutus
OUTDATED_CHOICES TEXT Valijate nimekiri ei ole ajakohane
VOTING_END TEXT Hääletamine on lõppenud
Ressurssid sektsioonist RES_TECH
CHOICES_SNI TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! CHOICES serveri proksi url
VOTING_SNI TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! VOTING serveri proksi url
MID_SNI TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! MID serveri proksi url
SSL_CIPHER_LIST TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! TLS1.2 protokolliga ühilduv
shiffer
MSG_SIZE NUMBER Maksimaalne serveri sõnumi suurus
SSL_TIMEOUT NUMBER Ühenduse ajalõpu väärtus
SSL_RETRY_TIMEOUT NUMBER Ühenduse taaskatsetuse ajalõpu väär-
tus
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 20 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
USER_AGENT_WIN TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! Windows kliendi UA
USER_AGENT_LINUX TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! Linux kliendi UA
USER_AGENT_OSX TEXT NB! Muuta ainult koos kesksüsteemi
koodiga! OSX kliendi UA
P11_LIBS_LINUX TEXT_LIST PKCS11 teegid Linuxil
P11_LIBS_OSX TEXT_LIST PKCS11 teegid OSXil
HTTPS_PROXY TEXT HTTPS proksi keskkonnamuutuja
Ressurssid sektsioonist RES_UI
CAPTION TEXT Valijarakenduse tiitelriba
FONT_NAME TEXT Rakenduse tekstide font
FONT_SIZE NUMBER Rakenduse tekstide fondi baassuurus
BTN_FONT_SIZE NUMBER Rakenduse nuppude fondisuurus
COLOR_PASSED_STATE COLOR Värv edenemisribal juba läbitud etapi
kuvamiseks
COLOR_CURRENT_STATE COLOR Värv edenemisribal käesoleva etapi ku-
vamiseks
COLOR_FUTURE_STATE COLOR Värv edenemisribal tulevikus läbitava
etapi kuvamiseks
COLOR_ACTIVE COLOR Värv kasutatava nupu kuvamiseks
COLOR_INACTIVE COLOR Värv mitte-kasutatava nupu kuva-
miseks
COLOR_CANDIDATE_LIST COLOR Värv kandidaatide nimekirja kuva-
miseks
Ressurssid sektsioonist RES_VIEW
V1_TEXT_CHOOSE_AUTH TEXT Tuvastusmeetodi valiku vaate põhitekst
V2_TEXT_INSERT_MOBID TEXT Mobiil-ID telefoninumbri sisestuse vaa-
te põhitekst
V2_LBL_PHONE_NO TEXT Telefoninumbri sisestuskasti nimi
V2_LBL_ID_NO TEXT Isikukoodi sisestuskasti nimi
V3_TEXT_MOBID_PIN1 TEXT Mobiil-ID autentimise ootamise vaate
põhitekst
V3_7_TEXT_MASK TEXT(2)
Mobiil-ID pollimisaegsete teadete mask
%1 - vastava vaate põhitekst %2 - teenuse poolt saadetud kood
V4_TEXT_INTRO_MASK TEXT(3)
Õnnestunud autentimisele järgneva vaate maskitud tekst.
%1 - autenditud isiku nimi %2 - autenditud isiku isikukood %3 -
(RES_VIEW_V4_ALREADY_VOTED)
V4_ALREADY_VOTED TEXT Tekst, mida kuvatakse autentimisjärg-
ses vaates isikule, kes juba on hääle-
tanud
V5_TEXT_MASK TEXT(2)
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 21 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
Valiku tegemise vaate põhitekst
%1 - Küsimus %2 - Ringkond
V5_MASK_CHOICE_PARTY TEXT(3)
Tehtud valiku kuvamine valikuvaates, kasutatakse RK ja KOV korral
%1 - kandidaadi number %2 - nimi %3 - erakond
V5_MASK_CHOICE_RH TEXT(2)
Tehtud valiku kuvamine valikuvaates, kasutatakse RH korral
%1 - valiku number %2 - tekst
V5_LBL_SEARCH TEXT Valikute nimekirja otsingu sisestuskasti
silt.
V5_SEARCH_EMPTY TEXT Tekst mis kuvatakse, kui otsingu tule-
musena ei leitud ühtegi valikut.
V6_TEXT_ID TEXT Hääletamise vaate instruktsioonid ID-
kaardi korral
V6_TEXT_MID TEXT Hääletamise vaate instruktsioonid
Mobiil-ID korral
V6_MASK_REVIEW_PARTY TEXT(4)
Tehtud valiku hääletamiseelne kuvamine KOV ja RK korral
%1 - Küsimus %2 - Kandidaadi number %3 - Nimi %4 - Erakond
Mitme hääletuse korral kasutatakse ka vahelehel.
V6_MASK_REVIEW_RH TEXT(3)
Tehtud valiku hääletamiseelne kuvamine RH korral
%1 - Küsimus %2 - Vastuse number %3 - Nimi
Mitme hääletuse korral kasutatakse ka vahelehel.
V7_TEXT_MOBID_PIN2 TEXT Mobiil-ID allkirjastamise ootamise vaate
põhitekst
V8_TEXT_GOOD_END TEXT(2)
Õnnestunud hääletamisele järgneva vaate põhitekst
%1 - (RES_VIEW_V8_MID) või (RES_VIEW_V8_IDCARD) %2 -
(RES_VIEW_V8_TEST_VOTE)
V8_TEST_VOTE TEXT Tekst, mida kuvatakse hääletanud ini-
mesele, kelle hääl läks arvesse test
häälena
V8_IDCARD TEXT ID-kaardi kasutajatele kuvatav lõpulau-
se
V8_MID TEXT Mobiil-ID kasutajatele kuvatav lõpulau-
se
V_MASK_NEXT_QUESTIONTEXT(1)
Kasutatakse mitme hääletuse korral vahelehel järgmisele küsimusele viitamiseks
%1 - küsimuse sõnastus
V_NETWORK TEXT Kasutatakse vahevaatena võrgusuht-
luse korral
Ressurssid sektsioonist STR_ERR
Continued on next page
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 22 / 23
Tabel 1 – continued from previous page
Identifikaator Andmetüüp Abiinfo
ELEC_RES TEXT Veatekst, mis kuvatakse juhul, kui vali-
jarakenduse käivitamisel ei leita seadis-
tatud tekste
HTTPS_NETWORK_MID TEXT Veatekst, mis kuvatakse juhul, kui
võrguühenduse loomine ebaõnnestus
(mID)
HTTPS_NETWORK_ID TEXT Veatekst, mis kuvatakse juhul, kui võr-
guühenduse loomine ebaõnnestus (ID-
kaart)
DUI_INSERT_PIN1 TEXT PIN1 sisestustekst tavalise kaardilugeja
korral
DUI_INSERT_PIN2 TEXT PIN2 sisestustekst tavalise kaardilugeja
korral
DUI_INSERT_PIN_INCORRECTTEXT Tekst, mis kuvatakse vale PINi sisesta-
misel
DUI_PINPAD TEXT PIN sisestustekst pinpadiga kaardiluge-
ja korral
IDPROV_INIT TEXT Tekst, mis kuvatakse juhul, kui ID-kaart
ei ole lugejas
IDPROV_CANCEL TEXT Tekst, mis kuvatakse juhul, kui PINi si-
sestus katkestatakse
IDPROV_DLOPEN TEXT Veatekst, mis kuvatakse juhul, kui ID-
kaardi draivereid ei leitud
IDPROV_LOCKED TEXT Veatekst, mis kuvatakse juhul, kui ID-
kaart on teise programmi poolt lukusta-
tud
IDPROV_WRONG_PIN TEXT Veatekst, mis kuvatakse juhul, kui kasu-
taja sisestab PIN koodi 2 korda valesti
IDPROV_BLOCKED TEXT Veatekst, mis kuvatakse juhul, kui kasu-
taja ID-kaart on blokeeritud
VALID_PERIOD TEXT Veatekst, mis kuvatakse juhul, kui ra-
kenduse kehtivusaeg ei ühildu valija ar-
vuti kellaga
IVXV valijarakenduse pakendamine 1.7.4
21. september 2021 23 / 23
IVXV protokollide kirjeldus
Spetsifikatsioon
Versioon 1.7.6
27.09.2021
53 lk
Dok IVXV-PR-1.7.6
Sisukord
Sisukord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Annotatsioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Ülevaade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Elektroonilise hääletamise protokoll . . . . . . . . . . . . . . . . . . . . . 5
3 Valimise definitsioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Elektrooniline hääl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1 Valija tahteavaldus avakujul . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Krüpteeritud sedel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Valija poolt allkirjastatud hääl . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.1 Element SignedProperties . . . . . . . . . . . . . . . . . . . . . . 11
4.3.2 Element SignedInfo . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.3 Element SignatureValue . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.4 Element XAdESSignatures . . . . . . . . . . . . . . . . . . . . . 13
5 Elektroonilise hääle kvalifitseerimine talletamiseks . . . . . . . . . . . . . 14
5.1 Kvalifitseeritud hääl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1.1 OCSP kehtivuskinnitus . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.2 OCSP-TM kehtivuskinnitus . . . . . . . . . . . . . . . . . . . . . 15
5.1.3 RFC3161 ajatempel . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 Talletamine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Elektroonilise hääle registreerimine . . . . . . . . . . . . . . . . . . . . . . 16
6.1 Registreerimisteenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1.1 Registreerimisteenus protokollis . . . . . . . . . . . . . . . . . . 17
6.1.2 Registreerimisteenuse liidesed . . . . . . . . . . . . . . . . . . . 17
6.1.3 Osapoolte nõuded registreerimisteenusele . . . . . . . . . . . . . 18
6.1.3.1 Töötleja . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1.3.2 Hääletaja . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.1.3.3 Kogumisteenus . . . . . . . . . . . . . . . . . . . . . . . 20
6.1.3.4 Registreerimisteenus . . . . . . . . . . . . . . . . . . . 21
6.1.4 Registreerimisteenuse realiseerimine RFC 3161 protokolli raa-
mistikus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.1.5 ATO väljavõte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 Elektroonilise hääle kontrollimine . . . . . . . . . . . . . . . . . . . . . . . 25
7.1 Kontrollid kogumisteenuses . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2 Kontrollid valijarakenduses . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.3 Kontrollid kontrollrakenduses . . . . . . . . . . . . . . . . . . . . . . . . 26
7.4 Kontrollid töötlemisrakenduses . . . . . . . . . . . . . . . . . . . . . . . 27
8 Suhtlusprotokollid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
IVXV protokollide kirjeldus 1.7.6
27.09.2021 2 / 53
8.1 Liides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2 Valikute nimekirja hankimine . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.3 Allkirjastatud hääle saatmine talletamiseks . . . . . . . . . . . . . . . . . 32
8.4 Hääletamine Mobiil-ID’ga . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.4.1 Autentimistõendi hankimine . . . . . . . . . . . . . . . . . . . . . 34
8.4.2 Hääle allkirjastamine . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.5 Hääle kontrollimine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9 E-valimiskasti töötlemine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.1 Tühistus- ja ennistusnimekiri . . . . . . . . . . . . . . . . . . . . . . . . 42
9.2 E-hääletanute nimekiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.3 Hääletamistulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.4 E-valimiskast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.5 Anonüümistatud e-valimiskast . . . . . . . . . . . . . . . . . . . . . . . . 49
10 Hääletamistulemuse audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.1 Miksimistõendi kontroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.2 Korrektse dekrüpteerimise tõendi kontroll . . . . . . . . . . . . . . . . . 53
10.3 Korrektse teisendamise kontroll . . . . . . . . . . . . . . . . . . . . . . . 53
3
PEATÜKK 1
Annotatsioon
Käesolev dokument kirjeldab elektroonilise hääletamise infosüsteemi IVXV protokol-
listikku.
Dokument annab üldise ülevaate elektroonilise hääletamise süsteemi tehnilisest üles-
ehitusest ja kasutatavatest protokollidest. Dokumendis defineeritakse protokollides ka-
sutatavad ühised mõisted ja andmestruktuurid.
4
PEATÜKK 2
Ülevaade
Elektroonilise hääletamise protokollistik (edaspidi protokollistik) defineerib elektrooni-
lise hääletamise süsteemi komponentide vahelise sõnumivahetuse, kasutatavad and-
mestruktuurid, algoritmid ning liidesed väliste süsteemidega. Sõnumivahetus esitatak-
se UML suhtlusskeemidena, mis üheselt defineerivad sõnumite järgnevuse. Andme-
struktuuride kirjeldused on varustatud Backus-Naur või JSON-schema notatsioonis
spetsifikatsioonidega. Andmestruktuuride väljade eraldajateks kasutatakse reavahe-
tusmärki LF (ASCII-kood 0x0A) ja tabeldusmärki TAB (ASCII-kood 0x09). Algoritmid
esitatakse pseudokoodina.
NB! Kõigis protokollistiku andmestruktuuride väljades tuleb rangelt kinni pidada luba-
tud märkidest ning väljade minimaalsetest ja maksimaalsetest pikkustest. Täiendavate
tühikute, tabulaatorite jms. kasutamine on keelatud ning spetsifikatsiooni realiseerivad
rakendused peavad vorminguga mitte-vastavate andmete töötlemisest keelduma.
Protokollistik defineerib elektroonilise hääletamise protokolli ning selle protokolli reali-
seerimiseks vajalikud tugistruktuurid.
2.1 Elektroonilise hääletamise protokoll
Elektroonilise hääletamise protokoll spetsifitseerib:
1. elektroonilise hääle vormingu, mis võimaldab üheselt määratleda valija tahte
konkreetsel valimisel;
2. elektroonilise hääle krüpteerimise hääle salajasuse tagamiseks;
3. elektroonilise hääle digitaalse allkirjastamise tervikluse ja valija identifitseerimise
tagamiseks;
5
4. elektroonilise hääle kvalifitseerimise kogumisteenuse poolt, hääle vastuvõtmise
tähistamiseks;
Protokoll eeldab, et valimise korraldaja on defineerinud valimise ning genereerinud
häälte salastamise võtmepaari, mille avalik komponent on tehtud valijarakendusele
kättesaadavaks.
Protokolli vahendusel liigub valija tahe kogumisteenuses talletatavasse e-valimiskasti
ning võetakse tulemuse kujunemisel arvesse järgmist sündmusterida pidi:
1. Valija kasutab valijarakendust oma tahteavalduse elektrooniliseks vormista-
miseks:
1. tahteavaldus vormistatakse elektroonilise häälena;
2. vormistatud hääl krüpteeritakse;
3. krüpteeritud hääl allkirjastatakse digitaalselt.
2. Kogumisteenus talletab elektroonilise hääle:
1. digitaalselt allkirjastatud häälele võetakse valija sertifikaadi kehtivust kinni-
tavad elemendid;
2. elektrooniline hääl registreeritakse välises registreerimisteenuses;
3. valijale võimaldatakse kvalifitseeritud elektroonilise hääle kontrollimine kont-
rollrakenduse abil.
3. Valija võib kasutada kontrollrakendust veendumaks oma hääle korrektses käitle-
mises kogumisteenuse poolt;
4. Hääletamisperioodi lõppedes väljastab kogumisteenus valimise korraldajale e-
valimiskasti ning registreerimisteenus loendi kogumisteenuse poolt registreeritud
häältest;
5. Valimise korraldaja arvutab hääletamistulemuse:
1. veendutakse, et kõik registreerimisteenuses registreeritud hääled on e-
valimiskasti koosseisus üle antud;
2. eraldatakse krüpteeritud hääled ja digitaalallkirjad;
3. dekrüpteeritakse krüpteeritud hääled;
4. dekrüpteeritud häälte põhjal arvutatakse hääletamistulemus.
Protokoll on analoogne paberil posti teel hääletamise protokolliga, kus valija tahe lii-
gub valimiskomisjonini kahes ümbrikus – välimise ümbriku sees on sisemine ümbrik,
mis omakorda sisaldab valija tahteavaldusega hääletussedelit. Välimine ümbrik kan-
nab valijat identifitseerivat infot ning võimaldab mh. kontrollida valija õigust hääletada.
Sisemine ümbrik on anonüümne ning kaitseb hääle salajasust. Enne häälte kokkulu-
gemist eraldatakse sisemised ümbrikud välimistest.
Elektroonilise hääletamise kontekstis on sisemine ümbrik vormistatud krüpteeritud
häälena ning välimine ümbrik digitaalselt allkirjastatud dokumendina.
6
PEATÜKK 3
Valimise definitsioon
Valimise defineerib valimise korraldaja. Eesti riiklikel valimistel jagunevad kõik hääle-
õiguslikud isikud ühte või mitmesse valimisringkonda. Valijal on võimalik hääletamisel
valida ainult selle ringkonna kandidaatide vahel, kuhu ta kuulub.
Valimise defineerimiseks tuleb määratleda vähemalt
1. valimise unikaalne identifikaator ning küsimuste unikaalsed identifikaatorid;
2. täielik loend valimisringkondadest ja -jaoskondadest;
3. hääleõiguslike isikute nimekiri ja jagunemine valimisringkondadesse;
4. kandidaatide nimekiri ja jagunemine valimisringkondadesse.
Valimise sisendandmed koostatakse Valimise Infosüsteemis (VIS), vormingukirjel-
dused on spetsifitseeritud VIS ja EHS ühisspetsifikatsioonis1 .
1
https://github.com/e-gov/VIS3-EHS/
7
PEATÜKK 4
Elektrooniline hääl
IVXV hääletamisprotokoll põhineb topeltümbrikuskeemil, mis tähendab, et valija ava-
kujul tahteavaldus krüpteeritakse valimise korraldaja poolt levitatud avaliku võtmega.
Krüpteeritud tahteavaldus allkirjastatakse digitaalselt valija käsutuses oleva allkirjas-
tamisvahendiga ning edastatakse kogumisteenusesse mingis kokkulepitud konteiner-
vormingus. Kogumisteenus võib valija poolt allkirjastatud häält täiendavalt kvalifitsee-
rida, veendudes näiteks allkirjastamissertifikaadi kehtivuses. IVXV protokollistik näeb
mh. ette kogumisteenuse poolt vastuvõetud häälte registreerimise välises registreeri-
misteenuses.
Kogumisteenuse poolt talletamisele võetud hääl koos kvalifitseerivate elementidega
tehakse kättesaadavaks nii valijarakendusele kui kontrollrakendusele, mis teostavad
üksiku hääle peal samad kontrollid, mida hilisem valimise korraldaja töötlemisrakendus
teostab kõigi häälte peal. Kvalifitseerivate elementide kontrollimise võimalus annab
valijale kindluse, et tema häält on hilisemates protsessides korrektselt menetletud.
4.1 Valija tahteavaldus avakujul
Valija tahteavaldus avakujul eksisteerib valijarakenduses ning hiljem ka kontrollraken-
duses. Tahteavaldus sisaldab nii valiku koodi ringkonnas, ringkonna EHAK-koodi kui
ka valiku nimekirja nime ning konkreetse valiku nime nimekirjas.
choice-name = 1*100UTF-8-CHAR
choicelist-name = 1*100UTF-8-CHAR
ballot = district-choice '\x1F' choicelist-name '\x1F' choice-name
8
4.2 Krüpteeritud sedel
Valija tahteavaldus avakujul ballot krüpteeritakse valijarakenduse poolt vali-
mise korraldaja genereeritud avaliku võtmega. IVXV vajab krüpteerimiseks mitte-
deterministlikku, homomorfset avaliku võtme krüptosüsteemi. Selliseks süsteemiks so-
bib ElGamal krüptosüsteem, mida täna rakendatakse IVXV kontekstis jäägiklassi rüh-
mal.
ElGamal avalik võti kodeeritakse koos ElGamal krüptosüsteemi parameetritega
ning konkreetset valimist iseloomustava identifikaatoriga. Krüptosüsteemi para-
meetrid on osaks algoritmi identifikaatori struktuurist, avalik võti on kodeeritud
SubjectPublicKeyInfo struktuuri.
elGamalEncryption OBJECT IDENTIFIER ::= {
{iso(1) org(3) dod(6) internet(1) private(4) enterprise(1)
˓→dds(3029) asymmetric-encryption(2) 1}
}
elGamal-Params-IVXV ::= SEQUENCE {
p INTEGER,
g INTEGER,
election-identifier GeneralString
}
elGamalPublicKey ::= SEQUENCE {
y INTEGER,
}
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
Valija tahteavalduse krüpteerimiseks võetakse UTF-8 kodeeringus struktuur ballot
ning teisendatakse see ElGamal parameetrite poolt kirjeldatud rühma elemendiks. Eel-
dame, et parameeter p on 256 baiti. Sellisel juhul võib struktuuri ballot pikkus olla
253 baiti. Avakujul tahteavaldus pikendatakse parameetri p pikkuseni.
padded-ballot = ballot '\x00' '\x01' *'\xff' '\x00'
Pikendatud tahteavaldust interpreteeritakse kui täisarvu, mis kodeeritakse ruutjäägina
parameetri p poolt kirjeldatud rühmas. Kodeerimine on üksühene ning oluline krüp-
togrammi edasise miksimise jaoks.
Tahteavaldus krüpteeritakse vastavalt ElGamal meetodile avaliku võtmega.
elGamalEncryptedMessage ::= SEQUENCE {
a INTEGER,
b INTEGER
}
(jätkub järgmisel leheküljel)
9
(jätk eelmisele leheküljele)
encryptedBallot ::= SEQUENCE {
algorithm AlgorithmIdentifier,
cipher ANY
}
Andmestruktuuri encryptedBallot DER-kodeering on krüpteeritud sedel ehk sise-
mine ümbrik topeltümbriku skeemis.
Tahteavalduse krüpteerimise käigus genereeritakse valijarakenduses juhuarv, mida El-
Gamal krüpteerimisel kasutab. Sama juhuarv avalikustatakse hiljem kontrollrakendus-
ele. Tulenevalt ElGamal krüptosüsteemi eripärast funktsioneerib see juhuarv nö. teise
võtmena ning võimaldab krüptogrammi dekodeerimist kontrollrakenduses.
4.3 Valija poolt allkirjastatud hääl
Krüpteeritud sedel tuleb enne kogumisteenusesse talletamisele saatmist digitaalselt
allkirjastada, milleks on võimalik kasutada kõiki Eesti Vabariigis kehtivaid digitaalallkir-
javahendeid – ID-kaart, Digi-ID, Mobiil-ID.
Käesolev spetsifikatsioon näeb ette Eesti Vabariigi Standardikavandis [BDOC2.1] de-
fineeritud BDOC allkirjavormingu kasutamise. BDOC allkirjavorming koosneb ETSI
standardi TS 101 903 (XadES) profiilist ning OpenDocument konteineri vormingust.
IVXV protokollistik võimaldab ka alternatiivsete allkirja- ning konteinervormingute ka-
sutamist.
Olenevalt käimasoleval valimisel esitatud küsimuste arvust võib digitaalselt allkir-
jastatud hääl sisaldada ühte või mitut andmefaili MIME-tüübiga application/
octet-stream. Iga andmefaili sisuks on krüpteeritud sedel. Andmefaili ja teiste sig-
neeritavate andmeobjektide räsimiseks enne allkirjastamist kasutatakse räsifunktsioo-
ni SHA-256. Andmefaili nimi moodustatakse laiendist ‚ballot‘ ning valimise ja küsi-
muse identifikaatorist. Kõik viidatud andmefailid peavad sisalduma allkirjakonteineris.
Digitaalselt allkirjastatud hääl ei tohi sisaldada muid andmefaile kui neid, mis sisalda-
vad hääli mõne käimasoleva valimise kontekstis. Seadistusele mittevastavate häälte
vastuvõtmisest, talletamisest ja töötlemisest peab kogumisteenus keelduma.
extension = "ballot"
encrypted-ballot-name = election-identifier '.' question-identifier
˓→'.' extension
Valija poolt valijarakenduses allkirjastatud hääl moodustatakse nii, et on võimalik selle
edasine kvalifitseerimine kogumisteenuses. Käesolev septsifikatsioon näeb ette hääle
kvalifitseerimiseks nii OCSP kehtivuskinnituse kui PKIX ajatempli võtmise. Sellisena
on lõplik, kvalfitseeritud hääl, BDOC-TS vormingus.
Kui hääl allkirjastatakse ID-kaardi või Digi-ID’ga, siis toimub algse allkirjastatud kon-
teineri moodustamine valijarakenduses. Kui hääl allkirjastatakse Mobiil-ID’ga, siis toi-
10
mub konteineri moodustamine valijarakenduse ning kogumisteenuse poolt vahenda-
tava Mobiil-ID teenuse koostöös. Mobiil-ID juhtumil kasutab kogumisteenus Mobiil-
ID teenust ainult signatuuri saamiseks krüpteeritud sedelile. Kõik hääle kvalifitseeri-
miseks vajalikud elemendid hangitakse vastavatelt teenustelt alles siis kui valijaraken-
dus on saatnud signeeritud hääle talletamiseks. Kvalifitseeritud hääl esitatakse kogu-
misteenuse poolt valijarakendusele verifitseerimiseks, ainult kvalifitseeritud hääl peab
vastama BDOC 2.1 standardi tingimustele – valijarakenduse poolt moodustatud hääl
on vaheetapp kvalifitseeritud hääleni jõudmiseks.
Valijarakenduses signeeritud häälel peab olema üks ja ainult üks allkiri, mida hoitak-
se signatuurifailis META-INF/signature0.xml. Häält ja allkirja sisaldav konteiner
(edaspidi viidatud kui SignedVote) moodustatakse BDOC 2.1 standardis kirjeldatud
meetodit kasutades.
Spetsifitseerime valijarakenduses allkirjastatud hääle vormingu ühe küsimuse korral.
Räsialgoritmina DIGEST_ALG on kasutusel SHA-256 (http://www.w3.org/2001/04/
xmlenc#sha256). XML kanoniseerimiseks (CANON_ALG) kasutatakse meetodit c14n11
(http://www.w3.org/2006/12/xml-c14n11).
RSA võtmete korral (ID-kaart, Digi-ID) on allkirjastamismeetodiks http://www.w3.org/
2001/04/xmldsig-more#rsa-sha256. ECC võtmete korral (ID-kaart, Mobiil-ID) http:
//www.w3.org/2001/04/xmldsig-more#ecdsa-sha256.
Identifikaatorite VOTE_REF, SP_REF, SP_URI ning SV_URI täpne väärtus ei ole olu-
line.
4.3.1 Element SignedProperties
Element SignedProperties moodustatakse kooskõlas BDOC 2.1
standardiga. Kui kvalifitseerimisel kasutatakse ajatemplit, siis elementi
SignaturePolicyIdentifier ei kasutata. Ühtegi mitte-kohustuslikku elementi
ei kasutata. Allkirjastamise kellaaja fikseerib andmestruktuuri täitev arvuti ning valija
X509-sertifikaat saadakse kas ID-kaardilt või Mobiil-ID teenuse vahendusel.
1 <xades:SignedProperties xmlns:asic="http://uri.etsi.org/02918/v1.2.1
˓→#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xades=
˓→"http://uri.etsi.org/01903/v1.3.2#" Id="%SP_URI%">
2 <xades:SignedSignatureProperties>
3 <xades:SigningTime>%SIGNING_TIME%</xades:SigningTime>
4 <xades:SigningCertificate>
5 <xades:Cert>
6 <xades:CertDigest>
7 <ds:DigestMethod Algorithm="%DIGEST_ALG%"></ds:DigestMethod>
8 <ds:DigestValue>%CERT_DIGEST%</ds:DigestValue>
9 </xades:CertDigest>
10 <xades:IssuerSerial>
11 <ds:X509IssuerName>%ISSUER_NAME%</ds:X509IssuerName>
12 <ds:X509SerialNumber>%ISSUER_SERIAL%</ds:X509SerialNumber>
13 </xades:IssuerSerial>
(jätkub järgmisel leheküljel)
11
(jätk eelmisele leheküljele)
14 </xades:Cert>
15 </xades:SigningCertificate>
16 </xades:SignedSignatureProperties>
17 <xades:SignedDataObjectProperties>
18 <xades:DataObjectFormat ObjectReference="#%VOTE_REF%">
19 <xades:MimeType>application/octet-stream</xades:MimeType>
20 </xades:DataObjectFormat>
21 </xades:SignedDataObjectProperties>
22 </xades:SignedProperties>
4.3.2 Element SignedInfo
Element SignedInfo moodustatakse kooskõlas BDOC 2.1 standardiga, viida-
tes nii krüpteeritud sedelile (VOTE_DIGEST) kui elemendile SignedProperties
(SP_DIGEST).
1 <ds:SignedInfo xmlns:asic="http://uri.etsi.org/02918/v1.2.1#"
˓→xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xades="http://
˓→uri.etsi.org/01903/v1.3.2#">
2 <ds:CanonicalizationMethod Algorithm="%CANON_ALG%"></
˓→ds:CanonicalizationMethod>
3 <ds:SignatureMethod Algorithm="%SIG_ALG%"></ds:SignatureMethod>
4 <ds:Reference Id="%VOTE_REF%" URI="%VOTE_URI%">
5 <ds:DigestMethod Algorithm="%DIGEST_ALG%"></ds:DigestMethod>
6 <ds:DigestValue>%VOTE_DIGEST%</ds:DigestValue>
7 </ds:Reference>
8 <ds:Reference Id="%SP_REF%" Type="http://uri.etsi.org/01903
˓→#SignedProperties" URI="#%SP_URI%">
9 <ds:Transforms>
10 <ds:Transform Algorithm="%CANON_ALG%"></ds:Transform>
11 </ds:Transforms>
12 <ds:DigestMethod Algorithm="%DIGEST_ALG%"></ds:DigestMethod>
13 <ds:DigestValue>%SP_DIGEST%</ds:DigestValue>
14 </ds:Reference>
15 </ds:SignedInfo>
4.3.3 Element SignatureValue
Element SignatureValue moodustatakse kooskõlas BDOC 2.1 standardiga. Ka-
noniseeritud elemendist SignedInfo arvutatakse räsi, mis allkirjastatakse PKCS1-
meetodiga.
1 <ds:SignatureValue xmlns:asic="http://uri.etsi.org/02918/v1.2.1#"
˓→xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xades="http://
˓→uri.etsi.org/01903/v1.3.2#" Id="%SV_URI%">%SIG_VALUE%</
˓→ds:SignatureValue>
12
4.3.4 Element XAdESSignatures
Element XAdESSignatures sisaldab ühte Signature elementi, mis on koosta-
tud lähtudes kõigist eelmistest elementidest ning valija X509 sertifikaadist. Elementi
UnsignedProperties ei kasutata.
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <asic:XAdESSignatures xmlns:asic="http://uri.etsi.org/02918/v1.2.1#
˓→">
3 <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id=
˓→"S0">
4 %SI_XML%
5 %SV_XML%
6 <ds:KeyInfo>
7 <ds:X509Data>
8 <ds:X509Certificate>%X509_CERT%</ds:X509Certificate>
9 </ds:X509Data>
10 </ds:KeyInfo>
11 <ds:Object>
12 <xades:QualifyingProperties xmlns:xades="http://uri.etsi.
˓→org/01903/v1.3.2#" Target="#S0">
13 %SP_XML%
14 </xades:QualifyingProperties>
15 </ds:Object>
16 </ds:Signature>
17 </asic:XAdESSignatures>
13
PEATÜKK 5
Elektroonilise hääle kvalifitseerimine talletamiseks
5.1 Kvalifitseeritud hääl
Valijarakenduse töö tulemusena saadetakse kogumisteenusesse talletamiseks to-
peltümbrik, mis sisaldab endas valija tahteavaldust krüpteeritud kujul, valija allkirja
krüpteeritud tahteavaldusel kooskõlastatud allkirja- ja konteinervormingus ning valija
allkirjastamissertifikaati X509-vormingus.
Hääle edukaks talletamiseks näeb IVXV protokoll ette hääle registreerimise välise
registreerimisteenuse osutaja juures ning registreerimistõendi valijarakendusele kät-
tesaadavaks tegemise. Valimise korraldaja võib hääle kvalifitseerimiseks näha ette
täiendavaid samme lisaks registreerimisele – näiteks kehtivuskinnituse hankimist hää-
le allkirjastanud sertifikaadi kohta.
Kõik kogumisteenuse poolt hangitavad kvalifitseerivad elemendid, mis määravad hääle
staatuse hilisemates töötlusetappides, tuleb esitada valijarakendusele ning nõudmise
korral ka kontrollrakendusele tagamaks, et valija saab oma hääle korrektse menetle-
mise võimalikkusest õigeaegselt teada.
14
5.1.1 OCSP kehtivuskinnitus
OCSP (Online Certificate Status Protocol) on standartne protokoll X509-sertifikaatide
kehtivusinfo pärimiseks. Kogumisteenus võib seda protokolli kasutada hääle allkirjas-
tanud sertifikaadi kehtivuse teadasaamiseks. OCSP vastus ütleb, et sertifikaat kehtis
päringu tegemise ajahetkel, kuid ei seosta OCSP vastust konkreetse allkirjaga.
5.1.2 OCSP-TM kehtivuskinnitus
BDOC 2.1 standard kirjeldab BDOC-TM profiili, kus OCSP protokolliga hangitud keh-
tivuskinnitus toimib ka ajamärgendina, mis kinnitab, et konkreetne allkiri eksisteeris
enne OCSP kehtivuskinnituse võtmist.
5.1.3 RFC3161 ajatempel
RFC3161 ajatempli protokolliga saadakse usaldusteenuse pakkujalt kinnitus, et mingi
andmekogum eksisteeris enne teatud ajahetke. BDOC-TS kontekstis ajatembeldatak-
se allkirja element SignatureValue kanoniseeritud kujul. Klassikaline OCSP vastus
koos RFC 3161 vormingus ajatempliga kvalifitseerivad BDOC-TS allkirja.
5.2 Talletamine
Elektroonilise hääle talletamine kogumisteenuses tähendab:
1. hääle vastuvõtmist valijarakenduselt ning hääletaja allkirja verifitseerimist;
2. hääle võimalikku kvalifitseerimist – näiteks sertifikaadi kehtivuse tõendamist hää-
le allkirjastamisele lähedasel ajahetkel;
3. hääle registreerimist sõltumatus registreerimisteenuses;
4. häält kvalifitseerivate elementide vahendamist valijarakendusele.
Erinevad kombinatsioonid allkirjavormingust ning hääli kvalifitseerivatest teenustest
võivad tekitada erinevaid IVXV-profiile. Konkreetse dokumendi raames on IVXV profiil:
1. Allkirjastatud hääle vorming on BDOC-TS;
2. Kehtivuskinnitusprotokolliks on standartne OCSP;
3. BDOC-TS kvalifitseerimiseks kasutatav RFC3161 ajatempel on kasutusel ka re-
gistreerimistõendina.
15
PEATÜKK 6
Elektroonilise hääle registreerimine
Hääle edukaks talletamiseks näeb IVXV protokoll ette hääle registreerimise välise
registreerimisteenuse osutaja juures ning registreerimistõendi valijarakendusele kät-
tesaadavaks tegemise. Registreerimisteenus toimub RFC3161 ajatempli protokolli
baasil. Protokolli on laiendatud selliselt, et kogumisteenus saab ajatempli päringule
anda oma signatuuri, mis teeb võimalikuks hilisema võrdleva väljavõtte registreerimis-
teenusest. Sõltumatu registreerimisteenuse olemasolu vähendab häälte kogumistee-
nuse poolt „kaotamise“ riski.
6.1 Registreerimisteenus
Registreerimisteenus on teenus, mille abil Kogumisteenus registreerib kõik Hääletaja-
telt saadud hääled. Pärast hääletamisperioodi lõppu edastab Kogumisteenus talleta-
tud hääled Töötlejale ning Registreerimisteenus edastab registreeritud hääled Töötle-
jale.
Registreerimisteenus aitab tagada e-valimiskasti terviklust. Eeldame et Kogumistee-
nusel puudub võimalus võltsida digitaalallkirja ning sellisel moel tekitada juurde hääli
või muuta juba talletatud hääli. Riskina säilib võimalus, et Kogumisteenus ei anna kõiki
talletatud hääli Töötlejale üle. Häälte valikulise üleandmise riski maandamiseks kasu-
tab IVXV protokoll täiendavat Registreerimisteenust, kuhu Kogumisteenus iga talleta-
tud hääle registreerib. Hääletajal on protokollikohaselt võimalus korrektses registreeri-
mises veenduda – Registreerimisteenuse digitaalselt allkirjastatud kinnitus konkreetse
hääle registreerimise kohta esitatakse ka konkreetsele hääletajale.
16
6.1.1 Registreerimisteenus protokollis
Kogumisteenus saadab Registreerimisteenusele enda poolt allkirjastatud registreeri-
miskorralduse (edaspidi KORRALDUS), mis sisaldab hääle identifikaatorit ja allkirjas-
tatud hääle räsi:
KORRALDUS = Sign_K(V_id, Hash(VOTE))
Registreerimisteenus talletab KORRALDUSE hilisemaks väljastamiseks ning vastab
Kogumisteenusele oma poolt allkirjastatud registreerimiskinnitusega (edaspidi KINNI-
TUS), mis allkirjastab algset KORRALDUST ning KINNITUSE väljastamise aega:
KINNITUS = Sign_R(Hash(KORRALDUS), t)
Kogumisteenus tagastab nii KINNITUSE kui KORRALDUSE valijarakendusele, Hääle-
taja saab teate hääle positiivsest talletamisest ainult KINNITUSE ja selle aluseks olnud
KORRALDUSE edukal verifitseerimisel.
Hääletamisperioodi lõppedes edastab Registreerimisteenus Kogumisteenuse poolt
tehtud KORRALDUSED Töötlejale.
Registreerimisteenus peab Töötlejale algselt andma üle vähemalt loendi:
(V_id, Hash(VOTE))
Kui Registreerimisteenus annab üle ainult ülalkirjeldatud loendi, siis peab ta hiljem
oleme võimeline andma loendi nõutud elemendile vastava korralduse:
(V_id, Hash(VOTE)), Sign_K(V_id, Hash(VOTE))
6.1.2 Registreerimisteenuse liidesed
Registreerimisteenusel on kaks liidest
1. KORRALDUSTE vastuvõtmise ja KINNITUSTE väljastamise liides;
2. KORRALDUSE alusel väljastatud KINNITUSTE loetelu ja nende aluseks olnud
KORRALDUSTE väljastamise liides.
Registreerimisteenuse funktsionaalsuseks on Kogumisteenusele KINNITUSTE väljas-
tamine, väljastatud KINNITUSTE ja neile aluseks olevate KORRALDUSTE säilitamine
ja hilisem Töötlejale üleandmine.
Kui Registreerimisteenus osutab teenust mitmele erinevale osapoolele, siis peab ole-
ma garanteeritud, et konkreetse valimisega seotud Kogumisteenuse KORRALDUSED
ja neile vastavad KINNITUSED on Valijarakenduse ja Kontrollrakenduse poolt kont-
rollitavalt eristatavad teiste osapoolte KORRALDUSTEST ning neile vastavatest KIN-
NITUSTEST. Vastasel juhul võib tekkida olukord, kus Kogumisteenus küll registreerib
hääle, kuid info sellest ei jõua Töötlejani.
17
Joonis 6.1. Registreerimisteenuse roll hääletamisel
Registreerimisteenus peab olema võimeline kõiki Kogumisteenuse poolt tulnud KOR-
RALDUSI üle andma.
6.1.3 Osapoolte nõuded registreerimisteenusele
6.1.3.1 Töötleja
Töötleja ülesanne on muuhulgas tuvastada,
1. millised Kogumisteenuse poolt üle antud hääled lähevad lugemisele ja
2. kas Kogumisteenus on jätnud hääli üle andmata.
Töötleja töö tulemusena selguvaid erisusi tuleb lahendada ning siin on järgmised 3
juhtumit:
1. Kogumisteenus annab Töötlejale üle allkirjastatud hääle koos KINNITUSega,
Registreerimisteenus annab Töötlejale üle Kogumisteenuse KORRALDUSE, mil-
le alusel KINNITUS anti - vaidlust ei ole, kui konkreetne hääl oli antud Hääletaja
jaoks viimane, siis suunatakse ta lugemisele.
2. Kogumisteenus annab Töötlejale üle allkirjastatud hääle koos KINNITUSega,
Registreerimisteenus ei anna Töötlejale selle hääle kohta midagi üle. Kuna KIN-
NITUS on Registreerimisteenuse poolt allkirjastatud, siis on viga Registreerimis-
teenuse poolel. Kui konkreetne hääl oli antud Hääletaja jaoks viimane, siis suu-
natakse ta lugemisele.
18
Joonis 6.2. Registreerimisteenuse roll hääle kontrollimisel
3. Registreerimisteenus annab Töötlejale üle Kogumisteenuse KORRALDUSE, Ko-
gumisteenus ei anna Töötlejale vastava räsiga häält üle. Kuna KORRALDUS on
Kogumisteenuse poolt allkirjastatud, siis on viga Kogumisteenuse poolel ning an-
tud hääl tuleb üles otsida.
19
Joonis 6.3. Registreerimisteenuse roll häälte üleandmisel
6.1.3.2 Hääletaja
Hääletaja jaoks on oht, et Kogumisteenus võib tema hääle ‚unustada‘. Nõuetekohase
KINNITUSE nägemine annab Hääletajale kindluse, et väline osapool garanteerib tema
hääle Töötlejani jõudmist. Kindluse jaoks on oluline:
1. KINNITUS on Registreerimisteenuse poolt allkirjastatud;
2. KINNITUSES sisalduv algne KORRALDUS on Kogumisteenuse poolt allkirjasta-
tud;
3. usaldus, et Registreerimisteenus on võimeline KINNITUSE andmise fakti meeles
pidama;
4. usaldus, et Registreerimisteenus on võimeline KINNITUSE andmise kohasust
Töötlejale tõestama;
5. usaldus, et Kogumisteenusel ei ole võimalik hankida alternatiivset valekinnitust,
mis Valijarakenduses verifitseerub, kuid Töötlejani ei jõua.
6.1.3.3 Kogumisteenus
Kogumisteenuse jaoks on oht et, Registreerimisteenuse poolt üleantud KINNITUSTE
ja talletatud häälte vaated erinevad. Kogumisteenuse poolt KORRALDUSELE antud
allkiri on Kogumisteenuse garantii, et Registreerimisteenuse poolt ei saa tekkida fik-
tiivseid KINNITUSI, mida Kogumisteenus tegelikult nõudnud pole.
Kogumisteenus talletab kõiki Registreerimisteenuse vastuseid. Kuna need on allkir-
jastatud, siis on täiendav info oluline vaid siis kui Kogumisteenus väidab, et mingit
KORRALDUST ei ole antud, kuigi Registreerimisteenus on (v_id, Hash(VOTE)) esi-
tanud. Sellisel juhul saab Registreerimisteenus esitada terve Kogumisteenuse KOR-
RALDUSE (või vähemalt selle allkirjastatud komponendi)
20
6.1.3.4 Registreerimisteenus
Registreerimisteenus on huvitatud, et vaidlusolukordades, kus Kogumisteenus jätab
midagi üle andmata, oleks tal võimalik oma tegevuse korrektsust tõestada. Oluline on
tagada:
1. Kogumisteenuse poolt konkreetse valimise raames antavad KORRALDUSED on
teiste klientide poolt esitatud KORRALDUSTEST kontrollitavalt eristatavad.
2. Kogumisteenus ei saa juba esitatud KORRALDUSTE kohta väita, et ta neid ei
esitanud.
6.1.4 Registreerimisteenuse realiseerimine RFC 3161 protokolli
raamistikus
PKIX on ajatembeldusprotokoll, kus usaldatav kolmas osapool (ajatempliteenuse osu-
taja ehk ATO) kinnitab oma allkirjaga andmete eksisteerimist konkreetsel ajahetkel.
Protokoll koosneb ühest päringust ja vastusest.
Ajatemplipäring:
TimeStampReq ::= SEQUENCE {
version INTEGER { v1(1) },
messageImprint MessageImprint,
--a hash algorithm OID and the hash value of the data to be
--time-stamped
reqPolicy TSAPolicyId OPTIONAL,
nonce INTEGER OPTIONAL,
certReq BOOLEAN DEFAULT FALSE,
extensions [0] IMPLICIT Extensions OPTIONAL }
Ajatembeldatavad andmed esitatakse teenusele messageImprint koosseisus räsina.
TimeStampReq ei sisalda endas päringu esitaja allkirja.
ATO vastus ajatemplipäringule:
TimeStampResp ::= SEQUENCE {
status PKIStatusInfo,
timeStampToken TimeStampToken OPTIONAL }
TimeStampToken ::= ContentInfo
-- contentType is id-signedData ([CMS])
-- content is SignedData ([CMS])
TSTInfo ::= SEQUENCE {
version INTEGER { v1(1) },
policy TSAPolicyId,
messageImprint MessageImprint,
-- MUST have the same value as the similar field in
-- TimeStampReq
(jätkub järgmisel leheküljel)
21
(jätk eelmisele leheküljele)
serialNumber INTEGER,
-- Time-Stamping users MUST be ready to accommodate integers
-- up to 160 bits.
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
ordering BOOLEAN DEFAULT FALSE,
nonce INTEGER OPTIONAL,
-- MUST be present if the similar field was present
-- in TimeStampReq. In that case it MUST have the same value.
tsa [0] GeneralName OPTIONAL,
extensions [1] IMPLICIT Extensions OPTIONAL }
TimeStampResp on ATO poolt digitaalselt allkirjastatud konteiner, mis sisaldab endas
päringu koosseisus saadud messageImprint’i ning nonssi.
Registreerimisteenuse huvides on, et Kogumisteenuse päring oleks signeeritud. Kuna
RFC 3161 ei toeta allkirjastatud päringuid on alternatiiviks kasutada mõnda laiendust,
mis võimaldab Kogumisteenuse signatuuri edastamist. See laiendus tuleks teenuse
poolt ajatempli koosseisus ka tagasi saata. Kuna RFC 3161 ei sõnasta laienduste ta-
gasipeegeldamise nõuet ühemõtteliselt on reaalne võimalus kaustada protokolli laien-
damiseks ajatemplipäringu nonssi. Nonss on ASN.1 INTEGER andmetüüp kuhu saab
kodeerida suvalise struktuuriga andmeid, mis teeb võimalikuks järgmise skeemi:
Enne hääletamist:
1. Kogumisteenus genereerib allkirjastamisvõtme ja sertifikaadi.
2. Kogumisteenus annab sertifikaadi Korraldajale üle.
3. Kogumisteenus seadistab ennast ATO’d kasutama.
Hääletamise ajal:
1. Valija saadab hääle talletamiseks.
2. Kogumisteenus räsib hääle, allkirjastab räsi ning võtab räsile ajatempli, kasuta-
des ajatemplipäringu TimeStampReq nonssina oma allkirja sellel räsil.
3. ATO töötleb ajatemplipäringut kooskõlas RFC 3161 nõuetega ning väljastab all-
kirjastatud ajatempli.
4. Kogumisteenus vahendab ajatempli Valijarakendusele, mis teostab järgmised
kontrollid:
a) ajatempel on ATO poolt allkirjastatud,
b) ajatempel sisaldab nonssi,
c) ajatemple sisaldab tema hääle räsi,
d) nonss on Kogumisteenuse poolt allkirjastatud valija hääle räsi.
Peale hääletamist:
1. Korraldaja annab ATO’le ajavahemiku ja Kogumisteenuse sertifikaadi
2. ATO otsib kõigi selle ajavahemiku ajatemplipäringute ja vastuste hulgast neid,
millel
22
a) on nonss,
b) nonss dekodeerub kokkuleppeliseks andmestruktuuriks,
c) andmestruktuur verifitseerub Kogumisteenuse sertifikaadiga.
3. ATO annab üle kõik leitud ajatemplipäringud ja ajatemplid.
4. Kogumisteenus annab üle kõik ajatemplipäringud, ajatemplid ja hääled.
5. Töötleja analüüsib andmeid vastavalt protokollile
6. KINNITUS on Registreerimisteenuse poolt allkirjastatud;
7. KINNITUSES sisalduv algne KORRALDUS on Kogumisteenuse poolt allkirjasta-
tud;
8. Usaldus, et Registreerimisteenus on võimeline KINNITUSE andmise fakti meeles
pidama;
9. Usaldus, et Kogumisteenusel ei ole võimalik hankida alternatiivset valekinnitust,
mis Valijarakenduses verifitseerub, kuid Töötlejani ei jõua
10. Usaldus, et Registreerimisteenus on võimeline KINNITUSE andmise kohasust
Töötlejale tõestama;
11. Registreerimisteenuse poolt ei saa tekkida fiktiivseid KINNITUSI, mida Kogumis-
teenus tegelikult nõudnud pole
12. Kogumisteenus ei saa juba esitatud KORRALDUSTE kohta väita, et ta neid ei
esitanud
Nonssi vorming:
Signature ::= SEQUENCE {
signingAlgorithm AlgorithmIdentifier,
signature ANY DEFINED BY signingAlgorithm
}
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Sõnumiks on TimeStampReq.messageImprint DER-kodeering:
MessageImprint ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier,
hashedMessage OCTET STRING
}
RSA kasutamisel allkirjastamiseks. Signature.signingAlgorithm.algorithm sõltub sõnu-
mi hashAlgorithmist:
pkcs-1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) US(840)
˓→rsadsi(113549) pkcs(1) 1 }
sha-1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
(jätkub järgmisel leheküljel)
23
(jätk eelmisele leheküljele)
sha224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 14 }
sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 }
sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 }
sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 }
Signature.signingAlgorithm.parameters puudub või on NULL.
Signature.signature on OCTET STRING, mis sisaldab RSA signatuuri sõnumil.
6.1.5 ATO väljavõte
ATO väljavõte Kogumisteenuse poolt esitatud TimeStampReq vormingus päringutest
esitatakse ZIP failina, kus iga päring on salvestatud ühte faili, mis vastab järgmistele
tingimustele:
• Kaustastruktuur puudub, ükski fail ei paikne kaustas.
• Failinimed on unikaalsed (failinimedele samas tähendust ei omistata).
Üleantav andmekomplekt on:
• Andmefail: <andmefailinimi>.zip
• Kontrollsummafail: <andmefailinimi>.zip.sha256sum.asice
Üherealise kontrollsummafaili sisu on HEX kodeeringus SHA256 räsi andmefailist.
24
PEATÜKK 7
Elektroonilise hääle kontrollimine
Elektroonilist häält kontrollitakse töötlemisrakenduses, kogumisteenuses, valijaraken-
duses ja kontrollrakenduses. Kõige põhjalikuma kontrolli läbib elektrooniline hääl e-
valimiskasti koosseisus töötlemisrakenduses, kus otsustatakse konkreetse hääle luge-
misele saatmine või mittesaatmine. Iga üksiku hääle kohta läbitakse töötlemisraken-
dusega analoogsel tasemel kontroll valijarakenduses, kus veendutakse, et kogumis-
teenus on hääle kvalifitseerinud selliselt, et töötlemisrakenduses tehtavad kontrollid
õnnestuvad. Valijarakendusega analoogsed kontrollid viib läbi kontrollrakendus.
7.1 Kontrollid kogumisteenuses
Valijarakendus saadab kogumisteenusele allkirjastatud hääle koosseisus:
1. krüpteeritud sedeli;
2. valija allkirja krüpteeritud sedelil;
3. valija allkirjastamissertifikaadi.
Kogumisteenus viib läbi minimaalselt järgmised kontrollid:
1. hääle allkirjastaja on valijate nimekirjas;
2. allkirjastatud hääl on esitatud korrektses konteinervormingus;
3. digitaalallkiri krüpteeritud sedelil on korrektne;
4. hääle allkirjastaja sertifikaat on kehtiv hääle vastuvõtmise ajahetkel.
Hääle allkirjastaja sertifikaadi kehtivuse kontrolliks teeb kogumisteenus päringu keh-
tivuskinnitusteenusele. Kogumisteenus verifitseerib kehtivuskinnitusteenuse vastust
sertifikaadi oleku kohta ning lisab selle vastuse häält kvalifitseerivate elementide hul-
ka.
25
Kogumisteenus registreerib hääle talletamise fakti välises registreerimisteenuses, all-
kirjastades registreerimispäringu ning talletades registreerimisteenuse poolt allkirjas-
tatud registreerimistõendi häält kvalifitseerivate elementide hulka.
Kogumisteenus tagastab kõik tema poolt hangitud häält kvalifitseerivad elemendid va-
lijarakendusele koos hääle unikaalse identifikaatoriga.
7.2 Kontrollid valijarakenduses
Valijarakendus moodustab valija avakujul tahteavalduse põhjal krüpteeritud sedeli ning
allkirjastab selle valija allkirja andmise vahendiga.
Valijarakenduse rolliks peale hääle allkirjastamist on veenduda, et kogumisteenus käi-
tus häält kvaliftseerivate elementide võtmisel protokollikohaselt ning et hääl on talleta-
tud selliselt, et ta saab töötlemisrakenduse poolt arvesse võetud.
Valijarakendus viib läbi minimaalselt järgmised kontrollid:
1. Kogumisteenus võttis kehtivuskinnituse valija sertifikaadile volitatud kehtivuskin-
nitusteenuselt. Valijarakendus kontrollib allkirja kehtivuskinnitusteenuse vastusel.
2. Kogumisteenus registreeris valija poolt allkirjastatud hääle volitatud registreeri-
misteenuses. Valijarakendus kontrollib, et kogumisteenuse poolt moodustatud
päring oli kogumisteenuse poolt signeeritud ning viitas korrektselt allkirjastatud
häälele. Valijarakendus kontrollib, et registreerimisteenuse vastus on allkirjasta-
tud õige registreerimisteenuse osutaja poolt ning sisaldab kogumisteenuse poolt
allkirjastatud päringut.
Kui hääle kvalifitseerimiseks vajalike elementide kontroll ei õnnestu, siis teavitab vali-
jarakendus sellest kasutajat.
7.3 Kontrollid kontrollrakenduses
Kontrollrakendus saab valijarakendusest järgmise info:
1. Krüpteeritud sedeli moodustamisel kasutatud juhuslikkuse;
2. Allkirjastatud hääle unikaalse identifikaatori kogumisteenuses.
Kontrollrakendus kasutab hääle unikaalset identifikaatorit kogumisteenusest järgmise
info saamiseks:
1. krüpteeritud sedel;
2. valija allkiri krüpteeritud sedelil;
3. valija allkirjastamissertifikaat;
4. häält kvalifitseerivad elemendid, kaasa arvatud kehtivuskinnitus ja registreerimis-
tõend.
Kontrollrakendus teostab järgmised kontrollid:
26
1. allkirjastatud hääl on esitatud korrektses konteinervormingus;
2. digitaalallkiri krüpteeritud sedelil on korrektne;
3. hääle allkirjastaja sertifikaat on kehtiv hääle vastuvõtmise ajahetkel, mida kinni-
tab korrektne kehtivuskinnitus;
4. hääl on korrektselt registreeritud õiges registreerimisteenuses.
Nende kontrollide teostamise järel kuvab kontrollrakendus hääle allkirjastanud isiku
andmeid.
Täiendavalt kasutab kontrollrakendus krüpteeritud sedeli moodustamisel kasutatud ju-
huslikkust krüpteeritud sedeli dekrüpteerimiseks.
Tähelepanu: Ühe hääle krüpteerimisel kasutatud juhuslikkust saab kasutada ai-
nult selle hääle dekrüpteerimiseks. Mitme erineva hääle dekrüpteerimiseks läheb
vaja häälte salastamise võtme privaatkomponenti.
Kontrollrakendus veendub, et dekrüpteerimisel saadud avatekst vastab avakujul tah-
teavalduse vorminõuetele.
Kontrollrakendus kuvab vorminõuetele vastava tahteavalduse võimaldamaks kontrolli-
jal veenduda selle tahteavalduse korrektsuses.
7.4 Kontrollid töötlemisrakenduses
Töötlemisrakendus kontrollib iga üksikut häält eraldi, veendudes muuhulgas, et iga
kogumisteenuse ning registreerimisteenuse poolt esitatud vaated e-valimiskasti sisu
kohta on konsistentsed. Seejärel otsustab töötlemisrakendus iga valija häälte kohta,
milline neist on ajaliselt viimane ning suunatakse töötlemise järgmisesse etappi, mille
tulemusena hääl võib jõuda lugemisele.
Töötlemisrakenduse sisendiks on:
1. Loend registreerimisteenuse poolt vastuvõetud registreerimispäringutest;
2. Loend kogumisteenuses rakendatud valijanimekirjadest;
3. Kogumisteenuse poolt üle antud e-valimiskast, mis sisaldab iga hääle kohta krüp-
teeritud sedelit, valija allkirja krüpteeritud sedelil, valija allkirjastamissertifikaati,
sertifikaadi kehtivuskinnitust ning registreerimistõendit.
Töötlemisrakendus kontrollib registreerimisteenuse ja kogumisteenuse kooskõla ning
väljastab erinevused:
1. Hääled, mille kohta on olemas registreerimispäring kogumisteenuses, kuid vas-
tus ei ole jõudnud kogumisteenusesse;
2. Hääled, mille kohta on olemas registreerimispäring registreerimisteenuses, kuid
mida kogumisteenus ei ole üle andnud.
27
Töötlemisrakendus kontrollib iga üksikut häält:
1. hääle allkirjastaja oli valijate nimekirjas;
2. allkirjastatud hääl on esitatud korrektses konteinervormingus;
3. digitaalallkiri krüpteeritud sedelil on korrektne;
4. hääle allkirjastaja sertifikaat on kehtiv hääle vastuvõtmise ajahetkel, mida kinni-
tab korrektne kehtivuskinnitus;
5. hääl on korrektselt registreeritud õiges registreerimisteenuses.
Töötlemisrakendus otsustab, milline valija häältest oli viimane ning liigub töötlemise
järgmisesse etappi. S.t. üks häält kvalifitseerivatest elementidest täidab hääle talle-
tamise aja fikseerimise rolli ning selle elemendi põhjal moodustatakse üksikute hääl-
te ajaline järgnevus. Olenevalt IVXV profiilist võib see element olla kehtivuskinnituse
koosseisus (BDOC-TM), eraldi ajatemplina (BDOC-TS) või registreerimistõendi koos-
seisus (BDOC-TS).
28
PEATÜKK 8
Suhtlusprotokollid
8.1 Liides
Kogumisteenuse valijale suunatud mikroteenused suhtlevad valijarakendusega ja
kontrollrakendusega JSON-RPC protokolli vahendusel.
id JSON-RPC päringuidentifikaator
method RPC-meetod
params Konkreetse RPC-meetodi parameetrid
1 {
2 "id": 0.0,
3 "method": "RPC.Method",
4 "params": [
5 {
6 "MethodParam": "value",
7 "SessionID": "ec3a0cab353d552952289f2c7ad52e27"
8 }
9 ]
10 }
error Võimalik veainfo või null vea puudumisel
id JSON-RPC päringuidentifikaator, peab ühtima päringus kasutatud id-ga
result Meetodipõhine vastusandmestruktuur
1 {
2 "error": null,
3 "id": 0.0,
(jätkub järgmisel leheküljel)
29
(jätk eelmisele leheküljele)
4 "result": {
5 "ResultParam": "value",
6 "SessionID": "ec3a0cab353d552952289f2c7ad52e27"
7 }
8 }
Esimese päringuvahetuse käigus mõne IVXV mikroteenusega väljastatakse suhtleva-
le rakendusele HEX-kodeeritud unikaalne seansiidentifkaator (result.SessionID),
mida rakendus kasutab edaspidi kõigis kogumisteenuse suunalistes päringutes
(params.SessionID). Seansiidentifikaatori abil seostatakse hääletamisega seotud
RPC-päringud üheks seansiks. Seostamine on informatiivne ning selle eesmärk on
logianalüüsi lihtsustamine, hääle ringkonnakuuluvust jm. sisulisi aspekte puudutavad
otsused tehakse digiallkirjastatud andmete põhjal.
Transpordiprotokollina on kasutusel TLS. Krüpteeritud kanali termineerimine toimub
konkreetses mikroteenuses. Võimaldamaks koormuse jaotamist ning mikroteenuste
paindlikku evitamist kasutatakse TLS-i SNI laiendust, mis lubab vahendusteenusel
TLS voogu termineerimata õigesse mikroteenusinstantsi suunata. Vahendusteenus on
tüüpiliselt kättesaadav kogumisteenuse välise liidese pordis 443.
8.2 Valikute nimekirja hankimine
Valikute nimekirja hankimine tähendab valijarakenduse suhtlemist nimekirjateenusega
(SNI choices.ivxv.invalid). Valikute nimekirja hankimine eeldab valija autenti-
mist ning tema ringkonnakuuluvuse tuvastamist.
Valijarakendus teeb päringu RPC.VoterChoices nimekirjade hankimiseks.
params.AuthMethod Toetatud valikud on meetodid tls ja ticket.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
Päring RPC.VoterChoices ID-kaardiga autentimise korral - autentimine toimub TLS-
protokolli tasemel päringu töötlemise ajal kasutades ID-kaardi autentimissertifikaati.
1 {
2 "id": 0.0,
3 "method": "RPC.VoterChoices",
4 "params": [
5 {
6 "AuthMethod": "tls",
7 "OS": "Operating System,2,0"
8 }
9 ]
10 }
Päring RPC.VoterChoices Mobiil-ID’ga autentimise korral - päringu sooritamiseks
tuleb eelnevalt kasutada Mobiil-ID vahendusteenuse (SNI mid.ivxv.invalid) abi
allkirjastatud autentimistõendi saamiseks.
30
params.AuthToken Autentimisteenuse vahendusel allkirjastatud tõend,
mis sisaldab endas valija unikaalset identifikaatorit.
params.SessionID Kuna Mobiil-ID korral on nimekirja hankimisele eelne-
nud interaktsioon autentimistõendi saamiseks, on olemas seansiiden-
tifikaator, mida tuleb kasutada.
1 {
2 "id": 0.0,
3 "method": "RPC.VoterChoices",
4 "params": [
5 {
6 "AuthMethod": "ticket",
7 "AuthToken":
˓→"G1RTZqBSBKrzqReuKYrmFUFXWFPvaxhJjdiZi6zqAnaK3OvrT...",
8 "OS": "Operating System,2,0",
9 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
10 }
11 ]
12 }
Nimekirjateenuse vastus päringule RPC.VoterChoices.
result.Choices Valija ringkonnakuuluvuse identifikaator VoterDistrict
result.List BASE64-kodeeritud ringkonna valikute nimekiri
DistrictChoices
result.Voted Kui valija on juba hääletanud, siis true, vastasel juhul seda
välja vastuses ei ole.
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "Choices": "0140.1",
6 "List":
˓→"ew0KICAgICAgICAgICAgIkVyYWtvbmQgMSI6IHsNCiAgICAgICAgICAgIC...",
7 "SessionID": "ec3a0cab353d552952289f2c7ad52e27",
8 "Voted": true
9 }
10 }
Võimalikud veateated päringu RPC.VoterChoices korral.
BAD_CERTIFICATE Viga valija isikutuvastussertifikaadiga.
BAD_REQUEST Vigane päring.
INELIGIBLE_VOTER Valijal pole õigust hääletada.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
UNAUTHENTICATED Autentimata päring.
VOTER_TOO_YOUNG Valija on liiga noor.
VOTING_END Hääletusperiood on lõppenud.
31
8.3 Allkirjastatud hääle saatmine talletamiseks
Allkirjastatud hääle saatmine talletamiseks tähendab valijarakenduse suhtlemist hää-
letamisteenusega (SNI voting.ivxv.invalid).
Valijarakendus teeb päringu RPC.Vote allkirjastatud hääle talletamiseks saatmiseks.
params.AuthMethod Toetatud valikud on meetodid tls ja ticket.
params.Choices Valija ringkonnakuuluvuse identifikaator
VoterDistrict mis kehtis valikute nimekirja hankimise ajal.
Parameetri korrektne kasutamine võimaldab kogumisteenusel valijat
hoiatada kui tema ringkonnakuuluvus on võrreldes hääletamise
algushetkega muutunud.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.Type Allkirjastatud hääle vorming. Hetkel on ainus toetatud väär-
tus bdoc.
params.Vote BASE64-kodeeritud hääl SignedVote eelpoolmääratud
vormingus (Valija poolt allkirjastatud hääl).
Päring RPC.Vote ID-kaardiga autentimise korral.
1 {
2 "id": 0.0,
3 "method": "RPC.Vote",
4 "params": [
5 {
6 "AuthMethod": "tls",
7 "Choices": "0140.1",
8 "SessionID": "ec3a0cab353d552952289f2c7ad52e27",
9 "OS": "Operating System,2,0",
10 "Type": "bdoc",
11 "Vote": "UEsDBAoABgAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlv\
˓→nbi92bmQuZX..."
12 }
13 ]
14 }
Päring RPC.Vote Mobiil-ID’ga autentimise korral.
1 {
2 "id": 0.0,
3 "method": "RPC.Vote",
4 "params": [
5 {
6 "AuthMethod": "ticket",
7 "AuthToken":
˓→"G1RTZqBSBKrzqReuKYrmFUFXWFPvaxhJjdiZi6zqAnaK3OvrT...",
8 "Choices": "0919.1",
9 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b",
(jätkub järgmisel leheküljel)
32
(jätk eelmisele leheküljele)
10 "OS": "Operating System,2,0",
11 "Type": "bdoc",
12 "Vote":
˓→"UEsDBAoAAAAAAAAAAACKIflFHwAAAB8AAAAIAAAAbWltZXR5cGVhcHB..."
13 }
14 ]
15 }
Hääletamisteenuse vastus päringule RPC.Vote.
result.Qualification.ocsp
result.Qualification.tspreg Kogumisteenuse poolt hangitud täiendavad
tõendid valijarakenduse poolt loodud hääle SignedVote (Valija poolt
allkirjastatud hääl) kvalifitseerimiseks ning korrektseks registreeri-
miseks. Vastuse koosseis sõltub kogumisteenuse konkreetsest sea-
distusest, antud juhul kasutatakse standardset OCSP protokolli va-
lija allkirjasertifikaadi kehtivuse kontrolliks ning PKIX ajatempliproto-
kolli põhist registreerimisteenust nii hääle andmise aja fikseerimiseks
kui elektroonilise hääle registreerimiseks välises sõltumatus teenu-
ses. Valijarakendusele kontrollimiseks edastatakse nii OCSP vastus
kui PKIX vormingus ajatempel koos registreerimisteenusele vajalike
täiendustega.
result.TestVote Kui hääl esitati enne hääletamise algust ning läks arvesse
proovihäälena, siis true, vastasel juhul seda välja vastuses ei ole.
Valijarakendus kuvab valijale proovihääle korral sellekohase hoiatuse.
result.VoteID Hääle identifikaator talletusteenuses, mille alusel on kont-
rollrakendusel võimalik häält hilisemaks analüüsiks välja nõuda.
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "Qualification": {
6 "ocsp":
˓→"MIIFTAoBAKCCBUUwggVBBgkrBgEFBQcwAQEEggUyMIIFLjCB5qFMME...",
7 "tspreg":
˓→"MIIDsAYJKoZIhvcNAQcCoIIDoTCCA50CAQMxCzAJBgUrDgMCGgQS..."
8 },
9 "SessionID": "ec3a0cab353d552952289f2c7ad52e27",
10 "TestVote": true,
11 "VoteID": "VM/cUIU4n7VjxpUx1fC00Q=="
12 }
13 }
Võimalikud veateated päringu RPC.Vote korral.
BAD_CERTIFICATE Viga valija isikutuvastus- või allkirjastamissertifikaa-
diga.
33
BAD_REQUEST Vigane päring.
IDENTITY_MISMATCH Isikutuvastus- ning allkirjastamissertifikaadi isiku-
koodid ei kattu.
INELIGIBLE_VOTER Valijal pole õigust hääletada.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
OUTDATED_CHOICES Valija ringkonnakuuluvus on nimekirja hankimi-
sest muutunud.
UNAUTHENTICATED Autentimata päring.
VOTER_TOO_YOUNG Valija on liiga noor.
VOTING_END Hääletusperiood on lõppenud.
8.4 Hääletamine Mobiil-ID’ga
Mobiil-ID kasutamine allkirjastamis- ning autentimisvahendina tingib Mobiil-ID teenu-
sega liidestuva abiteenuse (SNI mid.ivxv.invalid) kasutamise autentimistõendi
hankimiseks enne valikute nimekirja hankimist ning hääle allkirjastamiseks enne talle-
tamist.
8.4.1 Autentimistõendi hankimine
Valijarakendus teeb päringu RPC.Authenticate Mobiil-ID autentimise algata-
miseks.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.IDCode Mobiil-ID kasutaja isikukood.
params.PhoneNo Mobiil-ID kasutaja telefoninumber.
1 {
2 "id": 0.0,
3 "method": "RPC.Authenticate",
4 "params": [
5 {
6 "OS": "Operating System,2,0",
7 "IDCode": "60001019906",
8 "PhoneNo": "+37200000766"
9 }
10 ]
11 }
result.Challenge Räsi, millest arvutada Mobiil-ID kontrollkood valijaraken-
duses kuvamiseks
result.SessionCode Mobiil-ID seansiidentifikaator edasiste poll-päringute
jaoks
34
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "Challenge": "EtsTur4XV7xEGS9LBjHSfF9Cc5PQxtYW+YAOysRIt2r...
˓→",
6 "SessionCode": "2127729011",
7 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
8 }
9 }
Võimalikud veateated päringu RPC.Authenticate korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
VOTING_END Hääletusperiood on lõppenud.
Valijarakendus teeb päringu RPC.AuthenticateStatus autentimisprotsessi oleku
hindamiseks.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.SessionCode Autentimisseansi identifikaator
1 {
2 "id": 0.0,
3 "method": "RPC.AuthenticateStatus",
4 "params": [
5 {
6 "OS": "Operating System,2,0",
7 "SessionCode": "2127729011",
8 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
9 }
10 ]
11 }
result.AuthToken Autentimistõend teistele IVXV teenustele esitamiseks
või null, kui päringu töötlemine alles käib.
result.GivenName Eduka autentimise korral valija eesnimi
result.PersonalCode Eduka autentimise korral valija isikukood
result.Status Päringu staatus - POLL viitab vajadusele päringut korrata,
OK viitab edukale autentimisele. Vastuse muud väljad sisaldavad infot
vaid siis kui väärtus on OK.
result.Surname Eduka autentimise korral valija perekonnanimi
1 {
2 "error": null,
3 "id": 0.0,
(jätkub järgmisel leheküljel)
35
(jätk eelmisele leheküljele)
4 "result": {
5 "AuthToken": null,
6 "GivenName": "",
7 "PersonalCode": "",
8 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b",
9 "Status": "POLL",
10 "Surname": ""
11 }
12 }
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "AuthToken":
˓→"G1RTZqBSBKrzqReuKYrmFUFXWFPvaxhJjdiZi6zqAnaK3OvrT2Qu6...",
6 "GivenName": "MARY \u00c4NN",
7 "PersonalCode": "60001019906",
8 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b",
9 "Status": "OK",
10 "Surname": "O\u2019CONNE\u017d-\u0160USLIK"
11 }
12 }
Võimalikud veateated päringu RPC.AuthenticateStatus korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
MID_BAD_CERTIFICATE Viga valija Mobiil-ID isikutuvastussertifikaadiga.
MID_NOT_USER Telefoninumber ei kuulu Mobiil-ID kliendile.
MID_OPERATOR Probleem valija mobiiltelefoni SIM kaardiga, mille lahen-
damiseks tuleb pöörduda mobiilioperaatori poole.
MID_ABSENT Valija mobiiltelefon ei ole kättesaadav.
MID_CANCELED Valija katkestas Mobiil-ID seansi.
MID_EXPIRED Mobiil-ID seanss on aegunud.
MID_GENERAL Viga Mobiil-ID teenuse töös.
VOTING_END Hääletusperiood on lõppenud.
36
8.4.2 Hääle allkirjastamine
Valijarakendus teeb päringu RPC.GetCertificate allkirjastamissertifikaadi hanki-
miseks.
params.AuthMethod Toetatud ainult autentimismeetod ticket.
params.AuthToken Mobiil-ID autentimistõend.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.PhoneNo Hääle allkirjastaja telefoninumber
1 {
2 "id": 0.0,
3 "method": "RPC.GetCertificate",
4 "params": [
5 {
6 "AuthMethod": "ticket",
7 "AuthToken":
˓→"G1RTZqBSBKrzqReuKYrmFUFXWFPvaxhJjdiZi6zqAnaK3OvrT...",
8 "OS": "Operating System,2,0",
9 "PhoneNo": "+37200000766",
10 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
11 }
12 ]
13 }
result.Certificate Allkirjastamissertifikaat X509-vormingus
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "Certificate":
˓→"MIIEVjCCAz6gAwIBAgIQRfmbsIcpkQ9UhxScCwG6VDANBgkqhki...",
6 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
7 }
8 }
Võimalikud veateated päringu RPC.GetCertificate korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
MID_BAD_CERTIFICATE Viga valija Mobiil-ID allkirjastamissertifikaadiga.
MID_GENERAL Viga Mobiil-ID teenuse töös.
MID_NOT_USER Telefoninumber ei kuulu Mobiil-ID kliendile.
VOTING_END Hääletusperiood on lõppenud.
Valijarakendus teeb päringu RPC.Sign hääle allkirjastamise algatamiseks. Mobiil-ID
kontrollkoodi arvutab valijarakendus andmevälja Hash väärtusest.
37
params.AuthMethod Toetatud ainult autentimismeetod ticket.
params.AuthToken Mobiil-ID autentimistõend.
params.Hash BASE64-kodeeritud elektroonilise hääle räsi
params.HashType Räsifunktsiooni nimi Mobiil-ID teenusele edasta-
miseks, kas SHA256, SHA384 või SHA512
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.PhoneNo Hääle allkirjastaja telefoninumber
1 {
2 "id": 0.0,
3 "method": "RPC.Sign",
4 "params": [
5 {
6 "AuthMethod": "ticket",
7 "AuthToken":
˓→"G1RTZqBSBKrzqReuKYrmFUFXWFPvaxhJjdiZi6zqAnaK3OvrT...",
8 "Hash": "9IBrA05ylt2StdjxKkSTYMW/rQXY3Vub4upzShdfEzo=",
9 "HashType": "SHA256",
10 "OS": "Operating System,2,0",
11 "PhoneNo": "+37200000766",
12 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
13 }
14 ]
15 }
result.SessionCode Mobiil-ID seansiidentifikaator edasiste poll-päringute
jaoks.
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "SessionCode": "E663A711BB9447EAD82491F9372F4CA",
6 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
7 }
8 }
Võimalikud veateated päringu RPC.Sign korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
VOTING_END Hääletusperiood on lõppenud.
Valijarakendus teeb päringu RPC.SignStatus allkirjastamisprotsessi seisundi hinda-
miseks.
params.OS Operatsioonisüsteem, millel valijarakendust kasutatakse.
params.SessionCode Mobiil-ID seansiidentifikaator
38
1 {
2 "id": 0.0,
3 "method": "RPC.SignStatus",
4 "params": [
5 {
6 "OS": "Operating System,2,0",
7 "SessionCode": "E663A711BB9447EAD82491F9372F4CA",
8 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b"
9 }
10 ]
11 }
result.Signature Juhul kui vastuse Status väli on OK, BASE-64 kodeeri-
tud PKCS1-vormingus signatuur, vastasel juhul null.
result.Algorithm Juhul kui vastuse Status väli on OK, Mobiil-ID tee-
nuse poolt tagastatud signatuuri algoritm. Võimalikud väärtused
on SHA256WithECEncryption, SHA256WithRSAEncryption,
SHA384WithECEncryption, SHA384WithRSAEncryption,
SHA512WithECEncryption ja SHA512WithRSAEncryption.
result.Status Päringu staatus - POLL viitab vajadusele päringut korrata,
OK viitab edukale allkirjastamisele. Vastuse muud väljad sisaldavad
infot vaid siis kui väärtus on OK.
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b",
6 "Signature": null,
7 "Status": "POLL"
8 }
9 }
1 {
2 "error": null,
3 "id": 0.0,
4 "result": {
5 "SessionID": "057229fdfa2df7d3c7f4ced81b02760b",
6 "Signature": "MOj+8xQ9DmZPr/
˓→ItHlm0tHNMCuTgn6dT9jcXjPLf0+2sVjsS11jRI...",
7 "Algorithm": "SHA256WithECEncryption",
8 "Status": "OK"
9 }
10 }
Võimalikud veateated päringu RPC.SignStatus korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
39
MID_ABSENT Valija mobiiltelefon ei ole kättesaadav.
MID_BAD_CERTIFICATE Viga valija Mobiil-ID allkirjastamissertifikaadiga.
MID_OPERATOR Probleem valija mobiiltelefoni SIM kaardiga, mille lahen-
damiseks tuleb pöörduda mobiilioperaatori poole.
MID_CANCELED Valija katkestas Mobiil-ID seansi.
MID_EXPIRED Mobiil-ID seanss on aegunud.
MID_GENERAL Viga Mobiil-ID teenuse töös.
VOTING_END Hääletusperiood on lõppenud.
8.5 Hääle kontrollimine
Kontrollrakendus teeb päringu RPC.Verify allkirjastatud hääle ning häält kvalifitsee-
rivate tõendite allalaadimiseks kogumisteenusest.
params.OS Operatsioonisüsteem, millel kontrollrakendust kasutatakse.
params.VoteID QR-koodi vahendusel valijarakendusest saadud hääle
identifikaator talletusteenuses.
1 {
2 "id": 1,
3 "method": "RPC.Verify",
4 "params": [
5 {
6 "OS": "Operating System,2,0",
7 "SessionID": "ec3a0cab353d552952289f2c7ad52e27",
8 "VoteID": "VM/cUIU4n7VjxpUx1fC00Q=="
9 }
10 ]
11 }
result.Qualification.ocsp
result.Qualification.tspreg Vaata peatükki hääle verifitseerimisest
result.Type Allkirjastatud hääle vorming. Hetkel on ainus toetatud väärtus
bdoc.
result.Vote BASE64-kodeeritud hääl SignedVote eelpoolmääratud vor-
mingus (Valija poolt allkirjastatud hääl).
1 {
2 "error": null,
3 "id": 1,
4 "result": {
5 "Qualification": {
6 "ocsp":
˓→"MIIG8woBAKCCBuwwggboBgkrBgEFBQcwAQEEggbZMIIG1TCCASehgY...",
7 "tspreg":
˓→"MIIE0QYJKoZIhvcNAQcCoIIEwjCCBL4CAQMxDzANBglghkgBDQEJE..."
(jätkub järgmisel leheküljel)
40
(jätk eelmisele leheküljele)
8 },
9 "SessionID": "027ab451969d9d3f044ea2cb2675b503",
10 "Type": "bdoc",
11 "Vote":
˓→"UEsDBAoAAAAAAAAAAACKIflFHwAAAB8AAAAIAAAAbWltZXR5cGVhcHB..."
12 }
13 }
Võimalikud veateated päringu RPC.Verify korral.
BAD_REQUEST Vigane päring.
INTERNAL_SERVER_ERROR Viga serveri sisemises töös.
VOTING_END Hääletusperiood on lõppenud.
41
PEATÜKK 9
E-valimiskasti töötlemine
9.1 Tühistus- ja ennistusnimekiri
Tühistus- ja ennistusnimekiri sisaldab andmeid isikute kohta, kelle e-hääl tuleb tühis-
tada (ei lähe arvesse valimistulemuste kokkulugemisel) või ennistada (s.t. tühistatakse
eelnev tühistamine ning häälte uuesti üle lugemisel võetakse ennistatud e-hääl arves-
se). Nimekiri laaditakse süsteemi digitaalselt allkirjastatud dokumendina, mille andme-
faili vorming on järgmine:
1 {
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "definitions": {
4 "rev_entry": {
5 "type": "string",
6 "pattern": "^[0-9]{11}$",
7 "description": "Personal code of onlinevoter to be
˓→revoked"
8 }
9 },
10 "type": "object",
11 "properties": {
12 "election": {
13 "type": "string",
14 "pattern": "^[ \\-,\\+\\.:;=!?&%#<>_/\\'\\*()\\[\\]{}|^
˓→A-Za-z0-9]{1,28}$"
15 },
16 "type": {"enum": ["revoke", "restore"]},
17 "persons": {
18 "type": "array",
(jätkub järgmisel leheküljel)
42
(jätk eelmisele leheküljele)
19 "items": {
20 "$ref": "#/definitions/rev_entry"
21 }
22 }
23 },
24 "required": [
25 "election",
26 "persons",
27 "type"
28 ],
29 "additionalProperties": false
30 }
Näide:
{
"election": "TESTKOV",
"persons": [
"11412090004",
"11412090005",
"11412090006"
],
"type": "revoke"
}
9.2 E-hääletanute nimekiri
E-hääletanute nimekiri on pärast e-hääletamise lõppu väljastatav nimekiri e-
hääletanud isikutest, sordituna valimisjaoskondade kaupa. Dokument genereeritakse
töötlemisrakenduse poolt.
1 {
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "definitions": {
4 "onlinevoters_entry": {
5 "type": "string",
6 "pattern": "^[0-9]{11}$",
7 "additionalItems": false
8 },
9
10 "onlinevoters": {
11 "type": "array",
12 "items": {
13 "$ref": "#/definitions/onlinevoters_entry"
14 },
15 "additionalItems": false
(jätkub järgmisel leheküljel)
43
(jätk eelmisele leheküljele)
16 },
17
18 "parish": {
19 "type": "object",
20 "patternProperties": {
21 "^[0-9]{4}$": {
22 "$ref": "#/definitions/onlinevoters"
23 }
24 },
25 "additionalProperties": false,
26 "minProperties": 1
27 },
28
29 "districts": {
30 "type": "object",
31 "patternProperties": {
32 "^[0-9]{4}\\.[0-9]{1,2}$": {
33 "$ref": "#/definitions/parish"
34 }
35 },
36 "additionalProperties": false,
37 "minProperties": 1
38 }
39 },
40 "type": "object",
41 "properties": {
42 "election": {
43 "type": "string",
44 "pattern": "^[ \\-,\\+\\.:;=!?&%#<>_/\\'\\*()\\[\\]{}|^
˓→A-Za-z0-9]{1,28}$"
45 },
46 "onlinevoters": {
47 "$ref": "#/definitions/districts"
48 }
49 },
50 "required": [
51 "election",
52 "onlinevoters"
53 ],
54 "additionalProperties": false
55 }
Näide:
{
"election": "RK2030",
"onlinevoters": {
"0000.1": {
"0176": [
(jätkub järgmisel leheküljel)
44
(jätk eelmisele leheküljele)
"11412090001"
],
"0339": [
"11412090002",
"11412090003"
],
"0614": [
"11412090004"
],
"0000": [
"11412090005"
]
},
"0000.10": {
"0793": [
"11412090006",
"11412090007",
"11412090008"
],
"0000": [
"11412090009"
]
}
}
}
9.3 Hääletamistulemus
Võtmerakenduse poolt dekrüpteeritud ning summeeritud hääled jagatud valimisring-
kondade ja jaoskondade kaupa.
Hääletamistulemuste failis peavad iga jaoskonna kohta olema järgmised andmed.
1. Rikutud ja kehtetute häälte arvu näitav kirje. Seda ka juhul, kui valimisjaoskonnas
polnud ühtki rikutud või kehtetut häält: sellisel juhul on häälte arv null.
2. Iga valiku poolt antud häälte arvu näitav kirje. Seda ka juhul, kui valimisjaoskon-
nas ei antud selle valiku poolt ühtki häält: sellisel juhul on häälte arv null.
1 {
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "definitions": {
4 "results": {
5 "type": "object",
6 "properties": {
7 "invalid": {
8 "type": "integer",
(jätkub järgmisel leheküljel)
45
(jätk eelmisele leheküljele)
9 "description": "Number of invalid votes"
10 }
11 },
12 "patternProperties": {
13 "^[0-9]{4}\\.[0-9]{3,4}$": {
14 "type": "integer"
15 }
16 },
17 "additionalProperties": false,
18 "required": [
19 "invalid"
20 ]
21 },
22 "parish": {
23 "type": "object",
24 "patternProperties": {
25 "^[0-9]{4}$": {
26 "$ref": "#/definitions/results"
27 }
28 },
29 "additionalProperties": false,
30 "minProperties": 1
31 },
32 "district_dict": {
33 "type": "object",
34 "patternProperties": {
35 "^[0-9]{4}\\.[0-9]{1,2}$": {
36 "$ref": "#/definitions/results"
37 }
38 },
39 "additionalProperties": false,
40 "minProperties": 1
41 },
42 "parish_dict": {
43 "type": "object",
44 "patternProperties": {
45 "^[0-9]{4}\\.[0-9]{1,2}$": {
46 "$ref": "#/definitions/parish"
47 }
48 },
49 "additionalProperties": false,
50 "minProperties": 1
51 }
52 },
53 "type": "object",
54 "properties": {
55 "election": {
56 "type": "string",
57 "pattern": "^[ \\-,\\+\\.:;=!?&%#<>_/\\'\\*()\\[\\]{}|^
˓→A-Za-z0-9]{1,28}$" (jätkub järgmisel leheküljel)
46
(jätk eelmisele leheküljele)
58 },
59 "bydistrict": {
60 "$ref": "#/definitions/district_dict"
61 },
62 "byparish": {
63 "$ref": "#/definitions/parish_dict"
64 }
65 },
66 "required": ["election", "bydistrict", "byparish"],
67 "additionalProperties": false
68 }
Näide:
{
"bydistrict": {
"0164.1": {
"0164.126": 0,
"0164.127": 0,
"invalid": 0
},
"0296.1": {
"0296.101": 0,
"0296.102": 0,
"0296.115": 0,
"0296.116": 0,
"0296.117": 0,
"0296.198": 0,
"0296.199": 0,
"0296.200": 0,
"invalid": 0
}
},
"byparish": {
"0164.1": {
"0164": {
"0164.126": 0,
"0164.127": 0,
"invalid": 0
}
},
"0296.1": {
"0296": {
"0296.101": 0,
"0296.102": 0,
"0296.115": 0,
"0296.116": 0,
"0296.117": 0,
"0296.198": 0,
(jätkub järgmisel leheküljel)
47
(jätk eelmisele leheküljele)
"0296.199": 0,
"0296.200": 0,
"invalid": 0
},
"0296": {
"0296.101": 0,
"0296.102": 0,
"0296.115": 0,
"0296.116": 0,
"0296.117": 0,
"0296.198": 0,
"0296.199": 0,
"0296.200": 0,
"invalid": 0
}
}
},
"election": "TESTKOV"
}
9.4 E-valimiskast
Fail sisaldab kogumisteenuse poolt vastu võetud hääli koos häälte juurde kuuluvate
andmetega.
Faili vorming on Zip64 konteiner.
Valija-spetsiifilised kaustad asuvad vahetult juurkausta votes all.
Faili sisu:
• votes/<voter id>/
• <timestamp>.version
• <timestamp>.<vote type>
• <timestamp>.<qualifier>*
kus:
• <voter id> on valija identifikaator, Eesti puhul isikukood;
• <timestamp> on hääle esitamise kellaaeg vormingus
yyyymmddhhmmssmmm±zzzz;
– see kellaaeg kajastab hetke, mil päring kogumisteenusesse tehti, ja on an-
tud lihtsalt valimiskasti inimloetavuse parandamiseks; hääle tegelik ajamärk
või -tempel on mõne kvalifitseeriva vastuse sees;
• <vote type> on valikute konteineri tüüp, Eesti puhul BDOC;
48
– kusjuures BDOC ise on lihtsalt põhiprofiiliga ja ei sisalda kvalifitseerivad
parameetreid (kehtivuskinnitusi, ajamärgendeid, ajatempleid),
• <qualifier> on häält kvalifitseeriva protokolli tüüp, millest hetkel võimalikud
on:
– ocsp - Online Certificate Status Protocol (kehtivuskinnitus, RFC 69602 ) kin-
nitab valija allkirjastamissertifikaadi kehtivust hääle andmise hetkel,
– ocsptm - sama, mis ocsp, aga kasutab BDOC3 spetsifikatsiooni jaotises
6.1 kirjeldatud laiendust, kus nonsiks pannakse hääle allkirja räsi, et häält
ajamärgendada,
– tsp - Time-Stamp Protocol (ajatempel, RFC 31614 ) kinnitab, et päringu
tegemise hetkeks oli hääl olemas,
– tspreg - sama, mis tsp, aga nonsiks pannakse kogumisteenuse allkiri
päringu MessageImprint elemendil, et häält registreerida.
• Iga hääle kohta esinevad failid on:
• <timestamp>.version - hääle andmise ajal kehtinud valijate nimekirja ver-
sioon;
• <timestamp>.<vote type> - valikute konteiner, mille sees on valiku identi-
fikaator kujul <valimise id>.<küsimuse id>.ballot. Eesti puhul BDOC-
konteineris olev vastava nimega fail;
• <timestamp>.<qualifier> - häält kvalifitseeriva protokolli päringu vastus;
neid võib esineda mitu, aga iga protokolli kohta maksimaalselt üks.
9.5 Anonüümistatud e-valimiskast
Valimisringkondade ja jaoskondade järgi grupeeritud krüpteeritud hääled. Anonüümis-
tatud e-valimiskastis puudub informatsioon valijate kohta.
Anonüümistatud e-valimiskast on töötlemisrakenduse väljund ning võtmerakenduse
dekrüpteerimise tööriista sisend.
1 {
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "definitions": {
4 "results": {
5 "type": "array",
6 "items": {
7 "type": "string"
8 },
9 "additionalItems": false
10 },
11 "questions": {
(jätkub järgmisel leheküljel)
2
https://tools.ietf.org/html/rfc6960
3
http://www.id.ee/public/bdoc-spec212-est.pdf
4
https://tools.ietf.org/html/rfc3161
49
(jätk eelmisele leheküljele)
12 "type": "object",
13 "additionalProperties": {
14 "$ref": "#/definitions/results"
15 },
16 "minProperties": 1
17 },
18 "parish": {
19 "type": "object",
20 "patternProperties": {
21 "^[0-9]{4}$|^(FOREIGN)$": {
22 "$ref": "#/definitions/questions"
23 }
24 },
25 "additionalProperties": false,
26 "minProperties": 1
27 },
28 "districts": {
29 "type": "object",
30 "patternProperties": {
31 "^[0-9]{4}\\.[0-9]{1,2}$": {
32 "$ref": "#/definitions/parish"
33 }
34 },
35 "additionalProperties": false,
36 "minProperties": 1
37 }
38 },
39 "type": "object",
40 "properties": {
41 "election": {
42 "type": "string"
43 },
44 "districts": {
45 "$ref": "#/definitions/districts"
46 }
47 },
48 "required": [
49 "election",
50 "districts"
51 ],
52 "additionalProperties": false
53 }
Näide:
{
"election": "TESTKOV",
"districts": {
"0164.1": {
(jätkub järgmisel leheküljel)
50
(jätk eelmisele leheküljele)
"0164": {
"TESTKOV.1": [
"MDkxOS4xMDUK",
"MDkxOS4xMDQK",
"MDkxOS4xMDEK",
"MDkxOS4xMDMK"
]
}
},
"0296.1": {
"0296": {
"TESTKOV.1": [
"MDkxOS4xMDQK",
"MDkxOS4xMDQK"
]
}
}
}
}
51
PEATÜKK 10
Hääletamistulemuse audit
10.1 Miksimistõendi kontroll
Miksimistõendi kontrollimiseks kasutatakse algoritmi nagu on defineeritud Verificatumi
verifitseerija implementeerimise manuaalis5 .
Märgime, et miksimistõendi koostamisel lisatakse krüptogrammile andmed valimiste,
ringkonna, jaoskonna ja küsimuse identifikaatori kohta. Lisamiseks kodeeritakse vas-
tav väli rühma elemendina, kasutades pimendamiseks juhuslikkust 0. Näitena, kui
esialgu on krüptogramm 𝑐0 = (𝑐00 , 𝑐01 ), kasutades avalikku võtit 𝑝𝑘 = (𝑔, 𝑦), siis Ve-
rificatumi sisendina kasutatakse laia krüptogrammi 𝐶 = (𝑐𝑖𝑑 , 𝑐𝑑 , 𝑐𝑠 , 𝑐𝑞 , 𝑐0 ), kus:
• valimiste identifikaatori pseudokrüptogramm on antud kujul 𝑐𝑖𝑑 = (1, 𝑒𝑛𝑐𝑜𝑑𝑒(𝑖𝑑)),
kus funktsioon 𝑒𝑛𝑐𝑜𝑑𝑒 kodeerib sõne vastava rühma elemendina ja id on valimis-
te identifikaatori sõne.
• ringkonna identifikaatori pseudokrüptogramm on antud kujul 𝑐𝑑 = (1, 𝑒𝑛𝑐𝑜𝑑𝑒(𝑑)),
kus d on ringkonna identifikaatori sõne.
• jaoskonna identifikaatori pseudokrüptogramm on antud kujul 𝑐𝑠 = (1, 𝑒𝑛𝑐𝑜𝑑𝑒(𝑠)),
kus s on jaoskonna identifikaatori sõne.
• küsimuse identifikaatori pseudokrüptogramm on antud kujul 𝑐𝑞 = (1, 𝑒𝑛𝑐𝑜𝑑𝑒(𝑞)),
kus q on küsimuse identifikaatori sõne.
Sellisel juhul defineeritakse laia krüptogrammile vastava avaliku võtmena
((𝑔, 1), (𝑔, 1), (𝑔, 1), (𝑔, 1), (𝑔, 𝑦)).
5
https://www.verificatum.org/files/vmnv-3.0.3.pdf
52
10.2 Korrektse dekrüpteerimise tõendi kontroll
Olgu antud krüptogramm 𝑐 = (𝑐0 , 𝑐1 ), mis deküpteeritakse väärtuseks 𝑑 antud avaliku
võtmega 𝑝𝑘 üle parameetrite (𝑝, 𝑔) ja dekrüpteerimistõendiga (𝑎, 𝑏, 𝑠).
Korrektse dekrüpteerimise kontrollimise jaoks on tarvis arvutada mitte-interaktiivne
kontrollija väljakutse. Selle jaoks kodeeritakse ”𝐷𝐸𝐶𝑅𝑌 𝑃 𝑇 𝐼𝑂𝑁 ”||𝑝𝑘||𝑐||𝑑||𝑎||𝑏 DER-
kodeeringus. Baidijada kasutatakse deterministliku juhuarvugeneraatori initsialiseeri-
miseks ja selle väljundist loetakse rühma järgu pikkune täisarv 𝑘.
Korrektse dekrüpteerimsie tõendi kontrolliks tuleb kontrollida, et 𝑐𝑠0 = 𝑎 * (𝑐1 /𝑑)𝑘 ja
𝑔𝑠 = 𝑏 * 𝑦𝑘 .
10.3 Korrektse teisendamise kontroll
Kontrollimaks, et teisendus IVXV e-valimiskasti ja Verificatumi krüptogrammide vahel
on tehtud korrektselt, tuleb korrata teisendust sõltumatult. Pärast sõltumatut teisendust
tuleb võrrelda saadud väljundeid. Kuna teisendamine on deterministlik protseduur, siis
garanteerib kordamine tegevuse õigsuse.
53
OTSUS
Tallinn 15. oktoober 2021 nr 20
Virgo Kruve kaebuse läbivaatamine
Kaebuse sisu
Virgo Kruve, kes kandideerib Rakvere linnas Erakond Eestimaa Rohelised nimekirjas, esitas 14.
oktoobril 2021 Vabariigi Valimiskomisjonile kaebuse. Kaebaja nõue on peatada elektrooniline
hääletamine. Kaebaja ei ole veendunud, et elektroonilisel hääletamisel kasutatav valijarakendus
töötab õigesti ja valimistulemust ei moonuta, sest sertifikaat on 6. oktoobrist 2021, kuid
prooviläbimine tehti 5. oktoobril 2021. Samuti ei olnud samad faili sõrmejälje numbrid, mis olid
avalikustatud 11. oktoobril 2021. Lisaks viitab kaebaja, et riigi valimisteenistus ei ole testimise
tulemust kinnitanud ega avalikustanud.
Riigi valimisteenistuse seisukoht
Riigi valimisteenistuse 2. septembri 2021 korralduse nr 6 „Elektroonilise hääletamise süsteemi
testimise ajakava ja ulatus 2021. a kohaliku omavalitsuse volikogu valimistel“ alusel viis
5. oktoobril 2021 testimise (kasutatud ka mõistet prooviläbimine) läbi elektroonilise hääletamise
rakkerühm, mille juht on Indrek Leesi (riigi valimisteenistuse 2. septembri 2021 korraldus nr 3
„Elektroonilise hääletamise rakkerühma liikmete nimetamine 2021. a kohaliku omavalitsuse
volikogu valimisteks“). Korraldusega on kinnitatud, et prooviläbimisel testitakse elektroonilist
hääletamist ja elektroonilise hääle kontrollimist (ulatus).
Prooviläbimise eesmärk on võtmeosakute loomine, millega on võimalik hääli anda ja avada,
võtmeosakute ja võtmeosakute loomiseks kasutatava kõvaketta pitseerimine audiitorite poolt ja
vaatlejate juuresolekul. Prooviläbimisel testitakse võtmeid ja seda, et hääli saab anda ja kas hääled
pärast avanevad. Võtmeosakuid saavad elektrooniliste häälte avamiseks kasutada vaid kindlaks
määratud hulk võtmeosakute valdajaid ühiselt audiitorite juuresolekul. Võtmeosakud luuakse
arvuti vahemälus, privaatvõtit ega ka selle võtmeosakuid ei salvestata kunagi kõvakettale. Oluline
on pitseerida kinni kõik seadmed, millele on talletatud privaatvõtme osakud häälte avamiseks ja
mida on kasutatud privaatvõtme paaride loomiseks. Ülejäänud riistvara, sh protsessor, emaplaat,
graafikakaart ja operatiivmälu, on usaldatavad toimingute tegemiseks.
Valijarakendus luuakse Windowsi, Linuxi ja Mac operatsioonisüsteemidega arvutitele. Selleks, et
veenduda, kas valijarakendus annab hääle õigele kandidaadile, on kontrollrakendus.
Valijarakendus ei ole muutunud, kuid valijarakendus ei pea jääma hääletamise lõpuni samaks.
Sellist nõuet dokumentatsioonist ei tulene. Valijarakenduse muutmine ei sisalda endas mingit riski,
sest hääle õigsust saab kontrollida kontrollrakendusega. Uue valijarakenduse tegemine ei muuda
valijarakenduse töö põhimõtteid. Valijarakendus, millega tehti 5. oktoobril 2021 prooviläbimine,
2
on sama, millega korraldatakse hääletamist, kuid selle valijarakenduse signeerimine toimus hiljem
ning see ei ole dokumentatsiooniga vastuolus. 6. oktoobril 2021 signeeriti valijarakendus. Riigi
valimisteenistuse kättesaadavaks tehtud valijarakendust ei ole kohustuslik kasutada. Vabariigi
Valimiskomisjoni 5. märtsi 2021 otsuse nr 6 „Hääletamissedeli ja elektroonilise hääle vormi
kehtestamine kohaliku omavalitsuse volikogu valimisteks“ järgi peab elektrooniline hääl
sisaldama otsuse punktis 3.3 nimetatud andmeid. Kui kõiki neid andmeid ei ole, saadakse
töötlemisel viga ja selline elektrooniline hääl on kehtetu. Valijarakenduses hoitakse ainult
jaoskondade ja ringkondade nimekirju. Kandidaatide nimekiri on serveri komponendis. Kaebuse
lisas 2 toodud sõrmejälje numbrite puhul on kaebaja õigete numbrite asemel vaadanud sertifikaadi
välja andnud asutuse sõrmejälje numbrit. Valijarakenduse sõrmejälje numbrid ei ole muutunud.
Testimise toimingu käigus kuvati vaatlejatele rakkerühma poolt koostatud raport. Rakkerühma
esindaja allkirjastas raporti 12. oktoobril 2021 ning riigi valimisteenistuse juht kinnitas testimise
tulemused allkirjaga. Riigikogu valimise seaduse (RKVS) § 482 lõike 4 punktist 3 ei tulene, et
testimise tulemus tuleb kinnitada õigusaktiga. Testimine on menetlustoiming, mille tulemus
vormistatakse kirjalikult. Samuti ei anna riigi valimisteenistus ka korraldust testimise tulemuse
avalikustamise kohta: ka sel juhul on tegemist toiminguga. Testimise tulemuse on riigi
valimisteenistuse juht kinnitanud allkirjaga ja see on avaldatud 14. oktoobril 2021 valimised.ee
veebilehel (https://www.valimised.ee/sites/default/files/2021-
10/Proovilabimine_KOV_2021_5okt.asice). Raporti hilisem vormistamine ja allkirjastamine ei
muuda testimise tulemust. Testimine oli edukas ja vigu ei tuvastatud. Kaebaja sai ise vaatlemise
käigus veenduda, et valijarakendus töötab seaduse kohaselt. Kaebaja viibis ise prooviläbimise
toimingu juures.
Vabariigi Valimiskomisjoni seisukoht ja põhjendused
1. Kohaliku omavalitsuse volikogu valimise seaduse (KOVVS) § 64 kohaselt saab kaebuse esitada
isik, kes leiab, et tema õigusi on vaidlustatava otsuse või toiminguga rikutud. Kaebuses on
nimetatud, et kaebaja kui kandidaadi subjektiivseid õigusi riivab testimata (kinnitamata
testimistulemusega) riist- ja tarkvaraga serveri kasutamine, sest selle õigesti töötamine ei ole
tõendatud.
2. Kaebaja nõue on elektroonilise hääletamise peatamine. Vastavalt KOVVS § 12 lõike 2 punktile
4 on Vabariigi Valimiskomisjonil õigus „mitte alustada elektroonilist hääletamist või peatada või
lõpetada elektrooniline hääletamine, kui elektroonilise hääletamise süsteemi turvalisust või
töökindlust ei ole võimalik tagada selliselt, et elektroonilist hääletamist saaks läbi viia käesoleva
seaduse nõuete kohaselt“ ning vajaduse korral teeb riigi valimisteenistus sellekohase ettepaneku.
Vabariigi Valimiskomisjon teeb vajaduse korral need otsused, lähtudes igasugusest
asjassepuutuvast usaldusväärsest teabest, mis tal olemas on.
Kaebaja ei olnud veendunud, et elektroonilisel hääletamisel kasutatav valijarakendus töötab
õigesti ega moonuta valimistulemust, sest valijarakenduse sertifikaat on 6. oktoobrist 2021, st
signeeritud pärast prooviläbimist, mis toimus 5. oktoobril 2021. Vabariigi Valimiskomisjon
nõustub riigi valimisteenistuse selgitusega, et valijarakenduse signeerimine pärast testimist ei
muuda valijarakendust ebaturvaliseks, sest valijarakenduse tööpõhimõte ei muutu ning
valijarakenduse tööd saab kontrollida kontrollrakendusega. Juhul, kui elektrooniliste häälte hulka
satub elektrooniline hääl, mis ei sisalda kõiki elektroonilise hääle komponente, mis on nõutud
Vabariigi Valimiskomisjoni otsusega, ei ole see elektrooniline hääl kehtiv.
Kaebaja tõi välja, et valijarakenduse faili sõrmejälje numbrid ei olnud samad, mis olid
avalikustatud 11. oktoobril 2021. Vabariigi Valimiskomisjoni koosolekul sai kaebaja vastuse, et
ta oli vaadanud sertifikaadi välja andnud asutuse sõrmejälje numbrit ning veendus koosolekul, et
valijarakenduse faili sõrmejälje numbrid olid samad.
3
Riigi valimisteenistus selgitas kaebajale koosolekul ka seda, et testimise tulemus selgus
prooviläbimisel, kus kaebaja ka ise viibis. Selle toimingu kohta koostas elektroonilise hääletamise
rakkerühma juht Indrek Leesi raporti, mille on kinnitanud riigi valimisteenistuse juht Arne
Koitmäe. Testimise tulemuse raport on avaldatud ka valimised.ee veebilehel. Seega ei saa
nõustuda kaebaja väitega, et riigi valimisteenistus ei ole testimise tulemust kinnitanud ega
avalikustatud. Vabariigi Valimiskomisjon nõustub, et raporti hilisem vormistamine ja
allkirjastamine ei muuda testimise tulemust. Seadusest ei tulene, et kinnitamine peab toimuma
korraldusega. Kaebaja sai vaatlejana ise vahetult veenduda, et testimine oli edukas ja tõrkeid ei
tuvastatud. Testimise juures viibisid audiitorid, kelle vahearuandega sai kaebaja 8. oktoobril 2021
tutvuda.
Vabariigi Valimiskomisjon nõustub riigi valimisteenistuse selgitustega, mis käsitlesid
elektrooniliseks hääletamiseks kasutatava riist- ja tarkvara dokumenteerimist. Komisjon ei
tuvastanud, et elektroonilise hääletamise läbiviimiseks ei ole süsteem turvaline või töökindel, mis
tingiks elektrooniline hääletamise peatamise.
Tuginedes eelnevale ja võttes arvesse kaebuse väiteid, ei ole alust asuda seisukohale, et
elektroonilise hääletamise läbiviimine seadusega nõutud viisil ei ole võimalik.
Lähtudes KOVVS § 66 lõike 3 punktist 1 Vabariigi Valimiskomisjon otsustab:
jätta Virgo Kruve kaebus rahuldamata.
Vastavalt KOVVS §-le 661 võib huvitatud isik, kes leiab, et Vabariigi Valimiskomisjoni otsusega
rikutakse tema õigusi, esitada otsuse peale kaebuse põhiseaduslikkuse järelevalve kohtumenetluse
seaduses ettenähtud korras Riigikohtule. Kaebus esitatakse Riigikohtule kolme päeva jooksul
Vabariigi Valimiskomisjoni otsuse teatavakstegemisest arvates Vabariigi Valimiskomisjoni
kaudu.
(allkirjastatud digitaalselt)
Oliver Kask
Vabariigi Valimiskomisjoni esimees
Vabariigi Valimiskomisjon 14.10.2021
Esitaja
Virgo Kruve
kontaktandmed esitamise e-mailis
Kaebus elektroonilise hääletamisega alustamise kohta 11. oktoobril tundmatu valijarakendusega.
Kaebuse esitaja kandideerib 17. oktoobri valimistel erakonna Eestimaa Rohelised nimekirjas
Rakvere linnas(number 212). Lisaks registreeris elektroonilise hääletuse koolitusele ja vaatlejaks.
Käesolev kaebus on esitatud vaatlejatele korraldatud koolitusel ja 5. oktoobri prooviläbimisel
saadud info põhjal.
1. Vabariigi Valimiskomisjoni pädevusse kuulub elektroonilise hääletamise peatamine (RKVS §
488. lg 1). Kaebuse esitaja kontrollis avalikult pakutud valijarakenduse .exe faili(lisa 1)
kontrollandmeid(Lisa 1) ja leidis, et nende kuupäev ei olnud 5. oktoobri prooviläbimisest.
Sertifikaat oli 6. oktoobrist 2021 kell 14.55. Samuti ei olnud samad faili sõrmejälje numbrid, mis
olid avalikustatud 11. oktoobrist (lisa 2).
2. Kaebuse esitaja soovib elektroonilise hääletuse peatamist, sest kasutatud tarkvara ei ole võimalik
seostada 5. oktoobri prooviläbimisega, mida ta vaatles üle interneti.
3. Järgnevalt toob kaebaja välja põhjused, miks KPMG vaheaudit(Lisa 3) ei täida RKVS § 48 2
lõike 4 punkti 3 nõudeid:
1. Prooviläbimise ehk vaheauditi koostas ja allkirjastas Audiitor, KPMG Baltics OÜ
2. Vaheautid ei ole valimisteenistuse kinnitatud otsus. Kuigi selle saaks veel tagantjärgi
otsusena vormistada, siis see on tagantjärgi käitumine, kaebuse kohta tehtud otsuse järel.
3. Prooviläbimise auditil ei ole valimisteenistuse töötaja allkirja.
4. Prooviläbimise audit ei sisalda mingisugust infot kasutatud riistvara ja tarkvara kohta.
Selle auditi järgi ei ole võimalik veenduda, et prooviläbimisel kasutatud server koos riist- ja
tarkvaraga ka tegelikult valimispäeval sisse lülitati. Seal on „Lisa 1 Turvakleebiste kasutus,” mille
viimane rida on „Süsteemiketas.” Selle juurde märgitud turvakleebised 2520, 2521 on praeguseks
juba eemaldatud ega võimalda enam süsteemiketast tuvastada. Ma ei tea, kas 5. oktoobril
prooviläbimise vaatlejaks(interneti vahendusel) märgitud riigikohtunik märkas, et lõpus küsiti
konkreetselt kõvaketta seerianumbrit. Sellele kaebaja küsimusele vastuseks sisestati ka mingid
tähed ja numbrid. Need kustusid koos interneti ülekande lõppemisega. Tuues võrdluse
kohtuotsustega, millega inimesi on karistatud, siis seal on teo toimepanemiseks kasutatud tehnilised
vahendid tuvastatavad: auto VIN-koodi või registreerimisnumber, telefoni IMEI või SIM-kaardi
koodi, arvuti IP aadressi, jne.
1
Kokkuvõttes ei vasta audiitori koostatud dokument seadusega nõutud valimisteenistuse
korraldusele, millega kinnitati prooviläbimine. Isegi kasutatud riist- ja tarkvara andmeid ei pandud
kirja. Puudub esindusõigusega inimese allkiri. See oli kaebuse p 1 kohta.
Kaebaja kandideerib valimistel ja tema õigusi rikub testimata(tulemus ei ole kinnitatud) riist- ja
tarkvaraga serveri kasutamine, sest selle õigesti töötamine ei ole tõendatud. Valimistulemus võib
tunduda õige aga seda peab saama ka tõestada.
/allkirjastatud digitaalselt/
Virgo Kruve
2
Andmed 2021. a. kohalike valimiste e-hääletamise süsteemi tervikluse kontrollimiseks Veebiserveri https://www.valimised.ee sertifikaadi sõrmejälg: b92f4ef523025ea2f41e17bd35074f43116136d3 Valijarakenduse Windowsi versiooni signeerinud sertifikaadi : S õrmejälg: 4c9d0cbd21b539f5a62755e11ca46c89c2f6e119 Allkirjastamise aeg: kolmap äev, 6. oktoober 2021 14:55:42 Allkirjastaja: Smartmatic-Cybernetica Centre of Excell. for Internet Voting O Ü Valijarakenduse Linuxi 64-bitise versiooni kontrollsumma (SHA-256): 384f6fd4c32cde26c64f0d825ed0de4f39f04f097e443c8a19ef90e783ae35c6 Valijarakenduse macOS versiooni kontrollsumma (SHA-256): f514e76a5dc4e554295edf162acb3faa5fa8de03fc81e05e765b7d35c56d67d5 EH Kontrollrakendus asukohad: Android: https://play.google.com/store/apps/details?id=ee.ivxv.ivotingverification iOS: https://apps.apple.com/us/app/eh-kontrollrakendus/id1265172086
Elektroonilise
hääletamise protsessi
auditeerimine
Tellija: Riigikogu Kantselei riigi valimisteenistus
Valimised: 2021. aasta kohaliku omavalitsuse volikogude valimised
VAHEARUANNE
KPMG Baltics OÜ
08.10.2021
© 2021 KPMG Baltics OÜ, Eesti osaühing ja Šveitsi ühinguga KPMG International Cooperative (”KPMG International") lepinguliselt seotud sõltumatute
ettevõtjate võrgustiku liige. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
KPMG Baltics OÜ Telephone +372 6 268 700
Narva mnt 5 Fax +372 6 268 777
Tallinn 10117 Internet www.kpmg.ee
Estonia
Riigikogu Kantselei riigi valimisteenistus
Lossi plats 1a
15165 Tallinn
08. oktoober 2021
Lp Arne Koitmäe
Vastavalt KPMG Baltics OÜ ja Riigikogu Kantselei riigi valmisteenistuse vahel
09.09.2021 sõlmitud lepingule teostab KPMG Baltics OÜ 2021. aasta kohaliku
omavalitsuse volikogude valimiste elektroonilise hääletuse protsessi auditeerimist.
Käesolev vahearuanne põhineb informatsioonil, mis on 08.10.2021 seisuga. Aruandes
ei kajastata sündmusi ega muudatusi, mis on toimunud selle kuupäeva järgselt.
Auditi käigus läbiviidud töö lõpparuande esitame Teile hiljemalt seitsme päeva jooksul
pärast elektrooniliste häälte hävitamist.
Audiitorid ei tuvastanud olulisi puuduseid, mis võiksid ohustada e-hääletuse läbiviimist.
Lugupidamisega
(allkirjastatud digitaalselt)
Igmar Ilves, CISA, GPEN, GWAPT, ITSRM2
Audiitor
KPMG Baltics OÜ
2
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Elektroonilise hääletamise protsessi auditeerimine
Kohaliku omavalitsuse (KOV) volikogude valimiste elektroonilise hääletamise
prooviläbimine toimus 05.10.2021 (aadressil Toompea 1, Tallinn).
E-hääletuse protsessi kontrollisid KPMG Baltics OÜ audiitorid vastavalt Riigi
valimisteenistuse kinnitatud juhendile:
IVXV: E-hääletamise käsiraamat (versioon 0.6) 1
E-hääletamise seadistamise ja testimise käigus kontrolliti järgmisi tegevusi:
kogumisteenuse ettevalmistamine;
valimiste konfiguratsiooni loomine;
süsteemi võtmepaari genereerimine;
− mäluketta loomine
− konfiguratsiooni import
− kiipkaartide ettevalmistamine
− kaardilugejate ühendamine ja numereerimine
− võtmepaari genereerimine
− kiipkaartide testimine
− avalike võtmete varundamine
valijarakenduse pakendamine;
süsteemi testläbimine.
Elektroonilise hääletamise prooviläbimise osavõtjad
Vabariigi Valimiskomisjon: Teet Raidma, Janek Laidvee, Airi Mikli, Aivar Rahno, Oliver
Kask, Rauno Kiris, Kristel Lekko
Riigikogu Kantselei (Riigi valimisteenistuse) töötajad: Indrek Leesi, Sandra Elken,
Arne Koitmäe, Meelis Saar, Anders Kazantsev, Rasmus Prik, Liisa Johanna Lukk, Kristi
Sobak
Audiitorid (KPMG Baltics OÜ): Raul Nugis, Igmar Ilves, Vitali Jekimtsev
Vaatlejad (kohapeal): Oliver Vilba
Vaatlejad (Interneti vahendusel): Aivar Pau, Alo Einsalu, Hanno Artur Särg, Janar
Nagel, Katri Jaanimägi, Koit Saarevet, Katri Jaanimägi, Koit Saarevet, Lauri Tankler,
Maldur Miilimäe, Nele Parrest, Peeter Tatter, Virgo Kruve
1 https://www.valimised.ee/sites/default/files/2021-10/IVXV%20e-
h%C3%A4%C3%A4letamise%20k%C3%A4siraamat.pdf
3
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Elektroonilise hääletamise prooviläbimise protsess
Esmalt seadistati valijarakendused ja konfigureeriti kontrollrakendus. Rakendused
allkirjastati. Algas testhääletamine.
Hääletas kuus (6) isikut, neist üks korduvalt (3 korda). Märgiti üles, kelle poolt
hääletaja hääletas, et võrrelda hääletamistulemusega. Kokku anti 8 häält.
Hääle
Hääletaja Platvorm Valik Kontroll
järjekord
1 Indrek Leesi Windows, ID kaart 101, Tarmo Kontrollitud,
Kõuts hääl ei läinud
arvesse
2 Meelis Saar Windows, ID kaart 1274, Erki Kontrollitud,
Ennok hääl läks arvesse
3 Indrek Leesi Windows, ID kaart 102, Priidu Kontrollitud,
Pärna hääl ei läinud
arvesse
4 Sandra Elken Windows, ID kaart 438, Rasmus Kontrollitud,
Lahtvee hääl läks arvesse
5 Oliver Vilba Windows, Mobiil-ID 1279, Henrik Kontrollitud,
Tiido hääl läks arvesse
6 Arne Koitmäe Windows, Mobiil-ID 337, Tiit Meren Kontrollitud,
hääl läks arvesse
7 Kristi Sobak Windows, Mobiil-ID 892, Yana Kontrollitud,
Toom hääl läks arvesse
8 Indrek Leesi Windows, ID kaart 101, Tarmo Kontrollitud,
Kõuts hääl läks arvesse
Hääled laeti e-urnist, need läbisid töötlusetapid - digitaalallkirjade kontroll, korduvate
häälte tühistamine, anonüümistamine - seejärel salvestati tulemused DVD-le.
Häälte lugemiseks moodustati eraldi DVD, mis sisaldas anonüümistatud hääli,
võtmerakendust, vajalikke nimekirju ja konfiguratsioonifaile.
Võrguühenduseta arvutis käivitati mälukettal DVD-lt kopeeritud Võtmerakendus. Kolm
(3) Vabariigi Valimiskomisjoni liiget ning kaks (2) Riigikogu Kantselei riigi
valimisteenistuse töötajat osales kokkulugemisel oma võtmeosakuga, mille abil avati
hääletamistulemus.
Kehtetuid hääli ei olnud, kehtivaid hääli loeti kokku kuus (6). Audiitor kinnitas, et
hääli said samad kandidaadid, kelle poolt testi käigus hääletati. Toiminguga
veenduti süsteemi häälte avamise võtmetoimivuses.
Olulisi puuduseid, mis võiksid takistada e-hääletamise läbiviimist prooviläbimise
perioodil ei tuvastatud.
Protseduuride käigus kasutati andmete terviklikkuse ja konfidentsiaalsuse tagamiseks
turvakleebiseid, mille kasutamist fikseerisid audiitorid vastavatel üleandmis-ja
vastuvõtmisaktidel. Info kasutatud turvakleebiste kohta on toodud aruande lisas 1.
4
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Lisa 1 Turvakleebiste kasutus
Objekt Kleebis nr Sulgemise kuupäev Väljastatud isiku nimi
Kaart 0 2515 05.10.2021 AIVAR RAHNO
Kaart 1 2511 05.10.2021 JANEK LAIDVEE
Kaart 2 2515 05.10.2021 RAUNO KIRIS
Kaart 3 2517 05.10.2021 TEET RAIDMA
Kaart 4 2514 05.10.2021 OLIVER KASK
Kaart 5 2516 05.10.2021 INDREK LEESI
Kaart 6 2513 05.10.2021 KRISTEL LEKKO
Kaart 7 2518 05.10.2021 SANDRA ELKEN
Kaart 8 2519 05.10.2021 AIRI MIKLI
Süsteemiketas 2520, 2521 05.10.2021 INDREK LEESI
5
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Lisa 2 Elektrooniliste häälte võtmete jaotamise akt
6
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Kontakt
Igmar Ilves
IT-audiitor
+372 626 8700
[email protected]
KPMG Baltics OÜ
Narva mnt 5
10117 Tallinn
Estonia
www.kpmg.com
© 2021 KPMG Baltics OÜ, Eesti osaühing ja Šveitsi ühinguga KPMG International
Cooperative (”KPMG International") lepinguliselt seotud sõltumatute ettevõtjate võrgustiku
liige. Kõik õigused kaitstud.
KPMG nimi ja logo on registreeritud kaubamärgid või ühingu KPMG
International Cooperative ("KPMG International") kaubamärgid.
7
© 2021 KPMG Baltics OÜ. Kõik õigused kaitstud.
Document Classification: KPMG Confidential
Saatja: "MailScanner" <
[email protected]>
Saaja:
[email protected]
Teema: Warning: E-mail viruses detected
Kuupäev: 2021-10-14 20:58
Our e-mail content detector has just been triggered by a message you sent:
To:
[email protected]
Subject: kaebus e-valimise kohta
Date: Thu Oct 14 23:58:37 2021
One or more of the attachments (kaebus2021rakendus.asice, 4lisa1-KOV_2021.exe) are on
the list of unacceptable attachments for this site and will not have
been delivered.
Consider renaming the files to avoid this constraint.
The virus detector said this about the message:
Report: Report: MailScanner: Executable DOS/Windows programs are dangerous in email (4lisa1-KOV_2021.exe)
Report: No programs allowed (4lisa1-KOV_2021.exe)
--
MailScanner
Email Virus Scanner
https://www.virtuaal.com
https://www.virtuaal.com
KOOSOLEKU NR 26 PROTOKOLL
Tallinn 15.10.2021
Algus kell 15.00.
Juhatasid komisjoni esimees Oliver Kask (Microsoft Teamsi vahendusel) ja aseesimees Airi
Mikli.
Protokollis riigi valimisteenistuse konsultant Helena Stepanov.
Võtsid osa komisjoni liikmed Olari Koppel, Janek Laidvee, Dilaila Nahkur-Tammiksaar
(Microsoft Teamsi vahendusel), Teet Raidma (Microsoft Teamsi vahendusel), Aivar Rahno,
asendusliikmed Kadri Sullin (Microsoft Teamsi vahendusel) ja Heili Sepp (Microsoft Teamsi
vahendusel).
Lisaks osalesid riigi valimisteenistuse juht Arne Koitmäe, nõunikud Sandra Elken (Microsoft
Teamsi vahendusel), Indrek Leesi, Maili Kark (Microsoft Teamsi vahendusel), Kristi Sobak ja
Nellika Valder.
Kutsutud oli ja osales Riigi Infosüsteemi Ameti riigi infosüsteemi teenistuse valimiste
infosüsteemide arenduse osakonnajuhataja Alo Einla, kaebuse esitaja Silver Kuusik (Microsoft
Teamsi vahendusel), Silver Kuusiku esindaja advokaadibüroo LEXTAL OÜ vandeadvokaat
Olavi-Jüri Luik (Microsoft Teamsi vahendusel) ning kaebuse esitaja Virgo Kruve (Microsoft
Teamsi vahendusel).
Komisjon kinnitas päevakorra:
1. Eesti Konservatiivse Rahvaerakonna ja Silver Kuusiku kaebuse läbivaatamine
2. Virgo Kruve kaebuse läbivaatamine
1. Eesti Konservatiivse Rahvaerakonna ja Silver Kuusiku kaebuse läbivaatamine
Olavi-Jüri Luik esitas kaebaja poolsed seisukohad.
Silver Kuusik lisas veel enda poolsed seisukohad.
Komisjon kuulas seisukohad ära, küsis küsimusi ja arutas kaebuse asjaolusid.
Konsensuse alusel komisjon
otsustas:
võtta vastu Vabariigi Valimiskomisjoni otsus nr 19 „Eesti Konservatiivse Rahvaerakonna ja
Silver Kuusiku kaebuse läbivaatamine“.
Oliver Kask lahkus koosolekult.
Koosolekut juhtis edasi aseesimees Airi Mikli.
2
2. Virgo Kruve kaebuse läbivaatamine
Virgo Kruve esitas enda poolsed seisukohad.
Komisjon kuulas seisukohad ära, küsis küsimusi ja arutas kaebuse asjaolusid.
Oliver Kask liitus koosolekuga.
Konsensuse alusel komisjon
otsustas:
võtta vastu Vabariigi Valimiskomisjoni otsus nr 20 „Virgo Kruve kaebuse läbivaatamine“.
Koosolek lõppes kell 16.50.
(allkirjastatud digitaalselt) (allkirjastatud digitaalselt) (allkirjastatud digitaalselt)
Oliver Kask Airi Mikli Helena Stepanov
Juhataja Juhataja Protokollija
Vabariigi Valimiskomisjon 20.10.2021 nr 12-10/21-16/1
Selgitus Virgo Kruve kaebusele
Prooviläbimise eesmärk on luua häälte krüpteerimise võtmepaarid. Samuti testida, kas loodud
avaliku võtmega on võimalik anda hääli ja neid pärast privaatvõtmega avada ning kas krüpteeritud
valik on pärast avamist sama (valitud kandidaat ei muutu krüptogrammi sees).
Valijarakenduse signeerimise eesmärk on lihtsustada klienditoel ja kasutajatel vale
valijarakenduse tuvastamist (näiteks eelmistest valimistest pärit valijarakendust või kellegi enda
tehtud valijarakendust).
Tehnilistel põhjustel võib riigi valimisteenistus valijarakenduse koodi muuta ka valimiste ajal.
Prooviläbimisel kasutatud valijarakendus ei pea olema sama, mis päris valimistel. Valijarakenduse
töö korrektsuses saab veenduda kasutades nutiseadmes kontrollrakendust, mida tehti 2021
kohaliku omavalitsuse volikogu valimistel 15 780 korral ja ühtegi kaebust ega infot, et
kontrollrakendus oleks näidanud teist kandidaati, kui valija avaldanud oli, sel teemal laekunud ei
ole.
Lugupidamisega
(allkirjastatud digitaalselt)
Arne Koitmäe
riigi valimisteenistuse juht