Paralelní Polis, nezisková organizace postavená na idejích svobody, nezávislosti a inovativního rozvoje společnosti, zorganizovala Hackathon s názvem eObčanka, jehož cílem bylo ověřit bezpečnost státního projektu elektronických průkazů a otevřít jej pro veřejnost. eObčanka je občanský průkaz s kontaktním elektronickým čipem, který umožňuje online prokazování totožnosti a uložení kvalifikovaných a autentizačních certifikátů.
Hackathon mimo jiné upozornil na nedostatky v otevřenosti systému, bezpečnosti a škálovatelnosti. Vítězným projektem je aplikace pro bezpečné sestavování petic, druhé místo obsadilo hardwarové řešení umožňující bezpečně přečíst, identifikovat a do návštěvních knih zapsat předem definované informace z elektronického občanského průkazu.
Hackathon, který Paralelní Polis uspořádala za podpory společností GENERAL BYTES, Nethemba, xTel a Club-Mate ve dnech 19. a 20. ledna 2019, umožnil dvacítce technologických expertů prozkoumat technické provedení projektu eObčanka a navrhnout nová vylepšení a rozšíření služby. Elektronické průkazy vydává Ministerstvo vnitra ČR od července 2018 s ambicí usnadnit občanům přístup ke službám veřejné správy přes internet.
Tento chvály hodný počin, který má potenciál významně zjednodušit komunikaci se státem a ulehčit řadu povinností identifikace uživatelů internetových a finančních služeb, však místo úspěšného vykročení k digitalizaci vzbudil hned v počátcích rozpaky.
Funkcionality eObčanky nepřesahují úroveň datových schránek, chybí logické struktury a řešení poskytuje jen omezenou kompatibilitu s produkty dostupnými na českém trhu. Ke svému provozu vyžaduje eObčanka pořízení hardwarové čtečky čipových karet, což omezuje dostupnost veřejné služby.
Ministerstvo vnitra ČR s odkazem na bezpečnostní rizikaodmítlo zveřejnit veřejné klíčepro ověření autenticity certifikátů a jejich vydavatele. Vytvořilo tak umělou monopolní situaci a prostor pro korupci, kdy pouze jím určené osoby mohou využít nové vlastnosti občanských průkazů s čipem a vytvářet další aplikace pro širší a smysluplnější využití eObčanky. Paralelní Polis se proto rozhodla veřejností financovaný systém otevřít v rámci hackathonu, mezi jehož cíle zařadila prověření odolnosti proti hackerským útokům, průzkum a dokumentaci nezveřejněných funkcí systému a navržení nových využití eObčanky pro komerční i nekomerční účely.
Otevřenost systému, bezpečnost a škálovatelnost
Účastníci hackathonu potvrdili, že zásadním negativem nových elektronických průkazů je uzavřenost systému a absence jakékoli dokumentace.
„Otevření softwaru je klíčové pro další rozvoj, který by umožnil jak občanům, tak soukromému sektoru širší využití vlastností nových občanských průkazů. Otevření softwaru by zároveň umožnilo efektivnější čerpání finančních prostředků státního rozpočtu určených na další rozvoj systému,“ hodnotí Jan Hubík, koordinátor hackathonu za Paralelní Polis a dodává, že „hackathon dal vzniknout hned několika životaschopným aplikacím a řešením s konkrétními přínosy pro veřejnost.“
Jako vítězný vyhodnotila porota projekt šestičlenného týmu pod vedením Romana Almashiho, který v rámci hackathonu vyvinul aplikaci pro usnadnění podávání petic a jiných sdělení, která mají upozornit na nedostatky, nesprávné jednání nebo nečinnost úředních osob.
“Aplikace nabízí bezpečné řešení sestavování petic, které mohou signatáři podepisovat svým elektronickým občanským průkazem, což výrazně eliminuje případné budoucí zpochybňování pravosti podpisů,” říká Roman Almashi.
“Aplikace dále sama ověřuje platnost průkazů, nebo umožňuje uživateli řídit přístup k jednotlivým osobním údajům na eObčance a sdílet tak s internetovou stránkou pouze vybrané údaje. K využití není kromě čtečky karet pro komunikaci s úřady třeba žádného dalšího hardwaru a lze ji provozovat na klasickém desktopu, což umožňuje její široké využití. Aplikace je navíc navržena jako otevřená tak, aby byla maximálně důvěryhodná a do budoucna umožnila přidání nových funkcionalit a integraci dalších přidružených aplikací třetích stran,” dodává Almashi.
Jako druhý nejlepší projekt bylo v rámci hackathonu vyhlášeno hardwarové řešení Přemysla Vyhnala – eObčanka Reader. Zařízení umožňuje po vložení čipem opatřeného občanského průkazu přečíst, identifikovat a do počítače zapsat konkrétní předem vybrané informace z elektronického občanského průkazu, jako například jméno, příjmení, rok narození, díky čemuž odpadá mnohdy složité manuální zadávání údajů.
“S ohledem na aktuální bezpečnostní politiky a regulace typu GDPR zařízení bezpečně použije z eObčanky pouze ty informace, které jsou uživatelem v souladu s nařízeními definovány. Další předností řešení je, že nevyžaduje instalaci žádné aplikace, neboť se vůči počítači, ke kterému je připojena, tváří jako klávesnice” upozorňuje Vyhnal.
“Otevřené řešení eObčankaReader postavené na jednočipovém kapesním počítači Raspberry Pi má vzhledem k velmi širokým možnostem použití, např. pro zápis do návštěvních knih recepcí, vysoký potenciál praktického využití, což jej předurčuje i pro komerční využití,” dodává Vyhnal.
Dalšími oceněnými projekty byly nově vzniklé softwarové knihovny umožňující pracovat s občanskými průkazy v dalších programovacích jazycích. Od dnešního dne si eObčankou rozumí i jazyky Microsoft .NET, Python, Rust a Java.
“Vznik nových knihoven a dokumentací pod otevřenými licencemi je základním stavebním kamenem pro vznik dalších řešení pracujících s eObčankou,“ prohlásil Jan Hubík.
Vzhledem k absenci dokumentace, jak eObčanky fungují, bylo jedním z týmů zdokumentováno, jak eObčanky komunikují se státní infrastrukturou, včetně identifikace možných míst útoků malwaru a rizik, která pro uživatele eObčanka představuje. Jednou z možností je například podvržení smlouvy o prodeji nemovitosti namísto neškodného vyžádání výpisu z bodového hodnocení řidiče.
Všechny projekty představené v rámci hackathonu eObčanka jsou zveřejněny na veřejném repozitáři GitHub.