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í 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íč, 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íč, 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 tomuto 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?
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: 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. Ale 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íšou – 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).
Autor vyučuje na pražské Matematicko-fyzikální fakultě UK problematiku počítačových sítí a působí jako nezávislý konzultant a publicista