Inom kryptografi är hemliga röstningsprotokoll datautbytesprotokoll för att implementera säker hemlig elektronisk röstning över Internet med hjälp av datorer, telefoner eller andra speciella datorer [1] . Denna kryptografi är fortfarande under utveckling, men används redan i praktiken.
Många länder i världen [2] [3] , inklusive Ryssland [4][ inte i källan ] inför redan elektronisk röstning på kommunal nivå och uppåt. För att säkerställa korrektheten, tillförlitligheten och konfidentialiteten för sådana val använder de beprövade säkerhetsprotokoll som förlitar sig på beprövade kryptografiska system, såsom asymmetrisk kryptering och elektronisk signatur . Dessutom behöver de ett färdigt material och rättslig grund. Sammanflödet av alla dessa faktorer utgör det direkta instrumentet för e-demokrati .
I samband med datornätverkens snabba utveckling sker en naturlig "digitalisering" av olika livsområden, till exempel uppkomsten av elektroniska valutor . På samma sätt har digital röstning , e-demokratins främsta verktyg , vuxit fram . Under lång tid fungerade mekaniska medel som ersättning för vanliga valsedlar vid omröstning, eller ansvarade bara för automatisk räkning av pappersröstsedlar. Huvudarbetet med att kontrollera väljare och registrera röster utfördes av andra personer. Med ett sådant system fanns det inget behov av de protokoll som beskrivs nedan. Men på senare år, tack vare utvecklingen av Internet, har röstningen blivit helt automatiserad . Att rösta på distans har många fördelar. Det antas att de är mer bekväma för slutanvändare, eftersom folk kan rösta utan att lämna sina hem, detta ökar väljarnas aktivitet. Att upprätthålla elektronisk röstning är billigare: istället för att ständigt skriva ut röstsedlar räcker det att utveckla ett system en gång [5] [6] . Dessutom, från antagandet att ingen kan störa programmet på röstningsanordningen, följer att elektronisk röstning är mindre mottaglig för korruption, administrativt tryck och mänskliga faktorer [5] [7] [8] .
Detta väcker dock ett antal specifika problem som hindrar valens integritet. Till exempel, under de elektroniska valen i Nederländerna och Frankrike, uppstod tvivel om sanningen i de resultat som erhölls med hjälp av maskiner [3] . På distans är det mycket svårare att auktorisera en väljare eller se till att ingen påverkade röstningsprocessen. Däremot ger Internet fler möjligheter för vanliga väljare att kontrollera om rösten är korrekt räknad. För närvarande är elektronisk röstning helt laglig eller delvis tillämplig i många länder i världen [9] . I takt med att fler och fler människor är inblandade i dem, finns det ett ökande behov av säkrare och effektivare metoder för att genomföra dem, för vilka särskilda kryptografiska protokoll kallas.
En central del av regleringen av elektronisk röstning är konsolideringen av dess möjlighet i statens konstitution. Sådana artiklar har konstitutionerna i USA, Schweiz, Estland, Storbritannien och några andra länder [10] . Det finns en grupp länder, som inkluderar till exempel Finland, Tyskland och Ryssland [11] , som har erfarenhet av att hålla sådana val, men som ännu inte har infört sin fullständiga reglering i lagstiftningen. Detta är naturligtvis inte det enda byråkratiska hindret. Specifikationer krävs också för den teknik med vilken röstningen utförs, metoder för att kontrollera resultatets ärlighet, protokoll vid avbrott i omröstningen och skapandet av själva den tekniska basen. Utifrån dessa parametrar är det möjligt att beräkna landets beredskapsindex för införandet av digital röstning (och dess specifika protokoll) [12] .
Estland [13] var det första landet som genomförde lagliga nationella val via Internet, följt av Nederländerna och Schweiz. I Ryssland har hemliga e-röstningsprotokoll hittills endast använts på experimentnivå (till exempel på Seliger-2009-forumet ), men CEC tog initiativet till att utveckla e-röstning, särskilt i ryskt intresse. medborgare utomlands [14] .
Hur som helst så är själva röstningsprotokollet inte fastställt i någon lagstiftning. Detta görs av många anledningar, allt från den kvarvarande bristen på förtroende för elektroniska röstningsmetoder, som slutar med en enklare övergång från den nuvarande metoden att genomföra till en mer effektiv. Teknikens framsteg gjorde det möjligt att tänka på att rösta via Internet för bara cirka 20 år sedan [ förtydliga ] , så denna del av kryptografi är fortfarande under utveckling. Det finns inga allmänt accepterade böcker om det, och inget protokoll har ännu fått överväldigande stöd från specialister [5] . Problemet förvärras av att organisationer med erfarenhet av att implementera dessa system föredrar att inte publicera detaljerade rapporter som beskriver systemet och de problem som uppstod vid införandet av det.
Nu för enkla undersökningar eller röstning inom små grupper används en trivial algoritm . I de fall där rösträkningsagenten inte har någon speciell anledning att fuska, är detta protokoll det bästa alternativet. I val på statlig nivå är ändringar av Fujioka-Okamoto-Ota-protokollet de vanligaste [13] [15] . Det var han som visade de bästa resultaten i experimentvalen och skapade ett positivt internationellt prejudikat för tillförlitligt genomförande av val via Internet. För den och några av dess ändringar finns det program och elektroniska röstningsmedel tillgängliga för användning av enskilda [16] . Dessutom tar många vetenskapliga artiklar som beskriver nya hemliga röstningsprotokoll det som grund. Kanske, på grund av utvecklingen av teknik och sänkning av priset på högpresterande system, kommer prejudikat för användningen av He-Su-protokollet [17] att dyka upp inom en snar framtid . Även om det redan har sina ändringar, tillämpades i praktiken detta protokoll endast i experimentella studentval [18] . Detsamma kan sägas om ANDOS-protokollet . Även om författarna till många artiklar hävdar att det kan genomföras effektivt, fanns det bara prejudikat för dess användning i lokala val [19] . De återstående protokollen presenteras som en övergång från enkla till komplexa eller möjliga modifieringar för att uppnå ytterligare mål.
Önskvärd:
Saken kompliceras inte bara av att röstdeltagarna och den myndighet som bedriver den har anledning att inte lita på varandra, utan också av att själva röstningsprocessen måste skyddas från inblandning utifrån. Om vi drar en analogi med presidentval, då måste väljarna skydda sig från valsedlar fyllda av valkommittén, CEC är skyldigt att se till att röster inte kan säljas av medborgare, och tillsammans måste de förhindra inblandning av agenter från andra länder [20 ] .
Vissa krav står i konflikt med varandra. Till exempel ger möjligheten att kontrollera hur en viss väljare (även han själv) röstat en möjlighet att sälja röster, och ytterligare skyddsskikt minskar feltoleransen och kostnadseffektiviteten. Det antas allmänt att valbyråns skydd mot bedrägeri har företräde framför förhindrande av röstförsäljning. För det första orsakar det mycket mer skada, och för det andra, även om protokollet garanterar omöjligheten att bevisa för en utomstående vem rösten avgavs på, kan väljaren hitta lösningar. Rösta till exempel precis framför köparen. Skydd från yttre störningar har dock företräde framför allt annat [24] .
En enkel elektronisk röstningsalgoritm är i huvudsak en korrespondens med elektroniska signaturer mellan en valnämnd och ett flertal väljare. Låt här och nedan: A - en byrå som bedriver elektronisk röstning ( eng. byrå ), E - en väljare, en legitim väljare ( eng. elector ), B - en digital omröstning . B kan innehålla ett nummer, namnet på kandidaten, en lång text eller andra uppgifter som indikerar valet av E , som verifierar det eller är nödvändigt för att stärka protokollets säkerhet [20] . Omröstningsprocessen ser ut så här:
Steg 1-3 krävs. Huvudmålet är att fastställa och meddela antalet aktiva deltagare n . Även om vissa av dem kanske inte deltar, och vissa kanske inte ens existerar alls (”döda själar” introducerade med illvillighet av A ), är förmågan att manipulera A :s röst märkbart reducerad. I framtiden kommer dessa steg att betraktas som ett steg "för att godkänna listorna".
Steg 4. A skapar en offentlig och privat nyckel och gör den offentlig . Vem som helst kan kryptera ett meddelande med , men bara A kan dekryptera det . Steg 5EDetta protokoll är extremt enkelt, men det är tillräckligt för att skydda mot inblandning utifrån, röstförfalskning och misskreditering av legitima väljare. Men väljarna måste absolut lita på A , eftersom dess arbete inte kontrolleras av någon. Å ena sidan kan E förse den röstköpande angriparen med bevis på hur han röstat, men å andra sidan kan han inte verifiera att A korrekt redovisat eller ens fått sin röstsedel. Därför är den triviala metoden tillämpbar endast i samhällen där alla litar på varandra och den myndighet som ansvarar för att räkna rösterna [20] .
Det är också Nurmi- Salomaa -Santina- protokollet [25] . Grundtanken är att ersätta en valmyndighet med två, så att de kontrollerar varandra. Låt här och nedan V vara en registrator ( eng. validator ), vars arbetsuppgifter innefattar att upprätta listor, samt att släppa in eller inte släppa in en deltagare att rösta. Sekvensen av åtgärder ser ut så här:
Genom att dela den mottagna filen i steg 3 kan A senare inte neka att ta emot ett meddelande från E . Med hjälp av ett chiffer-valsedelpar kan varje väljare kontrollera om hans röst räknades korrekt, vilket eliminerar problemet med bristande kontroll över A . Detta tillvägagångssätt löser dock endast delvis problemet med behovet av absolut förtroende för byrån. Om A och V lyckas komma överens kan A manipulera omröstningen. Om myndigheten vet vem som gömmer sig under vilken identitetsbricka kan den medvetet inte acceptera meddelanden från vissa väljare. Därtill kommer problemet med "döda själar". Om V listar uppenbart icke-existerande väljare, så kommer A att kunna förfalska röstsedlar från dem [26] .
I protokoll med två ombud är det inte nödvändigt att väljaren är auktoriserad av både registrator och valnämnd. Om väljaren styrker sin identitet för registratorn kan registratorn underteckna valsedeln eller väljarnyckeln. Det är hon som kommer att spela rollen som tillgång till rösträtt i framtiden [25] . Dessutom är det inte nödvändigt att använda etiketter för användarbehörighet. Av dessa skäl kommer den specifika metoden för användaridentifiering att utelämnas i ytterligare algoritmer.
Fujioka-Okamoto-Ota-schemat, utvecklat 1992, är baserat på ett bi-agency-protokoll och blind kryptografisk signatur [27] . Genom att något komplicera protokollet löser detta system delvis problemet med samverkan mellan de två byråerna. För att protokollet ska fungera krävs en förvald metod för maskering av kryptering, enligt vilken väljaren skickar en omröstning till registratorn. Blindande (maskerande) kryptering är en speciell typ av kryptering som gör att du kan försäkra dig om att dokumentet är äkta och signerat av en auktoriserad användare, men som inte tillåter dig att ta reda på uppgifterna i det. Maskkryptering måste vara kommutativ med en elektronisk signatur, dvs.
Lorrie Cranor och Ron Citron ( eng. Lorrie Faith Cranor, Ron K. Cytron ) föreslog 1996 en modifiering av Fujioka-Okamoto-Ota-protokollet kallat Sensus [28] . Skillnaden ligger i steg 5-6. Efter att A tagit emot det krypterade meddelandet från E lägger den inte bara till det i den publicerade listan, utan skickar också tillbaka den undertecknade röstsedeln till väljaren som ett kvitto. På så sätt behöver E inte vänta på att alla andra ska rösta och kan avsluta röstningen på en session. Detta är inte bara bekvämt för slutanvändaren, utan det ger också ytterligare bevis på att E deltog i valet. Dessutom reglerar Sensus ytterligare hjälpmoduler som förenklar och automatiserar röstningsprocessen.
Nu, även om myndigheterna lyckas komma överens, kommer A inte att kunna identifiera väljarna innan han får nyckeln. Även om det fortfarande har möjlighet att avvisa meddelanden, har det inte längre möjlighet att ignorera meddelanden specifikt från "oönskade" väljare. Det återstår bara problemet med att lägga röster på väljare som inte kom till valurnorna. För att väljaren ska kunna rösta, bland annat på grund av ett tekniskt fel, behövs dessutom en extra modul.
För tillfället är Fujioka-Okamoto-Ota-protokollet (liksom dess ändringar, inklusive Sensus) ett av de mest beprövade elektroniska fjärromröstningsprotokollen. Det var hans variant som användes i de elektroniska valen i Estland [13] [15] . En annan modifiering av Fujioka-Okamoto-Ota-protokollet användes för att genomföra självstyreval bland studenter vid Princeton University [29] . Sensus-modulerna skrevs under UNIX -systemet med hjälp av det kryptografiska biblioteket RSAREF [30] så att alla kan använda dem.
1998 presenterade Qi He och Zhongmin Su (Qi He, Zhongmin Su) ett ännu mer avancerat röstningsprotokoll än Sensus [17] . Denna algoritm uppfyller de flesta kraven för ett säkert digitalt röstningsprotokoll. Liksom Sensus använder Hae-Su-protokollet idén om en blind signatur, men det är inte väljarens röstsedel som undertecknas, utan väljarens nyckel. Detta gör att väljarna kan ändra uppfattning innan omröstningen är slut och begränsar ytterligare registratorns och valmyndighetens möjligheter vid maskopi. Detta protokoll kräver en förutbestämd metod för blindande kryptering och en hashfunktion . Liksom i Fujioka-Okamoto-Ota-protokollet måste maskerad kryptering vara kommutativ med den elektroniska signaturen V : såväl som .
He-Su-systemet uppfyller nästan alla krav för ett hemlig omröstningsprotokoll. Allt som återstår är ett ökat incitament att köpa/sälja röster [17] . A och V har nu ingen möjlighet att fuska, eftersom nu alla listor är publicerade: möjliga väljare, registrerade och auktoriserade nycklar. Följaktligen är det omöjligt att få in icke-existerande väljare, eller att rösta på befintliga som inte kom. Samtidigt får varken valbyrån eller registratorn ytterligare information vid sammanställningen av dessa listor [31] . Väljare har möjlighet att ändra sin röst. Den största nackdelen med He-Su-protokollet är dess jämförande komplexitet. Eftersom protokollet kräver en stor mängd resurser att underhålla är det sårbart för DoS-attacker .
ANDOS- protokollet [32] ( All or Nothing Disclosure Of Secrets ) tas som grund . Tanken är att öka styrkan på protokollet genom att ersätta den förvalda krypteringen med en hemlig nyckel med hashing med en anpassad funktion. Kärnan i algoritmen beskrivs nedan. För korthetens skull har försiktighetsåtgärder och säkerhetsåtgärder utelämnats från beskrivningen. Om det behövs kan du använda metoderna för kryptografi på offentliga nycklar och elektronisk signatur . Det antas att för att skydda mot inblandning utifrån kan väljare också störa information sinsemellan, men då kan en illvillig väljare störa omröstningen, så även detta steg hoppas över.
En förenklad version av steg 2-4 kan vara att E skickar ett par direkt till A. I detta fall blir det dock omöjligt för E att både kontrollera om rösten har räknats korrekt och att i ett senare skede omrösta. Detta kan lösa sig, för om A publicerar identifieraren i listan över de som följt strategin så kommer E att veta säkert att hans röst räknades korrekt, men senare kommer någon att kunna maskera sig som att ha identifieraren och ändra rösta för att behaga honom. Å andra sidan, om A endast publicerar antalet deltagare enligt en viss strategi , kan deltagarna inte kontrollera någonting och A kan publicera valresultat. Hash-funktioner används för att förhindra angripare från att bestämma antalet röster med en viss strategi (denna information visar sig vara användbar), eftersom uppgiften att hitta de initiala värdena är beräkningsmässigt svår, med hänsyn till den karakteristiska tiden för omröstningen .
Steg 5. När omröstningen avslutas meddelar A mellanresultat, publicerar listor över strategier (kandidater) med nummer som motsvarar deltagarna som röstat på . Steg 6. Om deltagaren E upptäcker att hans röst är placerad på fel lista, skickar han ett klagomål till A i form av en trippel , som tydligt visar att resultatet är korrekt eller fel.Efter en tid kan du starta proceduren för att byta röster (se det sista steget). Ett enklare alternativ (steg 7) kan användas för att genomföra en enda omgång av upprepad omröstning.
Steg 7. Deltagare E , som vill ändra sitt val, skickar A en trippel , var är den nya strategin. När slutet på omröstningsomgången kommer publicerar A de ändrade resultaten. Därefter upprepas valideringen. Steg 7'. Samma som steg 7, men nu skickar part E ett par , där är den nya hashfunktionen vald av E . A intygar mottagandet av meddelandet genom att publicera , varefter E skickar ett par till A. Nu vet A förhållandet mellan och . När resultaten summeras igen tas de bort från motsvarande lista och läggs till listan med . Tävlande E får bestrida resultatet som tidigare.Jämfört med steg 7 har steg 7' fördelen att andra deltagare än E bara kan observera att något har försvunnit från listan , men inte vet att det har flyttat till listan .
I ANDOS-protokollet är det möjligt att två väljare kommer att välja samma i och därmed få samma identifierare . Möjliga lösningar på detta problem [32] :
ANDOS-protokollet är ganska dyrt, men det kräver inte en oberoende registrar V . Väljarna måste välja och skicka inte bara identifierare, utan även hashfunktioner, vilket kan vara svårt eller tidskrävande [32] . A kan fortfarande fuska genom att dela ut rösterna från de som förklarat att de har för avsikt att delta i omröstningen, men inte gjort sitt val, och E har ett ökat incitament att köpa/sälja röster, eftersom du kan vara säker på resultatet av transaktion.
Det finns många andra protokoll och kryptografiska primitiver med olika specifika egenskaper [33] . De är inte så allmänt kända och tillämpas för att klara några speciella miljömässiga begränsningar eller uppnå ytterligare mål.
Till exempel kan protokollet med två organ utvidgas till att omfatta röstcentra som representerar olika fraktioner som är motståndare men intresserade av rättvisa val. I det här fallet kan röstfördelningen bara fejkas om alla centra samarbetar, vilket är meningslöst enligt konventionen. En sådan algoritm använder något schema för icke-interaktiv offentligt verifierad [34] hemlig delning ( NIVSS - Non-Interactive Verifiable Secret Sharing ). Beroende på vald hemlig delningsmetod (vem som röstade på vem) kan protokollet ha olika motstånd mot olika attacker och olika databehandlingshastighet. Ett bra resultat visas till exempel genom att använda det diskreta logaritmproblemet för att säkerställa att data döljs [35] .
Den största nackdelen med systemet är att även om endast alla röstningscentraler tillsammans kan förfalska resultaten, kan vilken som helst av dem ensam störa valet. Lösningen på dilemmat är en annan modifiering av algoritmen, när fördelningen av röster kan återställa centra. Men då kommer de konspirerande centran att kunna förfalska resultaten och störa valen - . Systemet skulle kunna förbättras för att möjliggöra flervalsröstningar, såväl som förskjutna eller parallella omröstningar. Ett ytterligare plus: under ett sådant system kan väljaren inte bevisa exakt vem han röstade på, vilket gör det extremt svårt att köpa/sälja röster [36] .
För att detta protokoll ska fungera krävs en primitiv för anslagstavla - ett dataområde som kan läsas av alla i sin helhet, och var och en kan bara skriva till sin egen del. I huvudsak är detta ett delat minnesområde med nätverksåtkomst och vissa kryptografiska begränsningar. Om röstcentraler och väljare deltar i valet , då är antalet bitar som krävs för valtavlan , där är någon kryptografisk styrkavariabel proportionell mot antalet nyckelbitar.
Bland andra speciella kryptografiska primitiver kan man peka ut en "samlare" ( engelsk pollster ) - ett bekvämt gränssnitt mellan användaren och systemet. Tanken är att en mänsklig väljare kan ge röstsedeln till samlaren, som kommer att göra allt arbete för honom att kryptera och utbyta data med andra partier. Väljaren måste lita fullt ut på denna modul. Detta är ett starkt tillstånd, men det är relativt enkelt att genomföra eftersom samlaren kör på väljarens maskin.