Přeskočit na obsah

Digitální certifikát

Z Wikipedie, otevřené encyklopedie

Digitální certifikát, který vydává certifikační autorita, je v asymetrické kryptografii digitálně podepsaný veřejný šifrovací klíč. 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. Certifikační autorita může vydávat pod různými označeními různé druhy certifikátů, které se mohou lišit 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ů.

Obsah certifikátu

[editovat | editovat zdroj]

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.[1] 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)[2][3]
  • 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ů

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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 následně veřejný klíč elektronicky podepíše.

Podrobnější informace naleznete v článcích Certifikační autorita a Elektronický podpis.

Ověření certifikátu

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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:
  • 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

[editovat | editovat zdroj]

Každý certifikát má v sobě zapsáno omezení platnosti, 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ů (5 let).[4] V roce 2014 certifikační autorita SSLmate přestala vydávat certifikáty s platností delší než jeden rok.[5] V roce 2015 byla platnost certifikátu zkrácena na 39 měsíců.[4] Ve stejném roce začala nová certifikační autorita Let's Encrypt vydávat automatizovaně a zdarma certifikáty, u kterých z vlastní vůle omezila platnost na pouhých 90 dní. V únoru 2017 byl podán návrh na omezení platnosti certifikátů na 398 dnů, ale s návrhem souhlasila pouze jedna certifikační autorita z 25 hlasujících certifikačních autorit.[4] V březnu 2017 byl podán návrh na zkrácení platnosti certifikátů na 825 dnů (dva a čtvrt roku), který byl přijat; návrh vstoupil v platnost 1. března 2018.[4]

Od dubna 2018 je pro platnost certifikátu do logu Certificate Transparency a musí být alespoň ve třech různých databázích od tří různých organizací.[4]

V roce 2019 byl opět předložen návrh na zkrácení doby platnosti certifikátu, tentokrát na 397 dní.[5] Návrh opět nebyl přijat, ovšem tentokrát na rozdíl od předchozího nepřijatého hlasování, byla pro zkrácení doby platnosti certifikátu třetina certifikačních autorit.[5] I přes nepřijetí návrhu certifikační autorita Logius PKIoverheid oznámila, že od 1. listopadu 2019 už dobrovolně přestane vydávat certifikáty s platností delší než 397 dní.[5]

V roce 2024 bylo chystáno další omezení platnosti certifikátů, tentokrát firmou Google v prohlížeči Chrome na maximálně 90 dní. Tato změna měla za cíl vynutit automatizaci výměny certifikátů protokolem ACME a také eliminovat problém s neplatnými certifikáty, přes které se uživatelé k obsahu musí někdy proklikat.[6] V říjnu 2024 však podala firma Apple návrh na hlasování CA/B fóra pro další postupné zkrácení platnosti certifikátů takto:[7]

  • certifikáty vydané po 15. září 2025 by měly maximální platnost 200 dnů
  • certifikáty vydané po 15. září 2026 by měly maximální platnost 100 dnů
  • certifikáty vydané po 15. dubnu 2027 by měly maximální platnost 45 dnů
  • po 15. září 2027 by měly DCV (Domain Control Validation)[8] certifikáty platit pouhých 10 dnů

Certifikáty jsou používány i na jiných místech než jsou webové prohlížeče (např. SMTP, VPN atd.), kde není jejich platnost omezena výše zmíněnými pravidly.

Revokační systémy

[editovat | editovat zdroj]

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:

  1. 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í.[9]
  2. 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

[editovat | editovat zdroj]

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

  1. důvěryhodnost certifikační autority, která certifikát vydala
  2. kvalita použitých kryptografických algoritmů
  3. transparentnost softwarového procesu ověření certifikátu (jeho ověřitelnost člověkem)
  4. 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.

Self-signed certifikát

[editovat | editovat zdroj]
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í.

Certifikáty v ČR

[editovat | editovat zdroj]

Kvalifikovaný certifikát

[editovat | editovat zdroj]

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.[10]) a je také standardizován v rámci Evropské unie (Směrnice Evropského parlamentu a Rady 1999/93/ES)[11]. 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[12]:

  • 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ů

[editovat | editovat zdroj]

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[13].

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

[editovat | editovat zdroj]

V současné době existují tři kvalifikované certifikační autority, které mohou kvalifikovaný certifikát vydat:

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ů

[editovat | editovat zdroj]

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[13]. 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)[14].

Komerční certifikát

[editovat | editovat zdroj]

V ČR vydávají akreditované certifikační autority komerční certifikáty, které mohou být (na rozdíl od kvalifikovaného certifikátu) použity například pro ověření přístupu na webové stránky Datová schránka nebo Czech POINT.

Podnikání s certifikáty

[editovat | editovat zdroj]

Digitální certifikáty, které vydávají komerční firmy (např. VeriSign, Thawte[15], ipsCA[16], Comodo[17] 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).[18] 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í.[19]

Na druhé straně pak stojí bezplatné certifikáty (např. CAcert, StartSSL[20]). 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.[21][22]

  1. https://www.sslshopper.com/ssl-converter.html – SSL Converter
  2. Archivovaná kopie. www.cesnet.cz [online]. [cit. 2010-02-12]. Dostupné v archivu pořízeném z originálu dne 2009-05-01. 
  3. http://www.eduroam.cz/doku.php?id=cs:spravce:pripojovani:serverove_certifikaty
  4. a b c d e f KRČMÁŘ, Petr. Certifikát na tři roky už si nepořídíte, maximální platnost se zkrátila na dva. Root.cz [online]. 1. 3. 2018. Dostupné online. ISSN 1212-8309. 
  5. a b c d KRČMÁŘ, Petr. Zkrácení platnosti certifikátů na 13 měsíců se nekoná, autority jsou proti. Root.cz [online]. 11. 9. 2019. Dostupné online. ISSN 1212-8309. 
  6. KRČMÁŘ, Petr. Google chce omezit platnost certifikátů na 90 dnů, změna zřejmě přijde brzy. Root.cz [online]. [cit. 2024-09-11]. Dostupné online. 
  7. STUDENÝ, Daniel. Apple podal návrh na postupné zkracování platnosti certifikátů pro HTTPS. Root.cz [online]. 2024-10-15 [cit. 2024-10-18]. Dostupné online. 
  8. Domain Control Validation (DCV) methods. Digicert.com [online]. [cit. 2024-10-18]. Dostupné online. 
  9. http://technet.microsoft.com/cs-cz/library/cc731027(WS.10).aspx – OCSP.
  10. https://web.archive.org/web/20070209000623/http://portal.gov.cz/wps/portal/_s.155/701?kam=zakon&c=227%2F2000 – zákon 227/2000 Sb.
  11. http://www.ica.cz/Kvalifikovany-certifikat.aspx
  12. http://www.lupa.cz/clanky/kvalifikovany-certifikat-na-dve-veci/ – použitelnost kvalifikovaného certifikátu
  13. a b http://www.mesec.cz/clanky/elektronicky-podpis-zdrazil-tip-jak-za-nej-neplatit/
  14. http://www.tsoft.cz/kvalifikovany-systemovy-certifikat
  15. Archivovaná kopie. www.thawte.com [online]. [cit. 2009-11-24]. Dostupné v archivu pořízeném z originálu dne 2020-06-06. 
  16. Archivovaná kopie. www.ipsca.com [online]. [cit. 2009-11-24]. Dostupné v archivu pořízeném z originálu dne 2020-06-06. 
  17. http://www.comodo.com/business-security/digital-certificates/ssl-certificates.php – Comodo certifikáty
  18. Archivovaná kopie. findarticles.com [online]. [cit. 29-05-2012]. Dostupné v archivu pořízeném z originálu dne 29-05-2012. 
  19. Archivovaná kopie. www.thetechherald.com [online]. [cit. 2009-11-24]. Dostupné v archivu pořízeném dne 2009-11-29. 
  20. https://www.startssl.com/?app=2
  21. http://www.lupa.cz/clanky/stalo-se-ceska-posta-neradila-spravne/
  22. http://www.abclinuxu.cz/blog/vejsplechty/2009/7/ceska-posta-sproste-lze

Související články

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]