Moderní stát, jakým bychom Česko chtěli mít, by měl umožňovat občanům volit elektronicky. Poslední dobou lze sledovat trend, že volební účast klesá. Pryč jsou časy devadesátých let, kdy volily tři čtvrtiny oprávněných občanů. Teď volit přicházejí jen tři pětiny voličů a to přesto, že volit lze dva dny. Občané pobývající v zahraničí mohou volit jen ve vybraných městech a znamená to pro ně často dlouhé cestování. Elektronické volby sníží bariéru a umožní hlasovat z pohodlí domova či v zaměstnání. Dělám si bláhovou naději, že by posílily volební účast a výsledky by pak lépe reprezentovaly přání všech občanů.
Tento příspěvek má za cíl začít diskusi nad zavedením elektronických voleb. Vykopávám.
Požadavky
- Ze zákona i logiky věci je hlasování tajné.
- Hlasování musí být nezpochybnitelné.
- Nesmí být možné hlasovat opakovaně, nebo různými způsoby.
- Systém musí zabránit podvodům.
- Systém musí být důvěryhodný a nezávisle ověřitelný.
- Systém nesmí být nákladný.
Návrh
Dnes má volič možnost požádat o voličský průkaz, se kterým může volit v jakémkoliv okrsku. Když o něj zažádá, bude chybět na seznamu svého volebního okrsku. Tím je zajištěno, aby nemohl volit dvakrát. Podobný princip můžeme použít při elektronických volbách. Volič zažádá o elektronický volební průkaz, pochopitelně elektronicky a tím přijde o možnost volit ne-elektronicky. Bude chybět na seznamu svého okrsku a nebude moci zažádat o voličský průkaz.
Pro přihlašování k elektronickým volbám můžeme využít existující infrastrukturu – datové schránky. Jedná se o zákonem uznávaný způsob přihlášení ke státním elektronickým službám. Tento způsob autentizace používá například správa sociálního zabezpečení a je dostupná všem občanům. Jednou nevýhodou je, že někdo datové schránky odmítá úmyslně. Nejde ale vymyslet řešení, které by vyhovovalo všem. Datové schránky fungují, integrace přihlášení do jiných služeb je prověřená, tudíž jejich použití výrazně snižuje náklady na zavedení elektronických voleb.
Pro zajištění anonymity hlasů je nutné oddělit záznam hlasů od informace, zda je volič oprávněný hlasovat a zda již hlasoval. První systém tedy bude mít na starosti ověření přístupu voliče k nástroji a zajištění, aby nehlasoval vícekrát. Bude tedy evidovat, zda se volič registroval k elektronickým volbám a zda již hlasoval. Bylo by vhodné, aby uchoval informaci, kdy k volbě došlo a z jaké IP adresy. Pokud by totiž některý volič rozporoval platnost voleb s tím, že mu nebylo umožněno hlasovat, hodil by se záznam o provedení volby. Na druhou stranu identifikace uživatele a čas volby zvyšuje riziko spárování hlasu s konkrétním voličem. Čím oddělenější bude infrastruktura obou systémů, tím je toto riziko nižší.
Druhý systém bude zaznamenávat samotné hlasy a zajišťovat výstupy. V ideálním případě bude vytvořen obecný systém podporující všechny typy voleb, které máme (jednokolové jako do poslanecké sněmovny či obecních zastupitelstev, vícekolové jako prezidentské či senátní) a pro každé volby se připraví datový soubor s kandidáty, podle kterého volby poběží.
Po spuštění voleb systém promaže databázi, aby se zamezilo případným podvodům s předem připravenými hlasy a zároveň vloží iniciální záznam. Systém pro každý další hlas vloží záznam, který kromě volby voliče bude obsahovat kryptografický otisk předchozího záznamu nebo celé databáze. Inspirací budiž verzovací systém Git. Tímto principem bude zajištěno, že administrátor databáze nemůže některé hlasy smazat nebo vložit. Po skončení voleb dojde ke kontrole všech otisků, které musí tvořit souvislou řadu. Alternativně by šlo zvážit variantu technologie blockchainu, ale ne veřejného. Průběžné výsledky by totiž mohly ovlivnit volby. Nakonec systém vygeneruje záznam voleb, aby je statistický úřad mohl naimportovat do svých systémů.
Procesní zabezpečení
Aby systém byl skutečně důvěryhodný, musí být možnost, aby si kterýkoliv občan mohl jeho části sám ověřit. Bezpečnost systému nesmí být postavena na zatajování, jak funguje. Naopak je zásadní, aby byly zveřejněny zdrojové kódy a každý občan měl právo ověřit, že v nich není chyba nebo zadní vrátka. Jsem pro zveřejnění na GitHubu.
Nezávisle ověřitelné zdrojové kódy jsou jedna věc, druhou je ale ověřitelnost binárky. Proto navrhuji, aby byly jednotlivé části systému sestaveny před notářem a zástupci všech parlamentních stran od samého začátku. Tedy ideálně čerstvě nainstalovaný operační systém, do něj nainstalovat kompilátor a git klient. Následně stáhnout z veřejné repozitoře schválenou verzi a tu zkompilovat a podepsat. Binárka bude zveřejněna minimálně měsíc před volbami, opět aby ji občané mohli nezávisle prozkoumat. V případě chyby bude oprava commitnuta do veřejné repozitoře v GitHubu a postup sestavení se zopakuje.
V den voleb se znovu sejde komise, před kterou IT pracovník ověří podpis aplikace; ukáže, že databáze je prázdná a zapne volební systém. Zároveň bude odepřen přístup k databázi všem dalším uživatelům a administrátorům. Tento režim – IT pracovníci pod kontrolou notáře (notářů) a zástupců všech parlamentních stram – bude dodržen nepřetržitě do skončení voleb. Bude to náročné, ale odpadne riziko, že se někdo pokusí volby zmanipulovat.
Ekonomika
Zavést elektronické volby nemusí být drahé. Hodně se ušetří opětovným využitím autentizace voličů pomocí datových schránek. Není třeba budovat nový systém a voliči nemusí kupovat speciální hardware (třeba čtečky elektronickýh občanek).
Pokud volební systém nebude zavádět IBM bez veřejné soutěže ala EET, nemusí stát miliardy, ale spíše vyšší desítky miliónů korun. Porovnejte s 964 milióny korun, které stály parlamentní volby v roce 2010. Pro spoustu firem by bylo otázkou prestiže tento systém naimplementovat. Jeden den práce programátora stojí 10-20 tisíc korun, a pochybuji, že by se vývojem spálilo více než tisíce člověkodnů.
Když by se elektronické volby osvědčily a začal je využívat významný podíl voličů, stálo by ke zvážení zkrácení voleb. Opravdu je nutné volit dva dny? Třeba v Německu stačí jeden den. Zkrácení voleb by výrazně snížilo celkové náklady.
Závěrem
Autor se nečiní patent na rozum. Klidně návrh rozcupujte, vytkněte slabiny a navrhněte lepší řešení. Ale pojďme na zavedení elektronických voleb pracovat. Potřebujeme je. Máme 21. století.
Napsat komentář