Rusijos Federacijos centrinės rinkimų komisijos nuotolinio elektroninio balsavimo sistemos apžvalga

31 m. rugpjūčio 2020 d. įvyko Rusijos Federacijos Centrinės rinkimų komisijos įsakymu sukurtos nuotolinio elektroninio balsavimo sistemos (toliau – DEG) viešas išbandymas naudojant blockchain technologiją.

Norėdami susipažinti su naująja elektroninio balsavimo sistema ir suprasti, kokį vaidmenį joje vaidina blokų grandinės technologija ir kokie kiti komponentai naudojami, pradedame publikacijų ciklą, skirtą pagrindiniams sistemoje naudojamiems techniniams sprendimams. Siūlome pradėti iš eilės – nuo ​​reikalavimų sistemai ir proceso dalyvių funkcijų

Sistemos reikalavimai

Pagrindiniai reikalavimai, taikomi bet kuriai balsavimo sistemai, paprastai yra vienodi tradiciniam balsavimui asmeniškai ir nuotoliniam elektroniniam balsavimui ir yra nustatyti 12.06.2002 m. birželio 67 d. federaliniame įstatyme N 31.07.2020-FZ (su pakeitimais, padarytais XNUMX m. liepos XNUMX d.). „Dėl pagrindinių garantijų Rusijos Federacijos piliečių balsavimo teisės ir teisės dalyvauti referendume“.

  1. Balsavimas rinkimuose ir referendumuose yra slaptas, atmetantis galimybę kontroliuoti piliečio valią (7 straipsnis).
  2. Galimybė balsuoti turėtų būti suteikta tik asmenims, turintiems aktyvią balsavimo teisę už šį balsavimą.
  3. Vienas rinkėjas – vienas balsas, „dvigubai“ balsuoti negalima.
  4. Balsavimo procesas turi būti atviras ir skaidrus rinkėjams ir stebėtojams.
  5. Turi būti užtikrintas balsavimo sąžiningumas.
  6. Neturėtų būti įmanoma apskaičiuoti tarpinių balsavimo rezultatų nepasibaigus balsavimui.

Taigi, turime tris dalyvius: rinkėją, rinkimų komisiją ir stebėtoją, tarp kurių nustatoma sąveikos tvarka. Taip pat galima išskirti ir ketvirtą dalyvį – piliečių registraciją teritorijoje vykdančias institucijas (pirmiausia Vidaus reikalų ministerija, taip pat kitos vykdomosios valdžios institucijos), nes aktyvi rinkimų teisė siejama su pilietybe ir registracijos vieta.

Visi šie dalyviai bendrauja tarpusavyje.

Sąveikos protokolas

Panagrinėkime balsavimo procesą tradicinėje rinkimų apylinkėje su balsadėže ir popieriniais biuleteniais. Paprastai supaprastinta forma atrodo taip: rinkėjas ateina į rinkimų apylinkę ir pateikia asmens tapatybę patvirtinantį dokumentą (pasą). Balsavimo apylinkėje veikia apylinkės rinkimų komisija, kurios narys patikrina rinkėjo tapatybę ir jo buvimą anksčiau sudarytame rinkėjų sąraše. Jeigu rinkėjas surandamas, komisijos narys rinkėjui įteikia balsavimo biuletenį, o rinkėjas pasirašo, kad gautų biuletenį. Po to rinkėjas eina prie balsavimo kabinos, užpildo biuletenį ir įdeda jį į balsadėžę. Siekiant užtikrinti, kad visų procedūrų būtų griežtai laikomasi įstatymų, visa tai stebi stebėtojai (kandidatų atstovai, viešosios stebėsenos institucijos). Pasibaigus balsavimui, rinkimų komisija, dalyvaujant stebėtojams, suskaičiuoja balsus ir nustato balsavimo rezultatus.

Balsavimui tradicinėje balsavimo sistemoje reikalingos savybės suteikiamos organizacinėmis priemonėmis ir nustatyta dalyvių sąveikos tvarka: rinkėjų pasų tikrinimas, asmeniškai pasirašymas už biuletenius, naudojimasis balsavimo kabinomis ir sandariomis balsadėžėmis, balsų skaičiavimo tvarka ir kt. .

Informacinėje sistemoje, kuri yra nuotolinio elektroninio balsavimo sistema, ši sąveikos tvarka vadinama protokolu. Kadangi visos mūsų sąveikos tampa skaitmeninėmis, šį protokolą galima laikyti algoritmu, kurį įgyvendina atskiri sistemos komponentai, bei vartotojų atliekamų organizacinių ir techninių priemonių visuma.

Skaitmeninė sąveika kelia tam tikrus reikalavimus įgyvendinamiems algoritmams. Pažiūrėkime, kokie veiksmai atliekami tradicinėje svetainėje informacinių sistemų požiūriu ir kaip tai įgyvendinama mūsų svarstomoje DEG sistemoje.

Iš karto pasakykime, kad „blockchain“ technologija nėra „sidabrinė kulka“, kuri išsprendžia visas problemas. Norint sukurti tokią sistemą, reikėjo sukurti daugybę programinės ir techninės įrangos komponentų, atsakingų už įvairias užduotis, ir sujungti juos su vienu procesu ir protokolu. Tačiau tuo pačiu metu visi šie komponentai sąveikauja su „blockchain“ platforma.

Sistemos komponentai

Techniniu požiūriu DEG sistema yra programinės ir techninės įrangos kompleksas (toliau – STC), jungiantis komponentų rinkinį, užtikrinantį rinkimų proceso dalyvių sąveiką vieningoje informacinėje aplinkoje.

DEG PTC sistemos komponentų ir dalyvių sąveikos schema parodyta paveikslėlyje žemiau.

Rusijos Federacijos centrinės rinkimų komisijos nuotolinio elektroninio balsavimo sistemos apžvalga
Paspaudžiamas

Nuotolinio balsavimo procesas

Dabar mes išsamiai apsvarstysime nuotolinio elektroninio balsavimo procesą ir jo įgyvendinimą naudojant DEG programinės ir techninės įrangos komplekso komponentus.

Pagal Nuotolinio elektroninio balsavimo tvarką, rinkėjas, norėdamas būti įtrauktas į nuotolinio elektroninio balsavimo dalyvių sąrašą, turi pateikti prašymą Valstybės paslaugų portale. Tuo pačiu metu tokį prašymą gali pateikti tik tie vartotojai, kurie turi patvirtintą paskyrą ir yra sėkmingai palyginti su rinkėjų registru, Valstybinės automatinės sistemos „Rinkimai“ sistemos referendumo dalyviai. Gavus prašymą, rinkėjo duomenis dar kartą patikrina Rusijos centrinė rinkimų komisija ir įkelia į Rinkėjų sąrašo komponentas PTC DEG. Atsisiuntimo procesą lydi unikalių identifikatorių įrašymas blokų grandinėje. Rinkimų komisijos nariai ir stebėtojai gali peržiūrėti sąrašą naudodami specialią automatizuotą darbo vietą, esančią rinkimų komisijos patalpose.

Rinkėjui atvykus į rinkimų apylinkę, jo tapatybė patvirtinama (lyginant su paso duomenimis) ir identifikuojama rinkėjų sąraše, taip pat patikrinama, ar šis rinkėjas anksčiau nėra gavęs biuletenio. Čia svarbu tai, kad neįmanoma nustatyti, ar rinkėjas gautą biuletenį įdėjo į balsadėžę, ar ne, tik tai, kad biuletenis jau buvo išduotas anksčiau. PTC DEG atveju rinkėjo apsilankymas reiškia vartotojo prašymą DEG portalas yra svetainė, esanti adresu vybory.gov.ru Kaip ir tradicinėje balsavimo apylinkėje, svetainėje yra informacinės medžiagos apie vykstančias rinkimų kampanijas, informacija apie kandidatus ir kita informacija. Identifikavimui ir autentifikavimui atlikti naudojamas Valstybės paslaugų portalo ESIA. Taigi tiek kreipiantis, tiek balsuojant išlaikoma bendra identifikavimo schema.

Po to prasideda anonimizacijos procedūra – rinkėjui įteikiamas biuletenis, kuriame nėra atpažinimo ženklų: jis neturi numerio, niekaip nesusijęs su rinkėju, kuriam buvo išduotas. Įdomu pasvarstyti variantą, kai rinkimų apylinkėje įrengti elektroninio balsavimo kompleksai – tokiu atveju anonimiškumas atliekamas taip: vietoj popierinio biuletenio rinkėjo prašoma iš krūvos pasirinkti bet kurią kortelę su brūkšniniu kodu, su kuria jis prieis prie balsavimo įrenginio. Kortelėje nėra informacijos apie rinkėją, tik kodas, nurodantis, kokį biuletenį turi pateikti prietaisas pateikdamas tokią kortelę. Esant visiškai skaitmeninei sąveikai, pagrindinė užduotis yra įdiegti tokį anonimizacijos algoritmą, kad, viena vertus, būtų neįmanoma nustatyti jokių vartotojo identifikavimo duomenų, kita vertus, suteikti galimybę balsuoti tik tiems vartotojams, kurie anksčiau buvo nurodyti sąraše. Norėdami išspręsti šią problemą, DEG PTK naudoja kriptografinį algoritmą, profesionalioje aplinkoje žinomą kaip „akląjį elektroninį parašą“. Apie tai išsamiai kalbėsime šiuose leidiniuose, taip pat paskelbsime šaltinio kodą, taip pat galite rinkti papildomos informacijos iš publikacijų internete naudodami raktinius žodžius - „kriptografiniai slapti balsavimo protokolai“ arba „aklas parašas“

Tada rinkėjas užpildo biuletenį ten, kur pasirinkto pasirinkimo matyti neįmanoma (uždara kabina) – jei mūsų informacinėje sistemoje rinkėjas balsuoja nuotoliniu būdu, tai vienintelė tokia vieta yra vartotojo asmeninis įrenginys. Norėdami tai padaryti, vartotojas pirmiausia perkeliamas į kitą domeną − į anoniminę zoną. Prieš perjungdami galite padidinti VPN ryšį ir pakeisti IP adresą. Būtent šiame domene rodomas balsavimo biuletenis ir apdorojamas vartotojo pasirinkimas. Vartotojo įrenginyje veikiantis šaltinio kodas iš pradžių yra atviras – jį galima pamatyti naršyklėje.

Pasirinkus, balsavimo biuletenis vartotojo įrenginyje užšifruojamas naudojant specialią šifravimo schemą, išsiunčiamas ir įrašomas komponentas „Paskirstytas saugojimas ir balsų skaičiavimas“, pastatytas ant blockchain platformos.

Viena iš svarbiausių protokolo ypatybių yra tai, kad balsavimo rezultatų neįmanoma žinoti prieš jį užbaigiant. Tradicinėje balsavimo apylinkėje tai užtikrinama užantspauduojant balsadėžę ir stebint stebėtojams. Skaitmeninėje sąveikoje geriausias sprendimas yra užšifruoti rinkėjo pasirinkimą. Naudojamas šifravimo algoritmas neleidžia atskleisti rezultatų prieš pasibaigiant balsavimui. Tam naudojama schema su dviem raktais: balsui užšifruoti naudojamas vienas (viešasis) raktas, kuris yra žinomas visiems dalyviams. Jo negalima iššifruoti tuo pačiu raktu, reikia antrojo (privataus) rakto. Privatus raktas dalijamas tarp rinkimų proceso dalyvių (rinkimų komisijų narių, viešųjų rūmų, skaičiavimo serverių operatorių ir pan.) taip, kad kiekviena atskira rakto dalis būtų nenaudinga. Iššifravimą galite pradėti tik surinkę privatųjį raktą. Nagrinėjamoje sistemoje raktų atskyrimo procedūra apima kelis etapus: rakto dalies atskyrimas sistemoje, rakto atskyrimas už sistemos ribų ir bendro viešojo rakto generavimas. Detaliai šifravimo ir darbo su kriptografiniais raktais procesą parodysime būsimuose leidiniuose.

Po to, kai raktas surenkamas ir atsisiunčiamas, pradedami skaičiuoti rezultatai, skirti tolesniam jų įrašymui į blokų grandinę ir vėlesniam paskelbimui. Nagrinėjamos sistemos ypatybė yra homomorfinio šifravimo technologijos naudojimas. Šį algoritmą detaliai apibūdinsime būsimose publikacijose ir pakalbėsime, kodėl ši technologija plačiai naudojama kuriant balsavimo sistemas. Dabar atkreipkime dėmesį į pagrindinę jo savybę: apskaitos sistemoje įrašytus šifruotus biuletenius galima sujungti be iššifravimo taip, kad tokio kombinuoto šifruoto teksto iššifravimo rezultatas būtų kiekvieno pasirinkimo biuletenyje suma. Tuo pačiu metu sistema, žinoma, įgyvendina matematinius tokio skaičiavimo teisingumo įrodymus, kurie taip pat įrašomi į apskaitos sistemą ir gali būti patikrinti stebėtojų.

Žemiau pateikiamas balsavimo proceso aprašymas.

Rusijos Federacijos centrinės rinkimų komisijos nuotolinio elektroninio balsavimo sistemos apžvalga
Paspaudžiamas

Blockchain platforma

Dabar, kai išnagrinėjome pagrindines nuotolinio elektroninio balsavimo sistemos diegimo ypatybes, atsakykime į klausimą, nuo kurio pradėjome – kokį vaidmenį čia atlieka blockchain technologija ir kokias problemas ji leidžia išspręsti?

Įdiegtoje nuotolinio balsavimo sistemoje blockchain technologija išsprendžia tam tikrą problemų spektrą.

  • Pagrindinis uždavinys – užtikrinti informacijos, visų pirma, balsavimo, vientisumą.
  • Programinio kodo, įdiegto išmaniųjų sutarčių forma, vykdymo skaidrumo ir nekintamumo užtikrinimas.
  • Balsavimo procese naudojamų duomenų apsaugos ir nekintamumo užtikrinimas: rinkėjų sąrašas, raktai, kuriais šifruojami biuleteniai įvairiuose kriptografinio protokolo etapuose ir pan.
  • Teikti decentralizuotą duomenų saugojimą, kai kiekvienas dalyvis turi absoliučiai identišką kopiją, patvirtintą sutarimo tinkle ypatybėmis.
  • Galimybė peržiūrėti sandorius ir sekti balsavimo eigą, kuri visiškai atsispindi blokų grandinėje, nuo jos pradžios iki apskaičiuotų rezultatų įrašymo.

Taigi matome, kad nenaudojant šios technologijos, pasiekti reikiamų savybių balsavimo sistemoje, taip pat ir pasitikėjimo ja, beveik neįmanoma.

Naudojamos blockchain platformos funkcionalumą praturtina išmaniųjų kontraktų naudojimas. Išmaniosios sutartys tikrina kiekvieną sandorį su šifruotais biuleteniais dėl elektroninių ir „aklųjų“ parašų autentiškumo, taip pat atlieka pagrindinius patikrinimus, ar teisingai užpildytas šifruotas biuletenis.

Be to, nagrinėjamoje nuotolinio elektroninio balsavimo sistemoje komponentas „Paskirstytas balsų saugojimas ir skaičiavimas“ neapsiriboja tik „blockchain“ mazgais. Kiekvienam mazgui gali būti dislokuotas atskiras serveris, kuris įgyvendina pagrindines balsavimo protokolo kriptografines funkcijas – skaičiavimo serverius.

Skaičiavimo serveriai

Tai yra decentralizuoti komponentai, kurie suteikia paskirstyto balsavimo biuletenio šifravimo rakto generavimo, taip pat balsavimo rezultatų iššifravimo ir skaičiavimo procedūrą. Jų užduotys apima:

  • Užtikrinti paskirstytą balsavimo biuletenio šifravimo rakto dalies generavimą. Raktų generavimo procedūra bus aptarta tolesniuose straipsniuose;
  • Užšifruoto balsavimo biuletenio teisingumo tikrinimas (jo neiššifruojant);
  • Apdoroti balsavimo biuletenius šifruotu pavidalu, kad būtų sukurtas galutinis šifruotas tekstas;
  • Paskirstytas galutinių rezultatų dekodavimas.

Kiekvienas kriptografinio protokolo vykdymo etapas yra įrašomas blokų grandinės platformoje ir stebėtojai gali patikrinti jo teisingumą.

Norint suteikti sistemai reikiamas savybes įvairiuose balsavimo proceso etapuose, naudojami šie kriptografiniai algoritmai:

  • Elektroninis parašas;
  • Aklas rinkėjo viešojo rakto pasirašymas;
  • ElGamal elipsinės kreivės šifravimo schema;
  • Nulinių žinių įrodymai;
  • Pedersen 91 DKG (Distributed Key Generation) protokolas;
  • Privataus rakto dalijimosi protokolas naudojant Shamir schemą.

Išsamiau apie kriptografijos paslaugą bus kalbama tolesniuose straipsniuose.

rezultatai

Apibendrinkime kai kuriuos tarpinius nuotolinio elektroninio balsavimo sistemos svarstymo rezultatus. Trumpai apibūdinome procesą ir pagrindinius jį įgyvendinančius komponentus, taip pat nustatėme priemones, leidžiančias pasiekti bet kokiai balsavimo sistemai reikalingas savybes:

  • Rinkėjo patikrinimas. Sistema priima tik patikrintų rinkėjų balsus. Ši savybė užtikrinama identifikuojant ir autentifikuojant rinkėjus, taip pat fiksuojant rinkėjų sąrašą ir prieigos prie balsavimo biuletenį suteikimo faktą blokų grandinėje.
  • Anonimiškumas. Sistema užtikrina Rusijos Federacijos teisės aktuose įtvirtintą balsavimo slaptumą, rinkėjo tapatybė negali būti nustatyta pagal šifruotą biuletenį. Įgyvendinta naudojant „aklo parašo“ algoritmą ir anoniminę zoną, skirtą užpildyti ir išsiųsti biuletenį.
  • Balsų konfidencialumas. Organizatoriai ir kiti balsavimo dalyviai negali sužinoti balsavimo rezultato, kol jis nebaigtas, suskaičiuoti balsai ir iššifruoti galutiniai rezultatai. Konfidencialumas užtikrinamas šifruojant biuletenius ir neleidžiant jų iššifruoti iki balsavimo pabaigos.
  • Duomenų nekintamumas. Rinkėjo duomenų keisti ar ištrinti negalima. Nekintamą duomenų saugojimą užtikrina „blockchain“ platforma.
  • Patikrinamumas. Stebėtojas gali patikrinti, ar balsai buvo suskaičiuoti teisingai.
  • Patikimumas. Sistemos architektūra grindžiama decentralizacijos principais, užtikrinančiais vieno „gedimo taško“ nebuvimą.

Šaltinis: www.habr.com

Добавить комментарий