Pokud jste si mysleli, že vyhodnocování platnosti uznávaného elektronického podpisu – ať již v souvislosti s datovými schránkami či jakkoli jinak – je docela obtížné, pak vězte, že to bude ještě obtížnější. Nebo vlastně: už to obtížnější je, a to od konce prosince loňského roku. Důvodem je nutnost uznávání kvalifikovaných certifikátů vydaných v zahraničí.
Co říká zákon?
Až dosud v tuzemsku platilo, a to již na základě zákona č. 227/2000 Sb., že „v rámci orgánů veřejné moci“ je nutné používat zaručené elektronické podpisy, vytvořené s využitím kvalifikovaných certifikátů vydaných akreditovanými poskytovateli certifikačních služeb. Zkráceně tzv. uznávané podpisy.
Přitom se jaksi „mezi řádky“ předpokládalo, že musí jít o certifikáty vydané tuzemskými akreditovanými poskytovateli (tzv. certifikačními autoritami). Ti jsou jen tři (I.CA, PostSignum a eIdentity), a tak bylo ještě relativně snadné vyjádřit jim důvěru všem, skrze instalování jejich kořenových certifikátů do příslušných úložišť. Tedy: snadné to bylo alespoň pro toho, kdo věděl, jak takové certifikáty správně (dostatečně důvěryhodně) získat a jak s nimi správně naložit. Podrobněji viz tento dřívější článek.
Předpoklad o tuzemském původu poskytovatelů certifikačních služeb (certifikačních autorit) ale nikde v zákoně o elektronickém podpisu není. Naopak, je zde dokonce explicitní ustanovení o tom, že uznávány musí být i zahraniční certifikáty. Ty z členských zemí EU bez dalších podmínek:
(1) Certifikát, který je vydán poskytovatelem certifikačních služeb usazeným v některém z členských států Evropské unie jako kvalifikovaný, je kvalifikovaným certifikátem ve smyslu tohoto zákona.
V případě certifikátů z dalších zemí musí být splněny ještě další podmínky: jejich vydavatel nemusí sídlit v EU, ale musí být v EU akreditován. Nebo se za jeho certifikáty musí zaručit někdo jiný, kdo je v EU akreditován. Případně může být uznávání certifikátů upraveno mezinárodní smlouvou.
V praxi se ale tato ustanovení ne vždy dodržovala. Neexistovala totiž jednoduchá možnost spolehlivého ověření, zda nějaký konkrétní certifikát zahraničního původu je či není kvalifikovaný. Museli jste se buďto nějak sami dopátrat skutečného stavu v příslušné zemi, nebo požádat o zprostředkování odborné pracovníky MVČR (které má u nás elektronický podpis v gesci), kteří přes své kontakty mohli získat potřebné informace od příslušných dozorových orgánů v daném státě.
Rozhodnutí Evropské komise a jeho důsledky
Teď ale – konkrétně k 28. prosinci 2009 – tato překážka padla, alespoň pokud jde o kvalifikované certifikáty, vydané důvěryhodnými certifikačními autoritami přímo z Evropské unie. Přesněji: vydané takovými certifikačními autoritami, které jsou v příslušné zemi tzv. akreditovány, nebo na jejich činnost dohlíží stát. A ještě přesněji: vydané v rámci takových služeb, které jsou v dané zemi akreditovány, či nad kterými stát vykonává dohled. Jedna konkrétní certifikační autorita (poskytovatel certifikačních služeb) totiž typicky vydává více druhů certifikátů, v rámci různých druhů svých služeb.
Stalo se tak skrze rozhodnutí Evropské komise č. 2009/767/ES, které nabylo účinnosti k již zmiňovanému 28. prosinci 2009, a je tudíž i pro ČR od tohoto data závazné.
Důsledek je tedy ten, že již od 28.12.2009 bychom měli – vedle „tuzemských“ kvalifikovaných certifikátů – uznávat jako kvalifikované i „unijní“ certifikáty. A vzhledem k tomu bychom už měli uznávat – a to i „v rámci orgánů veřejné moci“ – také zaručené elektronické podpisy, založené na těchto certifikátech zahraniční provenience.
Platí to samozřejmě obecně, ale nejvíce se to týká našich úřadů, resp. orgánů veřejné moci. Ty nyní musí akceptovat i podání v elektronické formě, podepsaná s využitím takovýchto zahraničních kvalifikovaných certifikátů.
Seznamy TSL
Nechme nyní chvíli stranou právní stránku věci a podívejme se na to, co se fakticky změnilo. Co doopravdy odstranilo dosavadní překážku, bránící jednoduchému a dostatečně spolehlivému rozpoznání toho, který zahraniční certifikát může být považován za kvalifikovaný?
Zmíněným rozhodnutím Evropské komise byla všem členským státům uložena povinnost zřídit a udržovat seznam svých důvěryhodných certifikačních služeb, označovaný jako TSL (Trusted Services List). Vlastně jde o dvouúrovňový seznam, protože samotná Unie ještě vede jakýsi rozcestník (seznam odkazů) na národní seznamy TSL, a teprve v nich je obsažen výčet těch (národních) certifikačních autorit, přesněji jejich služeb, které jsou v dané členské zemi buďto akreditovány, nebo je nad nimi „vykonáván dohled“ ze stany státu.
Náš národní seznam je umístěn velmi příhodně na adrese tsl.gov.cz, a to jak v lidsky čitelné formě (jako dokument PDF), tak i ve strojově zpracovatelné formě (ve formátu XML). A zcela podle očekávání jsou v našem národním seznamu uvedeni všichni tři naši akreditovaní poskytovatelé: I.CA, PostSignum a eIdentity. U každého z nich je uvedena řada důležitých údajů, od odkazů na jejich certifikační politiky, přes veřejné klíče kořenových certifikátů, až po odkazy na webové stránky poskytovatelů. Byť přehlednost seznamu, vedeného dle standardu ETSI TS 102 231, není pro „lidského“ čtenáře zase až tak intuitivní.
Obdobné seznamy pro ostatní členské země je třeba hledat přes již zmíněný zastřešující seznam (rozcestník). Ten je sám o sobě také dvousložkový, protože se snaží uvádět odkazy na národní seznamy jak v lidsky čitelné podobě (obyčejného textu, uloženého v souboru formátu PDF), tak i ve strojově čitelném podobě (formátu XML).
Pokud se na tento rozcestník podíváte, zjistíte, že je zatím poměrně řídký, když pro některé členské země chybí jakýkoli odkaz na jejich národní seznam TSL. Situace se ale poměrně dynamicky mění a s jednotlivými aktualizace přibývají další a další národní seznamy. Takže hodně záleží na tom, kdy se na rozcestník podíváte.
Zajímavé je také to, že některé země zpřístupnily svůj národní seznam TSL pouze v lidsky čitelné formě (v PDF), ale nikoli již ve strojově čitelné podobě (v XML). Možná proto, že samotné rozhodnutí Evropské komise jim to nepřikazuje (když o strojově čitelné variantě hovoří jako o možnosti, nikoli povinnosti).
A když už některé země zveřejňují strojově čitelný seznam TSL, buďto jej nepodepisují (neopatřují elektronickým podpisem), nebo k podpisu použijí takový certifikát, který ostatní země nejsou zatím schopné věrohodně ověřit. Evropská komise totiž nějak pozapomněla na důvěryhodný způsob distribuce příslušných certifikátů mezi členskými zeměmi.
Novela zákona o elektronickém podpisu
Když jsme si právě popsali podstatu změn po věcné stránce (tj. princip seznamů TSL), vraťme se zase zpět k právním aspektům rozhodnutí Evropské komise 2009/767/ES. Vzhledem k jeho formě již účinky tohoto rozhodnutí nastaly pro všechny členské země, a tedy i pro ČR.
Nicméně konkrétní požadavky tohoto rozhodnutí je nutné ještě vhodně „zapracovat“ do naší legislativy – a to činí nejnovější novela zákona č. 227/2000 Sb. o elektronickém podpisu, která již úspěšně prošla Sněmovnou i Senátem, a právě minulý pátek ji podepsal prezident republiky. Takže by v nejbližší době mohla být publikována ve Sbírce a nabýt účinnosti.
Samotná novela je relativně stručná, když přináší dvě hlavní změny. První ukládá novou povinnost ministerstvu vnitra, jako resortu, který má „na starosti“ elektronický podpis: má vydávat národní seznam TSL. To už se fakticky děje, a tento seznam najdete na výše zmiňované adrese http://tsl.gov.cz.
Vlastně jsme byli první členskou zemí EU, která tak učinila a naplnila popisované rozhodnutí. Pokud se dobře podíváte na detail dnešního prvního obrázku, uvidíte na něm první verzi našeho TSL, vytvořenou 23.12.2009 a datovanou od 28.12.2010, tedy ke dni účinnosti rozhodnutí.
Druhá změna se týká té pasáže zákona (§11 a jeho odstavce 1), který hovoří o nutnosti používat v oblasti orgánů veřejné moci pouze uznávané podpisy (tj. zaručené podpisy a kvalifikované certifikáty, vydané akreditovanými poskytovateli certifikačních služeb). Nově je tato definice rozšířena tak, aby se „v oblasti orgánů veřejné moci“ mohly používat i zahraniční kvalifikované certifikáty, pokud jsou příslušné služby jejich vydavatelů uvedeny na příslušném národním seznamu TSL:
Za elektronický podpis splňující požadavky odstavce 1 se považuje rovněž zaručený elektronický podpis založený na kvalifikovaném certifikátu vydaném poskytovatelem certifikačních služeb usazeném v některém z členských států Evropské unie, byl-li kvalifikovaný certifikát vydán v rámci služby vedené v seznamu důvěryhodných certifikačních služeb, jako služba, pro jejíž poskytování je poskytovatel certifikačních služeb akreditován, nebo jako služba, nad jejímž poskytováním je vykonáván dohled.
Jak nyní vyhodnocovat elektronické podpisy?
Teď se ale na vše podívejme ryze prakticky: zákonu se snadno řekne: „uznávány“ (považovány za uznávané) nechť jsou i podpisy založené na kvalifikovaném certifikátu, který byl vydán v rámci služby na některém ze seznamů TSL“. Jak ale tento požadavek dodržet v praxi? Zvláště s uvážením toho, že klidně může jít o hodně významnou „kauzu“, o velké majetky apod. Jak spolehlivě poznat, zda konkrétní certifikát zahraniční provenience má být považován za kvalifikovaný ve výše uvedeném smyslu?
Prvním, co člověka napadne, je dělat to stejně jako s národními certifikačními autoritami a jejich službami: získat (dostatečně důvěryhodným způsobem) jejich kořenové certifikáty a vyjádřit jim důvěru, jejich nainstalováním do úložiště důvěryhodných kořenových certifikátů té aplikace, se kterou uživatel pracuje. Jenže to nestačí.
Ono totiž záleží ještě na tom, jakou strukturu služeb a kořenových certifikátů má ten který zahraniční poskytovatel (certifikační autorita), a podle jakých certifikačních politik a dalších pravidel postupuje. I u nás existují rozdíly, když třeba I.CA používá „plošnou“ strukturu kořenových certifikátů (pro různé služby, resp. typy vydávaných certifikátů používá samostatné kořenové certifikáty), zatímco PostSignum a eIdentity používají hierarchickou strukturu kořenových certifikátů (podrobněji viz tento starší článek). U zahraničních poskytovatelů certifikačních služeb ještě může docházet k tomu, že jeden a tentýž kořenový certifikát používají pro vydávání více druhů certifikátů, v rámci různých služeb – jak těch kvalifikovaných, tak i těch, které kvalifikovanými nejsou.
Takže posuzování „kvalifikovanosti“ jen na základě použitého kořenového certifikátu nestačí, a obecně je třeba hodnotit ještě další doplňující podmínky, včetně certifikační politiky, podle které byl certifikát vystaven. A to už je pro běžného uživatele opravdu hodně náročné, či spíše příliš náročné.
Aplikace pro vyhodnocování „kvalifikovanosti“
Pokud by Evropská komise bývala chtěla svým občanům popisovaný problém nějak usnadnit, mohla vytvořit jednotnou „unijní“ aplikaci, které by se předložil k posouzení konkrétní certifikát, a aplikace by vyhodnotila, zda je možné jej považovat za kvalifikovaný ve výše uvedeném smyslu či nikoli. A to vše i přes vhodné API (například přes rozhraní webových služeb), tak aby služby této aplikace mohly být využívány jinými aplikacemi, které potřebují vyhodnocovat platnost elektronických podpisů.
Jenže nic takového Evropská komise neudělala. A ani nesignalizuje, že hodlá udělat.
Takováto aplikace vznikla alespoň na národní úrovni, konkrétně u nás. Jmenuje se CertIQ, a nechalo ji vytvořit naše ministerstvo vnitra. Funguje principiálně jednoduchým způsobem: předložíte jí konkrétní certifikát‚ ať již tuzemský či zahraniční, a ona vám řekne, zda jej můžete považovat za kvalifikovaný.
Nevýhoda je v tom, že zatím je tato aplikace vybavena pouze webovým rozhraním, a je tedy použitelná jen „ručně“, skrze běžný browser. Není ještě využitelná strojově, v tom smyslu že by se na ni mohly – nejspíše přes rozhraní webových služeb – napojit jiné aplikace, například spisové služby, a používat ji “strojovým“ způsobem, bez přímého zapojení člověka.
Na rozhraní webových služeb k aplikaci CertIQ se ale již pracuje, a časem by i toto rozhraní mělo být k dispozici.
K čemu je výrok o kvalifikovanosti?
Právě popsaná aplikace CertIQ ale není náhradou za vlastní vyhodnocení platnosti – ať již samotného certifikátu, natož pak elektronického podpisu jako takového. Něco takového není jejím účelem.
Tomu, co nám aplikace CertIQ říká, musíme rozumět v tom smyslu, zda předložený certifikát byl či nebyl vydán jako kvalifikovaný. Nepleťme si to s jeho aktuální platností, protože tu aplikace CertIQ nevyhodnocuje!
Příklady vidíte na následujících obrázcích. První ukazuje můj certifikát z roku 2006, který aplikace správně vyhodnotila jako kvalifikovaný. Ve své době skutečně byl vydán jako kvalifikovaný.
Aplikace ale sama upozorňuje na to, že řádná platnost certifikátu už skončila (tj. certifikát je expirovaný). I když toto je jen jakýsi „informační bonus“, protože aplikace neslouží k vyhodnocování platnosti certifikátu. A má to černé na bílém napsáno i na své úvodní stránce, viz následující obrázek:
Aplikace CertIQ se nemůže vyjadřovat k (celkové) platnosti certifikátu již jen proto, že nekontroluje jeho případné předčasné zneplatnění, alias revokaci. Dokladem toho budiž následující obrázek, na kterém vidíte vyhodnocení mého kvalifikovaného certifikátu (dokonce vydaného na pseudonym), který jsem si pro potřeby jednoho předchozího článku nechal revokovat. Ale to vám aplikace neřekne, protože revokaci skutečně nekontroluje!
Jak postupovat?
Jak tedy v praxi nakládat s výsledky popisované aplikace a jak vyhodnocovat platnost elektronických podpisů, založených na zahraničních kvalifikovaných certifikátech?
Obecná rada může znít následovně: nechte si vyhodnotit „zahraniční“ elektronický podpis stejně tak, jak to běžně děláte s tím tuzemským. Nechte tedy vaši aplikaci (například Adobe Reader, když jde o PDFko), aby zkontrolovala integritu dokumentu, časovou platnost certifikátu, i jeho (ne)revokování. Všechny tyto aspekty by vámi používaná aplikace měla být schopna posoudit zcela nezávisle na tom, zda jde o „domácí“ nebo „zahraniční“ certifikát.
Pokud je vše v pořádku – tedy pokud je integrita podepsaného dokumentu neporušená, pokud certifikát nebyl revokován a jeho řádná platnost také ještě neskončila – pak je třeba ještě vyhodnotit důvěryhodnost certifikátu. Tu námi používaná aplikace (například Adobe Reader) u zahraničních certifikátů může, ale také nemusí umět posoudit.
Některé zahraniční certifikační autority, které vydávají kvalifikované certifikáty, již mohou mít své kořenové certifikáty předinstalované v úložišti důvěryhodných certifikátů té aplikace (či operačního systému), který k vyhodnocení používáte. Nebo, což je pravděpodobnější, mohou být jejich vlastní kořenové certifikáty ještě „zastřešeny“ (vystaveny a podepsány) další certifikační autoritou, jejíž kořenový certifikát již vaše aplikace „zná“ a považuje za důvěryhodný.
Příklad si můžeme ukázat na následujícím obrázku, který ukazuje certifikát konkrétního zaměstnance portugalského ministerstva financí. Certifikační cesta od jeho certifikátu vede až ke kořenovému certifikátu GTE CyberTrust Global Root. No a ten bývá součástí standardní distribuce důvěryhodných kořenových certifikátů v MS Windows – a naopak se nenachází mezi kořenovými certifikáty, standardně přeinstalovanými v úložišti důvěryhodných certifikátů samotného Adobe Readeru.
Takže v tomto konkrétním případě pak záleží na tom, jak máte nastaven váš Adobe Reader (pokud vyhodnocujete platnost podpisu na PDF dokumentu pomocí tohoto programu): pokud Adobe Reader používá úložiště důvěryhodných certifikátů v MS Windows, pak podpis na zde uvažovaném dokumentu vyhodnotí jako platný. Viz následující obrázek. Dokázal totiž vysledovat platnou certifikační cestu (posloupnost certifikátů) až k takovému certifikátu, který považuje za důvěryhodný.
Pokud ale řeknete Adobe Readeru, aby pracoval jen se svým vlastním úložištěm důvěryhodných certifikátů (kde certifikát GTE CyberTrust Global Root standardně nemá), nepodaří se mu najít takovouto cestu až k některému důvěryhodnému kořenovému certifikátu. A tak zahlásí, že nemá podle čeho posoudit důvěryhodnost použitého certifikátu, viz následující obrázek.
Obě tyto varianty ale jen zdůrazňují, jak velký vliv má správa důvěryhodných certifikátů. Z našeho pohledu je ale podstatné, že ani jedna z těchto variant nám neřekne to, co je pro nás v tuto chvíli nejzajímavější: zda jde o kvalifikovaný certifikát.
Navíc: pokud bychom spolehlivě věděli, že jde o kvalifikovaný certifikát, pak ho můžeme považovat za důvěryhodný – bez ohledu na to, co na jeho důvěryhodnost říká námi používaný program.
No a od toho, abychom zjistili, zda jde či nejde o kvalifikovaný certifikát, nyní máme aplikaci CertIQ. Pokud jí předložíme certifikát, na kterém je založen podpis na zde uvažovaném dokumentu (a kterého se týkají oba předchozí obrázky), pak verdikt bude znít: jde o kvalifikovaný certifikát. A tím i o certifikát důvěryhodný.
Zdůrazněme si ještě jednou, že aplikace CertIQ nám říká pouze to, zda jde (či nejde) o certifikát kvalifikovaný. A že když jde o kvalifikovaný certifikát, jde současně i o důvěryhodný certifikát. Stále to ale neznamená, že certifikát je platný!
Ke zjištění, zda certifikát je platný, je třeba zkontrolovat ještě:
- zda neskončila jeho řádná platnost. Pokud skončila, aplikace CertIQ nás na to (nezávazně) upozorní.
- zda nebyl předčasně zneplatněn. To aplikace CertIQ nekontroluje vůbec, a to si tedy musíme zjistit jinak. Zde nechat Adobe Reader, ať to ověří.
Praktický problém je ale v tom, že Adobe Reader (i jakýkoli jiný program) nám bude schopen zkontrolovat předčasné odvolání (revokaci) pouze v případě, kdy dokáže najít platnou certifikační cestu od posuzovaného certifikátu až k některému kořenovému certifikátu, který může považovat za důvěryhodný.
Je to logické, protože jinak nemůže mít jistotu, že nedošlo ke kompromitaci klíčů někde „na certifikační cestě“, a někdo mu nepodstrčil nějaký podvržený seznam předčasně zneplatněných certifikátů (CRL). Zvláště u certifikačních autorit, vydávajících kvalifikované certifikáty, je něco takového extrémně nepravděpodobné, ale ne principiálně vyloučené.
Ale už z praktických důvodů je to nepříjemné, protože jako uživatelům nám to znemožňuje nechat si ověřit případnou revokaci posuzovaného certifikátu naším programem. A abychom ji nemuseli vše kontrolovat ručně, musíme tak jako tak vyjádřit svou důvěru správnému kořenovému certifikátu správné certifikační autority.
I zde nám ale může pomoci aplikace CertIQ. Konkrétně tím, že nám poskytne detailní informace (pocházející právě ze seznamů TSL) ohledně certifikační autority, která vydala posuzovaný kvalifikovaný certifikát, viz obrázek.
Rekapitulace na závěr
Shrňme si na závěr ještě jednou nejdůležitější skutečnosti, popisované v tomto článku.
- v současné době (přesněji: již od 28.12.2009) se v ČR musí akceptovat jako uznávané i zaručené elektronické podpisy, založené na kvalifikovaných certifikátech vydaných zahraničními certifikačními autoritami, pokud jsou vydány v rámci služby uvedené na seznamech TSL
- k posouzení toho, zda konkrétní certifikát je či není kvalifikovaný (ve smyslu uvedení na seznamech TSL), lze využít aplikaci CertIQ, kterou nechalo vytvořit MV ČR
- aplikace CertIQ zjišťuje pouze „kvalifikovanost“ certifikátu. Nezkoumá jeho případné předčasné zneplatnění (revokaci), a tudíž se ani nemůže vyjadřovat k platnosti certifikátu. Upozorní alespoň na skončení jeho řádné platnosti.
Jak ale celý tento článek naznačuje, uznávání zahraničních kvalifikovaných certifikátů není ještě zdaleka prosté různých nástrah a úskalí. Spíše tedy jde o jakési první vykročení na cestě, která nejspíše nebude nijak krátká. Ale je nutná, mají-li elektronicky podepisované dokumenty běžně a rutinně překračovat hranice jednotlivých členských zemí Unie.