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

A korábbi publikációkban Abban maradtunk, hogy a vizsgált távoli elektronikus szavazási rendszerben a szavazás titkosságának biztosítása és a választó anonimizálása érdekében a "vak elektronikus aláírás" kriptográfiai algoritmusát alkalmazzák. Ebben a cikkben részletesebben megvizsgáljuk ezt.

Először is nézzük meg a jól ismert és ismerős elektronikus aláírás algoritmust, amely széles körben alkalmazásra kerül a különböző célú információs rendszerekben. Az elektronikus aláírás alapját az aszimmetrikus titkosítás kriptográfiai algoritmusai képezik. Az aszimmetrikus titkosítás két kulcs használatával működik: az egyik a titkosításhoz, a másik a visszafejtéshez szükséges. Ezeket nyílt (publikus) és zárt kulcsnak nevezik. A nyílt kulcs ismert a környező emberek számára, míg a zárt kulcs csak az elektronikus aláírás tulajdonosának birtokában van, és mások számára hozzáférhetetlen helyen tárolják.

Az aláírás során a következő történik: először az elektronikus dokumentumot matematikai átalakítások révén egy meghatározott méretű karakterláncra alakítják - ezt hívják hash függvénynek.

A kapott karakterláncot (a dokumentum hash-ét) a dokumentum küldője zárt kulccsal titkosítja, és ezt együtt az nyílt kulccsal elküldi a címzettnek. A címzett a nyílt kulccsal visszafejti a karakterláncot, alkalmazza a dokumentumra ugyanazt a hash függvényt, és összehasonlítja az átalakítás eredményét a visszafejtés eredményével. Ha minden megegyezik, a dokumentumot aláírása után nem módosították.

A leírt lépések lehetővé teszik, hogy megbizonyosodjunk arról, hogy a dokumentum nem változott, de nem biztosítják, hogy a küldő valóban az, akinek kiadja magát. Ezért szükségünk van egy harmadik félre, akiben a küldő és a címzett is megbízik. Ehhez a dokumentum elküldése előtt a küldő megkeresi a harmadik felet, és kéri, hogy írja alá a nyílt kulcsát az elektronikus aláírásával. Most a küldő elküldi a címzettnek a dokumentumot, a nyílt kulcsát, és a harmadik fél által aláírt kulcsát. A címzett ellenőrzi a harmadik fél nyílt kulcsának aláírását, és megbízik a dokumentumba foglalt aláírásban.

Most beszéljünk a „vak aláírásról” és arról, hogyan segíthet nekünk az anonimizálásban.

Képzeljük el, hogy a fenti példában a küldő egy választó, a dokumentum egy szavazólap, a címzett pedig a választási bizottság, vagy ahogy mondtuk, a „szavazatok nyilvántartása és számlálása” összetevő. Harmadik fél (validátor) szerepét a „Választói lista” összetevő fogja játszani. Ebben az esetben a folyamat a következőképpen zajlik.

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

A választó a saját eszközén létrehoz egy kulcspárt – egy titkos és egy nyilvános kulcsot. Ezek a kulcsok mivel a saját eszközén a böngészőben jönnek létre, csak őt ismerik.

Ezekkel a kulcsokkal ő aláírja a szavazólapot, hogy biztosítsa annak integritását. Az aláírt szavazólapot és a nyilvános kulcsot a választási bizottsághoz küldi. Ahhoz, hogy a szavazólapot a „Megosztott tárolás és szavazás számlálása” összetevő elfogadja, ellenőriznie kell, hogy a nyilvános kulcsot a validátor aláírta.

A validátor (a „Választói lista” összetevő) csak akkor fogja aláírni a nyilvános kulcsot, ha megbizonyosodott arról, hogy a választó szerepel a választói listán.

A szavazás titkosságának megőrzéséhez a választó nyilvános kulcsának, amelyet a saját eszközén hozott létre, senki számára sem szabad tudnia. Tehát a validátornak azt kell aláírnia, amit nem ismer. A feladat lehetetlennak tűnik, de itt jönnek segítségül a kriptográfiai algoritmusok – ebben az esetben a „vak aláírás” algoritmus.

Először a választó eszközén a nyilvános kulcsot el kell takarnunk. A takarás olyan különböző matematikai műveletek elvégzését jelenti a felhasználó eszközén. Képzelje el, hogy gondolt egy véletlenszerű számra 1 és 100 között, majd egy második véletlenszerű számra 1 és 10 között, és egy harmadikra 10 és 50 között, a kezdetben gondolt számot a második szám hatványára emelte, majd pedig osztotta a harmadikkal maradék nélkül. Az így kapott eredményt közölte másokkal. Önnek nem okoz gondot az eredeti szám visszaállítása, mivel ismeri a műveleti lépések sorrendjét és a gondolt számokat. De mások ezt nem tudják megtenni.

A nyílt kulcs álcázása (elhomályosítása) egy speciális kriptográfiai algoritmus szerint történik. Ennek eredményeként az érvényesítő a maszkázott nyílt kulcsot írja alá, miközben az eredeti kulcs számára ismeretlen. De az algoritmus sajátossága, hogy a felhasználó (szavazó), miután megkapta a maszkázott kulcson a tanúsítványt, visszafelé átalakíthatja, és érvényes aláírást kaphat az eredeti, maszkázatlan kulcsra is.

A leírt algoritmus széles körben használatos a titkos szavazás protokolljaiban. Jelenleg a távoli elektronikus szavazási rendszerben a homályos aláírásra az RSA algoritmus 4096 bites kulcsmérettel van használva.

Általános formában az anonimizálási eljárás a következőképpen néz ki.

  1. A szavazás létrehozásakor egy külön kulcspár „érrévénye” jön létre, a nyílt kulcsot a blokkláncba rögzítik. Minden szavazáshoz egyedi kulcspár készül.
  2. A felhasználó a személyazonosító rendszerben (jelen esetben az EESZT-ben) azonosítja magát, és engedélyezi az azonosító adatainak átadását az azonosító rendszerből a PTK DÉG-be.
  3. A PTK DÉG „Szavazók listája” komponense ellenőrzi, hogy a felhasználó szerepel-e a szavazók listáján.
  4. A felhasználó eszközén létrejön a személyes kulcsa – a titkos és a nyílt kulcs, amely csak számára ismeretes.
  5. A felhasználó eszközén a nyílt kulcs álcázása történik.
  6. A személyazonosító adatok és a maszkázott nyílt kulccsal a felhasználó a „Szavazók listája” komponenshez fordul.
  7. A komponens újra ellenőrzi a felhasználó listán való szereplését és azt, hogy korábban nem kapott már aláírást.
  8. Ha minden ellenőrzés sikeres, a kulcs aláírása megtörténik.
  9. A kulcs aláírásának tényét a blokkláncba rögzítik.
  10. A felhasználó az eszközén eltünteti a maszkot a nyílt kulcsról, és megkapja a titkos kulcsot, a nyílt kulcsot és a nyílt kulcs aláírását, miközben minden kulcs csak számára ismert.
  11. Ezt követően a felhasználót egy anonim zónába irányítják – a külön weboldalra edg2020.gov.ru, ahol nem lehet azonosítani (például a váltás előtt csatlakozhat a VPN vagy megváltoztathatja az internetszolgáltatóját, teljesen megváltoztatva az IP-címét).
  12. A szavazólap elfogadása csak attól függ, hogy az „érvényesítő” aláírása átesett-e az ellenőrzésen, és hogy ilyen kulcsot korábban használtak-e már.

Ezután bemutatjuk az algoritmus leírását a kriptográfia szempontjából.
A digitális aláírás paraméterei és jelölései:

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

M – FDN padding formátum az aláíráshoz.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster