Hackathon Paralelní Polis odkryl nedostatky u projektu eObčanka
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 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ályhodný 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.
Funkce 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í rizika odmítlo zveřejnit veřejné klíče pro 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,“ ohodnotil situaci Jan Hubík, koordinátor hackathonu za Paralelní Polis a dodal, ž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, který vznikl spojením návrhů týmů Devnautica a soFair. První zmíněný vyvinul desktopovou aplikaci na podporu komunikace s eObčankou a webovými aplikacemi pomocí snadného API. Tým soFair na této platformě následně vypracoval 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. Jednoduše řečeno 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ů. 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 funkcí a integraci dalších přidružených aplikací třetích stran.
Jako druhý nejlepší projekt bylo vyhlášeno hardwarové řešení Přemysla Vyhnala – eObčankaReader. 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 v souladu s nařízeními předem 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řipojeno, tváří jako klávesnice,” poznamenal Vyhnal. „Otevřené řešení eObčankaReader postavené na jednočipovém kapesním počítači Raspberry Pi má vzhledem k š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í.“
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 s 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.