dokumendiregister.ee
OtsingAsutusedMCP
Otsing›Riigikohus
Sissetulev kiriAvalik

V. K. kaebus 2 Riigikohtule edastamine

Riigikohus · 21. oktoober 2021
Viit
8-1/21-599-1
Registreeritud
21. oktoober 2021
Dokumendi liik
Sissetulev kiri
Adressaat
Vabariigi Valimiskomisjon
Saabumis/saatmisviis
DVK
Funktsioon
8 Asjaajamine
Sari
8-1 Kantselei kirjavahetus kodanike ja asutustega
Toimik
8-1/2021
Vastutaja
Elo Limbak (Riigikohus, Üldosakond)
Juurdepääsupiirangu alus
AvTS § 35 lg 1 p 12

Failid

  • 📎Kaebuse_edastamine_Kruve2.asice2921 KB

Sisu (failidest)

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
Allikas: Riigikohus dokumendiregister →
dokumendiregister.eeAsutusedEesti avalike dokumendiregistrite otsing · nimistu.ee andmetel