PKI

Infrastruktura veřejných klíčů

Digitální certifikát

Problémem asymetrické kryptografie je způsob, jak ověřit pravost zveřejněných veřejných klíčů. K tomu slouží digitální či elektronický certifikát.

Jedná se v podstatě o uživatelův veřejný klíč plus další údaje popisující držitele certifikátu (jméno, bydliště, organizace apod.) To vše je zašifrováno (elektronicky podepsáno) privátním klíčem Certifikační autority, jejíž veřejný klíč je všeobecně znám a dostupný z nezaměnitelných zdrojů. V případě PKI se používá certifikát definovaný dle standardu X.509.

Třídy

Společnost VeriSign nadefinovala několik tříd certifikátů:

  • Class 1 – určena pro jednotlivce, pro e-mail

  • Class 2 – určena pro organizace, kde je vyžadováno prokázání identity

  • Class 3 – určena pro servery a digitální podpisy, kde je potřeba nezávislé potvrzení identity certifikační autoritou

  • Class 4 – určena pro on-line obchodní transakce mezi společnostmi

  • Class 5 – určena pro soukromé subjekty nebo vládní bezpečnost

Platnost

Každý certifikát má omezenou platnost, kterou určuje jeho majitel a certifikační autorita. Běžné certifikáty jsou nejčastěji vydávány na jeden rok, aby byla omezena zneužitelnost certifikátu (prozrazení heslové fráze chránící privátní klíč, ztráta privátního klíče, oslabení použitého algoritmu digitálního podpisu a podobně).

Od 01.09.2020 vystavují všechny certifikační autority SSL/TLS certifikáty s platností nejvýše 1 rok, resp. až 398 dnů (v případě včasného prodloužení).

Zkrácení maximální platnosti na 1 rok se týká pouze SSL/TLS certifikátů. Osobní ID certifikáty pro digitální podpis a šifrování e-mailů (S/MIME) a podpis dokumentů ani Code-Signing certifikáty pro podpis kódu nejsou nijak dotčeny.

Kvalita

Kvalitu certifikátu určuje několik ohledů:

  • důvěryhodnost certifikační autority, která certifikát vydala

  • kvalita použitých kryptografických algoritmů

  • transparentnost softwarového procesu ověření certifikátu (jeho ověřitelnost člověkem)

  • chování uživatele, který certifikát ověřuje

Současná asymetrická kryptografie, která je pro certifikáty využívána, je založena na složitosti postupu, který by umožnil zneužití certifikátu (např. modifikaci obsažených údajů s tím, že je neodhalí přiložený elektronický podpis). S rostoucím výpočetním výkonem však odolnost použitých algoritmů klesá, takže je nutné používat stále silnější metody (proto je omezena platnost certifikátu, jak je zmíněno výše). Nejslabším místem ověření certifikátu je uživatel, který software obsluhuje.

Formáty

Existuje poměrně velký počet názvů jako PEM, CSR, KEY, DER atd. Jedná se o soubory, které jsou prakticky pouze "schránky" pro umístění certifikátu a jeho klíčů. Velké množství formátů vzniklo postupně díky různé implementaci v operačních systémech nebo aplikacích, některé byly standardizovány v RFC.

CSR (.csr)

Certificate Signing Request (CSR) je žádost o certifikát, která se předává certifikační autoritě k ocertifikování.

PEM (.pem)

Jeden z nejpoužívanějších formátů pro uložení SSL/TLS certifikátů. Jedná se o kontejner pro uchovávání textově kódovaných kryptografických dat (klíčů a certifikátů)

KEY (.key)

V souboru .key se nachází certifikát ve formátu PEM a obsahuje pouze soukromý klíč certifikátu.

DER (.der)

Binární soubor (řetězec nul a jedniček), který obsahuje uložené informace o certifikátu.

CRT (.crt)

Obsahuje SSL certifkát ve formátu PEM. Lze je otevřít jakýmkoliv textovým editorem.

Kořenové certifikáty

Kořenové certifikáty jsou vydávány samotnou Certifikační autoritou CA. Po instalaci do PC je kořenový certifikát zařazen mezi Důvěryhodné kořenové certifikační úřady a umožňuje následné automatizované ověření klientských certifikátů vydávaných CA v systému.

Odvíjí se od něj důvěra v další certifikáty (všechny vnitřní uzly stromu, tj. „podřízené“ certifikační autority, resp. jejich certifikáty) i všechny koncové uzly (certifikáty koncových uživatelů). Pokud pak někdo vyjádří svou důvěru příslušnému kořenovému certifikátu, fakticky tím vyjadřuje svou důvěru rovnou celému stromu.

Veřejné certifikáty

Jedná se o libovolný certifikát, který byl vydán CA dostupný veřejně v databázi příslušných CA. Certifikační autority zveřejňují seznamy všech certifikátů, které svým zákazníkům vydaly.

Self-signed certifikáty

Při vytvoření páru šifrovacích klíčů je možné veřejný klíč obratem podepsat odpovídajícím privátním klíčem. Vznikne tak Self-signed certifikát (certifikát podepsaný sám sebou). V takovém případě není možné využít princip přenosu důvěry a je nutné certifikát ověřit jiným způsobem (např. telefonicky podle jeho otisku). Self-signed certifikáty jsou využívány v uzavřeném prostředí (např. jedna firma) nebo pro testování.

Standard X.509

X.509 je popsán v doporučení RFC-3280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. Dnes se zkratka X.509 obvykle používá pro X.509 verze 3 popsaný v RFC 3280.

X.509 původně předpokládal přísně hierarchický systém certifikačních autorit (CA) pro vydávání certifikátů. Jiným přístupem je model založený na vzájemné důvěře (takzvaná síť důvěry) používaný OpenPGP, ve kterém si pravost klíčů potvrzují navzájem uživatelé. Verze 3 standardu X.509 sice obsahuje i podporu jiných topologií než je hierarchie certifikačních autorit (RFC 4158), ale jejich používání není časté.

Síť důvěry

Jedná se o ověřování důvěryhodnosti veřejných klíčů v kryptografických systémech. V malých, uzavřených systémech (například malá firma) je snadné zjistit, zdali veřejný klíč opravdu patří člověku, který o něm prohlašuje, že je jeho. Funguje zde totiž přímá důvěra – model kdy se uživatelé přímo znají a veřejný klíče si mohou přímo vyměnit. Nicméně v případě, že uživatelé musí komunikovat s lidmi, se kterými se nikdy v životě neviděli, nelze model přímé důvěry použít.

Alternativou k certifikační agentuře pak může být právě decentralizovaná síť důvěry. Principem je, že uživatel se může spoléhat na ověření totožnosti nejen tam, kde ho provedl on sám, ale i tam, kde ho provedli jiní. Uživatel si může nechat podepsat svůj veřejný klíč jinými lidmi. Čím víc podpisů získá, tím je pravděpodobnější, že je tím, za koho se vydává. Tento koncept navíc počítá s tím, že úroveň důvěry si určuje vždy sám uživatel. Je však nepraktické snažit se shromažďovat obrovské množství ověření svého klíče. Proto v dobře fungující síti důvěry stačí jen několik málo ověření, podle určitých pravidel.

Struktura PKI

Hlavními subjekty infrastruktury veřejných klíčů jsou:

  • certifikační autorita (CA),

  • registrační autorita(RA),

  • seznam odvolaných certifikátů (CRL - Certificate Revocation List).

Jádrem PKI je certifikační autorita CA. Jí mohou být podřízeny další CA a tzv. registrační autority (RA). Úkolem RA je fyzické ověření údajů žadatele o certifikát.

Certifikační autorita (CA)

Certifikační autorita (CA) je v asymetrické kryptografii subjekt, který vydává digitální certifikáty (elektronicky podepsané veřejné šifrovací klíče), čímž usnadňuje využívání PKI (Public Key Infrastructure) tak, že svojí autoritou potvrzuje pravdivost údajů, které jsou ve volně dostupném veřejném klíči uvedeny. Na základě principu přenosu důvěry tak můžeme důvěřovat údajům uvedeným v digitálním certifikátu za předpokladu, že důvěřujeme samotné certifikační autoritě.

Na Internetu působí mnoho komerčních certifikačních autorit, které obvykle mají své veřejné klíče umístěny přímo ve webových prohlížečích a dalších programech, čímž mohou uživateli zjednodušit rozhodování o míře důvěry webových serverů, ke kterým se připojuje (ale též digitálně podepsaných e-mailů i jiných dat).

Existují též bezplatné certifikační autority nebo takové, které se řídí zákony daného státu, vnitřními předpisy organizace a podobně.

Činnost CA

CA vydává digitální certifikáty (elektronicky podepsané veřejné šifrovací klíče), které obsahují identifikační údaje svého majitele, za jejichž správnost se certifikační autorita zaručila. Když certifikační autorita podepíše svůj vlastní klíč, jedná se o certifikát podepsaný sám sebou (anglicky self-signed certificate). Majitel veřejného klíče musí proto při žádosti o vydání digitálního certifikátu důvěryhodným způsobem certifikační autoritu přesvědčit, že jím poskytnuté údaje odpovídají skutečnosti a tomu, co uvedl ve svém veřejném klíči. Může tak například učinit:

  • fyzická osoba - předložením občanského průkazu zástupci certifikační autority, vlastnictvím e-mailové schránky

  • právnická osoba - předložením ověřeného výpisu z obchodního rejstříku, vlastnictvím internetové domény se stejnými údaji ve Whois databázi

Po ověření a porovnání výše uvedených údajů vydá certifikační autorita digitální certifikát, který ověřené údaje obsahuje. Důležitou součástí digitálního certifikátu je elektronický podpis, kterým lze snadno ověřit jeho autentičnost. Pokud by byly údaje v digitálním certifikátu změněny, kryptografické ověření digitálního podpisu by změnu odhalilo.

Princip vzniku certifikátu

Důvěra v CA

Hodnota digitálního certifikátu je úměrná míře důvěry, kterou máme k údajům v něm uvedených. Proto je pro certifikační autoritu nejdůležitější důvěra, kterou vůči svému okolí vzbuzuje (tj. že nevydá digitální certifikát s nepravdivými údaji). Certifikační autorita proto musí adekvátním způsobem pečovat o svoji důvěryhodnost, jinak by nebylo možné využít principu přenosu důvěry.

Důvěryhodnost certifikační autority můžeme posoudit podle jejích webových stránek, použitého mechanismu ověření údajů, které žadatel o digitální certifikát předkládá a dalších znaků (články v tisku a a elektronických médiích, kótované akcie a podobně). Cena vydaného certifikátu (resp. oblíbenosti certifikační autority) pak obvykle odpovídá této těžko exaktně definovatelné míře důvěry.

Placené certifikační autority získávají od svých klientů peníze, které používají jednak na zajištění vlastní činnosti, ale hlavně na platbu za zařazení vlastních kořenových certifikátů do software, který využívá přenosu důvěry (viz níže). Certifikační autority tak platí za distribuci svých kořenových certifikátů v Microsoft Windows, Firefoxu a dalších programech.

Počet globálně uznávaných certifikačních autorit je v řádu desítek. Mezi největší patří:

  • Comodo,

  • DigiCert,

  • Entrust,

  • IdenTrust,

  • Symantec,

  • GoDaddy,

  • GlobalSign a další

Poskytovatelé certifikátů zdarma:

Kvalifikovaná certifikační autorita

Kvalifikovaná certifikační autorita je rámci České republiky definována Zákonem o elektronickém podpisu (zákon č. 227/2000 Sb.). Seznam akreditovaných certifikačních autorit, které mohou vydávat kvalifikované certifikáty zveřejňuje Ministerstvo vnitra České republiky. Akreditovaná certifikační autorita vydává (zpoplatněné) kvalifikované certifikáty, což jsou standardní digitální certifikáty, které však jsou výše zmíněným zákonem uznávány v rámci komunikace se státními institucemi České republiky.

Kvalifikovaný certifikát je ze zákona akceptován stejně jako občanský průkaz, avšak možnost využití kvalifikovaného certifikátu je omezena na vyjmenované případy (státní instituce musí být připraveny a jejich zaměstnanci příslušně proškoleni):

  • komunikace elektronickou cestou se státní správou pomocí emailu

  • pro ověřování elektronických podpisů

  • pro bezpečné ověřování elektronických podpisů

  • zajištění neodmítnutelnosti odpovědnosti

Z hlediska právní platnosti je jedno u které akreditované certifikační autority je certifikát vytvořen. Kvalifikované certifikáty se řídí RFC 3039. Problémem kvalifikovaných certifikátů je šifrování, protože elektronický podpis nezahrnuje důvěrnost (realizovanou šifrováním). Kvalifikované certifikační autority stojí v současné době mimo klasické celosvětově působící certifikační autority a zákon ani jiný stav nepředpokládá.

Před ověřením kvalifikovaného certifikátu si proto uživatel musí do příslušného programu (webový prohlížeč, e-mailový klient) sám nainstalovat certifikát příslušné kvalifikované certifikační autority (a sám ověřit jeho důvěryhodnost), což je v současné době pravděpodobně nejslabší místo kvalifikovaného certifikátu, protože důležitost jeho důvěryhodnosti kvalifikované certifikační autority nezdůrazňují a své certifikáty mají jednoduše vystaveny na svých webových stránkách.

Registrační autorita (RA)

Úkolem RA je fyzické ověření údajů žadatele o certifikát. Jsou často realizovány podobně jako bankovní přepážky. Mohou být však realizovány i jako servery a žadatel s nimi komunikuje elektronicky. Na RA se dostavují žadatelé o certifikáty se svými žádostmi, kde RA může ověřit na základě např. občanského průkazu jejich totožnost. RA následně zprostředkovává vydání certifikátu a následně i jeho předání žadateli.

Certificate Revocation List (CRL)

V podstatě se jená o seznam zneplatněných certifikátů. Tento seznam udržuje CA a zapisuje tam certifikáty, které byly zneplatněny ještě dříve než je uvedeno na certifikátu (např. z důvodu kompromitace tajného klíče uživatele). Měl by být veřejně dostupný skrze webové rozhraní.

Použité zdroje