Hlavní navigace

Datové schránky: jak na zneplatněné certifikáty? VII.

27. 10. 2009
Doba čtení: 21 minut

Sdílet

 Autor: 21971
Elektronické podpisy na dokumentech, včetně těch doručovaných skrze datové schránky, ztrácí v čase svou platnost, v závislosti na době platnosti použitých podpisových certifikátů. Ty jsou vydávány nejčastěji na 1 rok. Platnost certifikátu však může být zkrácena ještě dříve, skrze tzv. zneplatnění (odvolání, revokaci). Proč na to musí být pamatováno a jaké to přináší důsledky?

V dnešním pokračování seriálu o elektronickém podpisu a datových schránkách, který je v pořadí již sedmý, se dostaneme k problematice zneplatňování, alias revokace certifikátů. Řekneme si, proč může někdo chtít zneplatnit (revokovat) svůj certifikát ještě dříve, než uplyne  jeho předem daná „životnost“ (platnost v čase), a jaké důsledky to má na vyhodnocování elektronických podpisů i na platnost elektronicky podepsaných dokumentů.

Když už se ale do tématu revokací pustíme, bylo by škoda toho nevyužít a nevysvětlit si nejprve jednu velmi úzce související záležitost: to, proč vlastně mají certifikáty jen omezenou platnost – nejčastěji jen jeden jediný rok – a proč v důsledku toho „zastarávají v čase“ i elektronické podpisy a ztrácí svou platnost. Když si toto vysvětlíme, už nám bude jasné, proč je elektronická forma tolik odlišná od formy listinné („papírové“), a proč právě u elektronické formy musíme podnikat určité kroky (často netriviální) k tomu, abychom elektronickým dokumentům zachovali jejich platnost a použitelnost i v delším časovém horizontu.

Pomůže nám to ostatně i při vysvětlování podstaty zneplatnění (revokace) jako předčasného ukončení platnosti certifikátu: praktické důsledky tohoto kroku jsou totiž v zásadě stejné jako při „řádném“ ukončení platnosti certifikátu, uplynutím jeho předem dané doby platnosti. Rozdíl je vlastně jen v tom, kdy k tomu dojde a jak se o tom dozvíme:

Ke zneplatnění (revokaci) může již z principu dojít jen během doby platnosti certifikátu, neboli ještě dříve, než tato doba skončí. A my se o tom nedozvíme ze samotného certifikátu, ale musíme se na to zeptat toho, kdo certifikát vystavil. Tedy příslušné certifikační autority, která je ze zákona povinná vést seznam revokovaných certifikátů.

To ale také znamená, že kdykoli hodnotíme platnost nějakého elektronického podpisu, musíme se nejprve ujistit, že použitý certifikát nebyl v mezidobí zneplatněn. A jelikož se takovouto informaci můžeme dozvědět se zpožděním až 24 hodin, správně bychom měli takovouto dobu vždy počkat.

Omezená platnost certifikátu

Začněme tedy zopakováním toho, že každý certifikát je vždy vydán jen na určitou omezenou dobu. A že specifikace této doby (platnosti: od – do) je jednou z nezbytných náležitostí každého certifikátu.

Konkrétní doba, na kterou jsou certifikáty vystavovány, se v praxi liší a je závislá na druhu certifikátu a jeho účelu. Například kořenové certifikáty samotných certifikačních autorit jsou vydávány na relativně dlouhou dobu. Na následujícím obrázku vidíte kořenové certifikáty našich tří akreditovaných autorit: rekordmanem mezi nimi je PostSignum, která si troufla vydat svůj kořenový certifikát na plných 25 let. To eIdentity jen na 12 let a I.CA na 10 let.

korenove certifikaty CA

Podstatně kratší platnost v čase mají například certifikáty, používané certifikačními autoritami k vydávání časových razítek. Zde si ale můžeme ukázat jen dva příklady, protože společnost eIdentity časová razítka ještě nevydává. To I.CA používá certifikát vydaný s platností na 5 let, a PostSignum s platností na 3 roky, viz obrázek:

certifikaty TSA

Nejkratší platnost pak mají osobní podpisové certifikáty, které nás v souvislosti s datovými schránkami a elektronickými dokumenty zajímají nejvíce. U těchto certifikátů (které ze zákona musí být kvalifikovanými a musí být vystaveny akreditovanou certifikační autoritou) je standardní doba platnosti 1 rok. Viz též obrázek:

certifikat

Proč jen omezená časová platnost?

Pojďme nyní k důležité otázce: proč je doba platnosti certifikátů vůbec nějak omezována v čase? A proč tak rozdílně, pro různé druhy certifikátů?

Zde je třeba si uvědomit, na jakých základech vlastně stojí elektronický podpis: na tom, že určitý výpočet je mimo naše současné možnosti. Že sice víme, jak na to (jak a co bychom měli vypočítat), ale víme dostatečně spolehlivě, že dříve než za nějaké tisíce let to (při současných schopnostech našich počítačů) stejně nestihneme. Ale co vlastně?

Připomeňme si obrázek, který jsme si již jednou ukazovali, a který znázorňuje elektronický podpis jako výsledek určitého „semletí“ dvou ingrediencí: samotné zprávy a privátního klíče.

vznik epodpisu

K tomu si ještě přidejme ten důležitý postřeh, že zpráva je podstatně větší než výsledný podpis (ve smyslu počtu bitů/bytů). A pokud bychom použili terminologii z příbuzného oboru, ono „semletí“ rozhodně není  bezeztrátovou kompresí (ale odpovídá naopak kompresi značně ztrátové). Z tohoto důvodu – a bez nutnosti jakékoli vyšší matematiky – si již můžeme dovodit, že ze samotného podpisu nikdy „nezískáme zpět“ (neodvodíme, nevypočítáme) samotnou původní zprávu. Tedy „tu pravou a jedinou“ původní zprávu. Tím se ale nemusíme až tolik trápit.

Trápit nás ale musí něco přesně opačného: to, že ke konkrétnímu podpisu existuje více „alternativních“ původních zpráv. Nemusíme se ale bát úplně všech zpráv, které by se chtěly „prokazovat“ konkrétní hodnotou našeho elektronického podpisu: drtivá většina z nich by byla odhalena skrze porušenou integritu. Mimochodem: právě to je pádným argumentem pro to, aby při porušené integritě neměla být možná autorizovaná konverze dokumentů, viz pátý díl tohoto seriálu.

Čeho se ale musíme bát, a to hodně, je existence takových „alternativních“ zpráv (dokumentů), které by úspěšně prošly ověřením podpisu s využitím stejného veřejného klíče, resp. certifikátu – a mohly by se tak úspěšně vydávat za námi podepsané dokumenty, ačkoli jsme je sami nikdy nepodepsali (a ani nám nikdo neukradl náš privátní klíč, prostřednictvím kterého vytváříme své podpisy).

alternativni zpravy

Proč ale v praxi tato hrozba není aktuální, resp. jak mohou elektronické podpisy fungovat i přes tuto hrozbu?

Odpověď je skryta v tom, že najít takovou „alternativní“ zprávu (dokument), která bude mít stejný podpis a vyhoví  i při ověřování podpisu, je těžké. Dokonce tak těžké, ve smyslu výpočetní složitosti, že nalezení takové zprávy by při současných možnostech našich počítačů trvalo nějaké tisíce až miliony let. Tedy tak dlouho, aby nebylo smysluplné se o to ani pokoušet.

vypocet alternativni zpravy

Že tomu tak skutečně je, a že nejde postupovat rychleji,  je dáno „sílou“ a konstrukcí krytografických metod a algoritmů, používaných při tvorbě a ověřování elektronických podpisů (a které jsme si pro jednoduchost a názornost skryli do zde používané představy „semletí“ různých ingrediencí). A samozřejmě také současnými schopnostmi našich počítačů.

Jenže schopnosti našich počítačů velmi rychle rostou: výpočet, který by dnešním počítačům trval nějaké tisíce let, mohou budoucí počítače zvládnout podstatně rychleji. Takže třeba už za pár let (možná desítek let, možná jen jednotek) už by se někomu mohlo vyplatit „vypočítat si“ alternativu k námi podepsanému dokumentu, a výsledek by ještě mohl „stihnout“ využít.

Aby k tomu nedošlo, a aby nezbytná doba výpočtu zůstávala stále neúnosně dlouhá i při rychle rostoucích schopnostech našich počítačů, musíme adekvátně „přitvrzovat“ i používané kryptografické techniky a algoritmy, včetně délky klíčů. Nemusíme zde zabíhat příliš do detailů kryptografie a můžeme vše nechat na odbornících. Jen jim musíme umožnit dělat potřebné změny  – a právě proto musí mít certifikáty omezenou platnost.

Každý certifikát totiž určitým způsobem „fixuje“ konkrétní délky klíčů i použité techniky a algoritmy. Pokud by tedy měl platit neomezeně v čase, pak by nebyly možné žádné změny – a dříve či později by došlo na nebezpečí, popisované výše: někdo by si k vašemu podpisu „dopočítal“ úplně jiný dokument (zprávu), jehož podpis by se při vyhodnocení jevil jako platný.

Právě proto je platnost certifikátů časově omezena, a to v míře poplatné „síle“ kryptografických algoritmů a technik, předpokládaných certifikátem.  Právě díky  tomu si certifikační autority „troufají“ vydávat své kořenové certifikáty na relativně dlouhou dobu (protože u nich pracují se „silnými“ technikami a algoritmy). Naproti tomu u certifikátů vydávaných koncovým uživatelům (zákazníkům) jde o relativně „nejslabší“ technologie, tak aby jejich použití kladlo ještě únosné nároky na hardware a software uživatelských počítačů (aby vytváření jejich podpisů bylo dostatečně rychlé a netrvalo třeba hodiny). Proto také jejich platnost jen na rok – byť to pro běžnou praxi přináší značné komplikace s dlouhodobějším statusem podepsaných elektronických dokumentů.

Mimochodem, v současné době jsme právě svědky jednoho konkrétního kroku v rámci „přitvrzování“, a to přechodu z dosud používaných hašovacích funkcí SHA-1, které se již ukazují jako nedostatečné, na silnější funkce rodiny SHA-2. Přesto drtivá většina dnes vydávaných podpisových certifikátů ještě vychází právě ze SHA-1. Podrobnosti najdete v tomto článku zde na Lupě, včetně diskuse problémů, které to přináší koncovým uživatelům, například kvůli (ne)podpoře SHA-2 ve starších verzích MS Windows.

Důsledky omezené platnosti v čase

Vraťme se nyní zpět k platnosti a „použitelnosti“ certifikátů:  používat je k podepisování  i k vyhodnocování podpisů – a obecně ke všem účelům, ke kterým jsou konkrétní certifikáty použitelné – lze skutečně jen po dobu jejich platnosti. V předchozích odstavcích jsem se snažil nastínit, že to není nějaký samoúčelný kapric či marketingový trik certifikačních autorit za účelem zvýšení jejich výnosů. Jde o principiální nutnost, danou tím, o co se elektronické podpisy opírají (o velkou výpočetní složitost  hledání „alternativních“ zpráv, viz výše). A ta, jak už nyní víme, se velmi rychle mění.

Jakmile tedy doba platnosti certifikátu skončí, již není správné a účelné s ním pracovat, hlavně ve smyslu možnosti důvěřovat jeho obsahu. Nemůžeme si být jisti tím, zda někdo již nestihl „vypočítat alternativu“ a předložit nám ji místo „originálu“. A to jak ve smyslu alternativy k námi podepsanému dokumentu, tak třeba i ve smyslu alternativy k samotnému certifikátu – protože i certifikát jako takový je vlastně specifickou formou zprávy (dokumentu), která obsahuje určité informace (jako je veřejný klíč či údaje o identitě držitele certifikátu) a je podepsána tím, kdo certifikát vydal, tj. certifikační autoritou.

Jinými slovy: po uplynutí platnosti certifikátu již nemůžeme věřit tomu, co je v něm napsáno. Pokud se přesto pokusíme  vyhodnotit platnost konkrétního podpisu, s využitím již prošlého certifikátu, příslušný program už nám nemůže říci „ano, podpis je platný“, ani kdyby všechny ostatní předpoklady platnosti podpisu byly splněny. Jakmile zjistí, že certifikát je neplatný, už to může kvalifikovat jen jako chybu, nebo jako neurčitost (a odpovědět „nevím“, viz první díl tohoto seriálu).

Zajímavým se vše stává tehdy, pokud bychom chtěli vyhodnotit platnost podpisu nikoli k aktuálnímu datu, ale k nějakému dřívějšímu datu. Konkrétně k datu, kdy podpis vznikl, resp. kdy byl podpisový certifikát ještě platný. Aby něco takového vůbec mělo smysl, musíme mít dostatečně spolehlivou informaci o tom, kdy podpis vlastně vznikl. Ale vedle toho musíme mít  spolehlivě zajištěno i to, že skutečně vyhodnocujeme všechna data v takové podobě, v jaké se nacházela v uvedené době, a že v mezidobí nedošlo k jejich změně. Například tehdy, pokud vše vyjmeme z dostatečně důvěryhodného archivu, či máme vše „překryto“  dosud platným časovým razítkem či posloupností časových razítek, které stvrzují, že se data v mezidobí nezměnila. Ale to si nechme zase na některý z dalších článků, protože to je kapitola sama o sobě.

Na následujících dvou obrázcích vidíte příklad toho, jak reaguje Adobe Reader, kdy se jej zeptáte na platnost podpisu (pod tímto dokumentem) v aktuálním čase: první obrázek ukazuje výsledek dotazu kladeného v době platnosti podpisového certifikátu – a jelikož i ostatní náležitosti byly splněny, Adobe Reader říká „ano, podpis je platný“.

platnost podpisu v roce 2009

 Když jsem si ale na svém počítači posunul hodiny o rok dopředu, abych tím simuloval vyhodnocení podpisu v budoucnosti, již v době po skončení platnosti certifikátu, Adobe Reader řekl „nevím“, viz obrázek.

platnost podpisu v roce 2010

Podobně se chovají například jednotlivé aplikace balíku MS Office: ukončení platnosti certifikátu hlásí jako „problém s certifikátem“, viz obrázek:

platnost podpis v roce 2010

Certifikát, kterému již skončila platnost, bychom tedy neměli používat ani k vytváření podpisů. Korektně se chovající programy, skrze které podpisy vytváříme, by nám něco takového ani neměly umožnit, viz následující dva obrázky. Na prvním vidíte konkrétní nabídku certifikátů na mém počítači v aktuálním čase psaní článku (v říjnu 2009), a na druhém po posunutí hodin o necelý rok dopředu. Konkrétně mezi datum 12.8.2010 (aby již vypršela platnost prvních čtyř certifikátů), a datum 23.9.2010 (aby ještě neskončila platnost dalších certifikátů).

nabidka certifikatu 2009
nabidka certifikatu 2010

Možnosti vytvořit elektronický podpis s využitím již prošlého certifikátu ale není možné v principu zabránit. I když se většina programů bude chovat korektně a neumožní to, stejně nezabrání vzniku jiných programů, které to umožní. V neposlední řadě si někdo takovou aplikace může napsat sám, podle toho, jak a co potřebuje. O to více by se proto mělo dbát na platnost certifikátu při vyhodnocování elektronického podpisu.

Co je zneplatnění a proč se dělá?

Pojďme nyní už k hlavnímu tématu dnešního dílu, kterým je zneplatnění, alias revokace certifikátů. V češtině se často hovoří také o (předčasném) odvolání certifikátu. V principu přitom nejde o nic jiného, než o předčasné ukončení platnosti certifikátu, ještě dříve než uplyne původní doba jeho platnosti. Jde tedy o něco, co připadá v úvahu pouze během doby platnosti certifikátu: revokovat certifikát po uplynutí doby jeho platnosti nemá z principu smysl (protože certifikát je už tak jako tak neplatný).

Pokud jde o důvody, které mohou vést k předčasnému ukončení platnosti certifikátu (skrze jeho zneplatnění, alias odvolání, alias revokaci), pak jich existuje více. Typickým příkladem může být kompromitace podpisových údajů: pokud vám někdo ukradne či zkopíruje váš privátní klíč, mohl by se podepisovat vaším jménem – a tak je záhodno co nejdříve (resp. okamžitě) revokovat vás certifikát. Podobně když někde ztratíte token, na kterém je privátní  klíč umístěn (i když z něj většinou nejde exportovat).

Standardně přitom o revokování svého certifikátu žádáte vy sami jako držitelé, ale za určitých okolností vám certifikát může zneplatnit i jeho vydavatel (certifikační autorita). Například když používáte svůj certifikát v zásadním rozporu s podmínkami, za jakých byl vystaven. V ještě specifičtějších případech (které musí vycházet ze zákona a být popsány v certifikační politice vydavatele certifikátu), vám váš certifikát může nechat zneplatnit i dozorový orgán nad elektronickými podpisy, kterým je v současné době Ministerstvo vnitra ČR. Ale to už jsou opravdu extrémní případy (kdy existuje důvodné podezření na zneužití certifikátu). To už asi bude častější revokování (zneplatnění) konkrétního certifikátu například kvůli úmrtí držitele apod.

Pro naše potřeby, tedy v souvislosti s datovými schránkami, asi bude nejčastějším důvodem pro zneplatnění certifikátu změna ve vztahu mezi zaměstnavatelem a zaměstnancem. Například když konkrétní úředník ukončí své působení na konkrétním úřadě, měl by buďto on (spíše ale jeho zaměstnavatel) zajistit zneplatnění podpisového certifikátu, skrze který se dotyčný úředník podepisoval „za úřad“.

To pak otevírá zajímavý problém: co když takovýto úředník řádně podepíše nějaké úřední rozhodnutí – a po pár dnech odejde z úřadu a jeho podpisový certifikát je kvůli tomu ihned revokován?  Jeho elektronický podpis pak již nebude moci být vyhodnocen jako platný, pokud bude posuzován standardním způsobem, vzhledem k aktuálnímu času (protože v něm už je revokovaný certifikát neplatný). Tudíž i celý „úřední dokument“ nebude mít o nic větší váhu, než nepodepsaný kus papíru.

Jistě, existuje ještě možnost vyhodnotit platnost podpisu k datu jeho vzniku. To by (pokud je vše ostatní v pořádku) mělo vést ke zjištění, že podpis je platný, protože  certifikát byl odvolán až následně. Ale jak už jsem uváděl výše: k něčemu takovému je nutně zapotřebí mít jistotu o tom, kdy přesně podpis vznikl. Takovou jistotu dává časového razítka na dokumentu (samozřejmě ale jen po dobu své vlastní platnosti). Pokud ale časové razítko na „úředním“ dokumentu není (a ono na něm být nemusí), nastává problém, který jsem zde na Lupě popisoval již dříve (v článku: Datové schránky: bez razítka to nepůjde). Jen nastává dříve, než až s řádným ukončením platnosti podpisového certifikátu (tj. nejpozději roka).

A jen pro dokreslení: stejný problém nastane, i když úředník z úřadu neodejde (a jeho certifikát nemusí být revokován) – ale když použije svůj certifikát těsně před řádným ukončením jeho platnosti, ještě než mu bude vydán certifikát nový.

Jak se pozná zneplatněný certifikát?

Zneplatnění, jako předčasné ukončení platnosti certifikátu, má ale určitá specifika, kterými se liší od „řádného“ ukončení platnosti, uplynutím doby na kterou byl certifikát vystaven.

Jde zejména o to, že svou „řádnou“ dobu platnosti si každý certifikát nese přímo v sobě již od svého vydání – ale informaci o svém revokování (předčasném zneplatnění) si v sobě nést nemůže. Jednak proto, že měnit obsah již vydaného certifikátu není možné, neboť by se tím porušila jeho integrita. Ale také proto, že certifikáty jsou obecně veřejné a mohou se různě kopírovat a množit. Typicky se přikládají přímo k podepsaným dokumentům (resp. přímo „do nich“) a rozesílají na nejrůznější  místa. Kvůli tomu by bylo prakticky nemožné je následně všechny nějak obejít a něco na nich měnit.

Proto se informace o zneplatnění certifikátu udržuje (uchovává) tam, kde také vzniká: tedy u certifikační autority, která certifikát vydala. To nám také napovídá, že všechny žádosti o revokování (zneplatnění, odvolání) certifikátů  je třeba adresovat příslušné certifikační autoritě. Ta pak má přímo ze zákona povinnost na takovouto žádost reagovat, certifikát zneplatnit, a informaci o zneplatnění co nejrychleji zveřejnit.

To ale má nesmírně významný důsledek pro posuzování platnosti každého jednotlivého elektronického podpisu (či značky): než o nějakém konkrétním podpisu prohlásíme, že je platný, musíme nejprve spolehlivě ověřit – u příslušné certifikační autority – že použitý podpisový certifikát nebyl revokován (zneplatněn, odvolán).

A aby to nebylo ještě tak jednoduché: jak si záhy řekneme, zveřejňování informací o zneplatnění certifikátů může trvat určitou dobu (v řádu hodin, například 12 či 24 hodin). Proto bychom s posuzováním platnosti podpisu měli vždy počkat nejméně po tuto dobu. Podrobněji viz dále.

CRL seznamy

Jakým konkrétním způsobem se ale dozvíme, zda konkrétní certifikát byl či nebyl odvolán (a pokud ano, pak k jakému datu)?

Existují k tomu dvě základní možnosti. První je „přímý online dotaz“ na aktuální stav konkrétního certifikátu, adresovaný příslušnému vydavateli (certifikační autoritě) a položený programem, který právě vyhodnocuje nějaký konkrétní podpis. K tomu slouží protokol OCSP (OnLine Certificate Status Protocol), který ale dosud nepodporují naše akreditované certifikační autority.

Naštěstí je zde ještě druhá a „tradičnější“ možnost, kterou je pravidelné zveřejňování seznamů zneplatněných certifikátů. Anglicky: Certificate Revocation List, zkratkou CRL.

seznam CRL

Jak již název napovídá, je CRL jakýmsi seznamem (příklad viz obrázek), na kterém je uvedeno sériové číslo certifikátu, přesné datum jeho zneplatnění (revokace), a obvykle také důvod pro zneplatnění. Samotný seznam přitom bývá publikován ve více různých formátech – jak „strojově čitelných“, tak i čistě textových, pro lidské čtenáře. Příklad s čistě textovým formátem, který vidíte na obrázku, pochází od CA PostSignum a najdete ho zde.

Princip práce se seznamy CRL je přitom takový, že tyto seznamy se stahují do počítačů, kde odchází k ověřování  podpisů, buďto pravidelně nebo jednorázově, až v okamžiku, kdy příslušný program potřebuje zjistit aktuální stav určitého certifikátu (a stáhne si celý seznam CRL).

K tomu si ještě dodejme důležitou informaci: že každý certifikát má v sobě pevně zabudovaný odkaz na seznam CRL, na kterém by byl uveden (pokud by došlo k jeho odvolání). Jinými slovy: certifikát sám říká, kam je třeba se „podívat“, zda nedošlo k jeho předčasnému zneplatnění.

CRL adresa v certifikatu

Vedle seznamů CRL samozřejmě stále existuje možnost „podívat“ se na stav konkrétního certifikátu také „ručně“, skrze seznam vydaných certifikátů od příslušného vystavitele. Tak zásadní informace, jakou je revokace (odvolání) certifikátu, se zde samozřejmě projeví.

Příklad vidíte na následujících dvou obrázcích: první ukazuje jeden z mých certifikátů (ten neveřejný a na pseudonym, použitý v předchozím dílu seriálu), a to ještě předtím, než jsem požádal o jeho odvolání. To jsem učinil 20.10.2009, přibližně ve 23:30.

jeste nerevokovany certifikat

Na dalším obrázku je  výpis už z doby po odvolání (revokaci) certifikátu. Vidíte zde jak informaci o původní platnosti, tak i přesné datum, ke kterému k revokaci došlo. Povšimněte si, že k ní došlo až následující den ráno.

jiz revokovany certifikat

Jak si nechat zneplatnit svůj certifikát?

Způsobů, jak požádat o předčasné zneplatnění (revokaci) svého certifikátu, je více a jsou přesně popsány v tzv. certifikačních politikách příslušné certifikační autority. Většinou jde jak o možnost požádat o zneplatnění online, tak i offline. Vždy ale musíte nějak prokázat, že na takový požadavek máte právo (minimálně heslem).

Na následujících obrázcích vám mohu ukázat, jak jsem o revokování svého certifikátu žádal já, u společnosti eIdentity. První obrázek ukazuje výpis vydaných certifikátů a nabízí možnost požádat o jejich zneplatnění  (vpravo dole).

nabidka revokace

Pokud se ke zneplatnění rozhodnete, musíte vyplnit jednoduchý formulář, a v něm zadat heslo pro zneplatnění (stanovené ve smlouvě o vydání certifikátu). Vhodné je také uvést důvod zneplatnění  – u mne to bylo „jiné“ (a nikoli třeba kompromitace údajů). I to je určitým signálem pro toho, kdo by následně vyhodnocoval platnost vašeho podpisu.

formular zadosti o revokaci

Na dalším obrázku již vidíte záznam žádosti o zneplatnění  (revokaci)  – s tím, že musí být nejprve schválena operátorem (zřejmě až druhý den přijde ráno do práce). Docela mne překvapilo, že zde není žádný záznam o době podání žádosti.

prijata zadost o revokaci

Přesný okamžik žádosti o zneplatnění není zobrazen dokonce ani u následného výpisu z doby po schválení žádosti a zneplatnění certifikátu operátorem – zhruba po 8 hodinách od podání mé žádosti o zneplatnění.

vyrizena zadost o revokaci

Zde je zajímavé podívat se do certifikačních podmínek konkrétní certifikační autority, za jak dlouho musí reagovat na požadavek na zneplatnění certifikátu a za jak dlouho ho musí zveřejnit.

Konkrétně společnost eIdentity má ve své certifikační politice uvedeno, že:

Certifikát je zneplatněn neprodleně. Informace o zneplatnění certifikátu se objeví v prvním zveřejněném CRL po uplynutí nejdéle 12 hodin od přijetí žádosti o zneplatnění.

No, oněch cca 8 hodin do zneplatnění mi nepřijde až tak „neprodleně“. Zvláště když okamžiky zveřejnění a samotného zneplatnění nejsou jedno a to samé. Logické by mi přišlo zneplatnění k okamžiku podání žádosti, a zveřejnění do oněch 12 hodin.

To například I.CA, jako naše nejstarší a nejdéle akreditovaná certifikační autorita, si na zveřejnění informace  ponechává plných 24 hodin:

Reakcí I.CA na přijetí platné žádosti o zneplatnění certifikátu je jeho neprodlené zneplatnění. Do doby zveřejnění seznamu zneplatněných certifikátů je dotyčný certifikát zablokován. Maximální prodlení mezi zneplatněním certifikátu a zveřejněním seznamu zneplatněných certifikátů, na kterém je tento certifikát poprvé uveden, je nejvýše 24hodin.

I.CA ovšem ono „neprodlené zneplatnění“ chápe tak, že okamžikem zneplatnění je již okamžik podání (oprávněné) žádosti:

V případě, že je žádost oprávněná, je okamžik přijetí této žádosti na CA zároveň datem a časem zneplatnění tohoto certifikátu

Konečně CA PostSignum si na zneplatnění a zveřejnění na seznamu CRL ponechává také 12 hodin (ovšem měřených od okamžiku zneplatnění):

Doba od přijetí žádosti o zneplatnění certifikátu do zveřejnění CRL obsahujícího i zneplatněný certifikát nepřesáhne 12 hodin.

Jak vyhodnocovat platnost elektronického podpisu?

Nyní, když už tušíme, jak dlouho může trvat zveřejnění informace o zneplatnění (kvalifikovaného)  certifikátu, se již můžeme vrátit k dosti zásadnímu důsledku, který to má na vyhodnocování platnosti podpisu. 

Musíme si totiž uvědomit, že mezi vznikem důvodu pro zneplatnění certifikátu – kterým může být i kompromitace údajů pro podepisování – může uplynout poměrně dlouhá doba. Tu navíc můžeme rozdělit na dvě části: na dobu od vzniku důvodu po okamžik zneplatnění certifikátu, a od okamžiku zneplatnění do okamžiku zveřejnění informace o zneplatnění. Tyto dvě dílčí doby se přitom zásadně liší, pokud jde o své „právní důsledky“.

Jako paralelu zde můžeme použít příměr se ztrátou platební karty: dokud není vaše karta zablokována (což odpovídá naší první době, do zneplatnění certifikátu), jde eventuelní zneužití obecně k tíži držitele karty. V našem případě by elektronický podpis měl být obecně stále „platný“. Naproti tomu v rámci druhé doby, již po zablokování karty (po zneplatnění podpisu) by již držitel měl být „z obliga“, a případné zneužití by již mělo jít k tíži prodávajícího či banky (u platební karty), resp. toho, kdo popis ověřuje (a ten si nezjistil, že certifikát již byl zneplatněn).

Takto to ostatně říká i zákon o elektronickém podpisu, když mluví o odpovědnosti podepisující osoby:

Za škodu (…)  odpovídá  podepisující osoba podle zvláštních právních předpisů.  Odpovědnosti   se  však  zprostí, pokud prokáže, že ten, komu vznikla škoda, neprovedl veškeré  úkony potřebné k tomu, aby si ověřil, že zaručený elektronický podpis je platný a jeho kvalifikovaný certifikát nebyl zneplatněn.

Jenže jak v praxi dostát požadavku na ověření toho, zda nějaký certifikát nebyl zneplatněn – když takováto informace je dostupná obecně až 12 či 24 hodin po samotném zneplatnění? Jak se vyvarovat tomu, abychom nějaký konkrétní podpis prohlásili za platný k aktuálnímu okamžiku, zatímco příslušný certifikát již bude k tomuto okamžiku zneplatněný, ale my o tom ještě nebudeme vědět?

Správným řešením by bylo počkat nejméně oněch 12, resp. 24 hodin: máte-li vyhodnotit nějaký podpis (k aktuálnímu času), zjistíte vydavatele použitého certifikátu a počkáte 12 hodin (jde-li o certifikát od eIdentity či PostSignum), resp. o 24 hodin, jde-li o I.CA. Dovede si ale představit takovýto postup v praxi? Třeba při žádosti o autorizovanou konverzi? Přijdete na přepážku České pošty se žádostí o konverzi elektronického dokumentu, který nesete na CDčku. A obsluha vám řekne, ať jim to CDčko necháte a přijdete znovu za 12 hodin, či lépe za 24 hodin, až budou moci zkontrolovat případné odvolání použitého certifikátu?

Není právě zde důvod toho, proč je autorizovaná konverze možná i při neplatném podpisu? No, těžko –  zákon sice neuvádí neplatnost podpisu mezi překážkami konverze, ale na druhou stranu požaduje, aby v konverzní doložce byl údaj o tom, zda elektronický podpis na dokumentu byl platný. Takže správně podle zákona by konverzní doložku nebylo možné vyplnit dříve než za 12, resp. 24 hodin. Ve skutečnosti, jak už jsem uváděl v předchozích dílech, se informace o platnosti či neplatnosti podpisu do (předepsaného tvaru) konverzní doložky vůbec nedostává.

Poněkud odlišná by mohla být situace v případě, kdy bychom vyhodnocovali platnost elektronického podpisu k nějakému předchozímu datu (konkrétně k datu, kdy podpis vznikl), a nikoli k aktuálnímu datu. Tomu bych se rád věnoval v některém dalším článku, byť i pro mne je to do značné míry „terra inkognita“.  Již nyní si ale dovolím upozornit, že o „odklad“ v délce 12 či 24 hodin zřejmě nepřijdeme ani zde: abychom mohli vyhodnotit podpis k nějakému předchozímu datu, musíme mít jistotu ohledně toho, kdy podpis vznikl. Takovou jistotu nám dodá časové razítko. Jenže i to může být neplatné, protože v mezidobí mohl být zneplatněn certifikát, podle kterého bylo razítko vytvořeno. Takže i zde bychom měli správně počkat.

Příklad na konec

Na závěr tohoto článku nebude chybět ani tradiční konkrétní příklad. Svůj kvalifikovaný certifikát (ten od CA eIdentity, neveřejný a vystavený na pseudonym, viz výše) jsem si nechal zneplatnit také proto, abych mohl vyzkoušet, jak dopadne pokus  o autorizovanou konverzi dokumentu, podepsaného s využitím již zneplatněného certifikátu.

UX DAy - tip 2

Jen připomínám, že takovéto použití (již zneplatněného) certifikátu pro vytvoření elektronického podpisu není korektní a je porušením podmínek pro využívání certifikátu: i smlouva s vydavatelem (certifikační autoritou) připouští využití certifikátu – přesněji: privátního klíče, spojeného s certifikátem  – pouze v době jeho platnosti (a tedy nikoli až po zneplatnění, resp. revokaci). Přesto jsem již „tradiční“ dokument, získaný z datové schránky, podepsal 23.10.2009, s využitím certifikátu, o jehož zneplatnění jsme požádal již 20.10.2009 (a ke kterému došlo 21.10.2009). Chcete-li si vyzkoušet ověření jeho podpisu, najdete ho zde.

Jak asi už tušíte, na CzechPointu mi ho zkonvertovali zcela bez problémů. Konverzní doložku přikládám, opět raději s rozmazáním údajů o obsluze, aby z toho neměla nějaké problémy.

konverzni dolozka

Neodrazuje vás tento seriál od používání elektronického podpisu?

Byl pro vás článek přínosný?

Autor článku

Autor byl dlouho nezávislým konzultantem a publicistou, od 8.6.2015 je členem Rady ČTÚ. 35 let působil také jako pedagog na MFF UK v Praze.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).