Chyba v knihovně NSS způsobuje bezpečnostní varování Chrome
10.2.2015 | Jindřich Zechmeister
Narazil jsem na nepříjemný problém, který v prohlížeči Chrome způsobuje špatnou detekci SHA-1 certifikátu a nesprávné varování. Chyba je na straně NSS knihovny, která se používá pro šifrování, a kterou používá linuxová verze Chrome a Firefox (ten však neupozorňuje).
Špatná detekce SHA-1 Intermediate certifikátu v Chrome
Problém je způsoben bugem v knihovně NSS, kterou používá Firefox a Chrome na linuxu pro šifrování. Šifrovací knihovna si (v některých případech) zvolí při handshake starší, tzv. "legacy" chain ke kořenovému certifikátu CA.
Díky upřednostnění tohoto řetězu místo standardního dojde k tomu, že v chainu jsou celkově 4 certifikáty místo 3, a původní Root certifikát CA se posune na místo Intermediate certifikátu, což Chrome vyhodnocuje jako chybu. Prohlížeč hlásí zastaralé bezpečnostní nastavení stránek, protože kontroluje SHA-1 certifikáty na webu, a v chainu použitého SSL certifikátu.
Použití dvou "cest" ke kořenovému certifikátu je přitom normální, a autority to umožňují díky takzvaným "cross-signed" intermediate certifikátům, které fungují s více kořenovými certifikáty.
Chrome na linuxu chybně detekuje root certifikát s sha-1
Běžně prohlížeče SHA-1 v Root certifikátu nekontrolují, protože je to self-signed certifikát. Prohlížečům tedy nevadí, když je Root certifikát SHA-1.
Jak tento problém řešit?
Řešení je samozřejmě nasnadě - opravit tento bug v NSS knihovně, a naučit prohlížeče správně detekovat a rozumět chainu SSL certifikátů. V blízké budoucnosti nás samozřejmě čeká nasazení SHA-2 root certifikátů autorit, avšak problém se starším "legacy" chainem to neřeší; ten se určitě nezmění. Provozovatel certifikátu s tím bohužel nic nenadělá.
Přílišná aktivita Googlu je kontraproduktivní
V posledních měsících je bohužel vývoj prohlížečů zaměřen na kvantitu místo kvality. Google v každé verzi Chrome připravuje nějaké (neplánované) překvapení, a bezpečnostní varování prohlížečů je v každé verzi jinak. Stejně nekvalitně a chaoticky je zatím implementována i funkce Certificate Transparency, o které jsme psali nedávno v článku Certificate transparency - ochrana proti podvrženému certifikátu.
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz