Magazín o bezpečnosti

Magazín o SSL certifikátech a certifikačních autoritách pro Vás píší odbornící z SSLmarketu.

Certificate transparency - ochrana od Google

(27. 1. 2015) Certificate transparency (dále CT) je funkce zvyšující důvěryhodnost certifikátů, o které jsme psali již v listopadu. Teorii najdete v článku Certificate Transparency a Public Key Pinning. Dnes se podíváme na CT blíže, zejména na praktickou stránku a chování v prohlížeči Google Chrome.

Logo Google

Co je to Certificate transparency a proč vzniklo?

V podstatě lze Certificate transparency charakterizovat jako logování vydaných certifikátů Googlem, který je kromě evidence i monitoruje a audituje. Certificate transparency funguje pouze v Chrome, jiné prohlížeče CT nepodporují.

Nová funkce CT vznikla z důvodu zvýšení ochrany před podvržením certifikátu, který se odborně nazývá MITM (Man in the middle) útok. V důsledku toho má být uživatel více ochráněn před snahou o použití podvrženého certifikátu (takové riziko je však ve skutečnosti minimální).

Certificate transparency je zatím doménou EV certifikátů s rozšířeným ověřením, ale cílem Googlu je rozšířit službu i na ostatní typy certifikátů.

Důležité je, že od února 2015 nebude Chrome zobrazovat zelený řádek u EV certifikátu vystaveném po 1. 1. 2015, pokud nebude certifikát v CT logu! Existující EV certifikáty Symantec, GeoTrust a Thawte byly do logu přidány v prosinci 2014 a nové budou přidávány automaticky. Naši zákazníci se tak nemusí znepokojovat.

Chrome kontroluje veřejné záznamy z certifikátu

Google Chrome začal zobrazovat podivné a nesrozumitelné hlášky ohledně zveřejnění údajů. Následuje přehled čtyř možných variant (překlad čerpám z české verze Chrome, u některých variant zatím oficiální překlad neznám).

Identita této webové stránky (organizace XY) byla ověřena [nazev vaší CA], ...

  • a je veřejně auditovatelná (The identity of this website has been verified by ISSUER and is publicly auditable.) - vše je v pořádku a CT funguje (validní timestamp).
  • ale neexistují žádné veřejné záznamy této organizace  - zřejmě absence CT záznamu, viz níže
  • ale neexistují žádné veřejné záznamy stránky (The identity of this website has been verified by ISSUER but does not have public audit records) - CT nefunguje (v cert. neexistuje podepsaná časová známka).
  • tvrdí, že má veřejné audit. záznamy, ale nedají se ověřit (vlastní překlad) - timestamp je podepsán, ale není ve známém logu a nedá se ověřit.
  • ale veřejné auditní záznamy selhaly při ověření (vlastní překlad) - timestamp je ve známém logu uveden, ale nejde ověřit.

chrome certificate transparency

Chyba Certificate transparency v Google Chrome. Hláška o bezp. nastavení už nepatří CT.

V první chvíli mě též vůbec nenapadlo, že tato hláška souvisí s Certificate transparency, ale je to tak. Výhrady k veřejným záznamům (audit records) se tedy týkají Certificate transparency. Divím se však tomu, že u hlášky není žádné další vysvětlení. Odkaz na CT záznam se objeví pouze u kladně ověřeného záznamu, u chyby není nic.

Co dělat z pohledu provozovatele webu?

Důležité je vybrat si zodpovědnou certifikační autoritu, která se stará o zveřejňování vydaných EV certifikátu v CT logu. Například Symantec, Thawte nebo GeoTrust. Zbytek už se potom "udělá" sám a výsledek bude kladný.

Výhodou pro majitele webu je možnost kontroly a přehledu nad vydanými certifikáty z pohledu vlastníka domény. Dozvíte se, pokud nějaká větší certifikační autorita vydala certifikát pro vaši doménu; pokud to bylo bez vašeho vědomí, můžete zneužití včas zabránit.

Co se stane, když Certificate transparency nefunguje?

V případě nefunkčnosti CT by Chrome neměl zobrazit zelený pruh EV certifikátu. U Googlu však těžko předvídat, jak nakonec do Chromu upozornění vloží. Spíše očekávám, že prohlížeč zobrazí varování o nedůvěryhodnosti. V současnosti zřejmě CT ovlivňuje zobrazení HTTPS symbolu i u nižších typů certifikátů. Google tak v Chrome a upozorňování vytváří naprostý zmatek.

Není vše dokonalé, co je od Google

Certificate transparency bylo vytvořeno s bohulibým záměrem posílení ochrany uživatelů před podvrženými certifikáty. Má to však několik nedostatků, které musím zmínit.

Prvním je podpora pouze v Chrome; jiné prohlížeče zatím CT nepoužívají. Druhým je samotný Google, který je v otázkách bezpečnosti velice agresivní, a v nasazování nových funkcí do Chrome až příliš spěchá (stačí si vzpomenout na SHA-1). Chrome je teď ve stavu, kdy u certifikátů mnohdy ukazuje nesmyslná varování, a to ještě jinak v rámci platforem (na linuxu tak vidíte varování které na Windows nevidíte, což může být způsobeno jiným tempem práce programátorů u linuxové verze Chromu).

Samotný princip Certificate transparency není dokonalý, ale nebudu zde rozebírat všechny výhrady, a odkáži čtenáře na 1. zdroj na konci článku. Autor článku hlavně vyčítá fakt, že CT neslouží ani tak k zabránění MITM útoku, jako spíš k jeho dodatečnému zjištění.

Provozovatel hlavního logu, tedy Google, se v podstatě tváří, jako by se ho CT netýkalo. Kontrolu nechává na veřejnosti, a každý majitel domény by si měl kontrolovat logy sám (!), a hledat, zdali pro jeho doménu nebyl vystaven podvodný certifikát (!). Logy mohou též kontrolovat "monitoři" logů, avšak je nejasné, co mají v případě podezření dělat. Stejně tak je nejasné, co mají s pozitivním nálezem v CT logu dělat prohlížeče (nakonec to dopadne tak, že každý bdue hlásit něco jiného).

CT v současné podobě neřeší situaci, kdyby podvržené certifikáty pocházely přímo od CA (což se stává při hacku CA, ke kterým naštěstí prakticky nedochází, nebo při kolaboraci CA s tajnými službami). Autorita by samozřejmě při vydání certifikátu publikovala i jeho záznam do CT.

Dalším nedostatkem je fakt, že CT funguje automaticky, a není žádný způsob tzv. opt-out, tedy možnosti zrušit publikování certifikátů. Majitel certifikátu nedokáže ovlivnit nic, a pokud se mu CT nelíbí, nemá na výběr.

Další zdroje informací:

  1. The Trouble with Certificate Transparency. Kritika nedostatků Certificate transparency a výhrady.
  2. Certificate Transparency. Oficiální web Googlu k Certificate transparency.
  3. A Comparison of HTTPS Reforms. Zamyšlení nad "vylepšením" SSL/TLS protokolu a srovnání těchto nových funkcí.

Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
Certifikovaný Symantec Sales Expert Plus 
e-mail: jindrich.zechmeister(at)zoner.cz

Pole s hvězdičkou * jsou povinná.

Přidat komentář

Přehled komentářů

  • verejne zaznamy vaseho certu

    2. 3. 2015 9:16:46 | Lukas

    Dobry den, psal jsem již k článku o Avastu, ale mé komentáře jste smazal. Napíšu to tedy sem, protože se týká tohoto tématu:

    Při přístupu na https://www.sslmarket.cz/ Chrome pise, ze "neexistuji zadne verejne zaznamy teto organizace"
    Je to tak v poradku, nebo mate neco na strankach spatne nastavene? Jake je ocekavane chovani v pripade, ze je vsechno na serveru nastaveno spravne?

    Zde v článku píšete, že certifikát od Symantec nebo Thawte zajistí, že bude vše v pořádku, ale hle, stále se to chromu nelíbí.

    Na strance https://www.blog.sslmarket.cz/ mate spatny certifikat, vydaný pro úplně jinou doménu. To také nepůsobí zrovna důvěryhodně.

    No a poslední dotaz: proč jste smazal bez odpovědi moje komentáře? Je v nich něco špatného, nebo jen cenzura?

    Díky,
    LR

    Odpovědět

  • @Lukas

    2. 3. 2015 9:29:01 | Zechmeister, sslmarket

    Dobrý den, diskuzi jsem uzavřel, protože tento diskuzní systém mi naprosto nevyhovuje a doufám v brzké nasazení systému nového. Reakce by se k vám možná ani nedostala.
    Na vaše otázky ale rád odpovím a posílám je i mailem:

    1/ Chrome a SSLmarket: CT funguje jen s SHA-2 certifikáty. Po vydání nového certifikátu v březnu se toto vyřeší a CT bude fungovat dobře.

    2/ Pro www.blog.sslmarket.cz nemáme nastaven certifikát žádný, proto tam vidíte defaultní certifikát serveru. Zkonzultuji ještě s kolegy, zdali je tento vhost nezbytně nutný.

    Odpovědět

  • @Lukas

    2. 3. 2015 9:33:20 | Zechmeister

    Tak se omlouvám, e-mail na Vás ve formuláři nebyl.
    K tomu Avastu - pokud dostanete místo certifikátu serveru certifikát Avastu, tak to v pořádku není. Ve firemním prostředí se někdy takto sleduje komunikace se serverem a na server komunikace pokračuje jeho certifikátem.

    Avast se navíc chová na každém stroji jinak, protože o MITM rozhoduje na základě jím posuzované "důvěryhodnosti webu". Pokud v prohlížeči vidíte u SSLmarketu certifikát od CA Symantec, je to v pořádku. Pokud Avast, jak dokazuje screenshot, v pořádku to není.

    Odpovědět

  • k cenzuře

    2. 3. 2015 18:29:53 | Lukas

    Díky za nějakou reakci. Kdy plánujete obnovení komentářů u toho článku. Zatím vidím smazané komentáře jen u toho jednoho - je to nějaké citlivé téma, že nechcete, aby se k tomu nikdo vyjadřoval? Nebo nerad diskutujete o tématech týkajících se SSL Certifikátů?

    Diky.
    LR

    Odpovědět