Pregled postupka anonimizacije za daljinski elektronski sistem glasanja

В prethodne publikacije Sredili smo se da se u sistemu daljinskog elektronskog glasanja koji razmatramo koristi kriptografski algoritam „slijepog elektronskog potpisa“ kako bi se osigurala tajnost glasanja i anonimizirao birač. U ovom članku ćemo ga detaljnije pogledati.

Prvo, osvrnimo se na dobro poznati i poznati algoritam elektronskog potpisa, koji se široko koristi u informacionim sistemima u različite svrhe. Elektronski potpis je baziran na kriptografskim asimetričnim algoritmima šifriranja. Asimetrična enkripcija je šifriranje pomoću 2 ključa: jedan se koristi za šifriranje, drugi za dešifriranje. Zovu se otvoreni (javni) i privatni ključ. Javni ključ je poznat drugima, a privatni ključ je poznat samo vlasniku elektronskog potpisa i čuva se na mestu nedostupnom drugima.

Prilikom potpisivanja događa se sljedeće: prvo se elektronski dokument, koristeći matematičke transformacije, svodi na niz znakova određene veličine - to se zove hash funkcija.

Rezultirajući niz znakova (heš iz dokumenta) šifrira pošiljatelj dokumenta korištenjem privatnog ključa i, zajedno s javnim ključem, šalje se primaocu. Primalac dešifrira niz znakova koristeći javni ključ, primjenjuje potpuno istu hash funkciju na dokument i uspoređuje rezultat konverzije s rezultatom dešifriranja. Ako se sve poklapa, onda se dokument ne mijenja nakon što ga je potpisao pošiljalac.

Opisane radnje vam omogućavaju da provjerite da dokument nije promijenjen, ali ne i da provjerite da li je pošiljatelj zaista onaj za koga se predstavlja. Stoga nam je potrebna treća strana kojoj vjeruju i pošiljatelj i primalac. Da bi to učinio, prije slanja dokumenta, pošiljalac kontaktira treću stranu i traži od nje da svojim elektronskim potpisom potpiše njegov javni ključ. Pošiljalac sada primatelju šalje dokument, njegov javni ključ i potpis treće strane njegovog ključa. Primalac provjerava potpis treće strane na javnom ključu i vjeruje rezultirajućem potpisu dokumenta.

Sada pređimo na to šta je “slijepi potpis” i kako nam može pomoći u anonimizaciji.

Zamislimo da je u gore opisanom primjeru pošiljalac birač, dokument je glasački listić, a primalac izborna komisija, ili kako smo rekli „komponenta brojanja glasova“. Imaćemo komponentu „Spisak birača“ kao treću stranu (validator). U ovom slučaju, proces se može odvijati na sljedeći način.

Pregled postupka anonimizacije za daljinski elektronski sistem glasanja

Birač generiše par ključeva na svom uređaju – privatni i javni. Pošto su ovi ključevi kreirani na njegovom ličnom uređaju u pretraživaču, oni su poznati samo njemu.

Koristeći ove ključeve, on će potpisati glasački listić kako bi kontrolirao njegov integritet. Potpisani glasački listić i javni ključ šalje izbornoj komisiji. Da bi glasački listić bio prihvaćen od strane komponente Distribuirano skladištenje i brojanje glasova, ona mora potvrditi da je javni ključ potpisan od strane validatora.

Validator (komponenta biračkog spiska) će potpisati javni ključ tek nakon što potvrdi da je birač na biračkom spisku.

Da bi se riješio problem očuvanja tajnosti glasanja, javni ključ birača kreiran na njegovom uređaju nikome ne bi trebao biti poznat. Ispada da validator mora potpisati nešto što mu je nepoznato. Zadatak se čini nemogućim, ali ovdje kriptografski algoritmi dolaze u pomoć - u ovom slučaju algoritam "slijepi potpis"

Prvo, javni ključ mora biti maskiran na uređaju birača. Maskiranje je izvođenje pojedinačnih matematičkih operacija na uređaju korisnika. Zamislite da ste pomislili na slučajni broj od 1 do 100, zatim na drugi slučajni broj od 1 do 10 i treći, od 10 do 50, podigli prvobitno zamišljeni broj na stepen drugog broja i podijelili ga bez ostatak za trećinu. Rezultat je dostavljen drugima. Neće vam biti teško vratiti originalni broj, jer znate redoslijed radnji i brojeve koje imate na umu. Ali oni oko vas to neće moći.

Maskiranje (zasljepljivanje) javnog ključa se vrši prema posebnom kriptografskom algoritmu. Kao rezultat toga, validator potpisuje maskirani javni ključ bez poznavanja originalnog ključa. Ali posebnost algoritma je da korisnik (glasač), nakon što je dobio potpis za maskirani ključ, može izvršiti obrnute transformacije i dobiti potpis koji vrijedi za originalni, nemaskirani ključ.

Opisani algoritam se široko koristi u protokolima tajnog glasanja. Sistem daljinskog elektronskog glasanja trenutno koristi RSA algoritam sa dužinom ključa od 4096 bita za slijepe potpise.

Općenito, postupak anonimizacije je sljedeći.

  1. Kada se kreira glasanje, kreira se poseban par ključeva "validatora", a javni ključ se bilježi u blockchain. Za svaki glas kreira se jedinstveni par ključeva.
  2. Korisnik se identifikuje u identifikacionom sistemu (u ovom slučaju u ESIA) i daje dozvolu za prenos njegovih identifikacionih podataka iz identifikacionog sistema u DEG PTC.
  3. Komponenta „Spisak birača“ DEG PTC-a provjerava prisustvo korisnika na biračkom spisku.
  4. Na uređaju korisnika kreiraju se njegovi lični ključevi - privatni i javni, samo njemu poznati.
  5. Javni ključ je maskiran na uređaju korisnika
  6. Zajedno sa identifikacionim podacima i maskiranim javnim ključem, korisnik pristupa komponenti „Spisak birača“.
  7. Komponenta još jednom provjerava prisutnost korisnika na listi i činjenicu da ranije nije dobio potpis
  8. Ako su sve provjere uspješne, ključ je potpisan
  9. Činjenica potpisivanja ključa je zabilježena u blockchainu
  10. Korisnik na svom uređaju skida masku sa javnog ključa i dobija privatni ključ, javni ključ i potpis na javnom ključu, a svi ključevi su samo njemu poznati.
  11. Nakon toga, korisnik se prebacuje u anonimnu zonu - na zasebnu web stranicu edg2020.gov.ru, gdje ga je nemoguće identificirati (na primjer, prije tranzicije može povezati VPN ili promijeniti svog internet provajdera, potpuno mijenjajući IP adresa)
  12. Prihvatanje glasačkog listića zavisiće samo od toga da li je overen potpis „validatora“ i da li takav ključ ranije nije korišćen.

Zatim dajemo opis algoritma sa stanovišta kriptografije.
Opcije potpisa i označavanja:

Pregled postupka anonimizacije za daljinski elektronski sistem glasanja
Pregled postupka anonimizacije za daljinski elektronski sistem glasanja

M – u FDN formatu dopuna za potpis.

izvor: www.habr.com

Dodajte komentar