Kouzlo standardizovaného řešení

Je tomu přibližně čtvrt roku, co do datových schránek přibyla možnost rozšířit autentizaci přihlašovacím jménem a heslem o hesla jednorázová (OTP – One Time Password). Toto rozšíření umožňuje výrazně zvýšit zabezpečení datové schránky před prolomením či odcizením hesla.

Jednorázová hesla v datových schránkách si může uživatel buď generovat na mobilním zařízení a nebo nechat zasílat pomocí SMS. Vzhledem k tomu, že druhá možnost je placená, upne se asi většina zájemců o tuto funkci k variantě první. Díky tomu, že se programátoři datových schránek rozhodli v tomto případě použít standardní algoritmus pro jednorázová hesla (RFC 4226), je možné pro jejich generování využít aplikace třetích stran.

Datové schránky oficiálně podporují tři různé aplikace pro platformy iOS, Android a Java ME. Použití standardizovaného OTP algoritmu by však mělo umožnit využít i další podobné programy a dát tak uživatelům větší možnost volby. Jednou z aplikací tohoto druhu je Google Authenticator.

Google zavedl jednorázová hesla jako volitelnou možnost při přihlašování k účtu v únoru toho roku. Způsob jakým se jednorázová hesla u Google aktivují a používají je z pohledu uživatele trochu odlišný, ale základní myšlenka doplnit standardní hesla o další autentizační prvek je stejná. Google by však jako jedna z největších IT firem současnosti asi jen těžko přenesl přes srdce použití aplikace třetích stran pro potřeby vlastních uživatelů a vznikl tak již zmiňovaný Google Authenticator. Ten implementuje stejný standardní algoritmus generování OTP a podporuje platformy iOS, Android a Blackberry (a pro potřeby serveru obsahuje také PAM modul).

Protože OTP používám jak pro datové schránky, tak pro svůj Google účet a protože jako zaměstnanec CZ.NIC LABs musím být od přírody zvědavý, zajímalo mě, jestli půjde Google Authenticator použít i pro datové schránky.

Ukázalo se, že to opravdu jde a jediná komplikace je ve formátu v jakém se předává vstupní tajný klíč mezi serverem datových schránek a mobilní aplikací při prvotní aktivaci OTP. Zatímco datové schránky a jimi doporučované aplikace používají hexadecimální (tedy Base16) formát, Google Authenticator používá Base32. Celý problém použití Google Authenticatoru pro datové schránky se tedy redukuje na triviální úkol převodu mezi těmito dvěma kódováními.

Aby to však nebylo příliš jednoduché, trochu jsem si úlohu zkomplikoval. Google Authenticator totiž oproti ostatním aplikacím nabízí jednu vlastnost, kterou každý, kdo musel přepisovat 40 znaků v hexadecimálním zápisu z mobilu do počítače, určitě ocení – synchronizaci tajného hesla mezi serverem a mobilním zařízením pomocí QR kódu.

Abych již dále neprotahoval již tak dlouhý příspěvek, výsledkem je mini „aplikace“ v čistém JavaScriptu, kterou najdete na konci příspěvku. Ta umožňuje vygenerovat si na straně uživatele v prohlížeči tajný klíč, který poté pouze zkopíruje do systému datových schránek a zároveň jej přes QR kód nahraje do Google Authenticatoru na svém mobilu. Není tedy potřeba nic přepisovat a kontrolovat a pokud už Google Authenticator používáte, ani instalovat kvůli datovým schránkám další aplikaci.

Na závěr tedy nezbývá než pochválit tvůrce datových schránek za to, že si na rozdíl od některých dřívějších rozhodnutí tentokrát vybrali standardizované řešení. Usnadnilo to práci jim i uživatelům a dalo nám to možnost větší volby.

Poznámka: Protože celý proces generování tajného kódu i odpovídajícího QR kódu probíhá ve vašem prohlížeči, nemusíte se bát uniku informací a jejich potenciálního zneužití.

Jméno klíče:

Tajný klíč (zkopírujte do systému DS):

Bedřich Košata, Laboratoře CZ.NIC

P.S.- pokud nad tímto textem nevidíte QR kód, váš prohlížeč pravděpodobně neumí HTML canvas (např. IE), který je nutný pro generování QR kódu na straně klienta.

Nová vývojová fáze projektu Datové schránky

Je tomu již více než rok, co se vedení CZ.NIC rozhodlo vyřešit neuspokojivou situaci kolem podpory Datových schránek na alternativních platformách implementací vlastního řešení. To vzniklo na půdě Laboratoří CZ.NIC a z původního plánu postupem času vykrystalizovaly tři různé programy – dsgui jako multiplatformní desktopový klient pro práci s datovou schránkou, iDatovka jako klient pro iPhone a ZFO Editor pro editaci inteligentních elektronických formulářů, které se při komunikaci se státní správou často používají.

V tomto příspěvku se budu zabývat pouze desktopovými aplikacemi, tedy ZFO Editorem a dsgui.

Oba programy mají v současné době za sebou několik vydání a z hlediska funkcionality jsou v podstatě kompletní. V případě ZFO Editoru jsou již podporovány takřka všechny zdokumentované a některé nezdokumentované funkce dostupných formulářů a jde tak o jedinou alternativu k proprietárnímu Form Filleru od společnosti Software602. Lze ho  využít například na vyplnění daňového přiznání, návrh na zápis do obchodního rejstříku, apod. V programu dsgui byla implementovaná veškerá potřebná funkcionalita pro přijímání a odesílání zpráv, včetně kontroly jejich integrity pomocí elektronických podpisů, exportu dodejek, prohlížení příloh a mnoha dalších funkcí.

Jak jednotlivé produkty dozrávaly, zvětšoval se také počet jejich uživatelů a v dnešní době už má každý program vlastní uživatelskou komunitu. Ta je aktivní nejen při hlášení chyb, ale také přispívá ke vzniku nových funkcí programů, které vycházejí ze zkušeností s jejich reálným nasazením. To nám jako vývojářům výrazně usnadňuje práci a přináší také větší uspokojení z ní. Funkce vyžádané uživateli se tak stávají stále vetší částí nových vydání, protože základní funkcionalita je již implementována a není třeba ji měnit.

Z tohoto důvodu jsme se rozhodli po vydání nových verzí ZFO Editoru (verze 0.3) a dsgui (verze 1.3), které vyšly v předchozích několika dnech, změnit způsob vývoje těchto aplikací. V dalším vývoji se tak zaměříme již pouze na funkcionalitu vyžádanou uživateli, opravy chyb a případné úpravy vynucené změnami v systému Datových schránek.

Pokud tedy narazíte na nějaké problémy, nebo máte nějaký nápad na vylepšení stávajících funkcí dsgui či ZFO Editoru, neváhejte nám napsat na datove-schranky@labs.nic.cz nebo zfo-editor@labs.nic.cz. Budeme se těšit na vaše podněty.

Bedřich Košata

Přešli jsme na NSEC3, co z toho vyplývá?

Pro ty, kteří dění kolem české domény a DNSSEC pravidelně sledují, není zpráva z titulku jistě žádnou novinkou. Informaci o přechodu na NSEC3 jsme uveřejnili již před více než dvěma měsíci. Proč o tom tedy dnes psát na blogu?

Nedlouho před tím, než byla tato nová technologie nasazena, se na internetu objevil postup, jak „vylistovat“ obsah domény .CZ s pomocí NSEC záznamů. Ty umožňují prokázat neexistenci domény tím, že pro každé existující doménové jméno odkazují na další existující záznam v zóně. NSEC3 řeší právě tuto vlastnost, kterou zmíněný postup využívá.

NSEC3 totiž nepracuje s doménovými jmény samotnými, ale jen s jejich hashovanou podobou a není jej tedy možné pro tzv. „zonewalking“ použít. To se bohužel ještě nedoneslo některým zvědavcům, kteří se stále pokouší doménová jména z NSEC3 záznamů extrahovat. To se projevuje tím, že v provozu autoritativních serverů pro  doménu .CZ se u některých klientů (rekurzivních serverů) objevuje neobvyklé množství dotazů na neexistující domény se jmény jako „ha2022l2fk5ei80alie61h33i4r9vcko.cz.“ či „LJA47DB0JD4B6MEVIS2V2NFIRUJ33971.cz.“. U některých klientů jsou to dokonce desítky dotazů za vteřinu bez přestávky a to po několik týdnů.

Pokud jste tedy zapomněli někde na svém serveru zapnutý „zonewalking“ skript pro NSEC3, ušetříte vašemu počítači i dalším po cestě práci, pokud ho vypnete. Získaný seznam neexistujících domén vám totiž nejspíš k ničemu užitečnému stejně nebude.

Bedřich Košata

Co chystáme o datových schránkách na LinuxAlt?

Je to již skoro rok, co byly datové schránky uvedeny do ostrého provozu. Od té doby se mnoho změnilo, jak v samotných datových schránkách (mnozí si jistě pamatují na captchu číhající zákeřně po úspěšném přihlášení heslem), tak na poli dostupného softwaru. V současné době je k dispozici celá řada alternativních řešení, od proprietárních po svobodné, která umožňují práci s datovou schránkou naprosto bez nutnosti používat oficiální webové rozhraní.

Jedním z dostupných nástrojů je aplikace dsgui vyvíjená v našich Laboratořích, se kterou seznámíme návštěvníky v krátké přednášce na letošním LinuxAltu. Protože je ale tato aplikace na světě již nějaký ten pátek, určitě případné zájemce o návštěvu konference potěší, že v rámci stejné přednášky představíme také dva novější produkty, které by měly přispět ke zlepšení možností elektronické komunikace se státní správou na alternativních platformách. První z nich bude klient pro datové schránky pro iPhone, který umožní snadnou a okamžitou kontrolu datové schránky z prostředí tohoto telefonu. Druhou pak multiplatformní prohlížeč a editor elektronických formulářů ve formátu ZFO, které jsou státní správou hojně využívány a které se často používají v kombinaci s datovými schránkami.

Doufáme, že naše přednáška přispěje alespoň malou částí k úspěšnosti letošního LinuxAltu. Budeme se těšit na shledanou v Brně!

Bedřich Košata