Vyšlo na Lupě, 16.05.2023
Vytištěno z adresy: http://www.earchiv.cz/b23/b0516001.php3

Jak na digitální kontinuitu (10): co je to revokace a jak komplikuje digitální kontinuitu

S certifikáty je to podobné jako s platebními kartami: jejich předem nastavená (řádná) doba platnosti se v případě potřeby dá zkrátit. Zatímco platební karty se blokují, certifikáty se revokují. Jenže informace o revokaci nemusí být v pozdější době dostupné, což udržování digitální kontinuity komplikuje. Jak se to dá řešit?

V minulém dílu tohoto seriálu jsme si popsali, jaká je role certifikátů: jsou to vlastně určitá osvědčení o držení soukromého klíče a z jejich obsahu dovozujeme to, komu podpis (či pečeť) patří. Také jsme si popsali, proč mají certifikáty vždy jen omezenou dobu platnosti a proč se po jejím skončení již nemůžeme na obsah certifikátů spoléhat. I jaké to má důsledky pro možnost ověřit platnost elektronického podpisu či pečeti.

Dnes se dostaneme k tomu, že platnost již vydaných certifikátů může být ještě zkrácena. Postupem, kterému se říká revokace, někdy též odvolání či předčasné zneplatnění. A samozřejmě si také řekneme, jaké to má důsledky pro udržování digitální kontinuity.

Opět si ale budeme muset vše zjednodušit a některé věci kolem revokací vynechat úplně. Aby se tomu (snad) ještě dalo rozumět a aby to nebylo na samostatný seriál.

S certifikáty jako s platebními kartami

Abychom si celou problematiku revokace certifikátů popsali co nejsrozumitelněji, využijeme k tomu příměr k platebním kartám: ty také mají vždy jen určitou konkrétní dobu platnosti, z podobných důvodů jako certifikáty. Po jejím skončení už se s konkrétní platební kartou platit nedá a je nutné si pořídit novou.

Nicméně pamatováno je i na situace, kdy vaší platební kartě ještě neskončila její platnost, ale už nechcete, aby se s ní dalo i nadále platit. Třeba pokud ji ztratíte, či když vám ji někdo ukradne. Pak byste to měli co nejrychleji nahlásit své bance coby vydavateli platební karty – aby tato zablokovala všechny další případné transakce pomocí této karty.

Podobně je tomu u certifikátů. Tedy spíše u soukromých klíčů, ke kterým jsou certifikáty vystavovány (jako určité osvědčení o tom, komu soukromý klíč patří, viz minulý díl). Může jít o situaci, kdy vám někdo ukradne čipovou kartu či token, na kterém svůj soukromý klíč máte umístěný a ze které tento klíč „nejde dostat ven“. Pak máte větší šanci poznat, že se něco stalo, protože vám něco chybí. Horší je situace, kdy svůj soukromý klíč máte umístěný někde jinde, odkud „jde dostat ven“ (třeba přímo ve svém počítači). Pak ani nemusíte poznat, že si někdo váš soukromý klíč zkopíroval. Protože vám vlastně nebude nic chybět.

Právě pro takovéto „zlé“ případy, které lze označit jako kompromitaci soukromého klíče, existuje možnost revokace, neboli odvolání, resp. předčasného zneplatnění. A to nikoli revokace samotného soukromého klíče (což dost dobře nejde), ale revokace certifikátu coby onoho osvědčení o tom, komu tento soukromý klíč patří (viz minulý díl). Podobně jako u platebních karet je to možné jen u takového certifikátu, kterému ještě neskončila jeho řádná doba platnosti – a může to provést jen ten, kdo certifikát vydal. Tedy příslušná certifikační autorita, na kterou je třeba se co nejdříve obrátit se žádostí o revokaci.

Až se tak stane (až je certifikát revokován), měl by být elektronický podpis (či pečeť, nebo časové razítko) vytvořený až po revokaci ověřen jako neplatný. A to právě z důvodu revokace certifikátu. Bude to vlastně obdoba situace, kdy by se někdo pokoušel platit již zablokovanou platební kartou.

Nemusí to být jen „zlé“ důvody

Důvodem k revokaci certifikátu ale nemusí být jen události typu ztráty či krádeže čipové karty nebo tokenu. Důvodem může být třeba to, že se daný certifikát už nebude používat. Například proto, že si držitel pořídil nový certifikát, přešel na jeho používání a ten dosavadní již nehodlá používat. Nebo proto, že jde o zaměstnanecký certifikát a jeho držitel přestal být zaměstnancem.

Jako možný příklad si představme pracovníka České pošty, který provádí autorizované konverze v rámci Czech POINTu. Doložky konverze z listinné do elektronické podoby podepisuje svým kvalifikovaným elektronickým podpisem. K tomu má kvalifikovaný prostředek (tj. certifikovanou čipovou kartu či token) a jeho zaměstnavatel mu nechal vystavit kvalifikovaný certifikát (s nastaveným příznakem uložení soukromého klíče), s uvedením jeho vztahu k zaměstnavateli (tj. jako tzv. zaměstnanecký certifikát).

 
 

Pobočka České pošty, na které tento pracovník dosud pracoval, ale má být v brzké době zrušena a dotyčný pracovník bude propuštěn. Až se tak stane, svůj kvalifikovaný prostředek (kartu či token) vrátí – a je dobrou praxí, aby zaměstnavatel nechal jeho (zaměstnanecký) certifikát revokovat, protože se již nebude dále používat.

Ovlivní revokace certifikátu již vytvořené podpisy?

Teď je ale důležitá otázka: co bude s výstupy již provedených autorizovaných konverzí (do elektronické podoby), které tento zaměstnanec podepsal, když jeho certifikát bude revokován (předčasně zneplatněn, odvolán)? Bude to na ně mít nějaký dopad? Bude možné i nadále ověřit jejich podpisy jako platné? Nebo snad provedená revokace znemožní takovéto ověření u všech podpisů založených na revokovaném certifikátu?

Odpověď je taková, že na již provedené autorizované konverze nebude mít revokace vliv. A to díky tomu, že kromě podpisu je výstup z konverze opatřen i kvalifikovaným elektronickým časovým razítkem.

Obecně pak platí, že pokud je možné spolehlivě prokázat, že podpis vznikl ještě před revokací certifikátu, může být ověřen jako platný. Pokud lze spolehlivě prokázat, že vznikl až po revokaci, musí být ověřen jako neplatný. Ve všech ostatních případech – včetně případu, kdy není možné zjistit, zda (a kdy) k revokaci došlo – nelze ověřování dokončit a výsledkem musí být pokrčení rameny (konstatování, že platnost podpisu je neznámá).

 
 

Jako konkrétní příklad si na následujícím obrázku můžeme ukázat výsledek ověření konkrétního podpisu elektronickou podatelnou jednoho soudu.

 
 

Jde o elektronický podpis, který je založen na certifikátu s řádnou dobou platnosti do 14. 3. 2019. Nicméně ještě v době své řádné platnosti (jindy to ani nejde) byl tento certifikát revokován, a to k datu 28. 2. 2019 a času 14:22:02 (viz červený rámeček). Kvalifikované elektronické časové razítko s datem 28. 9. 2018 (v zeleném rámečku) ale prokazuje, že k tomuto datu (které předchází revokaci o celých 5 měsíců) podpis již existoval. Z toho lze dovodit, že podpis vznikl nejpozději k tomuto datu (datu připojení časového razítka), a tedy také před revokací. Díky tomu mohla podatelna soudu ověřit podpis jako platný. Jiný příklad podpisu, prokazatelně vytvořeného ještě před revokací, si můžete prohlédnout a vyzkoušet zde.

Příklad s podpisem, který byl vytvořen naopak až po revokaci certifikátu, vidíte na následujícím obrázku (ke stažení je zde).

 
 

Revokace se musí prozkoumat vždy

Zdůrazněme si, co vyplývá i z dosud uvedeného a co je velmi důležité: že revokace se při ověřování platnosti musí zkoumat vždy. A že nestačí jen nějaké „pasivní“ prozkoumání v tom smyslu, že nenajdeme nic, co by nasvědčovalo tomu, že certifikát byl revokován. Musí to být „aktivní“ prozkoumání: aby bylo možné dojít k závěru, že elektronický podpis je platný (obdobně pro pečeť nebo časové razítko), musí být nalezeno něco dostatečně věrohodného a spolehlivého, co dokazuje, že k revokaci nedošlo (nebo naopak došlo a kdy). Tedy relevantní revokační informace. Relevantní v tom smyslu, že řádně prokazují stav revokace toho certifikátu, o který jde (a také všech jemu „nadřazených“ certifikátů, tj. certifikátů certifikačních autorit), a to k době, o kterou při ověřování jde.

Bez takovéhoto „aktivního zjištění“, skrze relevantní revokační informace, není možné ověřování dokončit. A to ani konstatováním, že podpis je platný, ani konstatováním, že je neplatný.

Důvodem je to, že ověřování platnosti (elektronického podpisu, pečeti či časového razítka) je proces, který zahrnuje více postupných kroků. Zjednodušeně: prvním krokem je kontrola integrity (že nedošlo k žádné změně). Ve druhém se zkoumá řádná doba platnosti (všech) certifikátů. No a třetí krok představuje ono „aktivní“ prozkoumání revokace (opět všech) certifikátů.

Pokud kterýkoli z těchto kroků není možné provést, nemůže být proces ověřování dokončen – a výsledkem musí být ono „pokrčení rameny“ a konstatování, že o stavu platnosti nic nevíme (že je neznámý).

Zde nám jde hlavně o onen třetí krok, při kterém se zkoumá revokace certifikátu (přesněji všech certifikátů). Znovu si zdůrazněme, že podmínkou pro jeho provedení je získání takových revokačních informací, které prokazují stav revokace těch certifikátů, o které jde.

Důvodem pro neprovedení celého kroku tak může být (a nejčastěji skutečně bývá) to, že se potřebné revokační informace nepodaří získat. Případně že ty, které se podaří získat, nejde využít proto, že se nedají vztáhnout k té době, o kterou jde. Zjednodušeně: pokud jsou takovéto revokační informace příliš staré. Nebo z opačného pohledu nejsou dostatečně čerstvé, jak je potřeba. Tedy z doby až po vzniku podpisu, a nikoli před ní.

Dopady si můžeme ukázat na následujícím „odstrašujícím“ obrázku. Jsou na něm tři různé výsledky ověření platnosti stejného elektronického podpisu na stejném dokumentu, ve stejném nástroji (programu Adobe Acrobat Reader). Správný výsledek je uprostřed: jde o podpis vytvořený až po revokaci (jde o stejný příklad jako na předchozím obrázku, ke stažení zde).

 
 

Vpravo je výsledek ověření v situaci, kdy se programu nepodařilo získat relevantní revokační informace. Proto proces ověřování nemohl být dokončen a výsledkem muselo být „pokrčení rameny“. Vlevo pak je výsledek možnosti přikázat programu Adobe Acrobat Reader, aby revokaci vůbec nezkoumal (což je v rozporu s požadavky na řádné ověření platnosti). Pak, jelikož všechny ostatní podmínky pro platnost byly splněny, mohlo být výsledkem konstatování, že podpis je platný.

Problém pro digitální kontinuitu

Právě dostupnost relevantních revokačních informací je velkým problémem pro digitální kontinuitu. Revokační informace totiž vytvářejí vydavatelé certifikátů (jednotlivé certifikační autority) a mají (ze zákona) povinnost je udržovat jen po určitou omezenou dobu (10 let).

Ještě dříve ale může nastat problém s „přímou“ dostupností těchto revokačních informací pro běžně používané nástroje a služby. Což je velmi podstatné pro aktuální digitální kontinuitu, a naopak není až tak bolestné pro tu potenciální. Protože lidský uživatel (např. soudní znalec) má možnost „ručně“ procházet webové stránky vydavatelů a vyhledávat na nich potřebné „starší“ revokační informace, jsou-li stále dostupné, případně je získat jakkoli jinak (např. „ze své vlastní zásoby“). Naproti tomu běžně používané nástroje a služby nemohou improvizovat a používat jakékoli „ruční“ postupy. Musí postupovat „automatizovaně“ a standardizovaným způsobem: podívají se do příslušného certifikátu, kde musí být uvedeno, kde a jak relevantní revokační informace hledat. Podle toho pak také postupují.

 
 

Jenže právě takovýmto (standardizovaným a automatizovaným) způsobem bývají tyto informace dostupné na určených místech jen po ještě více omezenou dobu: vždy po dobu řádné platnosti certifikátu. Pak tam být mohou i nadále, ale nemusí – a častěji nebývají. Důvodem je i to, že po skončení řádné doby platnosti se již nelze spoléhat na obsah certifikátu, a tím ani na informaci, kde příslušné informace hledat. Vydavatel (certifikační autorita) mohl zřídit nějaké nové místo, kde revokační informace zveřejňuje, resp. skrze které je poskytuje, a postupně na něj přecházet. Jinými slovy: po skončení řádné doby platnosti se již nelze plně spoléhat na to, že revokační informace hledáme na správném místě.

Řešení, kompenzující takovouto „pozdější nedostupnost“ revokačních informací, se může ubírat dvěma různými směry, resp. může být zajišťováno „na opačných stranách“.

Řešení na straně původců elektronických dokumentů

O dostupnost relevantních revokačních informací i v pozdější době se může postarat již ten, kdo nějaký elektronický dokument podepisuje či upravuje: tím, že potřebné informace včas shromáždí a přiloží k samotnému dokumentu, případně přímo k jeho podpisu (či pečeti nebo časového razítka). Když pak později někdo bude potřebovat ověřit platnost podpisu na dokumentu, najde vše potřebné přímo v něm.

Takovéto řešení lze označit jako systémové a je základem pro udržování aktuální digitální kontinuity. Podrobněji se mu budeme věnovat v dalších dílech tohoto seriálu. Proto jen malá ochutnávka: na následujícím obrázku vidíte dvě verze téhož dokumentu, pohledem Adobe Acrobat Readeru: v jeho pravé části je verze s přiloženými revokačními informacemi. To Reader hodnotí konstatováním o povoleném „dlouhodobém ověřování“. Zde konkrétně do 1. 1. 2029, do kdy je možné ověřit platnost podpisového časového razítka. Do této doby tak bude zachována aktuální digitální kontinuita a platnost podpisu půjde ověřit i v Adobe Acrobat Readeru.

 
 

V levé části obrázku je verze dokumentu bez vložených revokačních informací. Jde přitom o dokument opatřený (pouze uznávaným) elektronickým podpisem, který je založen na certifikátu s řádnou dobou platnosti do 25. 5. 2023. O obou skutečnostech Adobe Acrobat Reader informuje sdělením, že „u podpisu není povoleno dlouhodobé ověřování a vyprší po datu 25. 5. 2023“. Tedy doslova již za pár dnů (od vydání tohoto článku 16. 5. 2023).

Až si to v dalších dílech budeme popisovat podrobněji, řekneme si, že v levé části obrázku je podpis ve formátu PAdES Baseline v úrovni T (zkráceně PAdES B-T). Tedy jen s časovým razítkem (T od Timestamp). V pravé části je podpis v úrovni LT (PAdES B-LT) neboli s časovým razítkem i s vloženými informacemi pro potřeby dlouhodobého (L od Longterm) ověřování.

Další obrázek ukazuje, jak bude vypadat výsledek ověření stejných podpisů v Adobe Acrobat Readeru po datu 25. 5. 2023 (konkrétně 26. 5. 2023, viz zelený rámeček). U verze dokumentu v pravé části (s podpisem v úrovni LT) bude podpis stále ověřen jako platný – Reader zde využije vložené revokační informace (vložené ještě v době, kdy byly dostupné, viz předchozí obrázek). A takto tomu bude (bez dalšího) až do již zmiňovaného 1. 1. 2029 (kdy skončí možnost ověření podpisového časového razítka, to na obrázcích není vidět).

 
 

Ovšem u verze v levé části obrázku (s podpisem jen v úrovni T) došlo na varování Readeru o tom, že „… ověřování vyprší 25. 5. 2023“. Následující den (26. 5. 2023) se Readeru již nedaří získat potřebné revokační informace (které nejsou vloženy v dokumentu), a tak nemůže provést všechny kroky nutné pro dokončení procesu ověřování platnosti. Musí skončit oním „pokrčením rameny“ a konstatováním, že stav platnosti podpisu je neznámý. Povšimněte si upřesnění (v červeném rámečku), že „odvolání identity autora podpisu nelze zkontrolovat“. V překladu: programu se nepodařilo zkontrolovat revokaci certifikátu.

Vezměme si z tohoto konkrétního příkladu jedno důležité ponaučení: při vytváření podpisu byl příslušný kvalifikovaný certifikát využit „nadoraz“. A to těsně (12 dnů) před koncem řádné doby jeho platnosti. Nicméně k podpisu bylo připojeno (kvalifikované elektronické) časové razítko, a bylo by tedy namístě očekávat, že se tím prodlouží možnost ověření do doby, po kterou půjde ověřit platnost tohoto časového razítka (tj. do 1. 1. 2029, viz výše). K tomu ale došlo jen u verze s vloženými revokačními informacemi (u podpisu v úrovní LT), zatímco u verze bez vložených revokačních informací (u podpisu jen v úrovni T) – aspoň pro Adobe Acrobat Reader – nikoli.

Nicméně jiné nástroje a služby, například Czech POINTy či služba SecuSign, si dokáží vystačit i bez vložených revokačních informací a platnost podpisu i v úrovni T dokáží ověřit i po 25. 5. 2023 (až do 1. 1. 2029). Čím to je?

Řešení na straně příjemců elektronických dokumentů

Odpověď na předchozí otázku je taková, že tyto služby používají řešení „na své straně“. Jeho podstata je velmi jednoduchá: relevantní revokační informace získávají dopředu, v době, kdy tyto jsou ještě dostupné, a uchovávají si je ve své zásobě. Do té pak sáhnou, až je budou někdy později potřebovat. Tudíž jim nebude vadit (tak jako to vadí Readeru), že se již nedají získat (standardním postupem) online.

Takto fungují Czech POINTy i služba SecuSign a také třeba podatelny našich soudů. Můžeme si to ukázat na stejném příkladu, který jsme si již jednou ukazovali (v úvodu článku, na výsledku ověření podatelnou soudu). Jde o uznávaný elektronický podpis, vytvořený v září 2018, přičemž podpisový certifikát byl v únoru 2019 (těsně před koncem své řádné platnosti) revokován. Podpis je pouze v úrovni T (tj. PAdES B-T), a nejsou do něj tudíž vloženy revokační informace nutné pro pozdější ověření podpisu.

Adobe Acrobat Reader dnes (v roce 2023) nedokáže získat potřebné revokační informace, vztahující se k letům 2018 a 2019, a tak jeho pokus o ověření končí neúspěchem – pokrčením ramen a konstatováním, že platnost podpisu je neznámá (viz levá část obrázku). 

 
 

V pravé části obrázku pak jsou vidět výsledky ověření téhož podpisu u tří služeb, které si vedou svou vlastní zásobu revokačních informací: podatelna soudu, SecuSign i Czech POINT. Všem se podařilo ověřování dokončit a mohly konstatovat, že podpis je platný.

Na výsledku od služby SecuSign si můžete povšimnout konstatování, že byly použity revokační informace z vlastní zásoby (viz zelený rámeček).

Časy potřebujeme znát přesně

Z toho, co jsme si dosud popsali, vyplývá ještě jedna důležitá věc: že u elektronických podpisů, ale i pečetí a časových razítek, velmi záleží na přesném času a časové souslednosti různých událostí. Může přitom jít i o minuty, či dokonce sekundy.

V případě revokace je proto nutné znát přesný čas, kdy k ní došlo. Přesněji: kdy nastaly účinky revokace, protože ve skutečnosti jde o celý postupný proces. V určitém okamžiku je podána žádost o revokaci, a pokud je přijata, v nějakém dalším okamžiku nastávají účinky revokace.

Stejně tak je ale třeba přesně znát i časový okamžik, pro který budeme posuzovat časovou souslednost: zda předchází revokaci, nebo zda je tomu naopak. Co by ale mělo být tímto okamžikem?

To už si necháme na příště.