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

Jak na digitální kontinuitu (9): co jsou certifikáty a proč je musíme pravidelně obměňovat?

To, komu elektronický podpis či pečeť patří, dovozujeme z obsahu certifikátu. Na ten se ale můžeme spoléhat je po dobu jeho řádné platnosti, která je vždy omezená. Je to podobné jako s trvanlivostí potravin, které také můžeme konzumovat jen po určitou omezenou dobu. Jinak na to můžeme pěkně doplatit.

předchozím dílu seriálu Jak na digitální kontinuitu jsme se seznámili s tím, proč a v jakém smyslu kryptografické algoritmy zastarávají. I co jsou hashe, hashovací funkce a jak je možné, že existují vzájemně kolizní dokumenty. Tedy takové, které jsou různé, ale mají stejný otisk, a tím i stejný elektronický podpis. Také jsme si vysvětlili, proč se kolizních dokumentů – po určitou dobu – nemusíme bát a na elektronické podpisy (i pečeti a časová razítka) se – opět jen po určitou dobu – můžeme spoléhat. Nikoli trvale.

Dnes se již dostaneme k tomu, kdo a jakým způsobem stanovuje onu „určitou dobu“. I jak tato doba souvisí s pomyslnou časovou pojistkou, o které již víme, že je zabudována do samotného konceptu elektronických podpisů. Zjistíme, že rozhodující roli zde hrají certifikáty – a když už u nich budeme, řekneme si něco více i o těchto certifikátech a o tom, co všechno se z nich dá dovozovat. A také proč se to dá dovozovat jen po omezenou dobu a pak už ne.

Není to jen o kolizních dokumentech

Nejprve si musíme říct, že ono „nic nevydrží věčně“ se netýká jen otisků/hashů a kolizních dokumentů. Týká se obecně všeho, co staví svou bezpečnost na tom, že potřebný výpočet k případnému prolomení či jinému zneužití je příliš složitý na to, aby vůbec mělo smysl se o něj pokoušet. Jde tedy i o další věci.

Příkladem může být samotný princip, na kterém jsou elektronické podpisy postaveny: princip asymetrické kryptografie. Tedy alespoň ty podpisy, které jsou „kryptografické“, jak jsme si je vymezili již v minulém dílu: kvalifikované, uznávané, či jen zaručené elektronické podpisy (kterým se v praxi říká souhrnně také digitální podpisy). Nikoli tzv. prosté elektronické podpisy, což jsou například jen napsané kusy textu či vložené obrázky.

Princip asymetrické kryptografie je založen na existenci dvou klíčů (soukromého a veřejného). Samozřejmě nejde o dva libovolné klíče, ale o dvojici klíčů, vytvořenou podle konkrétních pravidel (algoritmů) takovým způsobem, že spolu vzájemně souvisí a jakoby se vzájemně doplňují. Zjednodušeně: tvoří pár, a proto se jim také říká párová data.

Jeden z těchto klíčů, a to ten soukromý, slouží k podepisování, a měl by jím tudíž vládnout (rozhodovat o jeho využití) výhradně jen jeho oprávněný držitel. Protože, jak už jsme si také řekli v minulém dílu: právě jeho použití způsobuje, že výsledný podpis bude podpisem toho, komu tento soukromý klíč patří. Jak se to v praxi pozná, si záhy také naznačíme.

Naproti tomu druhý z obou klíčů (ten veřejný) už podle svého názvu nemusí být nijak utajován a je dobrou praxí jej přikládat ke každému vytvořenému elektronickému podpisu. To proto, aby jej příjemce podepsaného dokumentu nemusel někde složitě shánět, až jej bude potřebovat. A potřebovat ho bude, protože pro ověřování platnosti podpisu je nutný právě veřejný klíč. Nikoli ten soukromý.

 
 

Zjednodušeně si princip ověřování platnosti můžeme představit, obdobně jako samotné vytváření elektronických podpisů v minulém dílu, jako určité „semletí“ – tentokráte ale tří různých ingrediencí: podepsaného obsahu (resp. jeho otisku), samotného podpisu a veřejného klíče. Zdůrazněme si ještě jednou: veřejného, nikoli soukromého klíče.

 
 

Teď ale to podstatné, i z pohledu digitální kontinuity: když veřejný klíč nemusíme nijak chránit a můžeme ho dávat z ruky (a taky skutečně dáváme), musíme mít rozumnou míru jistoty, že z tohoto veřejného klíče nepůjde dovodit (vypočítat) klíč soukromý. A to i přesto, že je dobře znám postup, jakým oba klíče vznikají. Musí to být takový postup, aby vytvoření nového páru (tj. obou klíčů současně) bylo relativně jednoduché a rychlé, ale odvození (vypočítání) jednoho klíče ze znalosti toho druhého bylo naopak dostatečné složité (výpočetně náročné). Aby se „zlé straně barikády“ nevyplatilo se o to pokoušet.

Platí zde ale to samé jako u otisků/hashů a ochrany před kolizními dokumenty: na to, že případný výpočet jednoho klíče ze znalosti toho druhého je příliš složitý (než aby se někomu vyplatilo se o něj pokoušet), se můžeme spoléhat jen určitou omezenou dobu. Nikoli trvale.

Proto vždy po určitém čase přestáváme dosavadní soukromý klíč používat a přecházíme na novou dvojici (nová párová data). Případně přecházíme na „bytelnější“ řešení, které může představovat použití větších klíčů (měřeno počtem jejich bitů), nebo jiný princip vytváření párových dat (generování soukromého a veřejného klíče) a s ním související algoritmus podpisu.

Dnes je pro generování párových dat (i pro samotné podepisování) stále nejpoužívanější algoritmus RSA, který staví na složitosti hledání prvočíselného rozkladu, a velikost klíčů 2048 bitů. Autorita PostSignum ale podporuje již i klíče o velikosti 4096 bitů. A třeba I.CA již od července 2019 podporuje také algoritmus generování klíčů na bázi kryptografie eliptických křivek (ECC) i odpovídající algoritmu podpisu (ECDSA).  

 
 

Je to jako s trvanlivostí potravin

Po tomto krátkém exkurzu do samotných základů elektronických podpisů se již můžeme vrátit zpět k tomu, čemu je věnován tento díl: k tomu, kdo a jak má stanovovat onu „určitou dobu“, po kterou nám elektronické podpisy, pečeti či časová razítka „vydrží“ a kdy už je záhodno udělat nějaký ten „další krok“, abychom udrželi jejich (aktuální) digitální kontinuitu a stále se mohli spoléhat na jejich vlastnosti.

To, co jsme si k tomu právě dodali, si můžeme shrnout tak, že jde i o další věci, než jenom o hashování a kolizní dokumenty. Jde také o vztah mezi soukromým a veřejným klíčem, o jejich velikosti, o podpisové algoritmy, ale třeba také o formáty podpisů, pečetí a razítek (o kterých si teprve budeme říkat) a ještě další věci. A to vše je třeba poměřovat s vývojem v oblasti výpočetní techniky. Zejména s tím, jak roste „výpočetní síla“ počítačů, které může mít „zlá strana barikády“ k dispozici. V neposlední řadě je vhodné brát v úvahu i o „to, co je ve hře“. Jaké je riziko zneužití, jaké škody hrozí atd.

Zjednodušeně: není to jednoduché. Je to určitě něco, co přísluší odborníkům z oblasti kryptografie (kryptologům), stále ve spolupráci s dalšími profesemi.

Jenže jak si má poradit běžný uživatel, ať již v roli podepisující osoby, či tzv. spoléhající se osoby (příjemce něčeho podepsaného, kdo se má na podpis spoléhat), který takovým odborníkem není? Určitě není možné po něm požadovat, aby měl všechny potřebné odborné znalosti (nejenom) z oblasti kryptografie.

Svým způsobem je to podobné situaci v potravinářství: konkrétní potraviny mají také jen omezenou dobu poživatelnosti. A její určení je také docela složité, protože závisí na ingrediencích, výrobních postupech, balení, přepravě, skladování atd.

Někdo, kdo je příslušným odborníkem, si možná dokáže sám dovodit, kdy se konkrétní potravina ještě dá konzumovat a kdy už ne. Pro všechny ostatní je pak určena informace o trvanlivosti, resp. době použitelnosti, uvedená na konkrétním produktu. Tuto informaci připravují příslušní odborníci, se zohledněním platných norem a standardů, a výslednou dobu nejspíše stanovují i s určitou časovou rezervou.

Časová pojistka na elektronických podpisech je v tomto ohledu obdobou údaje o trvanlivosti potravin: nastavení okamžiku jejího „zaklapnutí“ určují odborníci, kteří by měli věci rozumět. A tím fakticky určují i to, jak dlouho se můžeme na vlastnosti (kryptografických) elektronických podpisů spoléhat a dovozovat z nich odpovídající právní účinky. Případně do kdy musíme provést příslušné „další kroky“, abychom udrželi digitální kontinuitu našich elektronických dokumentů a jejich podpisů a pečetí.

Zdůrazněme si znovu, že ona časová pojistka je pouze pomyslná. Je to jen zjednodušující abstrakce, kterou si zde vypomáháme pro snazší vysvětlení toho, jak elektronické podpisy fungují a jak je používat. Její fungování, tedy především jej „zaklapnutí“, však vychází z reálných vlastností certifikátů, o které se (kryptografické) elektronické podpisy a pečeti opírají. Jinými slovy, dobu „zaklapnutí“ časové pojistky určuje primárně obsah certifikátu.

Jaká je role certifikátu?

V prvním přiblížení si můžeme říct, že z obsahu certifikátu dovozujeme, komu patří konkrétní elektronický podpis. Zjednodušeně, když se podaří ověřit podpis jako platný, podíváme se do příslušného certifikátu (na kterém je podpis tzv. založen), kdo je tam uveden jako držitel tohoto certifikátu, a toho pak považujeme za podepsanou osobu.

 
 

Pokud se jedná o kvalifikovaný certifikát, za správnost jeho obsahu ručí (pod vysokými sankcemi) jeho vydavatel. Pak víme, že se na identitu podepsané osoby, dovozenou z obsahu certifikátu, můžeme spoléhat. Ale pokud se nejedná o kvalifikovaný certifikát, takovouto jistotu obecně (bez dalšího) nemáme. Obsah certifikátu stále může být správný a odpovídat skutečnosti, ale také nemusí. Ostatně, takový certifikát, který není kvalifikovaný (ale spíše jen testovací), si můžete vytvořit i sami a napsat si do něj, cokoli uznáte za vhodné.

Ale jak to vlastně funguje? Jak je vůbec možné z obsahu certifikátu dovozovat, komu patří elektronický podpis? A jakou roli v tom hraje čas a ono postupné „oslabování“ kryptografických algoritmů?

Kryptologové by nás poučili o tom, že zde platí pravidlo označované jako princip nepopiratelnosti (někdy též neodmítnutelnosti), anglicky non-repudiation. Zjednodušeně říká, že při vytváření příslušného (kryptografického) elektronického podpisu musel být použit příslušný soukromý klíč. Že jiný soukromý klíč to nemohl být. Nebo také že není možné popřít použití příslušného soukromého klíče (resp. odmítat, že byl použit).

Na tomto technickém principu nepopiratelnosti pak může být postavena právní domněnka, podle které je za podepsanou osobu (tj. za toho, komu podpis patří, resp. čí podpis to je) považován ten, komu příslušný soukromý klíč patří. Kdo deklaruje, že je jeho držitelem. Tím je mimochodem naplněno to, co jsme si uváděli již dříve: že váš soukromý klíč je tím, co dělá váš elektronický podpis vaším podpisem.

Zbývá ale ještě jeden důležitý aspekt: jak může někdo veřejně, vůči všem potenciálním příjemcům jím podepsaného dokumentu, deklarovat, že konkrétní soukromý klíč je jeho? Aby si tito příjemci mohli, z jeho deklarace o držení soukromého klíče, dovodit, komu podpis patří? Znovu si zdůrazněme, že soukromý klíč je to, co je specifické a unikátní pro konkrétní podepisující osobu. Zjednodušeně něco jako její tajemství, které nesmí znát nikdo jiný (neboť pak by se mohl podepisovat jejím jménem).

Jistě již tušíte, že opět zde hraje klíčovou roli certifikát: právě ten je vlastně určitým osvědčením o držení soukromého klíče. A certifikát je obecně veřejný. Je dobrou praxí (byť ne úplnou nutností) jej přikládat ke každému elektronickému podpisu. Jenže z právě popsaných důvodů v něm nemůže být obsažen samotný soukromý klíč, o kterém má certifikát vypovídat. Protože pak už by tento soukromý klíč nebyl soukromý.

Řešení nabízí samotný princip asymetrické kryptografie a to, že konkrétnímu soukromému klíči odpovídá konkrétní veřejný klíč (který je s ním „do páru“, resp. oba klíče tvoří párová data). Takže do certifikátu lze místo soukromého klíče přidat odpovídající veřejný klíč – a připojit informaci ve smyslu: držitelem soukromého klíče, který je „do páru“ s tímto veřejným klíčem, je osoba XY.

 
 

Smysl to dává i proto, že k ověření platnosti příjemce nepotřebuje soukromý klíč, ale právě ten veřejný. No a ten najde v certifikátu, který je zvykem (dobrou praxí) přidávat ke každému elektronickému podpisu (ale i pečeti či časovému razítku).  

Opět si ale musíme zdůraznit: aby to takto mohlo fungovat, nesmí být (kryptografická) vazba mezi soukromým a veřejným klíčem již oslabená tak, aby se ze znalosti veřejného klíče (obsaženého v certifikátu) již dal, a to „v únosném čase“, dovodit (vypočítat) soukromý klíč. I to je důvod, proč bychom stejná párová data neměli používat trvale a proč se na certifikáty nemůžeme spoléhat libovolně dlouho. Proč je jejich platnost omezována v čase. Proč jsou vydávány jen na určitou dobu, a nikoli „napořád“.

Různé certifikáty mají různé doby platnosti

To, že certifikáty mají jen určitou řádnou dobu platnosti a držitelé si musí včas požádat o vydání nového certifikátu, není motivováno tím, aby si certifikační autority (jak se obecně říká těm, kteří certifikáty vydávají) uměle generovaly odbyt pro své produkty. Jak jsme si právě popsali, má to své pádné důvody. A v dalším pokračování si ještě jeden další důvod přidáme.

To, jak dlouho má konkrétní certifikát „vydržet“, neboli jak má být nastavena jeho řádná doba platnosti, ale není nějak direktivně stanoveno. Právní úprava to neurčuje. Určují si to vydavatelé certifikátů (certifikační autority) sami, podle toho, „na co si troufnou“. Jak jejich odborníci vyhodnotí celou řadu faktorů: od vývoje v oblasti kryptografie a výpočetní techniky až po to, k jakým účelům má certifikát sloužit a jak bude nakládáno s ním i s odpovídajícím soukromým klíčem.

Výsledkem je pak to, že různé druhy certifikátů mohou mít různou dobu své řádné platnosti. Třeba certifikáty, na kterých jsou založena (kvalifikovaná elektronická) časová razítka, mohou mít delší dobu platnosti než certifikáty určené pro podepisování či pečetění. Mj. proto, že hledání kolizí u objektů s pevnou strukturou a obvykle i pevnou velikostí je výrazně těžší než hledání kolizí u celých dokumentů (které mohou být různě veliké a s volnější strukturou).

V praxi se tak můžeme setkat s opravdu velmi různými délkami platnosti certifikátů. V nejlevější části následujícího obrázku vidíte asi extrémní případ certifikátu „na jedno použití“ (pro zaručené elektronické podpisy od BankID), s řádnou dobou platnosti pouhé jedné minuty (později BankID přešla na roční platnost). Uprostřed je kvalifikovaný certifikát pro elektronický podpis s dobou platnosti 1 rok (v ČR se ale vydávají i s platností na 3 roky). V pravé části pak je certifikát časového razítka s platností na 6 let (který se ale používá jen první rok).

 
 

O čem rozhoduje certifikát

Jak jsme si již několikrát naznačili a na konkrétních příkladech ukázali, omezená doba platnosti certifikátů určuje „zaklapnutí“ pomyslné časové pojistky i to, do kdy je třeba udělat onen „další krok“, pokud chceme toto zaklapnutí oddálit a zachovat (aktuální) digitální kontinuitu.

Stejně tak si omezená doba platnosti jednotlivých certifikátů vynucuje jejich opakovanou obměnu, v praxi obvykle řešenou jako vydání tzv. následného certifikátu, někdy nesprávně prezentovanou jako obnova certifikátu. Nejde totiž o žádnou obnovu ve smyslu vydání nového certifikátu ke stejným párovým datům, ale o vydání úplně nového certifikátu, k novým (nově vygenerovaným) párovým datům. Jen postup může být zjednodušený v tom, že žádost o nový (následný) certifikát může být ještě podepsána s využitím stávajícího certifikátu, dokud je stále ještě platný (a tak se vše dá vyřídit online, bez nutnosti osobní návštěvy certifikační autority).

S obměnou certifikátu tak dochází k přechodu na používání nových párových dat (nového soukromého a veřejného klíče), zatímco dosud používaný soukromý klíč se již nevyužívá. To snižuje rizika kompromitace klíčů a omezuje případné dopady. V neposlední řadě to napomáhá i řešení problému digitální kontinuity. Jak?

To, že v každém certifikátu je obsažen veřejný klíč, předurčuje jak velikost obou klíčů (tj. jak veřejného, tak i soukromého), tak i způsob (algoritmus) jejich generování (např. RSA, nebo ECC) a současně i algoritmus podpisu (např.: RSA vs. ECDSA), který musí být použit při samotném podepisování. Takže pokud certifikační autorita začne od určitého okamžiku vydávat certifikáty s jinou (větší) velikostí soukromého klíče, případně založené na jiném algoritmu (eliptických křivkách místo RSA), vyvolá to příslušné změny i na straně držitelů těchto certifikátů v roli podepisujících osob. O příkladech jsme se již zmiňovali: PostSignum dnes nabízí i certifikáty pro elektronický podpis s velikostí klíčů 4096 bitů a I.CA nabízí certifikáty s kryptografií na bázi eliptických křivek (ECC).

Pro srovnání: hashovací funkce (stejně jako tzv. padding u RSA či formát a úroveň podpisu) není dána certifikátem, ale je dána nastavením programu, který podepisující osoba používá.

 
 

A když už jsme u toho, co všechno je předurčeno certifikátem, pojďme si to dokončit:

  • existují kvalifikované certifikáty a „ty ostatní“ (kterým se souhrnně a v širším smyslu říká komerční certifikáty). Na následujícím obrázku (s pohledem na certifikáty „očima“ programu Adobe Acrobat Reader) se kvalifikované certifikáty poznají podle toho, co je v červeném rámečku. Včetně ikonky s modrým zámečkem, která je „značkou důvěry EU“ indikující kvalifikovaný statut. Kvalifikované jsou tedy dva certifikáty (uprostřed a vpravo). Certifikát vlevo není kvalifikovaný (je pouze komerční) – takže podpis, který na něm je založen, je pouze zaručeným elektronickým podpisem.
 
 
  • kvalifikované certifikáty, osvědčující držení soukromého klíče, umístěného (a již vygenerovaného) v kvalifikovaném prostředku (certifikované čipové kartě nebo tokenu) mají nastaven příznak o umístění tohoto klíče. Na předchozím obrázku jde o text v modrém rámečku u certifikátu vpravo. Výsledkem je to, že podpis založený na kvalifikovaném certifikátu s tímto příznakem (vpravo) bude kvalifikovaným elektronickým podpisem. A podpis založený na kvalifikovaném certifikátu bez tohoto příznaku (uprostřed) bude pouze uznávaným elektronickým podpisem (resp. „zaručeným elektronickým podpisem, založeným na kvalifikovaném certifikátu“).
  • existují certifikáty pro elektronické podpisy a vedle nich certifikáty pro elektronické pečeti. Druh certifikátu tak rozhoduje o tom, co vznikne: zda elektronický podpis, nebo elektronická pečeť. Orientačním vodítkem může být již to, kdo je držitelem certifikátu: pokud je to fyzická osoba, pak by to měl být certifikát pro elektronický podpis (protože podepisovat se mohou jen fyzické osoby). Pokud je držitelem právnická osoba, mělo by jít o certifikát pro elektronickou pečeť. 
    Rozhodující je ale to, co je na následujícím obrázku v barevném rámečku: zmínka o „příloze“. Jde-li o „přílohu I“, jedná o certifikát pro elektronický podpis. Jde-li o „přílohu III“, jedná se o certifikát pro elektronickou pečeť. 
 
 

Na vysvětlenou: jde o číslování příloh nařízení eIDAS, které stanovují požadavky na příslušný druh certifikátů. Kromě příloh I a III existuje ještě „příloha II“, která stanovuje požadavky na tzv. kvalifikované prostředky (pro vytváření elektronických podpisů či pro vytváření elektronických pečetí). Dále i příloha IV, která stanovuje požadavky na kvalifikované certifikáty pro autentizaci internetových (správně webových) stránek.

Co bude příště?

Příště se dostaneme k tomu, že řádná doba platnosti certifikátů může být zkrácena: postupem, který se označuje jako revokace, odvolání či předčasné zneplatnění. Je to určitá obdoba zablokování platební karty pro případ, že o ni přijdete. A hlavně je to docela velká komplikace jak pro samotné ověřování platnosti elektronických podpisů a pečetí (kdy je třeba pozitivně ověřit, že k revokaci nedošlo, případně zjistit, kdy přesně k ní došlo), tak i pro udržování (aktuální) digitální kontinuity. Protože potřebné informace pro kontrolu revokace (tzv. revokační informace) již v pozdější době nemusí být k dispozici. Nebo alespoň ne takovým způsobem, jakým jsou dostupné pro „čerstvé“ dokumenty.