A kriptográfiában a titkos szavazási protokollok olyan adatcsere-protokollok , amelyek biztonságos titkos elektronikus szavazást valósítanak meg az interneten számítógépek, telefonok vagy más speciális számítógépek segítségével [1] . A kriptográfia ezen iránya még csak fejlesztés alatt áll, de a gyakorlatban már alkalmazzák.
A világ számos országa [2] [3] , köztük Oroszország [4][ nem szerepel a forrásban ] már bevezetik az elektronikus szavazást önkormányzati szinten és felette. Az ilyen választások helyességének, megbízhatóságának és bizalmasságának biztosítása érdekében bevált biztonsági protokollokat használnak, amelyek bevált kriptográfiai rendszerekre támaszkodnak, mint például az aszimmetrikus titkosítás és az elektronikus aláírás . Emellett kész anyagi és jogi alapra van szükségük. Mindezen tényezők összefolyása képezi az e-demokrácia közvetlen eszközét .
A számítógépes hálózatok rohamos fejlődésével összefüggésben az élet különböző területeinek természetes „digitalizálódása”, például az elektronikus pénznemek megjelenése . Hasonlóképpen megjelent a digitális szavazás , az e-demokrácia fő eszköze . A mechanikus eszközök hosszú ideig a közönséges szavazólapok helyettesítésére szolgáltak a szavazás során, vagy csak a papíralapú szavazatok automatikus számlálásáért voltak felelősek. A szavazók ellenőrzésével és a szavazatok rögzítésével kapcsolatos fő munkát mások végezték. Egy ilyen rendszernél nem volt szükség az alábbiakban ismertetett protokollokra. Az elmúlt években azonban az internet fejlődésének köszönhetően a szavazás teljesen automatizálttá vált . A távszavazásnak számos előnye van. Feltételezik, hogy kényelmesebbek a végfelhasználók számára, mivel az emberek otthonuk elhagyása nélkül szavazhatnak, ez növeli a választók aktivitását. Az elektronikus szavazás fenntartása olcsóbb: a folyamatos szavazólapnyomtatás helyett elég egyszer kidolgozni egy rendszert [5] [6] . Ezen túlmenően abból a feltételezésből, hogy senki sem zavarhatja meg a szavazóeszközön lévő programot, az következik, hogy az elektronikus szavazás kevésbé érzékeny a korrupcióra, adminisztratív nyomásra és az emberi tényezőkre [5] [7] [8] .
Ez azonban számos konkrét problémát vet fel, amelyek hátráltatják a választások integritását. Például Hollandiában és Franciaországban az elektronikus választások során kétségek merültek fel a gépek segítségével elért eredmények valódiságával kapcsolatban [3] . Távolról sokkal nehezebb felhatalmazni egy választót, vagy megbizonyosodni arról, hogy senki nem befolyásolta a szavazás folyamatát. Másrészt az internet több lehetőséget biztosít a hétköznapi választópolgárok számára annak ellenőrzésére, hogy a szavazatokat helyesen számolták-e meg. Jelenleg az elektronikus szavazás teljesen legális vagy részben alkalmazható a világ számos országában [9] . Ahogy egyre többen vesznek részt ezekben, egyre nagyobb szükség van biztonságosabb és hatékonyabb lebonyolítási módszerekre, amelyekhez speciális kriptográfiai protokollokat hívnak.
Az elektronikus szavazás szabályozásának kulcseleme annak lehetőségének megszilárdítása az állam alkotmányában. Ilyen cikkek tartalmazzák az USA, Svájc, Észtország, Nagy-Britannia és néhány más ország alkotmányát [10] . Van egy olyan országcsoport, amelybe tartozik például Finnország, Németország és Oroszország [11] , amelyeknek van tapasztalata ilyen választások lebonyolításában, de ezek teljes szabályozását még nem vezették be jogszabályba. Természetesen nem ez az egyetlen bürokratikus akadály. A szavazás lebonyolításának technikájára, az eredmények őszinteségének ellenőrzésére szolgáló módszerekre, a szavazás megszakadása esetén szükséges jegyzőkönyvekre, valamint magának a technikai bázisnak a kialakítására is szükség van. Ezen paraméterek alapján kiszámítható az ország digitális szavazás (és sajátos protokollja) bevezetésére való felkészültségi mutatója [12] .
Észtország [13] volt az első ország, amely törvényes nemzeti választásokat vezetett be az interneten keresztül, majd Hollandia és Svájc követte. Oroszországban a titkos e-szavazási protokollokat eddig csak kísérleti szinten alkalmazták (például a Seliger-2009 fórumon ), de a CEC kezdeményezte az e-szavazás fejlesztését, különösen az orosz érdekek érdekében. külföldi állampolgárok [14] .
Bárhogy is legyen, magát a szavazási jegyzőkönyvet semmilyen jogszabály nem rögzíti. Ennek számos oka lehet, kezdve az elektronikus szavazási módszerek iránti bizalomhiánytól kezdve a jelenlegi lebonyolítási módszerről a hatékonyabbra való könnyebb átállásig. A technológia fejlődése csak körülbelül 20 évvel ezelőtt tette lehetővé az internetes szavazáson való gondolkodást [ pontosítás ] , tehát a kriptográfia ezen része még mindig fejlesztés alatt áll. Nincsenek általánosan elfogadott könyvek róla, és még egyetlen protokoll sem kapott elsöprő támogatást a szakemberektől [5] . A problémát súlyosbítja, hogy az e rendszerek bevezetésében tapasztalattal rendelkező szervezetek nem kívánnak részletes beszámolót közölni a rendszerről és a bevezetés során felmerült problémákról.
Mostantól egyszerű felmérésekhez vagy kis csoportokon belüli szavazáshoz triviális algoritmust használnak . Abban az esetben, ha a szavazatszámláló ügynöknek nincs különösebb oka a csalásra, ez a protokoll a legjobb megoldás. Az állami szintű választásokon a Fujioka-Okamoto-Ota protokoll módosításai a leggyakoribbak [13] [15] . Ő volt az, aki a kísérleti választásokon a legjobb eredményeket érte el, és pozitív nemzetközi precedenst teremtett a választások internetes megbízható lebonyolítására. Ehhez és egyes módosításaihoz magánszemélyek által használható programok és elektronikus szavazási eszközök állnak rendelkezésre [16] . Ezen túlmenően számos új titkos szavazási protokollt ismertető tudományos cikk ezt veszi alapul. Talán a technológia fejlődése és a nagy teljesítményű rendszerek árának csökkenése miatt a He-Su protokoll [17] használatának precedensei jelennek meg a közeljövőben . Bár már megvannak a módosításai, a gyakorlatban ezt a protokollt csak hallgatói kísérleti választásokon alkalmazták [18] . Ugyanez mondható el az ANDOS protokollról is . Bár számos cikk szerzője azt állítja, hogy hatékonyan megvalósítható, a helyi választásokon csak előzmények voltak a használatára [19] . A fennmaradó protokollok az egyszerűtől a bonyolultig történő átmeneti vagy további célok elérése érdekében lehetséges módosításokként jelennek meg.
Kívánatos:
A dolgot nem csak az bonyolítja, hogy a szavazás résztvevőinek és az azt lebonyolító ügynökségnek van oka nem bízni egymásban, hanem az is, hogy magát a szavazást is meg kell védeni a külső beavatkozástól. Ha analógiát vonunk az elnökválasztással, akkor a választóknak meg kell védeniük magukat a választási bizottság szavazólap-tömésétől, a CEC köteles gondoskodni arról, hogy a szavazatokat állampolgárok ne tudják eladni, és együttesen meg kell akadályozniuk más országok ügynökeinek beavatkozását [20] ] .
Egyes követelmények ütköznek egymással. Például az a lehetőség, hogy ellenőrizni tudjuk, hogyan szavazott egy adott választó (akár ő maga) lehetőséget ad a szavazatok eladására, a további védelmi rétegek pedig csökkentik a hibatűrést és a költséghatékonyságot. Általában azt feltételezik, hogy a választási ügynökség csalás elleni védelme elsőbbséget élvez a szavazatértékesítés megakadályozásával szemben. Egyrészt sokkal több kárt okoz, másrészt ha a protokoll garantálja is, hogy nem lehet kívülállónak bizonyítani, hogy kire adták le a voksot, a választó találhat megkerülő megoldásokat. Például egyszerűen szavazzon közvetlenül a vevő előtt. A külső interferencia elleni védelem azonban minden mással szemben elsőbbséget élvez [24] .
Egy egyszerű elektronikus szavazási algoritmus lényegében egy választási bizottság és több szavazó közötti levelezés elektronikus aláírásokkal . Legyen itt és lent: A - elektronikus szavazást lebonyolító ügynökség ( eng. agency ), E - választó, törvényes választó ( eng. elektor ), B - digitális szavazólap . A B tartalmazhat számot, a jelölt nevét, hosszú szöveget, vagy bármilyen más adatot, amely az E választását jelzi , azt igazolja, vagy a protokoll biztonságának erősítéséhez szükséges [20] . A szavazás menete így néz ki:
Az 1-3. lépés szükséges. A fő cél az aktív résztvevők számának meghatározása és kihirdetése n . Bár lehet, hogy néhányan nem vesznek részt, és vannak, akik egyáltalán nem is léteznek ( A által rosszindulatúan bevezetett „halott lelkek”), de az A szavazatának manipulálási képessége érezhetően csökken. A jövőben ezek a lépések „a listák jóváhagyásának” lépésének minősülnek.
4. lépés: A létrehoz egy nyilvános és privát kulcsot , és nyilvánossá teszi . Bárki titkosíthat üzenetet a segítségével , de csak A tudja visszafejteni . 5E lépésEz a protokoll rendkívül egyszerű, mégis elegendő a külső beavatkozás, a szavazathamisítás és a legitim szavazók lejáratása elleni védelemre. A választóknak azonban feltétlenül bízniuk kell A -ban, mert a munkáját senki sem irányítja. E egyrészt bizonyíthatja a szavazatvásárló támadónak, hogyan szavazott, másrészt nem tudja ellenőrizni, hogy A helyesen számolta-e el vagy kapta-e meg a szavazatát. Ezért a triviális módszer csak olyan közösségekben alkalmazható, ahol mindenki bízik egymásban és a szavazatszámlálásért felelős ügynökségben [20] .
Ez egyben a Nurmi-Saloma- Santina Protokoll [25] is . Az alapötlet az, hogy egy választási ügynökséget kettővel cseréljenek le, hogy egymást irányítsák. Itt és lent legyen V anyakönyvvezető ( eng. validator ), akinek feladatai közé tartozik a listák készítése, valamint a résztvevő szavazásra bocsátása vagy elutasítása. A műveletek sorrendje így néz ki:
A kapott fájl megosztásával a 3. lépésben A nem tagadhatja meg az E -től érkező üzenet fogadását . Rejtjel-szavazópár segítségével minden választó ellenőrizheti, hogy a szavazatát helyesen számolták-e meg, ami kiküszöböli az A feletti kontroll hiányának problémáját . Ez a megközelítés azonban csak részben oldja meg az ügynökség iránti abszolút bizalom szükségességének problémáját. Abban az esetben , ha A -nak és V - nek sikerül megegyeznie, A manipulálhatja a szavazást. Ha az ügynökség tudja, hogy ki milyen személyazonosító címke alatt rejtőzik, előfordulhat, hogy szándékosan nem fogadja el egyes szavazók üzeneteit. Emellett ott van a „halott lelkek” problémája. Ha V nyilvánvalóan nem létező szavazókat sorol fel, akkor A tőlük szavazólapot hamisíthat [26] .
A két ügynökkel kötött jegyzőkönyvekben nem szükséges, hogy a választópolgárnak mind az anyakönyvvezető, mind a választási bizottság felhatalmazása legyen. Ha a választópolgár igazolja személyazonosságát az anyakönyvvezető előtt, az anyakönyvvezető aláírhatja a szavazólapot vagy a választói kulcsot. Ő lesz az, aki a jövőben a szavazáshoz való hozzáférés szerepét fogja betölteni [25] . Ezenkívül nem szükséges címkéket használni a felhasználói engedélyezéshez. Ezen okokból kifolyólag a további algoritmusoknál a felhasználó azonosításának konkrét módja kimarad.
Az 1992-ben kifejlesztett Fujioka-Okamoto-Ota séma két ügynökség protokollon és vak kriptográfiai aláíráson alapul [27] . A protokoll kismértékű bonyolításával ez a séma részben megoldja a két ügynökség közötti összejátszás problémáját. A protokoll működéséhez egy előre kiválasztott maszkolási titkosítási módszer szükséges, amely alapján a választópolgár szavazólapot küld az anyakönyvvezetőnek. A vakító (maszkoló) titkosítás a titkosítás egy speciális típusa, amely lehetővé teszi, hogy megbizonyosodjon arról, hogy a dokumentum valódi-e, és arra jogosult felhasználó írta alá, de nem teszi lehetővé a benne foglalt adatok megismerését. A maszkos titkosításnak kommutatívnak kell lennie elektronikus aláírással, azaz .
Lorrie Cranor és Ron Citron ( eng. Lorrie Faith Cranor, Ron K. Cytron ) 1996-ban javasolta a Fujioka-Okamoto-Ota protokoll módosítását Sensus néven [28] . A különbség az 5-6. lépésekben rejlik. Miután A megkapta E - től a titkosított üzenetet , nem csak felveszi a közzétett listára, hanem az aláírt szavazólapot is visszaküldi nyugtaként a választópolgárnak. Így E - nek nem kell megvárnia, amíg mindenki más szavaz, és egy munkamenetben befejezheti a szavazást. Ez nemcsak a végfelhasználó számára kényelmes, de további bizonyítékot is szolgáltat arra vonatkozóan, hogy E részt vett a választáson. Ezenkívül a Sensus további kiegészítő modulokat is szabályoz, amelyek leegyszerűsítik és automatizálják a szavazási folyamatot.
Még ha az ügynökségeknek sikerül is megállapodniuk, A nem fogja tudni azonosítani a szavazókat, mielőtt megkapja a kulcsot. Bár továbbra is képes visszautasítani az üzeneteket, már nem képes figyelmen kívül hagyni a kifejezetten "nem kívánatos" szavazóktól érkező üzeneteket. Már csak az a probléma, hogy azokra a szavazókra adjanak szavazatot, akik nem jöttek el szavazni. Ezen túlmenően, hogy a választópolgár szavazhasson, többek között technikai hiba miatt is, további modulra van szükség.
Jelenleg a Fujioka-Okamoto-Ota protokoll (valamint annak módosításai, köztük a Sensus) az egyik legjobban bevált távoli elektronikus szavazási protokoll. Észtországban az ő variációját használták az elektronikus választásokon [13] [15] . A Fujioka-Okamoto-Ota protokoll másik módosítását a Princetoni Egyetem hallgatói közötti önkormányzati választások lebonyolítására használták [29] . A Sensus modulok UNIX rendszer alatt készültek az RSAREF [30] kriptográfiai könyvtár segítségével, így bárki használhatja őket.
1998-ban Qi He és Zhongmin Su (Qi He, Zhongmin Su) még fejlettebb szavazási protokollt mutatott be, mint a Sensus [17] . Ez az algoritmus kielégíti a biztonságos digitális szavazási protokoll legtöbb követelményét. A Sensushoz hasonlóan a Hae-Su protokoll is a vak aláírás gondolatát használja, de nem a szavazó szavazólapját írják alá, hanem a választó kulcsát. Ez lehetővé teszi a választók számára, hogy a szavazás vége előtt meggondolják magukat, és tovább korlátozzák az anyakönyvvezető és a választási iroda lehetőségeit összejátszás esetén. Ez a protokoll megköveteli a vakító titkosítás előre meghatározott módszerét és egy hash funkciót . A Fujioka-Okamoto-Ota protokollhoz hasonlóan az álcázott titkosításnak kommutatívnak kell lennie a V : és az elektronikus aláírással .
A He-Su séma megfelel a titkos szavazási protokoll szinte minden követelményének. Már csak a szavazatok vételére/eladására való fokozott ösztönzés marad hátra [17] . A -nak és V -nek most nincs lehetősége csalni, hiszen most minden listát közzétesznek: a lehetséges szavazókat, a regisztrált és engedélyezett kulcsokat. Ennek megfelelően nem lehet nem létező szavazókat behozni, vagy olyanokra szavazni, akik nem jöttek el. Ugyanakkor ezen listák összeállítása során sem a választási iroda, sem az anyakönyvvezető nem kap további információt [31] . A választóknak lehetőségük van megváltoztatni szavazatukat. A He-Su protokoll fő hátránya a viszonylagos összetettsége. Mivel a protokoll fenntartása nagy mennyiségű erőforrást igényel, ki van téve a DoS támadásoknak .
Az ANDOS protokoll [32] ( All or Nothing Disclosure Of Secrets ) alapul . Az ötlet az, hogy növeljük a protokoll erősségét az előre kiválasztott titkosítás titkos kulccsal való helyettesítésével, és egyéni funkcióval rendelkező hash-el. Az algoritmus magját az alábbiakban ismertetjük. A rövidség kedvéért az óvintézkedéseket és a biztonsági óvintézkedéseket kihagytuk a leírásból. Ha szükséges, alkalmazhatja a titkosítási módszereket nyilvános kulcsokon és elektronikus aláíráson . Feltételezik, hogy a külső beavatkozások elleni védekezés érdekében a választók egymás közti információkba is beleavatkozhatnak, de ilyenkor egy rosszindulatú választó is beleavatkozhat a szavazásba, így ez a lépés is kimarad.
A 2-4 lépések egyszerűsített változata lehet, hogy E közvetlenül küld egy párt A -nak. Ebben az esetben azonban E nem tudja ellenőrizni, hogy a szavazatokat helyesen számolták-e, és egy későbbi szakaszban újra szavazni. Ez sikerülhet, mert ha A közzéteszi az azonosítót a stratégiát követők listájában , akkor E biztosan tudni fogja, hogy helyesen számolták a szavazatát, de később valaki álcázhatja magát az azonosító birtokában, és megváltoztathatja a szavazz a kedvére. Másrészt, ha A csak a résztvevők számát publikálja egy bizonyos stratégiát követve , akkor a résztvevők semmit nem ellenőrizhetnek, A pedig bármilyen választási eredményt közzétehet. A hash függvények megakadályozzák, hogy a támadók egy bizonyos stratégiával meghatározzák a szavazatok számát (ez az információ hasznosnak bizonyul), mivel a kezdeti értékek megtalálása számításilag nehéz, figyelembe véve a szavazás jellemző idejét. .
5. lépés: Amikor a szavazás véget ér, A köztes eredményeket hirdet, közzéteszi a stratégiák (jelöltek) listáit a -ra szavazó résztvevőknek megfelelő számokkal . 6. lépés : Ha E résztvevő észreveszi, hogy szavazata rossz listára került, akkor panaszt küld A -nak egy tripla formájában , amely egyértelműen mutatja az eredmény helyességét vagy hibáját.Egy idő után elindíthatja a hangváltási eljárást (lásd az utolsó lépést). Egy egyszerűbb lehetőség (7. lépés) használható egyetlen fordulós ismételt szavazásra.
7. lépés. E résztvevő , aki meg akarja változtatni a választását, küld A-nak egy triplát , ahol az új stratégia. Amikor elérkezik a szavazatváltási forduló vége, A közzéteszi a megváltozott eredményeket. Ezután az érvényesítés megismétlődik. 7. lépés. Ugyanaz, mint a 7. lépésben, de most E fél küld egy párt , ahol az E által választott új hash függvény . A közzétételével igazolja az üzenet átvételét , majd E egy párt küld A -nak . Most A ismeri a és a közötti kapcsolatot . Az eredmények újbóli összesítésekor eltávolítjuk a megfelelő listából, és a gombbal hozzáadjuk a listához . Az E versenyző a korábbiak szerint megtámadhatja az eredményt.A 7. lépéshez képest a 7' lépésnek megvan az az előnye, hogy az E -n kívüli résztvevők csak azt figyelhetik meg, hogy valami eltűnt a listáról , de nem tudják, hogy átkerült a listára .
Az ANDOS protokollban lehetséges, hogy két szavazó ugyanazt az i -t választja , így ugyanazt az azonosítót kapja . Lehetséges megoldások erre a problémára [32] :
Az ANDOS protokoll meglehetősen drága, de nem igényel független regisztrátort V. A választóknak nem csak azonosítókat kell választaniuk és el kell küldeniük, hanem a hash függvényeket is, ami nehézkes vagy időigényes lehet [32] . Az A továbbra is csal, kiosztva a szavazáson való részvételi szándékot kinyilvánítók szavazatait, de nem választottak, E - t pedig fokozottan ösztönzi a szavazatok adásvétele, hiszen biztos lehet a szavazás eredményében. tranzakció.
Számos más protokoll és kriptográfiai primitív létezik, amelyek különféle specifikus tulajdonságokkal rendelkeznek [33] . Nem olyan széles körben ismertek és nem alkalmazzák őket, hogy megbirkózzanak bármilyen környezeti korláttal vagy további célokat érjenek el.
Például a két ügynökség protokollját ki lehetne terjeszteni a különböző, ellenző, de a tisztességes választásokban érdekelt frakciókat képviselő szavazóközpontokra. Ebben az esetben a szavazatok elosztását csak akkor lehet meghamisítani, ha az összes központ összejátszik, aminek konvenció szerint nincs értelme. Egy ilyen algoritmus a nem interaktív, nyilvánosan ellenőrzött [34] titkos megosztás valamilyen sémáját használja ( NIVSS - Non-Interactive Verifiable Secret Sharing ). A választott titkos megosztási módtól (ki kire szavazott) függően a protokoll eltérően ellenállhat a különböző támadásoknak és eltérő adatfeldolgozási sebességgel. Jó eredményt mutat például a diszkrét logaritmus feladat használata az adatok elrejtésének biztosítására [35] .
A rendszer fő hátránya, hogy bár csak az összes szavazóközpont együtt hamisíthatja meg az eredményeket, egyedül bármelyikük megzavarhatja a választást. A dilemma megoldása az algoritmus egy újabb módosítása, amikor is a szavazatok elosztása visszaállíthatja a középpontokat. De akkor az összeesküvő központok képesek lesznek megkovácsolni az eredményeket és megzavarni a választásokat . A rendszer továbbfejleszthető, hogy lehetővé tegye a feleletválasztós szavazást, valamint a lépcsőzetes vagy párhuzamos szavazást. További plusz: egy ilyen rendszerben a választó nem tudja bizonyítani, hogy pontosan kire szavazott, ami rendkívül megnehezíti a szavazatok vételét/eladását [36] .
Ahhoz, hogy ez a protokoll működjön, hirdetőtábla-primitívre van szükség - egy olyan adatterületre, amelyet mindenki a maga teljességében elolvashat, és mindegyik csak a saját részéhez írhat. Lényegében ez egy megosztott memóriaterület hálózati hozzáféréssel és néhány kriptográfiai korlátozással. Ha szavazóközpontok és szavazók vesznek részt a választásokon , akkor a szavazólaphoz szükséges bitek száma , ahol a kulcsbitek számával arányos kriptográfiai erősségű változó.
Más speciális kriptográfiai primitívek közül kiemelhető egy „gyűjtő” ( angol pollster ) - egy kényelmes interfész a felhasználó és a rendszer között. Az ötlet az, hogy egy emberi szavazó átadhassa a szavazólapot a gyűjtőnek, aki mindent megtesz érte, hogy titkosítson és adatokat cserélhessen más pártokkal. A választónak teljes mértékben megbíznia kell ebben a modulban. Ez erős feltétel, de viszonylag könnyen megvalósítható, mert a szavazó gépén fut a gyűjtő.