Pregled sistema daljinskog elektronskog glasanja Centralne izborne komisije Ruske Federacije

Dana 31. avgusta 2020. godine održano je javno testiranje sistema daljinskog elektronskog glasanja (u daljem tekstu DEG) korištenjem blockchain tehnologije, razvijene po nalogu Centralne izborne komisije Ruske Federacije.

Kako bismo se upoznali s novim sistemom elektronskog glasanja i shvatili kakvu ulogu u njemu igra blockchain tehnologija i koje druge komponente se koriste, započinjemo seriju publikacija posvećenih glavnim tehničkim rješenjima koja se koriste u sistemu. Predlažemo da krenemo po redu - od zahtjeva za sistem i funkcijama učesnika u procesu

Zahtjevi sustava

Osnovni zahtjevi koji se primjenjuju na bilo koji sistem glasanja općenito su isti za tradicionalno lično glasanje i za daljinsko elektronsko glasanje, a utvrđeni su Saveznim zakonom od 12.06.2002. juna 67. N 31.07.2020-FZ (sa izmjenama i dopunama od XNUMX. jula XNUMX.) “O osnovnim garancijama biračkog prava i prava učešća na referendumu građana Ruske Federacije.”

  1. Glasanje na izborima i referendumu je tajno, isključujući mogućnost bilo kakve kontrole volje građana (član 7).
  2. Mogućnost glasanja treba dati samo osobama koje imaju aktivno pravo glasa za ovo glasanje.
  3. Jedan glasač – jedan glas, „dvostruko“ glasanje nije dozvoljeno.
  4. Proces glasanja mora biti otvoren i transparentan za birače i posmatrače.
  5. Integritet datog glasanja mora biti osiguran.
  6. Ne bi trebalo biti moguće izračunati privremene rezultate glasanja prije nego što se glasanje završi.

Dakle, imamo tri učesnika: birača, izbornu komisiju i posmatrača, između kojih se određuje redosled interakcije. Moguće je izdvojiti i četvrtog učesnika - organe koji vrše registraciju građana na teritoriji (prvenstveno Ministarstvo unutrašnjih poslova, kao i drugi organi izvršne vlasti), budući da je aktivno biračko pravo vezano za državljanstvo i mjesto registracije.

Svi ovi učesnici komuniciraju jedni s drugima.

Interakcioni protokol

Pogledajmo proces glasanja na tradicionalnom biračkom mjestu, sa glasačkom kutijom i papirnim listićima. U generalno pojednostavljenom obliku, to izgleda ovako: birač dolazi na biračko mjesto i predočava identifikacioni dokument (pasoš). Na biračkom mjestu postoji izborna komisija, čiji član provjerava identitet birača i njegovo prisustvo na ranije sastavljenom biračkom spisku. Ako se birač pronađe, član komisije daje glasaču glasački listić, a birač potpisuje prijem glasačkog listića. Nakon toga birač odlazi do glasačke kabine, popunjava glasački listić i stavlja ga u glasačku kutiju. Kako bi se osiguralo da se sve procedure striktno poštuju zakonom, sve to prate posmatrači (predstavnici kandidata, javne institucije za praćenje). Nakon završenog glasanja, izborna komisija, u prisustvu posmatrača, prebrojava glasove i utvrđuje rezultate glasanja.

Svojstva neophodna za glasanje u tradicionalnom sistemu glasanja obezbjeđuju organizacione mjere i utvrđena procedura za interakciju učesnika: provjera pasoša birača, lično potpisivanje glasačkih listića, korištenje glasačkih kabina i zapečaćenih glasačkih kutija, postupak prebrojavanja glasova itd. .

Za informacioni sistem, koji je daljinski elektronski sistem glasanja, ovaj redosled interakcije naziva se protokol. Budući da sve naše interakcije postaju digitalne, ovaj protokol se može smatrati algoritamom koji implementiraju pojedine komponente sistema, te skupom organizacijskih i tehničkih mjera koje sprovode korisnici.

Digitalna interakcija nameće određene zahtjeve implementiranim algoritmima. Pogledajmo radnje koje se izvode na tradicionalnom sajtu u smislu informacionih sistema i kako se to implementira u DEG sistemu koji razmatramo.

Recimo odmah da blockchain tehnologija nije "srebrni metak" koji rješava sve probleme. Za kreiranje ovakvog sistema bilo je potrebno razviti veliki broj softverskih i hardverskih komponenti odgovornih za različite zadatke i povezati ih u jedan proces i protokol. Ali u isto vrijeme, sve ove komponente su u interakciji s blockchain platformom.

Sistemske komponente

Sa tehničke tačke gledišta, DEG sistem je softversko-hardverski kompleks (u daljem tekstu STC), koji kombinuje skup komponenti za obezbeđivanje interakcije između učesnika u izbornom procesu u jedinstvenom informacionom okruženju.

Dijagram interakcije komponenti i učesnika DEG PTC sistema je prikazan na donjoj slici.

Pregled sistema daljinskog elektronskog glasanja Centralne izborne komisije Ruske Federacije
Može se kliknuti

Proces glasanja na daljinu

Sada ćemo detaljno razmotriti proces daljinskog elektronskog glasanja i njegovu implementaciju komponentama softverskog i hardverskog kompleksa DEG.

Prema Proceduri za daljinsko elektronsko glasanje, da bi se uključio na listu učesnika u daljinskom elektronskom glasanju, birač mora podnijeti prijavu na portalu državnih službi. Istovremeno, takvu prijavu mogu podnijeti samo oni korisnici koji imaju potvrđen nalog i koji su uspješno upoređeni sa biračkim spiskom, referendumski učesnici sistema Državnog automatizovanog sistema „Izbori“. Nakon prijema prijave, podatke birača još jednom provjerava Centralna izborna komisija Rusije i postavlja na Komponenta biračkog spiska PTC DEG. Proces preuzimanja je praćen snimanjem jedinstvenih identifikatora u blockchainu. Članovi izborne komisije i posmatrači imaju pristup uvidu u listu koristeći posebnu automatizovanu radnu stanicu koja se nalazi u prostorijama izborne komisije.

Kada birač posjeti biračko mjesto, on se autentifikuje (upoređuje sa podacima iz pasoša) i identifikuje u biračkom spisku, kao i provjerava da ovaj birač nije prethodno dobio glasački listić. Ovdje je važno da je nemoguće utvrditi da li je birač ubacio primljeni listić u glasačku kutiju ili ne, već samo činjenica da je listić već ranije izdat. U slučaju PTC DEG, posjeta birača predstavlja zahtjev korisnika da DEG portal je web stranica koja se nalazi na vybory.gov.ru Poput tradicionalnog biračkog mjesta, web stranica sadrži informativne materijale o tekućim izbornim kampanjama, informacije o kandidatima i druge informacije. Za provođenje identifikacije i autentifikacije koristi se ESIA portala državnih usluga. Dakle, opća šema identifikacije se održava i prilikom prijave i prilikom glasanja.

Nakon toga počinje 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 sa biračem kome je izdat. Zanimljivo je razmotriti opciju kada je biračko mjesto opremljeno elektronskim glasačkim kompleksima - u ovom slučaju anonimizacija se vrši na sljedeći način: umjesto papirnog glasačkog listića, birač se traži da iz hrpe izabere bilo koju karticu sa bar kodom s kojim prići će uređaju za glasanje. Na kartici nema podataka o biraču, već samo šifra koja određuje koji glasački listić uređaj treba dati prilikom predočenja takve kartice. Uz potpuno digitalnu interakciju, glavni zadatak je implementirati algoritam anonimizacije tako da je, s jedne strane, nemoguće uspostaviti bilo kakve identifikacijske podatke korisnika, a s druge strane omogućiti mogućnost glasanja samo onim korisnicima koji su prethodno identifikovani na listi. Da bi riješio ovaj problem, DEG PTK koristi kriptografski algoritam, poznat u profesionalnom okruženju kao “slijepi elektronski 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 tajni protokoli glasanja" ili "slijepi potpis"

Zatim birač popunjava glasački listić na mjestu gdje je nemoguće vidjeti napravljen izbor (zatvorena kabina) – ako u našem informacionom sistemu glasač glasa daljinski, onda je jedino takvo mjesto korisnikov lični uređaj. Da biste to učinili, korisnik se prvo prebacuje na drugu domenu − u anonimnu zonu. Prije prebacivanja, možete podići svoju VPN vezu i promijeniti svoju IP adresu. Na ovoj domeni se prikazuje glasački listić i obrađuje se izbor korisnika. Izvorni kod koji radi na korisnikovom uređaju je u početku otvoren - može se vidjeti u pretraživaču.

Nakon što je izbor napravljen, glasački listić se šifrira na korisnikovom uređaju pomoću posebne šeme šifriranja, šalje i snima u komponenta “Distribuirano skladištenje i brojanje glasova”, izgrađen na blockchain platformi.

Jedna od najvažnijih karakteristika protokola je nemogućnost saznanja rezultata glasanja prije nego što se završi. Na tradicionalnom biračkom mjestu to se osigurava pečaćenjem glasačke kutije i praćenjem od strane posmatrača. U digitalnim interakcijama, najbolje rješenje je šifriranje izbora birača. Korišteni algoritam šifriranja sprječava otkrivanje rezultata prije nego što se glasanje završi. Za to se koristi šema sa dva ključa: jedan (javni) ključ, koji je poznat svim učesnicima, koristi se za šifrovanje glasa. Ne može se dešifrirati istim ključem; potreban je drugi (privatni) ključ. Privatni ključ je podijeljen između učesnika u izbornom procesu (članova izbornih komisija, javne komore, operatera servera za brojanje i sl.) na način da je svaki pojedinačni dio ključa neupotrebljiv. Dešifriranje možete započeti tek nakon što se prikupi privatni ključ. U sistemu koji se razmatra postupak odvajanja ključa uključuje nekoliko faza: odvajanje dijela ključa unutar sistema, odvajanje ključa izvan sistema i generiranje zajedničkog javnog ključa. Proces šifriranja i rad sa kriptografskim ključevima ćemo detaljno prikazati u budućim publikacijama.

Nakon što se ključ prikupi i preuzme, počinje obračun rezultata za njihovo daljnje bilježenje u blockchain i naknadnu objavu. Karakteristika sistema koji se razmatra je korišćenje tehnologije homomorfne enkripcije. Ovaj algoritam ćemo detaljno opisati u budućim publikacijama i govoriti o tome zašto se ova tehnologija naširoko koristi za kreiranje sistema glasanja. Zabilježimo sada njegovu glavnu osobinu: šifrirani glasački listići zabilježeni u računovodstvenom sistemu mogu se kombinirati bez dešifriranja na način da će rezultat dešifriranja tako kombiniranog šifriranog teksta biti zbrojena vrijednost za svaki izbor u glasačkim listićima. Istovremeno, sistem, naravno, implementira matematičke dokaze o ispravnosti takvog obračuna, koji se takođe evidentiraju u računovodstvenom sistemu i mogu biti verifikovani od strane posmatrača.

Ispod je pregled procesa glasanja.

Pregled sistema daljinskog elektronskog glasanja Centralne izborne komisije Ruske Federacije
Može se kliknuti

Blockchain platforma

Sada kada smo ispitali glavne karakteristike implementacije sistema daljinskog elektronskog glasanja, hajdemo da odgovorimo na pitanje s kojim smo krenuli - kakvu ulogu u tome igra blockchain tehnologija i koje probleme omogućava da se reši?

U implementiranom sistemu daljinskog glasanja, blockchain tehnologija rješava određeni niz problema.

  • Osnovni zadatak je osigurati integritet informacija u okviru glasanja, a prije svega glasanja.
  • Osiguravanje transparentnosti izvršenja i nepromjenjivosti programskog koda implementiranog u obliku pametnih ugovora.
  • Osiguravanje zaštite i nepromjenjivosti podataka koji se koriste u procesu glasanja: spisak birača, ključevi koji se koriste za šifriranje glasačkih listića u različitim fazama kriptografskog protokola i tako dalje.
  • Obezbeđivanje decentralizovanog skladištenja podataka, pri čemu svaki učesnik ima apsolutno identičnu kopiju, potvrđenu svojstvima konsenzusa u mreži.
  • Mogućnost pregleda transakcija i praćenja toka glasanja, koji se u potpunosti odražava u lancu blokova, od njegovog početka do snimanja izračunatih rezultata.

Dakle, vidimo da je bez upotrebe ove tehnologije gotovo nemoguće postići potrebne osobine u sistemu glasanja, kao i povjerenje u njega.

Funkcionalnost korištene blockchain platforme obogaćena je korištenjem pametnih ugovora. Pametni ugovori provjeravaju svaku transakciju šifriranim glasačkim listićima na autentičnost elektroničkih i “slijepih” potpisa, a također sprovode osnovne provjere ispravnosti popunjavanja šifrovanog glasačkog listića.

Štaviše, u razmatranom sistemu daljinskog elektronskog glasanja, komponenta „Distribuirano skladištenje i brojanje glasova“ nije ograničena samo na blokčein čvorove. Za svaki čvor može se postaviti poseban server koji implementira glavne kriptografske funkcije protokola glasanja - servere za brojanje.

Brojanje servera

To su decentralizovane komponente koje obezbeđuju proceduru za distribuiranu generisanje ključa za šifrovanje glasačkog listića, kao i dešifrovanje i izračunavanje rezultata glasanja. Njihovi zadaci uključuju:

  • Osiguravanje distribuiranog generiranja dijela ključa za šifriranje glasačkog listića. Procedura generisanja ključeva će biti razmotrena u sledeć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 se snima u blockchain platformi i posmatrači mogu provjeriti ispravnost.

Da bi sistemu dali potrebna svojstva u različitim fazama procesa glasanja, koriste se sljedeći kriptografski algoritmi:

  • Elektronski potpis;
  • Slijepo potpisivanje javnog ključa birača;
  • ElGamalova šema enkripcije eliptičke krivulje;
  • Dokazi bez znanja;
  • Pedersen 91 DKG (Distributed Key Generation) protokol;
  • Protokol dijeljenja privatnog ključa koristeći Shamirovu šemu.

O kriptografskoj usluzi će se detaljnije govoriti u sljedećim člancima.

Ishodi

Hajde da sumiramo neke međurezultate razmatranja sistema daljinskog elektronskog glasanja. Ukratko smo opisali proces i glavne komponente koje ga implementiraju, a također smo identificirali sredstva za postizanje svojstava neophodnih za bilo koji sistem glasanja:

  • Provjerljivost birača. Sistem prihvata samo glasove verifikovanih birača. Ovo svojstvo je osigurano identifikacijom i autentifikacijom birača, kao i evidentiranjem spiska birača i činjenice da je omogućen pristup glasačkom listiću u blockchain-u.
  • Anonimnost. Sistem osigurava tajnost glasanja, sadržanu u zakonodavstvu Ruske Federacije, identitet birača ne može se utvrditi iz šifrovanog glasačkog listića. Implementirano korištenjem algoritma “slijepog potpisa” i anonimne zone za popunjavanje i slanje glasačkog listića.
  • Povjerljivost glasova. Organizatori i ostali učesnici glasanja ne mogu saznati rezultat glasanja dok se ono ne završi, prebroje glasovi i ne dešifruju konačni rezultati. Povjerljivost se postiže šifriranjem glasačkih listića i onemogućavanjem dešifriranja do nakon glasanja.
  • Promjenjivost podataka. Podaci birača se ne mogu mijenjati ili brisati. Nepromjenjivo skladištenje podataka osigurava blockchain platforma.
  • Provjerljivost. Posmatrač može provjeriti da li su glasovi ispravno prebrojani.
  • Pouzdanost. Arhitektura sistema se zasniva na principima decentralizacije, obezbeđujući odsustvo jedne „tačke kvara“.

izvor: www.habr.com

Dodajte komentar