Digitální certifikát
Digitální certifikát je v asymetrické kryptografii digitálně podepsaný veřejný
šifrovací klíč, který vydává certifikační autorita. Uchovává se ve formátu
X.509, který (kromě jiného) obsahuje informace o majiteli veřejného klíče a
vydavateli certifikátu (tvůrci digitálního podpisu, tj. certifikační autoritě).
Certifikáty jsou používány pro identifikaci protistrany při vytváření
zabezpečeného spojení (HTTPS, VPN atp.). Na základě principu přenosu důvěry je
možné důvěřovat neznámým certifikátům, které jsou podepsány důvěryhodnou
certifikační autoritou.
Obsah certifikátu
Data v certifikátu jsou
popsána jazykem ASN.1. Výhody ASN.1 spočívají v nezávislosti na počítačové
platformě a dobré čitelnosti pro člověka. K přenosu klíče se používá binární
podoba DER nebo textový formát PEM či CER (zakódování pomocí Base64), případně
ještě formáty PKCS#7/P7B nebo PKCS#12/PFX. Mezi různými formáty je možný převod
pomocí vhodného nástroje. V certifikátu jsou následující položky:
Serial Number – (certifikáty mají pro lepší identifikaci vlastní sériové číslo,
není to však nutnost)
Subject – identifikační údaje majitele certifikátu
Signature Algorithm – algoritmus použitý k vytvoření podpisu
Signature –
digitální podpis veřejného klíče vytvořený certifikační autoritou
Issuer –
identifikační údaje vydavatele certifikátu
Valid-From – datum počátku
platnosti certifikátu
Valid-To – datum konce platnosti certifikátu;
nejběžnější doba platnosti je jeden rok
Key-Usage – účel veřejného klíče
(šifrování, ověřování podpisů nebo obojí)
klient může, ale nemusí nastavení
účelu respektovat (např. Windows XP tuto položku při ověřování vůči RADIUS
serveru ignoruje, avšak Windows Vista a novější vyžadují nastavení účelu TLS Web
Server Authentication)
Public Key – jeho bitová délka je závislá na druhu
použitého šifrování
Thumbprint Algorithm – algoritmus otisku certifikátu
Thumbprint – vlastní otisk certifikátu sloužící k ověření neporušenosti
certifikátu
Pro vytvoření digitálního podpisu v digitálním certifikátu jsou
používány algoritmy RSA, DSA nebo ElGamal.
Třídy certifikátů
Firma 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
Vytvoření certifikátu
Digitální certifikát vytváří certifikační autorita. Nejprve ověří údaje o
majiteli předloženého veřejného šifrovacího klíče, doplní identifikační údaje a
vše následně elektronicky podepíše.
Podrobnější informace naleznete v článcích Certifikační autorita a Elektronický
podpis.
Ověření certifikátu
Při ověřování certifikátu jde o důvěryhodnost
údajů, které jsou v něm obsaženy. Aby nebylo nutné ověřovat zvlášť každý
certifikát, využívá se principu přenosu důvěry, kdy na základě důvěryhodnosti
certifikační autority a platnosti jejího elektronicky podepsaného pod zmíněným
certifikátem lze důvěřovat i pravdivosti údajů v certifikátu. Platný
elektronický podpis zaručuje, že s certifikátem nebylo od jeho vydání
certifikační autoritou manipulováno (nebyly změněny údaje, které jsou v něm
obsaženy).
Pro další zjednodušení ověření certifikátu využívají certifikační autority hierarchický model, ve kterém stačí vlastnit několik tzv. kořenových certifikátů, kterým důvěřujeme. Vybrané kořenové certifikáty jsou k dispozici v úložišti a umožňují tak uživatelsky maximálně zjednodušené automatizované ověření certifikátu. V Microsoft Windows používá Internet Explorer pro kořenové certifikáty vlastní centrální úložiště (využitelné i ostatními aplikacemi), stejně jako má vlastní úložiště Firefox a další programy.
Postup ověření certifikátu
Aplikace, která využívá certifikáty, obvykle
nabízí mechanismus, pomocí kterého je certifikát automaticky ověřen a uživatel
má možnost ověření zkontrolovat. Celý mechanismus ověření se skládá z těchto
kroků:
elektronické
ověření pomocí software:
platnost certifikátu (viz níže revokační systémy)
kontrola elektronického podpisu (viz Asymetrická kryptografie)
kontrola
prováděná člověkem:
položky certifikátu s identifikací majitele a
certifikační autority
postup přenosu důvěry (typicky na kořenovou
certifikační autoritu, jejíž certifikát máme v úložišti)
Platnost certifikátu
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ě).
Před rokem 2012 neexistovalo pravidlo omezující maximální dobu platnosti certifikátu, bylo možné vydávat certikáty např. s platností 10 let.[4] V roce 2012 bylo přijato pravidlo pro certikační autority omezující platnost na 60 měsíců.V roce 2015 byla planost certifikátu zkrácena na 39 měsíců.[4] V únoru 2017 byl podán návrh na omezení planosti certifikátů na 398 dnů, ale s návrhem souhlasila pouze jedna certifikační autorita z 25 hlasujících certifikačních autorit. V březnu 2017 byl podán návrh na zkrácení platnosti certifikátů na 825 dnů, který byl přijat; návrh vstoupil v platnost 1. března 2018.
Od dubna 2018 je pro platnost certifikátu do logu Certification Transparency a musí být alespoň ve třech různých databázích od tří různých organizací.
Revokační systémy
Revokační systémy umožňují zneplatnit certifikát před
vypršením jeho deklarované platnosti. Revokace může být provedena na žádost
majitele certifikátu nebo samotnou certifikační autoritou (např. pokud majitel
nedodrží podmínky vážící se na vydaný certifikát). Využít lze jednu ze dvou
metod:
Přímý online
dotaz na aktuální stav certifikátu u certifikační autority, která certifikát
vydala. Používá se protokol OCSP (OnLine Certificate Status Protocol), který
však zatím české certifikační autority nepodporují.
Pomocí seznamu
zneplatněných certifikátů CRL (Certificate Revocation List), kde je uvedeno
sériové číslo certifikátu, datum zneplatnění a většinou i důvod. Seznam je
uchováván ve více podobách (v čitelné i strojové).
Kvalita certifikátu
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. Neškolená obsluha může do úložiště vložit falešný kořenový certifikát, takže snadno může dojít k úplnému znehodnocení principu přenosu důvěry. Proto by měla být obsluha dostatečně proškolena.
Specifické druhy certifikátů
Každá certifikační autorita vydává vlastní druhy
certifikátů, které se liší v účelu použití, druhu majitele, úrovni
důvěryhodnosti atd. (podmínky jsou dány politikou konkrétní certifikační
autority). Různé označení však nemění podstatu funkce digitálních certifikátů.
Dále jsou uvedeny některá specifická označení.
Self-signed certifikát
Podrobnější informace naleznete v článku Certifikát
podepsaný sám sebou.
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í.
Kvalifikovaný certifikát
V České republice je zákonem definován tzv.
kvalifikovaný certifikát, který může vydat pouze akreditovaná kvalifikovaná
certifikační autorita řídící se Zákonem o elektronickém podpisu (zákon č.
227/2000 Sb.) a je také standardizován v rámci Evropské unie (Směrnice
Evropského parlamentu a Rady 1999/93/ES). Kvalifikovanému certifikátu se v České
republice často říká elektronický podpis. To proto, že nahrazuje klasický
ověřený podpis a jednoznačně tak prokazuje totožnost dané osoby. Je určen
primárně k identifikaci uživatele a je nutné chápat jej jako podpis, tj. projev
vůle vztahující se ke konkrétním datům.
Jde o standardní digitální certifikát, který je však výše zmíněným zákonem uznáván 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:
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
Kvalifikované certifikáty lze tedy s
výhodou použít především pro komunikaci se soudy, Celní správou, Českou správou
sociálního zabezpečení nebo třeba při komunikaci s některými zdravotními
pojišťovnami. Kvalifikovaný osobní certifikát je naprosto nezbytný při odesílání
zpráv z datové schránky u společností s více jednateli nebo ze schránek orgánů
veřejné moci.
Používání
kvalifikovaných certifikátů
Kvalifikované certifikáty jsou multiplatformní.
Lze je používat prakticky v libovolné aplikaci a v libovolném operačním systému.
Pro bezpečné uložení certifikátu lze použít téměř jakoukoliv čipovou kartu nebo
malý USB token, který lze zabezpečit PIN kódem. Bez PINu se k certifikátům nikdo
nedostane takže jej člověk může nosit stále s sebou.
O kvalifikovaném certifikátu se dnes hodně mluví především v souvislosti s datovými schránkami. Kvalifikovaným certifikátem uživatelé datových schránek podepisují odesílané dokumenty. Měly by jím být opatřeny všechny dokumenty zasílané orgánům veřejné moci. Při komunikaci mezi soukromými subjekty se musí elektronickým podpisem opatřovat pouze ty dokumenty, u kterých to výslovně vyžaduje právní předpis, nebo za situace, kdy například stanovy právnické osoby určují, že k právním úkonům je třeba podpisu více statutárních zástupců společnosti.
Nejbezpečnější variantou uchovávání certifikátů je mikroprocesorová čipová karta. Kartu není možné zkopírovat. Veškeré šifrování a podepisování probíhá přímo na kartě, ve které je zabudován šifrovací mikroprocesor. Mikroprocesor je požádán o zpracování, to proběhne a karta pak vrátí výsledek.
Kvalifikovaní poskytovatelé certifikačních služeb
V současné době existují
tři kvalifikované certifikační autority, které mohou kvalifikovaný certifikát
vydat:
První
certifikační autorita, a. s.
Česká pošta, s. p.
eIdentity a. s.
Ceny se
u jednotlivých poskytovatelů liší a pohybují se mezi 400 – 500 Kč u
kvalifikovaného osobního certifikátu a mezi 780 – 1100 Kč u kvalifikovaného
systémového certifikátu. Platnost vydaného certifikátu bývá 12 měsíců, někdy
však až 14.
Typy
kvalifikovaných certifikátů
Rozlišujeme dva typy, kvalifikovaný certifikát
(tzv. osobní) a kvalifikovaný systémový certifikát (lze se setkat i s pojmem
elektronická značka). Osobní kvalifikovaný certifikát identifikuje jednu
konkrétní osobu. Systémový kvalifikovaný certifikát může používat nejen fyzická
osoba, ale i právnická osoba nebo státní orgán. Lze jej přirovnat k razítku
organizace. Může jej tedy využívat více osob nebo mohou být použity pro
automatizované zpracování či hromadné odesílání ověřených dokumentů (např. v
elektronických podatelnách pro potvrzování doručení podání). Typickými uživateli
jsou elektronické podatelny, spisové služby nebo například rejstříky, které
poskytují výstupy k dalšímu zpracování např. Katastrální úřad nebo Rejstřík
trestů poskytující výpisy opatřené elektronickou značkou operátorům Czech
POINT[9]. S použitím kvalifikovaného systémového certifikátu se počítá ve vazbě
na specializované hardwarové zařízení, tzv. HSM moduly (Hardware Security
Module).
Podnikání s
certifikáty
Digitální certifikáty, které vydávají komerční firmy (např.
VeriSign, Thawte, ipsCA, Comodo atd.), jsou placené. Firma nebo uživatel platí
za vydání certifikátu zhruba 200 až desítky tisíc Kč ročně (např. nové EV SSL
certifikáty). Následně certifikační autorita platí za umístění svého kořenového
certifikátu do úložiště prohlížeče (u Firefoxu je příjemcem Mozilla Foundation,
která zpětně financuje jeho vývoj; u prohlížeče Internet Explorer je příjemcem
Microsoft). Pro uživatele je pak používání komerčního certifikátu pohodlné,
protože k ověření dojde automaticky (nemusí sám ověřovat a importovat kořenový
certifikát). Komerční zájmy však utlačují skutečnou bezpečnost certifikátů na
úkor zisku a ani vylepšené EV SSL certifikáty skutečnou bezpečnost nezvyšují.
Na druhé straně pak stojí bezplatné certifikáty (např. CAcert, StartSSL). Zvláštním případem jsou v různých státech různě zákonem definované kvalifikované certifikáty (viz výše), jejichž certifikáty ani nejsou běžnou komerční certifikační autoritou ověřeny ani nemají svůj kořenový certifikát v úložištích běžných webových prohlížečů a otevírají tak prostor pro MITM útok.