Venemaa Föderatsiooni Keskvalimiskomisjoni elektroonilise kaughääletamise süsteemi ülevaade

31. augustil 2020 toimus Vene Föderatsiooni Keskvalimiskomisjoni korraldusel välja töötatud plokiahela tehnoloogiat kasutava elektroonilise kaughääletamise süsteemi (edaspidi DEG) avalik test.

Et tutvuda uue elektroonilise hääletussüsteemiga ja mõista, millist rolli mängib plokiahela tehnoloogia selles ja milliseid muid komponente kasutatakse, alustame väljaannete sarja, mis on pühendatud süsteemis kasutatavatele peamistele tehnilistele lahendustele. Soovitame alustada järjekorras – süsteemile esitatavatest nõuetest ja protsessis osalejate funktsioonidest

Nõuded süsteemile

Põhinõuded, mis kehtivad mis tahes hääletussüsteemile, on tavapärasel isiklikul hääletamisel ja elektroonilisel kaughääletamisel üldiselt samad ning need on määratud 12.06.2002. juuni 67. aasta föderaalseadusega N 31.07.2020-FZ (muudetud XNUMX. juulil XNUMX) "Vene Föderatsiooni kodanike hääleõiguse ja rahvahääletusel osalemise põhitagatiste kohta."

  1. Valimistel ja rahvahääletustel hääletamine on salajane, välistades igasuguse kontrolli kodaniku tahte üle (artikkel 7).
  2. Hääletamisvõimalus tuleks anda ainult isikutele, kellel on selle hääle aktiivne hääleõigus.
  3. Üks valija – üks hääl, “topelt” hääletamine ei ole lubatud.
  4. Hääletusprotsess peab olema valijatele ja vaatlejatele avatud ja läbipaistev.
  5. Tuleb tagada antud häälte ausus.
  6. Vahepealseid hääletustulemusi ei tohiks olla võimalik välja arvutada enne, kui hääletus on lõppenud.

Seega on meil kolm osalejat: valija, valimiskomisjon ja vaatleja, kelle vahel määratakse suhtluse järjekord. Samuti on võimalik välja tuua neljas osaleja - asutused, mis teostavad kodanike registreerimist territooriumil (peamiselt siseministeerium, aga ka muud täitevvõimuasutused), kuna aktiivne valimisõigus on seotud kodakondsuse ja registreerimiskohaga.

Kõik need osalejad suhtlevad üksteisega.

Interaktsiooniprotokoll

Vaatleme hääletamist traditsioonilises valimisjaoskonnas, kus on kasti ja pabersedelid. Üldiselt lihtsustatud kujul näeb see välja nii: valija tuleb jaoskonda ja esitab isikut tõendava dokumendi (passi). Valimisjaoskonnas töötab jaoskonna valimiskomisjon, mille liige kontrollib valija isikut ja tema olemasolu varem koostatud valijate nimekirjas. Kui valija leitakse, annab komisjoni liige hääletajale sedeli ja valija annab allkirja hääletussedeli kättesaamiseks. Pärast seda läheb valija hääletamiskabiini, täidab sedeli ja paneb selle valimiskasti. Tagamaks kõigi protseduuride ranget järgimist seadusega, jälgivad seda kõike vaatlejad (kandidaatide esindajad, avalikud järelevalveasutused). Pärast hääletamise lõppemist loeb valimiskomisjon vaatlejate juuresolekul hääled kokku ja teeb kindlaks hääletustulemused.

Traditsioonilises hääletussüsteemis hääletamiseks vajalikud omadused tagavad korralduslikud meetmed ja osalejate suhtlemise kehtestatud kord: valijate passi kontrollimine, hääletussedelile isiklik allkirjastamine, hääletuskabiinide ja pitseeritud hääletuskastide kasutamine, häälte lugemise kord jne. .

Infosüsteemi puhul, mis on elektrooniline kaughääletamise süsteem, nimetatakse seda interaktsiooni järjekorda protokolliks. Kuna kogu meie suhtlus on muutumas digitaalseks, võib seda protokolli pidada algoritmiks, mida rakendavad süsteemi üksikud komponendid, ning kasutajate poolt teostatavate organisatsiooniliste ja tehniliste meetmete kogumina.

Digitaalne suhtlus seab rakendatavatele algoritmidele teatud nõuded. Vaatame traditsioonilisel saidil tehtavaid toiminguid infosüsteemide osas ja seda, kuidas seda meie poolt vaadeldavas DEG-süsteemis rakendatakse.

Ütleme kohe, et plokiahela tehnoloogia ei ole "hõbekuul", mis lahendab kõik probleemid. Sellise süsteemi loomiseks oli vaja välja töötada suur hulk erinevate ülesannete eest vastutavaid tarkvara- ja riistvarakomponente ning ühendada need ühtse protsessi ja protokolliga. Kuid samal ajal suhtlevad kõik need komponendid plokiahela platvormiga.

Süsteemi komponendid

Tehnilisest aspektist on DEG-süsteem tarkvara- ja riistvarakompleks (edaspidi STC), mis ühendab komponentide komplekti, et tagada valimisprotsessis osalejate omavaheline suhtlus ühtses infokeskkonnas.

DEG PTC süsteemi komponentide ja osalejate interaktsiooniskeem on näidatud alloleval joonisel.

Venemaa Föderatsiooni Keskvalimiskomisjoni elektroonilise kaughääletamise süsteemi ülevaade
Klõpsatav

Kaughääletamise protsess

Nüüd käsitleme üksikasjalikult elektroonilise kaughääletamise protsessi ja selle rakendamist DEG tarkvara- ja riistvarakompleksi komponentide poolt.

Elektroonilise kaughääletamise korra kohaselt peab valija elektroonilises kaughääletamises osalejate nimekirja kandmiseks esitama riigiteenuste portaalis avalduse. Samas saavad sellise avalduse esitada vaid need kasutajad, kellel on kinnitatud konto ja keda on edukalt võrreldud riigi automatiseeritud süsteemi “Valimised” süsteemis hääletajate registriga, rahvahääletusel osalejad. Pärast avalduse saamist kontrollib Venemaa Keskvalimiskomisjon veel kord valija andmeid ja laadib need üles Valijate nimekirja komponent PTC DEG. Allalaadimisprotsessiga kaasneb kordumatute identifikaatorite salvestamine plokiahelasse. Valimiskomisjoni liikmetel ja vaatlejatel on juurdepääs nimekirjaga tutvumiseks spetsiaalse automatiseeritud tööjaama abil, mis asub valimiskomisjoni ruumides.

Valija valimisjaoskonda külastades autenditakse (võrreldes passiandmetega) ja identifitseeritakse valijate nimekirjas, samuti kontrollitakse, et see valija ei ole varem sedelit saanud. Oluline on siinjuures see, et ei ole võimalik tuvastada, kas valija pani laekunud sedeli kasti või mitte, vaid asjaolu, et sedel on juba varem välja antud. PTC DEG puhul esindab valija külastus kasutaja taotlust DEG portaal on veebileht, mis asub aadressil vybory.gov.ru Nagu traditsiooniline valimisjaoskond, sisaldab see veebileht infomaterjale käimasolevate valimiskampaaniate kohta, teavet kandidaatide kohta ja muud teavet. Identifitseerimise ja autentimise teostamiseks kasutatakse riigiteenuste portaali ESIAt. Seega säilib nii kandideerimisel kui ka hääletamisel üldine identifitseerimisskeem.

Pärast seda algab anonüümseks muutmise protseduur – valijale antakse hääletussedel, millel ei ole identifitseerimismärke: sellel ei ole numbrit, see ei ole kuidagi seotud valijaga, kellele see väljastati. Huvitav on kaaluda võimalust, kui valimisjaoskond on varustatud elektrooniliste hääletamiskompleksidega – sellisel juhul toimub anonüümseks muutmine järgmiselt: pabersedeli asemel palutakse valijal valida virnast suvaline vöötkoodiga kaart, millega ta läheneb hääletusseadmele. Kaardil pole hääletaja kohta andmeid, on vaid kood, mis määrab, millise sedeli peaks seade sellise kaardi esitamisel esitama. Täiesti digitaalse suhtluse puhul on põhiülesanne rakendada anonüümseks muutmise algoritmi nii, et ühest küljest pole võimalik tuvastada kasutaja identifitseerimisandmeid, ja teisest küljest pakkuda hääletamisvõimalust ainult neile kasutajatele, kes olid loendis varem tuvastatud. Selle probleemi lahendamiseks kasutab DEG PTK krüptoalgoritmi, mida professionaalses keskkonnas nimetatakse pimedaks elektrooniliseks allkirjaks. Räägime sellest üksikasjalikult järgmistes väljaannetes ja avaldame ka lähtekoodi, lisateavet saate koguda ka Interneti-väljaannetest, kasutades märksõnu - "krüptograafiline salajane hääletusprotokoll" või "pime allkiri"

Seejärel täidab valija sedeli kohas, kus tehtud valikut pole võimalik näha (kinnine kabiin) - kui meie infosüsteemis hääletab valija kaughääletamise teel, siis ainsaks selliseks kohaks on kasutaja isiklik seade. Selleks viiakse kasutaja esmalt üle teise domeeni − anonüümsesse tsooni. Enne vahetamist saate VPN-ühendust tõsta ja IP-aadressi muuta. Just sellel domeenil kuvatakse hääletussedel ja töödeldakse kasutaja valikut. Lähtekood, mis kasutaja seadmes jookseb, on esialgu avatud – seda saab näha brauseris.

Kui valik on tehtud, krüpteeritakse hääletussedel kasutaja seadmes spetsiaalse krüpteerimisskeemi abil, saadetakse ja salvestatakse komponent "Hajutatud salvestus ja häälte lugemine", ehitatud plokiahela platvormile.

Protokolli üks olulisemaid omadusi on võimatus teada hääletustulemusi enne selle valmimist. Traditsioonilises valimisjaoskonnas tagab see hääletuskasti pitseerimise ja vaatlejatepoolse jälgimise. Digitaalsuhtluses on parim lahendus valija valiku krüpteerimine. Kasutatav krüpteerimisalgoritm takistab tulemuste avaldamist enne hääletuse lõppemist. Selleks kasutatakse kahe võtmega skeemi: hääle krüptimiseks kasutatakse ühte (avalikku) võtit, mis on teada kõigile osalejatele. Seda ei saa sama võtmega dekrüpteerida, vaja on teist (privaatset) võtit. Privaatvõti jagatakse valimisprotsessis osalejate (valimiskomisjonide liikmed, avalik koda, loendusserverite operaatorid jne) vahel nii, et võtme iga üksik osa on kasutu. Dekrüpteerimist saate alustada alles pärast privaatvõtme kogumist. Vaadeldavas süsteemis sisaldab võtme eraldamise protseduur mitut etappi: võtme osa eraldamine süsteemi sees, võtme eraldamine väljaspool süsteemi ja ühise avaliku võtme genereerimine. Krüptimise protsessi ja krüptograafiliste võtmetega töötamist näitame üksikasjalikult tulevastes väljaannetes.

Pärast võtme kogumist ja allalaadimist algab tulemuste arvutamine nende edasiseks salvestamiseks plokiahelas ja sellele järgnevaks väljakuulutamiseks. Vaadeldava süsteemi tunnuseks on homomorfse krüpteerimistehnoloogia kasutamine. Kirjeldame seda algoritmi üksikasjalikult tulevastes väljaannetes ja räägime, miks seda tehnoloogiat hääletussüsteemide loomiseks laialdaselt kasutatakse. Märgime nüüd selle peamist omadust: raamatupidamissüsteemi salvestatud krüpteeritud hääletussedeleid saab ilma dekrüpteerimata kombineerida nii, et sellise kombineeritud šifriteksti dekrüpteerimise tulemuseks on iga hääletussedelite valiku summeeritud väärtus. Samal ajal rakendab süsteem loomulikult sellise arvutuse õigsuse matemaatilisi tõestusi, mis on samuti raamatupidamissüsteemis fikseeritud ja mida vaatlejad saavad kontrollida.

Allpool on ülevaade hääletusprotsessist.

Venemaa Föderatsiooni Keskvalimiskomisjoni elektroonilise kaughääletamise süsteemi ülevaade
Klõpsatav

Plokiahela platvorm

Nüüd, kui oleme uurinud elektroonilise kaughääletamise süsteemi juurutamise põhijooni, vastame küsimusele, millest alustasime - millist rolli mängib selles plokiahela tehnoloogia ja milliseid probleeme see võimaldab lahendada?

Rakendatud kaughääletamise süsteemis lahendab plokiahela tehnoloogia teatud hulga probleeme.

  • Põhiülesanne on tagada hääletamise ja eelkõige hääletamise raames info terviklikkus.
  • Nutikate lepingute vormis rakendatud programmikoodi täitmise läbipaistvuse ja muutumatuse tagamine.
  • Hääletusprotsessis kasutatavate andmete kaitse ja muutumatuse tagamine: valijate nimekiri, krüptoprotokolli erinevatel etappidel hääletussedelite krüpteerimiseks kasutatavad võtmed jne.
  • Andmete detsentraliseeritud salvestamise pakkumine, kus igal osalejal on absoluutselt identne koopia, mida kinnitavad võrgu konsensuse omadused.
  • Võimalus vaadata tehinguid ja jälgida hääletamise edenemist, mis kajastub täielikult plokkahelas, alates selle algusest kuni arvutatud tulemuste salvestamiseni.

Seega näeme, et ilma seda tehnoloogiat kasutamata on peaaegu võimatu saavutada hääletussüsteemis vajalikke omadusi ja ka usaldust selle vastu.

Kasutatava plokiahela platvormi funktsionaalsust rikastab nutikate lepingute kasutamine. Nutikad lepingud kontrollivad iga krüpteeritud hääletussedeliga tehingut elektrooniliste ja "pime" allkirjade autentsuse suhtes ning teostavad ka põhikontrolli krüpteeritud hääletussedelite täitmise õigsuse üle.

Veelgi enam, vaadeldavas elektroonilises kaughääletamise süsteemis ei piirdu komponent „Hajutatud salvestus ja häälte loendamine” ainult plokiahela sõlmedega. Iga sõlme jaoks saab juurutada eraldi serveri, mis teostab hääletusprotokolli põhilisi krüptograafilisi funktsioone – loendusservereid.

Serverite loendamine

Need on detsentraliseeritud komponendid, mis pakuvad protseduuri hääletussedelite krüpteerimisvõtme hajutatud genereerimiseks, samuti dekrüpteerimiseks ja hääletustulemuste arvutamiseks. Nende ülesannete hulka kuuluvad:

  • Hääletussedelite krüpteerimisvõtme osa hajutatud genereerimise tagamine. Võtmete loomise protseduuri käsitletakse järgmistes artiklites;
  • Krüpteeritud hääletussedeli õigsuse kontrollimine (ilma seda dekrüpteerimata);
  • Hääletussedelite töötlemine krüpteeritud kujul, et luua lõplik šifreeritud tekst;
  • Lõpptulemuste hajutatud dekodeerimine.

Iga krüptoprotokolli täitmise etapp salvestatakse plokiahela platvormil ja vaatlejad saavad selle õigsust kontrollida.

Süsteemile vajalike omaduste andmiseks hääletusprotsessi erinevates etappides kasutatakse järgmisi krüptoalgoritme:

  • Elektrooniline allkiri;
  • Valija avaliku võtme pime allkirjastamine;
  • ElGamali elliptilise kõvera krüpteerimisskeem;
  • Nullteadmiste tõendid;
  • Pedersen 91 DKG (Distributed Key Generation) protokoll;
  • Privaatvõtme jagamise protokoll Shamiri skeemi abil.

Krüptoteenusest tuleb täpsemalt juttu järgmistes artiklites.

Tulemused

Võtame kokku mõned elektroonilise kaughääletamise süsteemi kaalumise vahetulemused. Oleme lühidalt kirjeldanud protsessi ja selle rakendamise põhikomponente ning tuvastanud ka vahendid mis tahes hääletussüsteemi jaoks vajalike omaduste saavutamiseks:

  • Valija kontrollitavus. Süsteem võtab hääli vastu ainult kontrollitud valijatelt. See omadus tagatakse valijate tuvastamise ja autentimisega, samuti valijate nimekirja ja hääletussedelile juurdepääsu võimaldamise fakti fikseerimisega plokiahelas.
  • Anonüümsus. Süsteem tagab hääletamise salajasuse, mis on sätestatud Vene Föderatsiooni õigusaktides, valija isikut ei saa krüpteeritud hääletussedeli järgi kindlaks teha. Rakendatud kasutades "pimeallkirja" algoritmi ja anonüümset tsooni hääletussedelite täitmiseks ja saatmiseks.
  • Häälte konfidentsiaalsus. Korraldajad ja teised hääletusel osalejad ei saa hääletuse tulemust teada enne, kui see on lõppenud, hääli loetakse ja lõpptulemused dešifreeritakse. Konfidentsiaalsus saavutatakse hääletussedelite krüpteerimisega ja nende dekrüpteerimise muutmisega enne hääletamist võimatuks.
  • Andmete muutumatus. Valijate andmeid ei saa muuta ega kustutada. Muutmatut andmesalvestust pakub plokiahela platvorm.
  • Kontrollitavus. Vaatleja saab kontrollida, kas hääled loeti õigesti.
  • Usaldusväärsus. Süsteemi arhitektuur põhineb detsentraliseerimise põhimõtetel, tagades ühe "tõrkepunkti" puudumise.

Allikas: www.habr.com

Lisa kommentaar