Revize dálkového elektronického hlasovacího systému Ústřední volební komise Ruské federace

Dne 31. srpna 2020 proběhl veřejný test vzdáleného elektronického hlasovacího systému (dále jen DEG) pomocí technologie blockchain, vyvinutého na příkaz Ústřední volební komise Ruské federace.

Abychom se seznámili s novým systémem elektronického hlasování a pochopili, jakou roli v něm hraje technologie blockchain a jaké další komponenty se používají, zahajujeme sérii publikací věnovaných hlavním technickým řešením používaným v systému. Navrhujeme začít popořadě – s požadavky na systém a funkcemi účastníků procesu

Požadavky na systém

Základní požadavky, které platí pro jakýkoli hlasovací systém, jsou obecně stejné pro tradiční osobní hlasování i pro vzdálené elektronické hlasování a jsou stanoveny federálním zákonem N 12.06.2002-FZ ze dne 67. června 31.07.2020 (ve znění pozdějších předpisů XNUMX. července XNUMX) „O základních zárukách volební právo a právo účastnit se referenda občanů Ruské federace.

  1. Hlasování ve volbách a referendech je tajné s vyloučením možnosti jakékoli kontroly nad vůlí občana (článek 7).
  2. Možnost hlasovat by měla být poskytnuta pouze osobám, které mají aktivní právo hlasovat pro tento hlas.
  3. Jeden volič – jeden hlas, „dvojité“ hlasování není povoleno.
  4. Hlasovací proces musí být otevřený a transparentní pro voliče a pozorovatele.
  5. Musí být zajištěna integrita odevzdaných hlasů.
  6. Před dokončením hlasování by nemělo být možné vypočítat průběžné výsledky hlasování.

Máme tedy tři účastníky: voliče, volební komisi a pozorovatele, mezi nimiž se určuje pořadí interakce. Je také možné vyčlenit čtvrtého účastníka - orgány, které provádějí registraci občanů na území (především ministerstvo vnitra, jakož i další výkonné orgány), protože aktivní volební právo je spojeno s občanstvím a místem registrace.

Všichni tito účastníci se vzájemně ovlivňují.

Interakční protokol

Podívejme se na průběh hlasování v tradiční volební místnosti s volební urnou a papírovými hlasovacími lístky. V obecně zjednodušené podobě to vypadá takto: volič přijde do volební místnosti a předloží průkaz totožnosti (pas). Ve volební místnosti je okrsková volební komise, jejíž člen ověřuje totožnost voliče a jeho přítomnost v dříve sepsaném seznamu voličů. Pokud je volič zastižen, člen komise odevzdá voliči hlasovací lístek a volič podepíše, že hlasovací lístek převzal. Poté volič přejde do volební místnosti, vyplní hlasovací lístek a vloží jej do volební urny. Aby byly všechny postupy přísně dodržovány zákonem, je toto vše sledováno pozorovateli (zástupci kandidátů, veřejné monitorovací instituce). Po ukončení hlasování volební komise za přítomnosti pozorovatelů sečte hlasy a zjistí výsledky hlasování.

Vlastnosti nezbytné pro hlasování v klasickém volebním systému jsou zajištěny organizačními opatřeními a zavedeným postupem pro součinnost účastníků: kontrola voličských pasů, osobní podepisování hlasovacích lístků, používání volebních místností a zapečetěných volebních uren, postup při sčítání hlasů atd. .

U informačního systému, což je systém elektronického hlasování na dálku, se tento interakční příkaz nazývá protokol. Vzhledem k tomu, že všechny naše interakce se stávají digitálními, lze tento protokol považovat za algoritmus, který implementují jednotlivé komponenty systému a soubor organizačních a technických opatření prováděných uživateli.

Digitální interakce klade určité požadavky na implementované algoritmy. Podívejme se na akce prováděné na tradičním webu z hlediska informačních systémů a jak je to implementováno v systému DEG, který zvažujeme.

Řekněme hned, že technologie blockchain není „stříbrná kulka“, která řeší všechny problémy. K vytvoření takového systému bylo nutné vyvinout velké množství softwarových a hardwarových komponent odpovědných za různé úkoly a propojit je jedním procesem a protokolem. Ale zároveň všechny tyto komponenty interagují s blockchainovou platformou.

Komponenty systému

Z technického hlediska je systém DEG softwarový a hardwarový komplex (dále jen STC), který kombinuje soubor komponent pro zajištění interakce mezi účastníky volebního procesu v jednotném informačním prostředí.

Interakční diagram komponent a účastníků systému DEG PTC je znázorněn na obrázku níže.

Revize dálkového elektronického hlasovacího systému Ústřední volební komise Ruské federace
Klikací

Proces vzdáleného hlasování

Nyní podrobně zvážíme proces vzdáleného elektronického hlasování a jeho implementaci komponentami softwarového a hardwarového komplexu DEG.

Podle Postupu pro elektronické hlasování na dálku musí volič pro zařazení do seznamu účastníků elektronického hlasování na dálku podat žádost na portálu Státní služby. Tuto žádost přitom mohou podat pouze uživatelé, kteří mají potvrzený účet a byli úspěšně porovnáni se seznamem voličů, účastníky referend systému státního automatizovaného systému „Volby“. Po obdržení žádosti jsou údaje voliče ještě jednou zkontrolovány Ústřední volební komisí Ruska a nahrány do Součást Seznam voličů PTC DEG. Proces stahování je doprovázen záznamem jedinečných identifikátorů v blockchainu. Členové volební komise a pozorovatelé mají přístup k nahlížení do seznamu pomocí speciálního automatizovaného pracoviště umístěného v prostorách volební komise.

Když volič navštíví volební místnost, je ověřen (porovnáno s údaji z pasu) a identifikován v seznamu voličů a také se zkontroluje, zda tento volič neobdržel hlasovací lístek. Zde je důležité, že nelze zjistit, zda volič přijatý hlasovací lístek vložil do urny či nikoli, pouze skutečnost, že hlasovací lístek byl vydán již dříve. V případě PTC DEG představuje návštěva voliče požadavek uživatele portál DEG je web umístěný na adrese vybory.gov.ru Stejně jako tradiční volební místnost obsahuje web informační materiály o probíhajících volebních kampaních, informace o kandidátech a další informace. K provedení identifikace a autentizace se používá ESIA Portálu státních služeb. Obecné identifikační schéma je tak zachováno jak při podávání žádostí, tak při hlasování.

Poté začíná procedura anonymizace - voliči je předán hlasovací lístek, který neobsahuje žádné identifikační znaky: nemá číslo, není nijak spojen s voličem, kterému byl vydán. Zajímavé je zvážit možnost, kdy je volební místnost vybavena elektronickými hlasovacími systémy - v tomto případě se anonymizace provádí následovně: namísto papírového hlasovacího lístku je volič požádán, aby si z balíčku vybral libovolnou kartu s čárovým kódem, se kterou přistoupí k hlasovacímu zařízení. Na průkazu není žádný údaj o voliči, pouze kód, který určuje, jaký hlasovací lístek má zařízení při předložení takového průkazu poskytnout. Při zcela digitální interakci je hlavním úkolem implementovat anonymizační algoritmus tak, aby na jedné straně nebylo možné zjišťovat jakákoliv uživatelská identifikační data, a na druhé straně poskytnout možnost hlasovat pouze těm uživatelům, kteří byly dříve uvedeny v seznamu. K vyřešení tohoto problému používá DEG PTK kryptografický algoritmus, známý v profesionálním prostředí jako „slepý elektronický podpis“. Podrobně o tom budeme hovořit v následujících publikacích a zveřejníme také zdrojový kód, další informace můžete sbírat také z publikací na internetu pomocí klíčových slov - „kryptografické tajné hlasovací protokoly“ nebo „slepý podpis“

Poté volič vyplní hlasovací lístek na místě, kde není možné vidět provedenou volbu (zavřená kabinka) - pokud v našem informačním systému hlasuje na dálku, pak jediným takovým místem je osobní zařízení uživatele. K tomu je uživatel nejprve převeden do jiné domény − do anonymní zóny. Před přepnutím můžete zvýšit připojení VPN a změnit svou IP adresu. Právě na této doméně se zobrazí hlasovací lístek a zpracuje se volba uživatele. Zdrojový kód, který běží na zařízení uživatele, je zpočátku otevřený – lze jej vidět v prohlížeči.

Jakmile je volba provedena, je hlasovací lístek zašifrován na zařízení uživatele pomocí speciálního šifrovacího schématu, odeslán a zaznamenán v komponenta „Distribuované úložiště a počítání hlasů“, postavený na blockchainové platformě.

Jednou z nejdůležitějších vlastností protokolu je nemožnost znát výsledky hlasování před jeho dokončením. V tradiční volební místnosti je to zajištěno zapečetěním volební urny a sledováním pozorovatelů. V digitálních interakcích je nejlepším řešením zašifrovat volbu voliče. Použitý šifrovací algoritmus zabraňuje odhalení výsledků před dokončením hlasování. K tomu se používá schéma se dvěma klíči: jeden (veřejný) klíč, který znají všichni účastníci, se používá k šifrování hlasu. Nelze jej dešifrovat stejným klíčem, je potřeba druhý (soukromý) klíč. Soukromý klíč je rozdělen mezi účastníky volebního procesu (členy volebních komisí, veřejná komora, provozovatele sčítacích serverů atd.) tak, že každá jednotlivá část klíče je zbytečná. S dešifrováním můžete začít až po shromáždění soukromého klíče. V uvažovaném systému zahrnuje postup oddělení klíčů několik fází: oddělení části klíče v systému, oddělení klíče mimo systém a vytvoření společného veřejného klíče. Proces šifrování a práci s kryptografickými klíči si podrobně ukážeme v dalších publikacích.

Po sebrání a stažení klíče začíná výpočet výsledků pro jejich další zaznamenání do blockchainu a následné vyhlášení. Charakteristickým rysem uvažovaného systému je použití technologie homomorfního šifrování. Tento algoritmus podrobně popíšeme v budoucích publikacích a budeme hovořit o tom, proč se tato technologie široce používá k vytváření hlasovacích systémů. Nyní si povšimněme jeho hlavní vlastnosti: zašifrované hlasovací lístky zaznamenané v účetním systému lze kombinovat bez dešifrování tak, že výsledkem dešifrování takto kombinovaného šifrovaného textu bude součet hodnoty pro každou volbu v hlasovacích lístcích. Systém zároveň samozřejmě implementuje matematické důkazy správnosti takového výpočtu, které jsou rovněž evidovány v účetním systému a mohou být ověřeny pozorovateli.

Níže je přehled průběhu hlasování.

Revize dálkového elektronického hlasovacího systému Ústřední volební komise Ruské federace
Klikací

Blockchain platforma

Nyní, když jsme prozkoumali hlavní rysy implementace vzdáleného elektronického hlasovacího systému, odpovězme na otázku, se kterou jsme začali – jakou roli v tom hraje technologie blockchain a jaké problémy umožňuje řešit?

V implementovaném systému vzdáleného hlasování řeší technologie blockchain určitou škálu problémů.

  • Základním úkolem je zajistit integritu informací v rámci hlasování a především hlasování.
  • Zajištění transparentnosti provádění a neměnnosti programového kódu realizovaného formou smart kontraktů.
  • Zajištění ochrany a neměnnosti dat používaných v procesu hlasování: seznam voličů, klíče používané k šifrování hlasovacích lístků v různých fázích kryptografického protokolu atd.
  • Poskytování decentralizovaného úložiště dat, přičemž každý účastník má naprosto identickou kopii, potvrzenou vlastnostmi konsensu v síti.
  • Možnost prohlížet transakce a sledovat průběh hlasování, která se plně promítá do block chain, od jeho začátku až po zapsání vypočtených výsledků.

Vidíme tedy, že bez použití této technologie je téměř nemožné dosáhnout potřebných vlastností v hlasovacím systému, stejně jako důvěry v něj.

Funkčnost použité blockchainové platformy je obohacena o využití chytrých kontraktů. Chytré smlouvy kontrolují každou transakci pomocí zašifrovaných hlasovacích lístků na pravost elektronických a „slepých“ podpisů a také provádějí základní kontroly správnosti vyplnění zašifrovaného hlasovacího lístku.

Navíc v uvažovaném vzdáleném elektronickém hlasovacím systému není komponenta „Distribuované ukládání a počítání hlasů“ omezena pouze na blockchainové uzly. Pro každý uzel lze nasadit samostatný server, který implementuje hlavní kryptografické funkce hlasovacího protokolu – počítací servery.

Počítací servery

Jedná se o decentralizované komponenty, které zajišťují postup pro distribuované generování šifrovacího klíče volebního lístku, stejně jako dešifrování a výpočet výsledků hlasování. Mezi jejich úkoly patří:

  • Zajištění distribuovaného generování části šifrovacího klíče volebního lístku. Postup generování klíče bude diskutován v následujících článcích;
  • Kontrola správnosti zašifrovaného hlasovacího lístku (bez jeho dešifrování);
  • Zpracování hlasovacích lístků v zašifrované podobě pro generování konečného šifrovaného textu;
  • Distribuované dekódování konečných výsledků.

Každá fáze provádění kryptografického protokolu je zaznamenána v blockchainové platformě a pozorovatelé ji mohou zkontrolovat na správnost.

Aby systém získal potřebné vlastnosti v různých fázích procesu hlasování, používají se následující kryptografické algoritmy:

  • Elektronický podpis;
  • Slepý podpis veřejného klíče voliče;
  • schéma šifrování eliptické křivky ElGamal;
  • Důkazy nulových znalostí;
  • protokol Pedersen 91 DKG (Distributed Key Generation);
  • Protokol sdílení soukromých klíčů pomocí Shamirova schématu.

Kryptografické službě se budeme podrobněji věnovat v následujících článcích.

Výsledky

Shrňme některé průběžné výsledky úvah o systému elektronického hlasování na dálku. Stručně jsme popsali proces a hlavní součásti, které jej implementují, a také identifikovali prostředky k dosažení vlastností nezbytných pro jakýkoli volební systém:

  • Ověřitelnost voličů. Systém přijímá hlasy pouze od ověřených voličů. Tato vlastnost je zajištěna identifikací a autentizací voličů, jakož i záznamem seznamu voličů a faktem poskytnutí přístupu k hlasovacímu lístku v blockchainu.
  • Anonymita. Systém zajišťuje tajnost hlasování zakotvenou v legislativě Ruské federace, totožnost voliče nelze určit ze zašifrovaného hlasovacího lístku. Implementováno pomocí algoritmu „slepého podpisu“ a anonymní zóny pro vyplnění a odeslání hlasovacího lístku.
  • Důvěrnost hlasů. Pořadatelé a další účastníci hlasování nemohou zjistit výsledek hlasování, dokud nebude ukončeno, sečteny hlasy a rozluštěny konečné výsledky. Důvěrnosti je dosaženo zašifrováním hlasovacích lístků a znemožněním jejich dešifrování až po hlasování.
  • Neměnnost dat. Údaje voličů nelze změnit ani smazat. Neměnné úložiště dat zajišťuje platforma blockchain.
  • Ověřitelnost. Pozorovatel si může ověřit, že hlasy byly sečteny správně.
  • Spolehlivost. Architektura systému je založena na principech decentralizace, která zajišťuje absenci jediného „bodu selhání“.

Zdroj: www.habr.com

Přidat komentář