Vyšlo v časopise Computerworld č. 8/2012, dne 10.4.2012, v rámci seriálu Elektronický podpis v praxi
Vytištěno z adresy: http://www.earchiv.cz/b12/b0420001.php3

Infrastruktura veřejného klíče

Elektronický podpis, tak jak jej dnes známe a používáme, je založen na principech asymetrické kryptografie a na použití certifikátů. Důvěra v tyto certifikáty, a jejich prostřednictvím i důvěra v konkrétní elektronické podpisy, je odvozována od certifikačních autorit, které certifikáty vydávají. Certifikačních autorit je v praxi více a společně vytváří celou infrastrukturu veřejného klíče.

Připomeňme si, z předchozích dílů tohoto seriálu, že dnes používaný elektronický podpis využívá existenci párových dat, neboli soukromého a veřejného klíče: pomocí toho soukromého se podepisuje, neboli vytváří samotný podpis, zatímco pomocí veřejného klíče se ověřuje platnost již vytvořeného podpisu. Přitom to, že oba klíče jsou vzájemně "do páru" a fungují právě takto, je dáno samotnou podstatou tzv. asymetrické kryptografie. Ta ručí i za to, že soukromý klíč může zůstat skutečně soukromý a není nutné jej dávat z ruky, zatímco veřejný klíč lze dávat na potkání komukoli, kdo o něj bude mít zájem. Nebo jej dokonce proaktivně rozvěsit na každém rohu v on-line světě.

Když už tedy máte v ruce nějaký veřejný klíč, a s jeho pomocí si ověříte konkrétní podpis, získáte tím jistotu, že podpis mohl vytvořit jen držitel odpovídajícího soukromého klíče. Jenže pak nastává problém: jak poznáte, o koho jde? Tedy komu veřejný klíč skutečně patří?

Nejjednodušší je to v případě, kdy vám veřejný klíč dá z ruky do ruky přímo dotyčný (či dotyčná) a prohlásí jej za svůj. Jenže co v ostatních případech, kdy veřejný klíč získáte nějak zprostředkovaně a nikoli přímo? A co když má navíc patřit někomu, koho osobně neznáte?

No, ještě že máme certifikáty. Připomeňme si z minulého dílu, že certifikát je v podstatě jakási obálka, do které je vložen něčí veřejný klíče, dále lísteček s popisem identity držitele tohoto klíče - načež je obálka zalepena a podepsána tím, kdo ji naplnil (kdo certifikát vystavil).

Fajn. Ale: kdy a jak můžeme takovémuto certifikátu věřit? Kdy se můžeme spolehnout na to, že jeho obsah odpovídá skutečnosti? Že veřejný klíč, vložený do certifikátu, skutečně patří tomu, kdo se vydává za jeho držitele?

Zde již mohou nastoupit dva různé principy, podle kterých je důvěra v certifikát odvozována.

Pavučina důvěry

Jednou z možností je to, že certifikát si vystaví sám držitel veřejného klíče: že vezme svůj veřejný klíč, k němu připíše údaje o své identitě, vše vloží do obálky a podepíše svým soukromým klíčem, který je "do páru" s právě vloženým veřejným klíčem. Takovýto certifikát je pak označován jako certifikát s vlastním podpisem, anglicky: self-signed. Právě proto, že si ho jeho držitel vydal a podepsal sám.

Pokud vám takovýto certifikát s vlastním podpisem předá z ruky do ruky někdo, koho osobně znáte, není s tím problém: víte, že tomuto certifikátu můžete důvěřovat. Jenže co když jej získáte od někoho jiného? Zde se dostáváme znovu ke stejnému problému, jako se samotným klíčem. Jenže teď už máme k dispozici i určité řešení.

Představte si třeba, že se vám za tento nový certifikát zaručí někdo jiný, koho už dobře znáte. Že vám řekne, že tento certifikát skutečně patří tomu, kdo je v něm uveden jako jeho držitel. A na znamení toho dotyčný certifikát sám podepíše, neboli opatří svým vlastním podpisem.

Pokud to takto udělá více lidí, kteří dotyčného znají a důvěřují jeho certifikátu, vzniká kolem tohoto certifikátu určitá "pavučina důvěry". Ta může mít i více úrovní, když původní certifikát podepíší - na znamená důvěry - i další lidé, kteří držitele certifikátu sice neznají, ale znají a důvěřují někomu, kdo ho zná a kdo certifikát již podepsal. Pavučina důvěry, budovaná kolem původního certifikátu, tak postupně houstne a bobtná.

Výsledek lze připodobnit k jakési soustavě reputací: čím více lidí svým podpisem vyjádří certifikátu důvěru, tím lépe. Důvěra v konkrétní certifikát je pak odvozována od míry a kvality jeho reputace, neboli od hodnocení ostatními uživateli. Takto to funguje například u podpisů na bázi PGP (Pretty Good Privacy).

Certifikační autority

Pro elektronické podpisy, které mají být "ukotveny" v zákoně a mít právní relevanci, by ale takovýto systém udělování důvěry, založený na reputacích, resp. na hodnocení od ostatních uživatelů, byl jen obtížně uchopitelný. Zde je nutné něco jednoduššího a hlavně více centralizovaného, co umožní odvozovat důvěru přeci jen exaktnějším způsobem od podstatně menšího počtu subjektů. Konkrétně od certifikačních autorit, které budou vydávat certifikáty, a budou je také jako jediné podepisovat.

Na rozdíl od pavučiny důvěry se pak důvěra v konkrétní certifikát bude odvozovat vždy jen od míry důvěryhodnosti té certifikační autority, která certifikát vydala. Tedy od důvěryhodnosti jednoto subjektu, který tak bude fungovat moci snáze fungovat jako důvěryhodná třetí strana, a kterému také bude možné ukládat zákonem určité povinnosti - a těmi pak podmínit právní relevanci výsledného podpisu, založeného na příslušném certifikátu.

Ukažme si to na příkladu uznávaných elektronických podpisů, které jsou postaveny na roveň vlastnoručním podpisům: musí být založeny na kvalifikovaném certifikátu vydaném akreditovanou certifikační autoritou. Tedy takovou, která splňuje příslušné požadavky zákona, a stát to dopředu ověřil a vydal o tom své dobrozdání (formou akreditace).

Infrastruktura veřejného klíče

Pro běžnou praxi by ale nebylo příliš účelné mít skutečně jen jednu jedinou certifikační autoritu, která by vydávala všechny certifikáty. Mělo by to sice i určité výhody, ale také řadu nevýhod, včetně nulové konkurence, a tím i minimální vstřícnosti ke koncovým zákazníkům, kterým jsou certifikáty vydávány. Mimochodem, v ČR máme tři certifikační autority, které mají statut akreditovaných autorit: ICA., PostSignum a eIdentity.

V praxi se tedy setkáme vždy s určitým počtem certifikačních autorit, které dohromady tvoří tzv. infrastrukturu veřejného klíče (anglicky: PKI, Public Key Infrastructure).

Jednotlivé autority, které jsou součástí této infrastruktury, obvykle nejsou homogenní, ale jsou rozdělené na několik dílčích subjektů, specializovaných na určité činnosti. Tak například autorita PostSignum má dvě dceřiné autority: kvalifikovanou, která se specializuje na vydávání kvalifikovaných certifikátů, a dále komerční autoritu, která zase vydává pouze komerční certifikáty. Nad nimi je pak jedna "zastřešující" autorita, označovaná jako kořenová autorita. Stejný model, s kořenovou autoritou a kvalifikovanou a komerční dceřinou autoritou, má v ČR i další akreditovaná autorita, eIdentity.

Představa kořenové autority a dceřiných autorit (tento model v ČR používá PostSignum a eIdentity)

Není to ale jediný možný model: třetí tuzemská akreditovaná autorita, I.CA, má více kořenových autorit: jednu pro vydávání kvalifikovaných certifikátů, a jinou pro vydávání komerčních certifikátů. A naopak nemá žádné dceřiné autority.

Představa více kořenových autorit, které vydávají certifikáty přímo koncovým zákazníkům (tento model v ČR používá I.CA)