Pregled sustava daljinskog elektroničkog glasovanja Središnjeg izbornog povjerenstva Ruske Federacije

Dana 31. kolovoza 2020. održano je javno testiranje sustava daljinskog elektroničkog glasovanja (u daljnjem tekstu DEG) koji koristi blockchain tehnologiju, razvijenu po nalogu Središnjeg izbornog povjerenstva Ruske Federacije.

Kako bismo se upoznali s novim elektroničkim sustavom glasovanja i razumjeli kakvu ulogu u njemu igra blockchain tehnologija i koje se druge komponente koriste, započinjemo seriju publikacija posvećenih glavnim tehničkim rješenjima koja se koriste u sustavu. Predlažemo da počnete redom - sa zahtjevima za sustav i funkcijama sudionika u procesu

Zahtjevi sustava

Osnovni zahtjevi koji se primjenjuju na bilo koji sustav glasovanja općenito su isti za tradicionalno osobno glasovanje i za elektroničko glasovanje na daljinu, a određeni su Saveznim zakonom od 12.06.2002. lipnja 67. N 31.07.2020-FZ (s izmjenama i dopunama XNUMX. srpnja XNUMX.) „O temeljnim jamstvima biračkog prava i prava na sudjelovanje u referendumu građana Ruske Federacije.”

  1. Glasovanje na izborima i referendumu je tajno, isključujući mogućnost bilo kakve kontrole volje građana (članak 7.).
  2. Mogućnost glasovanja treba dati samo osobama koje imaju aktivno biračko pravo za to glasovanje.
  3. Jedan birač – jedan glas, „duplo“ glasovanje nije dopušteno.
  4. Proces glasovanja mora biti otvoren i transparentan za birače i promatrače.
  5. Mora se osigurati integritet glasanja.
  6. Ne bi trebalo biti moguće izračunati privremene rezultate glasovanja prije završetka glasovanja.

Dakle, imamo tri sudionika: birača, izborno povjerenstvo i promatrača, između kojih se određuje redoslijed interakcije. Moguće je izdvojiti i četvrtog sudionika - tijela koja provode popis državljana na teritoriju (prvenstveno Ministarstvo unutarnjih poslova, kao i druge izvršne vlasti), budući da je aktivno biračko pravo povezano s državljanstvom i mjestom upisa.

Svi ovi sudionici su u interakciji jedni s drugima.

Protokol interakcije

Razmotrimo proces glasovanja na tradicionalnom biračkom mjestu, s glasačkom kutijom i papirnatim listićima. Općenito pojednostavljeno to izgleda ovako: birač dolazi na biračko mjesto i pokazuje identifikacijski dokument (putovnicu). Na biračkom mjestu postoji biračko povjerenstvo čiji član utvrđuje identitet birača i njegovu prisutnost u prethodno sastavljenom popisu birača. Ako je birač pronađen, član povjerenstva daje biraču glasački listić, a birač potpisuje da je primio glasački listić. Nakon toga birač odlazi u glasačku kabinu, popunjava glasački listić i ubacuje ga u glasačku kutiju. Kako bi se osiguralo da su sve procedure strogo poštivane zakonom, sve to nadziru promatrači (predstavnici kandidata, javne nadzorne institucije). Nakon završenog glasovanja izborno povjerenstvo u nazočnosti promatrača prebrojava glasove i utvrđuje rezultate glasovanja.

Svojstva potrebna za glasovanje u tradicionalnom sustavu glasovanja osigurana su organizacijskim mjerama i utvrđenim postupkom interakcije sudionika: provjera putovnica birača, osobno potpisivanje glasačkih listića, korištenje glasačkih kabina i zapečaćenih glasačkih kutija, postupak prebrojavanja glasova itd. .

Za informacijski sustav, koji je sustav elektroničkog glasovanja na daljinu, ovaj redoslijed interakcije naziva se protokol. Budući da sve naše interakcije postaju digitalne, ovaj se protokol može smatrati algoritmom koji implementiraju pojedine komponente sustava, te skupom organizacijskih i tehničkih mjera koje provode korisnici.

Digitalna interakcija nameće određene zahtjeve implementiranim algoritmima. Pogledajmo radnje koje se izvode na tradicionalnom mjestu u smislu informacijskih sustava i kako je to implementirano u DEG sustav koji razmatramo.

Recimo odmah da blockchain tehnologija nije "srebrni metak" koji rješava sve probleme. Za izradu ovakvog sustava bilo je potrebno razviti velik broj softverskih i hardverskih komponenti zaduženih za različite zadatke te ih povezati jedinstvenim procesom i protokolom. Ali u isto vrijeme, sve ove komponente su u interakciji s blockchain platformom.

Komponente sustava

S tehničkog stajališta, DEG sustav je softverski i hardverski kompleks (u daljnjem tekstu: STC), koji kombinira skup komponenti kako bi se osigurala interakcija između sudionika izbornog procesa u jedinstvenom informacijskom okruženju.

Dijagram interakcije komponenti i sudionika DEG PTC sustava prikazan je na donjoj slici.

Pregled sustava daljinskog elektroničkog glasovanja Središnjeg izbornog povjerenstva Ruske Federacije
Može se kliknuti

Postupak glasovanja na daljinu

Sada ćemo detaljno razmotriti proces daljinskog elektroničkog glasovanja i njegovu implementaciju komponentama softverskog i hardverskog kompleksa DEG.

Prema Postupku elektroničkog glasovanja na daljinu, za uvrštenje u popis sudionika elektroničkog glasovanja na daljinu birač mora podnijeti prijavu na portalu Državne službe. Pritom, takvu prijavu mogu podnijeti samo oni korisnici koji imaju potvrđen račun i uspješno su uspoređeni s popisom birača, sudionika referenduma sustava Državnog automatiziranog sustava „Izbori“. Nakon primitka zahtjeva, Centralna izborna komisija Rusije još jednom provjerava podatke birača i učitava ih na Komponenta popisa birača PTC STUPNJA Proces preuzimanja popraćen je snimanjem jedinstvenih identifikatora u blockchainu. Članovi izbornog povjerenstva i promatrači imaju pristup popisu putem posebnog automatiziranog radnog mjesta koje se nalazi u prostorijama izbornog povjerenstva.

Kada birač posjeti biračko mjesto, vrši se njegova autentifikacija (usporedba s podacima iz putovnice) i identificiranje u popisu birača, kao i provjera da taj birač nije prethodno dobio glasački listić. Ovdje je važno napomenuti da je nemoguće utvrditi je li birač primljeni listić ubacio u glasačku kutiju ili nije, već samo činjenicu da je listić već ranije izdan. U slučaju PTC DEG posjet birača predstavlja zahtjev korisnika za DEG portal - ovo je web stranica koja se nalazi na adresi vybory.gov.ru Kao i tradicionalno biračko mjesto, web stranica sadrži informativne materijale o izbornim kampanjama koje su u tijeku, informacije o kandidatima i druge informacije. Za provedbu identifikacije i autentifikacije koristi se ESIA Portala državnih usluga. Dakle, opća shema identifikacije održava se i prilikom prijave i prilikom glasovanja.

Nakon toga kreće postupak anonimizacije - biraču se daje glasački listić koji ne sadrži nikakve identifikacijske oznake: nema broj, ni na koji način nije povezan s biračem kojem je izdan. Zanimljivo je razmotriti opciju kada je biračko mjesto opremljeno elektroničkim glasačkim kompleksima - u ovom slučaju anonimizacija se provodi na sljedeći način: umjesto papirnatog glasačkog listića, od birača se traži da iz hrpe odabere bilo koju karticu s barkodom s kojim pristupit će uređaju za glasanje. Na kartici nema podataka o biraču, samo šifra koja određuje koji listić uređaj treba dati prilikom predočenja takve kartice. Uz potpuno digitalnu interakciju, glavni zadatak je implementirati algoritam anonimizacije tako da se s jedne strane ne može utvrditi bilo kakav identifikacijski podatak korisnika, as druge strane omogućiti mogućnost glasovanja samo onim korisnicima koji prethodno identificirani na popisu. Kako bi riješio ovaj problem, DEG PTK koristi kriptografski algoritam, poznat u profesionalnom okruženju kao "slijepi elektronički potpis". O tome ćemo detaljno govoriti u sljedećim publikacijama, a objavit ćemo i izvorni kod; dodatne informacije možete prikupiti i iz publikacija na internetu koristeći ključne riječi - "kriptografski protokoli tajnog glasovanja" ili "slijepi potpis"

Tada birač ispunjava glasački listić na mjestu gdje je nemoguće vidjeti svoj izbor (zatvorena kabina) – ako u našem informatičkom sustavu birač glasuje na daljinu, onda je jedino takvo mjesto osobni uređaj korisnika. Da bi se to postiglo, korisnik se prvo prebacuje na drugu domenu − u anonimnu zonu. Prije prebacivanja možete povećati svoju VPN vezu i promijeniti svoju IP adresu. Upravo na ovoj domeni se prikazuje glasački listić i obrađuje izbor korisnika. Izvorni kod koji se izvodi na uređaju korisnika inicijalno je otvoren – može se vidjeti u pregledniku.

Nakon odabira, glasački listić se šifrira na uređaju korisnika pomoću posebne sheme šifriranja, šalje i snima u komponenta “Distribuirana pohrana i brojanje glasova”, izgrađen na blockchain platformi.

Jedna od najvažnijih karakteristika protokola je nemogućnost saznanja rezultata glasovanja prije nego što se on završi. Na tradicionalnom biračkom mjestu to se osigurava pečaćenjem glasačke kutije i nadzorom promatrača. U digitalnim interakcijama najbolje je rješenje šifrirati izbor glasača. Korišteni algoritam šifriranja sprječava otkrivanje rezultata prije završetka glasovanja. Za to se koristi shema s dva ključa: jedan (javni) ključ, koji je poznat svim sudionicima, koristi se za šifriranje glasa. Ne može se dešifrirati istim ključem; potreban je drugi (privatni) ključ. Privatni ključ je podijeljen između sudionika u izbornom procesu (članovi izbornih povjerenstava, javna komora, operateri poslužitelja za brojanje i sl.) na način da je svaki pojedini dio ključa beskoristan. Dešifriranje možete započeti tek nakon što se prikupi privatni ključ. U razmatranom sustavu postupak odvajanja ključeva uključuje nekoliko faza: odvajanje dijela ključa unutar sustava, odvajanje ključa izvan sustava i generiranje zajedničkog javnog ključa. Proces enkripcije i rad s kriptografskim ključevima detaljno ćemo prikazati u narednim publikacijama.

Nakon što se ključ prikupi i preuzme, počinje izračun rezultata za njihovo daljnje bilježenje u blockchain i naknadnu objavu. Značajka sustava koji se razmatra je korištenje tehnologije homomorfne enkripcije. Detaljno ćemo opisati ovaj algoritam u budućim publikacijama i govoriti o tome zašto se ova tehnologija naširoko koristi za stvaranje sustava glasovanja. Zabilježimo sada njegovu glavnu značajku: šifrirani glasački listići zabilježeni u računovodstvenom sustavu mogu se kombinirati bez dešifriranja na takav način da će rezultat dešifriranja takvog kombiniranog šifriranog teksta biti zbrojena vrijednost za svaki izbor u glasačkim listićima. Pritom sustav, naravno, provodi i matematičke dokaze ispravnosti takvog izračuna, koji se također evidentiraju u računovodstvenom sustavu i mogu se provjeriti od strane promatrača.

U nastavku je pregled procesa glasovanja.

Pregled sustava daljinskog elektroničkog glasovanja Središnjeg izbornog povjerenstva Ruske Federacije
Može se kliknuti

Blockchain platforma

Sada kada smo ispitali glavne značajke implementacije sustava elektroničkog glasovanja na daljinu, odgovorimo na pitanje s kojim smo započeli - kakvu ulogu igra blockchain tehnologija u tome i koje probleme omogućuje rješavanje?

U implementiranom sustavu glasovanja na daljinu blockchain tehnologija rješava određeni niz problema.

  • Osnovna zadaća je osigurati cjelovitost informacija u okviru glasovanja, a prije svega glasova.
  • Osiguravanje transparentnosti izvršenja i nepromjenjivosti programskog koda implementiranog u obliku pametnih ugovora.
  • Osiguravanje zaštite i nepromjenjivosti podataka koji se koriste u procesu glasovanja: popis birača, ključevi koji se koriste za šifriranje glasačkih listića u različitim fazama kriptografskog protokola i sl.
  • Omogućuje decentraliziranu pohranu podataka, pri čemu svaki sudionik ima apsolutno identičnu kopiju, potvrđenu svojstvima konsenzusa u mreži.
  • Mogućnost pregleda transakcija i praćenja tijeka glasovanja, što se u potpunosti odražava u lancu blokova, od njegovog početka do snimanja izračunatih rezultata.

Dakle, vidimo da je bez korištenja ove tehnologije gotovo nemoguće postići potrebna svojstva u glasačkom sustavu, kao i povjerenje u isti.

Funkcionalnost korištene blockchain platforme obogaćena je korištenjem pametnih ugovora. Pametni ugovori provjeravaju svaku transakciju kriptiranim glasačkim listićima na vjerodostojnost elektroničkih i "slijepih" potpisa, a također provode osnovne provjere ispravnosti popunjavanja kriptiranog glasačkog listića.

Štoviše, u razmatranom sustavu elektroničkog glasovanja na daljinu, komponenta "Distribuirana pohrana i brojanje glasova" nije ograničena samo na čvorove blockchaina. Za svaki čvor može se postaviti zasebni poslužitelj koji implementira glavne kriptografske funkcije protokola glasovanja - poslužitelji za brojanje.

Brojanje poslužitelja

To su decentralizirane komponente koje omogućuju proceduru distribuiranog generiranja ključa za enkripciju glasovanja, kao i dešifriranje i izračun rezultata glasovanja. Njihovi zadaci uključuju:

  • Osiguravanje distribuiranog generiranja dijela ključa za šifriranje glasovanja. O postupku generiranja ključa bit će riječi u sljedećim člancima;
  • Provjera ispravnosti šifriranog glasačkog listića (bez dešifriranja);
  • Obrada glasačkih listića u šifriranom obliku za generiranje konačnog šifriranog teksta;
  • Distribuirano dekodiranje konačnih rezultata.

Svaka faza izvršenja kriptografskog protokola bilježi se u blockchain platformi i promatrači je mogu provjeriti ispravnost.

Kako bi se sustavu dala potrebna svojstva u različitim fazama procesa glasovanja, koriste se sljedeći kriptografski algoritmi:

  • Elektronički potpis;
  • Slijepo potpisivanje javnog ključa birača;
  • ElGamal shema šifriranja eliptične krivulje;
  • Dokazi bez znanja;
  • Pedersen 91 DKG (Distributed Key Generation) protokol;
  • Protokol dijeljenja privatnog ključa pomoću Shamirove sheme.

O kriptografskoj usluzi bit će više riječi u sljedećim člancima.

Rezultati

Rezimirajmo neke međurezultate razmatranja sustava elektroničkog glasovanja na daljinu. Ukratko smo opisali proces i glavne komponente koje ga provode, a također smo identificirali sredstva za postizanje svojstava potrebnih za bilo koji sustav glasovanja:

  • Provjerljivost birača. Sustav prihvaća samo glasove provjerenih birača. To se svojstvo osigurava identifikacijom i autentifikacijom birača, kao i bilježenjem popisa birača i činjenice davanja pristupa glasačkom listiću u blockchainu.
  • Anonimnost. Sustav osigurava tajnost glasovanja, propisanu zakonodavstvom Ruske Federacije; identitet birača ne može se utvrditi iz šifriranog glasačkog listića. Realizirano algoritmom “slijepi potpis” i anonimnom zonom za ispunjavanje i slanje glasačkog listića.
  • Povjerljivost glasova. Organizatori i ostali sudionici glasovanja ne mogu saznati rezultat glasovanja dok ono ne završi, glasovi se prebroje i konačni rezultati ne dešifriraju. Povjerljivost se postiže šifriranjem glasačkih listića i onemogućavanjem dešifriranja do završetka glasovanja.
  • Nepromjenjivost podataka. Podaci birača ne mogu se mijenjati niti brisati. Nepromjenjivu pohranu podataka osigurava blockchain platforma.
  • Provjerljivost. Promatrač može provjeriti jesu li glasovi ispravno prebrojani.
  • Pouzdanost. Arhitektura sustava temelji se na načelima decentralizacije, osiguravajući nepostojanje jedne "točke kvara".

Izvor: www.habr.com

Dodajte komentar