Digitální certifikát

V tomto díle si řekneme základní informace o digitálním certifikátu a jeho technických aspektech. Jedná se o nástroj, který potvrzuje, že uživatel nebo serverový systém je ten, za koho se vydává. Digitální certifikát, jeho formát a účely použití jsou upraveny normou X.509, aktuálně ve verzi 3. Vydává ho certifikační autorita. Certifikát je v podstatě veřejný klíč uživatele, podepsaný privátním klíčem certifikační autority. Je určen k identifikaci uživatele nebo systému, autentizaci a několika dalším účelům, přesně specifikovaných v normě. U systémů nebo serverů lze použít digitální certifikát např. pro identifikaci firewallů, navazujících společný VPN IPSec tunel. Nebo typicky pro identifikaci webového serveru při navazování https komunikace. Uživatelské použití certifikátů se dotýká také autentizace, kdy uživatel má místo jména a hesla certifikát, vydaný pro tento účel (autentizace). Nasnadě jsou další možnosti použití – digitální podepisování emailů, dokumentů s přiložením certifikátu, jež dokládá identitu podepisujícího uživatele atd.

Digitální certifikát je vydáván na dobu určitou. Hlavní důvody jsou dva. Jednak se jedná o ekonomické hledisko, protože vydání certifikátu je služba placená. Druhý důvod je bezpečnostní. Životnost certifikátu by měla být kratší, než doba, ve které je v době vydání certifikátu známo prolomení šifrovacího klíče. Platnost certifikátů bývá zpravidla nastavena takto: uživatelský certifikát 1 rok, serverový certifikát 5 let, certifikáty certifikačních autorit 10 let.

Pojďme se podívat na digitální certifikát z pohledu jeho životního cyklu – žádost o vygenerování, vlastní certifikát, případné odvolání.

Žádost o certifikát

Žádost o certifikát se v angličtině označuje termínem Certificate Request. Tento pojem je i u nás v Českých zemích mezi odbornou komunitou hojně používán. Žádost je generována při dvou příležitostech. A to buď v případě, že si žadatel generuje nový privátní klíč a spolu s ním musí mít logicky nový podepsaný veřejný klíč – tedy certifikát. Anebo na konci platnosti aktuálního certifikátu si žadatel vytvoří nový požadavek pro vygenerování certifikátu s platností na další období.

Při generování vždy platí, že se soukromý klíč ukládá na počítač do speciálního uložiště nebo na speciální hardware, určený pro tento účel.

Při generování je žádost podepsána soukromým klíčem žadatele. Důvodem je nutnost dokázat, že žadatel vlastní soukromý klíč k budoucímu certifikátu a že request nebyl při „dopravě“ zmodifikován. Struktura žádosti o certifikát je následující:

  • verze podle normy X.509
  • subject - identifikaci žadatele
  • veřejný klíč žadatele
  • účel, pro který má být certifikát vydán 
  • podpis soukromým klíčem žadatele

Žádost o certifikát je sekvence zakódovaných binárních dat. Zpravidla se ukládá do souboru. V současné době je definováno několik norem, které specifikující žádost o certifikát. Jedná se zejména o PKCS#10, který používá pro uložení požadavku kódování Base-64.

Obecně existují dvě možnosti, jak s žádostí o certifikát naložit. První je nechat si vygenerovat certifikát u důvěryhodné certifikační autority. Tím je zajištěno ověření identity uživatele a takto vytvořený certifikát lze použít pro komunikaci na internetu. Druhou možností je vytvoření self-signed certifikátu, tzn. veřejný klíč se podepíše vlastním klíčem privátním. Takto vytvořený certifikát je sice vytvořen podle standardu, nicméně je nedůvěryhodný.

Certifikát

Po vydání certifikátu certifikační autoritou je nutné spojit veřejný a soukromý klíč. Poté lze celý klíčový pár exportovat pro účely např. zálohy.
Digitální certifikát je struktura, obsahující zejména tyto parametry:

  • verze dle X.509
  • sériové číslo certifikátu 
  • platnost od - do
  • subject - identifikaci majitele certifikátu
  • veřejný klíč majitele certifikátu
  • identifikace cetifkační autority
  • informace, týkající se vymezení způsobu použití certifikátu
  • digitální podpis vydávající certifikační autority

Formátů, jež jsou používány v souvislosti s uložením a distribucí certifikátů, je několik. Nejpoužívanějším formátem je PEM, někdy označovaný jako CER. Tento formát používá kódování Base-64 nebo kódování DER.

Požadavek na odvolání certifikátu

Někdy se může stát, že dojde ke kompromitaci soukromého klíče, např. krádeži anebo ztrátě. V této situaci je důležité, aby byl co nejdříve odvolán certifikát, který byl vydán k tomuto soukromému klíči. Proč? Protože pokud byl soukromý klíč ukraden, může být v kombinaci s certifikátem zneužita identita vlastníka. Pro tento účel existuje další typ žádosti – požadavek na odvolání certifikátu, v angličtině označovaný Revocation Request.

Požadavek se zpravidla zadává přímo na vydávající certifikační autoritě. Pro jeho realizaci většinou stačí mít k dispozici sériové číslo certifikátu, některé certifikační autority mohou požadovat kontrolu totožnosti. Důležitou informací je, že odvolání certifikátu je nevratná operace. Jestliže se po odvolání certifikátu zjistí, že důvod pro jeho odvolání byl falešný, nelze tuto operaci vrátil. Jedinou cestou je nová žádost o vydání certifikátu.

Certifikační autorita certifikát zneplatní a do 24 hodin zveřejní jeho sériové číslo na CRL – Certification Revocation List (seznam odvolaných certifikátů). Tedy, po zadání požadavku na dovolání se dostává informace o odvolání (neplatnosti) certifikátu do 24 hodin. S tím je nutné také počítat.

Závěrem

Digitální certifikát je velmi úzce propojen s certifikační autoritou a to hlavně z pohledu normy X.509. V tomto článku jsem se záměrně certifikační autority dotýkal jen velmi okrajově. V dalším díle technogického miniseriálu se jí budeme věnovat podrobně.

./tk     

Máte dotaz? Potřebujete poradit? Napište nám!

Děkujeme za Váš dotaz. Brzy se Vám ozveme.

Kontaktní informace

O nás

Jsme skupinou, která se zabývá problematikou důvěryhodné archivace dokumentů v elekronické podobě. Zabýváme se elekronickým zpracováním dokumentů tak, aby byly naplněny evropské a státní legislativní normy a zákony. Konečně lze říci, že dokument v elektronické podobě má stejnou hodnotu jako v papírové! Čtěte více zde!