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.
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.
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í:
- The Trouble with Certificate Transparency. Kritika nedostatků Certificate transparency a výhrady.
- Certificate Transparency. Oficiální web Googlu k Certificate transparency.
- 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
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