Pregled procedure anonimnosti sustava daljinskog elektroničkog glasovanja

U prethodnim objavama stanovili smo da se u razmatranom sustavu daljinskog elektroničkog glasovanja za osiguranje tajnosti glasovanja i anonimnosti birača koristi kriptografski algoritam 'slijepa elektronička potpis'. U ovom članku ćemo ga detaljnije pregledati.

Prvo ćemo se osvrnuti na poznati i dobro poznat algoritam elektroničkog potpisa, koji se široko primjenjuje u informacijskim sustavima raznih namjena. Temelj elektroničkog potpisa leži u kriptografskim algoritmima asimetrične enkripcije. Asimetrična enkripcija je enkripcija pomoću dva ključa: jedan se koristi za enkripciju, a drugi za dekripciju. Oni se nazivaju otvorenim (javnim) i zatvorenim ključem. Otvoreni ključ je poznat svima, dok je zatvoren samo vlasniku elektroničkog potpisa i čuva se na mjestu koje nije dostupno drugima.

Prilikom potpisivanja događa se sljedeće: najprije se elektronički dokument, pomoću matematičkih transformacija, dovodi do sekvence simbola određene veličine – to se naziva hash funkcijom.

Dobivena sekvenca simbola (hash dokumenta) šifrira pošiljatelj dokumenta pomoću zatvorenog ključa i zajedno s otvorenim ključem šalje primatelju. Primatelj dešifrira pomoću otvorenog ključa sekvencu simbola, primjenjuje istu hash funkciju na dokument i uspoređuje rezultat transformacije s rezultatom dešifriranja. Ako se sve poklapa, tada na dokumentu nije bilo promjena nakon što ga je potpisao pošiljatelj.

Opisane radnje omogućuju da se uvjerimo da dokument nije mijenjan, ali ne omogućuju da se uvjerimo da je pošiljatelj doista onaj za koga se predstavlja. Stoga nam je potrebna treća strana kojoj vjeruju i pošiljatelj i primatelj. U tu svrhu, prije slanja dokumenta, pošiljatelj se obraća trećoj strani i traži od nje da svojim elektroničkim potpisom potpiše njegov otvoreni ključ. Sada pošiljatelj šalje primatelju dokument, svoj otvoreni ključ i potpis treće strane svog ključa. Primatelj provjerava potpis treće strane otvorenog ključa i vjeruje dobivenom potpisu dokumenta.

Sada ćemo preći na to što je „slijepa potpis“ i kako nam može pomoći u anonimnosti.

Zamislite da je u navedenom primjeru pošiljatelj – birač, dokument – listić, a primatelj – biračka komisija, ili kako smo rekli „komponenta za praćenje i brojanje glasova“. Kao treća strana (validant) imat ćemo komponentu „Popis birača“. U tom slučaju proces može izgledati ovako.

Pregled procedure anonimnosti sustava daljinskog elektroničkog glasovanja

Birač na svom uređaju generira par ključeva – privatni i javni. Budući da se ti ključevi stvaraju na njegovom osobnom uređaju u pregledniku, oni su poznati samo njemu.

Pomoću tih ključeva potpisat će listić radi provjere njegove cjelovitosti. Potpisani listić i javni ključ šalje biračkoj komisiji. Da bi listić bio prihvaćen od strane komponente „Distribuirano pohranjivanje i brojanje glasova“, mora provjeriti da je javni ključ potpisan od strane validanta.

Validant (komponenta „Popis birača“) potpisat će javni ključ tek nakon što se uvjeri da je birač prisutan na popisu birača.

Za rješavanje zadatka očuvanja tajnosti glasovanja, javni ključ birača, generiran na njegovom uređaju, ne smije biti poznat nikome. Tako valjdant mora potpisati ono što mu nije poznato. Čini se da je zadatak nemoguć, ali ovdje dolaze u pomoć kriptografski algoritmi – u ovom slučaju algoritam „slijepog potpisa“.

Prvo, na uređaju birača javni ključ mora biti prikriven. Prikrivanje je izvršavanje pojedinih matematičkih radnji na korisničkom uređaju. Zamislite da ste zamislili neko nasumično broj od 1 do 100, zatim drugo nasumično od 1 do 10 i treće, od 10 do 50, pri čemu ste zamislili broj povisili na drugi broj i podijelili bez ostatka s trećim. Dobiveni rezultat ste rekli drugima. Nećete imati problema s vraćanjem prvobitnog broja, jer znate redoslijed radnji i zamislili ste brojeve. No drugi to neće moći učiniti.

Maskiranje (osljepljenje) javnog ključa vrši se prema posebnom kriptografskom algoritmu. Kao rezultat, validator potpisuje zamaskirani javni ključ, pri čemu mu izvorni ključ nije poznat. No, posebnost algoritma je u tome što korisnik (biratelj), primivši potpis na zamaskirani ključ, može napraviti obrnute promjene i dobiti potpis koji vrijedi i za izvorni, nezamaskirani ključ.

Opisani algoritam se široko koristi u protokolima tajnog glasovanja. U sustavu daljinskog elektroničkog glasovanja trenutno se za slijepu potpisivanje koristi RSA algoritam s dužinom ključa od 4096 bita.

U općem obliku, procedura anonimnosti izgleda ovako.

  1. Prilikom kreiranja glasovanja stvara se zaseban ključni par "validatora", a javni ključ se zapisuje u blockchain. Za svako glasovanje stvara se jedinstveni ključni par.
  2. Korisnik se identificira u sustavu identifikacije (u ovom slučaju, u EGD-u) i daje dopuštenje za prijenos svojih identifikacijskih podataka iz sustava identifikacije u PTK DÉG.
  3. Komponenta "Popis birača" PTK DÉG provjerava ima li korisnik pravo glasa.
  4. Na korisničkom uređaju stvaraju se njegovi osobni ključevi – privatni i javni, poznati samo njemu.
  5. Na korisničkom uređaju javni ključ se maskira.
  6. Zajedno s identifikacijskim podacima i zamaskiranim javnim ključem, korisnik se obraća komponenti "Popis birača".
  7. Komponenta još jednom provjerava ima li korisnik pravo glasa i činjenicu da ranije nije primio potpis.
  8. Ako su svi pregledi uspješni, dolazi do potpisivanja ključa.
  9. Činjenica potpisivanja ključa se bilježi u blockchain.
  10. Korisnik na svom uređaju skida masku s javnog ključa i dobiva privatni ključ, javni ključ i potpis na javni ključ, pri čemu su svi ključevi samo njemu poznati.
  11. Nakon toga korisnik se prebacuje u anonimnu zonu – na zasebnu stranicu edg2020.gov.ru, gdje ga nije moguće identificirati (na primjer, prije prijelaza može spojiti VPN ili promijeniti internetskog davatelja, potpuno mijenjajući IP adresu).
  12. Prihvat listića ovisit će samo o tome hoće li proći provjeru potpis "validatora" i nije li takav ključ ranije korišten.

Sljedeće ćemo opisati algoritam s gledišta kriptografije.
Parametri potpisa i oznake:

Pregled procedure anonimnosti sustava daljinskog elektroničkog glasovanja
Pregled procedure anonimnosti sustava daljinskog elektroničkog glasovanja

M – u formatu padding FDN za potpis.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster