Seznam zneplatněných certifikátů
Seznam zneplatněných certifikátů (CRL, anglicky certificate revocation list) je v kryptografii označení pro seznam zneplatněných digitálních certifikátů. Certifikát je elektronicky podepsaný veřejný klíč asymetrické šifry, který vydává certifikační autorita. Je-li privátní klíč kompromitován (ohrožen), je nutné zneplatnit jeho protějšek (veřejný klíč), který tím přestává být důvěryhodný a nelze jím ověřovat elektronické podpisy. Proto certifikační autority kromě infrastruktury PKI pro distribuci veřejných klíčů spravují též infrastrukturu CRL, která umožňuje vybrané veřejné klíče zneplatnit (pomocí sériových čísel veřejných klíčů).
Revokační stavy
[editovat | editovat zdroj]Existují dva různé stavy revokace definované v RFC 3280:
- Zrušení (Revoked): Certifikát je nevratně zrušen. Používá se v případě, že certifikační autorita (CA) vydala nesprávné osvědčení, nebo pokud by soukromý klíč mohl byt ohrožen. Certifikáty mohou byt rovněž zrušeny kvůli zjištění nedostatků v bezpečnostních požadavcích (například falšování dokumentů pro vydání certifikátu), chybného chování softwaru nebo porušení jakékoli jiné bezpečnostní podmínky stanovené provozovatelem CA nebo jejich zákazníků. Nejčastějším důvodem pro zrušení je, že uživatel již není jediným držitelem soukromého klíče (např. soukromý klíč byl ztracen, ukraden, zkopírován).
- Držení (Hold): Tento vratný stav může být použit k nastavení dočasné neplatnosti certifikátu (např. pokud si uživatel není jistý že byl soukromý klíč ohrožen, případně zapomene heslovou frázi). Pokud se v tomto případě zjistí, že ke klíči nikdo neměl přístup, může být obnoven. Certifikát je znovu platný a odstraní se z CRL.
Důvody pro zneplatnění
[editovat | editovat zdroj]Důvody ke zrušení certifikátu podle RFC 5280 (strana 69) jsou:
- unspecified (0)
- keyCompromise (1)
- cACompromise (2)
- affiliationChanged (3)
- superseded (4)
- cessationOfOperation (5)
- certificateHold (6)
- (hodnota 7 není použita)
- removeFromCRL (8)
- privilegeWithdrawn (9)
- aACompromise (10)
Zveřejnění revokačních seznamů
[editovat | editovat zdroj]CRL je generován a zveřejňován pravidelně, často v daném intervalu. CRL může být také zveřejněn bezprostředně po tom, co byl certifikát zrušen. CRL vždy vydává CA, která vydala odvolávaný certifikát. Všechny CRL mají nastavenu omezenou platnost (24 hodin nebo méně). Během doby platnosti může aplikace konzultovat obsah CRL a ověřit podle něj platnost kontrolovaného certifikátu. Pro zabránění spoofingu nebo DoS na vydavatele CRL jsou obvykle CRL seznamy elektronicky podepsány certifikátem CA, který lze ověřit pomocí certifikátu CA umístěném ve vlastním úložišti nebo v LDAP. Seznamy s CRL jsou často udržovány pro certifikáty vydávané ve formátu X.509.
Revokace a expirace
[editovat | editovat zdroj]Doba platnosti certifikátu nenahrazuje CRL. Zatímco všechny expirované certifikáty jsou považovány za neplatné (tj. po v nich uvedeném datu platnosti), ne všechny ještě neexpirované certifikáty jsou nutně platné. CRL slouží k zneplatnění (revokaci) ještě jinak platných certifikátů, protože v reálném světě dochází k problémům s certifikáty ještě i před jejich expirací.
Pozoruhodným příkladem byla situace, kdy certifikační autorita VeriSign omylem vydala certifikát pro podepisování ActiveX komponentů Microsoftu neznámému jednotlivci, který se úspěšně vydával za smluvního partnera.[1] Firma Microsoft tak zjistila, že jejich software musí certifikáty nejprve zkontrolovat proti CRL, než jim bude důvěřovat. Jako rychlá oprava byla v rámci jejich aktualizačního systému (Microsoft Update) vydána záplata, která výslovně považovala dva postižené certifikáty za „revokované“.[2]
Problémy s CRL
[editovat | editovat zdroj]Osvědčené postupy vyžadují, aby kdekoli a jakkoli zůstal stav certifikátu zachován. Stav musí být pravidelně kontrolován. Pokud se tak neučiní, může být zrušený certifikát nesprávně přijat jako platný (pro správné využití PKI musí mít PKI přístup k aktuálním CRL). Toto on-line ověření ruší jednu z hlavních výhod PKI pro symetrické šifrovací protokoly, že certifikát je samoověřovací (ang. self-authentication). U symetrických systémů jako Kerberos také záleží na existenci on-line služeb ("key distribution center" v případě Kerberosu).
Při existenci CRL je třeba uplatňovat provozní politiku a zrušení certifikátu se považuje za zásah v rozporu s touto politikou. Certifikační autorita má za úkol prosazovat provozní politiku pro vydávané certifikáty, která obvykle určuje zda a kdy je revokace vhodná.
Nutnost konzultace s CRL (nebo jinou službou certifikačního stavu) před přijetím certifikátu představuje potenciální denial-of-service útok proti PKI. Pokud se převzetí certifikátu nezdaří v nepřítomnosti platného CRL, pak se nemůže uskutečnit žádná operace. Tento problém existuje u systémů Kerberos, kde opomenutí získání autentizační známku bude bránit přístupu do systému. Není známé žádné komplexní řešení těchto problémů. Existují však možná řešení, z nichž některé se ukázaly v praxi jako přijatelné.
Alternativou k použití CRL je ověření certifikátu protokolem známým jako Online Certificate Status Protocol (OCSP). OCSP má hlavní výhodu že požaduje menší šířku pásma sítě a umožňuje kontrolu stavu v reálném čase (blízko reálného času) pro velkoobjemové operace, nebo operace s vysokými hodnotami.
Reference
[editovat | editovat zdroj]Související články
[editovat | editovat zdroj]- Online Certificate Status Protocol (OCSP protokol)
Externí odkazy
[editovat | editovat zdroj]- RFC 3280
- RFC 5280
- The Inevitable Collapse of the Certificate Model Archivováno 9. 11. 2010 na Wayback Machine. (anglicky)