Vyšlo v příloze Softwarových novin, v lednu 2001
Vytištěno z adresy: http://www.earchiv.cz/b01/b0100016.php3

Certifikáty

U asymetrického šifrování, které je používáno pro potřeby elektronických podpisů, existuje kritické místo, které ovlivňuje důvěryhodnost a celkovou spolehlivost celého tohoto mechanismu. Jde o to, že s veřejným klíčem musí být dostatečně spolehlivým způsobem spojena identita osoby, které tento klíč patří. To je totiž velmi podstatné - představme si příjemce, který elektronickou poštou dostane nějakou zprávu s elektronickým podpisem, a na této zprávě je napsáno že odesilatelem je pan Jan Novák. Příjemce použije veřejný klíč, který mohl získat skutečně kdekoli (např. dostat jej spolu se zprávou, nebo jej stáhnout odněkud z nějakého internetového serveru apod.), a prostřednictvím tohoto veřejného klíče ověří, že vše je v pořádku (že nový otisk zprávy souhlasí se zašifrovaným otiskem atd.). Z čeho pak ale příjemce může odvodit závěr, že autorem zprávy je skutečně Jan Novák?

Odpověď je jednoduchá: z toho, jaká identita je přiřazena k veřejnému klíči, který příjemce použil pro ověření podpisu na přijaté zprávě. Pokud by s použitým veřejným klíčem byla spojena identita pana Josefa Novotného, měl by příjemce právo si odvodit, že skutečným autorem je Josef Novotný. Způsob, jakým je s veřejným klíčem spojena identita určité konkrétní osoby, je tedy nesmírně důležitý - jakákoli možnost podvodu či zneužití tohoto vztahu mezi veřejným klíčem a identitou vlastníka by mohla mít opravdu nedozírné následky.

Konkrétní způsob spojení veřejného klíče s identitou určité osoby je označován jako certifikát. Lze si jej neformálně představit jako visačku (k veřejnému klíči), na které je napsáno komu tento klíč patří. Velmi pečlivě přitom musí být "pohlídáno", jakým způsobem je nápis na této visačce vytvořen (aby odpovídal skutečnosti) a aby nebylo možné jej změnit. Zvláště pak s ohledem na to, že právě certifikáty (a nikoli samotné veřejné klíče jako takové) mohou a mají být šířeny úplně volně - doslova mohou být rozvěšovány na Internetu na každém jeho rohu. Jak potom zajistit, aby jejich obsah korektní a bylo možné se na něj spolehnout?
Strom důvěry, nebo pavučina důvěry?

Možností, jak zajistit tolik potřebnou důvěryhodnost certifikátů, existuje více - v dnešní době se lze v praxi setkat se dvěma značně odlišnými přístupy.

První z nich je založen na předpokladu, že certifikát si vystaví sám jeho vlastník, a následně vyzve osoby které jej znají aby stvrdili jeho platnost (aby jeho certifikát sami podepsali svým elektronickým podpisem). Tím tyto další osoby v zásadě přenáší svou vlastní důvěryhodnost na další osobu, jako kdyby říkali: "věříte-li mému certifikátu, větře i certifikátu tamté osoby, já ji znám". Tímto způsobem pak každý certifikát může kumulativním způsobem získávat vyšší a vyšší důvěryhodnost, úměrně tomu kolik dalších lidí příslušný certifikát podpoří svým vyjádřením důvěryhodnosti (tím že jej podepíše). Podíváme-li se na to z obecnějšího pohledu, vzniká tímto způsobem celé husté předivo vzájemného předávání důvěry, které není nadarmo přirovnáváno k pavučině. Vedle "kladných" odkazů zvyšujících důvěryhodnost přitom v takovéto pavučině nutně musí existovat i odkazy negativní, ve smyslu "nedůvěřujte tomuto certifikátu, něco s ním není v pořádku".

Celý systém takovéto "pavučiny důvěry" je poměrně snadno zranitelný, a pro skutečně spolehlivé komunikace, kde je třeba "sázet na jistotu", toto řešení není vhodné. V praxi je toto řešení používáno v rámci systému PGP (Pretty Good Privacy), kde naopak docela dobře vyhovuje - jde o řešení, které má za cíl zvýšit důvěryhodnost jinak málo důvěryhodné elektronické pošty, navíc způsobem který nevyžaduje žádné významnější náklady na svou realizaci, lze jej vybudovat v zásadě "svépomocí" a nevyžaduje žádnou explicitní součinnost či podporu např. ze strany zákona či orgánů státu atd. (ostatně, PGP je řešení, které nasadila a uvedla do praxe sama komunita uživatelů Internetu pro potřeby své vzájemné komunikace). Pro aktivity, které vyžadují vyšší úroveň důvěryhodnosti a zabezpečení - například pro obchodování, uzavírání smluvních vztahů apod. toto řešení nepostačuje.

Alternativou, která je schopna poskytnout podstatně vyšší míru důvěryhodnosti - byť za cenu opravdu nemalých nákladů, součinnosti se zákony atd. - je varianta "stromu důvěry". Na rozdíl od "pavučiny důvěry", charakteristické pro PGP, zde pro stvrzení důvěryhodnosti postačuje jediná (dostatečně důvěryhodná) třetí strana, která řekne něco jako "ručím za to, že tento certifikát je v pořádku". Takováto třetí strana přitom nemusí být žádným známým či přítelem toho, komu certifikát patří, a své "potvrzení pravosti certifikátu" nevydává z lásky k bližnímu, ale jako běžnou (typicky placenou) komerční službu. Jde o tzv. certifikační autoritu (CA, též: poskytovatele certifikačních služeb), která certifikát dotyčné osobě nejen vydá (vystaví), ale především se za něj postaví, resp. zaručí se za obsah certifikátu (neboli za to, že veřejný klíč, uvedený v příslušném certifikátu, skutečně patří osobě která je v certifikátu uvedena jako její vlastník). Fakticky takovéto "zaručení se" má opět podobu toho, že certifikační autorita sama podepíše vystavený certifikát (svým vlastním elektronickým podpisem). O pravosti takovéhoto certifikátu (včetně jeho neporušenosti, resp. integrity atd.) se může přesvědčit každý - stačí k tomu aby měl k dispozici veřejný klíč této autority coby třetí důvěryhodné strany. Kde jej ale vezme?

Odpověď již zahrnuje "strom" místo "pavučiny" - certifikačních autorit může existovat více, a mohou si mezi sebou poskytovat důvěru, tím že jedna certifikační autorita vyjádří důvěru jiné autoritě, což realizuje podepsáním jejího certifikátu. Tím vlastně daná certifikační autorita zařadí tu, které důvěru vyjádřila, do stromovité struktury pod sebe. Z pohledu uživatelů to pak má tu výhodu, že jim stačí znát veřejný klíč k nejvyššímu bodu stromu (kořeni), a pak si mohou ověřit pravost certifikátu vydaného certifikační autoritou kdekoli v podstromu.

Činnost certifikačních autorit je přitom podepřena zákonem, který na tyto subjekty klade přísné požadavky a také jejich dodržování kontroluje. Je to ale nezbytné k tomu, aby zákon mohl udělovat elektronickým podpisům, vytvořeným pomocí takto vydaných certifikátů (a při splnění dalších podmínek, jako např. použití bezpečných prostředků pro vytváření podpisů, použití certifikátů definovaných zákonem atd.) stejný statut jaký mají podpisy vlastnoruční.