Code Monkey home page Code Monkey logo

obcanka-public's Introduction

Seznam projektů pracujících s eObčankou:

Jmeno projeku Popis projektu Odkaz na projekt
obcanka-reader Čtečka eObcanek jako USB klavesnice https://github.com/premek/obcanka-reader
Czech ID card service Multiplatformni open-source identifikacni klient https://github.com/devnautica/czeidcardservice
soFair-eObcanka JS knihovna pro přihlášení, postaveno nad řešením Czech ID card service + použití v aplikaci petiční systém https://github.com/Hixqqo/soFair-eObcanka
eObcanka.Java Java knihovna pro práci s eObčankou https://github.com/ParalelniPolis/obcanka-public/java
eObcanka.NET .NET knihovna pro práci s eObčankou https://github.com/wurducius/eObcanka.NET
oPYcanka Python knihovna pro práci s eObčankou https://github.com/ParalelniPolis/opycanka
eobcanka-rust Minimální Rust lib impementace pro práci s eObčankou https://github.com/Qubeo/eobcanka-rust
EOP Python skript umožnující výpočet veřejného klíče z podpisu certifikátu uloženého na eObčance https://github.com/andrewkozlik/eop

Zajímavé dokumenty k eObčance:

Popis Odkaz
Prezentace pro vývojáře z Hackathonu k základnímu seznámení se s eObčankou https://github.com/ParalelniPolis/obcanka-public/blob/master/java/doc/Obcanka_20190119.pdf
ISO7816 http://cardwerk.com/smart-card-standard-iso7816-4-section-5-basic-organizations

Neveřejné veřejné:

Česká republika zavádí nové elektronické průkazy (tzv. eObčanka) a celý projekt působí velmi rozpačitě. Technické řešení i komunikace snižují důvěryhodnost nového nástroje, který má přitom 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. Namísto otevření software pro další vývoj na straně uživatelů však stát odmítá zveřejnit i údaje, které by ze své podstaty veřejné být měly. Rozhodli jsme se proto otevřít toto neveřejné veřejné paralelně.

Architektura řešení je hrubě nedotažená a postrádá logickou strukturu, ale i některé základní bezpečnostní náležitosti. Při rozkrývání technického provedení se pak objevil zcela nepochopitelný problém na straně vydavatele, který odmítl zveřejnit veřejné klíče pro ověření autenticity certifikátů a jejich vydavatele (certifikační autority).

S požadavkem na zpřístupnění veřejných klíčů se na Ministerstvo vnitra ČR obrátil v polovině září tohoto roku Karel Kyovský. „Zpřístupnění uvedených certifikátů široké veřejnosti umožní občanům i soukromému sektoru efektivnější využití vlastností nových občanských průkazů a umožní nezávislé ověření pravosti“ uvedl Karel Kyovský v odůvodnění žádosti o zpřístupnění veřejných klíčů.

Ministerstvo vnitra však žádost zamítlo s odkazem na sérii předpisů, které údajně znemožňují veřejné klíče poskytnout, a samotné zveřejnění označilo za bezpečnostní riziko. „Poskytnutí požadovaných certifikátů považujeme za možné riziko pro bezpečnost systému elektronické komunikace,“ uvedl Ing. František Varmuža, ředitel Odboru centrálních informačních systémů Ministerstva vnitra ve své odpovědi.

Ministerstvo vnitra buď nerozumí základům kryptografie a bezpečnosti, nebo jde o skrytý záměr, jehož cílem je vytvoření role centrálního ověřovatele (prostor pro další zakázky). Veřejné klíče k e-dokladům přitom bez problémů zpřístupnilo například Slovensko nebo Estonsko, kde žádné bezpečnostní riziko neidentifikovali.

Veřejné klíče české eObčanky lze ovšem z certifikátů nahraných na eObčance dopočítat. Metodiku výpočtu představili konzultanti v oblasti kryptografie Ondřej Vejpustek a Andrew Kozlik. Bližší metodologie je popsaná například v dokumentu Elliptic Curve Cryptography.

Veřejný klíč je zapsán v blockchainu. Jak klíč stáhnout naleznete zde.

Odmítnutím zveřejnit veřejné klíče k certifikátům stát vytváří umělou monopolní situaci a prostor pro korupci, kdy pouze jím určené osoby s přístupem k certifikátům 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.

Pokud stát nesmyslně odmítá veřejnosti veřejností financovaný systém otevřít, učiníme to za něj (není zač).

Hackathon

Hackathon eObčanka 2019 19.-20. 1. 2019 v Paralelní Polis

Třetí lednový víkend pořádá Paralelní Polis hackathon, který si klade za cíl otevřít platformu eObčanek, zkontrolovat jejich bezpečnost a přinést nové možnosti jejich využití.

Podmínky

Hackathonu se mohou zúčastnit skupiny i jednotlivci. Na akci se nehradí žádné startovné. K dispozici budou čtečky karet a příkladová JAVA knihovna pro komunikaci s eObčankou. eObčanku si musí účastníci zajistit sami. Po dobu hackathonu bude k dispozici občerstvení a výběrová káva z naší kavárny.

Cíle

Během hackathonu chceme vytvořit projekty v následujících oblastech:

  • Knihovny pro obsluhu eObčanky pro různé platformy
  • Aplikace pro iOS
  • Extrakce software z karty, bezpečnostní audit - například z hlediska manipulace s privátním klíčem
  • Prozkoumání a zdokumentování nezveřejněných funkcí systému
  • Nová využití eObčanky pro komerční i nekomerční účely

Účastníci se nemusí omezovat pouze na tato témata a mohou přijít s vlastními zajímavými nápady. Kreativitě se meze nekladou.

Kritéria hodnocení

Projekty budou hodnoceny na základě pětiminutové prezentace a dema dle následujících kritérií:

  • Užitečnost
  • UX
  • Originalita
  • Kvalita dema

Ceny

Vítězné týmy se mohou těšit na:

Nemůžete se zúčastnit, ale chcete týmy motivovat? Přispějte na výše uvedenou bitcoinovou adresu.

Výsledky

Umístění Tým Popis projektu Odkaz na projekt
1. Devnautica + soFair Multiplatformni open-source identifikacni klient + JS knihovna pro přihlášení, postaveno nad řešením týmu Devnautica + použití v aplikaci petiční systém https://github.com/Hixqqo/soFair-eObcanka a https://github.com/devnautica/czeidcardservice
2. Premek Čtečka eObcanek jako USB klavesnice https://github.com/premek/obcanka-reader
3. Auxilium & Warden Audit Bezpečnostní audit systému eObčanka Identifikace. Identifikace nezdokumentovaných a nezmámých funkcionalit a případných bezpečnostních chyb TAJNÉ
4. Submission .NET Library + Utility application https://github.com/wurducius/eObcanka.NET
5. oPYcanka Python knihovna pro práci s eObčankou https://github.com/ParalelniPolis/opycanka
6. MindFoc Minimální Rust lib impementace https://github.com/Qubeo/eobcanka-rust

obcanka-public's People

Contributors

b00lean avatar hubikj avatar premek avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.