Granskning av det elektroniska fjärromröstningssystemet för Ryska federationens centrala valkommission

Den 31 augusti 2020 ägde ett offentligt test av det elektroniska fjärromröstningssystemet (nedan kallat DEG) med blockkedjeteknik, utvecklat på order av Ryska federationens centrala valkommission, rum.

För att bekanta oss med det nya elektroniska röstningssystemet och förstå vilken roll blockchain-tekniken spelar i det och vilka andra komponenter som används, startar vi en serie publikationer som ägnas åt de viktigaste tekniska lösningarna som används i systemet. Vi föreslår att börja i ordning - med kraven på systemet och funktionerna hos deltagarna i processen

Systemkrav

De grundläggande kraven som gäller för alla röstningssystem är i allmänhet desamma för traditionell personlig röstning och för elektronisk fjärromröstning, och bestäms av den federala lagen av den 12.06.2002 juni 67 N 31.07.2020-FZ (som ändrad den XNUMX juli XNUMX) "Om grundläggande garantier rösträtt och rätten att delta i en folkomröstning för medborgare i Ryska federationen."

  1. Röstning i val och folkomröstningar är hemlig, exklusive möjligheten till någon kontroll över en medborgares vilja (artikel 7).
  2. Möjlighet att rösta bör endast ges till personer som har aktiv rösträtt för denna röst.
  3. En väljare – en röst, "dubbelröstning" är inte tillåten.
  4. Omröstningsprocessen måste vara öppen och transparent för väljare och observatörer.
  5. Integriteten hos den avgivna rösten måste säkerställas.
  6. Det ska inte vara möjligt att beräkna mellanröstningsresultatet innan omröstningen är avslutad.

Så vi har tre deltagare: väljaren, valkommissionen och observatören, mellan vilka interaktionsordningen bestäms. Det är också möjligt att peka ut en fjärde deltagare - de organ som utför registrering av medborgare på territoriet (främst inrikesministeriet, såväl som andra verkställande myndigheter), eftersom aktiv rösträtt är förknippad med medborgarskap och registreringsort.

Alla dessa deltagare interagerar med varandra.

Interaktionsprotokoll

Låt oss överväga omröstningsprocessen vid en traditionell vallokal, med en valurna och pappersröstsedlar. I allmänt förenklad form ser det ut så här: en väljare kommer till vallokalen och uppvisar en identifikationshandling (pass). Det finns en valkommission vid vallokalen, vars ledamot verifierar väljarens identitet och hans närvaro i den tidigare sammanställda väljarlistan. Om väljaren hittas ger en ledamot av kommissionen väljaren en röstsedel och väljaren skriver under för mottagande av röstsedeln. Därefter går väljaren till valstugan, fyller i valsedeln och lägger den i valurnan. För att säkerställa att alla förfaranden strikt följs av lag, övervakas allt detta av observatörer (representanter för kandidater, offentliga övervakningsinstitutioner). Efter avslutad omröstning räknar valkommissionen, i närvaro av observatörer, rösterna och fastställer omröstningsresultatet.

De egenskaper som krävs för att rösta i ett traditionellt röstningssystem tillhandahålls av organisatoriska åtgärder och det etablerade förfarandet för deltagarnas interaktion: kontroll av väljarnas pass, personlig underskrift för valsedlar, användning av röststugor och förseglade valurnor, proceduren för att räkna röster, etc. .

För ett informationssystem, som är ett elektroniskt fjärromröstningssystem, kallas denna interaktionsordning ett protokoll. Eftersom alla våra interaktioner blir digitala kan detta protokoll betraktas som en algoritm som implementeras av enskilda komponenter i systemet, och en uppsättning organisatoriska och tekniska aktiviteter som utförs av användare.

Digital interaktion ställer vissa krav på de implementerade algoritmerna. Låt oss titta på de åtgärder som utförs på en traditionell webbplats när det gäller informationssystem och hur detta implementeras i det DEG-system vi överväger.

Låt oss säga direkt att blockchain-teknik inte är en "silverkula" som löser alla problem. För att skapa ett sådant system var det nödvändigt att utveckla ett stort antal mjukvaru- och hårdvarukomponenter som ansvarade för olika uppgifter, och koppla dem till en enda process och protokoll. Men samtidigt interagerar alla dessa komponenter med blockchain-plattformen.

Systemkomponenter

Ur teknisk synvinkel är DEG-systemet ett mjukvaru- och hårdvarukomplex (nedan kallat STC), som kombinerar en uppsättning komponenter för att säkerställa interaktion mellan deltagare i valprocessen i en enhetlig informationsmiljö.

Interaktionsdiagrammet för komponenterna och deltagarna i DEG PTC-systemet visas i figuren nedan.

Granskning av det elektroniska fjärromröstningssystemet för Ryska federationens centrala valkommission
Klickbar

Fjärrröstningsprocess

Nu kommer vi att i detalj överväga processen för elektronisk fjärromröstning och dess implementering av komponenterna i DEG-program- och hårdvarukomplexet.

Enligt Förfarandet för elektronisk distansröstning ska en väljare lämna in en ansökan på Statens tjänsters portal för att ingå i deltagarlistan i elektronisk distansröstning. Samtidigt kan endast de användare som har ett bekräftat konto och framgångsrikt jämförts med väljarregistret, folkomröstningsdeltagare i det statliga automatiserade systemet "Val" lämna in en sådan ansökan. Efter att ha mottagit ansökan kontrolleras väljarnas data återigen av Rysslands centrala valkommission och laddas upp till Röstlista komponent PTC DEG. Nedladdningsprocessen åtföljs av inspelningen av unika identifierare i blockkedjan. Medlemmar av valkommissionen och observatörer har tillgång till listan med hjälp av en speciell automatiserad arbetsstation som finns i valkommissionens lokaler.

När en väljare besöker en vallokal blir denne autentiserad (jämfört med passdata) och identifierad i röstlängden samt kontrollerar att denna väljare inte tidigare har fått en röstsedel. En viktig poäng här är att det är omöjligt att fastställa om väljaren lagt den mottagna röstsedeln i valurnan eller inte, bara det faktum att röstsedeln redan utfärdats tidigare. I fallet med PTC DEG representerar ett väljares besök en användares begäran om att DEG portal är en webbplats som finns på vybory.gov.ru Liksom en traditionell vallokal innehåller webbplatsen informationsmaterial om pågående valkampanjer, information om kandidater och annan information. För att utföra identifiering och autentisering används ESIA för State Services Portal. Därmed bibehålls den allmänna identifieringsordningen både vid ansökan och vid omröstning.

Efter detta börjar anonymiseringsproceduren - väljaren får en röstsedel som inte innehåller några identifieringsmärken: den har inget nummer, den är inte på något sätt kopplad till den väljare som den utfärdades till. Det är intressant att överväga alternativet när vallokalen är utrustad med elektroniska omröstningskomplex - i det här fallet utförs anonymisering enligt följande: i stället för en pappersröstning ombeds väljaren att välja från en stack vilket kort som helst med en streckkod med vilken han kommer att närma sig röstningsapparaten. Det finns ingen uppgift om väljaren på kortet, endast en kod som avgör vilken röstsedel apparaten ska tillhandahålla vid uppvisande av ett sådant kort. Med en helt digital interaktion är huvuduppgiften att implementera en anonymiseringsalgoritm så att det å ena sidan är omöjligt att upprätta några användaridentifieringsdata, och å andra sidan att ge möjligheten att rösta endast till de användare som tidigare identifierats i listan. För att lösa detta problem använder DEG PTK en kryptografisk algoritm, känd i den professionella miljön som en "blind elektronisk signatur." Vi kommer att prata om det i detalj i följande publikationer och kommer också att publicera källkoden; du kan också samla in ytterligare information från publikationer på Internet med nyckelord - "kryptografiska hemliga röstningsprotokoll" eller "blind signatur"

Sedan fyller väljaren i röstsedeln på en plats där det är omöjligt att se valet som gjorts (en stängd bås) - om väljaren i vårt informationssystem fjärrröstar, så är den enda sådana platsen användarens personliga enhet. För att göra detta överförs användaren först till en annan domän − till den anonyma zonen. Innan du byter kan du höja din VPN-anslutning och ändra din IP-adress. Det är på denna domän som valsedeln visas och användarens val behandlas. Källkoden som körs på användarens enhet är initialt öppen – den kan ses i webbläsaren.

När valet är gjort krypteras röstsedeln på användarens enhet med hjälp av ett speciellt krypteringsschema, skickas och registreras i komponent "Distribuerad lagring och rösträkning", byggd på blockchain-plattformen.

En av de viktigaste egenskaperna hos protokollet är omöjligheten att känna till omröstningsresultaten innan det är klart. På en traditionell vallokal säkerställs detta genom att försegla valurnan och övervaka av observatörer. I digitala interaktioner är den bästa lösningen att kryptera väljarens val. Krypteringsalgoritmen som används förhindrar att resultaten avslöjas innan omröstningen är klar. För detta används ett schema med två nycklar: en (offentlig) nyckel, som är känd för alla deltagare, används för att kryptera rösten. Den kan inte dekrypteras med samma nyckel, en andra (privat) nyckel behövs. Den privata nyckeln är uppdelad mellan deltagare i valprocessen (medlemmar i valkommissioner, den offentliga kammaren, operatörer av räkneservrar, och så vidare) på ett sådant sätt att varje enskild del av nyckeln är värdelös. Du kan börja dekryptera först efter att den privata nyckeln har samlats in. I det aktuella systemet inkluderar nyckelseparationsproceduren flera steg: separation av en del av nyckeln inom systemet, separation av nyckeln utanför systemet och generering av en gemensam publik nyckel. Vi kommer att visa i detalj processen för kryptering och att arbeta med kryptografiska nycklar i framtida publikationer.

Efter att nyckeln har samlats in och laddats ner, börjar beräkningen av resultaten för deras fortsatta inspelning i blockkedjan och efterföljande tillkännagivande. Ett särdrag hos systemet som övervägs är användningen av homomorf krypteringsteknologi. Vi kommer att beskriva denna algoritm i detalj i framtida publikationer och prata om varför denna teknik används i stor utsträckning för att skapa röstningssystem. Låt oss nu notera dess huvuddrag: krypterade valsedlar som registrerats i redovisningssystemet kan kombineras utan dekryptering på ett sådant sätt att resultatet av dekryptering av en sådan kombinerad chiffertext blir det summerade värdet för varje val i valsedlarna. Samtidigt implementerar systemet naturligtvis matematiska bevis på riktigheten av en sådan beräkning, som också registreras i redovisningssystemet och kan verifieras av observatörer.

Nedan följer en översikt över omröstningsprocessen.

Granskning av det elektroniska fjärromröstningssystemet för Ryska federationens centrala valkommission
Klickbar

Blockchain-plattform

Nu när vi har undersökt huvuddragen i implementeringen av ett fjärrstyrt elektroniskt röstningssystem, låt oss svara på frågan som vi började med - vilken roll spelar blockchain-teknik i detta och vilka problem tillåter det att lösa?

I det implementerade fjärromröstningssystemet löser blockchain-tekniken ett visst antal problem.

  • Den grundläggande uppgiften är att säkerställa informationens integritet inom ramen för omröstning, och i första hand omröstningar.
  • Säkerställa transparens i exekvering och oföränderlighet av programkod implementerad i form av smarta kontrakt.
  • Säkerställa skyddet och oföränderligheten av data som används i röstningsprocessen: listan över väljare, nycklar som används för att kryptera valsedlar i olika stadier av det kryptografiska protokollet, och så vidare.
  • Tillhandahålla decentraliserad datalagring, där varje deltagare har en helt identisk kopia, bekräftad av egenskaperna för konsensus i nätverket.
  • Möjligheten att se transaktioner och spåra framstegen i omröstningen, vilket återspeglas fullt ut i blockkedjan, från dess början till inspelningen av de beräknade resultaten.

Således ser vi att utan att använda denna teknik är det nästan omöjligt att uppnå de nödvändiga egenskaperna i röstningssystemet, såväl som förtroende för det.

Funktionaliteten hos blockchain-plattformen som används berikas genom användningen av smarta kontrakt. Smarta kontrakt kontrollerar varje transaktion med krypterade valsedlar för äktheten av elektroniska och "blinda" signaturer, och utför också grundläggande kontroller av korrektheten av att fylla i den krypterade valsedeln.

Dessutom, i det övervägda elektroniska röstsystemet, är komponenten "Distribuerad lagring och rösträkning" inte bara begränsad till blockkedjenoder. För varje nod kan en separat server distribueras som implementerar de viktigaste kryptografiska funktionerna i röstningsprotokollet - räkneservrar.

Räknar servrar

Dessa är decentraliserade komponenter som tillhandahåller proceduren för distribuerad generering av en valsedelkrypteringsnyckel, samt dekryptering och beräkning av röstningsresultat. Deras uppgifter inkluderar:

  • Säkerställa distribuerad generering av en del av valsedelns krypteringsnyckel. Nyckelgenereringsproceduren kommer att diskuteras i följande artiklar;
  • Kontrollera att den krypterade valsedeln är korrekt (utan att dekryptera den);
  • Bearbeta röstsedlar i krypterad form för att generera den slutliga chiffertexten;
  • Distribuerad avkodning av slutresultat.

Varje steg av exekveringen av det kryptografiska protokollet registreras i blockchain-plattformen och kan kontrolleras för korrekthet av observatörer.

För att ge systemet de nödvändiga egenskaperna i olika skeden av röstningsprocessen, används följande kryptografiska algoritmer:

  • Elektronisk signatur;
  • Blind signering av väljarens offentliga nyckel;
  • ElGamal elliptisk kurvkrypteringsschema;
  • Noll-kunskapsbevis;
  • Pedersen 91 DKG (Distributed Key Generation) protokoll;
  • Privat nyckeldelningsprotokoll med Shamirs schema.

Den kryptografiska tjänsten kommer att diskuteras mer i detalj i följande artiklar.

Resultat av

Låt oss sammanfatta några mellanliggande resultat av övervägandet av det elektroniska fjärromröstningssystemet. Vi har kortfattat beskrivit processen och huvudkomponenterna som implementerar den, och även identifierat medlen för att uppnå de egenskaper som är nödvändiga för alla röstningssystem:

  • Verifierbarhet för väljare. Systemet accepterar endast röster från verifierade väljare. Den här egenskapen säkerställs genom att identifiera och autentisera väljare, samt registrera listan över väljare och det faktum att ge tillgång till röstsedeln i blockkedjan.
  • Anonymitet. Systemet säkerställer röstsekretessen, inskriven i Ryska federationens lagstiftning; väljarens identitet kan inte fastställas från en krypterad omröstning. Implementerad med en "blind signatur"-algoritm och en anonym zon för att fylla i och skicka valsedeln.
  • Röstsekretess. Arrangörer och andra röstande deltagare kan inte få reda på resultatet av omröstningen förrän den är klar, rösterna räknas och slutresultatet dechiffreras. Sekretess uppnås genom att man krypterar valsedlarna och gör dem omöjliga att dekryptera förrän efter omröstningen.
  • Data oföränderlighet. Väljaruppgifter kan inte ändras eller raderas. Oföränderlig datalagring tillhandahålls av blockchain-plattformen.
  • Verifierbarhet. Observatören kan kontrollera att rösterna räknats korrekt.
  • Надежность. Systemarkitekturen är baserad på principerna för decentralisering, vilket säkerställer frånvaron av en enda "point of failure".

Källa: will.com

Lägg en kommentar