Översikt över anonymiseringsproceduren för det elektroniska fjärromröstningssystemet

В tidigare publikationer Vi bestämde oss för att i det elektroniska fjärromröstningssystemet vi överväger, används en kryptografisk "blind elektronisk signatur"-algoritm för att säkerställa röstsekretessen och anonymisera väljaren. I den här artikeln kommer vi att titta på det mer i detalj.

Låt oss först vända oss till den välkända och välbekanta elektroniska signaturalgoritmen, som används flitigt i informationssystem för olika ändamål. Den elektroniska signaturen är baserad på kryptografiska asymmetriska krypteringsalgoritmer. Asymmetrisk kryptering är kryptering med två nycklar: en av dem används för kryptering, den andra för dekryptering. De kallas öppen (public) och privat nyckel. Den publika nyckeln är känd för andra, och den privata nyckeln är endast känd för ägaren av den elektroniska signaturen och lagras på en plats oåtkomlig för andra.

Vid signering händer följande: för det första reduceras det elektroniska dokumentet, med hjälp av matematiska transformationer, till en sekvens av tecken av en viss storlek - detta kallas en hashfunktion.

Den resulterande teckensekvensen (en hash från dokumentet) krypteras av avsändaren av dokumentet med hjälp av en privat nyckel och skickas tillsammans med den publika nyckeln till mottagaren. Mottagaren dekrypterar teckensekvensen med den publika nyckeln, tillämpar exakt samma hashfunktion på dokumentet och jämför konverteringsresultatet med dekrypteringsresultatet. Om allt stämmer, gjordes inga ändringar i dokumentet efter att det undertecknats av avsändaren.

De beskrivna åtgärderna låter dig verifiera att dokumentet inte har ändrats, men låter dig inte verifiera att avsändaren verkligen är den han utger sig för att vara. Därför behöver vi en tredje part som är betrodd av både avsändaren och mottagaren. För att göra detta, innan han skickar dokumentet, kontaktar avsändaren en tredje part och ber henne att signera sin publika nyckel med sin elektroniska signatur. Avsändaren skickar nu dokumentet, hans publika nyckel och en tredje parts signatur av hans nyckel till mottagaren. Mottagaren verifierar tredje partens signatur på den publika nyckeln och litar på den resulterande dokumentsignaturen.

Låt oss nu gå vidare till vad en "blind signatur" är och hur den kan hjälpa oss med anonymisering.

Låt oss föreställa oss att i exemplet som beskrivs ovan är avsändaren väljaren, dokumentet är röstsedeln och mottagaren är valkommissionen, eller som vi sa "räknekomponenten". Vi kommer att ha komponenten "Voter List" som en tredje part (validator). I det här fallet kan processen ske enligt följande.

Översikt över anonymiseringsproceduren för det elektroniska fjärromröstningssystemet

Väljaren genererar ett par nycklar på sin enhet – privata och offentliga. Eftersom dessa nycklar skapas på hans personliga enhet i webbläsaren är de bara kända för honom.

Med hjälp av dessa nycklar kommer han att underteckna valsedeln för att kontrollera dess integritet. Han skickar den undertecknade röstsedeln och den offentliga nyckeln till valkommissionen. För att en omröstning ska accepteras av komponenten Distributed Vote Storage and Counting, måste den verifiera att den publika nyckeln är signerad av valideraren.

Validatorn (Voter List-komponenten) kommer att signera den offentliga nyckeln först efter att ha verifierat att väljaren finns på röstlistan.

För att lösa problemet med att bevara röstsekretessen bör väljarens offentliga nyckel som skapats på hans enhet inte vara känd för någon. Det visar sig att valideraren måste skriva på något som är okänt för honom. Uppgiften verkar omöjlig, men här kommer kryptografiska algoritmer till undsättning - i det här fallet "blind signatur" -algoritmen

Först måste den offentliga nyckeln vara maskerad på väljarens enhet. Maskering är utförandet av individuella matematiska operationer på användarens enhet. Föreställ dig att du tänkte på ett slumptal från 1 till 100, sedan tänkte på ett andra slumptal från 1 till 10 och ett tredje, från 10 till 50, höjde det ursprungliga tänkta talet till potensen av det andra talet och delade det utan en återstod av den tredje. Resultatet rapporterades till andra. Det kommer inte att vara svårt för dig att återställa det ursprungliga numret, eftersom du vet sekvensen av åtgärder och siffrorna du har i åtanke. Men de omkring dig kommer inte att kunna göra detta.

Maskering (blindning) av den publika nyckeln utförs enligt en speciell kryptografisk algoritm. Som ett resultat signerar valideraren en maskerad offentlig nyckel utan att känna till den ursprungliga nyckeln. Men det speciella med algoritmen är att användaren (väljaren), efter att ha fått en signatur för en maskerad nyckel, kan göra omvända transformationer och få en signatur som är giltig för den ursprungliga, omaskerade nyckeln.

Den beskrivna algoritmen används i stor utsträckning i hemliga röstningsprotokoll. Det elektroniska fjärromröstningssystemet använder för närvarande RSA-algoritmen med en nyckellängd på 4096 bitar för blindsignaturer.

I allmänhet är anonymiseringsproceduren följande.

  1. När en röst skapas skapas ett separat "validator"-nyckelpar och den publika nyckeln registreras i blockkedjan. Ett unikt nyckelpar skapas för varje röst.
  2. Användaren identifieras i identifieringssystemet (i detta fall i ESIA) och ger tillstånd att överföra sina identifieringsdata från identifieringssystemet till DEG PTC.
  3. "Voter List"-komponenten i DEG PTC kontrollerar närvaron av användaren i röstlistan.
  4. På användarens enhet skapas hans personliga nycklar - privata och offentliga, endast kända för honom.
  5. Den publika nyckeln är maskerad på användarens enhet
  6. Tillsammans med identifieringsdata och en maskerad offentlig nyckel får användaren tillgång till komponenten "Voter List"
  7. Komponenten kontrollerar återigen närvaron av användaren i listan och det faktum att han inte har fått en signatur tidigare
  8. Om alla kontroller lyckas signeras nyckeln
  9. Faktumet att signera nyckeln registreras i blockchain
  10. Användaren på sin enhet tar bort masken från den publika nyckeln och får en privat nyckel, en publik nyckel och en signatur på den publika nyckeln, och alla nycklar är bara kända för honom.
  11. Efter detta överförs användaren till en anonym zon - till en separat webbplats edg2020.gov.ru, där det är omöjligt att identifiera honom (till exempel innan övergången kan han ansluta en VPN eller byta internetleverantör, helt ändra IP-adress)
  12. Godkännandet av röstsedeln beror bara på om "validatorns" signatur är verifierad och om en sådan nyckel inte har använts tidigare.

Därefter ger vi en beskrivning av algoritmen ur kryptografisynpunkt.
Signatur- och beteckningsalternativ:

Översikt över anonymiseringsproceduren för det elektroniska fjärromröstningssystemet
Översikt över anonymiseringsproceduren för det elektroniska fjärromröstningssystemet

M – i FDN-utfyllnadsformat för signatur.

Källa: will.com

Lägg en kommentar