A távoli elektronikus szavazórendszer anonimizálási eljárásának áttekintése

В korábbi publikációk Megállapodtunk abban, hogy az általunk vizsgált elektronikus távszavazási rendszerben egy titkosított „vak elektronikus aláírás” algoritmust alkalmaznak a szavazás titkosságának biztosítására és a választó anonimizálására. Ebben a cikkben részletesebben megvizsgáljuk.

Először is térjünk rá a jól ismert és ismert elektronikus aláírási algoritmusra, amelyet széles körben használnak az információs rendszerekben különféle célokra. Az elektronikus aláírás kriptográfiai aszimmetrikus titkosítási algoritmusokon alapul. Az aszimmetrikus titkosítás 2 kulccsal történő titkosítás: az egyik a titkosításra, a másik a visszafejtésre szolgál. Ezeket nyílt (nyilvános) és privát kulcsnak nevezik. A nyilvános kulcsot mások ismerik, a privát kulcsot pedig csak az elektronikus aláírás tulajdonosa ismeri, és mások számára hozzáférhetetlen helyen tárolják.

Aláíráskor a következő történik: először az elektronikus dokumentumot matematikai transzformációk segítségével egy bizonyos méretű karaktersorozatra redukáljuk - ezt hash függvénynek nevezzük.

Az így kapott karaktersorozatot (a dokumentumból származó hash-t) a dokumentum feladója titkos kulcs segítségével titkosítja, és a nyilvános kulccsal együtt elküldi a címzettnek. A címzett a nyilvános kulccsal dekódolja a karaktersorozatot, pontosan ugyanazt a hash függvényt alkalmazza a dokumentumra, és összehasonlítja a konverziós eredményt a visszafejtési eredménnyel. Ha minden egyezik, akkor a feladó általi aláírást követően nem történt módosítás a dokumentumon.

A leírt műveletek lehetővé teszik annak ellenőrzését, hogy a dokumentumot nem változtatták-e meg, de nem teszik lehetővé annak ellenőrzését, hogy a feladó valóban az, akinek állítja magát. Ezért szükségünk van egy harmadik félre, akiben a küldő és a címzett egyaránt megbízik. Ehhez a dokumentum elküldése előtt a feladó felveszi a kapcsolatot egy harmadik féllel, és megkéri őt, hogy elektronikus aláírásával írja alá nyilvános kulcsát. A feladó most elküldi a címzettnek a dokumentumot, a nyilvános kulcsát és a kulcsához tartozó harmadik fél aláírását. A címzett ellenőrzi a harmadik fél aláírását a nyilvános kulcson, és megbízik a kapott dokumentum aláírásában.

Most térjünk át arra, hogy mi az a „vak aláírás”, és hogyan segíthet az anonimizálásban.

Képzeljük el, hogy a fenti példában a feladó a választó, a dokumentum a szavazólap, a címzett pedig a választási bizottság, vagy ahogy mondtuk „a szavazatszámláló összetevő”. Harmadik félként (érvényesítőként) rendelkezünk a „Szavazólista” komponenssel. Ebben az esetben a folyamat a következőképpen történhet.

A távoli elektronikus szavazórendszer anonimizálási eljárásának áttekintése

A szavazó egy kulcspárt generál az eszközén – privát és nyilvános. Mivel ezek a kulcsok a személyes eszközén jönnek létre a böngészőben, csak ő ismeri őket.

Ezekkel a kulcsokkal aláírja a szavazólapot, hogy ellenőrizhesse annak integritását. Az aláírt szavazólapot és a nyilvános kulcsot megküldi a választási bizottságnak. Ahhoz, hogy az Elosztott szavazattárolás és -számlálás komponens elfogadhassa a szavazást, ellenőriznie kell, hogy a nyilvános kulcsot az érvényesítő aláírta-e.

Az érvényesítő (Voter List komponens) csak azután írja alá a nyilvános kulcsot, miután megbizonyosodott arról, hogy a szavazó szerepel a választói listán.

A szavazás titkosságának megőrzése érdekében a választó eszközén létrehozott nyilvános kulcsát ne ismerje senki. Kiderül, hogy az érvényesítőnek olyat kell aláírnia, ami számára ismeretlen. A feladat lehetetlennek tűnik, de itt a kriptográfiai algoritmusok segítenek - jelen esetben a „vak aláírás” algoritmus

Először is, a nyilvános kulcsot el kell takarni a választó eszközén. A maszkolás az egyes matematikai műveletek végrehajtása a felhasználó eszközén. Képzeld el, hogy gondoltál egy véletlen számra 1-től 100-ig, majd egy második véletlenszámra 1-től 10-ig, és egy harmadikra, 10-től 50-ig, felemelted az eredetileg gondolt számot a második szám hatványára, és elosztottad anélkül, hogy a maradékot a harmadikkal. Az eredményről beszámoltak másoknak. Nem lesz nehéz visszaállítani az eredeti számot, mivel ismeri a műveletek sorrendjét és a számokat, amelyekre gondol. De a körülötted lévők ezt nem fogják tudni megtenni.

A nyilvános kulcs maszkolása (vakítása) egy speciális kriptográfiai algoritmus szerint történik. Ennek eredményeként az érvényesítő egy maszkolt nyilvános kulcsot ír alá anélkül, hogy ismerné az eredeti kulcsot. De az algoritmus sajátossága, hogy a felhasználó (szavazó), miután megkapta a maszkolt kulcshoz tartozó aláírást, fordított transzformációkat hajthat végre, és olyan aláírást kaphat, amely az eredeti, nem maszkolt kulcsra érvényes.

A leírt algoritmust széles körben használják titkos szavazási protokollokban. A távoli elektronikus szavazórendszer jelenleg 4096 bites kulcshosszúságú RSA algoritmust használ a vak aláírásokhoz.

Az anonimizálási eljárás általában a következő.

  1. Szavazat létrehozásakor külön „ellenőrző” kulcspár jön létre, és a nyilvános kulcs beírásra kerül a blokkláncba. Minden szavazathoz egyedi kulcspár jön létre.
  2. A felhasználó az azonosító rendszerben (jelen esetben az ESIA-ban) azonosításra kerül, és engedélyt ad arra, hogy azonosító adatait az azonosító rendszerből a DEG PTC-be továbbítsa.
  3. A DEG PTC „Szavazólista” komponense ellenőrzi a felhasználó jelenlétét a szavazólistán.
  4. A felhasználó eszközén létrejönnek személyes kulcsai - privát és nyilvánosak, amelyeket csak ő ismer.
  5. A nyilvános kulcs maszkolva van a felhasználó eszközén
  6. Az azonosító adatokkal és egy maszkolt nyilvános kulccsal együtt a felhasználó hozzáfér a „Szavazólista” komponenshez
  7. A komponens még egyszer ellenőrzi a felhasználó jelenlétét a listában és azt, hogy korábban nem kapott-e aláírást
  8. Ha minden ellenőrzés sikeres, a kulcsot aláírják
  9. A kulcs aláírásának ténye rögzítésre kerül a blokkláncban
  10. Az eszközén lévő felhasználó eltávolítja a maszkot a nyilvános kulcsról, és kap egy privát kulcsot, egy nyilvános kulcsot és egy aláírást a nyilvános kulcson, és az összes kulcsot csak ő ismeri.
  11. Ezt követően a felhasználó egy névtelen zónába kerül - egy különálló edg2020.gov.ru webhelyre, ahol lehetetlen azonosítani (például az átállás előtt csatlakozhat egy VPN-hez vagy megváltoztathatja az internetszolgáltatóját, teljesen megváltoztatva a IP-cím)
  12. A szavazás elfogadása csak attól függ, hogy az „érvényesítő” aláírását ellenőrizték-e, és hogy korábban nem használtak-e ilyen kulcsot.

Ezután az algoritmus leírását adjuk meg a kriptográfia szempontjából.
Aláírási és kijelölési lehetőségek:

A távoli elektronikus szavazórendszer anonimizálási eljárásának áttekintése
A távoli elektronikus szavazórendszer anonimizálási eljárásának áttekintése

M – FDN kitöltési formátumban az aláíráshoz.

Forrás: will.com

Hozzászólás