Ülevaade elektroonilise kaughääletamise süsteemi anonüümseks muutmise protseduurist

В varasemad väljaanded Leppisime sellega, et kaalutavas elektroonilises kaughääletamise süsteemis kasutatakse hääletamise salajasuse tagamiseks ja valija anonüümseks muutmiseks krüptograafilist “pime elektroonilise allkirja” algoritmi. Selles artiklis vaatleme seda üksikasjalikumalt.

Kõigepealt pöördume tuntud ja tuttava elektroonilise allkirja algoritmi poole, mida kasutatakse infosüsteemides laialdaselt erinevatel eesmärkidel. Elektrooniline allkiri põhineb krüptograafilistel asümmeetrilistel krüpteerimisalgoritmidel. Asümmeetriline krüptimine on krüptimine kahe võtmega: ühte neist kasutatakse krüptimiseks, teist dekrüpteerimiseks. Neid nimetatakse avatud (avalik) ja privaatvõti. Avalik võti on teistele teada ja privaatvõti on teada ainult elektroonilise allkirja omanikule ning seda hoitakse teistele kättesaamatus kohas.

Allkirjastamisel juhtub järgmine: esiteks taandatakse elektrooniline dokument matemaatilisi teisendusi kasutades teatud suurusega tähemärkide jadaks - seda nimetatakse räsifunktsiooniks.

Saadud märgijada (räsi dokumendist) krüpteerib dokumendi saatja privaatvõtmega ja saadetakse koos avaliku võtmega adressaadile. Saaja dekrüpteerib märgijada avaliku võtme abil, rakendab dokumendile täpselt sama räsifunktsiooni ja võrdleb teisendustulemust dekrüpteerimise tulemusega. Kui kõik klapib, siis pärast saatja allkirjastamist dokumendis muudatusi ei tehtud.

Kirjeldatud toimingud võimaldavad teil kontrollida, et dokumenti pole muudetud, kuid ei võimalda teil kontrollida, kas saatja on tõesti see, kes ta väidab end olevat. Seetõttu vajame kolmandat osapoolt, keda usaldavad nii saatja kui ka saaja. Selleks võtab saatja enne dokumendi saatmist ühendust kolmanda osapoolega ja palub tal allkirjastada oma avalik võti oma elektroonilise allkirjaga. Saatja saadab nüüd adressaadile dokumendi, tema avaliku võtme ja tema võtme kolmanda osapoole allkirja. Saaja kontrollib kolmanda osapoole allkirja avalikul võtmel ja usaldab saadud dokumendi allkirja.

Liigume nüüd edasi selle juurde, mis on "pime allkiri" ja kuidas see aitab meid anonüümseks muutmisel.

Kujutagem ette, et ülalkirjeldatud näites on saatja valija, dokument on hääletussedel ja saaja on valimiskomisjon või nagu me ütlesime "häälte lugemise komponent". Meil on kolmanda osapoolena (validaatorina) komponent "Hääletajate nimekiri". Sel juhul võib protsess toimuda järgmiselt.

Ülevaade elektroonilise kaughääletamise süsteemi anonüümseks muutmise protseduurist

Valija genereerib oma seadmes võtmepaari – privaatsed ja avalikud. Kuna need võtmed luuakse tema isiklikus seadmes brauseris, on need teada ainult temale.

Neid võtmeid kasutades kirjutab ta hääletussedelile alla, et kontrollida selle terviklikkust. Ta saadab allkirjastatud sedeli ja avaliku võtme valimiskomisjonile. Hääletussedeli vastuvõtmiseks hajutatud häälte salvestamise ja loendamise komponent peab kontrollima, et avalik võti on valideerija poolt allkirjastatud.

Valideerija (Hääletajate nimekirja komponent) allkirjastab avaliku võtme alles pärast seda, kui on kontrollinud, et valija on valijate nimekirjas.

Hääletamise saladuse säilitamise probleemi lahendamiseks ei tohiks valija seadmes loodud avalik võti olla kellelegi teada. Selgub, et validaator peab allkirjastama midagi, mis on talle tundmatu. Ülesanne tundub võimatu, kuid siin tulevad appi krüptoalgoritmid - antud juhul "pimeallkirja" algoritm

Esiteks peab avalik võti olema valija seadmes maskeeritud. Maskeerimine on üksikute matemaatiliste toimingute sooritamine kasutaja seadmes. Kujutage ette, et mõtlesite juhuslikule arvule 1 kuni 100, seejärel teise juhusliku arvu 1 kuni 10 ja kolmanda 10 kuni 50, tõstsite algselt mõelnud arvu teise arvu astmeni ja jagasite selle ilma ülejäänu kolmandaks. Tulemusest teatati teistele. Algse numbri taastamine pole keeruline, kuna teate toimingute jada ja arve, mida silmas peate. Kuid teie ümber olevad inimesed ei saa seda teha.

Avaliku võtme maskeerimine (pimestamine) toimub spetsiaalse krüptoalgoritmi järgi. Selle tulemusena allkirjastab valideerija maskeeritud avaliku võtme algset võtit teadmata. Algoritmi eripära on aga see, et kasutaja (hääletaja), olles saanud maskeeritud võtmele allkirja, saab teha pöördteisendusi ja saada algse, maskeerimata võtme jaoks kehtiva signatuuri.

Kirjeldatud algoritmi kasutatakse laialdaselt salajase hääletamise protokollides. Elektrooniline kaughääletamise süsteem kasutab praegu pimedate allkirjade jaoks RSA-algoritmi võtmepikkusega 4096 bitti.

Üldiselt on anonüümseks muutmise protseduur järgmine.

  1. Kui hääl luuakse, luuakse eraldi "validaatori" võtmepaar ja avalik võti salvestatakse plokiahelasse. Iga hääle jaoks luuakse unikaalne võtmepaar.
  2. Kasutaja tuvastatakse identifitseerimissüsteemis (antud juhul ESIA-s) ja annab loa oma identifitseerimisandmete edastamiseks identifitseerimissüsteemist DEG PTC-sse.
  3. DEG PTC komponent “Hääletajate nimekiri” kontrollib kasutaja olemasolu hääletajate nimekirjas.
  4. Kasutaja seadmes luuakse tema isiklikud võtmed - privaatsed ja avalikud, mis on teada ainult temale.
  5. Avalik võti on kasutaja seadmes maskeeritud
  6. Koos identifitseerimisandmete ja maskeeritud avaliku võtmega pääseb kasutaja ligi komponendile “Hääletajate nimekiri”.
  7. Komponent kontrollib veel kord kasutaja olemasolu nimekirjas ja seda, et ta pole varem allkirja saanud
  8. Kui kõik kontrollid on edukad, allkirjastatakse võti
  9. Võtme allkirjastamise fakt salvestatakse plokiahelasse
  10. Kasutaja oma seadmes eemaldab avalikult võtmelt maski ja saab privaatvõtme, avaliku võtme ja allkirja avalikule võtmele ning kõik võtmed on teada ainult temale.
  11. Pärast seda suunatakse kasutaja anonüümsesse tsooni - eraldi veebisaidile edg2020.gov.ru, kus teda on võimatu tuvastada (näiteks enne üleminekut saab ta ühendada VPN-i või vahetada Interneti-pakkujat, muutes täielikult IP-aadress)
  12. Hääletussedeli vastuvõtmine sõltub ainult sellest, kas "validaatori" allkiri on kontrollitud ja kas sellist võtit pole varem kasutatud.

Järgmisena anname algoritmi kirjelduse krüptograafia seisukohalt.
Allkirja ja nimetuse võimalused:

Ülevaade elektroonilise kaughääletamise süsteemi anonüümseks muutmise protseduurist
Ülevaade elektroonilise kaughääletamise süsteemi anonüümseks muutmise protseduurist

M – allkirja jaoks FDN-i polsterduse vormingus.

Allikas: www.habr.com

Lisa kommentaar