Hlavní navigace

Datové schránky: pracujeme s epodpisy, III.

10. 9. 2009
Doba čtení: 12 minut

Sdílet

Autor: 21971
V MS Windows jsou předinstalovány kořenové certifikáty pouze jednoho ze tří tuzemských poskytovatelů certifikačních služeb s akreditací (společnosti I. CA).  A to dokonce tak důkladně, že ve Vistách nejdou ani odinstalovat. Další kořenové certifikáty se ve Windows mohou automaticky instalovat jako důvěryhodné, aniž by se o tom uživatel dozvěděl.

minulém dílu tohoto seriálu jsme si popisovali význam certifikátů a jejich důvěryhodnosti. Seznámili jsme se i s konceptem stromů důvěry, který umožňuje, aby důvěryhodnost konkrétních certifikátů mohla být odvozována od důvěryhodnosti jejich vydavatelů (resp. z certifikátů těchto vydavatelů). Pro nás jako uživatele to má i ten příjemný efekt, že nemusíme vyjadřovat svou důvěru každému certifikátu jednotlivě, ale stačí nám vyjádřit naši důvěru jen několika málo certifikátům, které „patří“ důvěryhodným vydavatelům a jsou v pozici „kořene“ příslušného stromu důvěry – proto: kořenové certifikáty.

Zmiňovali jsme se také o tom, že vydavatelům certifikátů se říká „certifikační autority“ – a že tyto certifikační autority mohou být opravdu velmi různé. Od těch „privátních“, které si provozujete sami na svém počítači, až po certifikační autority „úspěšně zkontrolované státem“  (kterému díky tomu vlastní tzv. akreditaci).

V souvislosti s datovými schránkami nás budou zajímat právě ty certifikační autority, které mají od státu udělenou akreditaci. Tedy jakýsi doklad o tom, že prošly určitou prověrkou toho, jak dobře splňují požadavky dané zákonem, a v této prověrce uspěly. Jak jsme si již také uvedli minule, u nás jsou takovéto akreditované certifikační autority tři:

Úložiště certifikátů

V tomto dílu se už začneme zabývat tím, jak konkrétně vyjádříme svou důvěru alespoň těmto  třem tuzemským certifikačním autoritám (které mají akreditaci na poskytování  kvalifikovaných certifikačních služeb). Z obou minulých dílů přitom již tušíme, že tak uděláme nainstalováním příslušných (kořenových) certifikátů do (správné části) úložiště důvěryhodných certifikátů na svém počítači. Přitom budeme muset zohlednit i to, pro kterou službu svou důvěru udělujeme – zda pro kvalifikované či komerční certifikáty atd.

Princip je skutečně jednoduchý, a samotná realizace nakonec bude obnášet jen pár kliků. Ale než si vysvětlíme, proč a co děláme, a hlavně jaké to má důsledky a souvislosti, bude to přeci jen o dost složitější. Třeba i kvůli tomu, že v určitých situacích za nás důvěru vyjadřuje někdo jiný – a někdy  nám to ani neřekne, či nás dokonce nenechá jeho rozhodnutí nějak revokovat (změnit).

Předně: musíme si uvědomit, že na našem počítači nemusí být  jen jedno úložiště certifikátů, ale že jich může být více. Situace je samozřejmě závislá na konkrétní systémové platformě, a tak si popišme, jak to chodí v prostředí MS Windows (alespoň pro Windows XP a Vista).

V MS Windows existuje jedno „systémové“ úložiště certifikátů – a ty aplikace, které ho chtějí využívat (tj. pracovat s certifikáty a klíči v tomto úložišti), tak mohou činit. Obecně asi lze říci, že jsou to všechny aplikace od samotného Microsoftu. Další aplikace ale mohou mít – a často mají – jiný názor na správu certifikátů (a privátních klíčů) a pro jejich uložení používají vlastní úložiště.

Zajímavým příkladem, na který jsme již narazili v prvním dílu, je Adobe Reader. I ten používá vlastní úložiště certfikátů. Ale pokud si uživatel přeje, je schopen pracovat i se systémovým úložištěm v MS Windows, resp. s certifikáty v tomto úložišti (skrze tzv. „integraci s Windows“, jak to Adobe Reader sám nazývá).

Adobe Reader integrace s Windows

Významným příkladem celé kategorie aplikací, které používají vlastní úložiště certifikátů, jsou „alternativní“ browsery (tj. jiné než Internet Explorer). Konkrétně i Firefox, který je  z nich asi nejrozšířenější.

Obecně bychom tedy asi měli vycházet spíše z předpokladu, že každá aplikace používá své vlastní úložiště – a tudíž že každá z nich má své vlastní předpoklady o tom, co je a co není důvěryhodné. A jako výjimku naopak brát to, když je nějaká aplikace schopna a ochotna sdílet systémové úložiště certifikátů, spravované operačním systémem.

Pro nás jako uživatele je to důležité především z toho důvodu, abychom si nemysleli, že stačí nainstalovat příslušný (kořenový ) certifikát do systémového úložiště, a tím bude tento certifikát považován za důvěryhodný všemi aplikacemi. Pokud například používáme Firefox místo Internet Exploreru, můžeme si do systémového úložiště nainstalovat cokoli, ale Firefox to „nebude vidět“ a příslušné certifikáty nadále nebude „znát“.

Ale stejně tak obráceně: pokud bychom nainstalovali nějaký kořenový či jiný certifikát do úložiště Firefoxu, zase to „nebude vidět“ Internet Explorer (a s ním i všechny ostatní programy od Microsoftu, včetně Outlooku apod.). Stejně tak další programy, používající vlastní úložiště.

K tomuto aspektu se váže jedna zajímavá souvislost, která se týká známého problému se serverovým certifikátem na webovém portálu ISDS (na www.mojedatovas­chranka.cz): Česká pošta tvrdí, že se jí nepodařilo prosadit její kořenové certifikáty mezi ty, které jsou již výrobcem „předinstalovány“ do systémového úložiště MS Windows, kvůli údajně nepřijatelným podmínkám Microsoftu.

Jenže i kdyby se to České poště bývalo podařilo a s Microsoftem se včas dohodla, stejně by to pomohlo jen částečně. Efekt by to totiž mělo jen na uživatele sice majoritního, ale zdaleka ne jediného operačního systému (MS Windows). A i v rámci MS Windows by se to týkalo jen těch uživatelů, kteří jako svůj browser používají defaultně nastavený Internet Explorer. Nikoli třeba uživatelů, kteří používají Firefox či jiný browser, který nesdílí s MS Windows systémové úložiště certifikátů. A jen uživatelů Firefoxu je podle posledních údajů přes 38 %.

Předinstalovaná důvěra

Předchozí příklad nás dovedl k dalšímu důležitému aspektu, o kterém bychom měli vědět: že úložiště certifikátů, se kterým pracuje ta která aplikace (ať již jde o její vlastní úložiště, nebo o systémové úložiště v rámci operačního systému), je snad vždy nějak dopředu naplněno.

Tedy že tvůrce příslušné aplikace (resp. operačního systému) za nás dopředu vyjádřil důvěru některým certifikačním autoritám (resp. jejich kořenovým i ev. dalším certifikátům), a tuto důvěru „přenesl“ do své aplikace (systému) tím, že do příslušného úložiště tyto certifikáty předinstaloval.

Právě odsud tedy pramení ta skutečnost, že některé aplikace (například browsery) jakoby „samy od sebe“ znají některé certifikáty a důvěřují jim. A třeba při vstupu na stránky, zabezpečené s využitím těchto certifikátů, uživatele nijak nevarují (resp. neshledávají důvod jej varovat, když stránky považují za důvěryhodné). Analogicky při vyhodnocování platnosti elektronických podpisů či při instalaci podepsaného kódu atd.

I.CA ano, PostSignum a eIdentity ne

V tuto chvíli si již můžeme říci, že pokud jde o platformu operačního systému Windows společnosti Microsoft, nejsou na tom naše akreditované certifikační autority stejně:

  • I.CA se s Microsoftem dohodla a její kořenové certifikáty jsou obsaženy mezi těmi, které jsou „předinstalovány“ v MS Windows.
  • PostSignum a eIdentity své kořenové certifikáty v MS Windows předinstalovány nemají.

Tyto skutečnosti pak mají významné důsledky, které jsme si sice již obecně naznačili, ale přesto je vhodné si je znovu zdůraznit a rozvést na konkrétních příkladech (které předpokládají prostředí MS Windows).

Třeba: pokud používáte Internet Explorer a „vstoupíte“ na zabezpečenou stránku, která používá serverový certifikát od I.CA (či jiné „předinstalované“ certifikační autority ve vašem úložišti), váš browser nebude nic namítat ani říkat – a rovnou vás na danou stránku pustí. Má totiž dostatek informací (předinstalovaný kořenový certifikát), na jejichž základě může posoudit danou stránku jako důvěryhodnou.

Pokud ale na stejnou stránku vstoupíte s Firefoxem, dopadne to jinak:  kořenový certifikát I.CA není mezi těmi, které má Firefox přeinstalovány ve svém úložišti – a tak nemá podle čeho posoudit důvěryhodnost stránky, a uživateli to dá najevo příslušnou hláškou.

Hláška Firefoxu

Snad netřeba znovu rozvádět příklad, kdy vstoupíte na stránku, zabezpečenou serverovým certifikátem od PostSignum (tedy například na www.mojedatovas­chranka.cz): zde už je jedno zda používáte Firefox či Internet Explorer – ani jeden nezná kořenové certifikáty PostSignum „sám od sebe“, a tak vás budou varovat oba.

Teď si ale představme jiný případ: elektronický podpis na dokumentu, který nám přijde skrze datovou schránku. Zde záleží na tom, zda úředník, který za úřad dokument podepsal, používal osobní kvalifikovaný certifikát vydaný od I.CA, nebo od PostSignum či eIdentity: když si necháme vyhodnotit platnost podpisu, v prvním případě může odpověď znít „ano“. Tedy pokud se ptáme aplikace, která (alespoň v daný okamžik, viz Adobe Reader) používá systémové úložiště MS Windows, a pokud budou splněny i další náležitosti podpisu, jako neporušená integrita a platný (a neodvolaný) podpisový certifikát.

Ale ve druhém a třetím případě (u certifikátů od PostSignum a eIdentity) musí být odpověď „nevím“ – protože aplikace (ještě) nezná příslušné kořenové certifikáty certifikačních autorit. A bude tak znít do té doby, dokud aplikaci tyto certifikáty sami nedoinstalujeme (do jejího úložiště, mezi důvěryhodné kořenové  certifikáty).

Lze odinstalovat důvěru?

To, že producenti softwaru sami předinstalovávají do svých produktů určité kořenové certifikáty jako důvěryhodné, je úkonem s poměrně významnými dopady. Předurčuje totiž to, s čím se uživatel následně setká, co bude moci či naopak nebude moci dělat, čemu bude či nebude vystaven, včetně způsobu vyhodnocování elektronických podpisů atd.

Lze se na to samozřejmě dívat tak, tvůrce softwaru zde usnadňuje práci  svému zákazníkovi v tom, že za něj ověřuje důvěryhodnost konkrétních certifikačních autorit – ovšem podle svých vlastních pravidel, měřítek a kritérií, která se nemusí nutně shodovat s těmi, které používá uživatel, případně která jsou dána legislativním prostředím, ve kterém se uživatel pohybuje. 

Ostatně, zástupci České pošty mi v diskusi k problému se serverovým certifikátem na portálu ISDS opakovaně tvrdili, že se snažili domluvit s Microsoftem na zařazení kořenových certifikátů své autority PostSignum do MS Windows – ale že požadavky Microsoftu prý byly pro ně nesplnitelné (a až ve sporu s českými zákony).

No, nechme teď právní aspekty chvíli stranou a podívejme se na vše ryze prakticky: když už nám producent softwaru (ať již Microsoft v rámci MS Windows, či autoři Firefoxu atd.) předinstaloval nějaké certifikáty mezi důvěryhodné kořenové (s efektem udělení důvěryhodnosti), můžeme jejich rozhodnutí změnit, pokud s ním nesouhlasíme? Můžeme například všechny předinstalované certifikáty zase smazat a nahradit je jen těmi, které budeme sami považovat za důvěryhodné?

Odpověď bohužel není tak jednoduchá (a ani moc kladná). Tedy alespoň pokud jde o systémové úložiště certifikátů v MS Windows.

MRCP

Společnost Microsoft má pro certifikační autority připraven program MRCP (Microsoft Root Certificate Program). A když už nějaká certifikační autorita úspěšně „projde“ tímto programem, je důkladně postaráno o to, aby se každému uživateli jevila také jako důvěryhodná. A to třeba i v případě, kdy si to nepřeje.

Konkrétní technické řešení je ale různé podle toho, zda jde o Windows Vista či XP. Rozdíl mezi nimi je na první pohled patrný už v tom, kolik důvěryhodných kořenových certifikátů se kde předinstalovává: u Windows Vista je to jen několik málo  certifikátů, u Windows XP téměř 230 certifikátů. Ani to ale nejsou zdaleka všechny certifikáty, které Microsoft považuje za důvěryhodné (a které úspěšně prošly jeho programem MRCP). V případě „potřeby“ totiž dochází k jejich automatickému doinstalování.

V případě Windows Vista to funguje tak, že kdykoli má být  (oproti systémovému úložišti)  posouzen nějaký konkrétní certifikát – tedy například při přístupu uživatele na zabezpečenou webovou stránku, při přijetí podepsaného emailu, při instalaci podepsaného ActiveX  prvku atd. – nejprve se kontroluje, zda je možné odvodit důvěru v posuzovaný certifikát z některého důvěryhodného kořenového certifikátu, který již je v úložišti obsažen. Pokud se to nepodaří, operační systém kontaktuje servery „Update“ služeb Microsoftu  a požádá je o vyhledání takového kořenového certifikátu (důvěryhodného v rámci programu MRCP), ze kterého by se dala odvodit důvěra v posuzovaný certifikát.

Pokud je takový kořenový certifikát na serverech Microsoftu nalezen, je automaticky stažen a nainstalován do systémového úložiště (jako důvěryhodný kořenový certifikát) – a to aniž by s tím uživatel vyjadřoval souhlas, či byl o tom dokonce jen informován! Viz popis fungování přímo od Microsoftu. Navíc takto nainstalované kořenové certifikáty certifikačních autorit (stejně jako ty rovnou předinstalované) není možné odebrat, viz obrázek.

nemožnost odebrat certifikát

První verze Windows XP fungovaly poněkud odlišně: u nich se zpočátku nainstaloval do systémového úložiště velký počet kořenových certifikátů důvěryhodných certifikačních autorit, a pak se ještě dělaly (kumulativní) updaty přes službu Update Root Certificates (Aktualizace kořenových certifikátů). Když pak uživatel narazil při své práci na certifikát, který se nedal ověřit oproti aktuálnímu obsahu systémového úložiště, skončilo to známou hláškou (o nemožnosti posoudit důvěryhodnost).

Od Service Packu 2 už ale vše funguje i ve Windows XP jinak, v zásadě stejně jako u Windows Vista: komponenta Update Roote Certificates (Aktualizace kořenových certifikátů) funguje tak, že kontaktuje servery Microsoftu a hledá důvěryhodný certifikát z programu MRCP, ze kterého by se dala odvodit důvěryhodnost posuzovaného certifikátu. A pokud ho najde, v tichosti a bez vědomí uživatele ho nainstaluje. 

Ukazují to i následující dva obrázky: na prvním vidíte pohled na příslušnou část systémového úložiště MS Windows XP – a není v něm žádný kořenový certifikát I.CA.

úložiště bez certifikátu I.CA

Na dalším obrázku vidíte stav po návštěvě stránky, zabezpečené serverovým certifikátem vydaným I.CA. A příslušný kořenový certifikát I.CA už byl mezitím automaticky doinstalován, aniž jsem se jako uživatel cokoli dozvěděl.

úložiště s certifikátem I.CA

Funguje to pochopitelně i tak, že když nějaký „automaticky nainstalovaný“ kořenový certifikát smažete, je zase záhy znovu automaticky nainstalován.

odebrání certfikátu ve Windows XP

Jistě vás v tuto chvíli napadne, zda je možné uvedené chování alespoň vypnout (když už je implicitně zapnuto, tak aby fungovalo právě popsaným způsobem). Přes nastavení služby automatických aktualizací (Windows Update či Microsoft Update) cesta nevede, na ní je aktualizace certifikátů nezávislá.

Microsoft uvádí jeden návod na vypnutí, který ale odpovídá prostředí Windows XP a spočívá v odinstalování komponenty „Aktualizace kořenových certifikátů“.

odinstalování aktualizace kořenových certifikátů

V případě Windows Vista zřejmě vede cesta k vypnutí automatického doinstalovávání  kořenových certifikátů jen přes „podporu zásad skupiny“, což je ovšem nástroj, který je obsažen až ve verzích Ultimate, Business a Enterpise operačního systému MS Vista. Ví někdo ze čtenářů o možnosti dosáhnout vypnutí i na Vistách ve verzích Home?

Shrnutí

Zrekapitulujme si tedy, že v prostředí MS Windows a při použití těch aplikací, které pracují se systémovým úložištěm (což je např. Internet Explorer či Outlook, za určitých okolností i Adobe Reader), je výše popsaným způsobem „postaráno“ o důvěryhodnost (a instalaci) kořenových certifikátů I.CA, jako jednoho z našich tří akreditovaných poskytovatelů certifikačních služeb.

K „vhodnosti“ tohoto řešení si dovolím za sebe jen stručně poznamenat, že pro úplně laické uživatele to možná je přínosné – když řešení otázek důvěryhodnosti za ně přebírá někdo jiný, a oni do toho nemusí vůbec nijak zasahovat, resp. jde to „zcela mimo ně“. Ale pro alespoň trochu zkušenější uživatele mi to už přijde už jako příliš velký zásah do způsobu, jakým oni mohou chtít ovládat svůj počítač a rozhodovat o tom, čemu dají a čemu nedají svou důvěru. Jako příliš velké omezení jejich svobody a práva volby.

Možná že i to je hlavní důvod, proč aplikace jiných výrobců (a to nejen browsery) na platformě MS Windows raději používají vlastní úložiště důvěryhodných certifikátů.

CIF24

Ve vztahu k datovým schránkám (a situaci s akreditovanými poskytovateli v ČR obecně) je navíc problém v tom, že toto řešení se týká jen jednoho akreditovaného poskytovatele, a nikoli zbývající dvou. Takže uživatel je tak jako tak nucen se seznámit s celou problematikou certifikátů (kterou se výše popsané mechanismy možná snaží před ním skrýt a neplést mu s nimi hlavu), a naučit se sám vyjadřovat (a případně zase odvolávat) důvěru v kořenové certifikáty certifikačních autorit. 

A v popisu toho,  jak to dělat, budeme pokračovat i příště.

Jak vnímáte popsaný mechanismus aktualizace kořenových certifikátů v MS Windows?

Autor článku

Autor byl dlouho nezávislým konzultantem a publicistou, od 8.6.2015 je členem Rady ČTÚ. 35 let působil také jako pedagog na MFF UK v Praze.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).