Systém vysoce bezpečného anonymního elektronického hlasování České pirátské strany

Jedná se o rozšířený článek v českém překladu:

MARTÍNEK, Tomáš a Lukáš FORÝTEK, 2022. The highly secure anonymous e-voting system of the Czech Pirate Party. In: KRIMMER, Robert, Melanie VOLKAMER, David DUENAS-CID, et al., ed. E-Vote-ID 2022: Seventh Joint International Conference on Electronic Voting [online]. 7. Estonia: University of Tartu Press, s. 165-168 [cit. 2023-03-16]. ISBN 978-9916-27-035-6. Dostupné z: doi:https://doi.org/10.15157/diss/036

Ing. Tomáš Martínek1[0000−0002−5217−3240] and Ing. Lukáš Forýtek2[0000-0002-2453-4483]

1 Department of Information Engineering, Faculty of Economics a Management, Czech University of Life Sciences Prague, Czech Republic

2 Department of International and Diplomatic Studies, Faculty of International Relations, Prague University of Economics and Business, Czech Republic

Abstract. Článek popisuje open-source e-voting systém České pirátské strany včetně využívaných aplikací, jejich úprav a propojení. Celkově přináší pohled na vysoce důvěryhodný, bezpečný a anonymní systém hlasování využívaný pro vnitrostranickou přímou demokracii českou vládní stranou.

Keywords: Internet voting, E-voting, E-democracy, Open-Source.

  1. Představení systému elektronického hlasování Pirátů
    1. Česká pirátská strana

Česká pirátská strana [15] je česká středová liberálně progresivní politická strana založená v roce 2009 dle inspirace ze Švédska. Ve volbách do české Sněmovny v roce 2017 získala 10,79 % hlasů, a tím poprvé získala 22 poslaneckých mandátů. Jeden z mandátů obdržel i hlavní autor tohoto článku. Od prosince 2021 jsou Piráti v Česku vládní stranou. Předseda České pirátské strany Ivan Bartoš je vicepremiérem vlády pro digitalizaci a ministrem pro místní rozvoj. K 9. září 2022 měla Česká pirátská strana 1193 členů [1].

  1. Systémy pro vnitrostranické hlasování České pirátské strany

Pro české Piráty je důraz na digitalizaci zásadní, proto již od svého založení v rámci vnitrostranické demokracie umožňují veškerá jednání i hlasování online pomocí vlastních systémů. Pro vnitrostranické jednání strany je především využíván systém phpBB [9], jehož anketní systém byl původně využíván i pro většinu hlasování. Tento systém ovšem nebyl dostatečně bezpečný ani anonymní.

Od roku 2016 používá Česká pirátská strana pro tajná hlasování bezpečný a anonymizovaný systém Helios. V kombinaci s dalšími systémy strany se jedná o unikátní elektronický volební systém, který mezi českými politickými stranami nemá obdoby.

Personální hlasování se týká výhradně členů strany. Každý člen je přijímán na základě veřejného hlasování místního předsednictva na online fóru [4]. Po přijetí je každý člen ověřen pověřenou osobou na základě kontroly občanského průkazu nebo pasu. 

Fórum České pirátské strany je obecná diskusní platforma, která slouží členské základně k volné i řízené diskuzi a některým druhům jednání. Technicky se jedná o systém phpBB [9], který provozuje Technický odbor na stranických serverech. [4]

Chobotnice je systém pro správu osob a týmů (oblastních sdružení, orgánů, týmů, atd.). Slouží k administraci registrů osob při dodržení GDPR. Konkrétně umožňuje hromadnou správu osob a týmů, provádění agendy ověřování identit, registrace příznivců a přijímání členů, správu přihlášek a plateb členských příspěvků. [3] 

Profil je aplikace, kde členové, registrovaní příznivci, kandidáti, dobrovolníci a odběratelé newsletterů spravují své osobní informace a veřejné profily, podávají žádosti o registraci či ověření identity. Aplikace je zdrojem dat pro systém Chobotnice. [2]

Lidé (Adresář) je systém, který poskytuje veřejný přehled orgánů a týmů ve straně a jejich členů. Spravuje kontaktní údaje orgánů a týmů. Adresář je propojen se systémy Chobotnice a Profil. [1]

Systémy Chobotnice, Profil a Lidé byly vyvinuty Technickým odborem České pirátské strany.

Auth (Keycloack) je centrální autentizační místo pro ostatní pirátské aplikace. Technicky se jedná o systém Keycloack [8] ve verzi 17, který provozuje Technický odbor na stranických serverech a který je propojen se systémem Chobotnice. [7]

LDAP je úložištěm provozní databáze identit, tedy informací o veškerých uživatelích pirátských systémů. Dále se zde nalézají informace o příslušnosti uživatelů do skupin, prostřednictvím kterých se řídí jejich oprávnění. Technicky se jedná o systém OpenLDAP [6], který provozuje Technický odbor na stranických serverech. Je využíván jako technický backend pro Auth (Keycloack). [5]

Helios [10] je systém pro tajné, ale ověřitelné hlasování přes internet. Pirátům slouží k hlasováním při některých typech jednání, zejména pak při jednáních Celostátního fóra. Technicky se jedná o systém Helios [11], který provozuje Technický odbor na stranických serverech. Jedná se o verzi 3.1.4. upravenou propojením na Keycloack pro přihlášení a Chobotnice pro integraci seznamu uživatelů a dalších bezpečnostních úprav [20]. Upravená verze je stále open-source a je uložena na GitHubu Pirátů. [18]

Další technologie strany související s hlasováním. Pro HTTPS využívají Piráti službu třetí strany Let’s Encrypt [12], pro vytvoření e-mailových aliasů členů strany ve tvaru jmeno.prijmeni@pirati.cz, na které se posílají informace ohledně volby, využívají Piráti systém Postfix [13], který provozuje Technický odbor na stranických serverech. Další informace o technických systémech jsou uváděny na pirátské Wiki [14].

Obrázek 1. Zjednodušené schéma e-voting systému České pirátské strany

  1. Proces vnitrostranického hlasování České pirátské strany

Veřejně přístupná diskuze a jednání strany probíhají u České pirátské strany na online fóru. Piráti jdou příkladem v rámci přímé demokracie, proto se pro volby nevyužívá systém delegátů, jako tomu je v jiných českých politických stranách, ale volí všichni členové dané oblasti. Členové jsou zpravidla členy několika úrovní oblastí, nejnižší úroveň je místní fórum, střední úroveň je krajské fórum odpovídajícím územně jednomu ze 14 krajů České republiky, nejvyšší úrovní je celostátní fórum, které zahrnuje všechny členy strany.

Volení zástupci určité části či celé členské základny hlasují zpravidla veřejně na fóru České pirátské strany [4]. Může se jednat například o hlasování krajského předsednictva o přijetí nového člena. Personální volby i jiná zásadní hlasování rozhodují všichni členové dané oblasti přímou tajnou elektronickou volbou. 

Pro vyvolání hlasování se zpravidla získává veřejná podpora prostřednictvím fóra. Obdobně u personálních voleb se pro získání nominace využívá fórum, kde je možné podporu získat podporou konkrétního nominačního příspěvku využitím funkcionality “Poděkování” phpBB fóra, která zobrazí jména uživatelů fóra, kteří vyjádří konkrétnímu příspěvku podporu. Pro pro zahájení jednání či nominaci je potřeba získat podporu skupiny členů. Potřebná velikost skupiny členů se určí jako dvojnásobek druhé odmocniny z počtu členů dané oblasti.

a=2 * odmocnina z x (1)

a je potřebná velikost skupiny členů, kteří návrh podpoří;

x je celkový počet členů dané oblasti.

U již zahájených jednání se potřebná velikost skupiny členů snižuje na polovinu.

V případě personálních voleb postupují do volby členové, kteří do deadline získají danou podporu skupiny členů a zároveň přijmou nominaci, případně doplní nominační řeč.

Tajné hlasování ve volebním systému České pirátské strany

Systém stranických hlasování je zpravidla dvoukolový. V prvním kole je možné hlasovat pro žádnou až všechny možnosti, které jsou pro hlasujícího přijatelné. Do druhého kola postupují všichni, kteří získají nadpoloviční podporu. Druhé kolo je již většinové s možností vybrat jednu nebo žádnou z možností. Vítěznou možností druhého kola se stane ta, která získá nejvíce hlasů. V případě shody hlasů vítězí ta, která měla větší podporu v prvním kole.

Pro volbu se určují minimálně tři trustees zpravidla z řad odborů a předsednictva fóra, kteří odpovídají za dešifrování výsledků hlasování. Základním automatizovaným trustees je sám systém Helios. Každý trustee si vygeneruje svůj pár klíčů a nahraje veřejný klíč na Helios [10]. Když je zapotřebí dešifrovat, každý trustee použije svůj soukromý klíč. Seznam voličů je načten po výběru oblasti členů, který se volba týká, automaticky ze stranických systémů.

O hlasování jsou členové informováni prostřednictvím e-mailu, případně i hromadnou SMS. Samotné hlasování České pirátské strany probíhá po přihlášení členů přes systém Auth Piráti [7] využívajícím LDAP do stranického systému Helios [10], který přebírá údaje ze stranických systémů Chobotnice, Profil a Lidé (Adresář). Hlasování probíhá v předem stanoveném termínu, zpravidla se hlasuje od pátku 10:00 do pondělí 22:00.

  1. Diskuse a závěr
    1. Významná tajná elektronická hlasování České pirátské strany

Česká pirátská strana klade důraz na přímou demokracii, proto probíhají hlasování poměrně často. Nejedná se pouze o volby předsednictva, kandidátů a dalších, ale členové mohou vyvolat i hlasování o odvolání ze stranických funkcí [17], hlasují se například změny stanov strany a jiné. Protože se jedná v českém prostředí o unikum, jsou některá hlasování důkladně sledována celostátními médii. Mezi nejsledovanější patří zpravidla předsedy strany nebo naopak výzvy k odvolání některé osoby ze stranické funkce. V listopadu 2021 proběhlo mediálně velmi sledované hlasování všech členů o vstupu České pirátské strany do vlády. [16]

  1. Závěr

Piráti oproti jiným českým politickým stranám, které volí a rozhodují prostřednictvím delegátů, případně korespondenčních referend, umožňují rozhodování všem členům online. Pro zvýšení důvěryhodnosti používají Piráti výhradně open-source řešení, vlastní úpravy a aplikace zpřístupňují Piráti na svém Gitlabu [19]. Používaný e-voting systém je komfortní i pro mobilní hlasování a zaručuje vysokou míru důvěryhodnosti, bezpečnosti i anonymity pro kvalifikované rozhodování v rámci přímé demokracie.

Zdroje

  1. Lidé Piráti, https://lide.pirati.cz, last accessed 2022/09/09.
  2. Profil Piráti, https://profil.pirati.cz, last accessed 2022/09/09.
  3. Chobotnice Piráti, https://chobotnice.pirati.cz, last accessed 2022/09/09.
  4. Fórum České pirátské strany, https://forum.pirati.cz, last accessed 2022/09/09.
  5. LDAP České pirátské strany, https://wiki.pirati.cz/to/technicke-systemy/ldap, last accessed 2022/09/09.
  6. OpenLDAP, https://www.openldap.org/, last accessed 2022/09/09.
  7. Auth Piráti, https://auth.pirati.cz/, last accessed 2022/09/09.
  8. Keycloack.org, https://www.keycloak.org/, last accessed 2022/09/09.
  9. phpBB, https://www.phpbb.com/, last accessed 2022/09/09.
  10. Helios Piráti, https://helios.pirati.cz/, last accessed 2022/09/09.
  11. Helios, https://vote.heliosvoting.org/, last accessed 2022/09/09.
  12. Let’s Encrypt, https://letsencrypt.org/, last accessed 2022/09/09.
  13. Postfix, http://www.postfix.org/, last accessed 2022/09/09.
  14. Piráti: Přehled technických systémů, https://wiki.pirati.cz/to/technicke-systemy, last accessed 2022/09/09.
  15. Piráti, http://www.pirati.cz/, last accessed 2022/09/09.
  16. SeznamZprávy.cz: Hlasování Pirátů o vstupu do vlády může trvat. Začne nejdřív příští víkend, https://www.seznamzpravy.cz/clanek/hlasovani-piratu-o-vstupu-do-vlady-muze-trvat-zacne-nejdriv-pristi-vikend-179456, last accessed 2022/09/09.
  17. Aktualne.cz: Piráti volí nové vedení. Bartoš mluví o vládě, Wagenknecht o viditelnější značce, https://zpravy.aktualne.cz/domaci/oslabeny-bartos-oslabenou-stranou/r~0a7cb2846ee511ec8a900cc47ab5f122/.
  18. Piráti: Helios Server, https://gitlab.pirati.cz/to/helios-server, last accessed 2022/09/11.
  19. Pirátský GitLab, https://gitlab.pirati.cz/, last accessed 2022/09/11.
  20. Nicholas Chang-Fong and Aleksander Essex. The cloudier side of cryptographic end-to-end verifiable voting: a security analysis of Helios. In  ACSAC 2016: 32nd Annual Conference on Computer Security Applications, pages 324–335. ACM, December 2016.