Pregled postopka anonimizacije za sistem elektronskega glasovanja na daljavo

В prejšnje objave Odločili smo se, da se v sistemu elektronskega glasovanja na daljavo, o katerem razmišljamo, uporablja kriptografski algoritem »slepega elektronskega podpisa«, ki zagotavlja tajnost glasovanja in anonimizira volivca. V tem članku si ga bomo podrobneje ogledali.

Najprej se obrnemo na znani in znani algoritem elektronskega podpisa, ki se pogosto uporablja v informacijskih sistemih za različne namene. Elektronski podpis temelji na kriptografskih asimetričnih algoritmih šifriranja. Asimetrično šifriranje je šifriranje z uporabo dveh ključev: enega od njiju uporabljamo za šifriranje, drugega za dešifriranje. Imenujemo jih odprti (javni) in zasebni ključi. Javni ključ poznajo drugi, zasebni ključ pa pozna le lastnik elektronskega podpisa in je shranjen na mestu, ki je drugim nedostopno.

Pri podpisovanju se zgodi naslednje: najprej se elektronski dokument z matematičnimi transformacijami reducira na zaporedje znakov določene velikosti – to se imenuje zgoščevalna funkcija.

Dobljeno zaporedje znakov (hash iz dokumenta) pošiljatelj dokumenta šifrira z zasebnim ključem in ga skupaj z javnim ključem pošlje prejemniku. Prejemnik dešifrira zaporedje znakov z uporabo javnega ključa, uporabi popolnoma enako funkcijo zgoščevanja za dokument in primerja rezultat pretvorbe z rezultatom dešifriranja. Če se vse ujema, dokument ni bil spremenjen, potem ko ga je podpisal pošiljatelj.

Opisana dejanja vam omogočajo, da preverite, ali dokument ni bil spremenjen, vendar vam ne omogočajo, da preverite, ali je pošiljatelj res tisti, za katerega se predstavlja. Zato potrebujemo tretjo osebo, ki ji zaupata tako pošiljatelj kot prejemnik. V ta namen pošiljatelj pred pošiljanjem dokumenta kontaktira tretjo osebo in jo prosi, da z njenim elektronskim podpisom podpiše njegov javni ključ. Pošiljatelj zdaj prejemniku pošlje dokument, njegov javni ključ in podpis tretje osebe njegovega ključa. Prejemnik preveri podpis tretje osebe na javnem ključu in zaupa nastalemu podpisu dokumenta.

Zdaj pa preidimo na to, kaj je »slepi podpis« in kako nam lahko pomaga pri anonimizaciji.

Predstavljajmo si, da je v zgoraj opisanem primeru pošiljatelj volivec, dokument glasovnica, prejemnik pa volilna komisija ali kot smo rekli »komponenta štetja glasov«. Komponento “Volilni seznam” bomo imeli kot tretjo osebo (validator). V tem primeru se lahko postopek zgodi na naslednji način.

Pregled postopka anonimizacije za sistem elektronskega glasovanja na daljavo

Volivec na svoji napravi ustvari par ključev – zasebnega in javnega. Ker so ti ključi ustvarjeni na njegovi osebni napravi v brskalniku, so znani samo njemu.

S temi ključi bo podpisal glasovnico in tako nadzoroval njeno celovitost. Podpisano glasovnico in javni ključ pošlje volilni komisiji. Da komponenta Distributed Vote Storage and Counting sprejme glasovnico, mora preveriti, ali je javni ključ podpisal validator.

Validator (komponenta volilnega seznama) podpiše javni ključ šele, ko preveri, ali je volivec vpisan v volilni seznam.

Za rešitev problema ohranjanja tajnosti glasovanja javni ključ volivca, ustvarjen na njegovi napravi, ne sme biti znan nikomur. Izkazalo se je, da mora validator podpisati nekaj, kar mu ni znano. Naloga se zdi nemogoča, a tukaj na pomoč priskočijo kriptografski algoritmi - v tem primeru algoritem »slepega podpisa«.

Najprej mora biti javni ključ zamaskiran na volilčevi napravi. Maskiranje je izvajanje posameznih matematičnih operacij na uporabnikovi napravi. Predstavljajte si, da ste pomislili na naključno število od 1 do 100, nato pomislili na drugo naključno število od 1 do 10 in tretje, od 10 na 50, dvignili prvotno naključno število na potenco drugega števila in ga razdelili brez ostanek po tretjini. O rezultatu so poročali drugim. Ne bo vam težko obnoviti prvotne številke, saj poznate zaporedje dejanj in številke, ki jih imate v mislih. Toda tisti okoli vas tega ne bodo mogli storiti.

Maskiranje (blindiranje) javnega ključa se izvaja po posebnem kriptografskem algoritmu. Posledično validator podpiše maskirani javni ključ, ne da bi poznal izvirni ključ. Toda posebnost algoritma je, da lahko uporabnik (volivec), ki je prejel podpis za maskirani ključ, izvede obratne transformacije in pridobi podpis, ki je veljaven za izvirni, nemaskirani ključ.

Opisani algoritem se pogosto uporablja v protokolih tajnega glasovanja. Sistem elektronskega glasovanja na daljavo trenutno uporablja algoritem RSA z dolžino ključa 4096 bitov za slepe podpise.

Na splošno je postopek anonimizacije naslednji.

  1. Ko je ustvarjeno glasovanje, se ustvari ločen par ključev »validator«, javni ključ pa se zabeleži v verigi blokov. Za vsak glas se ustvari edinstven par ključev.
  2. Uporabnik je identificiran v identifikacijskem sistemu (v tem primeru v ESIA) in daje dovoljenje za prenos svojih identifikacijskih podatkov iz identifikacijskega sistema v DEG PTC.
  3. Komponenta “Volilni seznam” DEG PTC preverja prisotnost uporabnika v volilnem seznamu.
  4. Na uporabnikovi napravi se ustvarijo njegovi osebni ključi - zasebni in javni, ki jih pozna samo on.
  5. Javni ključ je maskiran na uporabnikovi napravi
  6. Skupaj z identifikacijskimi podatki in maskiranim javnim ključem uporabnik dostopa do komponente »Volilni seznam«.
  7. Komponenta še enkrat preveri prisotnost uporabnika na seznamu in dejstvo, da še ni prejel podpisa
  8. Če so vsi pregledi uspešni, je ključ podpisan
  9. Dejstvo podpisa ključa se zabeleži v verigi blokov
  10. Uporabnik na svoji napravi odstrani masko z javnega ključa in prejme zasebni ključ, javni ključ in podpis na javnem ključu, vsi ključi pa so znani samo njemu.
  11. Po tem se uporabnik prenese v anonimno cono - na ločeno spletno mesto edg2020.gov.ru, kjer ga ni mogoče identificirati (na primer, pred prehodom lahko poveže VPN ali zamenja svojega internetnega ponudnika in popolnoma spremeni IP naslov)
  12. Sprejem glasovnice bo odvisen le od tega, ali je podpis potrjevalca overjen in ali tak ključ ni bil že uporabljen.

Nato podamo opis algoritma z vidika kriptografije.
Možnosti podpisa in označbe:

Pregled postopka anonimizacije za sistem elektronskega glasovanja na daljavo
Pregled postopka anonimizacije za sistem elektronskega glasovanja na daljavo

M – v obliki oblazinjenja FDN za podpis.

Vir: www.habr.com

Dodaj komentar